Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

Setting Up YuMi in RobotStudio

Frederick Wachter edited this page Sep 9, 2016 · 4 revisions

YuMi ROS Integration in RobotStudio

The process of setting up the YuMi controller to be able to communicate in ROS is described below.

Sections

Before Setting Up the Controller

Question: How to download RobotWare for grippers?

Using an Existing System Backup File

A set of backups of the YuMi system are included in this repo. This file allows you skip the steps shown below and continue with setting up YuMi to communicate with ROS as described in the Setting Up YuMi wiki page and connecting ROS with YuMi as described in the Setting Up ROS wiki page. It is recommended to at least understand the process of setting up the YuMi controller in case an issues arise. The system backups should work with all YuMi robots as long as YuMi has been loaded with the proper firmware as described below in the section Updating YuMi Software and Firmware.

The backups included in the repo are listed below along with descriptions.

Two Grippers

This backup is meant for a YuMi that has a gripper attached to each arm. YuMi is set up to wait for trajectories to be sent, construct a full trajectory, then send the full trajectory to the motion task to be executed. The speed of the arms is determined by the time_from_start variable provided in the published joint trajectory. Since the full trajectoy is first constructed then sent to the motion task to be executed, there can be up to a few second delay between sending a trajectory and executing the trajectory.

Two Grippers Real Time

This backup is meant for a YuMi that has a gripper atached to each arm. YuMi is setup up to receive a trajectory point, immediately allow for the motion task to pull the trajectory point and execute the motion as quick as possible. This cycle is repeated as new trajectory points ar received. Unlike the previous system backup, the full trajectory is not costructed before the motion task is allowed to execute the trajectory. This gives a seemingly real-time motion on YuMi as long as each trajectory point is not far from the original position of the arms (3-10mm change is stable). If the trajectory points are far away from the original position of the arms, then a delay will begin to occur since YuMi needs time to finish a trajector before executing a new one.

Only Right Gripper

This backup is meant for a YuMi that has only on gripper which is attached to the right arm. Because of this, YuMi is expecting to only receive a gripper value for the right arm and not the left. YuMi is set up to wait for trajectories to be sent, construct a full trajectory, then send the full trajectory to the motion task to be executed. The speed of the arms is determined by the time_from_start variable provided in the published joint trajectory. Since the full trajectoy is first constructed then sent to the motion task to be executed, there can be up to a few second delay between sending a trajectory and executing the trajectory.

Loading Backup System File Below are details on how to setup the YuMi controller using the system backup folder located here. If you are not loading a system backup file but instead would like to confiure YuMi yourself, please skip to the next section and follow the instructions.

  1. Turn on YuMi and wait for the home screen to come up on the FlexPendant
  2. Connect YuMi to your computer using an Ethernet cable from the XP23 Service Port
  3. Open RobotStudio 6.0 or newer
  4. Click Online, then click Add Controller
  5. In the "Remote Controller" box, type: 192.168.125.1
  6. Click Add, controller should appear above
  7. Click the controller, then click OK
  8. Request Write Access from YuMi (more information below)
  9. Click the Grant button in the popup window on the FlexPendant screen
  10. Click the Backup drop down menu, then click Restore Backup... (more information below)
  11. Click the "..." button on the right side of the window then Browse Files System...
  12. Click the folder of the system backup file then click Select Folder (more information below)
  13. Click OK and YuMi will restart its system with configurations from backup folder

Part 8 - Controller Tab > Access Group > Request Write Access
Part 10 - Controller Tab > Controller Tools > Backup Dropdown Menu > Restore Backup...
Part 12 - <path_to_yumi_repo>/yumi_support/system/backups/YuMi_Backup_Standard

Back to top

Updating YuMi Software and Firmware

