Print this page

Unmanned Vehicles Testbed NSF

Our Unmanned Vehicles Testbed consists of autopilot and ground station software and hardware, hardware and software in the loop simulation capabilities, and several aircraft. We use these components for experimental research to test novel technologies and algorithms such as sensors and estimation indoor navigation, control and navigation algorithms, and cyber security. The testbed components and some results are outlined in the following sections.

Autopilot and Ground Station Hardware/Software

We use the open source PX4 autopilot as the brain of our vehicle testbeds. The PX4 flight stack itself runs on top of the Nuttx real-time operating system, and is compatible with a wide range of hardware choices and vehicle types. The Pixhawk autopilot hardware, designed specifically as part of the PX4 project, is a powerful and lightweight open source computer and flight controller capable of running the control and estimation algorithms for many types of unmanned vehicle systems such as fixed wing aircraft, helicopters, multirotors, ground vehicles, and boats. The software is easy to modify, allowing for new algorithms (and vehicle types) to be quickly implemented.

Figure: Pixhawk

When more computational power is needed, we use the Gumstix Aerocore along with the Gumstix DuoVero. The Aerocore is capable of running the exact same software as the Pixhawk, and the DuoVero (which can run ROS on top of linux) adds power for more computationally intensive applications such as image processing.


Figure: gumstix aerocore (left) and duovero (right)

The PX4 project has also spawned the QGroundControl (QGC) ground control software. QGC communicates with vehicles through a radio modem, using MAVLink (described in the next paragraph),  to send commands to and receive information from the vehicles. The configurable display can show information such as attitude, position using google earth, battery level, and waypoints.

Figure: QGC display

All the components of the system talk to each other through MAVLink, an open source, lightweight message marshaling library. Through MAVLink, directions from the ground station such as new waypoints can be sent from the ground station to the vehicle, and state information such as position and attitude can be sent from the vehicle to the GCS.

Hardware and Software in-the-loop Testbeds

We have developed an unmanned systems toolbox for Scicoslab (an open source alternative to matlab) as part of a Software in the loop (SITL) testbed. This toolbox (part of the oooark project) provides access to the JSBSim flight dynamic engine. The JSBSim engine is written in C++ and employs XML files to describe aerospace systems. The files model aerodynamics, propulsion systems, and basic control laws. Connecting this library to Scicoslab through the JSBSim block enables rapid design of control systems using high fidelity vehicle models. In the following figure you see the Scicoslab block diagram graphical user interface. Coupled with the JSBSim block we have developed, this is a very powerful tool for unmanned systems design.

The Hardware in the loop (HITL) testbed operates similarly, but with the actual Pixhawk (or gumstix) hardware in place of the Scicoslab simulation running the control/estimation software onboard with the simulated measurement data. We have used the SITL and HITL simulations in our control-based security analyses, including numerical cyber-attack analyses which are discussed in detail here.


In order to perform various missions, UAVs require enough payload capacity to carry sensors to perform real-time surveillance of dynamic environments and onboard computers for automated mission management. We have begun to develop a testbed for autonomous multi-vehicle systems, which is composed of a UAV with 110 inch of wing span carrying an onboard autopilot as shown below, a ground command station, and a hardware-in-the-loop simulation as discussed above.

Figure: Rascal 110

Aside from the Rascall 110 discussed above, we have several different types and sizes of vehicles that we use as real-world testbeds for our experimental work. Other fixed wing aircraft we have are (smaller) airplanes such as a Multiplex Easystar and Bormatec Camflyer for testing control algorithms. Other lab aircraft include a Maxi Joker helicopter, 3D Robotics IRIS quadrotor, and a lab-made flapping aircraft roughly the size of a raven.

You can see several demonstration videos below of current work.



UAV: Fixed wing aircraft 

UAV: Rotary wing aircraft

Localization and Mapping 

Indoor Naviagtion for Autonomous Flight