The Design and Implementation of a Quadrotor Flight Controller Using the QUEST Algorithm



Similar documents
An inertial haptic interface for robotic applications

Control of a quadrotor UAV (slides prepared by M. Cognetti)

Onboard electronics of UAVs

Basic Principles of Inertial Navigation. Seminar on inertial navigation systems Tampere University of Technology

VTOL UAV. Design of the On-Board Flight Control Electronics of an Unmanned Aerial Vehicle. Árvai László, ZMNE. Tavaszi Szél 2012 ÁRVAI LÁSZLÓ, ZMNE

SIX DEGREE-OF-FREEDOM MODELING OF AN UNINHABITED AERIAL VEHICLE. A thesis presented to. the faculty of

A highly integrated UAV avionics system 8 Fourth Street PO Box 1500 Hood River, OR (541) phone (541) fax CCT@gorge.

How To Control Gimbal

CHAPTER 1 INTRODUCTION

AP Series Autopilot System. AP-202 Data Sheet. March,2015. Chengdu Jouav Automation Tech Co.,L.t.d

SIVAQ. Manufacturing Status Review

Quadcopters. Presented by: Andrew Depriest

Hardware In The Loop Simulator in UAV Rapid Development Life Cycle

MAV Stabilization using Machine Learning and Onboard Sensors

2. Dynamics, Control and Trajectory Following

MP2128 3X MicroPilot's. Triple Redundant UAV Autopilot

Hand Gestures Remote Controlled Robotic Arm

CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES

Performance Test Results of an Integrated GPS/MEMS Inertial Navigation Package

Author: By Siegfried Krainer and Michael Thomas, Infineon Technologies and Ronald Staerz, MCI Innsbruck

Research Methodology Part III: Thesis Proposal. Dr. Tarek A. Tutunji Mechatronics Engineering Department Philadelphia University - Jordan

Configuration Software User Instruction

Flight Controller. Mini Fun Fly

Development of Knowledge-Based Software for UAV Autopilot Design

Engineers from Geodetics select KVH for versatile high-performance inertial sensors. White Paper. kvh.com

Modeling and Autonomous Flight Simulation of a Small Unmanned Aerial Vehicle

Visual Servoing using Fuzzy Controllers on an Unmanned Aerial Vehicle

Application Note IMU Visualization Software

Quest- 1 Satellite Functional Description

ZMART Technical Report The International Aerial Robotics Competition 2014

AVIONICS SYSTEM FOR A SMALL UNMANNED HELICOPTER PERFORMING AGRESSIVE MANEUVERS

K.Prasanna NIT Rourkela,India Summer Internship NUS

How to Turn an AC Induction Motor Into a DC Motor (A Matter of Perspective) Steve Bowling Application Segments Engineer Microchip Technology, Inc.

STEREO Guidance & Control

Mobile Robot FastSLAM with Xbox Kinect

UAVNet: Prototype of a Highly Adaptive and Mobile Wireless Mesh Network using Unmanned Aerial Vehicles (UAVs) Simon Morgenthaler University of Bern

SIMULATION AND CONTROL OF A QUADROTOR UNMANNED AERIAL VEHICLE

T1-Fuzzy vs T2-Fuzzy Stabilize Quadrotor Hover with Payload Position Disturbance

DATA COLLECTION FOR DEVELOPING A DYNAMIC MODEL OF A LIGHT HELICOPTER

Sensor Fusion Mobile Platform Challenges and Future Directions Jim Steele VP of Engineering, Sensor Platforms, Inc.

Information regarding the Lockheed F-104 Starfighter F-104 LN-3. An article published in the Zipper Magazine #48. December Theo N.M.M.

Aerospace Information Technology Topics for Internships and Bachelor s and Master s Theses

Design Specifications of an UAV for Environmental Monitoring, Safety, Video Surveillance, and Urban Security

