A Gimbaled Platform for Micro Aerial Vehicle 

Autopilot Simulation and Calibration 

by Justin L. Shumaker, Kamal S. Ali, and Lamarious Carter 

ARL-TR-4755 March 2009 

Approved for public release; distribution is unlimited. 
NOTICES 

Disclaimers 

The findings in this report are not to be construed as an official Department of the Army position unless 

so designated by other authorized documents. 

Citation of manufacturer’s or trade names does not constitute an official endorsement or approval of the 

use thereof. 

Destroy this report when it is no longer needed. Do not return it to the originator. 
Army Research Laboratory 

Aberdeen Proving Ground, MD 21005-5066 

ARL-TR-4755 March 2009 

A Gimbaled Platform for Micro Aerial Vehicle 

Autopilot Simulation and Calibration 

Justin L. Shumaker 

Vehicle Technology Directorate, ARL 

Kamal S. Ali and Lamarious Carter 

Jackson State University 

Approved for public release; distribution is unlimited. 
ii

REPORT DOCUMENTATION PAGE Form Approved 

OMB No. 0704-0188

Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering 

and maintaining the data needed, and completing and reviewing the collection information. Send comments regarding this burden estimate or any other aspect of this collection of information, 

including suggestions for reducing the burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and Reports (0704-0188), 1215 Jefferson 

Davis Highway, Suite 1204, Arlington, VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to any penalty for failing to 

comply with a collection of information if it does not display a currently valid OMB control number. 

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS. 

1. REPORT DATE (DD-MM-YYYY)

March 2009 

2. REPORT TYPE 

Final 

3. DATES COVERED (From - To) 

May 2008–August 2008 

4. TITLE AND SUBTITLE 

A Gimbaled Platform for Micro Aerial Vehicle Autopilot Simulation and 

Calibration 

5a. CONTRACT NUMBER 

5b. GRANT NUMBER 

5c. PROGRAM ELEMENT NUMBER 

6. AUTHOR(S) 

Justin L. Shumaker, Kamal S. Ali,* and Lamarious Carter*

5d. PROJECT NUMBER 

1L162618AH80 

5e. TASK NUMBER 

5f. WORK UNIT NUMBER 

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 

U.S. Army Research Laboratory 

ATTN: AMSRD-ARL-VT-UV 

Aberdeen Proving Ground, MD 21005-5066 

8. PERFORMING ORGANIZATION 

 REPORT NUMBER 

ARL-TR-4755 

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR'S ACRONYM(S) 

11. SPONSOR/MONITOR'S REPORT 

 NUMBER(S) 

12. DISTRIBUTION/AVAILABILITY STATEMENT 

Approved for public release; distribution is unlimited. 

13. SUPPLEMENTARY NOTES 

*

Jackson State University, 1400 J. R. Lynch St., Jackson, MS 39217 

14. ABSTRACT 

This report describes a 3-degrees-of-freedom gimbaled platform designed to be used as a hardware in the loop simulator. This 

platform is designed to aid in the calibration and synchronization of micro aerial vehicles’ autopilot components. This platform 

can also be used as a simulator allowing the autopilot to fly a computer model of the airframe. This allows for the quick and 

efficient verification of autopilot behavior with different airframes under various weather conditions within the lab. 

15. SUBJECT TERMS

platform, gimbal, control, MAV, autopilot, calibration, IMU, X-Plane 

16. SECURITY CLASSIFICATION OF: 

17. LIMITATION 

OF ABSTRACT 

UU 

18. NUMBER 

OF PAGES 

24 

19a. NAME OF RESPONSIBLE PERSON

Justin L. Shumaker 

a. REPORT 

Unclassified 

b. ABSTRACT 

Unclassified 

c. THIS PAGE 

Unclassified 

19b. TELEPHONE NUMBER (Include area code) 

410-278-2834 

Standard Form 298 (Rev. 8/98) 

Prescribed by ANSI Std. Z39.18
iii

Contents 

List of Figures iv

List of Tables iv

1. Introduction 1

2. The Platform 2

3. Actuation 6

4. Angular Measurement 6

5. The Hardware in the Loop Simulator (HILS) System 6

