This guide helps developers and researchers quickly set up and test the EasyNavigation robotics platform using Docker and ROS 2. It provides a hassle-free way to try EasyNavigation without complex local installations, supporting both Linux and non-Linux systems through containerization. You can follow the slides at :
- Developers: Quickly test and explore EasyNavigation features in a pre-configured environment.
- Researchers: Evaluate the platform for your robotics projects without setup overhead.
- Students: Learn robotics navigation concepts with ready-to-use tools and examples.
- Educators: Use the containerized environment for teaching navigation algorithms.
- Before workshop:https://forms.office.com/e/ZUivRJ4Ebh
- After workshop: https://forms.office.com/e/ZBJ6B5DGKr
- If you have an NVIDIA card in your system and it is configured with the proper drivers, you can execute the following command to switch between the integrated graphics card and the NVIDIA GPU:
sudo prime-select nvidia- After running prime-select, you will need to restart your system for the changes to take effect:
sudo rebootNow, choose your preferred setup method:
- Option 1: Local installation (Linux only, Ubuntu 24.04) - For advanced users who want direct system integration
- Option 2: Docker environment (Recommended) - For easy testing and cross-platform compatibility
If you're using Ubuntu 24.04 and prefer to install dependencies without Docker, you can install ROS 2 Jazzy, create a directory for the EasyNavigation environment and clone the repository and run the provided setup script to configure the simulator locally.
git clone https://github.com/EasyNavigation/roscon2025_workshop.git
./roscon2025_workshop/docker/installation_scripts/workshop_all.shInstall Docker Desktop from: Docker Desktop
Pull the image by searching for jmguerreroh/easynav:ubuntu24 in Docker Desktop's search interface or by running the following command in the Terminal:
docker pull jmguerreroh/easynav:ubuntu24When running the image in Docker Desktop, set 6080 as the host port in the Docker settings.
Once it's running, open your browser and go to: http://localhost:6080/
You should see a full development desktop environment.
Follow the official Docker installation guide for Ubuntu: Docker Engine on Ubuntu
Create a directory for the EasyNavigation environment and clone the repository:
mkdir ~/easynav_ws && cd ~/easynav_ws
git clone https://github.com/EasyNavigation/roscon2025_workshop.gitTo enable GPU Acceleration (Linux + NVIDIA) usage inside Docker:
- Install the NVIDIA drivers.
- Install the NVIDIA Container Toolkit. Execute the script:
cd ~/easynav_ws/roscon2025_workshop/docker/
./nvidia_install.shThere are two ways to get the Docker image:
- Option 4.1: Download Prebuilt Image from Docker Hub (RECOMMENDED):
docker pull jmguerreroh/easynav:ubuntu24- Option 4.2: Build image locally Navigate to the Docker directory and build the Docker image:
cd ~/easynav_ws/roscon2025_workshop/docker/
sudo docker buildx build --platform=linux/amd64 -t jmguerreroh/easynav:ubuntu24 -f Dockerfile .Run the Docker image using the provided script:
cd ~/easynav_ws/roscon2025_workshop/docker/
./run_docker.shNote: If you run this command without having the image, it will attempt to download it from Docker Hub as in step 4.1.
Open your browser and go to: http://localhost:6080/
You should see a full development desktop environment:
If the container is currently running and you need to stop it, follow these steps:
-
First, log out of the Docker container environment in your browser:

-
Then, stop the Docker container using the following command:
docker stop easynavNote: Your work is preserved unless you explicitly remove the container.
If the container is stopped and you want to start it again:
docker start easynavThen access it again at: http://localhost:6080/
If you need to customize the environment with additional packages or configurations:
- Create your own installation script and place it inside the
docker/installation_scripts/folder. - Follow steps 4.2 and 5 from Option 2B to build a custom Docker image.
- Execute your script inside the Docker container. Once running, open a terminal and execute:
source /installation_scripts/your_script.shIf you have access to a custom EasyNavigation image:
- Pull the specific image version you need:
docker pull your-custom-image:tag- Modify the
run_docker.shscript to use your custom image name. - Follow the same steps as above to run the container.
- Any custom scripts can be downloaded directly in the browser environment and executed in the terminal.
This index lists the workshop exercises for the Nav2 (first part) and EasyNav (second part) tracks. Each entry links directly to the exercise README.
- nav2_playground — exercises/nav2/nav2_playground/README.md
-
- Map generation (slam_toolbox) — exercises/nav2/1.map_generation/README.md
-
- Basic navigation — exercises/nav2/2.basic_navigation/README.md
-
- Parameters configuration — exercises/nav2/3.params_configuration/README.md
-
- Patrolling (Nav2) — exercises/nav2/4.patrolling/README.md
- easynav_workshop_testcase — exercises/easynav/easynav_playground/easynav_workshop_testcase/README.md
-
- Basic configuration (EasyNav) — exercises/easynav/1.basic_config/README.md
-
- Add custom plugin — exercises/easynav/2.custom_plugin/README.md
-
- Gridmap patrolling (EasyNav) — exercises/easynav/3.gridmap_patrolling/README.md
-
- Using NavMap representation — exercises/easynav/4.using_navmap/README.md