A NON-LINEAR, TWO-STEP ESTIMATION ALGORITHM FOR CALIBRATING SOLID-STATE STRAPDOWN MAGNETOMETERS

Motion Sensing with mcube igyro Delivering New Experiences for Motion Gaming and Augmented Reality for Android Mobile Devices

Quadcopter Dynamics, Simulation, and Control Introduction

Quadcopter control using Android based sensing

Magnetometer Realignment: Theory and Implementation

Active Vibration Isolation of an Unbalanced Machine Spindle

An internal gyroscope minimizes the influence of dynamic linear acceleration on slope sensor readings.

PID, LQR and LQR-PID on a Quadcopter Platform

Landing on a Moving Target using an Autonomous Helicopter

LEGO NXT-based Robotic Arm

CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER

The Advantages of Commercial UAV Autopilots over Open Source Alternatives

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

MANUAL FOR RX700 LR and NR

Quadrotor Helicopter Flight Dynamics and Control: Theory and Experiment

0 28 November 2011 N/A First Release of Manual 1 24 February 2012 Page 21 Error in FY31AP connection diagram corrected.

Origins of the Unusual Space Shuttle Quaternion Definition

REAL TIME TRAFFIC MONITORING SYSTEM AND DRIVER ASSISTANCE

General aviation & Business System Level Applications and Requirements Electrical Technologies for the Aviation of the Future Europe-Japan Symposium

WooKong Multi-Rotor User Manual

I2C PRESSURE MONITORING THROUGH USB PROTOCOL.

Hardware Connections between Arduino and IMU Nori Wilkins Apr. 5, 2013

EE318 Electronic Design Lab Project Report, EE Dept, IITB, April Wireless Microcontroller Programmer

How To Use Trackeye

PHANTOM 2 Product Release Notes

A Low Cost Indoor Aerial Robot with Passive Aerodynamic Stabilization

Controlling a Dot Matrix LED Display with a Microcontroller

MTw Development Kit WIRELESS MOTION TRACKERS

U g CS for DJI Phantom 2 Vision+, Phantom 3 and Inspire 1

Development of Automatic shooting and telemetry system for UAV photogrammetry INTRODUCTION

PRODUCT DATASHEET. J1939 Vehicle Inertia Monitor. Advanced Vehicle Inertial Measurement and Vibration Monitoring Device. fleet-genius.

Full design of a low-cost quadrotor UAV by student team

Mobile robots. Structure of this lecture. Section A: Introduction to AGV: mobile robots. Section B: Design of the ShAPE mobile robot

If you want to use an inertial measurement system...

Lab 2 Sensor Modeling Introduction to the Wiimote and the Wiimote LABVIEW Interface

