Software Update v0.6.1 - RethinkRobotics/sdk-docs GitHub Wiki

Update Instructions for Baxter Research Robot: rsdk_0.6.1

This document provides instructions on updating the software on your Baxter Research Robot to 'rsdk_0.6.1'. Note that updating from rsdk_0.6.0 to this update requires the use of an additional Update Primer, 'rsdk_0.6.0_p1'.

Prerequisites

You will need:

  • A Baxter Research Robot
  • USB drive (FAT32 formatted, at least 500MB)
  • Update Files from the Rethink FTP
  • Development Workstation with RSDK installed

Instructions

I. Download Update Files

  1. Download the Update files from the Rethink FTP Service - HostedFTP.
    Your organization's Point-Of-Contact (POC) will receive an email notice, granting access to the new Update folder, and allowing them to create credentials upon first login. More Info

    • From the 'Baxter Research Robot 0.6.1 Software' folder:
      Download the compressed gzip file: rethink-update-rsdk_0.6.1.tar.gz
  2. Unzip the Update Files

    $ mkdir updates
    $ tar xvfz rethink-update-rsdk_0.6.1.tar.gz -C updates/
    $ cd updates
    
  3. Copy all the update files onto a USB flash drive

  • You may use a normal File Browser or any other method to copy the files onto a USB drive.
  • Make sure the USB flash drive is formatted as a FAT32 partition.
  • The files should all be placed in the top-level directory of the USB drive (i.e. not in a sub-folder).
    #on the USB drive
    $ ls 
    rethink-update-0.6.0_p1-obf
    rethink-update-0.6.0_p1-obf.config
    rethink-update-0.6.0_p1-obf.config.gpg
    rethink-update-0.6.1-obf
    rethink-update-0.6.1-obf.config
    rethink-update-0.6.1-obf.config.gpg
    
  • Safely eject the flash drive.

II. Setup and Check Version

  1. Turn on Baxter.
  2. Start an RSDK Shell on your development workstation.
    Make sure to export your ROS_IP or ROS_HOSTNAME.
    $ ./init.sh <robot_hostname>
    $ export ROS_IP=<dev_machine_IP>
    
  3. Check the Software Version
    You can check the Software Version of your robot using the following command:
    $ rosparam get /rethink/software_version
    0.6.0
    
    • If the version says 0.6.0 continue with Step III: "Running the Update Primer".
      If the version is anything else, you may skip to Step IV.

III. Run the Update Primer

If your robot is currently running version 0.6.0 of the RSDK, you will need to first use the additional Update Primer for 0.6.0. It is called 0.6.0_p1 in the update files.

  1. Allow robot to fully boot.
  2. Plug the USB drive into the USB port on Baxter's torso.
  3. Wait ~30 seconds for the system to recognize the drive.
  4. (On Dev Workstation) Find the UUID for the Update Primer (Version 0.6.0_p1) using the Software Update Tool.
  • Use the -l argument to the update_robot.py tool to list the available updates Baxter found on the USB drive.
    $ rosrun tools update_robot.py -l
    Version                       UUID
    0.6.0_p1                      3331cb5e-ea43-11e2-a151-90b11ca35e8f
    0.6.1                         cfcf7686-ea49-11e2-89d3-90b11ca35e8f
    
  • Find the UUID for the Version '0.6.0_p1' update. In this case, the UUID is 3331cb5e-ea43-11e2-a151-90b11ca35e8f.
  1. Start the Update, using the 0.6.0_p1 Primer Version.
  • Run the update_robot.py tool again, this time using the -u argument followed by the UUID found in the last step for Version 0.6.0_p1.
    $ rosrun tools update_robot.py -u 3331cb5e-ea43-11e2-a151-90b11ca35e8f
    
    This starts the verification and unpacking of the update payload. The status will be printed out as it goes through the required steps, ending in a notification that the robot system will reboot to finish updating.
  • The screen will show a bunch of text while this is happening. Once finished, the robot will reboot to the now, primed state, ready for the actual update to a new software version. Once you see the Baxter Research Robot Text Logo appear again, you may continue to Step IV.

