You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
3.3 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. # Stretch Troubleshooting Guide
  2. This guide covers common issues and ways to resolve them. Please check the [Hello Robot Forum](https://forum.hello-robot.com) for additional topics not covered here.
  3. ## Xbox teleoperation is not working
  4. 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](https://github.com/hello-robot/stretch_body/blob/master/tools/bin/stretch_xbox_controller_teleop.py) will be incorrect.
  5. To set the controller into the correct mode:
  6. - Hold the center button down for 5s. It will switch modes. Release.
  7. - Repeat until the top half of the ring (upper two lights) is illuminated.
  8. In addition, check that the provided USB dongle is plugged into the robot USB port in its trunk.
  9. ![](./images/xbox.png)
  10. ## Battery is not staying charged
  11. === "Stretch RE1"
  12. Please review the troubleshooting section of the [Stretch RE1 Battery Maintenance Guide](https://docs.hello-robot.com/0.2/stretch-hardware-guides/battery_maintenance_guide_re1/).
  13. === "Stretch 2"
  14. Please review the troubleshooting section of the [Stretch 2 Battery Maintenance Guide](https://docs.hello-robot.com/0.2/stretch-hardware-guides/battery_maintenance_guide_re2).
  15. ## RPC Transport Errors (Stretch doesn't respond to commands)
  16. If more than one instance of Stretch Body's [Robot](https://github.com/hello-robot/stretch_body/blob/master/body/stretch_body/robot.py) class is instantiated at a time, Stretch Body will report communication errors and will not always execute motion commands as expected. This is because the [Robot](https://github.com/hello-robot/stretch_body/blob/master/body/stretch_body/robot.py) class manages communications with the robot hardware and it doesn't support multiple writes to the USB devices.
  17. These errors can appear as
  18. ```{.bash .no-copy}
  19. Transport RX Error on RPC_ACK_SEND_BLOCK_MORE False 0 102
  20. ---- Debug Exception
  21. --------------- New RPC -------------------------
  22. Framer sent RPC_START_NEW_RPC
  23. ...
  24. ```
  25. or as
  26. ```{.bash .no-copy}
  27. IOError(None): None
  28. ...
  29. ```
  30. To check if an instance of [Robot](https://github.com/hello-robot/stretch_body/blob/master/body/stretch_body/robot.py) is already instantiated, you may use the Unix [top](https://www.unixtutorial.org/commands/top) command to monitor active processes. You may use the Unix [pkill](https://linuxize.com/post/pkill-command-in-linux/) command to end the background instance of Robot.
  31. ```{.bash .shell-prompt}
  32. pkill -9 python
  33. ```
  34. As shipped, Stretch launches [stretch_xbox_controller_teleop.py](https://github.com/hello-robot/stretch_body/blob/master/tools/bin/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.
  35. To turn it off, search for 'Startup' from Ubuntu Activities. Uncheck the box for 'hello_robot_xbox_teleop'.
  36. ![](./images/xbox_off_rs.png)
  37. ------
  38. <div align="center"> All materials are Copyright 2022 by Hello Robot Inc. Hello Robot and Stretch are registered trademarks.</div>