Browse Source

refactor

pull/14/head
Alan G. Sanchez 2 years ago
parent
commit
36c3ed3038
22 changed files with 17 additions and 76 deletions
  1. +0
    -2
      ros1/aruco_marker_detection.md
  2. +0
    -2
      ros1/example_1.md
  3. +0
    -4
      ros1/example_10.md
  4. +1
    -4
      ros1/example_11.md
  5. +1
    -4
      ros1/example_12.md
  6. +1
    -4
      ros1/example_2.md
  7. +1
    -4
      ros1/example_3.md
  8. +1
    -4
      ros1/example_4.md
  9. +0
    -3
      ros1/example_5.md
  10. +1
    -4
      ros1/example_6.md
  11. +1
    -4
      ros1/example_7.md
  12. +1
    -4
      ros1/example_8.md
  13. +0
    -3
      ros1/example_9.md
  14. +1
    -4
      ros1/follow_joint_trajectory.md
  15. +0
    -2
      ros1/gazebo_basics.md
  16. +2
    -4
      ros1/getting_started.md
  17. +1
    -3
      ros1/internal_state_of_stretch.md
  18. +1
    -3
      ros1/moveit_basics.md
  19. +1
    -4
      ros1/navigation_stack.md
  20. +1
    -4
      ros1/perception.md
  21. +1
    -3
      ros1/rviz_basics.md
  22. +1
    -3
      ros1/teleoperating_stretch.md

+ 0
- 2
ros1/aruco_marker_detection.md View File

@ -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)

+ 0
- 2
ros1/example_1.md View File

@ -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)

+ 0
- 4
ros1/example_10.md View File

@ -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)

+ 1
- 4
ros1/example_11.md View File

@ -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.

+ 1
- 4
ros1/example_12.md View File

@ -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.

+ 1
- 4
ros1/example_2.md View File

@ -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.

+ 1
- 4
ros1/example_3.md View File

@ -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.

+ 1
- 4
ros1/example_4.md View File

@ -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.

+ 0
- 3
ros1/example_5.md View File

@ -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)

+ 1
- 4
ros1/example_6.md View File

@ -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.

+ 1
- 4
ros1/example_7.md View File

@ -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.

+ 1
- 4
ros1/example_8.md View File

@ -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.

+ 0
- 3
ros1/example_9.md View File

@ -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)

+ 1
- 4
ros1/follow_joint_trajectory.md View File

@ -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.

+ 0
- 2
ros1/gazebo_basics.md View File

@ -27,5 +27,3 @@ roslaunch stretch_gazebo gazebo.launch world:=worlds/willowgarage.world
<p align="center">
<img src="images/stretch_willowgarage_world.png"/>
</p>
**Next Tutorial:** [Teleoperating Stretch](teleoperating_stretch.md)

+ 2
- 4
ros1/getting_started.md View File

@ -54,9 +54,7 @@ source ~/.bashrc
## RoboMaker
<p align="center">
<img src="images/aws-robomaker.png"/>
<img src="ros1/images/aws-robomaker.png"/>
</p>
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.

+ 1
- 3
ros1/internal_state_of_stretch.md View File

@ -58,6 +58,4 @@ rqt_graph
<img src="images/rqt_graph.png"/>
</p>
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.

+ 1
- 3
ros1/moveit_basics.md View File

@ -56,6 +56,4 @@ This will launch an Rviz instance that visualizes the joints with markers and an
<p align="center">
<img src="images/gazebo_moveit.gif"/>
</p>
**Next Tutorial:** [Follow Joint Trajectory Commands](follow_joint_trajectory.md)
</p>

+ 1
- 4
ros1/navigation_stack.md View File

@ -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)
```

+ 1
- 4
ros1/perception.md View File

@ -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).

+ 1
- 3
ros1/rviz_basics.md View File

@ -39,6 +39,4 @@ the `rviz` flag will open an RViz window to visualize a variety of ROS topics.
<img src="images/willowgarage_with_rviz.png"/>
</p>
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.

+ 1
- 3
ros1/teleoperating_stretch.md View File

@ -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.

Loading…
Cancel
Save