microsoft / spot-ros-wrapper

ROS Wrapper for the Boston Dynamics Spot robot
MIT License
63 stars 13 forks source link

[Design] Spot wrapper precludes clients observing via ROS by automatically aquiring a lease to the robot. #9

Open mklingen-bd opened 3 years ago

mklingen-bd commented 3 years ago

https://github.com/microsoft/spot-ros-wrapper/blob/7a22c6715de60d41b50d43e8e63a708c7e6b4bab/spot_ros_interface/scripts/spot_ros_interface.py#L115

The lease system was designed with the intention that there can be an unlimited number of "observers" of the robot, but only one "owner" with the authority to drive the robot. The wrapper is written in such a way that whoever runs the wrapper acquires a lease, and becomes the owner.

This precludes a common use case: Boston Dynamics tools (such as the tablet) controlling the robot while ROS is used to observe and collect data.

We understand that this is not a ROS concept so we were curious how ROS users would interact with the lease system. It might be better to make an explicit service for acquiring and releasing the lease, or by allowing the spot wrapper to run in a passive "observe" mode.