Skip to content

Stretch 3 Hardware Guide

This manual provides the engineering data and user guidance for working with the Hello Robot Stretch 3 hardware.

Disclaimer

The Hello Robot Stretch is intended for use in the research of mobile manipulation applications by users experienced in the use and programming of research robots. This product is not intended for general use in the home by consumers, and lacks the required certifications for such use. Please see the section on Regulatory Compliance for further details.

Functional Specification

Subsystem data sheets available here.

Body Plan

Hardware Architecture

Robot Subsystems

Base

The base is a two wheel differential drive with a passive omniwheel for a caster. It includes four cliff sensors to allow detection of stairs, thresholds, etc.

image alt text

Item Notes
A Drive wheels 4 inch diameter, urethane rubber shore 60A
B Cliff sensors Sharp GP2Y0A51SK0F, Analog, range 2-15 cm
C Omni wheel Diameter 50mm

The base has 6 M4 threaded inserts available for mounting user accessories such as a tray. The mounting pattern is shown below.

The inserts are recessed 1mm from the top of the base shell. Maximum safe fastener depth is 7mm below top of shell.

image alt text

image alt text

Base IMU

The base has an IMU using the 9 DOF BNO085 chipset. The IMU orientation is as shown below:

image alt text

image alt text

Trunk

Development and charge ports are at the back of the base in the trunk.

Item Notes
A Vent Intake vent for computer fan
B 4 Port USB Hub USB 3.0 , powered 5V
C Ethernet Connected to computer NIC
D On/Off Robot power on / off. Switch is illuminated when on.
E Charge Rated for applied 12V/7A charger
F HDMI Connected to computer HDMI
G LED Light Bar Indicates battery voltage
H 12V access plug Allows customer cable access to 12V Aux on Pimu PCBA

12V Access Plug

The 12V access plug allows users to supply 12V power to an external device. This 12V power is directly connected to the battery and is not a regulated voltage supply. As the battery voltage decreases, the 12V access plug voltage also decreases. It is recommended that the user purchase a regulated voltage adapter to connect to this access plug and then connect the external device to the regulated voltage adapter, instead of connecting directly to the 12V access plug. The maximum continuous current of the 12V access plug is 6A max.

Warning

If the cable on the 12V access plug is wired incorrectly, the main power board of the robot will get damaged

The head provides the audio interface to the robot, a pan tilt depth camera and RGB wide-angle camera, a runstop, and a developer interface to allow for additional user hardware.

Head Diagram

Item Notes
A Pan tilt camera module Intel RealSense D435if, Arducam B0385+LK001, Dynamixel XL430-W250-T, Dynamixel XC430-W240-T
B Speakers
C Runstop
D Developer Interface Volume control, USB2.0-A with 5V@500mA fused JST XHP-2, 12V@3A fused Pin 1: 12V Pin 2: GND
E Microphone array ReSpeaker Mic Array v2.0, with programmable 12 RGB LED ring

Pan Tilt

The head pan-tilt unit utilizes two Dynamixel servos, 1x XL430-W250-T and 1x XC430-W240-T. It incorporates a small fan in order to ensure proper cooling of the servo and camera during dynamic repeated motions of the tilt DOF.

The nominal ‘zero’ position is of the head is shown below, along with the corresponding range of motion.

DOF Range (deg) Min(deg) Max (deg)
Pan 346 -234 112
Tilt 115 -25 90

ReSpeaker Microphone Array

The ReSpeaker has 12 RGB LEDs that can be controlled programatically. By default they display sound intensity and direction of the microphone array. The ReSpeaker has 4 mems microphones mounted on a 64.61mm circle at 45 degree spacing. The drawing below shows the position and orientation of the microphone array relative to the head pan axis.

Mounting Points

The top of the head includes 3x M4 threaded mounting points as shown below.

image alt text

Runstop

The runstop allows the user to pause the motion of the four primary DOF (base, lift, and arm) by tapping the illuminated button on the head. When the runstop is enabled, these DOF are in a ‘Safety Mode’ that inhibits the motion controller at the firmware level. Disabling the runstop allows normal operation to resume.

Lift

The lift degree of freedom provides vertical translation of the arm. It is driven by a closed loop stepper motor, providing smooth and precise motion through a low gear-ratio belt drive. The ‘shoulder’ includes four mounting holes and a small delivery tray.

[!WARNING] Maximum fastener length for shoulder mounting holes is 7mm - exceeding this depth may cause damage

image alt text

image alt text

