Severe issues with trajectory mode

Our Stretch 3 has been facing significant issues in trajectory mode. Previously we only did minor tests in position mode (due to the projects related to it being used not having started yet/focusing on simulation) and successfully used Joystick remote control and the visual servoing demo. However, when I tried to test the trajectory mode in the Python API, I could not get any positive results.

Trying to control the arm in trajectory mode leads to it being stuck, while translation in trajectory mode is very imprecise, not predictable and creates loud motor noises. Examples of this behaviour can be found here: sciebo

For my tests I tried using the stretch_trajectory_jog.py as well as an adaptation of the examples provided here: stretch_tutorials/python/moving.md at master · hello-robot/stretch_tutorials · GitHub (using r.base.trajectory.add to add waypoints and then using r.follow_trajectory led to no motion being done). Running system check reveals the following error: stepper type mismatch error on the left wheel. According to the updater all of our firmware and packages are on latest releases.

Additionally we face the following issues using funmap and rviz:

  • the wheels motors keep making sounds after the room scan
  • the robot turns the right way, but drives in the wrong direction when giving it a navpose with rviz

We’re recently started work on making trajectory mode more robust and I believe the software patches should address the issues you’re seeing. But first, I’d like to solve the “Stepper type mismatch error” you’re seeing. Would you try:

  1. Update your Python libraries:
pip3 install -U hello-robot-stretch-body
pip3 install -U hello-robot-stretch-factory
  1. Reassign the USB rules using REx_discover_hello_devices.py --arduino --discover Here’s a video of the expected output.
  2. Reboot and power cycle your robot. Confirm that each joint moves correctly with stretch_base_jog.py and stretch_robot_home.py Here’s a video of the expected output of homing.
  3. Update your firmware using REx_firmware_updater.py --install Here’s a video of the expected output.
  4. Save the “motor types” to each motor’s firmware using REx_stepper_type.py --write Here’s a video of the expected output.

Would you open a new thread for the FUNMAP issues you’re seeing?