Hood Install Turtlebot3 ROS2 Dashing
From wikidb
Prep
- Depreciated Crystal settings in .bashrc
- Reboot to get a clean system
Turtlebot3 Install
$ echo $ROS_DISTRO dashing
$ mkdir -p ~/turtlebot3_ws/src
$ cd ~/turtlebot3_ws
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/turtlebot3/ros2/turtlebot3.repos --2019-07-19 10:23:43-- https://raw.githubusercontent.com/ROBOTIS-GIT/turtlebot3/ros2/turtlebot3.repos Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.52.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.52.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1458 (1.4K) [text/plain] Saving to: ‘turtlebot3.repos’ turtlebot3.repos 100%[===================>] 1.42K --.-KB/s in 0s 2019-07-19 10:23:43 (69.2 MB/s) - ‘turtlebot3.repos’ saved [1458/1458]
$ vcs import src < turtlebot3.repos ............ === src/cartographer/cartographer (git) === Cloning into '.'... Switched to a new branch 'dashing' Branch 'dashing' set up to track remote branch 'dashing' from 'origin'. === src/cartographer/cartographer_ros (git) === Cloning into '.'... Switched to a new branch 'dashing' Branch 'dashing' set up to track remote branch 'dashing' from 'origin'. === src/cartographer/pcl_conversions (git) === Cloning into '.'... Already on 'ros2' Your branch is up to date with 'origin/ros2'. === src/gazebo/camera_info_manager (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/gazebo/gazebo_ros_pkgs (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/gazebo/vision_opencv (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/navigation2/BehaviorTree.CPP (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/navigation2/angles (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/navigation2/navigation2 (git) === Cloning into '.'... Switched to a new branch 'dashing-devel' Branch 'dashing-devel' set up to track remote branch 'dashing-devel' from 'origin'. === src/turtlebot3/turtlebot3 (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/turtlebot3/turtlebot3_msgs (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'. === src/turtlebot3/turtlebot3_simulations (git) === Cloning into '.'... Switched to a new branch 'ros2' Branch 'ros2' set up to track remote branch 'ros2' from 'origin'.
$ colcon build --symlink-install Starting >>> nav2_common Starting >>> nav_2d_msgs Starting >>> angles Starting >>> behaviortree_cpp Finished <<< nav2_common [1.52s] Starting >>> nav2_msgs Finished <<< angles [3.56s] Starting >>> nav2_voxel_grid [Processing: behaviortree_cpp, nav2_msgs, nav2_voxel_grid, nav_2d_msgs] Finished <<< nav2_voxel_grid [41.2s] Starting >>> cv_bridge Finished <<< nav_2d_msgs [51.3s] Starting >>> dwb_msgs [Processing: behaviortree_cpp, cv_bridge, dwb_msgs, nav2_msgs] Finished <<< cv_bridge [1min 4s] Starting >>> camera_calibration_parsers Finished <<< behaviortree_cpp [1min 59s] Starting >>> cartographer Finished <<< dwb_msgs [1min 22s] Starting >>> cartographer_ros_msgs Finished <<< camera_calibration_parsers [32.1s] Starting >>> gazebo_dev Finished <<< gazebo_dev [3.37s] Starting >>> gazebo_msgs Finished <<< nav2_msgs [2min 49s] Starting >>> nav2_util --- stderr: nav2_util CMake Error at CMakeLists.txt:16 (find_package): By not providing "Findtest_msgs.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "test_msgs", but CMake did not find one. Could not find a package configuration file provided by "test_msgs" with any of the following names: test_msgsConfig.cmake test_msgs-config.cmake Add the installation prefix of "test_msgs" to CMAKE_PREFIX_PATH or set "test_msgs_DIR" to a directory containing one of the above files. If "test_msgs" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< nav2_util [ Exited with code 1 ] Aborted <<< cartographer_ros_msgs Aborted <<< gazebo_msgs --- stderr: cartographer In file included from /usr/src/googletest/googlemock/include/gmock/gmock-spec-builders.h:75:0, from /usr/src/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h:43, from /usr/src/googletest/googlemock/include/gmock/gmock.h:61, from /home/eepp/turtlebot3_ws/src/cartographer/cartographer/cartographer/io/serialization_format_migration_test.cc:27: /usr/src/googletest/googlemock/include/gmock/gmock-matchers.h: In instantiation of ‘bool testing::internal::AnyEq::operator()(const A&, const B&) const [with A = unsigned int; B = int]’: /usr/src/googletest/googlemock/include/gmock/gmock-matchers.h:908:18: required from ‘bool testing::internal::ComparisonBase<D, Rhs, Op>::Impl<Lhs>::MatchAndExplain(Lhs, testing::MatchResultListener*) const [with Lhs = const unsigned int&; D = testing::internal::EqMatcher<int>; Rhs = int; Op = testing::internal::AnyEq]’ /home/eepp/turtlebot3_ws/src/cartographer/cartographer/cartographer/io/serialization_format_migration_test.cc:120:1: required from here /usr/src/googletest/googlemock/include/gmock/gmock-matchers.h:204:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] bool operator()(const A& a, const B& b) const { return a == b; } ~~^~~~ --- Aborted <<< cartographer Summary: 10 packages finished [11min 33s] 1 package failed: nav2_util 3 packages aborted: cartographer cartographer_ros_msgs gazebo_msgs 2 packages had stderr output: cartographer nav2_util 41 packages not processed
$ colcon build --symlink-install Starting >>> nav2_common Starting >>> nav_2d_msgs Starting >>> angles Starting >>> behaviortree_cpp Finished <<< angles [0.60s] Starting >>> cv_bridge Finished <<< nav2_common [0.65s] Starting >>> nav2_msgs Finished <<< cv_bridge [0.92s] Starting >>> nav2_voxel_grid Finished <<< nav2_voxel_grid [0.67s] Starting >>> camera_calibration_parsers Finished <<< behaviortree_cpp [2.36s] Starting >>> cartographer Finished <<< nav_2d_msgs [2.41s] Starting >>> dwb_msgs Finished <<< camera_calibration_parsers [1.52s] Starting >>> cartographer_ros_msgs Finished <<< nav2_msgs [3.60s] Starting >>> nav2_util --- stderr: nav2_util CMake Error at CMakeLists.txt:16 (find_package): By not providing "Findtest_msgs.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "test_msgs", but CMake did not find one. Could not find a package configuration file provided by "test_msgs" with any of the following names: test_msgsConfig.cmake test_msgs-config.cmake Add the installation prefix of "test_msgs" to CMAKE_PREFIX_PATH or set "test_msgs_DIR" to a directory containing one of the above files. If "test_msgs" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< nav2_util [ Exited with code 1 ] Aborted <<< cartographer_ros_msgs Aborted <<< cartographer Aborted <<< dwb_msgs Summary: 8 packages finished [7.03s] 1 package failed: nav2_util 3 packages aborted: cartographer cartographer_ros_msgs dwb_msgs 1 package had stderr output: nav2_util 43 packages not processed
$ sudo apt install ros-dashing-test-msgs [sudo] password for eepp: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: ros-dashing-test-msgs 0 upgraded, 1 newly installed, 0 to remove and 238 not upgraded. Need to get 2,291 kB of archives. After this operation, 30.5 MB of additional disk space will be used. Get:1 http://packages.ros.org/ros2/ubuntu bionic/main amd64 ros-dashing-test-msgs amd64 0.7.4-1bionic.20190612.215159 [2,291 kB] Fetched 2,291 kB in 1s (3,457 kB/s) Selecting previously unselected package ros-dashing-test-msgs. (Reading database ... 257714 files and directories currently installed.) Preparing to unpack .../ros-dashing-test-msgs_0.7.4-1bionic.20190612.215159_amd64.deb ... Unpacking ros-dashing-test-msgs (0.7.4-1bionic.20190612.215159) ... Setting up ros-dashing-test-msgs (0.7.4-1bionic.20190612.215159) ... Processing triggers for libc-bin (2.27-3ubuntu1) ...
$ sudo apt install ros-dashing-tf2-sensor-msgs Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: ros-dashing-tf2-sensor-msgs 0 upgraded, 1 newly installed, 0 to remove and 238 not upgraded. Need to get 7,372 B of archives. After this operation, 45.1 kB of additional disk space will be used. Get:1 http://packages.ros.org/ros2/ubuntu bionic/main amd64 ros-dashing-tf2-sensor-msgs amd64 0.11.3-2bionic.20190613.063043 [7,372 B] Fetched 7,372 B in 0s (91.0 kB/s) Selecting previously unselected package ros-dashing-tf2-sensor-msgs. (Reading database ... 258363 files and directories currently installed.) Preparing to unpack .../ros-dashing-tf2-sensor-msgs_0.11.3-2bionic.20190613.063043_amd64.deb ... Unpacking ros-dashing-tf2-sensor-msgs (0.11.3-2bionic.20190613.063043) ... Setting up ros-dashing-tf2-sensor-msgs (0.11.3-2bionic.20190613.063043) ...
$ colcon build --symlink-install Starting >>> nav2_common Starting >>> nav_2d_msgs Starting >>> angles Starting >>> behaviortree_cpp Finished <<< angles [0.52s] Starting >>> cv_bridge Finished <<< nav2_common [0.61s] Starting >>> nav2_msgs Finished <<< cv_bridge [1.01s] Starting >>> nav2_voxel_grid Finished <<< nav2_voxel_grid [0.69s] Starting >>> camera_calibration_parsers Finished <<< behaviortree_cpp [2.39s] Starting >>> cartographer Finished <<< nav_2d_msgs [2.46s] Starting >>> dwb_msgs Finished <<< camera_calibration_parsers [1.76s] Starting >>> cartographer_ros_msgs Finished <<< nav2_msgs [3.51s] Starting >>> nav2_util Finished <<< dwb_msgs [4.37s] Starting >>> nav_2d_utils Finished <<< cartographer_ros_msgs [13.8s] Starting >>> gazebo_dev Finished <<< gazebo_dev [0.90s] Starting >>> gazebo_msgs Finished <<< cartographer [21.7s] Starting >>> image_transport Finished <<< nav_2d_utils [18.0s] Starting >>> turtlebot3_msgs Finished <<< gazebo_msgs [32.7s] Starting >>> gazebo_ros Finished <<< turtlebot3_msgs [44.2s] Starting >>> turtlebot3_bringup Finished <<< turtlebot3_bringup [3.50s] Starting >>> turtlebot3_description Finished <<< nav2_util [1min 11s] Starting >>> nav2_robot Finished <<< turtlebot3_description [3.83s] Starting >>> nav2_lifecycle_manager Finished <<< nav2_lifecycle_manager [29.3s] Starting >>> nav2_map_server Finished <<< nav2_robot [47.5s] Starting >>> nav2_behavior_tree Finished <<< image_transport [1min 46s] Starting >>> nav2_amcl Finished <<< nav2_behavior_tree [11.7s] Starting >>> nav2_navfn_planner [Processing: gazebo_ros, nav2_amcl, nav2_map_server, nav2_navfn_planner] Finished <<< nav2_navfn_planner [33.7s] Starting >>> nav2_rviz_plugins Finished <<< nav2_map_server [1min 15s] Starting >>> nav2_costmap_2d Finished <<< nav2_amcl [1min 2s] Starting >>> nav2_bt_navigator Finished <<< nav2_rviz_plugins [49.2s] Starting >>> camera_info_manager Finished <<< camera_info_manager [9.49s] Starting >>> turtlebot3_teleop Finished <<< turtlebot3_teleop [1.71s] Starting >>> turtlebot3_node Finished <<< turtlebot3_node [21.5s] Starting >>> image_geometry Finished <<< nav2_bt_navigator [1min 5s] Starting >>> pcl_conversions Finished <<< image_geometry [22.5s] Starting >>> turtlebot3_simulations Finished <<< turtlebot3_simulations [3.40s] Starting >>> opencv_tests Finished <<< opencv_tests [1.74s] Starting >>> vision_opencv Finished <<< vision_opencv [3.41s] Starting >>> nav2_dynamic_params Finished <<< pcl_conversions [30.2s] Starting >>> cartographer_ros [Processing: cartographer_ros, gazebo_ros, nav2_costmap_2d, nav2_dynamic_params] [Processing: cartographer_ros, gazebo_ros, nav2_costmap_2d, nav2_dynamic_params] Finished <<< nav2_dynamic_params [1min 12s] [Processing: cartographer_ros, gazebo_ros, nav2_costmap_2d] Finished <<< gazebo_ros [5min 51s] Starting >>> gazebo_plugins Finished <<< nav2_costmap_2d [4min 3s] Starting >>> dwb_core Starting >>> costmap_queue [Processing: cartographer_ros, costmap_queue, dwb_core, gazebo_plugins] Finished <<< costmap_queue [39.0s] Starting >>> nav2_motion_primitives Finished <<< dwb_core [51.7s] Starting >>> dwb_controller Finished <<< cartographer_ros [3min 35s] Starting >>> dwb_critics [Processing: dwb_controller, dwb_critics, gazebo_plugins, nav2_motion_primitives] Finished <<< dwb_controller [57.7s] Starting >>> dwb_plugins Finished <<< nav2_motion_primitives [1min 20s] Starting >>> nav2_world_model Finished <<< nav2_world_model [26.8s] Starting >>> turtlebot3_cartographer Finished <<< turtlebot3_cartographer [3.70s] Finished <<< dwb_plugins [1min 4s] Finished <<< dwb_critics [1min 39s] Starting >>> nav2_dwb_controller Finished <<< nav2_dwb_controller [6.08s] Starting >>> navigation2 Finished <<< navigation2 [2.54s] Starting >>> turtlebot3_navigation2 Starting >>> nav2_bringup Finished <<< turtlebot3_navigation2 [4.20s] Starting >>> turtlebot3 Finished <<< nav2_bringup [4.32s] Finished <<< turtlebot3 [2.91s] [Processing: gazebo_plugins] [Processing: gazebo_plugins] [Processing: gazebo_plugins] Finished <<< gazebo_plugins [5min 22s] Starting >>> gazebo_ros_pkgs Finished <<< gazebo_ros_pkgs [1.97s] Starting >>> turtlebot3_gazebo Finished <<< turtlebot3_gazebo [3.64s] Summary: 55 packages finished [12min 11s]
Environment Setup
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc $ source ~/.bashrc