6. Open Loop System 7

7. Closed Loop System 7

8. X-Plane Interface Module 8

9. The Microcontroller 9

10. Platform Evaluation 11

11. Results 11

12. Future Work 13

13. Conclusions 14

14. References 15

Distribution List 17 
iv

List of Figures 

Figure 1. Before calibration. ...........................................................................................................2

Figure 2. After calibration...............................................................................................................2

Figure 3. Before shifting. ................................................................................................................3

Figure 4. After shifting. ..................................................................................................................3

Figure 5. Three-axis gimbaled platform. ........................................................................................4

Figure 6. Stepper torque vs. frequency. ..........................................................................................4

Figure 7. System diagram. ..............................................................................................................5

Figure 8. Maximum error curve for the PWM period values. ......................................................10

Figure 9. Pitch overlay. .................................................................................................................12

Figure 10. Roll overlay. ................................................................................................................12

Figure 11. Yaw overlay. ................................................................................................................13

List of Tables 

Table 1. Items selected under X-Plane’s Data Set menu, version 9.0. ...........................................8
1

1. Introduction 

This report describes a gimbaled platform that can be used to calibrate small autopilots or inertial 

measurement units (IMUs) (1). This platform can also double as a flight simulator on which an 

autopilot can be evaluated and developed. The platform is controlled by five stepper motors (2), 

two for pitch, two for roll, and one for yaw. The stepper motors have a resolution of 0.18° per 

step using microstepping technology. To complement the stepper motors, optical shaft encoders 

are affixed to all three axes. The shaft encoders supply accurate readings of the platforms 

attitude. By placing the autopilot on the platform while actuating the platform to simulate flight, 

IMU data and the corresponding shaft encoder data may be collected. This data can be used to 

fine-tune the contribution from each of the IMUs sensors to minimize overall error. 

Furthermore, the data can also be utilized in the training of neural networks (3) or any other type 

of filter to further minimize IMU error. 

The platform can also be configured as a synchronization tool, e.g., synchronizing IMU and 

video images for target geolocation. This is accomplished by placing both the video camera and 

autopilot on the platform where they are synchronized with the optical shaft encoders. The exact 

IMU data corresponding to each video frame can then be obtained, thus rendering the target 

geolocation system more accurate. 

This platform has been integrated with X-Plane,*

 a Federal Aviation Administration-approved 

flight simulator. This software was chosen to handle the flight dynamics calculations and 

provide data to both the platform and autopilot. New flight surface positions can be generated by 

the autopilot or interface module, which are then passed back to X-Plane, where the resulting 

change in airframe attitude is rendered. This new attitude data is also passed to the platform’s 

motor control system, updating the platforms attitude. In this configuration, global positioning 

system (GPS), as well as barometric and wind speed data generated by X-Plane, is supplied to 

the autopilot. For these sensors to operate correctly, additional hardware not yet integrated into 

the platform is required. Therefore, using the platform as a flight simulator will require 

modifying the autopilot code to accept the aforementioned data directly from X-Plane. 

Nevertheless, using the platform as a flight simulator will allow the evaluation of an autopilot’s 

control algorithms using different airframes, as well as performance testing under different 

weather conditions at the click of a mouse button. 

 *

 X-Plane is a registered trademark of Laminar Research, Columbia, SC. 
2

2. The Platform 

Before creating the 3-degrees-of-freedom gimbaled platform, a 2-degrees-of-freedom platform 

was designed and constructed as a proof-of-concept. This platform was used to calibrate the 

pitch and roll for an IMU on an open source autopilot. After carefully analyzing the recorded 

data and making adjustments to the IMU algorithm, a 30% improvement in accuracy was 

realized, as shown in figures 1 and 2 (4, 5). 

Figure 1. Before calibration. 

Figure 2. After calibration. 

While the calibration changes made a vast improvement to the IMU’s software, the platform was 

not without its limitations. First, the platform’s linkages used an inferior friction fit, resulting in 

the potential accumulation of error during sudden jerks. Second, the platform was restricted to 

very small autopilots measuring a maximum of 3- × 5-in area. Third, there were time 

synchronization errors between the platform and autopilot. Fourth, and most significant, the

