Hardware Resources:
Indoor Flight Space
Custom Multirotors
Ground Robots
Open Source Resources:
REEF Estimator
The REEF Estimator package contains a set of simple, easy to implement, ROS-based estimators designed to supplement high-level UAV control and navigation. This includes an X/Y velocity estimator and a Z velocity and altitude estimator. For details on the theory behind the estimator design, please see the included documentation.
REEF Adaptive Control
The REEF Adaptive Control is a ROS package which contains a non-linear MRAC controller for multi-rotors implemented in C++. The controller is intended to be used with the REEF Estimator, REEF Control and an altered version of the ROSFlight packages. This node does not replace the PID controllers in the REEF Control package but rather augments the existing control law to reduce the reduce the error the the desired state.
Currently, the controller is set to control body-level frame X and Y velocities by implementing two individual and independent adpative controllers.
Torque Flight
torque_flight
has two extra data streams coming from rosflight
. The first is total_torque
which is the output torque commands from the controller on the autopilot. These torques go through a simple transformation matrix to produce raw PWM values. The second stream is added_torque
which is the “after PID” additive input to the output torques just described.
reef_msgs
This package contains various helper functions for attitude representation and ROS Support.
camera_mocap_calibration
For an overview of obtaining the intrinsic and extrinsic camera calibration parameters, generating an AruCo pattern, and constructing the calibration board, visit the UNCC Visionlab wiki.
BagGetFilter
The BagGetFilter utility is a simple, user friendly interface to manipulate rosbags. The user can play rosbags or filter those bags and export topics into CSV format.
BagGetFilter Demo Video
Multilauncher
The Multilauncher utility facilitates connecting to multiple remote machines, git clone/pulling multiple remote repositories, transferring local files, and executing a series of commands simultaneously across multiple remote machines.