- Make sure you have Putty installed
- Connect to the
Varsity Bells
wifi network- Password is
May152006!
- Password is
- Open the run dialogue on Windows or your terminal on any other machine
- The run dialogue (Windows + R) keeps a history of previous commands, so if you value efficiency and automation I highly recommend using it
- Run
putty.exe -ssh avr@drone -pw bellavr22
- You're in 😎
This section contains instructions for setting up the repository on the Jetson. For the 2024 team, this has already been done.
Run the following commands:
git clone --recurse-submodules https://github.com/Jurassic001/AVR-2024 ~/AVR-2024
cd ~/AVR-2024/VMC/scripts
chmod +x setup.py
./setup.py
Please note, this setup script WILL take a while the first time (depending on your download speed).
If you have problems with the setup script, ensure that the following domains are not blocked. Some schools or networks may restrict these:
# created with `sudo tcpdump -w dnsrequests.pcap -i any udp and port 53`
# and loaded into Wireshark
# code distribution
github.com
*.githubusercontent.com
# stereo labs camera configuration
*.stereolabs.com
# system packages and services
*.ubuntu.com
*.nvidia.com
api.snapcraft.io
*.launchpad.net
deb.nodesource.com
# python packages
pypi.python.org
pypi.org
files.pythonhosted.org
# Docker registries
*.docker.io
*.docker.com
nvcr.io
ghcr.io
# various CDN providers
*.cloudfront.net
*.akamaized.net
*.akamai.net
*.akamaiedge.net
*.fastly.net
*.edgekey.net
This may not be an exhaustive list, as upstream sources may change CDNs or domain names.
If you made changes to the AVR software, you can update the software using the following steps:
-
Use
git pull
while in the AVR-2024 repository root to download the changes from GitHub- You can use
git log
to verify that the local repository on the Jetson has been updated
- You can use
-
Re-run the
setup.py
script to build your modules into runnable images, as well as configuring some misc settings- You need to put a
./
before all script names when you are running them in Linux. This would look like./setup.py
- I highly advise against trying to skip this script and its process. It makes the AVR drone much more reliable in every sense
- You can add
-r
or-s
to the end of the script execution to reboot or shutdown the Jetson after the script is finished
- You need to put a
-
Use the
start.py
script to run your desired software modulesstart.py
is the primary script for preforming actions on the AVR software modules. It is located inAVR-2024/VMC
start.py
uses Docker to run our software modules as containers on the Jetson. You can read the AVR documentation on Docker here
Here is the syntax of start.py:
It might look confusing, but for the most part you'll be sticking to the "run" action. If you need to see this explanation again, add the -h
option to your command execution
start.py [-h] [-l] [-p, -b, -r, -s] [-m | -n | -a | -z | --sim] [modules ...]
options:
-h, --help show this help message and exit
-l, --local Build containers locally rather than using pre-built ones from GitHub. The apriltag, sandbox, pcm, and fcm modules will be built locally at all times
Action(s):
The action(s) to perform on the specified modules. More than one action can be preformed in a single script execution (run order is: Pull -> Build -> Run -> Stop)
-p, --pull Pull containers that are pre-built by Bell so that they're available locally (has no effect on local-only modules)
-b, --build Build modules into runnable containers
-r, --run Run built software containers
-s, --stop Stop currently running containers. Will also delete docker-compose config files (that's a good thing)
mutually exclusive options:
-m, --min Perform action on minimal modules (fcm, fusion, mavp2p, mqtt, vio). Adds to any modules explicitly specified
-n, --norm Perform action on normal modules (apriltag, fcm, fusion, mavp2p, mqtt, pcm, status, thermal, vio). Adds to any modules explicitly specified. If nothing else is specified, this is the default
-a, --all Perform action on all modules (fcm, fusion, mavp2p, mqtt, pcm, sandbox, thermal, vio). Adds to any modules explicitly specified
-z, --zephyrus Perform action on all relevant modules for the 2024-25 Bell AVR Season (fcm, fusion, mavp2p, mqtt, pcm, sandbox,thermal, vio). Subtracts any modules explicitly specified
--sim Run system in simulation
positional arguments:
modules Explicitly list which module(s) to perform the action on
To stop the AVR software hit Ctrl+C
This will run all of the minimum modules required for flight in addition to the thermal & status modules
./start.py --run -m thermal status
This will pull, build, and run ALL modules
./start/py -pbr --all
This will build and run every module except for the apriltag and thermal modules
./start.py -br -m pcm status sandbox