Developing and Testing Advanced Robotic Movements in Simulation
01 May 2024
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.
The project consisted of several critical phases, starting from the simulation setup to the execution of complex robot movements.
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.
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.
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.