Hood ROS2 Tutorials on Dashing
From wikidb
References
Colcon
Create Workspace
ROS_DISTRO was set to 'crystal' before. Please make sure that the environment does not mix paths from different distributions.
$ mkdir -p ~/ros2_example_ws/src
$ cd ~/ros2_example_ws
$ cd ros2_example_ws
$ git clone https://github.com/ros2/examples src/examples Cloning into 'src/examples'... remote: Enumerating objects: 3613, done. remote: Total 3613 (delta 0), reused 0 (delta 0), pack-reused 3613 Receiving objects: 100% (3613/3613), 544.75 KiB | 9.08 MiB/s, done. Resolving deltas: 100% (2350/2350), done.
$ ls src/ examples
$ cd ~/ros2_example_ws/src/examples/
$ echo $ROS_DISTRO dashing
$ git checkout $ROS_DISTRO Branch 'dashing' set up to track remote branch 'dashing' from 'origin'. Switched to a new branch 'dashing'
$ cd ~/ros2_example_ws
$ colcon build --symlink-install Starting >>> examples_rclcpp_minimal_action_client Starting >>> examples_rclcpp_minimal_action_server Starting >>> examples_rclcpp_minimal_client Starting >>> examples_rclcpp_minimal_composition Finished <<< examples_rclcpp_minimal_client [18.4s] Starting >>> examples_rclcpp_minimal_publisher Finished <<< examples_rclcpp_minimal_action_server [22.2s] Starting >>> examples_rclcpp_minimal_service Finished <<< examples_rclcpp_minimal_action_client [24.9s] Starting >>> examples_rclcpp_minimal_subscriber Finished <<< examples_rclcpp_minimal_composition [26.5s] Starting >>> examples_rclcpp_minimal_timer Finished <<< examples_rclcpp_minimal_publisher [18.1s] Starting >>> examples_rclpy_executors Finished <<< examples_rclcpp_minimal_service [15.5s] Starting >>> examples_rclpy_minimal_action_client Finished <<< examples_rclpy_executors [3.20s] Starting >>> examples_rclpy_minimal_action_server Finished <<< examples_rclpy_minimal_action_client [3.54s] Starting >>> examples_rclpy_minimal_client Finished <<< examples_rclpy_minimal_action_server [3.11s] Starting >>> examples_rclpy_minimal_publisher Finished <<< examples_rclpy_minimal_client [2.64s] Starting >>> examples_rclpy_minimal_service Finished <<< examples_rclcpp_minimal_subscriber [19.6s] Finished <<< examples_rclcpp_minimal_timer [18.0s] Starting >>> examples_rclpy_minimal_subscriber Finished <<< examples_rclpy_minimal_publisher [1.75s] Finished <<< examples_rclpy_minimal_service [1.32s] Finished <<< examples_rclpy_minimal_subscriber [1.07s] Summary: 15 packages finished [45.9s]
eepp@hood:ros2_example_ws$ colcon test Starting >>> examples_rclcpp_minimal_action_client Starting >>> examples_rclcpp_minimal_action_server Starting >>> examples_rclcpp_minimal_client Starting >>> examples_rclcpp_minimal_composition Finished <<< examples_rclcpp_minimal_action_server [0.07s] Starting >>> examples_rclcpp_minimal_publisher Finished <<< examples_rclcpp_minimal_client [0.07s] Finished <<< examples_rclcpp_minimal_action_client [0.10s] Starting >>> examples_rclcpp_minimal_service Starting >>> examples_rclcpp_minimal_subscriber Finished <<< examples_rclcpp_minimal_composition [0.09s] Starting >>> examples_rclcpp_minimal_timer Finished <<< examples_rclcpp_minimal_publisher [0.06s] Starting >>> examples_rclpy_executors Finished <<< examples_rclcpp_minimal_service [0.07s] Finished <<< examples_rclcpp_minimal_subscriber [0.07s] Finished <<< examples_rclcpp_minimal_timer [0.06s] Starting >>> examples_rclpy_minimal_action_client Starting >>> examples_rclpy_minimal_action_server Starting >>> examples_rclpy_minimal_client Finished <<< examples_rclpy_executors [2.50s] Starting >>> examples_rclpy_minimal_publisher Finished <<< examples_rclpy_minimal_action_server [3.12s] Finished <<< examples_rclpy_minimal_action_client [3.12s] Starting >>> examples_rclpy_minimal_service Starting >>> examples_rclpy_minimal_subscriber Finished <<< examples_rclpy_minimal_client [4.76s] Finished <<< examples_rclpy_minimal_publisher [2.51s] Finished <<< examples_rclpy_minimal_service [2.49s] Finished <<< examples_rclpy_minimal_subscriber [3.02s] Summary: 15 packages finished [6.63s]
Environment Setup
$ . install/setup.bash
Demo
- Tested July 19, 2019 after install
- Tested Dec 31, 2019 after upgrade
Terminal 1 - Subscribe
$ ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function [INFO] [minimal_subscriber]: I heard: 'Hello, world! 0' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 1' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 2' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 3' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 4' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 5' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 6' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 7' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 8' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 9' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 10' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 11' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 12' [INFO] [minimal_subscriber]: I heard: 'Hello, world! 13' ^C[INFO] [rclcpp]: signal_handler(signal_value=2)
Terminal 2 Publisher
$ ros2 run examples_rclcpp_minimal_publisher publisher_member_function [INFO] [minimal_publisher]: Publishing: 'Hello, world! 0' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 1' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 2' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 3' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 4' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 5' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 6' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 7' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 8' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 9' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 10' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 11' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 12' [INFO] [minimal_publisher]: Publishing: 'Hello, world! 13' ^C[INFO] [rclcpp]: signal_handler(signal_value=2)