From 36c3ed303830d481eb859ec583b3de66a6beb26a Mon Sep 17 00:00:00 2001
From: "Alan G. Sanchez"
Date: Wed, 31 Aug 2022 11:46:06 -0700
Subject: [PATCH] refactor
---
ros1/aruco_marker_detection.md | 2 --
ros1/example_1.md | 2 --
ros1/example_10.md | 4 ----
ros1/example_11.md | 5 +----
ros1/example_12.md | 5 +----
ros1/example_2.md | 5 +----
ros1/example_3.md | 5 +----
ros1/example_4.md | 5 +----
ros1/example_5.md | 3 ---
ros1/example_6.md | 5 +----
ros1/example_7.md | 5 +----
ros1/example_8.md | 5 +----
ros1/example_9.md | 3 ---
ros1/follow_joint_trajectory.md | 5 +----
ros1/gazebo_basics.md | 2 --
ros1/getting_started.md | 6 ++----
ros1/internal_state_of_stretch.md | 4 +---
ros1/moveit_basics.md | 4 +---
ros1/navigation_stack.md | 5 +----
ros1/perception.md | 5 +----
ros1/rviz_basics.md | 4 +---
ros1/teleoperating_stretch.md | 4 +---
22 files changed, 17 insertions(+), 76 deletions(-)
diff --git a/ros1/aruco_marker_detection.md b/ros1/aruco_marker_detection.md
index 9e43e00..e52eb0b 100644
--- a/ros1/aruco_marker_detection.md
+++ b/ros1/aruco_marker_detection.md
@@ -130,5 +130,3 @@ When coming up with this guide, we expected the following:
* Body-mounted accessories with the same ID numbers mounted to different robots could be disambiguated using the expected range of 3D locations of the ArUco markers on the calibrated body.
* Accessories in the environment with the same ID numbers could be disambiguated using a map or nearby observable features of the environment.
-
-**Next Tutorial:** [ReSpeaker Microphone Array](respeaker_mircophone_array.md)
diff --git a/ros1/example_1.md b/ros1/example_1.md
index e4fce85..d8c31fd 100644
--- a/ros1/example_1.md
+++ b/ros1/example_1.md
@@ -154,5 +154,3 @@ python3 move.py
```
To stop the node from sending twist messages, type **Ctrl** + **c**.
-
-**Next Example:** [Filter Laser Scans](example_2.md)
diff --git a/ros1/example_10.md b/ros1/example_10.md
index 748806e..66135e2 100644
--- a/ros1/example_10.md
+++ b/ros1/example_10.md
@@ -342,7 +342,3 @@ Instantiate the `FrameListener()` class.
rospy.spin()
```
Give control to ROS. This will allow the callback to be called whenever new messages come in. If we don't put this line in, then the node will not work, and ROS will not process any messages.
-
-
-**Previous Example** [Voice Teleoperation of Base](example_9.md)
-**Next Example** [PointCloud Transformation](example_11.md)
diff --git a/ros1/example_11.md b/ros1/example_11.md
index 06bae3d..0635bab 100644
--- a/ros1/example_11.md
+++ b/ros1/example_11.md
@@ -214,7 +214,4 @@ The first line gives the listener some time to accumulate transforms. The second
PCT.pcl_transformer()
rate.sleep()
```
-Run a while loop until the node is shutdown. Within the while loop run the `pcl_transformer()` method.
-
-**Previous Example** [Tf2 Broadcaster and Listener](example_10.md)
-**Next Example** [ArUco Tag Locator](example_12.md)
+Run a while loop until the node is shutdown. Within the while loop run the `pcl_transformer()` method.
\ No newline at end of file
diff --git a/ros1/example_12.md b/ros1/example_12.md
index 73a7562..3f1c7ed 100644
--- a/ros1/example_12.md
+++ b/ros1/example_12.md
@@ -401,7 +401,4 @@ if __name__ == '__main__':
except KeyboardInterrupt:
rospy.loginfo('interrupt received, so shutting down')
```
-Declare `LocateArUcoTag` object. Then run the `main()` method.
-
-
-**Previous Example** [PointCloud Transformation](example_11.md)
+Declare `LocateArUcoTag` object. Then run the `main()` method.
\ No newline at end of file
diff --git a/ros1/example_2.md b/ros1/example_2.md
index a89c302..1e43973 100644
--- a/ros1/example_2.md
+++ b/ros1/example_2.md
@@ -180,7 +180,4 @@ rospy.spin()
```
Give control to ROS. This will allow the callback to be called whenever new
messages come in. If we don't put this line in, then the node will not work,
-and ROS will not process any messages.
-
-**Previous Example:** [Teleoperate Stretch with a Node](example_1.md)
-**Next Example:** [Mobile Base Collision Avoidance](example_3.md)
+and ROS will not process any messages.
\ No newline at end of file
diff --git a/ros1/example_3.md b/ros1/example_3.md
index cf2c90d..dbd2c30 100644
--- a/ros1/example_3.md
+++ b/ros1/example_3.md
@@ -171,7 +171,4 @@ The next line, `rospy.init_node(NAME, ...)`, is very important as it tells rospy
Instantiate class with `Avioder()`
-Give control to ROS with `rospy.spin()`. This will allow the callback to be called whenever new messages come in. If we don't put this line in, then the node will not work, and ROS will not process any messages.
-
-**Previous Example:** [Filter Laser Scans](example_2.md)
-**Next Example:** [Give Stretch a Balloon](example_4.md)
+Give control to ROS with `rospy.spin()`. This will allow the callback to be called whenever new messages come in. If we don't put this line in, then the node will not work, and ROS will not process any messages.
\ No newline at end of file
diff --git a/ros1/example_4.md b/ros1/example_4.md
index 1432d84..3f3ed18 100644
--- a/ros1/example_4.md
+++ b/ros1/example_4.md
@@ -166,7 +166,4 @@ while not rospy.is_shutdown():
balloon.publish_marker()
rate.sleep()
```
-This loop is a fairly standard rospy construct: checking the `rospy.is_shutdown()` flag and then doing work. You have to check `is_shutdown()` to check if your program should exit (e.g. if there is a **Ctrl-C** or otherwise). The loop calls `rate.sleep()`, which sleeps just long enough to maintain the desired rate through the loop.
-
-**Previous Example:** [Mobile Base Collision Avoidance](example_3.md)
-**Next Example:** [Print Joint States](example_5.md)
+This loop is a fairly standard rospy construct: checking the `rospy.is_shutdown()` flag and then doing work. You have to check `is_shutdown()` to check if your program should exit (e.g. if there is a **Ctrl-C** or otherwise). The loop calls `rate.sleep()`, which sleeps just long enough to maintain the desired rate through the loop.
\ No newline at end of file
diff --git a/ros1/example_5.md b/ros1/example_5.md
index 2cf7c5b..6f7f0f7 100644
--- a/ros1/example_5.md
+++ b/ros1/example_5.md
@@ -156,6 +156,3 @@ Create a list of the desired joints that you want positions to be printed. Then
rospy.spin()
```
Give control to ROS with `rospy.spin()`. This will allow the callback to be called whenever new messages come in. If we don't put this line in, then the node will not work, and ROS will not process any messages.
-
-**Previous Example** [Give Stretch a Balloon](example_4.md)
-**Next Example** [Store Effort Values](example_6.md)
diff --git a/ros1/example_6.md b/ros1/example_6.md
index 04db622..f03e66d 100644
--- a/ros1/example_6.md
+++ b/ros1/example_6.md
@@ -293,7 +293,4 @@ cd catkin_ws/src/stretch_tutorials/src/
python3 stored_data_plotter.py
```
-Because this is not a node, you don't need `roscore` to run this script. Please review the comments in the python script for additional guidance.
-
-**Previous Example** [Print Joint States](example_5.md)
-**Next Example** [Capture Image](example_7.md)
+Because this is not a node, you don't need `roscore` to run this script. Please review the comments in the python script for additional guidance.
\ No newline at end of file
diff --git a/ros1/example_7.md b/ros1/example_7.md
index ea7a7c1..825a90d 100644
--- a/ros1/example_7.md
+++ b/ros1/example_7.md
@@ -275,7 +275,4 @@ Convert the cv2 image back to a ROS image so it can be published.
image_msg.header = msg.header
self.pub.publish(image_msg)
```
-Publish the ROS image with the same header as the subscribed ROS message.
-
-**Previous Example** [Store Effort Values](example_6.md)
-**Next Example** [Voice to Text](example_8.md)
+Publish the ROS image with the same header as the subscribed ROS message.
\ No newline at end of file
diff --git a/ros1/example_8.md b/ros1/example_8.md
index 3efad5f..5d0bc5d 100644
--- a/ros1/example_8.md
+++ b/ros1/example_8.md
@@ -126,7 +126,4 @@ rospy.spin()
```
Give control to ROS. This will allow the callback to be called whenever new
messages come in. If we don't put this line in, then the node will not work,
-and ROS will not process any messages.
-
-**Previous Example** [Capture Image](example_7.md)
-**Next Example** [Voice Teleoperation of Base](example_9.md)
+and ROS will not process any messages.
\ No newline at end of file
diff --git a/ros1/example_9.md b/ros1/example_9.md
index adfc5aa..12b2d78 100644
--- a/ros1/example_9.md
+++ b/ros1/example_9.md
@@ -461,6 +461,3 @@ except KeyboardInterrupt:
rospy.loginfo('interrupt received, so shutting down')
```
Declare a `VoiceTeleopNode` object. Then execute the `main()` method.
-
-**Previous Example** [Voice to Text](example_8.md)
-**Next Example** [Tf2 Broadcaster and Listener](example_10.md)
diff --git a/ros1/follow_joint_trajectory.md b/ros1/follow_joint_trajectory.md
index 8db2e71..88dbdca 100644
--- a/ros1/follow_joint_trajectory.md
+++ b/ros1/follow_joint_trajectory.md
@@ -403,7 +403,4 @@ trajectory_goal.trajectory.points = [point0]#, point1]
trajectory_goal.trajectory.header.stamp = rospy.Time(0.0)
trajectory_goal.trajectory.header.frame_id = 'base_link'
```
-Set *trajectory_goal* as a `FollowJointTrajectoryGoal` and define the joint names as a list. Then `trajectory_goal.trajectory.points` set by your list of points. Specify the coordinate frame that we want (*base_link*) and set the time to be now.
-
-
-**Next Tutorial:** [Perception](perception.md)
+Set *trajectory_goal* as a `FollowJointTrajectoryGoal` and define the joint names as a list. Then `trajectory_goal.trajectory.points` set by your list of points. Specify the coordinate frame that we want (*base_link*) and set the time to be now.
\ No newline at end of file
diff --git a/ros1/gazebo_basics.md b/ros1/gazebo_basics.md
index a078c31..0d0c728 100644
--- a/ros1/gazebo_basics.md
+++ b/ros1/gazebo_basics.md
@@ -27,5 +27,3 @@ roslaunch stretch_gazebo gazebo.launch world:=worlds/willowgarage.world
-
-**Next Tutorial:** [Teleoperating Stretch](teleoperating_stretch.md)
diff --git a/ros1/getting_started.md b/ros1/getting_started.md
index 2c3f791..4c03191 100644
--- a/ros1/getting_started.md
+++ b/ros1/getting_started.md
@@ -54,9 +54,7 @@ source ~/.bashrc
## RoboMaker
-
+
-If you cannot dual boot and install ubuntu on your local machine, an alternative is to use [AWS RoboMaker](https://aws.amazon.com/robomaker/). AWS RoboMaker extends the ROS framework with cloud services. The service provides a robotics simulation service, allowing for testing the Stretch RE1 platform. If you are a first-time user of AWS RoboMaker, follow the [guide here](https://github.com/aws-robotics/aws-robomaker-robotics-curriculum/blob/main/getting-started-with-aws-robomaker/_modules/mod-2a-aws.md) to get up and running with the service.
-
-**Next Tutorial:** [Gazebo Basics](gazebo_basics.md)
+If you cannot dual boot and install ubuntu on your local machine, an alternative is to use [AWS RoboMaker](https://aws.amazon.com/robomaker/). AWS RoboMaker extends the ROS framework with cloud services. The service provides a robotics simulation service, allowing for testing the Stretch RE1 platform. If you are a first-time user of AWS RoboMaker, follow the [guide here](https://github.com/aws-robotics/aws-robomaker-robotics-curriculum/blob/main/getting-started-with-aws-robomaker/_modules/mod-2a-aws.md) to get up and running with the service.
\ No newline at end of file
diff --git a/ros1/internal_state_of_stretch.md b/ros1/internal_state_of_stretch.md
index aee1754..a78332a 100644
--- a/ros1/internal_state_of_stretch.md
+++ b/ros1/internal_state_of_stretch.md
@@ -58,6 +58,4 @@ rqt_graph
-The graph allows a user to observe and affirm if topics are broadcasted to the correct nodes. This method can also be utilized to debug communication issues.
-
-**Next Tutorial:** [RViz Basics](rviz_basics.md)
+The graph allows a user to observe and affirm if topics are broadcasted to the correct nodes. This method can also be utilized to debug communication issues.
\ No newline at end of file
diff --git a/ros1/moveit_basics.md b/ros1/moveit_basics.md
index b03d3b1..ed9c77d 100644
--- a/ros1/moveit_basics.md
+++ b/ros1/moveit_basics.md
@@ -56,6 +56,4 @@ This will launch an Rviz instance that visualizes the joints with markers and an
-
-
-**Next Tutorial:** [Follow Joint Trajectory Commands](follow_joint_trajectory.md)
+
\ No newline at end of file
diff --git a/ros1/navigation_stack.md b/ros1/navigation_stack.md
index 43336a3..d645f6a 100644
--- a/ros1/navigation_stack.md
+++ b/ros1/navigation_stack.md
@@ -68,7 +68,4 @@ roslaunch stretch_navigation mapping.launch rviz:=false teleop_type:=none
rviz -d `rospack find stretch_navigation`/rviz/mapping.launch
# On your machine, Terminal 2:
roslaunch stretch_core teleop_twist.launch teleop_type:=keyboard # or use teleop_type:=joystick if you have a controller
-```
-
-
-**Next Tutorial:** [MoveIt! Basics](moveit_basics.md)
+```
\ No newline at end of file
diff --git a/ros1/perception.md b/ros1/perception.md
index 1016bca..d8ab33d 100644
--- a/ros1/perception.md
+++ b/ros1/perception.md
@@ -60,7 +60,4 @@ The `DepthCloud` display is visualized in the main RViz window. This display tak
## Deep Perception
-Hello Robot also has a ROS package that uses deep learning models for various detection demos. A link to the package is provided: [stretch_deep_perception](https://github.com/hello-robot/stretch_ros/tree/master/stretch_deep_perception).
-
-
-**Next Tutorial:** [ArUco Marker Detection](aruco_marker_detection.md)
+Hello Robot also has a ROS package that uses deep learning models for various detection demos. A link to the package is provided: [stretch_deep_perception](https://github.com/hello-robot/stretch_ros/tree/master/stretch_deep_perception).
\ No newline at end of file
diff --git a/ros1/rviz_basics.md b/ros1/rviz_basics.md
index 261b18a..9ce2f0e 100644
--- a/ros1/rviz_basics.md
+++ b/ros1/rviz_basics.md
@@ -39,6 +39,4 @@ the `rviz` flag will open an RViz window to visualize a variety of ROS topics.
-Bringup the [keyboard teleop](teleoperating_stretch.md) to drive Stretch and observe its sensor input.
-
-**Next Tutorial:** [Navigation Stack](navigation_stack.md)
+Bringup the [keyboard teleop](teleoperating_stretch.md) to drive Stretch and observe its sensor input.
\ No newline at end of file
diff --git a/ros1/teleoperating_stretch.md b/ros1/teleoperating_stretch.md
index be93f6d..d41635d 100644
--- a/ros1/teleoperating_stretch.md
+++ b/ros1/teleoperating_stretch.md
@@ -161,6 +161,4 @@ An alternative for robot base teleoperation is to use an Xbox controller. Stop t
# Terminal 2
roslaunch stretch_core teleop_twist.launch twist_topic:=/stretch_diff_drive_controller/cmd_vel linear:=1.0 angular:=2.0 teleop_type:=joystick
```
-Note that the teleop_twist_joy package has a deadman switch by default which disables the drive commands to be published unless pressed. For a Logitech F310 joystick, this button is A.
-
-**Next Tutorial:** [Internal State of Stretch](internal_state_of_stretch.md)
+Note that the teleop_twist_joy package has a deadman switch by default which disables the drive commands to be published unless pressed. For a Logitech F310 joystick, this button is A.
\ No newline at end of file