Control ROS Enabled End-Effector Using MATLAB
The urROSNode
object and associated functions help you to connect
with and control simulated cobot from Universal Robots using ROS interface. However,
majority of the robot manipulators are equipped with various third-party end-effectors
to achieve intended task. The end-effectors can be active or passive sensor systems,
various grippers or material dispensing systems. You can use MATLAB® along with ROS Toolbox to control such end-effectors if they have ROS interface drivers
available.
The above figure represents a connection diagram for a system of robot manipulator mounted with end-effector. Specifically for Universal Robots, the connection can vary because the E-series robots provide a tool communication interface that eliminates the need of separate physical connection between the end-effector and the host with ROS.
Once the hardware connection is established, you can use the ROS drivers from Universal
Robots along with urROSNode
object and associated functions to control
the manipulator. In addition, you can leverage ROS drivers from the maker of the
end-effector to interface with the end-effector.
The following diagram shows a typical ROS node structure of the combined system.
After establishing the hardware connection, you can initiate nodes related to Universal Robots manipulator, that is,
ur_hardware_interface
, and related to end-effector (end_effector_interface
).Once the individual ROS drivers are connected with the manipulator and end-effector respectively, you can create
urROSNode
object. This will internally start a ROS node,matlab_urROSNode_XXXXX
.Once the object creation is successful, you can use associated functions to connect with the manipulator.
Furthermore, you can use rosinit to connect with the ROS master running on the Linux host that is connected with manipulator and end-effector. This initiates
matlab_global_node_XXXXX
and you will be able to access ROS topics, services and actions associated with the end-effector from MATLAB.