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:
The images shown in this workflow are wireframes that help you to identify the options in the PolyScope graphical interface of the Teach Pendant. The actual color and icons may vary.
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,
Ubuntu – Linux
Ubuntu – Linux
The robotAddress is the IP address of the robot hardware.
In above Workflow(s), Cobot has a separate IP Address,
robotAddressis the IP address of the UR Cobot
roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:= <robotAddress>
rosdeviceAPI uses the
ROSDeviceAddresswhere the IP address is from ROS Master.
In the above-mentioned workflows for simulation and cobot, workflow-2 using Linux PC is recommended.