For the complete documentation index, see llms.txt. This page is also available as Markdown.

Quick Start Guide

This documentation is currently in beta. Please proceed carefully, and if you run into issues or need additional information, reach out to Hello Robot directly for support.

Hello, Human!

Welcome to your new robot! Stretch 4 is a mobile manipulator - a robot consisting of a mobile base as well as an arm and tool, capable of both navigating and interacting with its environment. The lightweight and simplified design of Stretch is intended to facilitate friendlier interactions with people in human environments. Its compact footprint and slender manipulator have unique advantages for working in cluttered, real-world spaces, and a first-class sensor suite provides an unparalleled understanding of the world around it.

Whether this is your first robot or you're an experienced user, these introductory tutorials are a great way to gain an understanding of the unique elements of Stretch and how to begin working with it. We'll explore critical safety features, get familiar with the robot's joints and sensors, and run some out-of-the-box demonstrations of some of Stretch's key features. In this first tutorial, we'll learn how to safely turn on the robot and drive it around using the gamepad controller.

Before You Begin

Safety

If Stretch is not used properly, it has the potential to cause harm. We strongly recommend that all users review the Stretch 4 Safety Guide before operating the robot.

Unboxing

If you need assistance unboxing the robot, please refer to the following video guide, or contact Hello Robot support for additional guidance.

Hello Robot strongly recommends that you retain all of Stretch's packaging materials, including the cardboard containers and any foam and plastic structures. These will be required if you ever need to transport the robot to a new location or return it to Hello Robot for repairs. Replacements can be obtained through Hello Robot support for the cost of materials plus shipping.

Unboxing Key Pointsx
  • Move the box around with a wheeled dolly, or carry it with at least two people.

  • Open the box carefully from the labeled side, using an Xacto knife or box cutter to remove the tape.

  • Pull on the robot mast to slide the whole structure out of the box.

  • Lift the top foam block vertically off of the "Hat" structure.

  • Use a 4mm Hex key to remove the four screws connecting the "Hat" to the top of Stretch. Make sure to support the "Hat" during this process, as it can fall when the final screw is removed. We recommend a second person assist with this step for maximum safety.

  • Remove any blue protective film on the robot lidars and cameras.

  • Pink clamps on the arm prevent motion of the shoulder during transit - snap them open as directed and remove them.

  • An additional pink clamp locks the wrist and telescoping arm structure in place - open the clip that holds this structure together, then remove it from the wrist by depressing the pink quick-release button, and sliding it downwards.

  • A velcro strap holds the bottom foam structure together - remove this along with the box on top of the base shell (if installed).

  • Tilting the robot back slightly, remove the front half of the bottom foam block; then gently slide the robot forward to rest on the ground.

Installing Stretch 4's Battery

Stretch 4 uses a large LiFePO4 battery, which gives the product superior runtime (nominally 4-8 hours) and cycle life. Stretch's battery comes in a heavy protective metal case that keeps the battery safe from damage as well as acting as a significant ballast weight, adding to the robot's stability and ability to exert forces while completing tasks. As a lithium-ion battery, the battery must be shipped as "Dangerous Goods" and therefore must ship separately from the robot.

To unbox and install Stretch's battery, please refer to the following video guide:

Battery Installation Key Points

Key points:

  • Use a utility knife or box cutter to open the battery box, and lift the foam structure upwards.

  • Rotate the battery so that it is oriented vertically, then remove the cinch strap.

  • Remove the foam piece, and lift the battery out safely using the attached handles.

  • Remove Stretch's top shell by lifting upwards sharply, and set aside.

  • Align the battery between the two clamp connections, and slide into place. When properly aligned, the battery should drop downwards a few millimeters and no longer slide in any direction.

  • Close the two clamp connectors to secure the battery in place. Then plug the battery cable into the battery connector.

  • Replace the top shell over the battery and confirm that it is properly seated in place.

Stretch's battery can be removed by following those same steps in reverse.

Installing the Stretch Gripper

Stretch 4 comes equipped with a quick-change end effector, which allows you to quickly install and uninstall tools with no cabling. Hello Robot generally recommends doing this while the robot (or at least the end-of-arm system) is powered down, to reduce the risk of an electrical issue. To install the Stretch gripper:

  • Align the gripper with the cutout in the wrist mounting plate

  • Slide the gripper upwards until you hear a click, depressing the pink release button if needed.

Moving the Robot Shoulder while Powered Off

