Main Content

Get Started

Learn the basics of using simulated cobots from Universal Robots in the Robotics System Toolbox™ Support Package for Manipulators

The Robotics System Toolbox Support Package for Manipulators enables connectivity and control of simulated cobots from Universal Robots in Gazebo and URSim using Universal_Robots_ROS_Driver and universal_robot ROS packages from Universal Robots.

If the intended end goal of your application involves only a standalone manipulation of the cobot from Universal Robots, control and connectivity workflow using the tech pendant and Polyscope software is an ideal solution. However, in majority of the robotics use-cases, the environment consists of multiple robots and sensors, and the standalone manipulation is not common. In such scenarios, ROS is widely used due to inherent advantages of hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and so on.

The support package consists of user friendly setup screens to install and configure ROS, Gazebo and URSim simulators. In addition, it also consists of universalrobot object and associated functions to read various robot states, control the robot in task or joint space, follow predefined trajectories in task or joint space and record the robot motion.

For more information on how to use the universalrobot object, refer to the Getting Started with Connecting and Controlling a Simulated UR5 Cobot from Universal Robots example. The universalrobot object has functions to control individual joint angles and cartesian pose of the robot. More advanced functions demonstrate how to use Robotics System Toolbox features to compute joint angles required to track a smooth trajectory in 3D space and command the robot to track the pre-computed trajectory.


universalrobotConnection to ROS master connected to a simulated cobot from Universal Robots
getJointConfigurationGet current joint configuration from the robot
getCartesianPoseGet current end-effector pose from the robot
getEndEffectorVelocityGet current end-effector velocities from the robot
getJointVelocityGet current joint velocities from the robot
getMotionStatusGet current motion status of the robot
followTrajectoryCommand robot to move along the desired joint space waypoints
followWaypointsCommand robot to move along the desired task space waypoints
sendCartesianPoseCommand robot to move to desired Cartesian pose
sendCartesianPoseAndWaitCommand robot to move to desired Cartesian pose and wait for the motion to complete
sendJointConfigurationCommand robot to move to desired joint configuration
sendJointConfigurationAndWaitCommand robot to move to joint configuration and wait for the motion to complete
recordRobotStateLog the key robot state parameters during motion of robot




Troubleshoot issues when simulating Universal Robots cobots using URSim or Gazebo