This repository contains the project implementation for the Robotics & Control 2 (R&C2) course at the University of Padova, Department of Information Engineering.
For more information you can read our presentation ./presentation.pdf.
pacman.mp4
The challenge involves controlling a unicycle mobile robot—modeled after the classic arcade character PAC-MAN—to navigate a maze environment. The robot must track a specific path and successfully perform a parking maneuver into a central docking box.
The implementation is divided into four distinct phases:
- Phase 1: Definition of the scenario, path characterization (trajectory to be tracked), and positioning of the docking box.
- Phase 2: Definition of simplified scenarios to perform controller tuning.
- Phase 3: Execution of the tracking task along a closed trajectory within the maze.
- Phase 4: Regulation task to transition from the end of the trajectory into the final parking box.
In this project we've tested 3 different controllers for trajectory tracking and 2 different controllers for regulation.
| Control Scheme | Architecture Diagram |
|---|---|
| State-error linearization control scheme | ![]() |
| State-error nonlinear control scheme | ![]() |
| Output-error feedback control scheme | ![]() |
| Cartesian Control | Posture Control |
|---|---|
![]() |
![]() |
Tune a controller:
run Scripts/tuning.mPlots are stored in ./Figures/ folder.
Simulate inside PAC-MAN maze:
run Scripts/maze_sim.mPlots are stored in ./Scripts/Figures/ folder, the video is stored in ./Scripts/Video/.





