Home

Designing the Kinematic Model of ROSBot XL

Developing and Testing Advanced Robotic Movements in Simulation

01 May 2024

Introduction

The project’s aim was to develop and implement the kinematic model for the ROSBot XL robot within a simulated environment using Gazebo Sim (Ignition). This involved determining the robot’s movement classification, publishing wheel speeds, and transforming these into commands to control the robot’s motion effectively, including following a complex figure-eight trajectory.

Objectives

  • To classify the ROSBot XL as holonomic or non-holonomic based on its movement capabilities.
  • To develop a kinematic model that accurately represents the robot’s real-world movements.
  • To implement a sequence of movements in simulation to demonstrate the robot’s capabilities, including a figure-eight trajectory.

Tools and Technologies

  • Programming Languages: C++
  • Frameworks and Libraries: Eigen, ROS2, Gazebo Sim
  • Development Tools: Git for version control

Source Code

Process and Development

The project consisted of several critical phases, starting from the simulation setup to the execution of complex robot movements.

Kinematic Model Development and Movement Testing

Movement Classification: Conducted tests to classify the ROSBot XL as either holonomic or non-holonomic, crucial for defining the appropriate kinematic model.

Wheel Velocities Publisher: Developed a C++ node that publishes the wheel speeds for each of the four wheels, enabling the robot to execute predefined movements like moving in different directions and rotating.

Kinematic Model Implementation: Created a node that subscribes to wheel speed outputs and transforms them into Twist messages to control the robot’s movements in the simulation accurately.

Advanced Trajectory Control

Eight Trajectory Implementation: Developed a C++ package to command the robot to follow a figure-eight trajectory. This involved programming the robot to respond to a series of waypoints, each representing a segment of the trajectory, thereby testing the robot’s precision and responsiveness in a simulated environment.

Results

The project successfully implemented a kinematic model in ROS2, allowing the ROSBot XL to perform complex movements in a simulated environment. The robot demonstrated its ability to move forward, backward, sideways, rotate both clockwise and counter-clockwise, and precisely follow a figure-eight trajectory.

Key Insights

  • The integration of a detailed kinematic model with ROS2 and Gazebo Sim facilitated a deeper understanding of robotic movement control in simulation environments.
  • Future projects could explore more complex trajectories and optimize path planning and control strategies.