The DENSO robot ROS 2 stack contains libraries, configuration files, and ROS2 nodes for controlling a DENSO robot from ROS2 (MoveIt 2 and Gazebo simulator).
The DENSO robot ROS 2 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 ROS 2 stack provides URDF models for COBOTTA and VS-060 robotic arms and associated MoveIt 2 configuration packages (as standard components). To control other robot types, see the ROS 2Converter page (under construction) for creating the URDF model and the associated MoveIt 2 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
- ROS 2 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
- ROS 2 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
- MoveIt 2 configuration files for specific DENSO robot models (SRDF, controller types, etc.)denso_robot_moveit_demo
- ROS 2 node for moving a robot (both simulated and real) using the MoveIt 2 motion planner (8 fixed positions, according to the robot model)
Startup package:
denso_robot_bringup
- main launch files and configuration settings
-
Install ROS 2 Humble
-
Make sure that
colcon
, its extensions andvcs
are installed:sudo apt install python3-colcon-common-extensions python3-vcstool
-
Create a new ROS 2 workspace:
export COLCON_WS=~/workspace/denso_ros2_ws mkdir -p $COLCON_WS/src
-
Pull
denso_robot_ros2
packages:cd $COLCON_WS git clone <denso_robot_drivers_ros2_repo> src/denso_robot_drivers_ros2 vcs import src --skip-existing --input src/denso_robot_drivers_ros2/denso_robot_drivers_ros2.repos
-
To use MoveIt 2, 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 ROS 2 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 ROS 2 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 ROS 2Converter 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 ROS 2 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 ROS 2 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 ROS 2 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 MoveIt 2, 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 MoveIt 2 configuration packages as standard components. To control other robot types, see the ROS 2Converter page (under construction). -
Set speed/acceleration parameters: the URDF models and the associated MoveIt 2 configuration packages created by ROS 2Converter 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:
- Connection to DENSO RC9 controllers
- ROS 2Converter and AcquireVelAcc tools for creating robot URDF desciption files and MoveIt 2 configuration files from Wincaps III software
- Support for multiple robotic arms control in slaveMode robot control