Main Content

Hardware Setup for UR Series Cobots

Extension to Hardware

Based on our analysis, we recommend that you use a Linux® Host with MATLAB® and ROS for connecting MATLAB with UR Series of cobots. As mentioned in this page, the recommendation from Universal Robots is to use a Linux host with real-time kernel to get the best performance while controlling cobots using ROS.

When you use ROS installed on a virtual machine to establish a connection with cobot hardware, the additional interface between the physical host computer and virtual machine increases the latency of the bi-directional communication. In some cases, ROS drivers error out because of the unreliable communication between ROS and the hardware. Additionally, in this case, computational resources are shared between physical host computer and a virtual machine, which results in a poor performance while using a virtual machine.


For the complete model based design workflow involving MATLAB simulation, verification with URSim, and connectivity with UR Series hardware, we recommend Linux host with MATLAB and ROS. The URSim can be installed in the virtual machine running on Linux host to avoid any unintentional changes to the Linux host. For more details, see Set Up URSim Offline Simulator.

The hardware setup required for connecting and controlling a physical UR Series cobot from MATLAB computer involves configuration of the Teach Pendant software using an external URCap file. The configuration includes these steps to be performed using the graphical interface of Teach Pendant:

Hardware - Connection Options Between Cobot, MATLAB, and ROS Master PC

To use the UR Robot to execute the bin picking example, the robot needs to be connected to a Host Linux PC, MATLAB can be operated from either Linux or Separate Windows Machine connected to same server,

WorkflowROS MasterMATLABSchematic

Ubuntu® – Linux




Ubuntu – Linux


The robotAddress is the IP address of the robot hardware.

  • In above Workflow(s), Cobot has a separate IP Address,

    • The robotAddress  is the IP address of the UR Cobot

      Example: roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:= <robotAddress>

  • The rosdevice API uses the ROSDeviceAddress where the IP address is from ROS Master.

    Example: rosdevice(ROSDeviceAddress,username,password)


In the above-mentioned workflows for simulation and cobot, workflow-2 using Linux PC is recommended.