You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
hello-chintan 104a95fff8 Send Gazebo tutorial to the bottom 1 year ago
..
README.md Update overview of ROS and add tutorial details 1 year ago
aruco_marker_detection.md refactor 2 years ago
example_1.md refactor 2 years ago
example_2.md refactor 2 years ago
example_3.md refactor 2 years ago
example_4.md refactor 2 years ago
example_5.md refactor 2 years ago
example_6.md refactor 2 years ago
example_7.md refactor 2 years ago
example_8.md refactor 2 years ago
example_9.md refactor 2 years ago
example_10.md refactor 2 years ago
example_11.md refactor 2 years ago
example_12.md Updated to correct image to the ArUco locator tutorial. 2 years ago
example_13.md refactor 2 years ago
follow_joint_trajectory.md refactor 2 years ago
gazebo_basics.md refactor 2 years ago
getting_started.md Send Gazebo tutorial to the bottom 1 year ago
internal_state_of_stretch.md refactor 2 years ago
moveit_basics.md refactor 2 years ago
navigation_stack.md refactor 2 years ago
perception.md refactor 2 years ago
respeaker_microphone_array.md refactor 2 years ago
rviz_basics.md refactor 2 years ago
teleoperating_stretch.md refactor 2 years ago

README.md

Tutorial Track: Stretch ROS

Robot Operating System (ROS)

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 Noetic. We recommend going through the tutorials in the following order:

Basics

Tutorial Description
1 Getting Started Setup instructions for ROS 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.

Other Examples

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 Print Joint States Print the joint states of Stretch.
6 Store Effort Values Print, store, and plot the effort values of the Stretch robot.
7 Capture Image Capture images from the RealSense camera data.
8 Voice to Text Interpret speech and save transcript to a text file.
9 Voice Teleoperation of Base Use speech to teleoperate the mobile base.
10 Tf2 Broadcaster and Listener Create a tf2 broadcaster and listener.
11 PointCloud Transformation Convert PointCloud2 data to a PointCloud and transform to a different frame.
12 ArUco Tag Locator Actuate the head to locate a requested ArUco marker tag and return a transform.
13 2D Navigation Goals Send 2D navigation goals to the move_base ROS node.