This package provides the function to control all models of Doosan robots in the ROS2(Humble) environment.
To utilize the new emulator in virtual mode, Docker is required. Install Docker by following the official guide: Docker Installation for Ubuntu
Before installing the package, ensure that the necessary dependencies are installed:
sudo apt-get update
sudo apt-get install -y libpoco-dev libyaml-cpp-dev wget \
ros-humble-control-msgs ros-humble-realtime-tools ros-humble-xacro \
ros-humble-joint-state-publisher-gui ros-humble-ros2-control \
ros-humble-ros2-controllers ros-humble-gazebo-msgs ros-humble-moveit-msgs \
dbus-x11 ros-humble-moveit-configs-utils ros-humble-moveit-ros-move-group
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y libignition-gazebo6-dev ros-humble-gazebo-ros-pkgs ros-humble-ros-gz-sim ros-humble-ros-gz
Ensure that you have installed ros-humble-desktop using apt-get
. We recommend placing the package inside:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
Clone the required repositories:
git clone -b humble-devel https://github.com/doosan-robotics/doosan-robot2.git
git clone -b humble https://github.com/ros-controls/gz_ros2_control
Install dependencies:
rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
Run the emulator installation script:
cd ~/ros2_ws/src/doosan-robot2
chmod +x ./install_emulator.sh
sudo ./install_emulator.sh
Build the package:
cd ~/ros2_ws
colcon build
. install/setup.bash
To use ROS2 with Version 3.x Controller, specify the build option:
colcon build --cmake-args -DDRCF_VER=3
mode:=real
→ Drive a robot in reality (default IP:192.168.127.100
, port:12345
)mode:=virtual
→ Drive a robot virtually (default IP:127.0.0.1
, port:12345
)- Emulator starts and terminates automatically with launch lifetime.
- Robot namespace (Default:
dsr01
)
- IP Address of Doosan Robotics Controller
- Default:
192.168.137.100
- Virtual mode:
127.0.0.1
- Default:
- Port of Doosan Robotics Controller (Default:
12345
)
- Doosan robot model name
- Select
white
orblue
(Onlywhite
for E0609)
- Activate/Deactivate GUI (
true
/false
)
- Activate/Deactivate Gazebo Simulation (
true
/false
)
ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=real host:=192.168.137.100 port:=12345 model:=m1013
ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=virtual host:=127.0.0.1 port:=12345 model:=m1013
ros2 launch dsr_bringup2 dsr_bringup2_gazebo.launch.py mode:=real host:=192.168.137.100 model:=m1013
ros2 launch dsr_bringup2 dsr_bringup2_gazebo.launch.py mode:=virtual host:=127.0.0.1 port:=12346 name:=dsr01 x:=0 y:=0
To add additional arms for multi-control:
ros2 launch dsr_bringup2 dsr_bringup2_spawn_on_gazebo.launch.py mode:=virtual host:=127.0.0.1 port:=12347 name:=dsr02 x:=2 y:=2
Note: Ensure each additional arm has a unique port
, name
, and location (x
, y
) to avoid collisions in Gazebo.
⚠ Caution: MoveIt2 requires Controller Version 2.12 or higher.
ros2 launch dsr_bringup2 dsr_bringup2_moveit.launch.py mode:=real model:=m1013 host:=192.168.137.100
ros2 launch dsr_bringup2 dsr_bringup2_moveit.launch.py mode:=virtual model:=m1013 host:=127.0.0.1