Item Notes
A Delivery tray
B Mounting holes Threaded M4. Length not to exceed 7mm.
C Aruco Tag Size 40x40 mm
D Developer ports USB2.0-A with 5V@500mA fused ; JST XHP-2, 12V@3A fused Pin 1: 12V Pin 2: GND

Stretch 3 introduces a new lift brake feature. Upon power being disconnected to the lift motor (eg when the robot power switch is turned off), a brake will engage that prevents the arm and shoulder from falling rapidly. Instead, the robot arm will very slowly descend from its current position to the base of the robot.

It takes approximately 2 minutes for the arm to fully descend from the top of the lift. After about 3 minutes, the brake function will disengage, and the lift will be backdrivable as normal. If it is necessary to backdrive the lift during the period where the brake is engaged, it can be overcome with a sufficient amount of external force. Hold the arm securely when backdriving it in this way.

Arm

image alt text

The arm comprises 5 telescoping aluminum links set on rollers. Its proprietary drive train is driven by a stepper motor with closed loop control and current sensing, allowing contact sensitivity during motion.

The arm exhibits a small amount of play (lash) in the X, Y, Z, and theta directions which is a normal characteristic of its design. Despite this it can achieve good repeatability, in part because its gravity loading is fairly constant.

The retracted arm and wrist combined are designed to fit within the footprint of the base. The arm is designed to have:

  • Reach: 0.52m
  • Recommended Max payload - 2kg

Dexterous Wrist

The Stetch 3 dexterous wrist includes:

  • Yaw, Pitch, and Roll DOFs
  • 2 Aruco tags for calibration and visual localization of the tool
  • Expansion port with
  • Arduino expansion header
  • USB-A connector
  • Dynamixel X-Series TTL bus
  • Integrated cabling for USB and 12V Power cables
  • Quick-disconnect tool interface

Item Notes
A Wrist Yaw
B Wrist Pitch
C Wrist Roll
D Quick Disconnect
E Wrist USB and Expansion Header

Wrist Yaw

The wrist yaw is driven by a Dynamixel XC430-W240-T servo.

The wrist yaw shaft includes a 'Zero indicator'. This mark indicates the forward position of the tool. It will point in the direction of the arm extension when the wrist yaw joint is at its zero position.

image alt text

The wrist yaw DOF is calibrated so that the index hole faces forward at the 'zero' position. From this pose the wrist has a Range of Motion of +256/-76 degrees as shown.

image alt text

Wrist Pitch

The wrist pitch is driven by a Dynamixel XM540-W270-T servo.

The wrist pitch DOF is calibrated so that the tool is parallel to the ground at the 'zero' position. From this pose the wrist has a Range of Motion of +20/-90 degrees.

Wrist Roll

The wrist roll is driven by a Dynamixel XM430-W350-T servo.

The wrist roll DOF is calibrated such that the zero position is directly in the center of its range of motion. From this pose the wrist has a Range of Motion of +172.5/-172.5 degrees.

Wrist Accelerometer

The wrist includes a 3 axis ADXL343 accelerometer which provides bump and tap detection capabilities. The sensor is mounted inside the distal link of the arm as shown below.

image alt text

image alt text

Wrist USB

The wrist includes a USB 2.0 A interface. This power to this USB port is fused to 500mA@5V. By default, this port is utilized by the Intel d405 gripper camera.

Wrist Expansion Header

The wrist includes an expansion header that provides access to pins of the wrist Arduino board. The header connector can be accessed by removing the cap at the end of the arm.

image alt text

The header is wired to a Atmel SAMD21G18A-AUT (datasheet) microcontroller (same as Arduino Zero). The expansion header pins are configured at the factory to allow:

  • General purpose digital I/O
  • Analog input

In addition, the firmware can be configured for other pin functions, including:

  • Serial SPI
  • Serial I2C
  • Serial UART

The Stretch Firmware Manual covers this modification.

**The header pins utilize 3V3 TTL logic. They have limited nterface protection (eg, ESD, over-voltage, shorts). It is possible to damage your robot if pin specifications are exceeded **

The pin mapping is:

Pin Name Function Factory Firmware
1 DGND Digital ground
2 3V3 3.3V supply fused at 250mA.
3 E12V 12VDC fused at 500mA
4 SS DIO | SPI SS Digital out (D3)
5 SCK DIO | SPI SCK Digital out (D2)
6 MISO DIO | SPI MISO |UART TX Digital in (D0)
7 MOSI DIO | SPI MOSI | UART RX Digital in (D1)
8 SCL DIO | I2C SCL Not used
9 SS DIO | I2C SDA Not used
10 ANA0 Analog input Analog in (A0)

