Skip to content

Starting our stack on the Jetson

Will Heitman edited this page Jan 26, 2022 · 2 revisions

Check the file history to see when this was last updates, and add your own updates as needed. Things change frequently on the Jetson.

  1. Sometimes Ubuntu will auto-mount the SSD to the wrong location. Just in case, run
$ sudo umount /media/main/VoltronMain
$ sudo umount /media/main/VoltronMain1
...

Repeat as necessary.

  1. Mount our SSD to the right place with $ sudo mnt /dev/sda1 /home/main/data

    • Files from the SSD should now be available in /home/main/data/. You can check:
main@voltron:~$ ls /home/main/data/
99-slabs.rules     home                      root                                          sbin                      zed-dockerzed-config
bags               include                   ros2-foxy-20211013-linux-focal-arm64.tar.bz2  snap                      zed_resources
bin                lib                       rosbag2_2021_10_07-18_46_16                   srv                       zed-ros2-examples
boot               linux_install_release.sh  rosbag2_2021_10_07-18_52_10                   tools                     zed_sdk
doc                lost+found                rosbag2_2021_10_07-18_56_25                   zed.conf                  ZED_SDK_Tegra_JP45_v3.6.1.run
docker             media                     rosbag2_2021_10_07-19_01_47                   zed-config.cmake
etc                navigator                 rosbag2_2021_10_09-08_56_33                   zed-config-version.cmake
firmware           opt                       rosbag2_2021_11_06-21_09_51                   zed-docker
get_python_api.py  README.txt                samples                                       zed-dockerresources
  1. Reload the Docker daemon to pull from the SSD: $ sudo systemctl restart docker

  2. Now start our Navigator image and launch our main launchfile, which handles everything but the ZED camera:

main@voltron:~$ /home/main/navigator_start.bash 
root@voltron:/opt/ws# cd ../ws_vol/
root@voltron:/opt/ws_vol# ls
Dockerfile  Dockerfile_Jetson  LICENSE  README.md  build  data  hw  install  log  main.launch.py  param  rosdep.sh  src
root@voltron:/opt/ws_vol# . install/setup.bash
root@voltron:/opt/ws_vol# ros2 launch main.launch.py
...
  • This will start a shell session inside Navigator's Docker container
  • If you didn't restart the Docker daemon above, you'll get an error later on like:
main@voltron:~$ ~/navigator_start.bash 
Unable to find image 'wheitman/vde:latest' locally
latest: Pulling from wheitman/vde
Digest: sha256:fcdf9f6e4af3849edfe2825e560fbaae2f5646641b0e9e93aae9fb91b8a5f72f
Status: Downloaded newer image for wheitman/vde:latest
docker: Error response from daemon: layer does not exist.
See 'docker run --help'.
  1. In a new tab/session, start our separate ZED Docker image:
$ cd /home/data/zed-docker
~/data/zed-docker$ ./zed_start.bash
Running ZED container inside /home/main/data/zed-docker
root@voltron:/opt/ws_vol# . install/setup.bash
root@voltron:/opt/ws_vol# ros2 launch zed_wrapper zed2.launch.py

which should give:

[INFO] [launch]: All log files can be found below /root/.ros/log/2022-01-26-18-24-02-822146-voltron-44
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [62]
[INFO] [zed_wrapper-2]: process started with pid [63]
...
[zed_wrapper-2] 1643221443.075627434 [zed2.zed_node] [INFO] ***** STARTING CAMERA *****
[zed_wrapper-2] 1643221443.075653707 [zed2.zed_node] [INFO] SDK Version: 3.6.0 - Build 33396_48fd1d3b
[zed_wrapper-2] 1643221443.087219501 [zed2.zed_node] [INFO] *** CAMERA OPENING ***
...
Clone this wiki locally