Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service call to set axis state: blinking red and cant be cleared without the gui #9

Closed
anthonywebb opened this issue Jan 18, 2024 · 3 comments

Comments

@anthonywebb
Copy link

When changing to state 8 I get brief flash of green, and then it starts blinking red. The only remedy seems to be to plug in a USBC and open the gui and clear the error.

I see in the canbus docs that there is a way to clear errors but I am not finding a service call to do that from this package.

admin@ros2:/workspaces/isaac_ros-dev$ ros2 service call /odrive_axis0/request_axis_state odrive_can/srv/AxisState "{axis_requested_state: 8}"
waiting for service to become available...
requester: making request: odrive_can.srv.AxisState_Request(axis_requested_state=8)

response:
odrive_can.srv.AxisState_Response(active_errors=16777216, axis_state=1, procedure_result=3)
@JesseDarr
Copy link

I've been developing some basic tools for odrive-can communication for my own use, I think they can help you out assuming you are running an a can hat + pi type of setup.

https://github.com/JesseDarr/odrive_can_tools

There are python scripts in the root directory that allow you to clear all errors, configure odrive settings, and a few that move the odrives. All of these scripts auto-discover all of the odrives on the CAN bus. It pretty much replaces my need to interact with the web UI. The exception, is that you will need to use the web UI or the odrive python tool via USB to configure the node IDs for all of the odrives first.

@samuelsadok
Copy link
Member

Nice! Note that firmware 0.6.9 now supports pure-CAN, GUI-less node ID assignment and we also added some example scripts to aid in bringing up ODrives: https://docs.odriverobotics.com/v/latest/guides/can-guide.html#setting-up-the-odrive-can-only

Regarding clearing errors in ROS, I think we should probably autoclear them when CLOSED_LOOP_CONTROL is requested. I can look into it some time soon (PRs also welcome).

@samuelsadok
Copy link
Member

Manual clearing of errors is now implemented by #27 in the service call /clear_errors. Autoclearing on /request_axis_state is being addressed by #33.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants