Difference between revisions of "Turtlebot3 Waffle NUC Install ROS2 Humble 20240422"

From wikidb
Jump to: navigation, search
(Install ROS 2 Packages)
(Install ROS 2 Packages)
Line 172: Line 172:
 
   sudo apt install ros-humble-desktop
 
   sudo apt install ros-humble-desktop
  
* [[InstallROS2Packages20240416]] Install log
+
* [[InstallROS2Desktop20240416]] Install log
  
 
Install ROS Base - Bar Bones
 
Install ROS Base - Bar Bones

Revision as of 10:32, 18 May 2024

Configure the adams (NUC)

Primary Reference

The primary reference is on ros.org. This is how I got to the correct link.

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

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

Environment Setup


  eepp@adams:~$ emacs ~/.bashrc &
  • add at the end
 // Setup ROS Humble
 source /opt/ros/humble/setup.bash

Example Talker Listener

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:~$ 

Copied Navigation Scripts from Hood

  84  mkdir scripts
  87  cd scripts/
  93  scp 10.0.0.111:scripts/make_map.sh .
  94  scp 10.0.0.111:scripts/nav2.sh .
  95  scp 10.0.0.111:scripts/keyboard_teleop.sh .
  96  scp 10.0.0.111:scripts/keyboard_save_map.sh .
  97  scp 10.0.0.111:scripts/save_map.sh .
  98  ls
  99  ll

PC Setup

  • PC Setup
  • make sure "Humble" tab is selected


Install Dependent ROS Packages

Gazebo

Cartographer

Navagation2

Turtlebot3

Environment

 $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
 $ source ~/.bashrc