Browse Source

Update tutorial overview tables and tweak intros

pull/3/head
Binit Shah 1 year ago
parent
commit
69d30dfb88
4 changed files with 13 additions and 27 deletions
  1. +1
    -1
      mkdocs.yml
  2. +1
    -2
      ros1/README.md
  3. +11
    -10
      ros2/README.md
  4. +0
    -14
      ros2/rviz_basics.md

+ 1
- 1
mkdocs.yml View File

@ -147,6 +147,7 @@ nav:
- Basics:
- Getting Started: ./ros2/getting_started.md
# - Teleoperating Stretch: ./ros2/teleoperating_stretch.md
- Follow Joint Trajectory Commands: ./ros2/follow_joint_trajectory.md
- Internal State of Stretch: ./ros2/internal_state_of_stretch.md
- RViz Basics: ./ros2/rviz_basics.md
# - Navigation Stack: ./ros2/navigation_stack.md
@ -154,7 +155,6 @@ nav:
- MoveIt Basics: ./ros2/moveit_basics.md
- MoveIt with RViz: ./ros2/moveit_rviz_demo.md
- MoveGroup C++ API: ./ros2/moveit_movegroup_demo.md
- Follow Joint Trajectory Commands: ./ros2/follow_joint_trajectory.md
# - Perception: ./ros2/perception.md
# - ArUco Marker Detection: ./ros2/aruco_marker_detection.md
# - ReSpeaker Microphone Array: ./ros2/respeaker_microphone_array.md

+ 1
- 2
ros1/README.md View File

@ -2,9 +2,8 @@
# 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.
Despite the name, ROS is not an operating system. ROS is a middleware framework that is a collection of transport protocols, development and debugging tools, and open-source packages. As a transport protocol, ROS enables distributed communication via messages between nodes. As a development and debugging toolkit, ROS provides build systems that allows for writing applications in a wide variety of languages (Python and C++ are used in this tutorial track), a launch system to manage the execution of mutiple nodes simultaneously, and command line tools to interact with the running system. Finally, as a popular ecosystem, there are many open-source ROS packages that allow users to quickly prototype with new sensors, actuators, planners, perception stacks, and more.
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:

+ 11
- 10
ros2/README.md View File

