Elia Avanzolini
Alejandro Enrique Barbi
Alessandro Moscatelli
This repository contains the complete codebase developed for the project of the course Robot Planning and its Applications at the University of Trento (UniTN), Academic Year 2025/2026.
The project focuses on autonomous navigation and rescue planning, combining roadmap-based motion planning, combinatorial optimization, and curvature-constrained trajectory generation.
The project relies on Docker to ensure a reproducible and isolated environment.
-
Install Docker Follow the official installation guide available at:
https://github.com/idra-lab/loco_nav/blob/master/install_docker_windows.md -
Pull the Docker image
docker pull eliaavanzolini/trento-lab-framework:v1.0-elia
-
Install LocoNav Follow the instructions provided in the official repository: https://github.com/mfocchi/loco_nav
-
Install CasADi Install CasADi along with the CBC solver by following the guide: https://github.com/casadi/casadi
If issues arise, it is recommended to use the precompiled tar package.
- Clone this repository and initialize submodules
git clone --recurse-submodules <repository_url>
-
Start the Docker environment Access the Docker container using the alias:
lab_planning
-
Launch the simulation Start Gazebo and RViz by running:
roslaunch ais-victims multiple_robots.launch
-
Open a second terminal
dock-other
-
Run the planning node
rosrun ais-victims roadmap [prm|voronoi] [brute|milp] [max_cost] <limo_velocity>
| Parameter | Description |
|---|---|
prm | voronoi |
Roadmap generation method |
brute | milp |
Optimization strategy for victim selection |
max_cost |
Maximum allowable traversal cost (budget) |
limo_velocity |
Limo velocity during Dubins manouvers |
- Visualize generated images Open an addtional terminal and run
eog <image_name>.png
| File name | Description |
|---|---|
base.png |
Environment with keypoints and obstacles |
roadmap.png |
Roadmap structure |
graph.png |
High-level planning graph |
filtered_curve.png |
Smoothed curvature-constrained trajectory |