We just received the rosbotXL and set it up.
While using keyboard teleop to go straight, the robot systematically drifts on the right of about 20cm in 3m. The odometry does not fully detect it, only accounting for an orientation drift of about 5degree (while it should be 20 degrees) and 15cm on the y axis while it should be about 20-30cm.
We suspect it’s an issue with the holonomic wheels (we haven’t tried the other wheels) but without certitude. please led us in the process to solve that.
Hello @daria,
I would like information about the serial number and version of $ROS_DISTRO. Because we recently started pushing for production of a new jazzy image and I don’t know if this is it or the previous one.
We have Jetson Orin Nano with Jetpack 6.0 (The Jetpack 5.1.1 would not boot, we now suspect it was an issue with the board requiring too much current at once which the robot could not provide at the moment).
Thank you for the explanation and, I glad you are able to upgrade Jetpack version to 6.0. Please tell me more:
How do you run the robot driver. We have distributions in snap and docker compose. If docker compose, please send the whole compose. If snap, please send the snap version (snap list | grep rosbot)
Please check if the mecanum argument is set correctly in the robot driver.
I would also like to make sure if the floor is quite even (mecanum wheels do not cope on uneven ground)
we followed the quick start utility-script for Nvidia Jetson Orin Nano, so I assume it is the snap version that is been installed. snap list | grep rosbot: rosbot-xl - 28 humble/stable husarion** broken
(the led is green though)
sudo snap get rosbot-xl driver
Key Value
driver.camera-model None
driver.db-serial-port auto
driver.include-camera-mount True
driver.lidar-model None
driver.manipulator-serial-port auto
driver.mecanum True
with ros run teleop_keyboard I can do Shift+key to move holonomously
The floor is flat. No other robot drifts on that surface.
Going backward almost returns us to the position of origin (only a 3cm shift on the right), which is why we suspect a disequilibrium between the wheels. (and yes it’s not going straight, there is also a slight orientation shift on the right, wheels have been aligned with the floor to verify a straight motion)
Thanks for the detailed feedback and photos – that really helps clarify the situation.
From what you’ve described, both the behavior and odometry results appear to be within expected ranges for a robot equipped with mecanum wheels. While I understand the concern about the ~10 cm drift on a 4 m straight motion, it’s worth noting that:
Mecanum wheels inherently have limited directional precision, and even minor variations (e.g. friction differences, roller alignment, wheel imbalance) can introduce lateral drift or angular deviation.
The odometry drift of ~10 cm over 4 meters corresponds to about 2.5% error, which is quite good in practice, especially for mecanum-driven robots. Systems like SLAM or AMCL typically compensate for such drift effectively during localization.
That said, if you’re still concerned and want to rule out potential hardware imbalance, mechanical misalignment, or controller I suggest:
Temporarily replacing the mecanum wheels with regular wheels (if possible) to verify if the robot can drive straighter under the same test conditions.
Recording a video of the robot’s path during the straight-line motion test. This could help us assess the severity and nature of the drift more precisely.
Let me know if you need help for further diagnostics.
We will try that out, however, it will probably be in a few months, so we will take your answer for now and re-open an issue if we note anything of concern.
I’m also sending the rosbot-autonomy or rosbot-xl-autonomy repo for indoor navigation. If you want the robot to drive to a specific point, this demo can be very useful.