Subscale UAV for test flights under extreme conditions
June 22, 2010: At its Airborne Subscale Transport Aircraft Research facility, called AirSTAR for short, NASA is using an unmanned aerial vehicle (UAV) to study flight situations that would be too dangerous and too expensive with a real aircraft. The role of the flight control computer is played by a dSPACE system which communicates by radio.
Flight Control with the dSPACE System
Although the aircraft is small, the algorithms NASA is interested in testing can be quite large. Advances in control theory and real-time system identification are typically made at the researcher’s desktop, with algorithm prototypes implemented in a model-based simulation tool like MATLAB®/Simulink®. One goal of the AirSTAR program was to reduce the amount of time required to rehost these algorithms to a real-time system for flight testing and provide ample computing power for researcher code. By doing this rehosting process quickly, it is possible to provide real-world test results during an early stage of technology development, where they can inform and influence the direction of ongoing research. This capability was provided by employing a dSPACE system on the ground that communicates with the vehicle over a high-bandwidth telemetry link.
Mobile Ground Station for Flight Control
The ground station’s computer systems consist of a multi-CPU dSPACE unit and several connected workstations for display generation and data logging. One CPU of the dSPACE system has the “ship systems”, which handle pilot inputs (discrete, analog and PWM I/O), manage the telemetry stream to and from the aircraft (RS422 serial), and calibrate and process data to drive real-time displays (UDP). The second dSPACE CPU is dedicated to research control algorithms which are invoked during the flight under both nominal and failed vehicle configurations. These control algorithms are routinely swapped out for different flight experiments, and implement code developed and prototyped in Simulink using a simulation model for the vehicle. The use of a secondary CPU for this code not only provides a high level of computing power but also allows the master CPU to monitor and isolate any software faults, including code lockup, segmentation faults, or unbounded behavior, and automatically revert to a ship-system controller.