doosan-robotics / doosan-robot2

ROS 2 for Doosan Robot
BSD 3-Clause "New" or "Revised" License
64 stars 39 forks source link

Doosan Robotics

license - apache 2.0 License support level: community

Overview

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.

Installation

To utilize the new emulator in virtual mode, Docker is required.

Install Docker https://docs.docker.com/engine/install/ubuntu/

Doosan Robot ROS2 Package is implemented at ROS2-humble.

### Prerequisite installation elements before package installation
$ sudo apt-get install libpoco-dev libyaml-cpp-dev
$ sudo apt-get install 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

### 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 libignition-gazebo6-dev
sudo apt-get install ros-humble-gazebo-ros-pkgs ros-humble-moveit-msgs ros-humble-ros-gz-sim

### 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
$ ./install_emulator.sh
$ cd ~/ros2_ws
$ colcon build
$ . install/setup.bash

Launch Parameters

mode

name

host

port

model

color

gui

gz

Tutorial

Screencast from 07-01-2024 08:19:33 PM.webm


Launch With Rviz2

## 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

Launch With Gazebo Sim

## 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

Launch With Moveit2

Caution : If you use Moveit2 function, Controller version should be required over 2.12.

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

4. Nvidia Issac Sim (TBD)