-
Notifications
You must be signed in to change notification settings - Fork 37
Firmware
- Updating YuMi Software and Firmware
-
Manual firmware setup
- How to add tasks to the YuMi controller
- How to add modules to tasks
-
Movement interfaces
- Externally Guided Motion (EGM)
- Robot Web Services (RWS)
- ABB Driver
- Other Relevant Information
- Credits
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.
- Turn on YuMi and wait for the home screen to come up on the FlexPendant
- Connect YuMi to your computer using an Ethernet cable from the XP23 Service Port
- Open RobotStudio 6.0 or newer
- Click Online, then click Add Controller
- In the "Remote Controller" box, type: 192.168.125.1
- Click Add, controller should appear above
- Click the controller, then click OK
- Request Write Access from YuMi (more information below)
- 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 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.
- Go to the _Add-In_s tab found at the top of the RobotStudio window
- Click the RobotWare button if it is not currently displaying
- Check which version is installed and make sure it is the newest version *
- Then click the RobotWare Add-Ins button and find the SmartGripper package
- If the SmartGripper package is not installed, then install it
- Go to the Controller tab
- Click the Installation Manager button in the Configuration button group
- In the new window, make sure the Network tab is active and double click controller in the list
- Click next on the bottom right of the window
- The RobotWare and SmartGripper need to be added in this window
- To add the packages, click Add... and add both the RobotWare and SmartGripper packages
- Once this is done, all the neccessary packages have been installed then click Next
- A license should be displayed in the current window, click Next again
- 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 **
- 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.
You'll first need to create a set of signals to be triggered via the RWS API:
Task | TYPE | Access level |
---|---|---|
EGM_START_JOINT | Digital Input | All |
EGM_START_POSE | Digital Input | All |
EGM_STOP | Digital Input | All |
GO_TO_HOME_POSITION | Digital Input | All |
RUN_CAMERA_COMMAND | Digital Input | All |
RUN_SG_COMMAND | Digital Input | All |
Next, create the following set of tasks:
Task | TYPE | Use Mechanical Unit Group |
---|---|---|
T_ROB_L | NORMAL | rob_l |
T_ROB_R | NORMAL | rob_r |
After creating the tasks shown in the table above, restart the YuMi via the FlexPendant. When it finishes restarting, open RobotStudio, and add the following scripts (all of them located in yumi_hw/rapid/) to each of the tasks specified:
File | Tasks |
---|---|
EGM/TRobEGM.mod | T_ROB_L, T_ROB_R |
EGM/TRobMain.mod | T_ROB_L, T_ROB_R |
EGM/TRobSynchronization.sys | T_ROB_L, T_ROB_R |
EGM/TRobSG.sys | T_ROB_L, T_ROB_R |
Create the following set of tasks:
Task | TYPE | Use Mechanical Unit Group |
---|---|---|
T_ROB_L | NORMAL | rob_l |
T_ROB_R | NORMAL | rob_r |
ROS_StateServer | NORMAL |
After creating the tasks shown in the table above, restart the YuMi via the FlexPendant. When it finishes restarting, open RobotStudio, and add the following scripts (all of them located in yumi_hw/rapid/) to each of the tasks specified:
File | Tasks |
---|---|
RWS/ROS_motion_left.mod | T_ROB_L |
RWS/ROS_motion_right.mod | T_ROB_R |
RWS/ROS_stateServer.mod | ROS_StateServer |
RWS/ROS_common.sys | All |
RWS/ROS_messages.sys | All |
RWS/ROS_socket.sys | All |
Create the following set of tasks:
Task | TYPE | Use Mechanical Unit Group |
---|---|---|
T_ROB_L | NORMAL | rob_l |
T_ROB_R | NORMAL | rob_r |
ROS_MotionServer_L | NORMAL | |
ROS_StateServer_L | NORMAL | |
ROS_MotionServer_R | NORMAL | |
ROS_StateServer_R | NORMAL |
After creating the tasks shown in the table above, restart the YuMi via the FlexPendant. When it finishes restarting, open RobotStudio, and add the following scripts (all of them located in yumi_hw/rapid/) to each of the tasks specified:
File | Tasks |
---|---|
ABB_driver/ROS_motion_left.mod | T_ROB_L |
ABB_driver/ROS_motion_right.mod | T_ROB_R |
ABB_driver/ROS_motionServer_left.mod | ROS_MotionServer_L |
ABB_driver/ROS_motionServer_right.mod | ROS_MotionServer_R |
ABB_driver/ROS_stateServer_left.mod | ROS_StateServer_L |
ABB_driver/ROS_stateServer_right.mod | ROS_StateServer_R |
ABB_driver/ROS_common.sys | All RWS tasks |
ABB_driver/ROS_messages.sys | All RWS tasks |
ABB_driver/ROS_socket.sys | All RWS tasks |
Tasks:
Task | TYPE | Use Mechanical Unit Group |
---|---|---|
T_GRIP_State | NORMAL | |
T_GRIP_Motion | NORMAL | |
T_GRIP_Motion_L | NORMAL | |
T_GRIP_Motion_R | NORMAL | |
T_CAMERA | NORMAL |
Modules:
File | Tasks |
---|---|
Grippers/Gripper_motionServer.mod | T_GRIP_Motion |
Grippers/Gripper_stateServer.mod | T_GRIP_State |
Grippers/GripperMotion_left.mod | T_GRIP_Motion_L |
Grippers/HandDriver_left.sys | T_GRIP_Motion_L |
Grippers/GripperMotion_right.mod | T_GRIP_Motion_R |
Grippers/HandDriver_right.sys | T_GRIP_Motion_R |
Grippers/ROS_common.sys | All T_GRIP_XXX tasks |
Grippers/ROS_messages.sys | All T_GRIP_XXX tasks |
Grippers/ROS_socket.sys | All T_GRIP_XXX tasks |
EGM/TCameraMain.mod | T_CAMERA |
Enabling Motors
Occasionally, 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 mode can be changed between automatic and manual mode as described in the section below.
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
- Request Write Access from YuMi (more information below)
- Click the Grant button in the popup window on the FlexPendant screen
- Click the Backup drop down menu, then click Create Backup... (more information below)
- Optional Change the name of the backup file and ensure the file is in the desired directory
- 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
- Request Write Access from YuMi (more information below)
- Click the Grant button in the popup window on the FlexPendant screen
- Click the Backup drop down menu, then click Restore Backup... (more information below)
- Click the "..." button on the right side of the window then Browse Files System...
- Click the folder of the system backup file then click Select Folder
- 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...
This guide is inspired on the one from the ETH-Zurich yumi repository