/stretch_ros2

ROS2-related code for the Stretch RE1 mobile manipulator from Hello Robot Inc.

Primary LanguagePython

ROS 2 Iron Development Branch

This is a development branch that we are using to port stretch_ros to ROS 2 Iron, Python 3, and Ubuntu 22.04. We plan to begin shipping this version preinstalled on Stretch robots in the future. It is not in a stable state, since we are actively conducting development in this branch. Since we have performed limited testing, you may encounter unexpected behaviors. Also, the installation requires Ubuntu 22.04 on a second partition of your robot's hard drive.

We are beginning to use this port internally at Hello Robot to test it, improve it, and add new capabilities.

Available support in ROS 2

  • Stretch Core (Partial)
    • Stretch driver
    • RPLidar driver
    • D435i driver
    • Aruco Detection
    • Keyboard teleop (known bugs)
  • Hello Helpers
  • Stretch Calibration
  • Stretch Description
  • Stretch Nav2
    • Mapping with slam_toolbox
    • Navigation with nav2
    • Simple Commander Python API
  • Stretch Deep Perception
    • Object Detection with YOLOv5 using PyTorch
    • Head Pose Estimation with OpenVINO
  • Stretch Demos
  • Stretch FUNMAP

Known Issues

No support for:

  • Stretch Core
    • ReSpeaker driver
  • Stretch Dashboard
  • Stretch Deep Perception
  • Stretch Gazebo
  • Stretch OctoMap
  • Stretch RTABMap
  • There is no support for the Respeaker Microphone Array.

Directories

The stretch_ros2 repository holds ROS 2 related code for the Stretch mobile manipulator from Hello Robot Inc.

Resource Description
hello_helpers Miscellaneous helper code used across the stretch_ros2 repository
stretch_calibration Creates and updates calibrated URDFs for the Stretch mobile manipulator
stretch_core ROS 2 drivers for Stretch
stretch_deep_perception Demonstrations that use open deep learning models to perceive the world
stretch_demos Demonstrations of simple autonomous manipulation
stretch_description Generate and export URDFs
stretch_funmap Demonstrations of Fast Unified Navigation, Manipulation And Planning (FUNMAP)
stretch_gazebo Support for simulation of Stretch in the Gazebo simulator
stretch_moveit_config Config files to use Stretch with the MoveIt2 Motion Planning Framework
stretch_navigation Support for the ROS navigation stack Nav2, including slam_toolbox, AMCL and Simple Commander
stretch_octomap Support for mapping using OctoMap: efficient probabilistic 3D Mapping based on Octrees
stretch_rtabmap Support for mapping using Real-Time Appearance-Based Mapping (RTAB-Map)

Licenses

This software is intended for use with the Stretch mobile manipulator, which is a robot produced and sold by Hello Robot Inc. For further information, including inquiries about dual licensing, please contact Hello Robot Inc.

For license details for this repository, see the LICENSE files found in the directories. A summary of the licenses follows:

Directory License
hello_helpers Apache 2.0
stretch_calibration GPLv3
stretch_core Apache 2.0
stretch_deep_perception Apache 2.0
stretch_demos Apache 2.0
stretch_description BSD 3-Clause Clear License
stretch_funmap LGPLv3
stretch_gazebo Apache 2.0
stretch_moveit_config Apache 2.0
stretch_navigation Apache 2.0
stretch_octomap Apache 2.0
stretch_rtabmap Apache 2.0