To make sure the steps below will work properly, you need to check that the most up to date software has been loaded onto YuMi and the Smart Gripper package has been added as well. The steps to check this is listed below.

  1. Turn on YuMi and wait for the home screen to come up on the FlexPendant
  2. Connect YuMi to your computer using an Ethernet cable from the XP23 Service Port
  3. Open RobotStudio 6.0 or newer
  4. Click Online, then click Add Controller
  5. In the "Remote Controller" box, type: 192.168.125.1
  6. Click Add, controller should appear above
  7. Click the controller, then click OK
  8. Request Write Access from YuMi (more information below)
  9. Click the Grant button in the popup window on the FlexPendant screen

Part 8 - Controller Tab > Access Group > Request Write Access

Now your computer running RobotStudio now has access to the YuMi controller. First you will need to check which software version is installed and install the Smart Gripper add-on package if you have not done so yet. To do this, do the following.

  1. Go to the _Add-In_s tab found at the top of the RobotStudio window
  2. Click the RobotWare button if it is not currently displaying
  3. Check which version is installed and make sure it is the newest version *
  4. Then click the RobotWare Add-Ins button and find the SmartGripper package
  5. If the SmartGripper package is not installed, then install it
  6. Go to the Controller tab
  7. Click the Installation Manager button in the Configuration button group
  8. In the new window, make sure the Network tab is active and double click controller in the list
  9. Click next on the bottom right of the window
  10. The RobotWare and SmartGripper need to be added in this window
  11. To add the packages, click Add... and add both the RobotWare and SmartGripper packages
  12. Once this is done, all the neccessary packages have been installed then click Next
  13. A license should be dispalyed in the current window, click Next again
  14. The following controller options need to be enabled:
  • PC Interface (616-1) found at: System Options > Communication > PC Interface
  • Multitasking (623-1) found at: System Options > Engineering Tools > Multitasking **
  1. Once this is done, click Next then Apply

* Part 3 - This repo was made based on the RobotWare version 6.03.02
** Part 14b - This option should be enabled by default since YuMi has two arms that collaborate

YuMi should now have the required software, packages, and controller settings neccessary to communicate with an external computer.

More Resources on Understanding ABB-ROS Interface

The setup of the YuMi ROS interface was made very similar to the existing ABB ROS interfaces made by ROS industrial. The documetation wiki for their setup can be found on the ROS website.

Back to top

Connecting to the YuMi Controller

Below are instructions to setup the YuMi controller in RobotStudio to allow YuMi to be able to communicate with ROS.

  1. Turn on YuMi and wait for the home screen to come up on the FlexPendant
  2. Connect YuMi to your computer using an Ethernet cable from the XP23 Service Port
  3. Open RobotStudio 6.0 or newer
  4. Click Online, then click Add Controller
  5. In the "Remote Controller" box, type: 192.168.125.1
  6. Click Add, controller should appear above
  7. Click the controller, then click OK

You are now connected to the YuMi controller.

Back to top

Transfer ROS Modules to Controller

Below are instructions on how to move the ROS modules in this YuMi repo to the robot controller. The ROS module files can be found here.

  1. Open up File Transfer (more information below)
  • The right side shows the files on YuMi, the left side shows the RobotStudio folder in Documents on your computer
  1. On the YuMi files side (right side), create a folder called ROS and go into that folder (more information below)
  2. On the PC Explorer side (left side), navigate to the ROS module files that are included in this repo
  3. Highlight all of the ROS modules and system files, then click the right arrow button in the middle

Part 1 - Controller Tab > Controller Tools Group > File Transfer Part 2 - Right click > New Folder

All the ROS module and system files should now be in a folder called ROS in the Home directory of the YuMi controller.

NOTE: To make sure that the PC Explorer side of the window (left side) is up to date with anyrecent changes made to the files that will be uploaded to YuMi, click the refresh button located on the top of the PC Explorer box.

Back to top

Setup YuMi Controller

Below are the instructions for adding the ROS modules in this YuMi repo to the robot controller's configuration.

