Skip to main content

ROSbot XL wheel swap

Overview

ROSbot XL is a 4x4 drive autonomous mobile robot platform powered by ROS what allows to change the set of multi-directional mecanum wheels to the set of off-road, high grip, puncture resistant rubber wheels.

Change from Regular Wheels to Mecanum Wheels

  1. Remove M4x6 with a flat head (ISO 7380) (2.5mm allen key) holding each wheel. Bolts are placed axially inside the counterbore hole.
  1. Slide wheel of the coupler.
  1. Place the rubber wheels on couplers and fix them using M4x6 bolts with a flat head (2.5mm allen key). Tighten the bolts with a torque of 1.5Nm.

Change from Mecanum Wheels to Regular Wheels

  1. Remove M4x6 with a flat head (ISO 7380) (2.5mm allen key) holding each wheel.
  1. Slide wheel of the coupler.
  2. Place the Mecanum Wheels on couplers. The order in which the wheels are placed is extremely important, as there are left-handed and right-handed wheels.
  1. Place M4x6 bolts with a flat head (2.5mm allen key) inside the counterbore hole. Tighten the bolts with a torque of 1.5Nm.

Software

After changing the wheels on the ROSbot XL, you must let know the ROS driver about it.

In ROSbot XL by default, ROS drivers in the SBC run within a Docker container and assume that mecanum wheels are mounted. Follow the steps to make the required changes in the software:

  1. Login via SSH into SBC (just like in the tutorial)

  2. Edit the Docker Compose file with:

    sudo nano compose.yaml
  3. Edit mecanum parameter in the ros2 launch command in rosbot-xl service:

    command: ros2 launch rosbot_xl_bringup bringup.launch.py mecanum:=${MECANUM:-False}
    • For standard wheels: mecanum:=${MECANUM:-False}
    • For mecanum wheels: mecanum:=${MECANUM:-True}
  4. If they are already running, restart Docker Containers: docker compose up -d --force-recreate

  5. 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 using ros2 run teleop_twist_keyboard teleop_twist_keyboard and then controlling with Shift pressed.