Skip to content

MoveIt!

Lin Zhang edited this page Jan 12, 2018 · 4 revisions

IMPORTANT - YuMi Controllers

MoveIt! can take a lot of time to communicate with the action servers of all the possible YuMi joints controllers that we have set up. To decrease the loading time, a good strategy is to search only for the appropriate action servers, related to the control strategy that you want to employ on your robot.

If you want to use controllers that are not velocity_controllers/JointTrajectoryController (the type we use the most with MoveIt!), you will need to uncomment some blocks of code in the file yumi_moveit_config/config/controllers.yaml, and comment all the others.

The following table describes which blocks you should leave uncommented depending on the type of control interface you want to use:

Control interface Uncomment (block name)
ABB driver left_arm, right_arm
RWS yumi/joint_traj_pos_controller_l, yumi/joint_traj_pos_controller_r
EGM yumi/joint_traj_vel_controller_l, yumi/joint_traj_vel_controller_r

MoveGroups

YuMi can be manipulated using its left arm, right arm, or both arms (simultaneous motion) move groups.

Motion Planning user interface in Rviz

To run the MoveIt! server for YuMi, first set up either the Gazebo simulator, or the connection to the real robot. (See Live robot and simulator)

roslaunch yumi_moveit_config demo_online.launch

To change the current planning group, open the planning request sub-menu, then click on planning group drop down arrow, and choose the desired planning group.

Python interface

For a thorough example that describes how to use the MoveIt! Python interface, check the ROS package yumi_moveit_demos


Changes in the URDF

If you need to make any changes to the YuMi URDF, then you will need to update the MoveIt! configuration files accordingly.

The first thing you will need to do is to update the pre-built URDF file that is saved inside the yumi_description sub-folders:

cd $YUMI_WS/src/yumi/yumi_description/urdf/
rosrun xacro xacro yumi.urdf.xacro arms_interface:=VelocityJointInterface grippers_interface:=EffortJoinInterface yumi_setup:=default -o yumi.urdf

Then, you will need to run the MoveIt! Setup Assistant, and modify accordingly the YuMi config through the wizard:

roslaunch yumi_moveit_config setup_assistant.launch

Note: do not overwrite the files yumi_moveit_controller_manager.launch.xml and trajectory_execution.launch.xml. They are already set up for best performance with YuMi.