Difference between revisions of "Turtlebot3 Waffle NUC Install ROS2 Humble 20240422"
From wikidb
(→Install ROS 2 Packages) |
(→Copied Navigation Scripts from Hood) |
||
(24 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Configure the adams (NUC) = | = Configure the adams (NUC) = | ||
− | == Primary | + | |
− | The primary reference is on ros.org. This is how I got to the correct link. | + | The adams NUC is a combination of the SBC and Remote PC. This page integrates these two camabilitiews. |
+ | |||
+ | = SBC Capabilities Setup = | ||
+ | |||
+ | == SBC Primary References == | ||
+ | The primary reference is on ros.org. These are the capabilities that were installed on the Raspberry Pi 4 in the original Waffle configuration. This is how I got to the correct link. | ||
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/sbc_setup/#sbc-setup SBC (Single Board Computer) Setup] | * [https://emanual.robotis.com/docs/en/platform/turtlebot3/sbc_setup/#sbc-setup SBC (Single Board Computer) Setup] | ||
Line 172: | Line 177: | ||
sudo apt install ros-humble-desktop | sudo apt install ros-humble-desktop | ||
− | * [[ | + | * [[InstallROS2Desktop20240416]] Install log |
Install ROS Base - Bar Bones | Install ROS Base - Bar Bones | ||
Line 191: | Line 196: | ||
sudo apt install ros-dev-tools | sudo apt install ros-dev-tools | ||
− | * [[ | + | * [[InstallROS2DevTools-20240416]] Install log |
== Environment Setup == | == Environment Setup == | ||
− | + | Add sourcing the Humble environment to our current environmnet | |
− | + | ||
− | + | ||
eepp@adams:~$ emacs ~/.bashrc & | eepp@adams:~$ emacs ~/.bashrc & | ||
− | * add at the end | + | * add at the end of the .bashrc file |
// Setup ROS Humble | // Setup ROS Humble | ||
source /opt/ros/humble/setup.bash | source /opt/ros/humble/setup.bash | ||
== Example Talker Listener == | == Example Talker Listener == | ||
+ | |||
+ | Do a signs of life test of ROS 2 Humble by running the Talker/Listener demo. | ||
'''TERMINAL 1''' | '''TERMINAL 1''' | ||
Line 242: | Line 247: | ||
</pre> | </pre> | ||
− | + | '''Test passed''' | |
− | + | = Remote PC Capabilities Setup = | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | = PC | + | == Remote PC Primary References == |
+ | The primary reference is on ros.org. These are the capabilities that were installed on the robot laptop in the original Waffle configuration. | ||
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#pc-setup PC Setup] | * [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#pc-setup PC Setup] | ||
− | * make sure "Humble" tab is selected | + | ** Section 3.1 PC Setup |
− | + | ** make sure "Humble" tab is selected | |
== Install Dependent ROS Packages == | == Install Dependent ROS Packages == | ||
+ | |||
+ | * Skip to section 3.1.3 in the Robotis e-Manual. Sections 3.1.1 "''Download and Install Ubuntu on PC''" and 3.1.2 "''Install ROS 2 on Remote PC''" where done in the SBC section above, | ||
=== Gazebo === | === Gazebo === | ||
− | * [[Install Gazebo NUC 20240422]] | + | sudo apt install ros-humble-gazebo-* |
+ | * [[Install Gazebo NUC 20240422]] install log | ||
=== Cartographer === | === Cartographer === | ||
− | * [[Install Cartographer NUC 20240422]] | + | sudo apt install ros-humble-cartographer |
+ | sudo apt install ros-humble-cartographer-ros | ||
+ | |||
+ | * [[Install Cartographer NUC 20240422]] install log | ||
=== Navagation2 === | === Navagation2 === | ||
− | + | sudo apt install ros-humble-navigation2 | |
+ | sudo apt install ros-humble-nav2-bringup | ||
− | + | * [[Install Navagation2 NUC 20240422]] install log | |
+ | |||
+ | == Turtlebot3 == | ||
+ | |||
+ | $ sudo apt install ros-humble-dynamixel-sdk | ||
+ | |||
+ | $ sudo apt install ros-humble-turtlebot3-msgs | ||
+ | |||
+ | $ sudo apt install ros-humble-turtlebot3 | ||
− | * [[Install Turtlebot3 Packages NUC 20240422]] | + | * [[Install Turtlebot3 Packages NUC 20240422]] install log |
== Environment == | == Environment == |
Latest revision as of 12:36, 18 May 2024
Configure the adams (NUC)
The adams NUC is a combination of the SBC and Remote PC. This page integrates these two camabilitiews.
SBC Capabilities Setup
SBC Primary References
The primary reference is on ros.org. These are the capabilities that were installed on the Raspberry Pi 4 in the original Waffle configuration. This is how I got to the correct link.
- SBC (Single Board Computer) Setup
- This is section 3.2 SBC Setup
- 3.2.4.12. Install ROS2 Humble Hawksbill
- Ubuntu Install Debians Start Here
- 3.2.4.12. Install ROS2 Humble Hawksbill
- This is section 3.2 SBC Setup
Set Locales
eepp@adams:~/notes$ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= eepp@adams:~/notes$ sudo apt update && sudo apt install locales Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Hit:2 http://us.archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB] Hit:4 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease Get:5 http://us.archive.ubuntu.com/ubuntu jammy-updates/main i386 Packages [611 kB] Get:6 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1,562 kB] Get:7 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1,075 kB] Get:8 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe i386 Packages [699 kB] Fetched 4,176 kB in 2s (2,656 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 5 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree... Done Reading state information... Done locales is already the newest version (2.35-0ubuntu3.6). locales set to manually installed. The following packages were automatically installed and are no longer required: libwpe-1.0-1 libwpebackend-fdo-1.0-1 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. eepp@adams:~/notes$ sudo locale-gen en_US en_US.UTF-8 Generating locales (this might take a while)... en_US.ISO-8859-1... done en_US.UTF-8... done Generation complete. eepp@adams:~/notes$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 eepp@adams:~/notes$ export LANG=en_US.UTF-8 eepp@adams:~/notes$ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Setup Sources
Ensure that the Ubuntu Universe repositoyr is enabled
eepp@adams:~/notes$ sudo apt install software-properties-common Reading package lists... Done Building dependency tree... Done Reading state information... Done software-properties-common is already the newest version (0.99.22.9). software-properties-common set to manually installed. The following packages were automatically installed and are no longer required: libwpe-1.0-1 libwpebackend-fdo-1.0-1 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. eepp@adams:~/notes$ sudo add-apt-repository universe Adding component(s) 'universe' to all repositories. Press [ENTER] to continue or Ctrl-c to cancel. Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu jammy InRelease Hit:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:4 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease Reading package lists... Done
Add the ROS 2 GPG key
eepp@adams:~/notes$ sudo apt update && sudo apt install curl -y Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu jammy InRelease Hit:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:4 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done 5 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: libwpe-1.0-1 libwpebackend-fdo-1.0-1 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: curl 0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 194 kB of archives. After this operation, 454 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 curl amd64 7.81.0-1ubuntu1.16 [194 kB] Fetched 194 kB in 1s (376 kB/s) Selecting previously unselected package curl. (Reading database ... 205154 files and directories currently installed.) Preparing to unpack .../curl_7.81.0-1ubuntu1.16_amd64.deb ... Unpacking curl (7.81.0-1ubuntu1.16) ... Setting up curl (7.81.0-1ubuntu1.16) ... Processing triggers for man-db (2.10.2-1) ... eepp@adams:~/notes$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Add the repository to my source list
eepp@adams:~/notes$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Install ROS 2 Packages
Update and Upgrade
eepp@adams:~/notes$ sudo apt update Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease Get:4 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B] Hit:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease Get:6 http://packages.ros.org/ros2/ubuntu jammy/main amd64 Packages [1,481 kB] Fetched 1,485 kB in 1s (1,107 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 5 packages can be upgraded. Run 'apt list --upgradable' to see them. eepp@adams:~/notes$ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: libwpe-1.0-1 libwpebackend-fdo-1.0-1 Use 'sudo apt autoremove' to remove them. The following packages have been kept back: python3-update-manager ubuntu-advantage-tools ubuntu-pro-client-l10n update-manager update-manager-core 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Install Humble ROS, RViz, demos, tutorials
sudo apt install ros-humble-desktop
- InstallROS2Desktop20240416 Install log
Install ROS Base - Bar Bones
eepp@adams:~/notes$ sudo apt install ros-humble-ros-base [sudo] password for eepp: Reading package lists... Done Building dependency tree... Done Reading state information... Done ros-humble-ros-base is already the newest version (0.10.0-1jammy.20240217.113903). ros-humble-ros-base set to manually installed. The following packages were automatically installed and are no longer required: libwpe-1.0-1 libwpebackend-fdo-1.0-1 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Install development tools: Compiler, etc
sudo apt install ros-dev-tools
- InstallROS2DevTools-20240416 Install log
Environment Setup
Add sourcing the Humble environment to our current environmnet
eepp@adams:~$ emacs ~/.bashrc &
- add at the end of the .bashrc file
// Setup ROS Humble source /opt/ros/humble/setup.bash
Example Talker Listener
Do a signs of life test of ROS 2 Humble by running the Talker/Listener demo.
TERMINAL 1
eepp@adams:~$ ros2 run demo_nodes_cpp talker [INFO] [1713744119.577519274] [talker]: Publishing: 'Hello World: 1' [INFO] [1713744120.577533489] [talker]: Publishing: 'Hello World: 2' [INFO] [1713744121.577567785] [talker]: Publishing: 'Hello World: 3' [INFO] [1713744122.577595544] [talker]: Publishing: 'Hello World: 4' [INFO] [1713744123.577632438] [talker]: Publishing: 'Hello World: 5' [INFO] [1713744124.577659430] [talker]: Publishing: 'Hello World: 6' [INFO] [1713744125.577675939] [talker]: Publishing: 'Hello World: 7' [INFO] [1713744126.577718998] [talker]: Publishing: 'Hello World: 8' [INFO] [1713744127.577753904] [talker]: Publishing: 'Hello World: 9' [INFO] [1713744128.577793539] [talker]: Publishing: 'Hello World: 10' [INFO] [1713744129.577829964] [talker]: Publishing: 'Hello World: 11' [INFO] [1713744130.577790922] [talker]: Publishing: 'Hello World: 12' [INFO] [1713744131.577873203] [talker]: Publishing: 'Hello World: 13' [INFO] [1713744132.577905447] [talker]: Publishing: 'Hello World: 14' [INFO] [1713744133.577939617] [talker]: Publishing: 'Hello World: 15' ^C[INFO] [1713744133.625163376] [rclcpp]: signal_handler(signum=2) eepp@adams:~$
TERMINAL 2
eepp@adams:~$ ros2 run demo_nodes_py listener [INFO] [1713744125.584516000] [listener]: I heard: [Hello World: 7] [INFO] [1713744126.578340393] [listener]: I heard: [Hello World: 8] [INFO] [1713744127.578443721] [listener]: I heard: [Hello World: 9] [INFO] [1713744128.578487730] [listener]: I heard: [Hello World: 10] [INFO] [1713744129.578498026] [listener]: I heard: [Hello World: 11] ^Ceepp@adams:~$
Test passed
Remote PC Capabilities Setup
Remote PC Primary References
The primary reference is on ros.org. These are the capabilities that were installed on the robot laptop in the original Waffle configuration.
- PC Setup
- Section 3.1 PC Setup
- make sure "Humble" tab is selected
Install Dependent ROS Packages
- Skip to section 3.1.3 in the Robotis e-Manual. Sections 3.1.1 "Download and Install Ubuntu on PC" and 3.1.2 "Install ROS 2 on Remote PC" where done in the SBC section above,
Gazebo
sudo apt install ros-humble-gazebo-*
- Install Gazebo NUC 20240422 install log
Cartographer
sudo apt install ros-humble-cartographer sudo apt install ros-humble-cartographer-ros
- Install Cartographer NUC 20240422 install log
sudo apt install ros-humble-navigation2 sudo apt install ros-humble-nav2-bringup
- Install Navagation2 NUC 20240422 install log
Turtlebot3
$ sudo apt install ros-humble-dynamixel-sdk $ sudo apt install ros-humble-turtlebot3-msgs $ sudo apt install ros-humble-turtlebot3
- Install Turtlebot3 Packages NUC 20240422 install log
Environment
$ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc $ source ~/.bashrc