hello-chintan 104a95fff8 | 1 year ago | |
---|---|---|
.. | ||
images | 2 years ago | |
README.md | 1 year ago | |
align_to_aruco.md | 2 years ago | |
coming_soon.md | 2 years ago | |
deep_perception.md | 2 years ago | |
example_1.md | 2 years ago | |
example_2.md | 2 years ago | |
example_3.md | 2 years ago | |
example_4.md | 2 years ago | |
example_10.md | 2 years ago | |
follow_joint_trajectory.md | 2 years ago | |
gazebo_basics.md | 2 years ago | |
getting_started.md | 1 year ago | |
internal_state_of_stretch.md | 2 years ago | |
moveit_basics.md | 2 years ago | |
moveit_movegroup_demo.md | 2 years ago | |
moveit_rviz_demo.md | 2 years ago | |
navigation_stack.md | 2 years ago | |
obstacle_avoider.md | 2 years ago | |
rviz_basics.md | 2 years ago | |
teleoperating_stretch.md | 2 years ago |
NOTE: ROS2 support for Stretch is currently under active development and is considered 'beta'.
Despite the name, ROS is not an operating system. ROS is a middleware framework that is a collection of transport protocol, development and debugging tools, and open-source packages, all wrapped in a single blanket. As a transport protocol, it allows distributed communication via messages through nodes. It provides development tools such as the CMake build system that allows building applications written in languages like Python and C++, among many, and the launch system that allows running mutiple nodes simultaneously. Due to its popularity, it's also the open-source framework of choice for collaboration across research and industry.
At Hello Robot, we strongly support the open-source initiative and believe that the best way to grow is to grow with the community.
This tutorial track is for users looking to become familiar with programming the Stretch RE1 and RE2 via ROS 2. We recommend going through the tutorials in the following order:
Tutorial | Description | |
---|---|---|
1 | Getting Started | Setup instructions for ROS 2 on Stretch |
2 | Gazebo Basics | Use Stretch in a simulated environment with Gazebo. |
3 | Teleoperating Stretch | Control Stretch with a keyboard or xbox controller. |
4 | Internal State of Stretch | Monitor the joint states of Stretch. |
5 | RViz Basics | Visualize topics in Stretch. |
6 | Navigation Stack | Motion planning and control for the mobile base using Nav stack. |
7 | MoveIt! Basics | Motion planning and control for the arm using MoveIt. |
8 | Follow Joint Trajectory Commands | Control joints using joint trajectory server. |
9 | Perception | Use the Realsense D435i camera to visualize the environment. |
10 | ArUco Marker Detection | Localize objects using ArUco markers. |
11 | ReSpeaker Microphone Array | Learn to use the ReSpeaker Microphone Array. |
12 | FUNMAP | Fast Unified Navigation, Manipulation and Planning. |
13 | ROS testing | Write ROS system tests for introspection. |
14 | Other Nav Stack Features | Advanced features for Nav 2. |
To help get you get started on your software development, here are examples of nodes to have the stretch perform simple tasks.
Tutorial | Description | |
---|---|---|
1 | Teleoperate Stretch with a Node | Use a python script that sends velocity commands. |
2 | Filter Laser Scans | Publish new scan ranges that are directly in front of Stretch. |
3 | Mobile Base Collision Avoidance | Stop Stretch from running into a wall. |
4 | Give Stretch a Balloon | Create a "balloon" marker that goes where ever Stretch goes. |
5 | Tf2 Broadcaster and Listener | Create a tf2 broadcaster and listener. |