The expansion DIO uses a 10 pin JST header B10B-PHDSS(LF)(SN). It is compatible with a JST PHDR-10VS housing. JST provides pre-crimped wire compatible with this housing ( part APAPA22K305).

Pin 1 & 10 are indicated below.

image alt text

The expansion DIO schematic shown below.

image alt text

Wrist Mounts

image alt text

Wrist Quick Disconnect

Gripper

The Stretch Compliant Gripper utilizes a Dynamixel XL430-W250-T servo to drive the spring grasper mechanism. The kinematics of the grasper mechanism are complex and non-linear relative to the motor position.

The gripper includes an Intel RealSense d405 depth camera pointed at the fingertips. It also includes ArUco fiducial markers attached to each fingertip, which can be used to visually track the position and orientation of the fingertips.

Item Notes
A Gripper Camera Intel RealSense d405
B Fingertip ArUco tags

The weight of the Stretch Compliant Gripper is 240g.

Gripper Removal

Here we describe removing the Stretch gripper. Installation is simply these steps in reverse.

  1. Unplug the micro-USB cable from the d405 gripper camera.

  2. Unplug the Dynamixel cable at the back of the pitch joint.

  3. If necessary, clip any zip-ties connecting these cables to the robot.

  4. Depress the quick-disconnect button, and slid the gripper upwards to disconnect.

Robot Care

Battery Maintenance

Please review the Battery Maintenance Guide for proper care and charging of the Stretch batteries.

Belt Tension

A neoprene timing belt drives the arm up and down the lift. It may detension over long periods of time if it experiences sustained loading. In this case, slack will become visually apparent in the belt as the lift moves.

The belt is very straightforward to re-tension. Please contact support@hello-robot.com for tensioning instructions.

Keeping the Robot Clean

The robot surfaces can be wiped down with an alcohol wipe or a moist rag from time to time in order to remove and debris or oils that accumulate on the shells or mast.

The drive wheels can accumulate dust over time and begin to lose traction. They should be periodically wiped down as well.

If the robot cameras requires cleaning, use appropriate lens cleaning fluid and a microfiber cloth.

Keeping the Robot Calibrated

The robot comes pre-calibrated with a robot-specific URDF. This calibration allows the D435i depth sensor to accurately estimate where the robot wrist, and body, is in the depth image.

The robot may become slightly uncalibrated over time for a variety of reasons, including normal wear and tear and loosening of joints of the robot, or accidental collisions or falls leading to high loads on the robot joints.

The calibration accuracy can be checked using the provided ROS tools. If necessary, the user can recalibrate the robot. See the Stretch URDF Calibration Guide for more information.

Transporting the Robot

Stretch was designed to be easily transported in the back of a car, up a stair case, or around a building.

For short trips, the robot can be simply rolled around by grabbing its mast. It may be picked up by its mast and carried up stairs as well.

For safety, please use two people to lift the robot.

For longer trips it is recommended to transport the robot in its original foam base packaging, or in the original cardboard box. The metal protective cage that surrounds the head is only necessary if the robot might be shipped and the box will not remain upright. If laying the robot down, take care not to put weight on the arm, wrist, tool, or camera assemblies.

System Check

It is useful to periodically run stretch_system_check.py. This will check that the robot's hardware devices are present and within normal operating conditions.

Regulatory Compliance

Stretch is not certified for use as a consumer device in the U.S.

Unless stated otherwise, Stretch is not subjected to compliance testing nor certified to meet any requirements, such as requirements for EMI, EMC, or ESD.

Per FCC 47 CFR, Part 15, Subpart B, section 15.103(c), we claim Stretch as an exempted device, since it is a digital device used exclusively as industrial, commercial, or medical test equipment, where test equipment is equipment intended primarily for purposes of performing scientific investigations.

OET BULLETIN NO. 62, titled "UNDERSTANDING THE FCC REGULATIONS FOR COMPUTERS AND OTHER DIGITAL DEVICES" from December 1993 provides further clarification of the Section 15.103(c) exemption: “Test equipment includes devices used for maintenance, research, evaluation, simulation and other analytical or scientific applications in areas such as industrial plants, public utilities, hospitals, universities, laboratories, automotive service centers and electronic repair shops.”


All materials are Copyright 2022 by Hello Robot Inc. Hello Robot and Stretch are registered trademarks.