Stretch 4 has a mechanical brake on the lift joint that engages while the robot is powered off, preventing the arm from dropping due to gravity. If the arm needs to be repositioned while the robot is off, there is a brake release button located in the shoulder. Press and hold the button for at least four seconds - you will hear a click, and the arm will become backdrivable until the button is released. Please note that this function requires power, so the battery must be installed in order to utilize it.

Powering on the Robot

To power on the robot, press the power button located in the trunk once, and it will illuminate green. The robot may take 20-30 seconds to fully boot, and you should hear the Ubuntu startup sound when it is complete (unless this is turned off in the settings).

Safety Features

Before you begin operating Stretch, there are some additional features that are important to understand for safe operation of the robot.

Runstop Button

The Runstop button is located on the side of the robot's head. Normally, this button will be steadily illuminated white. Pressing this button puts the robot into "runstop"; it interrupts the motion of the robot's primary joints during operation, causing it to stop moving and making all of these joints backdrivable. Just tap it, you'll hear a beep and the button will start flashing. You can now freely move the arm, lift, and wheels of the robot.

This can be useful if the robot makes an unsafe motion, or if you just want to roll the robot around or reposition its arm. To disable runstop, hold the button down for two to three seconds. After the beep, the button will illuminate steadily again and motion can resume.

The Runstop button is the easiest way to cancel an unexpected or undesired movement of the robot. If you're ever surprised or made uncomfortable by Stretch moving during these tutorials, just press the button and the robot will immediately pause, preventing collisions and allowing you to figure out what went wrong.

Some of Stretch's joints can be configured in software to hold their position when runstopped, rather than to become backdrivable. This is useful for contexts where losing motor power may become inappropriate - for example, when holding a large payload with the wrist pitch and gripper motors. #Note - are we renaming this behavior to "Pause"?

Battery Indicator Lightbar

The battery indicator lightbar on the side of Stretch's head provides a simple way to quickly ascertain the robot's battery level. Eight LEDs display the robot's current state of charge from 0 to 100%. Hello Robot generally recommends placing the robot on its charger once the charge has reached ~25%, to minimize the chance of accidentally running the robot out of battery (see Power Management below for instructions). It is perfectly fine to continue to use and develop on the robot while the charger is connected. #Insert image of lightbar # Add section on charging indication?

Guarded Contact

Stretch has a built-in contact detection system called Guarded Contact, designed to limit unwanted forces that Stretch could apply to a person or its environment. These can be tuned or configured depending on the robot's application and the robot's current task. This system sets a threshold of how strongly Stretch can exert its motors, and uses current sensing to determine if actuator effort exceeds this threshold during joint motion. If a strong force is detected, the safety controller for the joint is temporarily enabled, making the joint backdrivable and typically causing a small bounce-back behavior. #Insert gif of guarded contact.

Gamepad Teleoperation

Teleoperation using an Xbox-style gamepad controller is one of the easiest ways to operate and get familiar with Stretch. The robot comes ready to drive out-of-the-box using the included gamepad controller.

To start the teleoperation demo:

  1. Find the gamepad controller that shipped with Stretch

  2. Plug the USB dongle for the controller into one of Stretch's USB ports (we typically recommend the port in the top of the head, to reduce the risk of an accidental collision with the environment).

  3. Make sure the small switch on the back of the controller is in the right-most position for wireless control.

  4. Press the center "Connect" button on the controller - it should flash momentarily, then illuminate solid and vibrate briefly upon connection.

  5. Make sure the space around the robot is clear. Hit the Home robot button to the right of the center button. The robot will begin its homing routine, finding the zero position of all its joints. Be careful not to interfere with these movements, as it may cause the zero position to be set incorrectly. When this procedure is completed (~30 seconds), the robot will beep once. Stretch is now ready to drive!

If nothing happens when you hit the Connect or Home buttons, please see the Troubleshooting section below.

Using Gamepad Teleop - Easy Mode

NOTE - this section is under construction, and controller mapping and functions are subject to change.

This image shows the mapping between the controller buttons and the robot joints:

