Научная статья на тему 'Управление полетами, навигация и наведение различных беспилотных летательных аппаратов и пилотируемых мультикоптеров'

Управление полетами, навигация и наведение различных беспилотных летательных аппаратов и пилотируемых мультикоптеров Текст научной статьи по специальности «Медицинские технологии»

CC BY
500
219
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОПУСТИМЫЕ СБОИ (В РАБОТЕ) / БПЛА / МУЛЬТИКОПТЕР / ГНСС / ИНС / УПРАВЛЕНИЕ / НАВИГАЦИЯ / СБОЙ ДВИГАТЕЛЯ / MEMS / FAULT TOLERANCE / UAV / MULTICOPTER / MANNED MULTICOPTER / GNSS / INS / CONTROL / NAVIGATION / MOTOR OUTAGE

Аннотация научной статьи по медицинским технологиям, автор научной работы — Цвинер Ян, Ягер Райнер

В данной статье рассматриваются различные аспекты управления мультикоптеров больших и более тяжелых, чем обычные, с числом двигателей 8 и весом больше 25 кг. Мы показываем, что несколько двигателей могут выйти из строя из-за даже без негативного воздействия на стабильность и высоту. Представлены данные моделирования динамических систем на основе MATLAB-на-основе моделирование и архитектура каскадного (кватернион углового положения / угловая скорость крена) управления полетом.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FLIGHT CONTROL AND NAVIGATION FOR SCALABLE AND ARBITRARILY DIMENSIONED UAV AND MANNED MULTICOPTERS

In this paper different aspects of the control of larger and heavier than usual multicopters are evaluated (more than 8 motors and more than 25 kg of weight). We show that several motors can fail without a negative impact on stability and altitude. The MATLAB-based simulation and the cascaded (attitude quaternion/roll-rate) flight control architecture is presented. In diesem Beitrag werden verschiedene Aspekte der Flugsteuerung von großen und schweren Multikoptern (mehr als 8 Motoren, mehr als 25 kg Abfluggewicht) untersucht. Es wird gezeigt, dass einzelne Motorausfälle die Orientierung und Höhe eines Multikopters nicht negativ beeinträchtigen. Die für diese Untersuchung eingesetzte MATLAB Simulation und die kaskadierte Flugsteuerung (basierend auf Orientierungsquaternion und Rollraten) wird vorgestellt.

Текст научной работы на тему «Управление полетами, навигация и наведение различных беспилотных летательных аппаратов и пилотируемых мультикоптеров»

УДК 629.7:527

УПРАВЛЕНИЕ ПОЛЕТАМИ, НАВИГАЦИЯ И НАВЕДЕНИЕ РАЗЛИЧНЫХ БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ И ПИЛОТИРУЕМЫХ МУЛЬТИКОПТЕРОВ

Ян Цвинер

Университет прикладных наук Карлсруэ (HSKA), 76133, Германия, Карлсруэ, Мольткештрассе, 30, магистр, научный сотрудник, тел. +49 (0)721-925-2319, факс: +49 (0)721-925-2329, e-mail: jan.zwiener@hs-karlsruhe.de, web site: www.navka.de

Райнер Ягер

Университет прикладных наук Карлсруэ (HSKA), 76133, Германия, Карлсруэ, Мольткештрассе, 30, профессор, доктор-инженер, директор Института геоматики, тел: +49 (0)721-925-2620, факс: +49 (0)721-925-2597, e-mail: reiner.jaeger@hs-karlsruhe.de, web site: www.navka.de

В данной статье рассматриваются различные аспекты управления мультикоптеров -больших и более тяжелых, чем обычные, с числом двигателей 8 и весом больше 25 кг. Мы показываем, что несколько двигателей могут выйти из строя из-за даже без негативного воздействия на стабильность и высоту. Представлены данные моделирования динамических систем на основе MATLAB-на-основе моделирование и архитектура каскадного (кватернион углового положения / угловая скорость крена) управления полетом.

Ключевые слова: допустимые сбои (в работе), БПЛА, мультикоптер, ГНСС, ИНС, управление, навигация, MEMS, сбой двигателя.

FLIGHT CONTROL AND NAVIGATION FOR SCALABLE AND ARBITRARILY DIMENSIONED UAV AND MANNED MULTICOPTERS

Jan Zwiener

University of Applied Sciences Karlsruhe, 76133, Germany, Karlsruhe, 30 Moltkestr., M. Sc., research associate, tel. +49 (0)721-925-2319, fax: +49 (0)721-925-2329, e-mail: jan.zwiener@hs-karlsruhe.de, web site: www.navka.de

Reiner Jäger

University of Applied Sciences Karlsruhe, 76133, Germany, Karlsruhe, 30 Moltkestr., Prof. DrIng., Head of Geomatics Institute at IAF, tel. +49 (0)721-925-2620, fax: +49 (0)721-925-2597, e-mail: reiner.jaeger@hs-karlsruhe.de, web site: www.navka.de

In this paper different aspects of the control of larger and heavier than usual multicopters are evaluated (more than 8 motors and more than 25 kg of weight). We show that several motors can fail without a negative impact on stability and altitude. The MATLAB-based simulation and the cascaded (attitude quaternion/roll-rate) flight control architecture is presented.

In diesem Beitrag werden verschiedene Aspekte der Flugsteuerung von großen und schweren Multikoptern (mehr als 8 Motoren, mehr als 25 kg Abfluggewicht) untersucht. Es wird gezeigt, dass einzelne Motorausfälle die Orientierung und Höhe eines Multikopters nicht negativ beeinträchtigen. Die für diese Untersuchung eingesetzte MATLAB Simulation und die kaskadierte Flugsteuerung (basierend auf Orientierungsquaternion und Rollraten) wird vorgestellt.

Key words: fault tolerance, UAV, multicopter, manned multicopter, GNSS, INS, control, navigation, MEMS, motor outage.

1. INTRODUCTION

The research in the area of small and lightweight unmanned multicopters area has soared in recent years and many different approaches to navigation and flight control have been published, see e. g. [1], [2], [5], [6]. The focus on this paper lies on larger multicopters with more than 8 motors and the potential to carry persons (manned multicopters) and higher payloads. The architecture of the simulation is shown in section 2. The attitude control and altitude control system is shown in detail in section 3. Different motor outage scenarios are evaluated to test the robustness of such large multicopter constellations in section 4. An example multicopter is shown in figure 2; this aircraft has an uncommon propeller setup (shown in figure 1) with 18 propellers and is using the control architecture from section 3 of this paper. For the evaluation in section 4 a multicopter is simulated that is four times larger and almost 20 times heavier than the example model in figure 2.

0

O

0 o

o

X (Roll)

© ©

©

©

©

->Y

° o© 0 © ©

© ©

Figure 1: Motor setup with 18 motors

Figure 2: Test UAV 25 kg with 18 motors

2. SYSTEM SETUP

Figure 3: MATLAB-based mass point simulation of a 450 kg multicopter

To test the flight control and the motor outage scenarios, a simulation environment was created in MATLAB. Different multicopters with arbitrary mass and propeller configurations can be simulated (see figure 3). Motor power and delay as well as mass distributions have to be defined for the model.

The simulation is run at several thousand steps per second; the multicopter flight control is updated at 500 Hz (the control update rate could go up to the simulation speed in theory). To simulate the aircraft movement, classical rigid body dynamics equations have to be solved, see e. g. Goldstein (1980). For the attitude, Euler's first order differential equation is used to describe the rotation:

T = J ■ m + w x (J ■ w). (2.1)

T is the 3-D torque vector, to the 3-D rotation rate vector and J the 3x3 inertia matrix that is calculated from the aircraft mass distribution. This can be supplied by accurate CAD models of the multicopter or by mass points (with the mass m; in kg at position in meters) as shown in figure 3 with the following equation:

/£ m;(y;2 + Z;2 ) - £ m;X;y; - £ m;X;Z; \

J = ( -£ m;X;y; £ 7?l;(X;2+Z;2 ) -£ 77l;y;Z; ). (2.2)

\ -£ m;X;Z; -£ m;y;Z; £ 77;(X;2 + y2)/

The moments of inertia of the rotating propellers also have to be considered, a derivation of the equations can be found in [3]. The motion is based on the well-known rigid body dynamics in three-dimensional space, according to Newton's laws.

3. CONTROLLER

For the controller architecture it is assumed that a complete navigation state vector y e is available at the control loop update time t (see [4]):

y e(t) = [x(t)b 0 dy T(t)b 0 dy T(t)b 0 dy q(t)b <3(t)Sb ] (3.1)

It consists of the body's position x(t)b 0dy, velocity t)b0dy, acceleration

x(t)b 0 dy, orientation q(t)b and rotation rate k>(t)bb at time t in the e-frame. Alternatively the state vector is defined in respect to the above local navigation-frame, which is defined to be a frame tangential to the earth's surface at a fixed point ( Bn-frame>Ln_ frame>h)e. Then superscript e would be replaced with n in equation

(3.1).

Figure 3 shows the used multicopter control loop architecture. The attitude block has a setpoint orientation (quaternion s(t)b) and the current orientation (quaternion q(t)b ). The setpoint orientation can be directly given by a pilot's input commands or by a higher level trajectory generator. The attitude control loop then calculates the

desired rotation rates of the aircraft il(t)eb (in the aircraft body coordinate system) and hands this over to the rate control loop. The rate control loop could be a simple PID controller or a more sophisticated adaptive control scheme that learns how the aircraft reacts and knows how to reach the desired states in an optimal way [2]. The rate control loop calculates motor actuating via a motor mixer submodule. The motor actuating variables are then send over to the electronic speed controllers (ESC) of the motors.

Figure 3: Cascaded control setup

The following section explains the principal relationship of torque, rotation rates and motor actuating variables («-vector) that is used in the control blocks and the motor mixer.

The total torque (T) of the aircraft in the aircraft body system (North(X) East(Y) Down(Z) convention) can be calculated in the following way for «-motors:

y b _

-1} ■ f1 11- f1 d^s1

-I2 ■ f2

Ly i

I2 ■ f2

Lx 1

d2 ■ s2

—ly ■ fnN

lx -fn

dn • sn

(uv

u

(3.2)

\

u

n

Each motor has a local body coordinate system position (lx and ly ), a direction d (either -1 or 1), a per-motor torque scale factor sl and a per-motor actuator to force scale factor fl. Ideally fl and sl are known, otherwise this uncertainty has to be compensated by the control loops. Normally all fl and sl are the same if the same type of motors/propeller configuration is used. Equation (3.2) can be rewritten with the motor matrix K (dimension 3 x n):

(3.3)

As K is not directly invertible, the Penrose-Moore pseudoinverse K + is calculated1 from K. If the rank of the matrix K is three (3) - and only then, it holds that K + ■ K = I , so equation (3.3) can be transformed to:

/u1

K + ■ Tb =

u2 I. (3.4)

Vu71/

If the rank is not three, the motor configuration makes no sense for a multicop-ter. This is a good early test for the motor configuration. So for any given desired torque Tb and the pseudoinverse K+, the corresponding motor actuating variables can be calculated. Of course there is a torque limit, as the actuating variables cannot go beyond 100 % (numerically 1.0). The resulting actuating variables have to be added to a base thrust that is the same for each motor. This base thrust is calculated in the following way:

b= ---- + a. (3.5)

cos (p cos 0

The hover thrust h is estimated by a Kalman filter [7] and corrected by the current attitude angles roll ( 0 ) and pitch ( 0). The term a is a throttle addition from the altitude position and velocity PD controller [6].

4. EXPERIMENTS

A 450 kg multicopter is simulated with the following configuration: 18 motors in the layout as shown in figure 1 and the flight control architecture described in section 3. Different motor outage scenarios are evaluated, where the motors (indicated in red) are no longer producing lift. This could happen due to a loose propeller mounting, a mechanical or electrical problem in the motor itself, a malfunctioning of the electronic speed controller (ESC), a power cable connection problem, an on-board network problem or a problem in the battery power supply (e. g. an overheating battery).

For the first scenario, a complete branch of motors is disabled (a branch consists of three motors). The disabled motors are shown in figure 3. Motor 4, 5 and 6 are dis-

1 This calculation takes about 30 ms on a 168 MHz ARM microcontroller for the 18 motor configuration.

abled during the simulated flight. As shown in the figure 4, the attitude is affected along the roll axis by about 4° degrees to the left (as expected by a loss of thrust on the left side). The height drops from 5.0 meters to almost 4.6 meters and recovers after less than 5 seconds. The maximum rotation rate is about 8°/s to the left for a brief period. The overall stability is not critically affected.

0

0

0 O

©

o

X (Roll) ©

Q

©

© © © © © ©

© ©

Figure 3: MATLAB-based simulation of a 450 kg multicopter with three motor

errors (motor 4, 5 and 6)

75

Roll(X): Blue, Pitch(Y): Green, Yaw(Z): Red

2 -=-

80 85 Time (s)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

90

0

95

75

80 85 Time (s)

90

95

5

f 4.9

.C

f 4.8 4.7

85 Time (s)

80 85 90 Time (s)

Figure 4: Motor outage (3 motors) simulation results. Top left: attitude, top right rotation rates, lower left: set point rotation rates, lower right: height in metres

5.1

4.6

75

80

90

95

75

95

Another interesting scenario is a symmetric motor outage. The previous simulation is extended to the motors 13, 14 and 15 (see figure 5), so a loss of six motors in total is simulated (1/3 of the total motor count). Due to the symmetry, the influence on the attitude angles is minor (a few tenth of a degree) and cannot even be clearly attributed to the simulated motor problems. The only interesting aspect here is the height (lower right part of figure 6): the temporary height loss is now half a meter until the adaptive altitude control compensates for the motor loss. While the attitude chance is barely noticeable, the height loss is visible. The actuating variable to hover goes from 46% up to 66% in this scenario. The other motors have to compensate for the loss but the overall stability of the attitude remains; although the room to correct the attitude is smaller in this case, due to the increased hover setpoint of 66%. The scenario in figure 7 and figure 8 shows that 4 faulty motors on one side are still no problem. But 5 motors on one side (see figure 9 and 10) is too much for the system and the height loss is not stopped. The attitude control is more important here so that an additional safety system, such as a parachute, can be launched. Figure 10 depicts a strong loss in the roll attitude that can be recovered. So in this scenario a parachute launch would be possible.

Figure 5: MATLAB-based simulation of a 450 kg multicopter with six motor

errors (motor 4-6 and 13-15)

f X (Roll)

Time (s) Time (s)

Figure 6: Motor outage (6 motors) simulation results. Top left: attitude, top right rotation rates, lower left: setpoint rotation rates, lower right: height in meters

^X (Roll)

Figure 7: MATLAB-based simulation of a 450 kg multicopter with six motor errors

(motor 4-6 and 8)

Time (s) Time (s)

25

20

5? 15

V 10

5.5 f

55 60 65 70 Time (s)

4.5

75

4 —

55

60 65 70 Time (s)

75

Figure 8: Motor outage (4 motors) simulation results. Top left: attitude, top right rotation rates, lower left: setpoint rotation rates, lower right: height in meters

X (Roll)

18

17

16

10

15

13 1-► Y

Figure 9: MATLAB-based simulation of a 450 kg multicopter with five motor errors

5

Time (s) Time (s)

Figure 10: Motor outage (5 motors) simulation results from figure 9

5. SUMMARY

A control concept for multicopter applications has been presented that is fault tolerant and can be used to control very small multicopters (less than 1 kg) up to very large multicopters (25 kg up to 450 kg and more with more than 8 motors). The safety aspects of motor outages were analyzed. The attitude and height control is safe even with outages of up to 4 motors. With 5 or 6 motor problems, the safety depends on the configuration of the non-working motors. But even a bad configuration (i. e. 5 motors on one side) can maintain a stable attitude, so that for example a parachute can be deployed.

6. ACKNOWLEDGEMENT

The research has received funding from the Central Innovation Programme SME (ZIM project number VP2957702TL2) by the Federal Ministry of Economic Affairs and Energy (formerly Federal Ministry of Economic Affairs and Technology) Germany.

REFERENCES

Achtelik M. et al. (2013): Inversion Based Direct Position Control and Trajecto-

1] ry Following of Micro Aerial Vehicles. Proc. of the IEEE/RSJ Conference on Intelligent Robots and Systems (IROS), 2013.

Achtelik M., Bierling T., Höcht L., Wang J., Holzapfel F. (2011): Adaptive Con-

2] trol of a Quadcopter in the Presence of large/complete Parameter Uncertainties. AIAA infotech@Aerospace, 2011.