platform was limited to pitch and roll measurements only.
3

Fortunately, the time synchronization was an issue that could be corrected in software. With the 

platform and autopilot operating in a 25-Hz open loop configuration, it was determined that the 

data could be shifted by 1.6 T (64 ms) to synchronize the autopilot data with the shaft encoders. 

This result can be seen in figures 3 and 4. 

Figure 3. Before shifting. 

Figure 4. After shifting. 

A new gimbaled platform was conceived to overcome the limitations of the previous one, as 

shown in figure 5. The new platform was designed to host an autopilot with dimensions up to 

5 × 7 in. Like its predecessor, the central mounting plane rotated freely to any desired azimuth 

and elevation. Stepper motors were used to control the platform’s rotation, while optical shaft 

encoders were used to report the platform’s exact angular position. A pair of stepper motors was 

used to rotate the platform about the pitch axis, while two larger stepper motors rotated the 

platform about the roll axis. A fifth stepper motor with planetary gearbox, having a ratio of 10:1, 

was mounted to the base of the platform to control the yaw axis.
4

Figure 5. Three-axis gimbaled platform. 

Due to the large angular inertia in the upper portion of the platform, a stepper motor with 

sufficient torque was necessary to prevent the motor from skipping steps while undergoing high 

accelerations. Each skipped step resulted in 7.2° of error. Initially, when the yaw motor was 

connected directly to the platform base, excessive skipping was observed, especially when rapid 

yaw changes were attempted. To ensure that yaw motor did not skip, a quick calculation of the 

necessary torque was made and compared the motor’s capabilities. The holding torque of the 

motor was obtained from its torque frequency curve, as shown in figure 6 (2). 

0 5 10 15 20 25 30

0

50

100

150

200

250

300

Torque Frequency Curve

RPS

oz-in

Figure 6. Stepper torque vs. frequency. 

The torque generated by the platform,  , is a product of the angular acceleration, , and the 

inertial tensor, I, as follows: 

 = I α . (1) 

The inertial tensor can be approximated using the following, where m is the mass and r is the 

radius: 

2 I = mr . (2) 
5

The upper platform’s 4-kg mass and 0.18-m radius made it necessary to use a gearbox to 

overcome the inertial load. A planetary gearbox with a gear ratio of 10:1 was used to scale the 

stepper motor’s torque an order of magnitude higher, eliminating all skipping. 

Each axis on the platform used a dedicated Geckodrive 201 stepper motor driver. For the pitch 

and roll axes where two motors were used, the wirings of each motor were mirrored. This 

prevented these motors from opposing each other in rotation. The inputs to each Geckodrive 

consisted of a direction, step signal, and 30-V source. A current-limiting resistor was used to 

protect the motors from overcurrent. For each motor to perform a microstep, the Geckodrive 

requires a falling edge transistor-to-transistor logic (TTL) signal on the step signal input. Both 

direction and step signals were driven by an Atmel AT91SAM7S64 ARM7, a 32-bit 

microcontroller with four pulse width modulation hardware generators, three of which are used. 

The linkages in the new platform utilized an improved locking pin system that minimized 

slipping between the motors and interconnects. All five stepper motors used shaft couplers to 

interface the platform. Upper and lower portions of the platform are interfaced through a 6-in 

ball bearing swivel that allows the upper segment to rotate freely with minimal friction. A 

custom-designed shaft coupler, denoted by its green color in figure 7, is used to interface the yaw 

stepper motor and gearbox to the upper portion of the platform. 

Figure 7. System diagram. 

Three U.S. Digital optical shaft encoders having a resolution of 2000 steps per revolution are 

affixed to the stepper motors to measure angular position (6)—one each for pitch, roll, and yaw, 

respectively. The optical shaft encoders interface to a U.S. Digital AD5-S Quadrature Encoder 

to SEI adapter. This adapter interfaces with the ARM7 microcontroller, reading the three 

encoder values using an RS-232 interface at 115,200 baud.
6

3. Actuation 

NEMA 17 and 23 stepper motors were used to control the platform. These motors were powered 

by Geckodrive 201 drivers that support microstepping, a technology to increase overall angular 

accuracy through the fractional energizing of adjacent coils. These drivers, which can deliver up 

to 7 amps, have high input impedance allowing TTL level signals to control the motors. 

The microcontroller was used to control the motors, process angular data from the encoders, and 

receive angular update commands from the computer. The stepper motors were updated at 

20 Hz, the X-Plane’s default rate. A custom software module was created to interface X-Plane to 

the ARM7 microcontroller via the computer’s RS-232 port. During each update, the 

microcontroller received a sequence of bytes from the computer containing three angles for 

pitch, roll, and yaw, respectively. The microcontroller then polled each of the three encoders for 

their angular values. Based on the stepper motors current and desired position, a pulse width 

modulation (PWM) frequency was calculated and set for each motor; this instructed the motors 

to rotate the platform to the desired attitude. 

4. Angular Measurement 

Should the motors happen to slip due to an unexpected mechanical or software error, using 

optical shaft encoders ensures that motor slippage will not affect the resulting attitude. The 

optical shaft encoders with a resolution of 2000 steps per revolution were chosen to match the 

stepper motor’s 2000 steps per revolution under the influence of microstepping. However, in the 

case of the yaw stepper motor, there are 20,000 steps per revolution due to the planetary gearbox 

having a gear ratio of 10:1. Therefore, the optical encoders are capable of detecting a single 

microstep from the stepper motors. For the pitch and roll axes, this equates to 0.18° per step and 

0.018° for yaw resolution. 

5. The Hardware in the Loop Simulator (HILS) System 

The platform was designed to operate in two different modes—open loop and closed loop. 

These modes provide a means of testing the autopilot’s performance under different conditions 

in a controlled environment. This type of testing allows for fine-tuning of the control algorithm 

on the autopilot, as well as the reduction of IMU errors. Once testing is complete, the autopilot 

should be mission ready when it leaves the lab. Such a methodology provides minimal risk 

testing and calibration of the autopilot and control algorithms (7, 8). 
7

6. Open Loop System 

When the system is configured for open loop, the autopilot is placed on the gimbaled platform, 

and the computer is programmed to actuate the platform such that it subjects the autopilot to 

designated attitudes. The autopilot sensors report these attitudes back to the computer, and the 

shaft encoders provide a precise measure of the exact attitude. This setting allows the calibration 

of the autopilot’s IMU using the difference between the reported and actual attitudes. 

This setting can also be used to correct errors in the IMU attitude algorithms. By compiling IMU 

data together with the corresponding shaft encoder data, filtering techniques such as neural 

networks or Kalman filters can be employed to minimize errors in the IMU’s algorithms 

(3, 9–12). 

In addition to calibrating IMU hardware, the platform could be used as a synchronization 

apparatus. An example of a system that can greatly benefit from such an apparatus is the target 

geolocation acquisition (TGA) system. A TGA setup consists of a camera, GPS, and IMU. 

Sensor fusion would then occur between the camera frame, IMU attitude, and GPS position to 

determine an approximate ground position based for a designated pixel in the camera frame. 

Synchronization of data from these sensors has a direct impact on the geolocation accuracy (13). 

7. Closed Loop System 

In the closed loop configuration, the autopilot drives the simulator as the simulator drives the 

platform. Between each time step of the simulator, the autopilot reads its IMU to obtain new 

attitude data. This attitude is then processed by a control algorithm on board the autopilot, e.g., a 

proportional integral derivative (PID) controller or a model predictive controller, etc. This 

control algorithm determines the adjustments necessary to the vehicles control surfaces to meet 

the desired attitude. These control surface adjustments, such as throttle, elevator, rudder, and 

aileron, are then transmitted to the simulator. 

Once the simulator receives these updates, its internal flight dynamics engine calculates a new 

attitude based on the user-selected airframe. These new Euler angles are transmitted to the 

ARM7 microcontroller, instructing the stepper motors to match the new attitude. Once the new 

attitude is reached, the feedback loop is closed and the process repeats. 

This feedback loop typically runs at a frequency of 20 Hz but is capable of running at higher or 

lower frequencies as well. The frequency may be set in the Data Input and Output menu of 

X-Plane. The frequency is a function of the aircraft’s stability and speed profile. As a general 

rule of thumb, the smaller or faster the aircraft, the higher the frequency. The airframe used 
8

during testing was the N163MV Cirrus Jet. Because of this aircraft’s high stability, an update 

frequency as low as 5 Hz is acceptable. 

8. X-Plane Interface Module 

Communications with X-Plane occur through a custom-designed interface module, behaving as a 

stand-alone program. It has the choice of executing an internal control algorithm on the X-Plane 

data or propagating it to the autopilot. The interface module connects to X-Plane over a network 

port using the user datagram protocol (14). Once the module establishes a connection with the 

X-Plane server, it immediately begins transmitting data. The frequency and content of this 

information is defined by the user in the Data Input and Output menu of X-Plane. 

The items selected under the Data Set menu can be seen in table 1. These items are specific to 

version 9.0 of X-Plane and may vary with other versions. The data is received in a little endian 

binary format. Regardless of whether an application uses the X-Plane data, it must receive it in 

order to send data of that type back to X-Plane. After all data is received, the module stores it in 

a local data structure. 

Table 1. Items selected under X-Plane’s Data Set menu, 

version 9.0. 

X-Plane v9.0 Line Item Description 

3 Speed, vertical speed 

11 Flight con ail/elv/rud 

17 Angular velocities 

18 Pitch, roll, headings 

20 Lat, lon, altitude 

21 Loc, vel, dist traveled 

35 Engine thrust 

39 Prop pitch 

Before any control algorithm processes the data from X-Plane, the attitude data must be 

converted and sent to the microcontroller. The microcontroller would then perform one of two 

different actions. Either the X-Plane data can be propagated to the autopilot or it can be passed 

to a local control algorithm. If the data is propagated to the autopilot, it will typically use its 

IMU data in lieu of the X-Plane attitude data. However, passing the data does not prohibit the 

autopilot from using all of the X-Plane data as a type of virtual IMU. In either situation, the 

module must wait for the autopilot to return new control surface data. When the data is passed to 

the local control algorithm, the calculation of new control surface data is performed with 

minimum latency.
9

9. The Microcontroller 

The same microcontroller was used to process data from the encoders, receive data from the 

computer, and drive the stepper motors to a specific position. Virtually any microcontroller with 

two or more RS-232 ports and three or more PWM generators can be used. An RS-232 interface 

at 115,200 baud is connected to the U.S. Digital AD5 Quadrature Encoder device, and another 

RS-232 interface at 115,200 baud is connected to the computer. Three PWM outputs are 

connected to the Geckodrive 201 drivers to control pitch, roll, and yaw stepper motors, 

respectively. Three general-purpose IO lines, which control motor direction, are connected to 

the Geckodrive 201 drivers as well. 

The frequency of the microcontroller’s master clock and PWM generators determine the 

frequency range of the stepper motors as well as the resolution of stepper motor control. The 

microcontroller was configured to operate at 48,054,857 Hz. This is a function of the 

18.432-MHz crystal oscillator and the phase locked loop multiplier and divider hardware within 

the microcontroller. The divider register was set to 14, and the multiplier was set to 73. Finally, 

a postscale division of 2 was applied, i.e., 

OSC × 

 = Freq

Freq PLL MClk

Postscale Divider 

. (3) 

The master clock frequency of the microcontroller dictates the range of frequencies that can be 

chosen for PWM generators. Each PWM generator has separate registers for the 16-bit period 

and duty values. Furthermore, there exists a register to divide the master clock for the PWM 

generator’s frequency. Presently, the master clock is divided by 256, slowing the PWM 

frequency by that factor. The period register is set to a hexadecimal value of 0xFFFF, resulting 

in a period of 349.13 ms. Hence, the PWM outputs can generate a square signal between 

2.86 Hz and 93.86 kHz. Since a full revolution of the pitch and roll stepper motors requires 

2000 steps, while the yaw requires 20,000 steps, this equates to rotational rates spanning from 

8.58 × 10–2 to 2.82 × 103

 revolutions per minute. This is clearly an acceptable range for 

providing slow to fast control over the stepper motors. Note that most stepper motors do not 

function beyond 3 kHz. 

It is also worth mentioning that as the PWM period decreases, the frequency error increases. 

This error is the result of having fewer bits available to represent smaller values. For example, if 

the desired period is 1,000.25, the closest integer value the hardware can represent is 1000, 

resulting in an error of 0.025%. If the desired period is 1.25, the closest integer value the 

hardware can represent is 1, resulting in an error of 20%. A graph of the maximum error curve 

can be seen in figure 8.
10

0 200 400 600 800 1000 1200

0.01%

0.10%

1.00%

10.00%

100.00%

Maximum PWM Period Error

Period

Percent Error

Figure 8. Maximum error curve for the PWM period 

values. 

Once powered up, the microcontroller sends several initialization commands to the U.S. Digital 

AD5 Quadrature Encoder. The first of these commands is a baud rate change. The AD5 default 

communications rate is 9600 baud. To keep latency at a minimum, the microcontroller instructs 

the AD5 to change its communication rate to 115,200 baud. The second set of commands 

instructs the AD5 to reset the internal counter for each encoder to 0. Therefore, the current 

position of the platform is set as 0 for each axis. The last initialization command is a poll on all 

three encoder channels to ensure that communications are working. 

Once the initialization sequence on the microcontroller has completed, it functions as an eventdriven process. X-Plane is set to output data at 20 Hz. The data sent to the microcontroller 

consists of three signed 16-bit values for pitch, roll, and yaw, respectively. The sign of the value 

denotes the direction in which the motors will spin. Therefore, the values for each axis can range 

from –32,768 to 32,767. These values signify the position that each motor should now assume. 

For pitch, which has a range of –90° to 90°, the range of values are –500 to 500. For roll, which 

has a range of –180° to 180°, the range of values are –1000 to 1000. For yaw, which has a range 

of 0 to 360°, the range of values is 0 to 20000. Each time the X-Plane module sends data to the 

microcontroller, it has to convert the pitch, roll, and yaw angles from X-Plane to the 16-bit 

values mentioned previously. Once the microcontroller has received the data, it polls the 

encoders for their current positions. For each axis, a difference between current and new 

positions is calculated, i.e., 

Position Position

Period

new cur – 

      . (4) 

The product of this equation is a PWM period, as shown in the following: 

PWM period



  . (5) 
11

The PWM period, in turn, defines the PWM frequency that corresponds to the angular velocity 

necessary to rotate the stepper motor from its current position to its new position as in the 

following: 

256

MClkFreq 

      

. (6) 

If X-Plane is configured to update at 20 Hz, then the period between updates is 50 ms. The 

PWM duty is always half the PWM period. This can be accomplished by shifting the PWM 

period value to the right by 1 bit and storing that value in the PWM duty. 

Certain calculated values may produce singularities that prevent the hardware from functioning 

properly. If σ in equation 5 is 0, then its best to turn the PWM generator off or set it to its lowest 

frequency. If the PWM period is too low, then the stepper motors may be driven at a frequency 

higher than capable. Bounds checking should always be performed. 

10. Platform Evaluation 

The HILS system was put through a testing and evaluation cycle to verify its accuracy in an 

open-loop configuration. An autopilot was mounted to the platform and instructed to transmit its 

IMU data at the highest rate possible to a ground station running on a desktop computer. A takeoff and loitering sequence using several PID controllers was programmed into the X-Plane 

interface module. This permitted the N163MV Cirrus Jet to autonomously take off and loiter 

once achieving an altitude of 4000 ft. The PID controller for level flight was intentionally 

designed to cause the aircraft to porpoise. This behavior provided more features to study within 

the data set. IMU data from the autopilot and X-Plane were logged for ~170 s. Both data sets 

were time shifted to account for latency in the autopilot’s wireless communications link. 

11. Results 

The data presented in figures 9–11 is based on the very first data captured from the gimbaled 

platform. The porpoising in pitch can clearly be seen, while the roll data remains relatively 

constant until a counterclockwise loitering sequence occurs. Both the pitch and roll curves 

matched the expected curve very well (see figures 9 and 10). The subtle differences are believed 

