Below are the steps required to set up a stock Jetson to use this code base:
Below are the steps required to set up a stock Jetson to use this code base:
* Set up the SD card to have an OS on it, either by:
* Set up the SD card to have an OS on it, either by:
- Using NVIDIA's set up proceedure found [here](https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit#prepare), which then would require a lot of installations/additional set up (OpenCV, Ros, etc.).
- Using NVIDIA's set up procedure found [here](https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit#prepare), which then would require a lot of installations/additional set up (OpenCV, Ros, etc.).
- Using the CAS Lab's own images found `[TBD]`.
- Using the CAS Lab's own images found on the [drive](https://drive.google.com/drive/u/0/folders/1tk1XgC_wEBPplJqMDf0bwCa0AsI-47fg).
- TODO, put the image somewhere on the server to make it accessible.
* If using the NVIDIA option a few more things need to be configured:
* If using the NVIDIA option a few more things need to be configured:
- Follow the steps listed in the DJI Onboard SDK software set up page [here](https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html)(also can be helpful for debugging, a complete list of vehicle activation checks can be found [here](https://forum.dji.com/thread-216529-1-1.html))
- Follow the steps listed in the DJI Onboard SDK software set up page [here](https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html)(also can be helpful for debugging, a complete list of vehicle activation checks can be found [here](https://forum.dji.com/thread-216529-1-1.html))
...
@@ -12,20 +13,36 @@ Below are the steps required to set up a stock Jetson to use this code base:
...
@@ -12,20 +13,36 @@ Below are the steps required to set up a stock Jetson to use this code base:
* The hosts and hostname will need to be configured regardless of the image source
* The hosts and hostname will need to be configured regardless of the image source
- The `/etc/hosts` template, listed below, makes it easier to ssh into the Jetson and launch ROS nodes.
- The `/etc/hosts` template, listed below, makes it easier to ssh into the Jetson and launch ROS nodes.
- The `/etc/hostname` file holds the
- The `/etc/hostname` file holds the name of the device, to be used in the hosts file and for ssh-ing
### Cloning The CAS Lab Jetson Image
To set up a new SD card using the image on the drive, follow the steps below. Instead of using a loopback device you can just use another SD from an already set up Jetson, in which case the loopback stuff can be skipped. Disclaimer, these commands are pretty dangerous if mistyped and the original contents of the SD will be deleted of course. Also this process needs to be done on a linux machine with a lot of free space.
* Prepare the image on a loopback device
- Find the next free loopback device with `losetup -f`, this gives you something like `/dev/loop12`. We'll keep using `/dev/loop12` but yours may differ.
- Link the loopback device with the image in question by `losetup /dev/loop12 path/to/neruda_backup.img`, the second argument being the CAS Lab Jetson image.
- Check out the partition table of the image `fdisk -l`
- TBD!
- Remove the loopback device with `losetup -d /dev/loop12`
### UDEV Rules File
### UDEV Rules File
The udev rules contents, to be placed in `/etc/udev/rules.d/DJIDevice.rules`, is listed below
The udev rules contents, to be placed in `/etc/udev/rules.d/DJIDevice.rules`, is listed below
The hosts contents, to be placed in `/etc/hosts` is listed below
The hosts contents, to be placed in `/etc/hosts` is listed below
`
```
127.0.0.1 localhost
127.0.0.1 localhost
192.168.1.100 pop-os
192.168.1.100 pop-os
192.168.1.230 pop-os
192.168.1.230 pop-os
...
@@ -34,26 +51,25 @@ The hosts contents, to be placed in `/etc/hosts` is listed below
...
@@ -34,26 +51,25 @@ The hosts contents, to be placed in `/etc/hosts` is listed below
192.168.1.191 nerudaHouse
192.168.1.191 nerudaHouse
192.168.1.102 plath
192.168.1.102 plath
192.168.1.24 plathHouse
192.168.1.24 plathHouse
192.168.1.103 yeats # --> your hostname here
192.168.1.103 yeats # --> your hostname here, house denotes local home network
192.168.1.198 yeatsHouse
192.168.1.198 yeatsHouse
# The following lines are desirable for IPv6 capable hosts
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::2 ip6-allrouters
`
```
---
---
## Hardware Setup
# Hardware Setup
Proceedure for drone-Jetson communication is found [here](https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html) note details on Advanced Sensing as they are required to use drone cameras.
Procedure for drone-Jetson communication is found [here](https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html) note details on Advanced Sensing as they are required to use drone cameras.