Here's a few things to try:

  • Hold the Stow Robot button for 3 seconds. The robot will assume a stowed pose, with the arm low and the gripper tucked inside the robot's footprint. This position keeps the robot compact and its center of gravity low, so we recommend it when driving the robot base.

  • Practice driving the robot around using the left joystick for translation and bumpers for rotation.

  • While driving the omnibase, hold down on the left trigger to reduce speed. The trigger is analog, so top speed will be reduced proportional to how far the trigger is depressed.

  • Practice positioning the arm using the Lift and Arm controls on the D-pad, and the left trigger if desired.

  • Practice positioning the Wrist Yaw and Pitch using the right joystick.

  • Try pressing the Runstop button while moving the robot, then reset it by holding the button down for 2 seconds. You can always use this as the safest way to pause the robot if any unwanted behavior occurs.

  • Holding down the right trigger modifies the behavior of some of the gamepad buttons. Try holding the right trigger and then pressing the bumper buttons to control the Wrist Roll instead of Omnibase Rotation.

  • Gamepad teleop comes with a few preset Speed and Strength options - these control the top speed of the robot joints and the amount of force the robot can apply before Guarded Contacts are triggered. While holding the right trigger, press A to cycle through the Speed presets, or B to cycle through Strength presets. The robot should use the speaker to state the current preset being used.

  • Stretch can operate in either a right-handed or left-handed mode, switching which side of the arm the gripper is offset on. To swap between these quickly, hold the right trigger and then press the Home Robot button.

  • Try utilizing all of these controls to grasp an object from the ground or a countertop. Hold the A button to close the gripper, or the B button to open the gripper.

  • Try delivering an object to a person.

  • Try a task that requires you to use two or more of the robot's joints at once, like opening a door or cabinet.

Once you have explored all of the "Easy Mode" teleoperation mapping, you can press the Y button to switch to the second gamepad teleop mode - Flying Gripper

Using Gamepad Teleop - Flying Gripper Mode

In Flying Gripper mode, you simply control the position and orientation of the robot's end effector, and the robot uses inverse kinematics to decide how to move its body to create the proper motions. In this mode, the button mapping is described below:

  • Use the right stick to point the robot's gripper in a direction, then hold up on the left stick. The gripper should travel directly in the direction the fingertips are pointing - moving any of the robot's joints in order to make this happen.

  • Move the left stick left and right, and the gripper will move orthoganally to the direction it is pointing.

  • Pull the left stick backwards, and the gripper will move directly away from the direction it is pointing.

  • Try opening the gripper (using the B button) and then pointing it directly at an object. Use the left stick to drive the robot gripper directly towards the object to pick it up.

  • The same modifiers for left/right handed switching, as well as Strength and Speed settings, still apply in this mode.

  • For some types of tasks, you might prefer to switch back and forth between modes. Pressing Y will return you to the original direct control mode.

Power Management

Shutting Down Stretch

Stretch can be powered down with a single press of the power button in the trunk. The button will illuminate Red. The robot PC should initiate a Safe Shutdown procedure and may remain powered for up to 60 seconds before completely depowering.

Charging Stretch's Batteries

Stretch comes with a 36V battery charger that connects to standard wall power and can be used to charge the robot's LiFePO4 battery. The battery charger can be connected whether or not the robot is powered off or on. An onboard Battery Management System maintains the state of charge and manages long-term battery health.

To charge Stretch's battery, connect the battery charger to power, then plug the charger into the barrel jack port located in the robot trunk. Make sure it is plugged in fully and firmly. If Stretch is powered off (or powered on but not drawing much current), it should take approximately two hours to charge the battery near full. It is entirely possible to keep the robot on and even develop on it while the battery is charging, though care should be taken if the mobile base is in use to ensure that the connection does not become loose or unplugged. #Insert gif of battery connection

Moving Stretch

Stretch can be easily transported between different rooms, buildings, or research sites. Here are some suggestions for moving Stretch around more easily:

  • Over reasonably short distances, backdriving Stretch is the easiest approach. With the robot runstopped or powered down, simple grab the robot by the mast and push it around to where you need to go.

  • Over moderate distances or more irregular terrain, we recommend the use of a hand truck. For extra protection, place the robot base into the foam block that it was shipped in, and use the truck to move it around securely.

  • Stretch can be transported by car. We recommend packaging Stretch in its original shipping box and hardware, which are designed to protect the sensors from incidental damage. The box fits in most mid-size hatchback vehicles with the back seats folded down (eg Kia Niro, Toyota RAV4).

Quick Start Troubleshooting
  • Gamepad Controller won't connect (center button flashing)

    • Verify that the USB dongle is connected to a robot USB port, and that its LED is also flashing

    • Verify that the switch on the back of the gamepad is in the rightmost position

    • Try the following steps to force a connection:

      • Do not touch any buttons on the gamepad until its LEDs stop illuminating (10-20 seconds)

      • Press the small button on top of the USB dongle - it should start flashing at a higher speed

      • Without touching any other buttons on the gamepad, hold down the center button for several seconds, until the center button LED also begins flashing at a higher speed

      • Leave the hardware in this state until both stop flashing and the controller vibrates briefly to indicate a connection has been made. This can take up to two minutes.

In the next section, we'll learn how to connect to stretch and set it up for developing with success.

Last updated

Was this helpful?