You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Figuring out the name of a joint is cumbersome, and for users not familiar with a robot it can be hard to remember strings like arm_left_4_joint. Further, move_joint can't move every robot joint, but only those with an active joint trajectory controller.
Since play_motion knows about the available controllers (hence the joints they control) it should be possible to expose a ROS service for querying the joints it can currently act upon.
Tab completion could be built on top of this service.
The text was updated successfully, but these errors were encountered:
Tab completion on top of services is slow, and can completely block the terminal if the node is not responding. Though I understand the need for this feature, I am not too fond about building it on top of a service...
An alternative would be to have the controller updater write the available joints to a ros parameter or file. List updates should be infrequent and fast .We'd no longer risk blocking indefinitely, as happens with services. Other lightweight alternatives to consider?.
Writing to a ros parameter seems the least bad of the list, but I still don't like it too much.
From a very primitive benchmark, I have the following results:
call
time [s]
rosservice call
0.9
rosparam get
0.09
Since there is no broad usage of shared files in ROS, I don't feel too good about writing that to a file either. It seems less portable and more prone to problems (file permissions, R/O system...)
Figuring out the name of a joint is cumbersome, and for users not familiar with a robot it can be hard to remember strings like
arm_left_4_joint
. Further,move_joint
can't move every robot joint, but only those with an active joint trajectory controller.Since
play_motion
knows about the available controllers (hence the joints they control) it should be possible to expose a ROS service for querying the joints it can currently act upon.Tab completion could be built on top of this service.
The text was updated successfully, but these errors were encountered: