Skip to content

AuTURBO/RDSim

Repository files navigation

RDSim: Robo Delivery Simulator

About: 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.

small_sim_world glim_result nav2

Environment Settings

There are two ways to execute: 'local' or 'docker'

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

i) local: Install && 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
$ colcon build --symlink-install && source install/local_setup.bash

ii) docker

Docker environment tested on Ubuntu 22.04, nvidia

# in rdsim main directory
cd ~/ros2_ws/src/RDSim/docker && ./run_command.sh 

Execute RDSim

All launch

start_rdsim

All Down

end

Gazebo world launch

Gazebo 맵만 실행시킬 경우

ros2 launch rdsim_gazebo rdsim_gazebo_world.launch.py  

Robot Display launch

Gazebo 없이 로봇의 tf를 확인하고 싶을 경우

ros2 launch rdsim_description rdsim_description.launch.py 

Sim launch

ros2 launch rdsim_description rdsim_gazebo.launch.py 

teleop cmd

cmd_vel을 통해 제어하기 때문에 다음 명령어를 통해 제어할 수 있습니다.

ros2 run teleop_twist_keyboard teleop_twist_keyboard

Execute everything with a single lunch file

ros2 launch rdsim_gazebo rdsim_navigation.launch.py