Note: You will need write access to YuMi from RobotStudio in order to do the steps below. To get write access, on the Controller tab in RobotStudio click Request Write Access located in the Access button group. On the FlexPendant, a window will appear saying that a user is requesting right access. Click the Grant button in the pop window on the FlexPendant screen and then you will be able to do the steps below.

  1. Open up the Configuration Editor on the Controller tab (more information below)
  2. Click "Task" on the left panel of the Configuration Editor Screen
  3. Right click in the task window and choose "New Task..."
  4. Add the first task in the Tasks table below, leave unnamed inputs blank
  5. Click Ok and repeat until all tasks are finished
  6. Click "Automatic Loading of Modules" from the left panel of the screen
  7. Right click in the modules window and choose "New Automatic loading of modules..."
  8. Add the first module in the Modules table below, leave unnamed inputs blank
  9. Click Ok and repeat until all modules are finished
  10. Ensure all tasks and modules have been inputted correctly
  11. P-Start the controller to put changes into effect (more information below)

Part 1 - Controller Tab > Configuration Group > Configuration Editor Dropdown > Controller
Part 11 - Controller Tab > Controller Tools Group > Restart Dropdown > Reset RAPID (P-Start)

Note: If you are using an existing YuMi, the controller will reset and you will need to wait until the FlexPendant is back to the home screen

Tasks

Keep all unnamed inputs in the table above as the default value

All the additional tasks are added as semistatic. This means these tasks are meant to run in the backgroun and are not supposed to be stopped or restarted during normal operation of YuMi.

Task TYPE Trust Level Use Mechanical Unit Group
ROS_MotionServer_Left SEMISTATIC SysStop rob_l
ROS_MotionServer_Right SEMISTATIC SysStop rob_r
ROS_StateServer_Left SEMISTATIC No Safety rob_l
ROS_StateServer_Right SEMISTATIC No Safety rob_r

Modules

Keep all unnamed inputs in the table above as the default value

NOTE: If any changes are made the RAPID modules after these modules and tasks have been loaded to the controller, these changes will be overwritten each time YuMi is turned on then off. This is because changes made to the RAPID modules in RobotStudio does not also change the files located in memory. Due to this, adding the automatic loading of modules will overwrite whatever files are located in their assigned tasks when YuMi is started up.

There are three options for loading modules depending if you are using two grippers, two grippers with the real time scripts, or a gripper only on the right arm as described in the Using Existing System Backup File section above.

Two Grippers

File Task All Tasks
HOME:/ROS/ROS_motionServer_left_gripper.mod ROS_MotionServer_Left
HOME:/ROS/ROS_motionServer_right_gripper.mod ROS_MotionServer_Right
HOME:/ROS/ROS_stateServer_left_gripper.mod ROS_StateServer_Left
HOME:/ROS/ROS_stateServer_right_gripper.mod ROS_StateServer_Right
HOME:/ROS/ROS_motion_left_gripper.mod ROB_L
HOME:/ROS/ROS_motion_right_gripper.mod ROB_R
HOME:/ROS/HandDriver_left.sys ROB_L
HOME:/ROS/HandDriver_right.sys ROB_R
HOME:/ROS/ROS_common.sys Yes
HOME:/ROS/ROS_messages.sys Yes
HOME:/ROS/ROS_socket.sys Yes

Two Grippers Real Time

File Task All Tasks
HOME:/ROS/ROS_motionServer_left_gripper_real_time.mod ROS_MotionServer_Left
HOME:/ROS/ROS_motionServer_right_gripper_real_time.mod ROS_MotionServer_Right
HOME:/ROS/ROS_stateServer_left_gripper.mod ROS_StateServer_Left
HOME:/ROS/ROS_stateServer_right_gripper.mod ROS_StateServer_Right
HOME:/ROS/ROS_motion_left_gripper_real_time.mod ROB_L
HOME:/ROS/ROS_motion_right_gripper_real_time.mod ROB_R
HOME:/ROS/HandDriver_left.sys ROB_L
HOME:/ROS/HandDriver_right.sys ROB_R
HOME:/ROS/ROS_common.sys Yes
HOME:/ROS/ROS_messages.sys Yes
HOME:/ROS/ROS_socket.sys Yes

Only Right Gripper