to be caused by a small amount of backlash in the coupling between the stepper motors and 

platform. The yaw curve has almost no correlation with the expected curve (see figure 11). The 

error seen is twofold. The first source of error is the result of the autopilot being indoors and not 
12

having a read on magnetic north. The second, and more significant one, is a result of the 

electromagnetic interference (EMI) produced by the stepper motor’s magnetic fields. The effect 

of pitch on yaw motors is visible in the yaw results. 

Rather than rely on magnetometers, most autopilots acquire true heading from GPS, which is 

more reliable at higher speeds. For autopilots that use GPS (15) for heading, these yaw errors 

are irrelevant. 

30 60 90 120 150 180

0

10

20

30

40

time steps

Degrees

Pitch Overlay

Autopilot Roll

X-Plane Roll

Figure 9. Pitch overlay. 

30 60 90 120 150 180

-40

-30

-20

-10

0

10

time steps

Degrees

Roll Overlay

Autopilot Roll

X-Plane Roll

Figure 10. Roll overlay. 
13

30 60 90 120 150 180

-240

-210

-180

-150

-120

-90

time steps

Degrees

Yaw Overlay

Autopilot Roll

X-Plane Roll

Figure 11. Yaw overlay. 

12. Future Work 

The next generation gimbaled platform incorporates a more comprehensive hardware suite for 

testing both open source and closed source autopilots. The additional hardware will provide the 

autopilot sensors with artificially generated signals for GPS, barometric pressure, wind speed, 

temperature, humidity, and magnetic heading. The software will also be enhanced to make the 

configuration process a more user-friendly one. 

The GPS signals will be artificially generated using a pair of devices that receive coordinate data 

and generate the corresponding GPS signals. The GPS simulator chosen for this project is the 

CAST SIMCOMIII developed by CAST Navigation, allowing for the simulation of up to 12 

satellites. This will be coupled with CAST Navigations CAST130, which is a real-time 

trajectory input system. The GPS data from X-Plane will be sent to the CAST SIMCOMIII, thus 

allowing any GPS equipped autopilot to obtain a GPS location using its receiver. 

To control altitude, a pressure-controlled chamber will be constructed around the gimbaled 

platform. Inside, the chamber pressure can be set to the appropriate altitude. In doing so, the 

autopilot can detect altitude changes directly from its sensor. A duct and fan will be used to 

drive air out of the chamber to control the internal pressure. 

To simulate wind speed, a fan will be placed in a close-ended cylindrical tube. Two outlets with 

the same diameter as the pitot tube will be placed at the back of this cylinder. One of these 

outlets will be connected to the autopilot’s pressure sensor, normally connected to the pitot on 

the outside of the airframe, while the other will be connected to another pressure sensor. The 

autopilot will then use its ported pressure sensor and pitot tube to measure wind speed. 
14

Temperature and humidity need only be controlled within the chamber. Therefore, by replacing 

part of the enclosure with a thermoelectric plate along with fans to circulate the air, the 

temperature of the air surrounding the autopilot can be controlled. 

To allow for the evaluation of autopilots that rely on magnetic heading, the motors in this 

platform will have to be completely shielded or moved to minimize interference with the 

magnetometer. A possible solution is to use linear actuators and move the motors away for the 

autopilot and magnetometer. Although a valid solution, the range of motion in pitch and roll 

may be limited. One other possible solution is to use piezoelectric motors. This would 

effectively eliminate the undesirable electromagnetic field produced by the stepper motors. 

13. Conclusions 

A 3-degrees-of-freedom gimbaled platform was designed and built as a development tool for 

autopilots. The platform proved very effective in minimizing IMU errors. The platform was 

also used in an open loop setting, which allowed X-Plane to fly the platform. The results showed 

high accuracy in pitch and roll, with the yaw severely affected by the EMI of the stepper motors. 

The results obtained show that this system can be developed to serve as a universal flight 

simulator for small autopilots. After being completely developed, this system will allow small 

autopilots to be placed on the platform and fly any airframe under any weather condition in the 

laboratory. This will greatly speed up the autopilot development cycle as well as establish 

guidelines for autopilot evaluation. 
15

14. References 

