This repo provides instructions on installing and using code on the Stretch RE1 robot. The goal is to provide a user familiar with ROS with the tools to operate a Stretch robot.
To help get you get started on your software development, here are examples of nodes to have the stretch perform simple tasks.
1. [Teleoperate Stretch with a Node](example_1.md) - Use a python script that sends velocity commands.
2. [Filter Laser Scans](example_2.md) - Publish new scan ranges that are directly in front of Stretch.
3. [Mobile Base Collision Avoidance](example_3.md) - Stop Stretch from running into a wall.
4. [Give Stretch a Balloon](example_4.md) - Create a "balloon" marker that goes where ever Stretch goes.
5. [Print Joint States](example_5.md) - Print the joint states of Stretch.
6. [Store Effort Values](example_6.md) - Print, store, and plot the effort values of the Stretch robot.
7. [Capture Image](example_7.md) - Capture images from the RealSense camera data.
8. [Voice to Text](example_8.md) - Interpret speech and save transcript to a text file.
9. [Voice Teleoperation of Base](example_9.md) - Use speech to teleoperate the mobile base.
10. [Tf2 Broadcaster and Listener](example_10.md) - Create a tf2 broadcaster and listener.
11. [PointCloud Transformation](example_11.md) - Convert PointCloud2 data to a PointCloud and transform to a different frame.
12. [ArUco Tag Locator](example_12.md) - Actuate the head to locate a requested ArUco marker tag and return a transform.
![](./images/banner.png)
# Overview
![](./images/stretch_top_view.png)
The Stretch Tutorials reposotory provides tutorials on programming the Stretch RE1 and RE2 robots. The tutorials are organized into the following tracks.
The Stretch RE1 is a potentially dangerous machine with safety hazards. **If improperly used it can cause injury or death.**
The Stretch RE1 and RE2 are potentially dangerous machine with safety hazards. **If improperly used it can cause injury or death.**
* **All users must carefully read the following safety information prior to using the robot.**
* **All users must carefully read the following safety information prior to using the robot.**
* Anyone near the robot who has not read this safety information must be closely supervised at all times and made aware that the robot could be dangerous.
* Anyone near the robot who has not read this safety information must be closely supervised at all times and made aware that the robot could be dangerous.
@ -10,7 +10,7 @@ The Stretch RE1 is a potentially dangerous machine with safety hazards. **If imp
## Intended Use
## Intended Use
**The Stretch RE1 (“Stretch”) is intended for use by researchers to conduct research in controlled indoor environments.** This product is not intended for other uses and lacks the required certifications for other uses, such as use in the home by consumers.
**The Stretch RE1/RE2 (“Stretch”) are intended for use by researchers to conduct research in controlled indoor environments.** This product is not intended for other uses and lacks the required certifications for other uses, such as use in the home by consumers.
## Safety Hazards
## Safety Hazards
@ -32,7 +32,7 @@ The robot may drive off stairs, push or pull itself over with its telescoping ar
### Stretch Should Not Be Lifted By A Single Person
### Stretch Should Not Be Lifted By A Single Person
Stretch with the standard gripper weighs about 50.5lb, so two or more people should lift and carry the robot. A single person can move the robot around by enabling the runstop button, tilting it over, and rolling it on flat ground.
Stretch with the standard gripper weighs about 23Kg (50.5lb), so two or more people should lift and carry the robot. A single person can move the robot around by enabling the runstop button, tilting it over, and rolling it on flat ground.
**At least two people should lift and carry the robot when needed.**
**At least two people should lift and carry the robot when needed.**
@ -172,7 +172,7 @@ The runstop logic is:
### Sharp Edges
### Sharp Edges
Stretch RE1 is a piece of laboratory equipment. As such, its structure has moderately sharp edges and corners that can be unsafe. These edges can get snagged during motion, or they may cause lacerations when sufficient force is applied to a person. Care should be taken when grasping or otherwise making contact with Stretch that a sharp corner or edge is not contacted.
Stretch RE1/RE2 is a piece of laboratory equipment. As such, its structure has moderately sharp edges and corners that can be unsafe. These edges can get snagged during motion, or they may cause lacerations when sufficient force is applied to a person. Care should be taken when grasping or otherwise making contact with Stretch that a sharp corner or edge is not contacted.
This repo provides instructions on installing and using code on the Stretch RE1 robot. The goal is to provide a user familiar with ROS with the tools to operate a Stretch robot.
This tutorial track is for users looking to become familiar with programming the Stretch RE1 and RE2 via ROS1. We recommend going through the tutorials in the following order:
This tutorial track is for users looking to become familiar with programming the Stretch RE1 and RE2 via ROS2. We recommend going through the tutorials in the following order:
[Stretch Body](https://github.com/hello-robot/stretch_body) is a set of Python packages that allow a developer to directly program the hardware of the Stretch RE1 robot. The Stretch Body interface is intended for users who chose to not use ROS.
Stretch Body currently supports both Python2 and Python3. These tutorials assume a general familiarity with Python as well as basic robot motion control.