File Task All Tasks
HOME:/ROS/ROS_motionServer_left.mod ROS_MotionServer_Left
HOME:/ROS/ROS_motionServer_right_gripper.mod ROS_MotionServer_Right
HOME:/ROS/ROS_stateServer_left.mod ROS_StateServer_Left
HOME:/ROS/ROS_stateServer_right_gripper.mod ROS_StateServer_Right
HOME:/ROS/ROS_motion_left.mod ROB_L
HOME:/ROS/ROS_motion_right_gripper.mod ROB_R
HOME:/ROS/HandDriver_right.sys ROB_R
HOME:/ROS/ROS_common.sys Yes
HOME:/ROS/ROS_messages.sys Yes
HOME:/ROS/ROS_socket.sys Yes

Back to top

Other Relevant Information Regarding YuMi

Enabling Motors Occasionlly when YuMi is started up, the motors will be set to an off state. To turn the motors on, click the quick access menu button located at the bottom left of the TouchPendant screen. This will open a sidebar on the right of the screen. Click the top-most button (looks likean outlined YuMi) to pull up the Operator Panel. Under the text Motor On/Off, click the on On button to turn the motors on. From this menu, the operator modecan be changed between automatic and manual mode as described in the section below.

Manual vs Automatic Mode
By default, YuMi is set in Manual mode. In manual mode, the controller limits the max speed of arm movements to 250 millimeters per second (mm/s). Automatic mode allows YuMi to move up to 2 meters per second (m/s). Manual mode should be used for testing code to make sure the paths do not cause any collisions with external objects and to make sure that YuMi moves in the way you expect it to. After the code has been tested, Automatic mode can be used if higher speeds are required for the desired task.

Common Errors on the FlexPendant
Below is a common error that appears on the FlexPendant. This is a common issue with YuMi robots that may come up when turning on or retting the controller. This is normal, in most cases this error doesn't affect the robot. Be sure to acknowledge the message each time it appears.

When YuMi first attempts to communicate with the grippers, the connections gets dropped. YuMi quickly re-establishes this connections which is why this error doesn't affect the robot in most cases.

Event Message 71367
No communication with I/O device

Description
During Start-up no communication was established ...
...

Comments on Creating and Restoring from Backups

Whenever major changes are going to be done to the YuMi system (adding/deleting large amounts of code, changing system configurations, etc), be sure to create a system backup before going ahead and making the modifications. It is advised to create a system backup after setting up the controller using the instructions above. Instructions for creating and restoring from system backups is shown below.

Creating a System Backup

  1. Request Write Access from YuMi (more information below)
  2. Click the Grant button in the popup window on the FlexPendant screen
  3. Click the Backup drop down menu, then click Create Backup... (more information below)
  4. Optional Change the name of the backup file and ensure the file is in the desired directory
  5. Click OK and the system backup will be created

Part 1 - Controller Tab > Access Group > Request Write Access
Part 3 - Controller Tab > Controller Tools > Backup Dropdown Menu > Create Backup...

Restoring from a System Backup

  1. Request Write Access from YuMi (more information below)
  2. Click the Grant button in the popup window on the FlexPendant screen
  3. Click the Backup drop down menu, then click Restore Backup... (more information below)
  4. Click the "..." button on the right side of the window then Browse Files System...
  5. Click the folder of the system backup file then click Select Folder
  6. Click OK and YuMi will restart its system with configurations from backup folder

Part 1 - Controller Tab > Access Group > Request Write Access
Part 3 - Controller Tab > Controller Tools > Backup Dropdown Menu > Restore Backup...

Back to top

Moving Forward

After the steps above have been completed and YuMi has been reset using P-Start, then YuMi has all the files and configurations to receive ROS trajectories. YuMi will retain these configurations even after being turned off and back on.

The following two wiki pages describes the final steps neccessary to connect YuMi with ROS now that is has been configured properly. Follow the instructions listed on these pages in the order given below.

  1. Setting up YuMi
  2. Setting up ROS

Back to top