3.2. Robots in ROS

Note

The following examples use the ROS backend and the MoveI! planner for UR5 robots. Before running them, please make sure you have the ROS backend correctly configured and the UR5 Demo started.

Once ROS is running and MoveIt! planner has started with a robot, we can start interacting with the robot model. There are two basic ways to work with a robot model that is loaded in ROS.

3.2.1. Load model from ROS

This is the easiest and preferable way to load a robot model: request the full model to be loaded from ROS.

from compas_fab.backends import RosClient

with RosClient() as client:
    robot = client.load_robot()
    robot.info()

    assert robot.name == 'ur5'

3.2.2. Load model from URDF

Alternatively, the URDF model can be loaded from URDF files (stored locally or remotely):

from compas.robots import RobotModel

import compas_fab
from compas_fab.backends import RosClient
from compas_fab.robots import Robot

with RosClient() as client:
    urdf = compas_fab.get('universal_robot/ur_description/urdf/ur5.urdf')
    model = RobotModel.from_urdf_file(urdf)
    robot = Robot(model, client=client)

    robot.info()

    assert robot.name == 'ur5'