> For the complete documentation index, see [llms.txt](https://docs.hello-robot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hello-robot.com/stretch-4-quick-start-guide/stretch-4-quick-start-guide.md).

# Stretch 4 Quick Start Guide

#### Getting to Know Stretch

\
\#Insert picture of Stretch 4

\
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 design of Stretch is intended to facilitate interactions with people and in human environments. Its compact footprint and slender manipulator have unique advantages for working in cluttered, real-world spaces. The lightweight body and linear joints makes Stretch a friendlier and less complicated robot.<br>

### 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](https://docs.hello-robot.com/stretch-4-safety-guide/)before operating the robot.&#x20;

#### **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.

\#Insert video of Stretch 4 unboxing.

Key unboxing points:

* 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. Due to shipping restrictions on lithium-ion batteries, the battery must ship separately from the robot.

To unbox and install Stretch's battery, please refer to the following video guide:\
\
\#Insert video of battery unboxing and installation &#x20;

Key points:

* Unbox by using an Xacto 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.

{% hint style="danger" %}
**If the battery or battery cable appears to be damaged, do not use them and contact Hello Robot immediately for support.**
{% endhint %}

Stretch's battery can be removed by following those same steps in reverse.&#x20;

{% hint style="warning" %}
**Whenever Stretch is being transported by car, carried by hand, or shipped, the battery must be uninstalled and handled separately.**
{% endhint %}

#### 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 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.

\#Insert gif of gripper installation

#### Moving the Robot Shoulder while Powered Off

Stretch 4 has a mechanical brake on the lift joint that is engaged 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.\
\
\#Insert gif of brake release button

#### **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).

\#Insert trunk diagram of Stretch 4

### **Safety Features**

Before you begin operating Stretch, there are two 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.\
\
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. \
\
\#Insert runstop gif or video\
\#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. Ten LEDs display the robot's current state of charge to the nearest 10%. Hello Robot generally recommends placing the robot on its charger once the charge has reached \~20%, to minimize the chance of accidentally running the robot out of battery.\
\
\#Insert image of lightbar\
\# Add section on charging indication?

### **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 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 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!

{% hint style="info" %}
If nothing happens when you hit the Connect or Home buttons, please see the Troubleshooting section below.
{% endhint %}

#### **Using Gamepad Teleop**

{% hint style="info" %}
NOTE - this section is under construction, and controller mapping and functions are subject to change.
{% endhint %}

### 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. If the robot PC is powered on, it should initiate a Safe Shutdown procedure, and may remain powered for \~30 seconds before completely depowering.&#x20;

#### **Charging Stretch's Batteries**

Stretch comes with a 24V 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 .

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

### Connecting to Stretch

Stretch contains an Asus Mini PC (NUC 15 U5) running Ubuntu 24.04. This is the primary compute in charge of running Stretch's software, and is the primary way for developers to interact with the robot.

To connect to Stretch, the simplest way is a tethered setup using the ports in the trunk. Stretch has an HDMI port, Ethernet port, and several USB ports (one 3.2, two 2.0) that all connect directly to the NUC PC. Connect a monitor via the HDMI cable and a keyboard and mouse to bring up the robot desktop.&#x20;

Once connected to the robot, the WiFi network connection can be configured for your desired network in the standard way.

With a network connection, several other methods of connecting to Stretch wirelessly become available; these include RDP, remote desktop software like RustDesk, or a mesh VPN like Tailscale. Feel free to explore the connectivity solution that is the best fit for your personal development needs. Note that for some solutions like remote desktop software, a "dummy HDMI plug" must be connected to the HDMI port in the robot trunk - one of these should have shipped with your robot.

### Moving Stretch

Stretch can be 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 cars that are subcompact hatchbacks (eg Kia Niro) or larger, with the back seats folded down.

{% hint style="warning" %}
Stretch is not waterproof! If transporting it outside, make sure to keep it safe from the elements.
{% endhint %}

<br>

### Application Demos

#### Web Teleop

While gamepad teleop is handy for quick explorations, often an application will require a solution where the robot operator is not co-located with the robot, and/or needs to see through the robot cameras. Hello Robot provides a browser-based Web Teleop software that can be run on desktop or mobile, either on a local network or remotely over the Internet. The software and detailed documentation lives in the [stretch4\_web\_teleop](https://docs.hello-robot.com/stretch-4-web-teleop/)repository.

To launch Web Teleop, navigate to the folder containing the codebase using:

```
colcon_cd stretch4_web_teleop
```

Next, launch the interface:

```
./launch_interface
```

In the terminal, you will see output similar to:

```
Visit the URL(s) below to see the web interface:
https://localhost/operator
https://192.168.1.14/operator
```

Look for a URL like `https://<ip_address>/operator`. Visit this URL in a web browser (we recommend Google Chrome) on your personal computer or mobile phone to see the web interface. Your device must be connected to the same network as Stretch.&#x20;

{% hint style="info" %}
You might see a warning that says "Your connection is not private". If you do, click `Advanced` and `Proceed`.
{% endhint %}

You can use the buttons on the interface to directly drive the robot joints, change movement speed, and switch between camera views. Other features, including navigation within a map and click-to-pregrasp shared autonomy features, will be coming online soon.

Once you're done with the interface, close the browser and run:

```
./stop_interface.sh
```

**Note:** Only one browser can be connected to the interface at a time.

The Web Teleop interface can also work fully remotely over the internet - for setup instructions, visit the [stretch4\_web\_teleop](https://docs.hello-robot.com/stretch-4-web-teleop/) documentation.

#### Mapping and Navigation

\#Insert mapping and Nav2 instrucitons here.

### **Quickstart Troubleshooting**

* **Gamepad Controller won't connect, center button continues 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.

\
\
\ <br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hello-robot.com/stretch-4-quick-start-guide/stretch-4-quick-start-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
