Stretch Driver (ROS ) - Position Mode - "translate_mobile_base" and "rotate_mobile_base" commands

Hello,

I am working with the SE3 robot and currently using it mainly through ROS. I have tried moving the base in the “navigation mode” of the drivers with Nav2 (by commanding velocity), and it is working fine. According to the driver documentation, in position mode:

Two kinds of position commands are available for the mobile base: translation and rotation, with joint names “translate_mobile_base” and “rotate_mobile_base”.

I looked for these two commands, but I was not able to find them among the available services and actions provided by the Stretch drivers in position mode. I am aware that both of these functions are available in the Python SDK of Stretch (i.e., stretch_body) in the form of rotate_by and translate_by.

What would be the easiest way to access these two functions in ROS (may be as ROS2 actions) ? Could you please help me with this?

Hello,

I figured out the answer to this question.

Solution: I used the already provided action server /stretch_controller/follow_joint_trajectory to command the joint names translate_mobile_base and rotate_mobile_base in position mode, and it works fine.

1 Like

Thanks @noob-robotics, that’s right. We also have an example here using the HelloNode class (which internally handles the client logic for interfacing with the action server).

2 Likes