1. Hung, J. C.; White, H. V. Self-Alignment Techniques for Inertial Measurement Units. IEEE 

Transactions on Aerospace and Electronic Systems 1975, AES-11 (6), 1232–1247. 

2. STEPPE 3 LLC. www.stepper3.com (accessed September 2008). 

3. Ali, K. S.; Jacobson, M. A Neural Networks Classification of Heart Rate Variability. 

Neural, Parallel & Scientific Comp. & Intelligent Sys. Design & Applications; Digital 

Avionics Conference, Atlanta, GA, August 2002. 

4. Ali, K. S.; Carter, L. Miniature Autopilot Evaluation System. J. Computer Science 2008, 4

(1), 30–35. 

5. Burns, R. S.; Duquette, M. M.; Howerton, J. B.; Simko, R. J. Development of a Low-Cost 

Simulator for Demonstration and Engineer Training. Proceedings of the AIAA Modeling and 

Simulation Technologies Conference and Exhibit, Austin, TX, 11–14 August 2003. 

6. E5 Optical Kit encoder. www.usdigital.com/products/e5/ (accessed September 2008). 

7. Cho, J. M.; Hwang, D. H.; Lee, K. C.; Jeon, J. W.; Park, D. Y.; Kim, Y. J.; Joh, J. S. Design 

and Implementation of HILS System for ABS ECU of Commercial Vehicles. Proceedings 

of the 27th Digital Avionics Systems Conference, St. Paul, MN, 26–30 October 2008. 

8. Why use Hardware-in-the-Loop Simulation. www.adi.com/products_sim_qhilWhy.htm 

(accessed September 2008). 

9. Ali, K. S.; Ali, D. L. Neural Network Approach to Digital Control. SPIE 12th International 

Symposium on Aerospace/Defense Sensing, Simulation and Controls, Orlando, FL, April 

1998; Vol. 3390, no. 25. 

10. Ali, K. S.; Ali, D. A. Neural Network Approach to Digital Control. SPIE 12th International 

Symposium on Aerospace/Defense Sensing, Simulation and Controls, Orlando, FL, April 

1998; Vol. 3390, no. 25. 

11. Ali, K. S.; Ali, D. A. Stabilization Techniques for a High Frequency Acoustics Platform. Int 

J. Mathematical Modeling and Scientific Computing 1997, 8. 

12. Ali, K. S. Stability Aspects of a High Frequency Acoustics Platform. IEMS 97, Cocoa 

Beach, FL, 10–12 March 1997. 

13. Davis, W. R., Jr.; Kosicki, B. B.; Boroson, D. M.; Kostishack, D. F. Micro Air Vehicles for 

Optical Surveillance. The Lincoln Laboratory J. 1996, 9 (2). 
16

14. Meyers, A. Sending Data to X-Plane, X-Plane DVD 1. http://www.x-plane. 

com/hacking.html (accessed September 2008). 

15. Xiufeng, H.; Yongqi, C.; Jianye, L. Development of a Low-Cost Integrated GPS/IMU 

System. Aerospace and Electronic Systems Magazine IEEE 1998, 13 (12), 7–10. 
NO. OF 

COPIES ORGANIZATION 

17

 1 DEFENSE TECHNICAL 

 (PDF INFORMATION CTR 

 only) DTIC OCA 

 8725 JOHN J KINGMAN RD 

 STE 0944 

 FORT BELVOIR VA 22060-6218 

 1 DIRECTOR 

 US ARMY RESEARCH LAB 

 IMNE ALC HR 

 2800 POWDER MILL RD 

 ADELPHI MD 20783-1197 

 1 DIRECTOR 

 US ARMY RESEARCH LAB 

 AMSRD ARL CI OK TL 

 2800 POWDER MILL RD 

 ADELPHI MD 20783-1197 

 1 DIRECTOR 

 US ARMY RESEARCH LAB 

 AMSRD ARL CI OK PE 

 2800 POWDER MILL RD 

 ADELPHI MD 20783-1197 

ABERDEEN PROVING GROUND

 1 DIR USARL 

 AMSRD ARL CI OK TP (BLDG 4600) 
18

INTENTIONALLY LEFT BLANK.