@ -1,12 +1,11 @@
![](../images/banner.png)
# Tutorial Track: Stretch ROS 2 (Beta)
NOTE: ROS2 support for Stretch is currently under active development and is considered 'beta'.
NOTE: Stretch's ROS2 packages and this ROS2 tutorial track are both under active development. They are considered 'beta', and we welcome any feedback. If you find any issues or bugs, please see the [Stretch ROS2](https://github.com/hello-robot/stretch_ros2/issues) and [Stretch Tutorials](https://github.com/hello-robot/stretch_tutorials/issues) issue trackers.
## Robot Operating System 2 (ROS 2)
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.
Despite the name, ROS is not an operating system. ROS is a middleware framework that is a collection of transport protocols, development and debugging tools, and open-source packages. As a transport protocol, ROS enables distributed communication via messages between nodes. As a development and debugging toolkit, ROS provides build systems that allows for writing applications in a wide variety of languages (Python and C++ are used in this tutorial track), a launch system to manage the execution of mutiple nodes simultaneously, and command line tools to interact with the running system. Finally, as a popular ecosystem, there are many open-source ROS packages that allow users to quickly prototype with new sensors, actuators, planners, perception stacks, and more.
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:
@ -15,19 +14,18 @@ This tutorial track is for users looking to become familiar with programming the
| | Tutorial | Description |
|--|---------------------------------------------------------------------------------|----------------------------------------------------|
| 1 | [Getting Started](getting_started.md) | Setup instructions for ROS 2 on Stretch|
| 2 | [Gazebo Basics](gazebo_basics.md) | Use Stretch in a simulated environment with Gazebo. |
| 3 | [Teleoperating Stretch](teleoperating_stretch.md) | Control Stretch with a keyboard or xbox controller. |
| 8 | [Follow Joint Trajectory Commands](follow_joint_trajectory.md) | Control joints using joint trajectory server. |
| 4 | [Internal State of Stretch](internal_state_of_stretch.md) | Monitor the joint states of Stretch. |
| 5 | [RViz Basics](rviz_basics.md) | Visualize topics in Stretch. |
| 6 | [Navigation Stack](navigation_stack.md) | Motion planning and control for the mobile base using Nav stack. |
| 7 | [MoveIt! Basics](moveit_basics.md) | Motion planning and control for the arm using MoveIt. |
| 8 | [Follow Joint Trajectory Commands](follow_joint_trajectory.md) | Control joints using joint trajectory server. |
| 9 | [Perception](coming_soon.md) | Use the Realsense D435i camera to visualize the environment. |
| 7 | [MoveIt2 Basics](moveit_basics.md) | Motion planning and control for the arm using MoveIt. |
| 7 | [MoveIt2 with Rviz](moveit_rviz_demo.md) | Motion planning and control for the arm using MoveIt. |
| 7 | [MoveIt2 MoveGroup C++ API](moveit_movegroup_demo.md) | Motion planning and control for the arm using MoveIt. |
<!--| 9 | [Perception](coming_soon.md) | Use the Realsense D435i camera to visualize the environment. |
| 10 | [ArUco Marker Detection](coming_soon.md) | Localize objects using ArUco markers. |
| 11 | [ReSpeaker Microphone Array](coming_soon.md) | Learn to use the ReSpeaker Microphone Array. |
| 12 | [FUNMAP](https://github.com/hello-robot/stretch_ros/tree/master/stretch_funmap) | Fast Unified Navigation, Manipulation and Planning. |
| 13 | [ROS testing](coming_soon.md) | Write ROS system tests for introspection. |
| 14 | [Other Nav Stack Features](coming_soon.md) | Advanced features for Nav 2. |
| 14 | [Other Nav Stack Features](coming_soon.md) | Advanced features for Nav 2. | -->
## Other Examples
To help get you get started on your software development, here are examples of nodes to have the stretch perform simple tasks.
@ -40,6 +38,9 @@ To help get you get started on your software development, here are examples of n
| 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 | [Tf2 Broadcaster and Listener](example_10.md) | Create a tf2 broadcaster and listener.|
| 6 | [Obstacle Avoider](obstacle_avoider.md) | Avoid obstacles using the planar lidar. |
| 7 | [Align to ArUco](align_to_aruco.md) | Detect ArUco fiducials using OpenCV and align to them.|
| 8 | [Deep Perception](deep_perception.md) | Use YOLOv5 to detect 3D objects in a point cloud.|
<!-- | 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.|

+ 0
- 14
ros2/rviz_basics.md View File

@ -21,17 +21,3 @@ If you want to visualize Stretch's [tf transform tree](http://wiki.ros.org/rviz/
![image](https://raw.githubusercontent.com/hello-robot/stretch_tutorials/ROS2/images/rviz_adding_tf.gif)
There are further tutorials for RViz that can be found [here](http://wiki.ros.org/rviz/Tutorials).
## Running RViz and Gazebo (Simulation)
Let's bringup stretch in the willowgarage world from the [gazebo basics tutorial](gazebo_basics.md) and RViz by using the following command.
```
roslaunch stretch_gazebo gazebo.launch world:=worlds/willowgarage.world rviz:=true
```
the `rviz` flag will open an RViz window to visualize a variety of ROS topics.
![image](https://raw.githubusercontent.com/hello-robot/stretch_tutorials/ROS2/images/willowgarage_with_rviz.png)
Bringup the [keyboard teleop](teleoperating_stretch.md) to drive Stretch and observe its sensor input.

Loading…
Cancel
Save