Indoor Flight Space
Open Source Resources:
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 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.