-
Notifications
You must be signed in to change notification settings - Fork 66
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
Failed to send command when using ros2 control #554
Comments
Can you verify that your robot still has a valid joint level API license? Assuming you've tried rebooting it too. |
another thing I tried when debugging this issue a while back was running one of BD's examples to see if it was a robot problem or a ROS problem https://github.com/boston-dynamics/spot-cpp-sdk/blob/master/cpp/examples/joint_control/wiggle_arm_example.cpp |
I installed the joint level API license a few days ago so it should not be that. It looks like my spot-cpp-sdk did not install the examples when installed from the spot_ros2 install bash (or at least I cannot find them) so I was not able to run the wiggle arm example except for the example that could be run from ROS (This defeats the purpose of us trying it in the first place but I do not think this is a ROS2 issue given that the error comes up from the message status returned from the robot). I tried bringing the time to live up to 1000 ms (Extremely high to ensure it is not the problem) and the extrapolation time up to 100 ns and it is still happening. We may try changing the wifi being used by the robot to see if this makes a difference although the ping speed was rather fast (Could still be a firewall issue) |
Trying a different wifi sounds promising. You could also try their same examples with the python sdk which are simpler to set up. If this doesn't work out of the box I'd recommend reaching out to BD support |
Sorry for the late response, I have been rather busy with other projects. I tried using the robots local wifi and get the same error ( I then tried to run the wiggle_arm.py example you sent and when trying this, I got the following exception:
|
From Boston Dynamics: Thanks for reaching out! I am sorry to let you know that Boston Dynamics does not support the AI Institute's ROS2 wrapper. From the stack trace posted in the issue you cited, it appears as though your program did not hold the lease when commanding Spot to move. It is possible that a tablet, other device, or other program was connected to Spot and held motor power, which prevented your program from taking control. You may forcefully take the lease using the LeaseClient's I have tried releasing the lease manually on the controller but the problem still persists. I was able to get the arm moving with the spot sdk. |
just to be clear, was this via successfully running their wiggle arm python example? or is that also still not working (with the error you posted in the stack trace above)? |
I was able to get the wiggle_arm.py script to work. It turns out the tablet does not release the lease automatically, we had to do it manually. |
And if you release the lease from the tablet, then, and try the ros2 control example, are you still in the same situation of |
Yes, it is still running this error after manually releasing the lease from the tablet. Note that our robot software version is 4.1.0 (I forgot to mention this on the original issue) |
Hmm, I don't have a great immediate solution to this, especially given that it was working initially on your robot? There is no other error message from the hardware interface at launch? |
It looks like the ROS2 control version of this still failing even though we updated the robot. I also built the c++ example you provided and it IS working. |
I am attempting to use the ros2 control interface to create a joint trajectory controller and use MoveIt to move the arm. In doing this, I keep getting the following error:
[ros2_control_node-1] [ERROR] [1736803777.858152464] [SpotHardware]: Failed to send command: '3(Streaming for joint control failed): '
I was also getting this error with running the default controllers.
It was working without this error earlier this morning
System Info:
ROS2 version: Humble
OS: Linux
Wifi: Private wifi (Not the robot's local wifi)
The text was updated successfully, but these errors were encountered: