Abstract
Recent advancement in micro-electronic technology makes the development of quadrotor fully possible. This paper elaborates on the complete designing process of a quadrotor control platform. Firstly a hardware structure with a microcontroller and embedded sensors is reported. Then through the implementation of a linear complementary filter, the real-time attitude estimation of the quadrotor is realized. Furthermore, aiming at the outdoor environment navigation, a barometer and a Global Positioning System (GPS) are also integrated within this platform. A multisensory data fusion algorithm is then proposed to combine these sensors for the outdoor navigation. Finally, a group of PID controllers are designed to stabilize the attitude and position. The experiment results demonstrate the capability of this platform to navigate autonomously through user-defined waypoints.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
In recent decades, the application of unmanned aerial vehicle (UAV) has been widely reported in both military and civil fields. Application of UAV is usually considered in the dangerous environments. For instance, with additional sensors, a UAV is reported to support wildfire observations [1]. After the earthquake in Fukushima, a T-Hawk Micro Aerial Vehicle equipped with radiation sensors accomplishes the missions to help operators locate the nuclear fuel debris [2]. In this way, the use of UAV could promote the success rate of the missions and ensure the safety of the human lives.
Among all these UAVs, quadrotor stands out due to its flexibility and potential capabilities. The designing of the control algorithm as well as the real-time state estimation algorithm for the quadrotor is challenging due to the complex dynamic model and the unreliable measurement from the sensors on the UAV. During the past decade, many researchers involve themselves into the designing of the quadrotor controller. In their works, some mathematic models are built to understand the dynamics of the quadrotor [3, 4]. Several control algorithms, both linear and nonlinear, are also proposed to stabilize the quadrotor. Examples include a non-linear controller derived using back-stepping approaches [5], a PD controller presented by V. Kumar and performs well in their papers [6]. Apart from the controller designing, work has also been done to do the flight state estimation [7, 8]. However, Most of these studies are verified in a simulation environment or carried out in some commercial platforms which provide little experience in the practical development of the flight controller. In practical experiments, the accuracy of attitude and position estimation would be influenced by the noise of the embedded sensor. And the performance of these control algorithms depend on the accuracy of the real-time state estimation.
Meanwhile, success has been reported from many research groups or commercial companies in constructing their own quadrotors. From the commercial companies, the DJI Wookong, Parrot ARDrone, Asctec Humming bird have been introduced. Nevertheless, these controllers are based on the closed-source projects. There is little information we could get. As for the open-source project, such as the STARMAC [9], the pixhawk [10], X4-flyer [11] and so on, the published articles just report parts of their work.
For these reasons, a complete development process of the flight controller is presented in this paper. Firstly, this paper proposes a hardware platform which functions as the flight controller. Inertial sensor, barometer and GPS are integrated into the platform to estimate the real-time state of the quadrotor. Taking the noise of the sensors into consideration, a pose estimation algorithm based on a linear complementary filter and a group of PID controllers are implemented on this platform. To verify their validity and stability, flight tests are carried out.
The remainder of this paper is organized as follows. Section 2 develops the dynamic model of the quadrotor. Section 3 describes the hardware structure of this platform. Section 4 elaborates on the multisensory data fusion algorithm for attitude and position estimation, along with the corresponding attitude and position control algorithm. Outdoor flight test results are given in Sect. 5 and a conclusion is reached in Sect. 6.
2 Modeling
In order to develop the dynamic model of the quadrotor, the rotation matrix between two coordinate systems, the brushless motor dynamics and the rigid body dynamics are studied in this section.
2.1 Rotation Matrix
Firstly, coordinate systems including an inertial frame and a body fixed frame are defined. All of the following equations are derived in these two coordinate systems.
The body fixed frame {B} is defined in Fig. 1. The X axis points to the front of the quadrotor. The Y axis points to the left. Then the Z axis is defined by the right hand rule.
For the inertial frame {G}, the origin point O would be set at the takeoff point of the quadrotor. Then an east-north-up orthogonal frame is established by the right hand rule.
Three attitude angels are defined in Fig. 2. \(\phi \) is the attitude angel of roll which represents the quadrotor rotates around the X axis. \(\theta \) is the attitude angel of pitch which represents the quadrotor rotates around the Y axis. \(\psi \) is the attitude angel of yaw which represents the quadrotor rotates around the Z axis.
With these attitude angels and a rotation order of X-Y-Z, a rotation matrix {R} from the inertial frame to the body fixed frame is defined as
where s stands for sin, c stands for cos.
2.2 Brushless Motor Dynamics
The sequence of the motors is defined in Fig. 1 with a clock-wise direction. The thrusts F and the momentums M of the motors are all defined in the Z direction of the body fixed frame. In the steady state, the thrust and the momentum from a single motor would be proportional to the square of this motor’s angular speed [12].
where i is from 1 to 4, the coefficient k and b would be decided by the shape of the blade, and \(\omega \) is the motor’s angular speed.
2.3 Rigid Body Dynamics
Rigid body dynamics governs the motion of the quadrotor. In this subsection, the Newton-Euler equations for the quadrotor would be developed. Firstly, four control variables are defined as
where \(F_{1}\), \(F_{2}\), \(F_{3}\), \(F_{4}\) are the thrusts, \(M_{1}\), \(M_{2}\), \(M_{3}\), \(M_{4}\) are the momentums, and L is the distance between the rotor and the center of the quadrotor.
In these control variables, \(U_{1}\) represents the total thrusts. \(U_{2}\) represents the torque on the Y axis. \(U_{3}\) represents the torque on the X axis. \(U_{4}\) represents the torque on the Z axis.
According to the Newton-Euler formalism, the rigid body dynamic equation is developed as
where m stands for the mass of the quadrotor, r stands for the position in the inertial frame, g stands for the gravity constant, q stands for the attitude in the body fixed frame, and I stands for the moment of inertia.
3 Hardware Design
This section describes the hardware structure of this platform including the Microcontroller Unit (MCU), the embedded sensors and the other related peripherals. The computation power comes from a 48 MHz 32 bit ARM RISC MCU with 64 KB SRAM and 256 KB Flash. This MCU is a low cost MCU without the Float Computation Unit (FPU) and does not support Digital Signal Processing Instructions. The poor computation performance of this MCU gives a high requirement for the simplicity of the algorithm.
The Inertial Measurement Unit (IMU) MPU-9150 consists of an integrated 3-axis Accelerometer, a 3-axis Gyroscope and a 3-axis Magnetometer. With these inertial sensors, the attitude estimation is achieved. Regarding of the position estimation, a barometer MS5611 for measuring the altitude and a GPS receiver U-Blox M8N for measuring the horizontal position are also integrated in the platform.
As for the other peripherals, the XBEE has been chosen as the wireless communication system between this platform and the ground station. The signal from the remote control (RC) is transformed into a PPM signal by the RC receiver then processed by the MCU. Besides, this platform has 4 PWM outputs to driver the corresponding DC motors. The status LEDs and an external buzzer are also used to indicate the real-time working status of this platform.
With all these sensors and peripherals, the input and the output data streams within this platform is summarized in Fig. 4.
4 State Estimating and Control
To control a quadrotor, the current states including the local position, linear velocity, attitude and angular velocity are required [13]. Among these states, the attitude and angular velocity are the primary variables used in the attitude control of the quadrotor. The local position and the linear velocity are used in the position control. To estimate these states, many different sensors are required including the accelerometer, gyroscope, magnetometer, barometer and the GPS. In some specific application, lidar, VICON system and the Kinect are also integrated into the estimating process.
4.1 Estimating Attitude
In this paper, a linear complementary filter is implemented to combine the sensors data from MPU9150 which includes the accelerometer, gyroscope and magnetometer. Generally, the gyroscope measures the angular velocity in the body fixed frame {B}
where \(\dot{\theta }_{u}\) is the measured angular velocity of the gyroscope. \(\dot{\theta }\) is the true value of the angular velocity. b is the slow time-varying gyroscope bias. \(\eta \) is the additive measurement noise.
The major defect of the gyroscope is the slow time-varying bias which makes the method of integrating these measurements to estimate the attitude impossible. For these reasons, we need to combine the measurements of accelerometer which is far more stable in the long term but susceptible in a short time to compensate the bias of the gyroscope.
Let \(\dot{\theta }_{u}\) be the measurement angular velocity of the gyroscope and \(\dot{\hat{\theta }}\) the compensated angular velocity which is used for the integration. \(\hat{\theta }\) denotes the attitude estimation and \(\theta _{a}\) is the attitude measured by the accelerometer. \(\hat{b}\) is the time-varying bias estimation of the gyroscope (Fig. 5).
4.2 Estimating Position
To estimate the local position of the quadrotor, the primary sensor would be the accelerometer. The mathematic model of the accelerometer is defined as
where \(a_{u}\) is the acceleration measurement. R is the rotation matrix defined in Sect. 2. a is the true motion acceleration in the inertial frame. \(g\overrightarrow{{\varvec{z}}}\) is the gravity. \(b_{a}\) is the bias of the accelerometer. \(\eta _{a}\) is the additive measurement noise (Fig. 6).
However, due to the steady error and the stochastic noise listed in the formula, there is no effective way to use the accelerometer solely. With careful calibration, these defects could be relieved but not completely eliminated [14]. For these reasons, in this paper the platform would include a barometer to get the altitude information and a GPS to provide the position information in the horizontal plane. And a PI controller is designed to fuse the data from the accelerometer, barometer and the GPS. The key point of the PI controller is to correct the steady error of the accelerometer with the measurement from barometer and the GPS.
The position estimation algorithm is defined as
where \(a_{u}\) is the acceleration measurement. \(\hat{a}\) is the modified acceleration. \(\hat{r}\) is the position estimation. r is the position measurement.
4.3 Control
In this section, the controllers will be designed based on the dynamic model in Sect. 2 and the states estimation algorithm in Subsects. 4.1 and 4.2. The block diagram of this controller is shown in Fig. 7, which includes a position loop(P), a velocity loop(V), an attitude loop(A)and a rate loop(R).
The PID controller has been proved to be the simplest but most efficient methods for the control of the quadrotor [15, 16]. In this paper, PID controllers are also implemented in these four loops defined as
where P controller is adopted in the position loop and the attitude loop. PID controller is implemented in the velocity loop and the rate loop.
5 Flight Test
In order to verify the effectiveness of this platform including the hardware and the algorithm, flight test has been carried out in the outdoor environment. Position controller and Velocity controller are running at 250 Hz. Meanwhile, Attitude controller and Rate controller are running at 500 Hz. Thanks to the wireless communication system XBEE which is shown in the Fig. 3, all of the states in the quadrotor during the experiments are collected and sent back to the ground station. The altitude control experiment and horizontal position control experiment are carried out separately.
5.1 Altitude Control
For the altitude control, the quadrotor is ordered to hover at a specific height. The test result is shown in Fig. 8. \(Z_{p}\) is the current altitude estimation and \(Z_{cmd}\) is the corresponding target altitude.
The experiment result shows that the quadrotor well responds to the command and the steady error is within 0.3 m. Comparing with the reported result [16], the performance is good enough.
5.2 Position Control
For the horizontal position control, the experiment is carried out at a specific height of 1.7 m and the response of the quadrotor has been tested with the hovering and ramp command in the horizontal plane. The test result is shown in Fig. 9.
In the X axis of the inertial frame, the quadrotor firstly hovers for 150 s, then it follows several ramp commands. In the Y axis of the inertial axis, the quadrotor firstly hovers for 100 s, then it also follows several ramp commands. The experiment result shows that the quadrotor well responds to the command. The steady error is within 1 m and the delays are within 2 s. Comparing with the reported result [17], the performance is good enough.
6 Conclusions
This paper elaborates on the development of a quadrotor platform which is able to navigate through the user-defined waypoints in the outdoor environment. The hardware structure is reported in Sect. 3 with the necessary sensors. In Sect. 4, a simple linear complementary filter and a PI-based multisensory data fusion algorithm are proposed to estimate the attitude and the local position of the quadrotor. In the outdoor flight experiment, this platform has demonstrated good performance in the attitude stability and position control ability through the PID controllers which are discussed in Sect. 4. The test result shows the steady error is within 0.3 m in the altitude direction. As for the horizontal direction, the steady error is within 1 m and the delay is within 2 s. Future work would include some additional functions such as the path-planning and collision avoidance. To realize these functions, some external sensors such as the laser rangefinder and sonar would be added to this platform. These sensors would improve the navigation ability of this platform in the exploration of the unknown environment.
References
Ambrosia, V., Buechel, S., Wegener, S., et al.: Unmanned airborne systems supporting disaster observations: near-real-time data needs. Int. Soc. Photogramm. Remote Sens. 144, 1–4 (2011)
Jzsef, L.: Exploring the capacities of airborne technology for the disaster assessment
Guo, W., Horn, J.: Modeling and simulation for the development of a quad-rotor UAV capable of indoor flight. In: Modeling and Simulation Technologies Conference and Exhibit. Keystone, Colorado (2006)
Bouabdallah, S., Siegwart, R.: Full control of a quadrotor. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2007, pp. 153–158. IEEE (2007)
Mian, A.A., Daobo, W.: Modeling and backstepping-based nonlinear control strategy for a 6 DOF quadrotor helicopter. Chin. J. Aeronaut. 21(3), 261–268 (2008)
Michael, N., Mellinger, D., Lindsey, Q., et al.: The GRASP multiple micro-UAV testbed. IEEE Robot. Autom. Mag. 17(3), 56–65 (2010)
Earl, M.G., D’Andrea, R.: Real-time attitude estimation techniques applied to a four rotor helicopter. In: Proceedings of 43rd IEEE Conference on Decision and Control, Atlantis, Paradise Island, Bahamas, 14–17 December, pp. 3956–3961 (2004)
Hong, S.K.: Fuzzy logic based closed-loop strapdown attitude system for unmanned aerial vehicle (UAV). Sens. Actuators A Phys. 107, 109–118 (2003)
Hoffmann, G., Rajnarayan, D., Waslander, S., Dostal, D., Jang, J., Tomlin, C.: The stanford testbed of autonomous rotorcraft for multi agent control (STARMAC). In: Proceedings of the Digital Avionics Systems Conference, vol. 2, pp. 12.E.4–12.E.121.10 (2004)
Meier, L., Tanskanen, P., Fraundorfer, F., Pollefeys, M.: PIXHAWK: a system for autonomous flight using onboard computer vision. In: Proceedings of the ICRA, pp. 2992–2997, May 2011
Guenard, N., Hamel, T., Mahony, R.: A practical visual servo control for an unmanned aerial vehicle. IEEE Trans. Robot. 24(2), 331–340 (2008)
Zhang, Q., Chen, J., Yang, L., Dong, W., Sheng, X., Zhu, X.: Structure optimization and implementation of a lightweight sandwiched quadcopter. In: Liu, H., Kubota, N., Zhu, X., Dillmann, R. (eds.) ICIRA 2015, Part III. LNCS, vol. 9246, pp. 220–229. Springer, Heidelberg (2015)
Mahony, R., Kumar, V., Corke, P.: Multirotor aerial vehicles: modeling, estimation, and control of quadrotor. IEEE Robot. Autom. Mag. 19(3), 20–32 (2012)
Lim, C.H., Lim, T.S., Koo, V.C.: A MEMS based, low cost GPS-aided INS for UAV motion sensing. In: 2014 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), pp. 576–581. IEEE (2014)
Salih, A.L., Moghavvemi, M., Mohamed, H.A.F., et al.: Modelling and PID controller design for a quadrotor unmanned air vehicle. In: 2010 IEEE International Conference on Automation Quality and Testing Robotics (AQTR), vol. 1, pp. 1–5. IEEE (2010)
Dong, W., Gu, G.Y., Zhu, X., et al.: Modeling and control of a quadrotor UAV with aerodynamic concepts. World Acad. Sci. Eng. Technol. 7, 377–382 (2013)
Remes, B.D.W., Esden-Tempski, P., Van Tienen, F., et al.: Lisa-s 2.8 g autopilot for GPS-based flight of MAVS. In: IMAV 2014: International Micro Air Vehicle Conference and Competition 2014, Delft, The Netherlands. Delft University of Technology, 12–15 August 2014
Acknowledgments
This work was funded by the special development fund of Shanghai Zhangjiang Hi-Tech Industrial Development Zone (No.201411-PD-JQ-B108-009) and Open Foundation of the State Key Laboratory of Fluid Power Transmission and Control (No. GZKF-201510).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Fang, J., Ye, X., Dong, W., Sheng, X., Zhu, X. (2016). Navigation and Control for an Unmanned Aerial Vehicle. In: Kubota, N., Kiguchi, K., Liu, H., Obo, T. (eds) Intelligent Robotics and Applications. ICIRA 2016. Lecture Notes in Computer Science(), vol 9834. Springer, Cham. https://doi.org/10.1007/978-3-319-43506-0_33
Download citation
DOI: https://doi.org/10.1007/978-3-319-43506-0_33
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-43505-3
Online ISBN: 978-3-319-43506-0
eBook Packages: Computer ScienceComputer Science (R0)