Difference between revisions of "Turtlebot3 Waffle NUC Humble Testing 20240520"

From wikidb
Jump to: navigation, search
(Graph)
(Graph)
Line 113: Line 113:
 
Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
 
Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
 
Processing triggers for man-db (2.10.2-1) ...
 
Processing triggers for man-db (2.10.2-1) ...
 +
 +
 +
 +
 +
eepp@adams:~$ pip install ros2-graph
 +
Defaulting to user installation because normal site-packages is not writeable
 +
Collecting ros2-graph
 +
  Downloading ros2_graph-0.0.5-py3-none-any.whl (26 kB)
 +
Collecting argparse~=1.4.0
 +
  Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
 +
Collecting pyyaml~=6.0
 +
  Downloading PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705 kB)
 +
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 705.5/705.5 KB 8.1 MB/s eta 0:00:00
 +
Installing collected packages: argparse, pyyaml, ros2-graph
 +
  WARNING: The script ros2_graph is installed in '/home/eepp/.local/bin' which is not on PATH.
 +
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
 +
Successfully installed argparse-1.4.0 pyyaml-6.0.1 ros2-graph-0.0.5
  
 
</pre>
 
</pre>

Revision as of 16:00, 16 June 2024

Goals

Make adams work reliable at boot given the following HW configuration.

  • Use a wireless keyboard with an associate wireless mouse to free one USB port
  • An HDMI monitor
  • Use the OpenCR which will take the second USB port
  • The third USB port will be used by the Lidar version 1
  • This leaves two lightning ports
  • Using power brick that came with to box

The Setting

.bashrc

This are the known .bashrc setting required for bring up now

 $ tail .bashrc

       // Setup ROS Humble with turtlebot3 additionsselect 
       source /opt/ros/humble/setup.bash
       source ~/turtlebot3_ws/install/setup.bash

       // Setup the Turtlebot3 waffle
       export ROS_DOMAIN_ID=30 #TURTLEBOT3
       export LDS_MODEL=LDS-01
       export TURTLEBOT3_MODEL=waffle

Power Up

Keyboard Teleop

Gives confidence that the bashrc is setting up critical environmental variables and ROS. Major HW component are working and doing much of what we expect. OpenCR and the wheel drivers are working. The remote controler is working.

I had a little trouble with controlling the wheels. In particular, the keyboard_teleop didn't work. The following sequence turned out to be reliable. This is something to be debugged latter. In years past I booted the OpenCR and NUC simultaneously and also in any order.

Power up outline

  1. Power on the OpenCR board first
    1. wait for the boot finished chime
  2. Test the OpenCR by driving the wheels with Robotis controller
    1. Using the Robotis RC100B Controller 20240521
    2. This is an appropriate option when mapping. The waffle can be driven around the area of interest. More latter.
  3. Power up adams and log in
  4. In T1 bring up
   $ source scripts/bringup.sh
  1. in T2 bring up the keyboard teleop program
   $ source scripts/keyboard_teleop.sh

Bring up log details are at Turtlebot3_Waffle_NUC_Humble_Configure_20240426#Signs_of_Life_Test

LIDAR and RVIZ display

Termal 2


TBD

RVIZ

  • TF
    • Show Name
    • Show Axes
    • Show Arros

TBD

ros2_graph

TBD

Graph

eepp@adams:~$ pip install ros2-graph
Command 'pip' not found, but can be installed with:
sudo apt install python3-pip
eepp@adams:~$ python3 -V
Python 3.10.12




eepp@adams:~$ sudo apt install python3-pip -y
[sudo] password for eepp: 
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 linux-headers-6.5.0-27-generic
  linux-hwe-6.5-headers-6.5.0-27 linux-image-6.5.0-27-generic
  linux-modules-6.5.0-27-generic linux-modules-extra-6.5.0-27-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  python3-wheel
The following NEW packages will be installed:
  python3-pip python3-wheel
0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.
Need to get 1,337 kB of archives.
After this operation, 7,178 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-wheel all 0.37.1-2ubuntu0.22.04.1 [32.0 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.4 [1,305 kB]
Fetched 1,337 kB in 1s (994 kB/s)      
Selecting previously unselected package python3-wheel.
(Reading database ... 352281 files and directories currently installed.)
Preparing to unpack .../python3-wheel_0.37.1-2ubuntu0.22.04.1_all.deb ...
Unpacking python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../python3-pip_22.0.2+dfsg-1ubuntu0.4_all.deb ...
Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
Setting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
Processing triggers for man-db (2.10.2-1) ...




eepp@adams:~$ pip install ros2-graph
Defaulting to user installation because normal site-packages is not writeable
Collecting ros2-graph
  Downloading ros2_graph-0.0.5-py3-none-any.whl (26 kB)
Collecting argparse~=1.4.0
  Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Collecting pyyaml~=6.0
  Downloading PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 705.5/705.5 KB 8.1 MB/s eta 0:00:00
Installing collected packages: argparse, pyyaml, ros2-graph
  WARNING: The script ros2_graph is installed in '/home/eepp/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed argparse-1.4.0 pyyaml-6.0.1 ros2-graph-0.0.5

not

 epp@adams:~$ ros2 run ros2_graph
     usage: ros2 run [-h] [--prefix PREFIX] package_name executable_name ...
     ros2 run: error: the following arguments are required: executable_name, argv

Testing Scripts

bringup

 $ cat scripts/bringup.sh 
       #!/bin/bash
       # ece

       ros2 launch turtlebot3_bringup robot.launch.py

keyboard teleop

 $ cat scripts/keyboard_teleop.sh 
       #!/bin/bash
       # ece

       ros2 run turtlebot3_teleop teleop_keyboard

make_map

 $ cat scripts/make_map.sh 
       #!/bin/bash
       # ece
 
       ros2 launch turtlebot3_cartographer cartographer.launch.py

save_map

 $ cat scripts/save_map.sh 
       #!/bin/bash
       # ece
       #
       # save_map <map name>

       if [ $# -eq 1 ]
         then
           ros2 run nav2_map_server map_saver_cli -f ~/maps/$1
         else
           echo "save_map <map name>"
       fi

nav2

 $ cat scripts/nav2.sh 
        #!/bin/bash
        # ece
        #
        # nav2 <map name>

        if [ $# -eq 1 ]
          then
            ros2 launch turtlebot3_navigation2 navigation2.launch.py map:=$HOME/maps/$1.yaml
          else
            echo "save_map <map name>"
        fi