[Deotale, 4(7): July, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

Microcontroller-based experiments for a control systems course in electrical engineering technology

Microcontrollers and Sensors. Scott Gilliland - zeroping@gmail

Synthetic Sensing: Proximity / Distance Sensors

Naza for Multi-Rotor User Manual

FRC WPI Robotics Library Overview

Using Xbee in Serial Communication

Error Estimation in Positioning and Orientation Systems

Control of a Quadrotor Helicopter Using Visual Feedback

THERMAL ANEMOMETRY ELECTRONICS, SOFTWARE AND ACCESSORIES

Lab Experiment 1: The LPC 2148 Education Board

DROFLY PRO V3 User Guide

Design and Implementation of a Wireless Gesture Controlled Robotic Arm with Vision

Solar Energy Conversion using MIAC. by Tharowat Mohamed Ali, May 2011

Transcription:

The Design and Implementation of a Quadrotor Flight Controller Using the QUEST Algorithm Jacob Oursland Department of Mathematics and Computer Science South Dakota School of Mines and Technology Rapid City, SD 57701 jacob.oursland@gmail.com Abstract Formally posed in 1965, the problem of optimal attitude estimation from vector measurements has been a hot topic of research in the aerospace community. This paper provides a survey of open source quadrotor helicopter autopilots that demonstrates that the Unmanned Aerial Vehicle community has largely ignored the optimal attitude estimation work to date. Furthermore, the effectiveness of a quadrotor helicopter autopilot utilizing attitude estimates from optimal attitude estimation techniques is evaluated.

1 Introduction Optimal attitude estimation techniques used in the Aerospace industry have been known for several decades. However, the results of the work have been largely ignored by the Unmanned Aerial Vehicle (UAV) industry. The goal of this paper is to demonstrate the successful implementation of a quadrotor autopilot based upon optimal attitude estimation techniques. This paper has three parts. First, a brief introduction to optimal attitude estimation is covered. Next, to justify the claim that UAVs largely ignore the known optimal attitude estimation methods a survey of existing quadrotor helicopter autopilots to examine their methods of attitude estimation. Finally, a quadrotor helicopter autopilot is implemented and tested to demonstrate the effectiveness of optimal attitude estimation techniques such as QUEST in the control systems of quadrotor helicopter autopilots. 2 Optimal Attitude Estimation In 1965 Dr. Grace Wahba, then a graduate student, formally posed the problem of estimating the optimal rotation between a set of observed vectors and a corresponding set of reference vectors [5][6]. Restated, the problem is to minimize the loss function L (A) 1 a i b i Ar i 2 (1) 2 i where A is the rotation matrix, a i are non-negative weights, b i are the body measurement vectors and r i are the reference vectors. Solutions to this problem yield the optimal rotation. Many responses have resulted with the early ones being primarily iterative in nature. Later methods were developed that were non-iterative. Of these, the Quaternion Estimator (QUEST) algorithm has been the most widely used algorithm [3][4]. A survey of attitude estimation techniques can be seen in [2]. 3 Survey of Open Source Quadrotor Autopilots Several open source autopilots exist for quadrotor helicopters. An analysis of four such autopilots and their attitude estimators has shown a variety of approaches used. 1

3.1 AeroQuad (http://aeroquad.info/) The AeroQuad is a quadrotor autopilot based on the Arduino microcontroller platform. Hardware: Software: Figure 1: The AeroQuad Quadrotor Helicopter CPU: Atmel ATMega 328 8-bit microcontroller operating at 16 MHz. Sensors: SparkFun 5DOF IMU with an additional IXZ500 dual axis rates gyro to supply the third rates gyro measurement. User Input: Radio Control (RC) receiver receiving input from an RC handheld transmitter and ZigBee protocol using an XBee can be used. Motor Control: Standard RC brushless motors controlled by RC brushless electronic speed controllers (BESCs). Output to the BESCs occurs at 400Hz (normally RC BESCs are controlled at 50 Hz). The software is programmed in a variant of the C language used by the Arduino platform. 2

Attitude Estimation: ( ) Euler angles roll and pitch are computed by φ = tan 1 a x and a 2 y +a 2 z ( ) θ = tan 1 a y. The resulting values are then fed into a complementary filter a 2 x +a2 z yielding filtered estimates of roll and pitch. Control: Control of the roll and pitch angle rates is performed by PID controllers. The target values of the controllers are set by the input from the RC receiver modified by attitude estimates from the accelerometers. As there is no yaw estimation as such the target values of the yaw PID controller come exclusively from the RC receiver. 3.2 MikroKopter (http://www.mikrokopter.com/) The MikroKopter project is a long running quadrotor autopilot system from Germany. The current MikroKopter quadrotor helicopter platform is known as the MikroKopter ME. All major components of the MikroKopter system are custom designed. Figure 2: The MikroKopter ME Quadrotor Helicopter 3

Hardware: Software: CPU: Atmel ATMega 644P operating at 20 MHz. Sensors: Sensors for the MikroKopter include a LIS344ALH 3-axis accelerometer, Analog Devices ADXRS610 single axis rates gyros on all three axes and a barometric pressure sensor to estimate altitude. User Input: User input comes from an RC receiver. Alternatively, input can come from a serial input permitting the use of wireless communications systems such as Bluetooth. Motor Control: Custom BESCs are used to control RC brushless motors. Communication with the BESCs is over the I2C protocol. The flight control software of the MikroKopter platform is programmed in C. Functionality of the MikroKopter has been split out amongst different processors on separate circuit boards. The lowest level functionality, receiving user input and maintaining attitude control, is on one board while GPS input and position control is on a second board. Attitude Estimation: Control: Attitude estimation of roll and pitch rates is accomplished by computing the difference between the predicted and measured accelerometer values and by integrating the gyros. The resulting estimates are filtered. Control is performed by PD controllers on each axis. The target rates are set by user input and output from the PD controllers is sent to the custom BESCs. 3.3 Paparazzi (http://paparazzi.enac.fr/) The Paparazzi project is a long running autopilot project supporting many types of aircraft. Initially the project focused on fixed wing aircraft before moving into Vertical Take-Off and Landing (VTOL) fixed wing aircraft. The quadrotor platform and autopilot, the Paparazzi Booz, is an extension of the VTOL autopilot. The Paparazzi autopilots have been successfully used to win a number of UAV competitions. 4

Figure 3: The Paparazzi Booz Quadrotor Helicopter Hardware: Software: CPU: NXP LPC2148 microcontroller operating at 60 MHz. Sensors: The Paparazzi project has developed a custom three axis IMU for the Booz utilizing Analog Devices ADXL320 accelerometers and ADXRS610 gyros for rates measurement. Alternatively, a Cloud Cap Technologies Crista IMU may be used with the Paparazzi Booz. User Input: User input comes from an RC receiver. Motor Control: BESCs designed for the MikroKopter and Ascending Technologies aircraft as well as OpenBLDC and modified Turnigy RC BESCs may all be used to control RC brushless motors. The Paparazzi project develops their flight control software in C with several possible target architectures. Attitude Estimation: Attitude estimation is achieved through the use of an Extended Kalman Filter (EKF). The attitude is propagated forward by integrating the rates gyros and updated with measurements from the accelerometers and magnetometers. 5

Control: Control of the Paparazzi Booz comes in a variety of modes: angular rates, attitude, hover and navigation. All control systems are implemented as PID controllers. When in angular rates and attitude modes the controllers only control the rates or attitude, respectively, whereas hover and navigation modes employ layered controllers to control position and velocity as well. 3.4 Vicacopter (http://vicacopter.com/) The Vicacopter autopilot project touts itself as the only open source English language source code helicopter autopilot. The autopilot support two configurations: a minimal autopilot with rates gyros and sonar transducer and a full autopilot with 6 Degree of Freedom (DOF) IMU, magnetometer, barometer and GPS. The Vicacopter autopilot is available on two platforms: the Microchip PIC microcontroller and the Gumstix Computer on Module (COM) system. Figure 4: The Vicacopter Quadrotor Helicopter 6

Hardware: Software: CPU: Marvell PXA255 on the Gumstix COM at 600 MHz. Sensors: The sensor complement of the Vicacopter includes a SparkFun MicroMag 3 three axis magnetometer, an Analog Devices ADXRS613 on each axis, an Analog Devices ADXL330 three axis accelerometer, an u-blox 5 GPS receiver and a VTI SCP1000 barometric pressure sensor. User Input: User input is from RC receiver. Motor Control: Output is through RC brushless motors controlled via RC BESCs. The software is programmed in C and takes advantage of the POSIX compliant Linux operating system of the Gumstix. Attitude Estimation: Control: Attitude estimation is accomplished via a seven state EKF. The first four states are the attitude quaternion components and the last three states are the gyro biases. The predict state portion of the EKF uses information from the gyros and state update comes in two phases, first using input from the accelerometers and then using input from the magnetometers. The Vicacopter has two control methods available: PID and Artificial Neural Network. Both methods apply layered controllers to control attitude, velocity and position. 4 Autonomous Control of a Quadrotor Of the open source autopilots only two (Paparazzi Booz and Vicacopter) used attitude estimates in their control systems, the other two used rotational rates. Neither of the autopilots utilized known techniques for optimal attitude estimation. All of the autopilots examined make the assumption that the vehicle is operating in or at near hover and the measured acceleration is that of the gravity vector. Gebre-Egziabher and Elkaim have postulated that given the dynamics of micro air vehicles (MAVs), optimal attitude estimation techniques may not yield the necessary performance needed for controllability [1]. To test the hypothesis of a quadrotor helicopter controllability using estimates from an optimal attitude estimation technique, a quadrotor helicopter 7

autopilot was developed and tested. The algorithm utilized is a variant of the QUEST algorithm. In the implementation the Newton-Raphson method is limited to a single iteration. Literature states that convergence is frequently attained within the first iteration and my tests have concluded the same. 4.1 Design The developed quadrotor autopilot is quite small and performs only a few key functions. First measurements from the IMU are acquired and the observations are fed into the QUEST algorithm. Next a target attitude is computed using the input from the RC receiver. A difference quaternion is computed between the two attitudes. The difference quaternion is then converted to Euler angles and used in three PD controllers. The derivative component of the PD controllers is derived from the gyro measurements of the IMU. 4.2 Implementation Figure 5: The Developed Quadrotor Helicopter 8

Hardware: Software: CPU: NXP LPC2106 at 60 MHz. Sensors: MEMSense nimu providing accelerometers, rates gyros and magnetometer measurements on all three axes. User Input: User input is from a Futaba FASST R617FS RC receiver. Although not used for input, a serial interface is also available over ZigBee wireless using an XBee transceiver. Motor Control: Output is through Turnigy Plush 25A RC brushless motors controlled via RC BESCs. The software is programmed in less than 1600 lines of C. Attitude Estimation: Control: QUEST algorithm using the Earth s geomagnetic field declination vector and the gravitational acceleration vector as two reference vectors. The observation vectors are measured by the nimu s magnetometers and accelerometers. Control is accomplished via three PD controllers. The proportional components are measured by the error between the estimated attitude quaternion and the desired attitude quaternion. The derivative components are measured from the rates gyros on each axis. 4.3 Results Tethered flights demonstrated stable hover and the ability to control the UAV. Unfortunately, there were intermittent jumps observed in the vehicle. These are believed to be arising from noise coming from the IMU. Given the low sampling rate of the nimu (max 156 Hz) in comparison to the sampling rates of the other vehicles (> 1000 Hz), attempts to filter the noise have been met with limited success. Since the vehicle suffered intermittent failures of attitude stabilization, no untethered flights had been attempted. 5 Conclusion The intermittent failures notwithstanding, the vehicle test showed considerable response to control. As such, future work should include replacing the IMU with one that permits a higher sampling rate to attempt to eliminate the noise issue. A comparison of the QUEST based controller and the EKF based approach presented by Gebre-Egziabher and Elkaim is also worth investigation. 9

References [1] GEBRE-EGZIABHER, D., AND ELKAIM, G. H. Mav attitude determination by vector matching, 2008. [2] MARKLEY, F. L., AND MORTARI, D. Quaternion attitude estimation using vector observations. The Journal of the Astronautical Sciences (2000). [3] SHUSTER, M. D. Approximate algorithms for fast optimal attitude computation. AIAA Guidance and Control Conference (1978). [4] SHUSTER, M. D. Three-axis attitude determination from vector observations. Journal of the Astronautical Sciences (1981). [5] WAHBA, G. A least squares estimate of spacecraft attitude. SIAM Review 7 (1965). [6] WAHBA, G. Problem 65-1 (solution). SIAM Review 8 (1966). 10