This project focuses on implementing and tuning PID controllers to enable precise and efficient navigation of the ROSBot XL, a holonomic (omni-directional) mobile robot. Its run in both simulation environment and with real robot within the Cyberworld Lab — a remote robotics testing environment of Construct.
The robot is tasked with navigating through a maze under constraints. The approach combines waypoint-based path planning and control theory, using C++ and ROS2, to ensure fast and accurate movement through each waypoint toward the final goal.
This repo contains 4 packages to do:
- Eight Trajectory: Follow waypoints in shape of figure eight
- Distance controller: Perform simple straight motion (subtask)
- Turn controller: Perform pivoting motion towards goals (subtask)
- PID maze solver: Controller in full action. Follows predefined waypoints from start to end, and then in reverse
Build the repo and source your workspace and then run:
-
Eight Trajectory follower in simulation:
ros2 launch rosbot_xl_gazebo empty_simulation.launch.py
ros2 launch eight_trajectory eight_trajectory.launch.py
-
Maze follower in Maze World sim:
ros2 launch rosbot_xl_gazebo simulation.launch.py
ros2 run pid_maze_solver pid_maze_solver 1
-
Maze follower in CyberLab:
ros2 run pid_maze_solver pid_maze_solver 2


