IOError on wrist when changing tool

I followed the steps outlined to change the tool to the dry erase marker tool provided here as an exercise before changing to our custom tool, but when executing:

$ rosrun stretch_calibration update_urdf_after_xacro_change.sh

The output said it finished but the process seems to hang and not finish so I used ctrl c to return to the command line in order to run the following roslaunch command. When running the roslaunch command or trying to run stretch_robot_home.py I got the following error message:

IOError on: /dev/hello-dynamixel-wrist

which also means when running stretch_robot_system_check.py that not everything was calibrated. It seems to me that the rosrun command isn’t actually updating the URDF file to include the new tool, and still expects the original gripper. I was able to still run a simple program that involved moving the base, lift, and arm, but I want to make sure I’m not doing something wrong that could harm the robot.

Great to see that you’re exploring new tools! It is normal to have to Ctrl-C out of the URDF update script. I believe that the robot is still looking for the gripper (which I presume has been removed).

Take a look in your ~/stretch_user/stretch-re1-xxxx/stretch_re1_user_params.yaml. You’ll want to comment out the section that reads:

end_of_arm:
devices:
stretch_gripper:
py_class_name: StretchGripper
py_module_name: stretch_body.stretch_gripper

Let us know how it goes. (By the way, there is new Stretch Body and Stretch ROS functionality coming out soon that will allow for easier changing of tools).

Yes, this fixed the error message. Thanks!