Robot Control for bin-picking
Robot control for bin picking works as an integrator of object detection and classification modules or any other system which provides pickable object data. This module is mainly responsible for movement and trajectory creation depending on object position in the container, object class or other information from sensors.
In the selected demonstration example for picking and placing of arbitrary arranged different objects, the robot movement is implemented in the following way – linear path generation for picking up an object respectively to its position and orientation, while avoiding collisions with obstacles in the environment, linear path generation to move the object in classification position to classify what kind of the object has been picked and other features of the object, after that the object is moved to appropriate position(box) depending on classification result.
ROS Melodic on Ubuntu 18.04 PC is used. ROS-I is being used in the module as a high-level controller in conjunction with a low-level controller provided by an industrial robot. Currently, Universal Robot UR5 is supported, but the module can be adjusted for other ROS compatible industrial robots.
Universal_Robots_ROS_Driver and universal_robot ROS packages are used to establish the connection between the Robot Control node and robot low-level controller.
Robot control module architecture
Interface with MoveIt! layer is managed through a move_group_interface package where access to move_group node is realized with C++ API. As MoveIt! works with motion planners through a plugin interface it is possible to choose easily the most appropriate motion planner for corresponding automation task and regarding workspace. Currently, open motion planning library (OMPL) is used.
Inputs and outputs
All the data is transferred via a standard ROS transport system with publish/subscribe and request/response semantics.
This module takes object pose data: position (x, y, z) and orientation in quaternion format (qw, qx, qy, qz) from the object detector module to generate collision-free trajectory for object picking from a bin and placing the object depending on classification result.
Formats and standards
ROS-Industrial, MoveIt!, ROS communication layer.
Institute of Electronics and Computer Science (EDI)