IV. Run the Update to Version 0.6.1

Once your Baxter is primed and ready to be updated to a new software version, you will repeat the same steps as above - except this time using Version 0.6.1:

  1. Allow robot to fully (re)boot.

  2. Remove the USB drive from Baxter; wait a second; then reinsert the drive in Baxter's USB port to refresh Baxter's USB device listings.

  3. Wait ~30 seconds for the system to recognize the drive.

  4. Find the UUID for the Version 0.6.1 Update, using the Software Update Tool with the -l argument.

    $ rosrun tools update_robot.py -l
    Version                       UUID
    0.6.0_p1                      f958eb6c-eef5-11e2-a404-90b11ca35e8f
    0.6.1                         fa8c280a-eef5-11e2-a404-90b11ca35e8f
    

    Find the UUID for the Version 0.6.1 update. In this case, the UUID is fa8c280a-eef5-11e2-a404-90b11ca35e8f. (Note: The UUID's change each time the USB is reinserted.)

  5. Start the Update using the UUID for Version 0.6.1.

    Run the update_robot.py tool again, this time using the -u argument followed by the UUID found in the last step for Version 0.6.1.

    $ rosrun tools update_robot.py -u fa8c280a-eef5-11e2-a404-90b11ca35e8f
    

    Once again, this starts the verification and unpacking of the update payload. The status will be printed out to the terminal as it goes through the required steps. The last step informs the user that the system will now reboot to finish updating.

    NOTE: During this step, a bunch of text will scroll through on Baxter's screen. This is a good thing and shows that the update is progressing. Once finished, Baxter reboots to the new software and finalizes the update.

  6. Confirm the New Software Version

    $ rosparam get /rethink/software_version
    0.6.1
    

    You should see 0.6.1 reported back. Congratulations, you have updated your Baxter!

V. Updating SDK on Workstation (git repo)

Along with updating the software on the robot to version rsdk_0.6.1, you will want to update your Workstation-side SDK software from the git repository to the corresponding v0.6.1. To do this, follow the instructions for checking out a new tagged version, with tag v0.6.1: Installing the Research SDK bash $ cd sdk-examples $ git fetch $ git tag -l $ git checkout v0.6.1 $ ./init.sh <Baxter Hostname> [ROS Distro] $ rosmake baxter --pre-clean


FTP Access

Use the login credentials provided to your organization's Point-Of-Contact (POC). Updates to the Robot Software are distributed via the Rethink FTP Service - HostedFTP. Your organization's Point-Of-Contact (POC) will receive an email, notifying them of the new update folder, and allowing them to sign-in using their email address. Note: When a new release occurs, POC's will be granted access to the HostedFTP via their email address. Credentials are created upon first sign-in.

** Important Note for rsdk-0.6.0 -> 0.6.x updates:

IMPORTANT: If you are updating from the rsdk-0.6.0 (Beta1) release to any other release, such as the rsdk-0.6.1 (Beta1-Patch1) release, you will need to first run the 0.6.0_p1 Update Primer. The instructions are the same as doing a normal update, except you will update first to the '0.6.0_p1' primer version, and then do a second update to the actual new version (e.g. 0.6.1):

  1. Download both the 0.6.0_p1 update files and the 0.6.x update files from your Rethink FTP account, onto a USB stick.
  2. Follow the normal update instructions above, selecting the UUID for the '0.6.0_p1' version in Steps 4 & 5.
  3. Allow the update to complete and let the robot automatically reboot itself. This will prime the robot to be updated to a new version.
  4. Remove the USB stick from Baxter; wait a second; then reinsert the drive to refresh Baxter's USB device listings.
  5. Again, follow the normal update instructions above, this time choosing the UUID for the new 0.6.x version in Steps 4 & 5.

You will only have to do this when updating from version 0.6.0. From 0.6.1 onward, the robot can be directly updated to any other version. However, if you later "revert" backwards to 0.6.0, you will need to use the primer again on your next update.

Troubleshooting

For common issues specific to using software update with Baxter, check out the Troubleshooting page.