Setting Up ROS - ethz-asl/yumi GitHub Wiki
Setting up ROS for YuMi Interface
Below describes the steps of how to connect to YuMi through ROS along with a description of some of the basic functionality that this repo priovides.
Sections
- Loading an Existing vs Simulated YuMi into ROS
- Working With Only a Simulated YuMi
- Before Connecting to YuMi from ROS
- Starting YiMi State/Motion Servers and Motion Tasks in ROS
- Loading YuMi into ROS
- Functionality of YuMi in RViz
Existing vs Simulated YuMi Into ROS
Talk about topics
Working With Only a Simulated YuMi
If the user would like to only work with YuMi in simulation and not on an existing YuMi, the following command will bring a simulated YuMi into ROS.
yumi_demo rviz two_grippers
If you are not using two grippers on YuMi, then replace two_grippers with the appropriate command. For more information on appropriate commands, please refer to the YuMi quick commands page.
All of the functionality of working with an existing YuMi described in the wiki pages can also be used for only a simulated YuMi, but instead of interacting with an existing YuMi, the only simulated YuMi will be manipulated.
Before Connecting to YuMi from ROS
Before interfacing YuMi with ROS, ensure that YuMi has been setup properly as described in the Setting Up YuMi wiki page.
Once all tasks have been executed and are waiting for a connection, then the state and motions servers can be executed from ROS as described in the next section. The way to check if all the server tasks are waiting for a connection, the TouchPendant should have the text shown below four times (once for each server task).
Waiting for connection.
For Running the Lead Through Script
The lead through script only requires the state servers to be running as described in the lead through script wiki page. Since the state servers are semi-static (runs as a background task), then these should be executed automatically when YuMi has been turned on and the YuMi OS has been loaded unless one of the state servers has run into an error.
To check if the state servers are running properly, then click the quick access menu button on the bottom right of the TouchPendant screen, click the bottom button (large hollow circle connected to three smaller solid circles) to pull up the active tasks list. If the status of both state servers is Go, then the state servers are running properly for interfacing with the lead through script.
Starting YuMi State/Motion Servers and Motion Tasks in ROS
To start the state and motion servers in ROS, execute the following command if using YuMi quick commands:
yumi_server two_grippers
If you are not using two grippers, then replace two_grippers with the appropriate command. For more information on appropriate commands, please refer to the YuMi quick commands page.
If you are not using YuMi quick commands, please find the equivalent command on the YuMi quick commands page.
Check the TouchPendant to ensure that a connection was made with all four servers (state and motion server for each arm). To check this, the text below should be displayed four times on the screen of the TouchPendant. If the text below is not displayed four times, then exit the yumi server node (ctrl + c) and execute the yumi_server command again. Repeat this process until the text below is displayed four times indicating all four servers have been connected with the servers in ROS.
Client at 192.168.125.20
The IP address shown above will be different depending on the IP address of the computer that is connecting with YuMi.
For Running the Lead Through Script
To start only the state servers in ROS, execute the following command if using YuMi quick commands:
yumi_server two_grippers state_servers_only
If you are not using two grippers, then replace two_grippers with the appropriate command. For more information on appropriate commands, please refer to the YuMi quick commands page.
If you are not using YuMi quick commands, please find the equivalent command on the YuMi quick commands page.
Check the TouchPendant to ensure that a connection was made with the two state servers. To check this, the text below should be displayed twice on the screen of the TouchPendant. If the text below is not displayed twice, then exit the yumi server node (ctrl + c) and execute the yumi_server command again shown above. Repeat this process until the text below is displayed twice indicating the two state servers have been connected with the state servers in ROS.
Client at 192.168.125.20
The IP address shown above will be different depending on the IP address of the computer that is connecting with YuMi.
Loading YuMi into ROS
Once all of the above operations have been performed successfully, then the following command can be executed to load YuMi into ROS while displaying YuMi in RViz:
yumi rviz two_grippers
If you are not using two grippers, then replace two_grippers with the appropriate command. For more information on appropriate commands, please refer to the YuMi quick commands page.
If you are not using YuMi quick commands, please find the equivalent command on the YuMi quick commands page.
YuMi should be displayed in RViz with the current position of the existing YuMi. If the YuMi arms are moved, then the arms of YuMi will also be moved in RViz to the respective new position.
Functionality of YuMi in RViz
Last Updated: September 8th, 2016
Planning Groups
YuMi can manipulated in RViz using its left arm, right arm, or both arms (simultaneous motion). Functionality for the grippers is currently being developed and will be added to RViz once they are finished. To change the current planning group, click the planning group drop down arrow (location below) and choose the desired planning group.
Motion Planning > Planning Request > Planning Group
Group States
The group states of the "Calc", "Home", and "Ready" poses that ABB provides with YuMi and the YuMi Windows 10 app have been put into the YuMi SRDF. To move the robot to either of these positions in RViz, set the goal position to the desired pose (location below), click update, and click "Plan and Execute". This will move the robot to the desired group state pose. Additional group states can be added manually by inputting a set of new group states in the YuMi SRDF file. Please refer to the ROS SRDF page for any questions regarding how to modify the SRDF file.
Planning Tab > Select Goal State > click the drop down menu
Workspace
The workspace around YuMi (table and support) is the current setup of YuMi at ETH Zurich. The workspace elements can be removed or modified from the YuMi URDF file. Please refer to the ROS URDF page for any questions regarding how to modify the URDF file.
Resources
To understand how to use RViz and do path planning with a manipulator, please refer to the ROS Tutorial
Interface Scripts
A variety of scripts have been made to interface with YuMi through the MoveIt! software. Each of these scripts have their own documentation page, and their links can be found at the home page of the YuMi wiki.