Control ROS Enabled End-Effector Using MATLAB
universalrobot 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 / 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
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
universalrobot 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 (
Once the individual ROS drivers are connected with the manipulator and end-effector respectively, you can create
universalrobotobject. This will internally start a ROS node,
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 will initiate a
matlab_global_node_XXXXXand you will be able to access ROS topics, services and actions associated with the end-effector from MATLAB.