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

From wikidb
Jump to: navigation, search
(Turtlebot3)
(Managing URDF Files)
 
(69 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Install Ubuntu on NUC =
+
= Primary References =
  
* New NUC11PAHi5
+
* [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]
  
* Linux 22.04
+
== Goal ==
  
* [https://ubuntu.com/core/docs/install-nuc Installing Ubuntu Core on a 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.
  
== On Hood - NUC ==
+
== Turtlebot3 Overview ==
  
=== download Linux ===
+
* [https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ Overview]
  
* Link from above
+
= Install Ubuntu on NUC Named adams =
* 22.04.4 LTS
+
** rw------- 1 eepp eepp 629882880 Apr 16 13:57  ubuntu-22.a5doQ9x1.04.4-desktop-amd64.iso.part
+
  
ERROR
+
* [[Turtlebot3 Waffle NUC Install ubuntu jammy 22.04 20240422]]
  eepp@sisters:~$ sudo apt-get install MultiWriter
+
* [[Turtlebot3 Waffle NUC Maintenance 20240617]]
      Reading package lists... Done
+
      Building dependency tree     
+
      Reading state information... Done
+
      E: Unable to locate package MultiWriter
+
  eepp@sisters:~$
+
  
<pre>
+
= Install ROS2 on NUC Named adams =
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 ===
+
* [[Turtlebot3 Waffle NUC Install ROS2 Humble 20240422]]
* gnome-multi-writer &
+
* [[Turtlebot3 Waffle NUC Humble Configure 20240426]]
 +
* [[Turtlebot3 Waffle NUC Humble Testing 20240520]]
 +
* TBD [[Image Backup]]
  
== On New NUC ==
+
= ROS 2 Build System =
  
=== Boot Ubuntu Installer ===
+
* [[ROS 2 Build System 20240524]]
  
* F10 on boot
+
= Managing URDF Files =
* Chose 4th time in the list with name xxx
+
  
=== Pick Ubuntu Install Options ===
+
* '''???''' [[Turtlebot3 Waffle Nuc HW 20240623]]
 +
* [[Turtlebot3 URDF Editing 20240524]]
 +
* [[Turtlebot3 Waffle Nuc URDF 20240623]]
  
* Mostly defaults
+
= Alternate Hardware =
  
= Install ROS 2.0 on adams =
+
* [https://www.intel.com/content/www/us/en/support/articles/000007053/intel-nuc/intel-nuc-kits.html Power Adapter and Power Cord Specificiaton]
* SBC Setup
+
* [[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]
  
 +
= Bringup Goal =
  
* * [https://emanual.robotis.com/docs/en/platform/turtlebot3/sbc_setup/#sbc-setup
+
* [https://events.vtools.ieee.org/m/265434 TURTLEBOT3 BURGER BUILD 02 Build Introduction]
* 12. Install ROS2 Humble Hawksbill
+
  
 +
= Adams SW Installations =
  
* [https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html Ubuntu Install Debians]
+
* [[Adams SW Installations]]
  
== Set Locales ==
+
= Turtlebot Waffle with Adams the New NUC - Remote Display =
  
<pre>
+
* [[Turtlebot3 Waffle Nuc URDF 20240623]]
eepp@adams:~/notes$ locale
+
* [[Turtlebot3 Waffle Nuc URDF Test 20240824]]
LANG=en_US.UTF-8
+
* [[Turtlebot3 Waffle Nuc X11 Remote Display 20240825]]
LANGUAGE=
+
* [https://www.it3.be/2021/06/24/remote-x11-on-ubuntu/ Remote X11 on ubuntu]
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>
+
  
 +
= Sisters SW Upgrade =
  
 +
* [[Sisters Hardware 20240819]]
 +
* [[Sisters Software Upgrade 20240817]]
 +
* [[Sisters Add Capabilities 20240818]]
 +
* [[Sisters Make a Map 20240819]]
  
<pre>
+
= Navigation =
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>
+
  
 +
* [[Humble Navigation2 Displays Map 20240928]]
  
==Setup Sources ==
+
= Tools =
<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$
+
  
 +
== rqt ==
  
 +
'''To Explore'''
  
eepp@adams:~/notes$
+
ROS Qt-based Graph Tool
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>
+
  
 +
* [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]
  
  
 +
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)
  
<pre>
+
= May Be of interest =
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>
+
  
 
+
* [https://medium.com/@nullbyte.in/ros2-from-the-ground-up-part-8-simplify-robotic-software-components-management-with-ros2-5fafa2738700 tutorial]
==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]]
+

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