Guidance, Navigation and Control for the Air-Bearing Vehicles owned and operated by The Autonomy Lab
The complete documentation can be found here.
The Air-Bearing Vehicle's are a pair of 3DOF spacecraft simulators used for experiments involving contact dynamics, formation flying, and other rendezvous and proximity operations. It utilizes a set of air-bearings with on-board Nitrogen tanks to move across a glass table with very little friction. A second on-board tank pressures 8 different thrusters used for position and attitude control.
The software suite is comprised of multiple ROS 2 packages, each implementing a primary functionality. The table below shows the packages and summarizes their responsibility.
After cloning the repo, run the setup script to install any missing dependencies and build the packages.
| Package | Description |
|---|---|
abv_bridge |
bridge node between abv_msgs and external |
abv_bringup |
configuration and launch files |
abv_commander |
command-line tool for sending commands |
abv_common |
dummy pkg for common code |
abv_controller |
feedback control via PID, thruster actuation |
abv_description |
urdf description with rviz launch files |
abv_gui |
GUI for live telemetry and sending commands |
abv_guidance |
waypoint sequencing and path following |
abv_msgs |
custom ROS2 message definitions |
abv_navigation |
state estimation via EKF, Optitrack integration |
abv_simulator |
numerical simulator for ABV dynamics |
abv_teleop |
keyboard or game controller teleop of the ABV |
./scripts/setup.sh
After the script finishes, launch the core GNC nodes.
ros2 launch abv_bringup jetson.launch.py
ros2 launch abv_bringup gnc.launch.py