Parent repository for Triton Robotics Autonomy team. It contains the setup files to run on Jetson boot (when connected to the robot), and contains the submodules of all the necessary child nodes.
This repository should only include final, runnable code that follows coding conventions in Styles.md and works on our Jetson.
| Table of Contents |
|---|
| Building |
| Running |
| Systemd, launch nodes on boot |
| Serial terminal over usb-c port |
| Bringing up a new Jetson |
| Code style guide |
To prevent the overhead of making multiple terminals, we have setup launch files such as sim_aiming_launch.bash to more easily run multiple terminals. To run a launch file, all you have to do is navigate into the launch directory, add permissions to run the script (do this for all scripts you plan to run), and then run it.
cd ./launch
chmod u+x ./sim_aiming_launch.bash
./sim_aiming_launch.bash
Instead of having to install python dependencies into your system python, potentially leading to conflicts, we can use a python virtual environment
apt install python3.10-venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Source ros
source /opt/ros/humble/setup.bash- Activate the virtual python environment
source .venv/bin/activateYou should see a (.venv) in front of your prompt
- Source the workspace
source install/setup.bash-
Run your node/launch file
-
You can exit the venv using
deactivateIf you are using an ament_python package, you must add the following to the setup.cfg file
[build_scripts]
executable=/usr/bin/env python3
If you are using an ament_camke package, you must add the following shebang to the top of the Python file that is your entry point
#! /usr/bin/env python3