Updating to the newest software

Hi all,

Recently, we’ve made new software available for Stretch RE1. This post will explain how to upgrade Stretch software packages to the latest available version. These updates often include bug fixes from issues reported on this forum and improvements to the robot’s capability, reliability, and ease of use.

Stretch Body & Stretch Body Tools

Stretch Body is a Python 2/3 library for using Stretch RE1. Stretch Body Tools is a set of command-line convenience scripts that build upon Stretch Body. Python comes with “pip”, a package manager that can install and upgrade Python libraries. Python2 users can upgrade these two packages using the following command in a terminal:

$ python -m pip install --upgrade --no-cache-dir hello-robot-stretch-body
$ python -m pip install --upgrade --no-cache-dir hello-robot-stretch-body-tools

Python3 users can use:

$ python3 -m pip install --upgrade --no-cache-dir hello-robot-stretch-body
$ python3 -m pip install --upgrade --no-cache-dir hello-robot-stretch-body-tools

Stretch ROS Melodic

If you’re using ROS Melodic then the master branch of Stretch ROS has code you’ll want to update. This software is updated on a “rolling release”, which means that new updates are frequently made available. We use a tool called “git” to pull the latest updates to your robot. In a terminal use the following commands:

$ cd ~/catkin_ws/src/stretch_ros
$ git checkout master
$ git pull

Stretch ROS Noetic

If you’re using ROS Noetic then the dev/noetic branch of Stretch ROS has code you’ll want to update. This software is also updated on a “rolling release”, which means that new updates are frequently made available. We use a tool called “git” to pull the latest updates to your robot. In a terminal use the following commands:

$ cd ~/catkin_ws/src/stretch_ros
$ git checkout dev/noetic
$ git pull

Done!

If the steps above succeeded, you’ll have the latest software on your Stretch. Details on possible questions you may have are covered below.


Getting help with installation issues

If you run into any errors or confusing output when upgrading your Stretch’s software, please feel free to open a new post on this forum with the errors you are seeing. We actively monitor this forum and will work to resolve the issue. If you have questions about a custom or private installation, please feel free to reach out to our support email address, support@hello-robot.com.

Updating other Stretch packages

Stretch Body and Stretch ROS are covered above because they’re used most often and receive the most updates. Some of the other update-able software on Stretch is listed here. Please see our Github for a full list of all software.

  • Stretch Factory: a Python library with a set of scripts to calibrate, flash new firmware, and perform other factory related-tasks on Stretch.
    • python -m pip install --upgrade --no-cache-dir hello-robot-stretch-factory
  • Stretch Tool Share: a Python library that enables Stretch to use different grippers and end-effectors. The Github repository acts as documentation for these Stretch add ons.
    • python -m pip install --upgrade --no-cache-dir hello-robot-stretch-tool-share
  • Stretch Firmware: the firmware on Stretch’s microcontrollers. For now, it is not recommended to attempt an firmware upgrade. Please contact us by email if interested in flashing new firmware.

Getting pre-releases

Often, pre-releases are made available for Stretch Body to allow users who are following Stretch Body’s development to test out new software before it becomes a stable release. These pre-releases are available via pip using the “pre” flag:

$ python -m pip install --upgrade --no-cache-dir --pre hello-robot-stretch-body

Since all of our development happens publicly on Github, it is also possible to try out experimental branches of software that may be relevant to your work.

1 Like