This procedure will illustrate IMU and ADS sensor calibration and integration with flight computers and demonstrate the use of integrated INS and ADS data acquisition and processing using in an outdoor flight facility. End-to-end flight control for a quadrotor operating in the University of Michigan’s M-Air netted flight test facility is demonstrated.
1. Sensor Calibration: Inertial Measurement Unit (IMU)
Sensor calibration is most effective when performed with support from high-quality test equipment. For the 3-axis IMU, calibrate the rate gyro and accelerometer for each axis separately using a precision rate table (Figure 6). The rate table precisely rotates at a user-defined angular velocity. The user issues a series of rate commands, during which the IMU collects the data needed for sensor calibration. The single-axis calibration experiment described below is therefore repeated three times, once for each IMU sensor axis (x, y, z).
- Mount the IMU on the rate table such that the sensor axis being calibrated is directed radially inward or outward.
- Measure the distance from the center of the table to the center of the IMU center. This is the reference radius for circular motion.
- Mount the DAQ computer, IMU, and battery directly to the rate table, and connect all components directly.
- Set up software to collect IMU rate and acceleration data.
- While the rate table is motionless, record rate gyro, and accelerometer bias values.
- Conduct a series of experiments with different positive and negative constant rate table rotation rates. Sensor calibrations are expected to be linear. Acquire data at rates of 0 (baseline), ±15, ±30, and ±60 degrees/second. The table can spin at faster rates, but the selected values are sufficient to cover signals expected in typical UAV flight operations.
- Collect data from the rate gyro and accelerometer being calibrated for each angular velocity value listed above. Each rotation rate should be established before data is collected to ensure a constant rate is maintained. Collect data over 10 - 15 s, assuming a data collection rate of at least 30 - 100 Hz, to ensure disturbances can be filtered out of final calibration values.
- Disconnect and remove the IMU from the rate table and orient it such that the accelerometer being calibrated points down.
- Collect +1g data through the computer system.
- Flip the IMU such that the accelerometer being calibrated points up and collect -1g data through the computer system. These extra data points are simple to obtain and can be used to validate each linear calibration curve obtained from rate table data at ±1g. The 1g value is particularly important to calibrate accurately because linear accelerometer data is used to determine the direction “down” relative to the quadcopter body.
- Process the data. Develop linear curve fits for gyro and accelerometer data points, which relates acquired voltages to MKS unit rotational rates (gyro) and linear accelerations (accelerometer). Confirm that calibration error is sufficiently low. Note that the rate table provides direct control of angular velocity for the gyro calibration. The corresponding acceleration, a, induced by the centripetal force of circular motion, can be computed from the specified angular velocity ω and the radius r of the IMU from the rate table center:
(9)
2. Quadrotor Flight Experiments
For our final series of experiments, we mount the IMU and pitot system on a quadrotor (shown in Figure 7) and fly in the University of Michigan’s M-Air netted flight facility. The vehicle is stabilized through a port of the Ardupilot open source autopilot package to the Beaglebone Blue (no microprocessor used) and configured before flight through the Mission Planner ground station software. A radio-control transmitter/receiver interface enables the pilot to provide “outer loop” commands for quadrotor altitude, side-to-side motion, and heading to Ardupilot’s “inner loop” flight control law regulating quadrotor roll angle, pitch angle, yaw angle (heading), and altitude. [14]
Because a quadrotor does not require airspeed feedback to stabilize, Ardupilot only relies on IMU data plus a pressure sensor for altitude, which is calibrated during program initialization relative to the takeoff altitude pressure, to stabilize flight given pilot inputs. A fully autonomous extension of Ardupilot requires inertial position data from GPS or other sensing system (e.g., high-speed motion capture). Because our experiments were performed with quadrotors in constrained environments, the pitot air data system is not necessary. However, pitot systems are essential for fixed-wing aircraft and multicopters attempting precise flight paths following uncertain windy environments. [15, 16] The flight test procedure is divided into three phases: pre-flight, flight test, and post-flight. This subdivision is similar to the procedures followed by pilots of manned aircraft through the use of well-established cockpit checklists. [17]
Pre-flight
- Charge batteries and test them before installation.
- Establish a clear test environment (indoor or outdoor), and mark the area to assure uninvolved people remain clear.
- Make sure the flight test team is briefed and qualified (trained) to perform the planned test.
- If flying outdoors, make sure the aircraft and pilot are registered and certified per FAA regulations. A minimum of three people is required for an open-air test: A pilot in command (PIC), visual observer (VO), and ground station operator. For our tests, the quadrotor will fly in a netted facility outdoors. Two tether operators will assure the vehicle cannot fly away for indoor testing. Note that no specific FAA regulations apply to netted flight testing since the UAV does not occupy an open outdoor space.
- Turn on flight computer and ground station laptop.
- Collect preliminary data to ensure that the sensors are functioning properly. The pilot and support team must ensure a clear understanding of the flight plan and that abort/recovery procedures are in place.
Flight Test
- Start data acquisition on the ground station.
- Confirm flight area is clear/safe.
- Arm thrusters/motors.
- Initiate flight test sequence.
- Conduct the flight test, with the pilot calling out each step, including as a minimum:
takeoff (launch), flight mode changes, known waypoint targets or maneuvers, and landing. Ensure that all personnel are on task and execute emergency procedures (flight termination) as needed. Waypoints and trajectories are specific to each flight. For the quadrotor experiment, we follow moderately aggressive cross and rectangular patterns at a constant altitude and heading, followed by a climb/descent then a yaw sequence. The angular rates and linear accelerations in this flight are easily identified in the data, and they confirm that the IMU and flight controller are functioning correctly.
Post-flight
- Disarm motors to assure that they will not accidentally turn on.
- Save and download flight data to archival storage.
- Log flight in words per the pilot, VO, and ground station operator feedback.
- Check the batteries and charge as needed.
- Recover equipment, and clean the area for the next occupant.