Skip to content

Live robot

Yoshua Nava edited this page Mar 28, 2018 · 6 revisions

Index

Starting the RAPID scripts (IMPORTANT)

Everytime you power on the YuMi, or you close the YuMi ROS nodes running on your PC, you need to run the RAPID scripts again (they are Normal tasks inside the IRC5 controller due to safety reasons).

To do that, press the following physical buttons on the FlexPendant:

  1. Toggle the Motors On on the FlexPendant by pressing the upper-right corner button that has three horizontal lines.

  2. Toggle the Auto mode on the FlexPendant by pressing the upper-right corner button that has two horizontal lines.

  3. Move all the program pointers of the RAPID routines to main(), by pressing the upper-right corner button that has one centered horizontal line.

  4. Press the Play button located in the bottom-right corner.

You should see and hear the grippers performing three movements: a full opening, a full closing, and then opening again up to 10cm. This is the grippers calibration sequence, and it is advisable to wait for it to finish before running the YuMi ROS nodes.

Live nodes

Depending on the type of interface installed on YuMi you have to run a different type of node, specified below.

ABB driver interface

This interface allows position control of the joints by means of a position_controllers/JointTrajectoryController per arm.

roslaunch yumi_support robot_interface.launch

Note: additional to this, the parameters MAX_NUM_JOINTS of industrial_core/simple_message/include/simple_message/joint_data.h must have a value of 10.

RWS interface

Important: Make sure that you have followed the steps described in Network setup

The RWS interface allows ~10Hz position control of the joints. The reactiveness of the robot can be relatively high, so, to move smoothly send a trajectory with a good number of waypoints between start and goal positions.

By default, position_controllers/JointTrajectoryController per arm (1) and position_controllers/JointPositionController per joint (2) can be loaded with our launchfiles.

Trajectory position controllers per arm (1)

roslaunch yumi_launch yumi_traj_pos_control.launch

Individual position controllers per joint (2)

roslaunch yumi_launch yumi_pos_control.launch

Note: additional to this, the parameters MAX_NUM_JOINTS of industrial_core/simple_message/include/simple_message/joint_data.h must have a value of 20.

EGM interface

Important: Make sure that you have followed the steps described in Network setup

The EGM interface allows ~250Hz velocity control of the joints. You can use velocity controllers of any type, including those that translate position references to velocity references, like velocity_controllers/JointPositionController.

By default, a velocity_controllers/JointTrajectoryController per arm (1) and velocity_controllers/JointVelocityController per joint (2) can be loaded with our launchfiles.

Trajectory velocity controllers per arm (1)

roslaunch yumi_launch yumi_traj_vel_control.launch

Individual velocity controllers per joint (2)

roslaunch yumi_launch yumi_vel_control.launch

Note: additional to this, the parameters MAX_NUM_JOINTS of industrial_core/simple_message/include/simple_message/joint_data.h must have a value of 20. This is already done if you clone the OrebroUniversity fork of industrial_core.