This package provides the function to control all models of Doosan robots in the ROS2(Humble) environment.
※ Currently, ROS2 related packages are being updated rapidly.
Doosan packages will also be updated from time to time and features will be upgraded.
Install Docker https://docs.docker.com/engine/install/ubuntu/
### Prerequisite installation elements before package installation
sudo apt-get update
sudo apt-get install -y libpoco-dev libyaml-cpp-dev wget
sudo apt-get install -y 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 sim
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
sudo apt-get install -y ros-humble-gazebo-ros-pkgs ros-humble-moveit-msgs ros-humble-ros-gz-sim ros-humble-ros-gz
### We assume that you have installed the ros-humble-desktop package using the apt-get command.
### We recommand the /home/<user_home>/ros2_ws/src
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ 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
$ rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
$ cd ~/ros2_ws/src/doosan-robot2
$ chmod +x ./install_emulator.sh
$ sudo ./install_emulator.sh
$ cd ~/ros2_ws
$ colcon build
$ . install/setup.bash
Pass mode:=real arguement over launch to drive a robot in reality.
The default IP and port of our robot controller are 192.168.127.100 and 12345.
Pass mode:=virtual argument over launch to drive a robot virtually.
Our emulators are automatically started and terminated according to launch lifetime.
The default IP and port of the virtual emulator are 127.0.0.1 and 12345.
( Users need to install the emulator by 'install_emulator.sh' )
Screencast from 07-01-2024 08:19:33 PM.webm
## Real Mode
## User needs to match host and port according to real controller's
$ ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=real host:=192.168.137.100 port:=12345 model:=m1013
## Virtual Mode
## User need to specify port (the virtual controller automatically starts on it)
$ ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=virtual host:=127.0.0.1 port:=12345 model:=m1013
## 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
## Additionally, you can add adittional arms for multi controls by spawning sperate ones.
## Keep in mind. you need to distinguish 'port' for controller,
## 'name' for robot namespace, location for loading on gazebo without collisions.
$ 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
$ ros2 launch dsr_bringup2 dsr_bringup2_moveit2.launch.py mode:=real host:=192.168.137.100 model:=m1013