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.

60 lines
2.8 KiB

2 years ago
  1. ## Getting the State of the Robot
  2. Begin by starting up the stretch driver launch file.
  3. ```bash
  4. # Terminal 1
  5. roslaunch stretch_core stretch_driver.launch
  6. ```
  7. Then utilize the ROS command-line tool, [rostopic](http://wiki.ros.org/rostopic), to display Stretch's internal state information. For instance, to view the current state of the robot's joints, simply type the following in a terminal.
  8. ```bash
  9. # Terminal 2
  10. rostopic echo /joint_states -n1
  11. ```
  12. Note that the flag, `-n1`, at the end of the command defines the count of how many times you wish to publish the current topic information. Remove the flag if you prefer to continuously print the topic for debugging purposes.
  13. Your terminal will output the information associated with the `/joint_states` topic. Your `header`, `position`, `velocity`, and `effort` information may vary from what is printed below.
  14. ```
  15. header:
  16. seq: 70999
  17. stamp:
  18. secs: 1420
  19. nsecs: 2000000
  20. frame_id: ''
  21. name: [joint_arm_l0, joint_arm_l1, joint_arm_l2, joint_arm_l3, joint_gripper_finger_left,
  22. joint_gripper_finger_right, joint_head_pan, joint_head_tilt, joint_left_wheel, joint_lift,
  23. joint_right_wheel, joint_wrist_yaw]
  24. position: [-1.6137320244357253e-08, -2.9392484829061376e-07, -2.8036125938539207e-07, -2.056847528567165e-07, -2.0518734302754638e-06, -5.98271107676851e-06, 2.9291786329821434e-07, 1.3802900147297237e-06, 0.08154086954434359, 1.4361499260374905e-07, 0.4139061738340768, 9.32603306580404e-07]
  25. velocity: [0.00015598730463972836, -0.00029395074514369584, -0.0002803845454217379, 1.322424459109634e-05, -0.00035084643762840415, 0.0012164337445918797, 0.0002138814988808099, 0.00010419792027496809, 4.0575263146426684e-05, 0.00022487596895736357, -0.0007751929074042957, 0.0002451588607332439]
  26. effort: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
  27. ---
  28. ```
  29. Let's say you are interested in only seeing the `header` component of the `/joint_states` topic, you can output this within the rostopic command-line tool by typing the following command.
  30. ```bash
  31. # Terminal 2
  32. rostopic echo /joint_states/header -n1
  33. ```
  34. Your terminal will then output something similar to this:
  35. ```
  36. seq: 97277
  37. stamp:
  38. secs: 1945
  39. nsecs: 562000000
  40. frame_id: ''
  41. ---
  42. ```
  43. Additionally, if you were to type `rostopic echo /` in the terminal, then press your *Tab* key on your keyboard, you will see the list of published active topics.
  44. A powerful tool to visualize the ROS communication is the ROS [rqt_graph package](http://wiki.ros.org/rqt_graph). By typing the following, you can see a graph of topics being communicated between nodes.
  45. ```bash
  46. # Terminal 3
  47. rqt_graph
  48. ```
  49. <p align="center">
  50. <img src="https://raw.githubusercontent.com/hello-robot/stretch_tutorials/main/images/rqt_graph.png"/>
  51. </p>
  52. 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.