This repository integrates hardware, frontend, and backend modules for the iros_mobile_platform Mobile Platform. The backend module consists of the following components:
- Controller: Includes the high-level controller and various infrastructure packages such as the log collector and mode switcher.
- SLAM: Provides Simultaneous Localization and Mapping functionalities.
- Path Planner: Responsible for determining the optimal path.
docker compose up --build simulator
If you want to play around, you could launch the terminal:
docker compose up --build terminal
You can attach to the docker from other terminals, by running:
docker compose exec terminal bash
Inside there, you have to build the project manually:
source /opt/ros/humble/setup.bash
colcon build
source install/setup.bash
ros2 launch iros_mobile_platform sim.launch.pyTo start mapping, set launch argument run_mapping for sim.launch.py to True:
ros2 launch iros_mobile_platform sim.launch.py run_mapping:=TrueTo save the map, enter the following command in the new terminal:
source /opt/ros/humble/setup.bash
ros2 run nav2_map_server map_saver_cli -f <new_map_name>NOTE: The save path can be specified as
<path_to_map>/<new_map_name>or run the command in the desired directory
To use a specific map for SLAM in simulator, provide map file to the launch argument map_file for sim.launch.py:
ros2 launch iros_mobile_platform sim.launch.py map_file:=<map_file>NOTE: The map file is expected in the directory
/iros_mobile_platform/maps
TBD
The project software is developed using the ROS2 Humble middleware and relies on the following external dependencies:
Additionally, the following ROS2 package is used for hardware components:
They could be installed at:
RUN apt-get install -y ros-humble-slam-toolbox ros-humble-navigation2 ros-humble-nav2-bringup source /opt/ros/humble/setup.bash
colcon build
source install/setup.bash
ros2 launch iros_mobile_platform sim.launch.pyTBD