Skip to content

doosan-robotics/doosan-robot2

Repository files navigation

license - apache 2.0 License support level: community

images

Overview

This package provides the function to control all models of Doosan robots in the ROS2(Humble) environment.

Installation

Prerequisites

To utilize the new emulator in virtual mode, Docker is required. Install Docker by following the official guide: Docker Installation for Ubuntu

Required Dependencies

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

Install Gazebo Simulation

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

Package Installation

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

Launch Parameters

mode

  • 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.

name

  • Robot namespace (Default: dsr01)

host

  • IP Address of Doosan Robotics Controller
    • Default: 192.168.137.100
    • Virtual mode: 127.0.0.1

port

  • Port of Doosan Robotics Controller (Default: 12345)

model

  • Doosan robot model name

color

  • Select white or blue (Only white for E0609)

gui

  • Activate/Deactivate GUI (true/false)

gz

  • Activate/Deactivate Gazebo Simulation (true/false)

Tutorials

Launch with Rviz2

Real Mode

ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=real host:=192.168.137.100 port:=12345 model:=m1013

Virtual Mode

ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=virtual host:=127.0.0.1 port:=12345 model:=m1013

Launch with Gazebo Simulation

Real Mode

ros2 launch dsr_bringup2 dsr_bringup2_gazebo.launch.py mode:=real host:=192.168.137.100 model:=m1013

Virtual Mode

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.

Launch with MoveIt2

Caution: MoveIt2 requires Controller Version 2.12 or higher.

Real Mode

ros2 launch dsr_bringup2 dsr_bringup2_moveit.launch.py mode:=real model:=m1013 host:=192.168.137.100

Virtual Mode

ros2 launch dsr_bringup2 dsr_bringup2_moveit.launch.py mode:=virtual model:=m1013 host:=127.0.0.1

Additional Resources

demo.webm