When going through the quick start tutorial and running the xbox controller teleop, we found that our stretch 2 drifts to the right when moving straight using the controller, but only in “fast_base mode”. We ran the “stretch_robot_system_check.py” file to check the system status and had this error: “[ERROR] [hello-motor-left-wheel]: Serial Exception: /dev/hello-motor-left-wheel : write failed: [Errno 9] Bad file descriptor”. Please let us know if there is any way to resolve this issue, as it seems to be a driver error.
Separately, but potentially related, we checked to see the status of the hardware and found a gap in the plastic between this pink piece and the rest of the base close to the left wheel.
The error seen from the stretch_robot_system_check.py tool might be a harmless bug in that script, resolved with the latest software updates. You can update your software by executing the following commands:
For the robot drifting in fast base mode, could you perform this following debug test and report your observation. When you place the robot on a block with both the wheels not touching the ground.
Does the right wheel spin faster than the left when you command the robot to go straight through the xbox teleop controller?
Do you see the same drifiting behaviour when trying to command the robot to go straight by executing the below code snippet in Python. You can decrease or increase the distance and velocity profile (max 0.3m/s).
from stretch_body.robot import Robot
robot = Robot()
robot.startup()
robot.base.translate_by(x_m=0.5,v_m=0.3) #Move robot straight by 0.5m with profile velocity 0.3 m/s
robot.push_command()
...
robot.stop()
The Gap you describe in the base plastic shell is completely harmless. It is just a flexion on the base plastic shell due to minor fit issues or warping.
Thank you for doing the debug steps. It would be better if we could solve this issue through a support call, and I can post a round-up of the fix here. I have DMed you.