bdaiinstitute / spot_ros2

ROS 2 driver package for Boston Dynamics' Spot
Other
181 stars 62 forks source link

Is it possible to "clear" the sent commands to the RobotCommandBuilder? #360

Closed Rodhaaret closed 5 months ago

Rodhaaret commented 6 months ago

Hey everyone!

When trying to build some sophisticated behaviors on top of Spot we started to experience something weird and was wondering if you guys my have an idea for a potential solution.

Basically we have a simple move pattern (look to the left, look in the middle, and look to the right), so 3 different points, which we use to kinda simulate that Spot is looking for something. While it is performing this sequence, the user can send a request to "stop spot", which just makes Spot sit down. The issue the comes when we start it up again to do the move pattern, it sort of make a quick jab move towards the last point in the move pattern before starting over again.

For us it seems like it stores the last point it was going to before being stopped by the "Spot stop" request. If this is the case is there a way to clear the "stack" or do you guys propose another solution?

I hope my question is clear, else feel free to ask!

khughes-bdai commented 6 months ago

Hi @Rodhaaret, I have also experienced this issue on Spot (including while using the tablet) but don't have a great idea of the cause. I checked out their documentation about RobotCommands and didn't see anything relating to clearing or resetting the state: https://dev.bostondynamics.com/python/bosdyn-client/src/bosdyn/client/robot_command It's possible it's coming from the Boston Dynamics sdk rather than spot_ros2, I'd recommend reaching out to Boston Dynamics support as they might have more insight on this.