Stretch RE1: Troubleshooting Guide
This guide covers common issues and ways to resolve them. Please check the Hello Robot Forum for additional topics not covered here.
XBox teleoperation is not working
The provided Easy SMX wireless controller can accidentally be placed in the wrong mode. The mode is indicated by the round illuminated ring (shown as Connect below). The top 2 LEDs only should be illuminated. If a different LED pattern is shown then the button mapping expected by stretch_xbox_controller_teleop.py will be incorrect.
To set the controller into the correct mode:
- Hold the center button down for 5s. It will switch modes. Release.
- Repeat until top half of ring (upper two lights) are illuminated.
In addition, check that the provided USB dongle is plugged into the robot USB port in its trunk.
Battery is not staying charged
Please review the troubleshooting section of the Battery Maintenance Guide.
RPC Transport Errors (Stretch doesn't respond to commands)
If more than one instance of Stretch Body's Robot class is instantiated at a time, Stretch Body will report communication errors and will not always execute motion commands as expected. This is because Robot manages communications with the robot hardware and it doesn't support multiple writes to the USB devices.
These errors can appear as
Transport RX Error on RPC_ACK_SEND_BLOCK_MORE False 0 102 ---- Debug Exception --------------- New RPC ------------------------- Framer sent RPC_START_NEW_RPC ...
IOError(None): None ...
$ pkill -9 python
As shipped, Stretch launches stretch_xbox_controller_teleop.py upon boot. It is necessary to turn off this automatic launch feature, otherwise your own Robot instance will conflict with this script. Additionally, if you are logged into multiple accounts, a Robot instance may be active in another user account.
To turn it off, search for 'Startup' from Ubuntu Activities. Uncheck the box for 'hello_robot_xbox_teleop'.