Robot Movement Interface overview¶
The Robot Movement Interface is a standardized way in drag&bot for communicating with industrial robots and therefore controlling them. The RMI provides a ROS interface based on topics, services and actions which is used to transform human friendly commands to robot-specific commands, as well as to access robot functionalities such as for example blending or force controlled commands without requiring a parallel independent or specific interface.
All robot drivers compatible with drag&bot must reproduce the topic and service definitions. A ROS Action is automatically constructed on top through a program called actionizer. This program can be found together with the RMI definition.
Some driver components templates are available as C++ and Python examples in dnb_ros_driver_templates repository
In the following example you can see a sequence diagram how a 3rd party client can communicate with the drag&bot robot_movement_interface. Currently the interface is implemented by using the ROS (https://www.ros.org) middleware. This interface is reachable by using the ROS-Bridge with the WebSocket protocol.
More detailed information on the specific topics, services and messages can be found in the following chapters.