Lab Resources

Lab Resources

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 EstimatorREEF 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.


This package contains various helper functions for attitude representation and ROS Support.


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.


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


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.

Multilauncher Tutorial Series