Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

encRobo

Autonomous Robot Project based on ROS 2 Jazzy and ESP32 implementing SLAM mapping, Nav2 autonomous navigation, EKF odometry fusion, and Gazebo Harmonic simulation.


📋 Requirements & Setup

Install Python dependencies:

pip install -r requirements.txt

Build the ROS 2 workspace:

colcon build --packages-select enc
source install/setup.bash

🚀 Execution Guide

1. Navigation Mode

To run Nav2 navigation mode using the saved map on the physical robot:

ros2 launch enc navigation.launch.py

(To specify a custom map path, pass map:=/path/to/your/my_map.yaml)

2. SLAM Mapping Mode

To run real-time SLAM mapping with the physical robot:

ros2 launch enc online_async_launch.py

Note on Map Path / Pose Graph: You can save the graph on the root folder to activate that and set the path into the navigation's launch file (navigation.launch.py default path is set to ~/my_map.yaml).

3. Save Map After Mapping

After completing the mapping process in SLAM, save the generated map:

ros2 run nav2_map_server map_saver_cli -f ~/my_map

(Or save directly to the root folder: ros2 run nav2_map_server map_saver_cli -f ./my_map)

4. Gazebo Simulation Mode

For testing and development in Gazebo Harmonic simulation, you can run simulation mode and provide a custom map path:

  • SLAM Mapping in Gazebo:

    ros2 launch enc simulation.launch.py
  • Navigation in Gazebo (with custom map path):

    ros2 launch enc navigation_sim.launch.py map:=/path/to/your/my_sim_map.yaml

📁 Repository Structure

  • encRobo/src/enc/launch/: Launch files for physical robot & Gazebo simulation
  • encRobo/src/enc/config/: EKF, Nav2, and SLAM parameters
  • encRobo/src/enc/enc/: Custom ROS 2 nodes (odometry publisher, waypoint follower, slip detector)
  • encRobo/src/enc/description/: URDF/xacro robot model files

About

Implementing slam and nav2...

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages