Setting up a new TurtleBot3 from the AA274 system image:
- Host machine setup:
-
Install Ubuntu 18.04
-
Install NVIDIA SDK Manager
-
Follow the first 7 steps at kdb373 with Target Hardware Jetson TX2 and JetPack Version 4.6.2
-
Download, unpack, and install the corresponding Board Support Package (see the Orbitty Carrier downloads page):
cd ~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_For_Tegra wget https://connecttech.com/ftp/Drivers/CTI-L4T-TX2-32.7.2-V001.tgz tar -xzf CTI-L4T-TX2-32.7.2-V001.tgz cd CTI-L4T sudo ./install.sh cd ..
-
Download the AA274 system image from this Google Drive folder and copy it into the appropriate directory:
sudo cp ~/Downloads/aa274.img bootloader/system.img # NOTE: modify path of download as appropriate
-
Your working directory (check with
pwd
) should be~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_For_Tegra
at this point, which will be assumed for all steps below.
-
- Connect the Jetson TX2 to power and to the host machine via the micro USB port. All other connections may be removed for easier access to the carrier board RECOVERY and RESET buttons.
- With the TX2 powered on, hold down the RECOVERY button and tap the RESET button to boot the TX2 into recovery mode.
- On the host machine, run
to flash the AA274 system image onto the TX2.
sudo ./flash.sh -r cti/tx2/orbitty/base mmcblk0p1
- Connect a monitor (HDMI) and mouse/keyboard (USB3) to the TX2 and RESET the board. Once it boots up, log in to the existing
aa274
account (password:aa274
) and use the GUI to connect to WiFi. After connecting, go to "Edit Connections..." under the networking menu (alternatively "Network Connections" from applications/search) and edit the WiFi connection so that "General -> All users may connect to this network" is checked; this last step ensures that the robot will connect to WiFi on startup. - Now connect the TX2 to (i) the Velodyne (Ethernet, not micro USB -- we no longer need the adapter), (ii) the TB3 OpenCR board (USB3), and (iii) the Logitech C270 camera (USB3), and power cycle the robot.
- Log into the TX2 from the host machine (
ssh aa274@turtlebot.local
) and runwhere for the last command enter the name (converted to all lowercase) printed on the label on the Velodyne.cd turtlebot3_setup git pull ./setup_velodyne_network.sh ./flash_opencr_noetic.sh # NOTE: this command sometimes needs to be run twice (check output for errors) ./change_hostname.sh
- After a short wait (the TX2 is rebooting), you should now be able to log into the robot using its new/unique name (
ssh aa274@$NAME.local
). On the robot, update theasl_turtlebot
package to make sure it's running the latest version:cd ~/catkin_ws/src/asl_turtlebot git pull
- The robot should now be ready to go! Test it by running (on the robot):
and on the host machine (after editing/
roslaunch asl_turtlebot systems_test.launch
source
-ingrostb3.sh
):roslaunch asl_turtlebot systems_test_host.launch
- Complete the "Host machine setup" instructions above.
- Connect the Jetson TX2 to power and to the host machine via the micro USB port. All other connections may be removed for easier access to the carrier board RECOVERY and RESET buttons.
- With the TX2 powered on, hold down the RECOVERY button and press the RESET button to boot the TX2 into recovery mode.
- Install the vanilla OS/BSP by running (on the host machine):
(pick options "3. Orbitty" and "1. TX2").
sudo ./cti-flash.sh
- Connect a monitor (HDMI) and mouse/keyboard (USB3) to the TX2 and RESET the board. Once it boots up, follow the GUI prompts for initial OS setup, making sure to:
- Connect to WiFi
- Computer's name:
turtlebot
- Username/password:
aa274
/aa274
- Performance mode: MAXN
- Once you hit a login screen, do not proceed (i.e., do not login and update software packages, etc.). Instead, proceed with kdb374 to install all Jetson SDK components.
- Reset/power cycle the TX2 and perform these actions on the device (perhaps connecting from the host machine with
ssh aa274@turtlebot.local
, now that the TX2 WiFi is set up):sudo apt update sudo apt upgrade git clone https://github.com/StanfordASL/turtlebot3_setup.git cd turtlebot3_setup ./build_noetic_and_deps.sh ./install_ml_frameworks.sh cp .bashrc ~/.bashrc sudo reboot 0
- Connect the TX2 to the host machine (micro USB) and RESET it into RECOVERY mode. Create the system image by running (on the host machine):
The image will be saved to
sudo ./flash.sh -r -k APP -G aa274.img jetson-tx2 mmcblk0p1
./aa274.img
(which, if you've been following the instructions above, should correspond to the full path~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_For_Tegra/aa274.img
).
- Connect Tech kdb373: CTI-L4T Board Support Package Installation for NVIDIA JetPack with Connect Tech Jetson™ Carriers
- Connect Tech kdb374: Installing Jetpack SDK Components alongside the CTI-L4T BSP
- Connect Tech kdb378: Cloning Jetson™ Modules with Connect Tech Board Support Package
- BOARD SUPPORT PACKAGE For Connect Tech NVIDIA Jetson TX2 Carriers: TX2-32.7.2 V001
- ROBOTIS TurtleBot3 OpenCR Setup