Goldstein H. (1980): Classical Mechanics, 2nd ed., Addison-Wesley.

3] ISBN 0201029189.

Jäger R., Diekert J., Hoscislawski A., Zwiener J. (2012): SIMA - Raw Data Simu-

4] lation Software for the Development and Validation of Algorithms for GNSS and MEMS based Multi-Sensor Navigation Platforms, FIG Working Week 2012, Rome

Meister O. (2010): Entwurf und Realisierung einer Aufklärungsplattform auf Ba-

5] sis eines unbemannten Minihelikopters mit autonomen Flugfähigkeiten. Karlsruhe, Universität (KIT). Dissertation, Logos Verlag Berlin.

Puls T. (2011): Lokalisations- und Regelungsverfahren für einen 4-Rotor-

6] Helikopter. Oldenburg Univ., Dissertation.

Wendel J. (2011): Integrierte Navigationssysteme: Sensordatenfusion, GPS und

7] Inertiale Navigation. Walter de Gruyter.

BIOGRAPHICAL NOTES

Prof. Dr.-Ing. Reiner Jäger

Professor for Satellite and Mathematical Geodesy, Adjustment and Software Development at Karlsruhe University of Applied Sciences (HSKA)

Head of the Laboratory of GNSS and Navigation, of the Institute of Geomatics at IAF and of the joint RaD project "GNSS-supported lowcost multisensor systems for mobile platform navigation and object geo-referencing" (www.navka.de) Member FIG Commission 5 WG 5.4 Kinematic Measurements

CONTACTS M.Sc. Jan Zwiener

University of Applied Sciences - Institute of Applied Research (IAF) Moltkestraße 30 76133 Karlsruhe Germany

Tel. +49 (0)721 925-2519 Fax +49 (0)721 925-2927 Email: j an.zwiener@hs-karlsruhe. de Web site: www.navka.de

© Jan Zwiener, Reiner Jäger, 2015

i Надоели баннеры? Вы всегда можете отключить рекламу.