Get Started
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.
Functions
universalrobot | Connection to ROS master connected to a simulated cobot from Universal Robots |
getJointConfiguration | Get current joint configuration from the robot |
getCartesianPose | Get current end-effector pose from the robot |
getEndEffectorVelocity | Get current end-effector velocities from the robot |
getJointVelocity | Get current joint velocities from the robot |
getMotionStatus | Get current motion status of the robot |
followTrajectory | Command robot to move along the desired joint space waypoints |
followWaypoints | Command robot to move along the desired task space waypoints |
sendCartesianPose | Command robot to move to desired Cartesian pose |
sendCartesianPoseAndWait | Command robot to move to desired Cartesian pose and wait for the motion to complete |
sendJointConfiguration | Command robot to move to desired joint configuration |
sendJointConfigurationAndWait | Command robot to move to joint configuration and wait for the motion to complete |
recordRobotState | Log the key robot state parameters during motion of robot |
Topics
- Select Simulator for Universal Robots
Select URSim or Gazebo
- ROS Interface for Universal Robots
Use ROS interface for complex applications with Universal Robots
- Launch and Setup URSim
Launch and load the program in URSim
- Control ROS Enabled End-effector Using MATLAB
Use ROS drivers along with end-effectors for Universal Robots
- Execute a Regular PolyScope Program with Other Nodes and URCaps along with External Control
Add PolyScope program nodes and URCap nodes for hybrid control
Troubleshooting
Troubleshoot issues when simulating Universal Robots cobots using URSim or Gazebo