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

From wikidb
Jump to: navigation, search
(Managing URDF Files)
 
(60 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 Named adams =
+
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 Waffle NUC Install ubuntu jammy 22.04 20240422]]
+
== Turtlebot3 Overview ==
  
* New NUC11PAHi5
+
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ Overview]
* Linux 22.04
+
* [https://ubuntu.com/core/docs/install-nuc Installing Ubuntu Core on a NUC] from ubuntu.com site
+
* identity
+
** adams
+
** eepp
+
** Ed C. Epp
+
 
+
== On Hood - NUC ==
+
 
+
=== download Linux ===
+
 
+
* Link from above
+
* 22.04.4 LTS
+
** rw------- 1 eepp eepp 629882880 Apr 16 13:57  ubuntu-22.a5doQ9x1.04.4-desktop-amd64.iso.part
+
 
+
ERROR
+
  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>
+
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 ===
+
* gnome-multi-writer &
+
 
+
== On New NUC ==
+
 
+
=== Boot Ubuntu Installer ===
+
 
+
* F10 on boot
+
* Chose 4th time in the list with name xxx
+
 
+
=== Pick Ubuntu Install Options ===
+
 
+
* Mostly defaults
+
 
+
= 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>
+
  
 +
= Install Ubuntu on NUC Named adams =
  
 +
* [[Turtlebot3 Waffle NUC Install ubuntu jammy 22.04 20240422]]
 +
* [[Turtlebot3 Waffle NUC Maintenance 20240617]]
  
[[InstallROS2PackagesPart3-20240416]]
+
= Install ROS2 on NUC Named adams =
  
== Environment Setup ==
+
* [[Turtlebot3 Waffle NUC Install ROS2 Humble 20240422]]
 +
* [[Turtlebot3 Waffle NUC Humble Configure 20240426]]
 +
* [[Turtlebot3 Waffle NUC Humble Testing 20240520]]
 +
* TBD [[Image Backup]]
  
* See this section in
+
= ROS 2 Build System =
* [https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html Ubuntu Install Debians]
+
  
 +
* [[ROS 2 Build System 20240524]]
  
  eepp@adams:~$ emacs ~/.bashrc &
+
= Managing URDF Files =
  
* add at the end
+
* '''???''' [[Turtlebot3 Waffle Nuc HW 20240623]]
  // Setup ROS Humble
+
* [[Turtlebot3 URDF Editing 20240524]]
  source /opt/ros/humble/setup.bash
+
* [[Turtlebot3 Waffle Nuc URDF 20240623]]
  
== Example Talker Listener ==
+
= Alternate Hardware =
  
'''TERMINAL 1'''
+
* [https://www.intel.com/content/www/us/en/support/articles/000007053/intel-nuc/intel-nuc-kits.html Power Adapter and Power Cord Specificiaton]
 +
* [[NUC_D54250WYK]]
 +
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/compatible_devices/ Robotis eManual Compatible Devices]
 +
* [https://www.bestreviews.guide/nuc-mini-pc nuc mini pc]
 +
* [https://www.cloudynights.com/topic/747209-intel-nuc-minimize-power-consumption/ Intel NUC Minimize Power Consumption]
  
<pre>
+
= Bringup Goal =
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'''
+
* [https://events.vtools.ieee.org/m/265434 TURTLEBOT3 BURGER BUILD 02 Build Introduction]
  
<pre>
+
= Adams SW Installations =
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 ==
+
* [[Adams SW Installations]]
  
  84  mkdir scripts
+
= Turtlebot Waffle with Adams the New NUC - Remote Display =
  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 =
+
* [[Turtlebot3 Waffle Nuc URDF 20240623]]
 +
* [[Turtlebot3 Waffle Nuc URDF Test 20240824]]
 +
* [[Turtlebot3 Waffle Nuc X11 Remote Display 20240825]]
 +
* [https://www.it3.be/2021/06/24/remote-x11-on-ubuntu/ Remote X11 on ubuntu]
  
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#pc-setup PC Setup]
+
= Sisters SW Upgrade =
* make sure "Humble" tab is selected
+
  
 +
* [[Sisters Hardware 20240819]]
 +
* [[Sisters Software Upgrade 20240817]]
 +
* [[Sisters Add Capabilities 20240818]]
 +
* [[Sisters Make a Map 20240819]]
  
== Install Dependent ROS Packages ==
+
= Navigation =
  
=== Gazebo ===
+
* [[Humble Navigation2 Displays Map 20240928]]
  
* [[Install Gazebo NUC 20240422]]
+
= Tools =
  
=== Cartographer ===
+
== rqt ==
  
* [[Install Cartographer NUC 20240422]]
+
'''To Explore'''
  
=== Navagation2 ===
+
ROS Qt-based Graph Tool
  
* [[Install Navagation2 NUC 20240422]]
+
* [https://ros-learnings.hashnode.dev/unleashing-the-power-of-rqt-revolutionizing-visualization-and-control-in-ros# Unleashing the Power of RQT: Revolutionizing Visualization and Control in ROS]
  
=== Turtlebot3 ===
 
  
* [[Install Turtlebot3 Packages NUC 20240422]]
+
Aadithya Vijayakumar. Jun 23, 2023 · 3 min read. Robot Operating System (ROS) has emerged as a fundamental framework for building complex robotic systems. One of the most powerful and versatile tools in ROS is RQT (ROS Qt-based Graphical User Interface Tools)
  
== Environment ==
+
= May Be of interest =
  
  $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
+
* [https://medium.com/@nullbyte.in/ros2-from-the-ground-up-part-8-simplify-robotic-software-components-management-with-ros2-5fafa2738700 tutorial]
  $ source ~/.bashrc
+

Latest revision as of 13:17, 11 October 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

Alternate Hardware

Bringup Goal

Adams SW Installations

Turtlebot Waffle with Adams the New NUC - Remote Display

Sisters SW Upgrade

Navigation

Tools

rqt

To Explore

ROS Qt-based Graph Tool


Aadithya Vijayakumar. Jun 23, 2023 · 3 min read. Robot Operating System (ROS) has emerged as a fundamental framework for building complex robotic systems. One of the most powerful and versatile tools in ROS is RQT (ROS Qt-based Graphical User Interface Tools)

May Be of interest