'joint_wrist_pitch' not valid joint name


I had recently run into an issue where despite changing my tool in the params and in the URDF to the Dex Wrist V2, when I try to send commands to the pitch or roll they are not recognized as valid joints. I get the following error:

[INFO] [1712885094.998938]: /stretch_driver joint_traj action: New trajectory received with joint_names = ['joint_wrist_pitch']
[ERROR] [1712885095.003302]: /stretch_driver joint_traj action: Received a command without any valid joint names. Received joint names = ['joint_wrist_pitch']

I looked a bit deeper into the command groups code and saw that the following lines were both returning None in joint_trajectory_server.py.

module_name = self.node.robot.end_of_arm.params['devices'][joint].get('ros_py_module_name')
class_name = self.node.robot.end_of_arm.params['devices'][joint].get('ros_py_class_name')

I checked the dictionary entries and saw the ‘ros_py_module_name’ and ‘ros_py_class_name’ were were both missing and instead there was ‘py_module_name’ and ‘py_class_name’. Replacing the ‘ros’ ones with these alternatives entries the did not fix the issue however and spawned new errors.

I think someone may have mistakenly updated my Stretch ROS code and was wondering how I could go about resolving this issue. I tried looking back at previous commits to see if there was a point where ‘py_module_name’ was used in place of ‘ros_py_module_name’ but hadn’t found where that had changed at all. I was wondering if I could get some guidance on fixing this issue.


This has been resolved. It appears it was a problem with the version of the python library I had been using for the Stretch RE 2.

1 Like

Do you know which python library was causing the issue?