![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble rdsim_description rdsim_gazebo rdsim_glim rdsim_interfaces rdsim_localization rdsim_nav2 rdsim_scenario fast_gicp hdl_global_localization hdl_localization ndt_omp |
|
Repository Summary
Description | Robo Delivery Simulator |
Checkout URI | https://github.com/auturbo/rdsim.git |
VCS Type | git |
VCS Version | devel/2wheel_diff |
Last Updated | 2025-03-05 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | gps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
rdsim_description | 0.0.0 |
rdsim_gazebo | 0.0.0 |
rdsim_glim | 0.0.0 |
rdsim_interfaces | 0.0.0 |
rdsim_localization | 0.0.0 |
rdsim_nav2 | 0.0.0 |
rdsim_scenario | 0.0.0 |
fast_gicp | 0.0.0 |
hdl_global_localization | 0.0.0 |
hdl_localization | 0.0.0 |
ndt_omp | 0.0.0 |
README
RDSim: Robo Delivery Simulator
Project Page | Video
Summary: RDSim is a Robo Delivery Simulator developed for autonomous delivery systems. It integrates state-of-the-art SLAM, localization, planning, and control technologies within the Gazebo simulation environment. Designed as a comprehensive solution, RDSim supports robot control, environment simulation, and robust navigation capabilities.



1. Environment Settings
There are two ways to execute: ‘Manual Installation && build’ or ‘Docker Installation’
RDSim clone
First of all, we need to clone this project before that.
$ cd ~/ros2_ws/src
$ git clone --recursive https://github.com/AuTURBO/RDSim.git
$ cd ~/ros2_ws/src/RDSim/ && git submodule update --remote
1.1. Manual Installation && build
Requirements
Setting GAZEBO_RESOURCE_PATH
echo "export GAZEBO_RESOURCE_PATH=/usr/share/gazebo-11:$GAZEBO_RESOURCE_PATH" >> ~/.bashrc
source ~/.bashrc
Install dependency
$ sudo apt-get update && sudo apt install -y \
ros-humble-robot-localization \
ros-humble-imu-filter-madgwick \
ros-humble-controller-manager \
ros-humble-diff-drive-controller \
ros-humble-interactive-marker-twist-server \
ros-humble-joint-state-broadcaster \
ros-humble-joint-trajectory-controller \
ros-humble-joint-state-publisher-gui \
ros-humble-joy \
ros-humble-robot-state-publisher \
ros-humble-teleop-twist-joy \
ros-humble-twist-mux \
libgazebo-dev \
ros-humble-spatio-temporal-voxel-layer \
ros-humble-pcl-ros \
ros-humble-pcl-conversions \
ros-humble-rclcpp-components \
ros-humble-xacro* \
tmux \
tmuxp \
&& echo 'alias start_rdsim="cd ~/ros2_ws/src/RDSim/rdsim_launcher && tmuxp load rdsim_launcher.yaml"' >> ~/.bashrc \
&& echo 'alias end="tmux kill-session && killgazebo"' >> ~/.bashrc \
&& source ~/.bashrc
RDSim build
$ cd ~/ros2_ws && rosdep install --ignore-src --rosdistro humble --from-paths ./src/RDSim/rdsim_submodules/navigation2
$ cd ~/ros2_ws && colcon build --symlink-install --parallel-workers 8 && source install/local_setup.bash
1.2. Docker Installation
Docker environment tested on Ubuntu 22.04, nvidia
# in rdsim main directory
cd ~/ros2_ws/src/RDSim/docker && ./run_command.sh
# in docker container
cd ~/ros2_ws && colcon build --symlink-install --parallel-workers 8 && source install/local_setup.bash
2. Executing the RDSim with One Line
Launch All Nodes
To start the simulation and launch all necessary nodes, simply execute the following command:
start_rdsim
This command initializes the RDSim environment and starts all relevant processes automatically.
Terminate All Nodes
To terminate all running nodes and clean up resources, use the following
end
This command ensures that all processes related to the simulation are safely stopped.
3. Launch the ROS2 Nodes and GAZEBO world
Launch the Gazebo world
ros2 launch rdsim_gazebo rdsim_gazebo_world.launch.py

Loading the robot model into the GAZEBO world
ros2 launch rdsim_description rdsim_gazebo.launch.py

Teleoperate the robot
Executing the teleoperation node to control the robot via keyboard input
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Navigate the outdoor robot in the GAZEBO world
The system supports launching localization nodes (VSLAM, EKF) and the navigation node (NAV2) for outdoor environments.
ros2 launch rdsim_gazebo rdsim_gps_navigation.launch.py

This Navigation can detect 3D obstacles, such as trees, using a 3D LiDAR sensor and a spatio-temporal voxel layer for precise obstacle avoidance.

The topology map can be generated using the rdsim_submodules/RDSim_GUI package. It can be run with Python, and nodes and edges can be created and modified through mouse clicks on the web interface.
cd rdsim_submodules/RDSim_GUI
python3 main.py
This navigation module includes a new topology map server that supports predefined routing plans for efficient delivery in the GAZEBO simulation environment. The topology map server is implemented as a behavior, enabling the use of behavior trees for flexible and adaptive decision-making. Additionally, the behavior tree can be visualized using Groot for better understanding and debugging.


By sending the send_gal action in ROS 2, a path is generated along the edges from the starting point to the destination using a topology map. The status of the Behavior Tree (BT) nodes can be monitored in real-time through Groot.
ros2 action send_goal /navigate_to_topology nav2_msgs/action/NavigateToTopology "start_vertex_id: 0
end_vertex_id: 1
behavior_tree: ''" -f
The localization framework is based on pose estimation using the
robot_localization
package. It integrates data from various sensors, including:
- 3D Lidar SLAM (HDL Localization) module
- GPS sensor
- Wheel odometry
- IMU sensor

* The box represented in orange is used
CONTRIBUTING
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|
![]() |
rdsim repositorygps gazebo velodyne 3d-point-clouds ros2 vslam topology-graph cartographer glim mobilerobots hdl-localization nav2 ros2-humble |
|