Main Content

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.

  1. 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).

  2. 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.

  3. Once the object creation is successful, you can use associated functions to connect with the manipulator.

  4. 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.