The DENSO robot ROS2 stack contains libraries, configuration files, and ROS2 nodes for controlling a DENSO robot from ROS2 (MoveIt2 and Gazebo simulator).
The DENSO robot ROS2 stack contains packages that provide nodes for communication with DENSO industrial robot controllers (RC8/RC8A and RC9). The robot controller models that are currently supported are the following:
- RC8 controller
- RC8 controller (COBOTTA - not OSS)
- RC8A controller
- RC9 controller (under construction)
The supported robot models are the following:
- 4-Axis (SCARA) robots
- 5-and 6-Axis robots
- Collaborative robots (not OSS type)
Moreover, the DENSO robot ROS2 stack provides URDF models for COBOTTA and VS-060 robotic arms and associated MoveIt2 configuration packages (as standard components). To control other robot types, see the ROS2Converter page (under construction) for creating the URDF model and the associated MoveIt2 configuration package.
Robot control packages:
bcap_core
- core libraries for b-CAP communication protocolbcap_service_interfaces
- messages and services used by thebcap_core
nodebcap_service
- ROS2 node for low-level communication with robot controller through b-CAP protocoldenso_robot_core_interfaces
- actions and messages used by thedenso_robot_core
nodedenso_robot_core
- ROS2 node that exposes Controller, Robot, Variables, Task classesdenso_robot_control
- hardware interface that exposes planning and control functions for a real DENSO robot
Robot descriptions package:
denso_robot_desciptions
- description files for specific DENSO robot models (meshes, URDF, etc.)
Motion planning packages:
denso_robot_moveit_config
- MoveIt2 configuration files for specific DENSO robot models (SRDF, controller types, etc.)denso_robot_moveit_demo
- ROS2 node for moving a robot (both simulated and real) using the MoveIt2 motion planner (8 fixed positions, according to the robot model)
Startup package:
denso_robot_bringup
- main launch files and configuration settings
-
Install ROS2 Humble
-
Make sure that
colcon
, its extensions andvcs
are installed:sudo apt install python3-colcon-common-extensions python3-vcstool
-
Create a new ROS2 workspace:
export COLCON_WS=~/workspace/denso_ros2_ws mkdir -p $COLCON_WS/src
-
Pull
denso_robot_ros2
packages:cd $COLCON_WS git clone -b humble https://github.com/DENSORobot/denso_robot_ros2.git src/denso_robot_drivers_ros2 vcs import src --skip-existing --input src/denso_robot_drivers_ros2/denso_robot_drivers_ros2.repos
-
To use MoveIt2, install the required packages (binary installation, Humble version).
-
Install dependencies (if not already installed):
sudo apt install ros-humble-ros2-control sudo apt install ros-humble-ros2-controllers
-
Compile and source the workspace:
rosdep install --ignore-src --from-paths src -y -r colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release source install/setup.bash
denso_robot_ros2
packages use b-CAP communication, which is ORiN2 communication standard, to control DENSO robots.
Following are the instructions to setup DENSO hardware in order to interface DENSO ROS2 nodes with simulated or real robot.
For controlling a WINCAPS III-simulated robot, a Windows computer is needed. Windows computer where WINCAPS III runs. The following steps show how to install and start a b-CAP server on the Windows machine.
-
Install WINCAPS III in Windows computer. ORiN2 SDK, VRC, and DENSO ROBOTICS License Manager are installed with WINCAPS III simultaneously.
-
License registration: to control a WINCAPS III-simulated robot, the licenses of ORiN2 SDK, VRC, and WINCAPS III are required. Please inquire the following licenses of our sales staff.
Application | License Type |
---|---|
ORiN2 SDK | DENSO Products or higher |
VRC | VRC kernel or higher |
WINCAPS III | WINCAPS III product version or higher |
To register ORiN2 SDK license, use CaoConfig application. From the Start menu, select [ORiN 2]-[CAO]-[CaoConfig].
License registration for ORiN2 SDK |
---|
To register licenses of VRC and WINCAPS III, use DENSO ROBOTICS License Manager application. From the Start menu, [DENSO ROBOTICS]-[LicenseManager].
License registration for VRC and WINCAPSIII |
---|
-
Change the IP address of the Windows computer so that it can be accessed from the ROS2 computer.
-
To configure a b-CAP server, use bCapConfig application. The bCapConfig application is automatically installed in the following path when ORiN2 SDK is installed:
${ORiN2}\CAO\ProviderLib\b-CAP\bCAPListener\Bin\bCapConfig.exe
Start bCapConfig tool and configure b-CAP server. From the menu bar, select [File]-[Import], and then open the "rc8_bcap_cnf.xml" file. Once the file opens, select [File]-[Save] to save the settings.
b-CAP server configuration |
---|
- To start b-CAP server, from the Menu bar of bCapConfig, select [Action]-[Service Start]. As the b-CAP server stops once the Windows computer shuts down, please restart the b-CAP server after the computer shut down.
b-CAP server start |
---|
-
Create a WINCAPS III project of a controlled robot. If the
denso_robot_ros
package does not include an intended robot type for simulation, import the robot type according to the ROS2Converter page (under construction). -
Start WINCAPS III and then open a robot project to simulate. Once the project opens, from the Menu bar, select [Debug]-[Simulation mode] to change WINCAPS III to the simulation mode.
NOTE: The steps described in this section only apply to RC8, RC8A and COBOTTA controllers !!
(RC9 instructions are under construction)
For controlling a real DENSO robot, the RC8 controller must be configured.
- Change the IP address of the RC8 controller so that it can be accessed from the ROS2 computer.
IP address configuration (RC8 controller) |
---|
- Set the Executable Token to "Any" or "Ethernet" and set the IP address for the Execution Token to the IP address of the ROS2 PC. From the Teach Pendant, select [F6 Setting]-[F5 Communication and Token]-[F1 Executable Token]: select Ethernet as the Executable Token and input the IP address of the ROS2 PC by pressing [F5 Edit]. Please note that both PC and RC8 should be in the same network.
Executable Token configuration (RC8 controller) |
---|
FOLLOWING STEPS ARE ONLY REQUIRED IN CASE THE slaveMode robot control MODALITY IS SELECTED !!
- To control an RC8 controller with MoveIt2, use b-CAP Slave function. To activate the b-CAP Slave function, please check the license of the RC8 from the DENSO WAVE member site (logon required).
DENSO WAVE member site logon |
---|
- Read RC8 serial number from the teach pendant.
Read RC8 controller serial number |
---|
- Check the b-CAP Slave license from the RC8 Free License Confirmation page on the DENSO WAVE member site.
b-CAP Slave license generation |
---|
- Register the license key confirmed in RC8 Free License Confirmation page in the RC8 controller. Reboot the RC8 controller after the license registration.
b-CAP Slave license registration |
---|
-
Create a robot definition file:
denso_robot_ros package
provides URDF models for cobotta and vs060 robots, and associated MoveIt2 configuration packages as standard components. To control other robot types, see the ROS2Converter page (under construction). -
Set speed/acceleration parameters: the URDF models and the associated MoveIt2 configuration packages created by ROS2Converter have dummy speed/acceleration parameters. To specify the actual speed/acceleration parameters, see the AcquireVelAcc page (under construction).
Three different control modalities can be selected for DENSO robots: