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.

82 lines
3.8 KiB

3 years ago
  1. ![](../images/banner.png)
  2. ## Overview
  3. *stretch_deep_perception* provides demonstration code that uses open deep learning models to perceive the world.
  4. This code depends on the stretch_deep_perception_models repository, which should be installed under ~/stretch_user/ on your Stretch RE1 robot.
  5. Link to the stretch_deep_perception_models repository:
  6. https://github.com/hello-robot/stretch_deep_perception_models
  7. ## Getting Started Demos
  8. There are four demonstrations for you to try.
  9. ### Face Estimation Demo
  10. First, try running the face detection demonstration via the following command:
  11. ```
  12. roslaunch stretch_deep_perception stretch_detect_faces.launch
  13. ```
  14. RViz should show you the robot, the point cloud from the camera, and information about detected faces. If it detects a face, it should show a 3D planar model of the face and 3D facial landmarks. These deep learning models come from OpenCV and the Open Model Zoo (https://github.com/opencv/open_model_zoo).
  15. You can use the keyboard_teleop commands within the terminal that you ran roslaunch in order to move the robot's head around to see your face.
  16. ```
  17. i (tilt up)
  18. j (pan left) l (pan right)
  19. , (tilt down)
  20. ```
  21. Pan left and pan right are in terms of the robot's left and the robot's right.
  22. Now shut down everything that was launched by pressing q and Ctrl-C in the terminal.
  23. ### Object Detection Demo
  24. Second, try running the object detection demo, which uses the tiny YOLO v3 object detection network (https://pjreddie.com/darknet/yolo/). RViz will display planar detection regions. Detection class labels will be printed to the terminal.
  25. ```
  26. roslaunch stretch_deep_perception stretch_detect_objects.launch
  27. ```
  28. Once you're ready for the next demo, shut down everything that was launched by pressing q and Ctrl-C in the terminal.
  29. ### Body Landmark Detection Demo
  30. Third, try running the body landmark point detection demo. The deep learning model comes from the Open Model Zoo (https://github.com/opencv/open_model_zoo). RViz will display colored 3D points on body landmarks. The network also provides information to connect these landmarks, but this demo code does not currently use it.
  31. ```
  32. roslaunch stretch_deep_perception stretch_detect_body_landmarks.launch
  33. ```
  34. Once you're ready for the next demo, shut down everything that was launched by pressing q and Ctrl-C in the terminal.
  35. ### Nearest Mouth Detection Demo
  36. Finally, try running the nearest mouth detection demo. RViz will display a 3D frame of reference estimated for the nearest mouth detected by the robot. Sometimes the point cloud will make it difficult to see. Disabling the point cloud view in RViz will make it more visible.
  37. We have used this frame of reference to deliver food near a person's mouth. This has the potential to be useful for assistive feeding. However, use of this detector in this way could be risky. Please be very careful and aware that you are using it at your own risk.
  38. A less risky use of this detection is for object delivery. stretch_demos has a demonstration that delivers an object based on this frame of reference by holding out the object some distance from the mouth location and below the mouth location with respect to the world frame. This works well and is inspired by similar methods used with the robot EL-E at Georgia Tech [1].
  39. ```
  40. roslaunch stretch_deep_perception stretch_detect_nearest_mouth.launch
  41. ```
  42. ## References
  43. [1] Hand It Over or Set It Down: A User Study of Object Delivery with an Assistive Mobile Manipulator, Young Sang Choi, Tiffany L. Chen, Advait Jain, Cressel Anderson, Jonathan D. Glass, and Charles C. Kemp, IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), 2009. http://pwp.gatech.edu/hrl/wp-content/uploads/sites/231/2016/05/roman2009_delivery.pdf
  44. ## License
  45. For license information, please see the LICENSE files.