ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

The communication between the robot and ROS is via Ethernet

When the ROS node connects to the UR5 (and UR10), it uploads a script in written in URScript (very similar to Python). This script parses the commands sent from the ROS node to the robot. The commands are affair byte encoded using a protocol made for that particular driver. No ROS messages are sent from the computer to the robot, and the robot does not run ROS. Using this package (as opposed to the C-API version) thus does not require installation of anything on the robot.

The driver does not detect if anything is hit during execution. The streaming of position is completely open loop, so the driver does not know if the goal has actually been reached. The program running on the UR handles collisions the same way as if you were moving the arm without ROS (i.e. emergency stop, and need for re-initialization of the joints)

The communication between the robot and ROS is via Ethernet

When the ROS node connects to the UR5 (and UR10), it uploads a script in written in URScript (very similar to Python). This script parses the commands sent from the ROS node to the robot. robot, as well as transmitting the robot's joints status back to the ROS node. The commands are affair afair byte encoded using a protocol made for that particular driver. No ROS messages are sent from the computer to the robot, and the robot does not run ROS. Using this package (as opposed to the C-API version) thus does not require installation of anything on the robot.

The driver does not detect if anything is hit during execution. The streaming of position is completely open loop, so the driver does not know if the goal has actually been reached. The program running on the UR handles collisions the same way as if you were moving the arm without ROS (i.e. emergency stop, and need for re-initialization of the joints)