Team up for further success

Robotnik and ATOS have create D-Robot that can robustly and accurately destack and stack crates filled with insects, WITHOUT crashing them. They have achieved this by using the 3D simulator (Gazebo), interface for the robot (ROS), and open source tool for planning the robots’ trajectory paths (Movelt) within the modelled environment. Furthermore, a server (OPC-UA server) was developed for updating the status of the D-Robot’s movements, execution of commands and determination whether the actions have succeeded or failed. Moreover, the server connects to the CoRoSect Informatino Management System (IMS), and serves as a bridge between the IMS and ROS.

Gazebo Simulation and Movelt Modelled Environment

The integration between D-Robot and the IMS carried out in the pre-pilot by Robotnik and ATOS. During the pre-pilot, Robotnik, next to ATOS were able to test the interaction between the Information Management System (IMS) and the D-Robot. The main objective was to receive a command through the IMS for the D-Robot to execute, as well as to send back to the IMS, the status of the D-Robot.

From Robotnik’s side, for the pre-pilot (as the D-Robot was not available) a D-Robot simulation using Gazebo was prepared, which mimics the real behavior of the selected KUKA arm. The software (manipulation application and controller) used to move the robot in the simulation is the same, as the one to be implemented in the real D-Robot. For the CoRoSect project, Robotnik has developed a manipulation application based on ROS and MoveIt that enables the robot to robustly and accurately destack and stack crates filled with insects. MoveIt is an Open Source tool that allows robot trajectory path planning taking into account the modelled robot environment, which is used for collision avoidance. The modelled environment can also be modified dynamically, so the robot can interact with the modelled environment. This modelled environment is used to move crates around without collision. MoveIt also allows defining custom movement constraints to enable planning trajectories that follow a desired behavior. In addition, orientation constraints can be added to avoid the robot from tilting the crates while transporting them. Furthermore, Robotnik developed an OPC-UA server which connects to the CoRoSect IMS. The D-Robot OPC-UA server exposes to the IMS the different command actions available in the D-Robot, it also updates the status of the D-Robot dynamically (whether it is moving, executing commands, or if the commanded actions have succeeded or failed). The D-Robot OPC-UA server is a bridge between the IMS and our software developed using ROS, where ROS actions and services are used to command the robot.

At the pre-pilot in Entomotech, Robotnik and ATOS successfully tested the connection between the IMS and the D-Robot through the OPC-UA server. Below is a diagram of the connection pipeline that was tested.

Diagram of the Connection Pipeline

The CoRoSect IMS (Information Management System) manages Digital Twins (DT) for each of the Shop Floor integrated components, including the D-Robot. The command flow through the IMS is implemented using a customized asynchronous PUB/SUB mechanism. In order to trigger the command, the first step is to modify the D-Robot DT, which maps the D-Robot commands within the system. In that sense, a post request is sent to the Context Broker (CB) with the command and the value to be executed by D-Robot. This command information is automatically addressed to the D-Robot OPC-UA Connector which maps the command request from the SFM to the D-Robot OPC-UA server to be executed. The D-Robot OPC-UA server receives the command and executes the required ROS action and services needed to operate the D-Robot to carry out the required task. As the D-Robot executes the task the D-Robot OPC-UA server dynamically updates the status of the D-robot. The D-Robot response and/or the commands results are, in turn, written in the D-Robot corresponding DT attribute by its OPC Server/Connector, and then redirected by the IMS to the SFM or to any other interested system.