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

From wikidb
Jump to: navigation, search
(Reforences)
(Managing URDF Files)
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
= References =
+
= Primary References =
  
== Robotis ==
+
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/ TB3 eManual Quick Start] from Robotis
 +
** Set tab to "Humble"
 +
* [https://docs.ros.org/en/humble/index.html ROS 2 Humble Documentation]
  
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/ TB3 eManual Quick Start]
+
== Goal ==
  
= Install Ubuntu on NUC =
+
The goal is to but as much of the intelligence on the robot as is reasonable. The PC and SBC (Single Board Computer) are combined in a NUC. The installation has been adjusted to accommodate.
  
* New NUC11PAHi5
+
== Turtlebot3 Overview ==
  
* Linux 22.04
+
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ Overview]
  
* [https://ubuntu.com/core/docs/install-nuc Installing Ubuntu Core on a NUC]
+
= Install Ubuntu on NUC Named adams =
  
== On Hood - NUC ==
+
* [[Turtlebot3 Waffle NUC Install ubuntu jammy 22.04 20240422]]
 +
* [[Turtlebot3 Waffle NUC Maintenance 20240617]]
  
=== download Linux ===
+
= Install ROS2 on NUC Named adams =
  
* Link from above
+
* [[Turtlebot3 Waffle NUC Install ROS2 Humble 20240422]]
* 22.04.4 LTS
+
* [[Turtlebot3 Waffle NUC Humble Configure 20240426]]
** rw------- 1 eepp eepp 629882880 Apr 16 13:57  ubuntu-22.a5doQ9x1.04.4-desktop-amd64.iso.part
+
* [[Turtlebot3 Waffle NUC Humble Testing 20240520]]
 +
* TBD [[Image Backup]]
  
ERROR
+
= ROS 2 Build System =
  eepp@sisters:~$ sudo apt-get install MultiWriter
+
      Reading package lists... Done
+
      Building dependency tree     
+
      Reading state information... Done
+
      E: Unable to locate package MultiWriter
+
  eepp@sisters:~$
+
  
<pre>
+
* [[ROS 2 Build System 20240524]]
eepp@hood:~$ sudo apt install gnome-multi-writer
+
Reading package lists... Done
+
Building dependency tree     
+
Reading state information... Done
+
The following NEW packages will be installed:
+
  gnome-multi-writer
+
0 upgraded, 1 newly installed, 0 to remove and 594 not upgraded.
+
Need to get 135 kB of archives.
+
After this operation, 572 kB of additional disk space will be used.
+
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 gnome-multi-writer amd64 3.32.1-1 [135 kB]
+
Fetched 135 kB in 1s (255 kB/s)           
+
Selecting previously unselected package gnome-multi-writer.
+
(Reading database ... 291963 files and directories currently installed.)
+
Preparing to unpack .../gnome-multi-writer_3.32.1-1_amd64.deb ...
+
Unpacking gnome-multi-writer (3.32.1-1) ...
+
Setting up gnome-multi-writer (3.32.1-1) ...
+
Processing triggers for mime-support (3.64ubuntu1) ...
+
Processing triggers for hicolor-icon-theme (0.17-2) ...
+
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
+
Processing triggers for libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.6) ...
+
Processing triggers for man-db (2.9.1-1) ...
+
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
+
eepp@hood:~$
+
</pre>
+
  
=== Copy to USB ===
+
= Managing URDF Files =
* gnome-multi-writer &
+
  
== On New NUC ==
+
* [[Turtlebot3 Waffle Nuc HW 20240623]]
 +
* [[Turtlebot3 URDF Editing 20240524]]
 +
* [[Turtlebot3 Waffle Nuc URDF 20240623]]
  
=== Boot Ubuntu Installer ===
+
= Bringup Goal =
  
* F10 on boot
+
* [https://events.vtools.ieee.org/m/265434 TURTLEBOT3 BURGER BUILD 02 Build Introduction]
* Chose 4th time in the list with name xxx
+
  
=== Pick Ubuntu Install Options ===
+
= Adams SW Installations =
  
* Mostly defaults
+
* [[Adams SW Installations]]
 
+
= Install ROS 2.0 on adams =
+
* SBC Setup
+
 
+
 
+
* * [https://emanual.robotis.com/docs/en/platform/turtlebot3/sbc_setup/#sbc-setup
+
* 12. Install ROS2 Humble Hawksbill
+
 
+
 
+
* [https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html Ubuntu Install Debians]
+
 
+
== Set Locales ==
+
 
+
<pre>
+
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$
+
</pre>
+
 
+
 
+
 
+
<pre>
+
epp@adams:~/notes$
+
eepp@adams:~/notes$
+
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$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
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$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$ export LANG=en_US.UTF-8
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
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$
+
</pre>
+
 
+
 
+
==Setup Sources ==
+
<pre>
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
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$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
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
+
eepp@adams:~/notes$
+
 
+
 
+
 
+
eepp@adams:~/notes$
+
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$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
eepp@adams:~/notes$
+
</pre>
+
 
+
 
+
 
+
 
+
<pre>
+
eepp@adams:~/notes$
+
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
+
eepp@adams:~/notes$
+
</pre>
+
 
+
 
+
==Install ROS 2 Packages==
+
 
+
 
+
<pre>
+
epp@adams:~/notes$
+
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$
+
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.
+
eepp@adams:~/notes$
+
 
+
</pre>
+
 
+
 
+
[[InstallROS2Packages20240416]]
+
 
+
 
+
 
+
<pre>
+
 
+
eepp@adams:~/notes$
+
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.
+
eepp@adams:~/notes$
+
 
+
</pre>
+
 
+
 
+
 
+
[[InstallROS2PackagesPart3-20240416]]
+
 
+
== Environment Setup ==
+
 
+
* See this section in
+
* [https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html Ubuntu Install Debians]
+
 
+
 
+
  eepp@adams:~$ emacs ~/.bashrc &
+
 
+
* add at the end
+
  // Setup ROS Humble
+
  source /opt/ros/humble/setup.bash
+
 
+
== Example Talker Listener ==
+
 
+
'''TERMINAL 1'''
+
 
+
<pre>
+
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:~$
+
</pre>
+
 
+
'''TERMINAL 2'''
+
 
+
<pre>
+
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:~$
+
</pre>
+
 
+
== 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 =
+
 
+
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#pc-setup PC Setup]
+
* make sure "Humble" tab is selected
+
 
+
 
+
== Install Dependent ROS Packages ==
+
 
+
=== Gazebo ===
+
 
+
* [[Install Gazebo NUC 20240422]]
+
 
+
=== Cartographer ===
+
 
+
* [[Install Cartographer NUC 20240422]]
+
 
+
=== Navagation2 ===
+
 
+
* [[Install Navagation2 NUC 20240422]]
+
 
+
=== Turtlebot3 ===
+
 
+
* [[Install Turtlebot3 Packages NUC 20240422]]
+
 
+
== Environment ==
+
 
+
  $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
+
  $ source ~/.bashrc
+

Revision as of 10:34, 23 June 2024

Primary References

Goal

The goal is to but as much of the intelligence on the robot as is reasonable. The PC and SBC (Single Board Computer) are combined in a NUC. The installation has been adjusted to accommodate.

Turtlebot3 Overview

Install Ubuntu on NUC Named adams

Install ROS2 on NUC Named adams

ROS 2 Build System

Managing URDF Files

Bringup Goal

Adams SW Installations