ROSbot 2R / 2 PRO / 2 wheel swap
Overview
ROSbot is a 4x4 drive autonomous mobile robot platform powered by ROS what allows to extend the standard set of pneumatic rubber wheels to the set of multi-directional mecanum wheels.
Change from standard wheels to mecanum wheels
- Remove M4x8 bolts (2.5mm allen key) holding each wheel. Slide wheel of the coupler.
- Remove M3x4 bolts (2.5mm allen key) holding each coupler. Slide coupler of the shaft.
- Make sure the position of the flat part of the shaft, as on this surface screws must be tightened in next step.
- Place on the shafts short couplers intended for mecanum wheels. They are 18 mm long and are fastened with two M3x4 screws each. Tighten the bolts with a torque of 1Nm (2.5mm allen key).
- Place the mecanum wheels on correctly fitted couplers. The order in which the wheels are placed is extremely important, as there are left-handed and right-handed wheels. Their correct placement is shown in the image below.
- Screw the mecanum wheels to the couplings using M4x20 screws with a flat head (2.5mm allen key). Tighten the bolts with a torque of 1.5Nm.
Change from mecanum wheels to standard wheels
- Remove M4x20 bolt (2.5mm allen key) holding each mecanum wheel. Slide wheel of the coupler.
- Remove M3x4 bolts (2.5mm allen key) holding each coupler. Slide couplers of the shaft.
- Make sure the position of the flat part of the shaft, as on this surface screws must be tightened in next step.
- Place on the shafts long couplers intended for regular wheels. They are 30 mm long and are fastened with one M3x4 screws each. Tighten the bolts with a torque of 1Nm (2.5mm allen key).
- Place the regular wheels on correctly fitted couplers. Screw the wheels to the couplers using M4x8 screws with a flat head (2.5mm allen key). Tighten the bolts with a torque of 1.5Nm.
Software
In ROS 1 (e.g. ROS Noetic) in ROSbot, changing the driving mode from differential to mecanum involves deep changes in the robot controller firmware. To easily change this mode, it is suggested to use native ROS 2 or Docker containers based on ROS 2 (e.g. ROS 2 Humble).
After changing the wheels on the ROSbot, you must let know the ROS driver about it.
In ROSbot 2R / 2 PRO by default, ROS drivers in the SBC run within a Docker container and assume that standard wheels are mounted. Follow the steps to make the required changes in the software:
-
Login via SSH into SBC (just like in the tutorial)
-
Edit the Docker Compose file with:
sudo nano compose.yaml
-
Add
mecanum
parameter to theros2 launch
command inrosbot
service:command: ros2 launch rosbot_bringup bringup.launch.py mecanum:=${MECANUM:-True}
- For standard wheels:
mecanum:=${MECANUM:-False}
- For mecanum wheels:
mecanum:=${MECANUM:-True}
- For standard wheels:
-
If they are already running, restart Docker Containers:
docker compose up -d --force-recreate
-
Test the results by running the ROSbot's ROS drivers and then sending a message to the
cmd_vel
topic with a non-zero value of sideways movement (linear.y
) or usingros2 run teleop_twist_keyboard teleop_twist_keyboard
and then controlling with Shift pressed.