Open access peer-reviewed chapter

Generalized Control Allocation Scheme for Multirotor Type of UAVs

By Denis Kotarski and Josip Kasać

Submitted: September 19th 2017Reviewed: December 7th 2017Published: June 27th 2018

DOI: 10.5772/intechopen.73006

Downloaded: 1142


Unmanned aerial vehicles (UAVs) are autonomous or remotely guided aircraft, which can potentially carry out a wide range of tasks. Multirotor type of UAV has unique ability to perform vertical take-off and landing (VTOL), a stationary and low-speed flight where certain configurations can achieve very complex and precise movements. Therefore, they are suitable for performing tasks such as delivery of first aid kit, firefighting, infrastructure inspection, aerial video, and many others. In this chapter, a generalized control allocation scheme for a multirotor UAV is presented, which describes the mapping of rotor angular velocities to the control vector of the aircraft. It enables control and design of multirotor configurations with diverse geometrical arrangement and characteristics of the propulsion subsystem depending on the task, which multirotor has to carry out. The inverted scheme, which is implemented as a motor mixer, maps the control inputs into a set of aircraft actuator outputs.


  • multirotor UAV
  • VTOL
  • control allocation scheme
  • propulsion subsystem
  • motor mixer

1. Introduction

Unmanned aerial vehicles (UAVs) can be defined as autonomous or remotely guided aircrafts, which do not require the onboard human crew during operation; so, it is expected that they would be used in a wide range of tasks and operated in harmful conditions. The development of new technologies, especially microelectromechanical systems (MEMS), and an increase of the control units’ computer power have enabled rapid progress and a large number of interesting applications. There are several categories of UAVs, which are in various stages of research, development, and application (rotary-wing, fixed wing, flapping-wing, blimp, and hybrid UAV). Rotary-wing UAVs have the ability to carry out vertical take-off and landing (VTOL), stationary and flight at moderate speed making them suitable for performing tasks without the need for a runway or a launch pad.

Multirotors are the type of rotary-wing UAVs with fixed pitch wings and propellers. Since they are typically small in size with extreme agility and maneuverability, multirotors belong to micro aerial vehicles (MAVs). They are suitable for use in aerial photography, surveillance, infrastructure inspection, precise agricultural, search and rescue missions [1, 2], delivery, and many other tasks. Multirotors have six degrees of freedom (DOF); it is assumed that the aircraft is symmetrical and rigid, and the only moving parts are rotors with the propellers connected to the rotor axis. Rotors angular velocities are the only variables that have a direct impact on the multirotor dynamics [3]. From a control perspective, multirotors are represented as highly nonlinear multivariable systems because coordinate system transformations include trigonometric functions and aerodynamic forces that are proportional to the squared rotor speed. If the functionality of control loops is lost, multirotor will crash, because it is inherently unstable system and cannot return to equilibrium state by itself. Given that the only variables are the rotor (propulsion) subsystem angular velocities, multirotor configurations can be classified according to the propulsion arrangement.

The design and development of multirotors are constrained by the size, weight, and power consumption [4]. The most common and by far the most used multirotor configuration is the one with four rotors, quadrotor [5, 6], which is suitable for the evaluation of control algorithms [7, 8]. Performing certain tasks such as the lifting of heavy equipment requires configurations which have six, eight or more rotors. Configurations may consist of single (hexarotor, octorotor) and coaxial [9] (Y6 and X8 rotor) propulsion arrangements, in which various control units have built-in or with overlapping arrangements [10]. These configurations have the characteristic of a parallel geometric rotor arrangement and can be classified as flat multirotor configurations. As a result of growing interest in development and application of multirotor UAVs where some tasks require longer flight time or complex and precise aircraft movements, an increasing number of new configurations are emerging. By properly selecting propulsion arrangement, it is possible to improve certain properties such as an increase in flight time [11]. Several papers deal with the novel configurations with actively tilted rotors [12, 13] in order to overcome the underactuation limitation of conventional flat multirotor configurations. A novel overactuated quadrotor UAV based on actively tilted rotors is proposed in [14]. Actively tilted configurations require an additional number of actuators, which makes the system more complex and also increases weight and power consumption. Therefore, passively tilted nonflat multirotor configuration, such as presented in paper [15], is more suitable for analysis and realization. The drawback of the mentioned papers is the limitation in the mathematical representation of configurations so that the analysis is also limited to certain properties.

In this chapter, a nonlinear mathematical model of the multirotor UAV is described. The model is decomposed into a rigid body dynamic model, derived by using Newton-Euler method and control allocation scheme, which describes a mapping of rotor angular velocities to a control vector. Control allocation matrix, whose rank determines whether the configuration is underactuated or fully actuated, is defined with rotors geometric arrangement and propulsion physical parameters. Through open loop simulations, the implemented model enables the analysis of dynamics and energy consumption for different generic multirotor configurations, so it is possible to design diverse multirotor UAVs for various tasks. The fact that the nonflat design can provide six independent control variables, one for each degree of freedom, has a significant influence on the motion planning and control design. Fully actuated configurations provide the more efficient realization of different task objectives, which require complex movements such as tasks involving manipulation with objects in the presence of external forces. The inverted scheme, implemented in a flight controller as a motor mixer, maps the control vector to actuator commands.


2. Preliminary system descriptions

The mathematical model of the multirotor UAV is a function that is mapping input angular velocities of rotors to output position and orientation of the aircraft, which is required for the design and synthesis of control algorithms. The model describes multirotor behavior that is important for dynamics and energy consumption analysis of different configurations.

2.1. Reference coordinate systems

To describe the multirotor dynamic model, it is necessary to define the inertial coordinate system (Earth frame) and the aircraft system (body frame). Earth frame is defined as an inertial right hand Cartesian coordinate system connected to earth’s surface with z-axis direction normal to ground level. Earth frame does not rotate, which means that the law of inertia is directly applicable. Multirotor position ξ=XYZTis determined by the coordinates of the vector, which connects the origin of Earth frame with the origin of body frame. Multirotor orientation η=ϕθψTis determined by three Euler angles describing the orientation of the body frame in relation to the Earth frame. Rotation around the Xaxis is defined as the roll angle ϕ, rotation around the Yaxis as the pitch angle θ, and rotation around the Zaxis as the yaw angle ψ.

Body frame is fixed on the multirotor body and it is also right hand Cartesian coordinate system. The assumption is that the origin of body frame coincides with the multirotor center of gravity (COG) and that the principal inertia axes of multirotor body coincide with the body frame coordinate axes. Since the frame is fixed to the rotating multirotor body, the inertia forces are added to Newton’s laws of motion. The inertia matrix is time-invariant and also reduced to diagonal matrix due to the symmetry of the multirotor body. Multirotor linear (translational) velocities vB=uvwTand angular (rotational) velocities ωB=pqrTare defined in the body frame. Since the onboard sensors and propulsion subsystem are defined with respect to the body frame, it is more suitable to formulate the motion equations, force vector F=FXFYFZT,and moment vector Τ=ΤϕΤθΤψTin the body frame.

2.2. UAV kinematic model

Assuming that the multirotor is a rigid body, translational and rotational motion can be described as the motion of the particle located at the body COG. It follows that the description of the multirotor motion is reduced to the description of the translation and rotation of the body frame. Kinematics of a UAV with six DOF is described by


where ξ̇is the linear and η̇is the angular velocity vector in Earth frame, Ris an orthogonal rotation matrix, which maps the linear velocity vector from Body to Earth frame, and ΩBis transformation matrix, which maps the angular velocity vector from Body to Earth frame.

Using the Euler’s rotation theorem, rotation of Earth frame to body frame is described with three consecutive rotations around the known axes. Since the rotation matrix is mapped from Body to Earth frame, inverse rotations need to be calculated,


where RψZdenote the 3 × 3 elemental rotational matrix, which describes the rotation around the Zaxis for the yaw angle ψ. As shown in Figure 1, the rotation result is an auxiliary coordinate system with axes (X1, Y1, Z),


where ci=cosiand sj=sinj. The matrix RθYdescribes the rotation around the Y1axis for the pitch angle θ. The rotation result is an auxiliary coordinate system with axes (XB, Y1, Z1),


Figure 1.

Illustration of Euler rotations.

The matrix RϕXdescribes the rotation around the XBaxis for the roll angle ϕ. The rotation result is the body frame with the axes (XB, YB, ZB),


Since angular velocities occur around an axis, the angular velocity is not mapped by rotation matrix. The rate of yaw angle occurs around the Zaxis, rate of pitch angle around the Y1axis, and rate of roll angle occurs around the XBaxis. Using elemental rotation matrices, it is possible to transform the angular velocity vector from the Earth frame into the body frame,


Eq. (6) can be written as ωB=ΩB1η̇from which we get an inverse transformation matrix ΩB1that enables the calculation of ΩB.

2.3. Multirotor UAV dynamic model

Multirotor dynamics is described by a multivariable nonlinear model, which consists of six second-order differential equations. It is derived by using the Newton-Euler method based on Euler’s laws of motion, considering the assumptions that the body frame origin coincides with the aircraft COG and that the axes of the body frame coincide with the principal inertia axes of the multirotor body.

2.3.1. Translational dynamics

The translational (linear) motion of a rigid body based on the first Euler law with respect to the body frame is described by


where mis aircraft mass. The translational dynamics of the multirotor system is influenced by the force vector given with propulsion and external forces caused by the environment


Force vector is divided into gravitational gB, disturbance force df=dmXdmYdmZT, and propulsion subsystem force vector f=fXfYfZT. The gravitational force vector has a direction parallel to the Zaxis in the Earth frame gE=00mgT. In the body frame, it is defined by rotation matrix gB=RTgE.

The total translational dynamics with respect to the body frame is given by the equation


Since the dynamic model in the Earth frame does not contain the members of the imaginary forces and the gravitational force coincides with the Zaxis, the translational dynamics is shown in Earth frame,


2.3.2. Rotational dynamics

The rotational (angular) motion of a rigid body based on the second Euler law with respect to the body frame is described by


where Iis the inertia matrix. By applying the assumption that the multirotor frame has symmetrical structure, inertia matrix becomes diagonal, which enables simplification of the dynamic model,


The rotational dynamics of the multirotor system is influenced by the moment vector, given with external moments caused by the environment and propulsion moments


Moment vector is divided into gyroscopic torque oB, disturbance moment dτ=dddT,and propulsion subsystem moment vector τ=τϕτθτψT. The gyroscopic torque vector introduces the gyroscopic effect to the model. When rotating around the desired axis, multirotor starts to rotate around an axis that is perpendicular to the rotor axis and the desired axis of rotation.


JTPis the total motor inertia moment (around the rotor axis) that depends on the dimensions and geometry of the rotor, Piis the sign of the ith rotor rotation where clockwise (CW) rotation have positive sign while counterclockwise (CCW) rotation have negative sign and ωiis the ith rotor angular velocity.

The total rotational dynamics with respect to the body frame is given by the equation


2.3.3. Control vector

Control vector is the input in the multirotor dynamic model from which it follows that it is the only vector that can influence the system dynamics. It consists of propulsion subsystem force and moment vector uB=fτT. It depends on the propulsion subsystem configuration and squared angular velocities of the rotor, which are the input to the multirotor mathematical model,


where ΓBis control allocation matrix, which describes how the propulsion subsystem maps the rotors angular velocities to the control vector. Ωis vector of the rotors squared angular velocities, Ω=ω12ω22ωN2T.


3. Propulsion subsystem

Multirotor configuration is determined with the propulsion subsystem, which is defined by the geometric arrangement and characteristics of the propulsion units. The assumption is that the propeller aerodynamic forces consist of the thrust force and the drag torque.

3.1. Propulsion aerodynamic forces

During rotation, the propeller motion through the air causes aerodynamic forces that directly affect the multirotor dynamics. An air is accelerated behind the blade through a pressure difference, which is produced between the forward and rear surfaces of the airfoil-shaped blade (Figure 2). As a result, thrust force and drag torque are produced depending on the propeller geometric characteristics and the rotor angular velocity.

Figure 2.

Flow model of a propulsion unit [10].

The relationship between the aerodynamic forces and the rotor angular velocity is derived by the blade element momentum theory. Thrust force of ith propulsion unit is given by


where kfis a thrust force factor, which is determined by propeller geometric characteristics.


where CTis thrust force coefficient, ρis air density, Ais the area of propeller (rotor) disk, and ris the propeller radius.

Drag torque of ith propulsion, which must be produced in order to overcome the air resistance and achieve the desired angular velocity is given by


where kτis a drag torque factor,


and CPis the power coefficient. Thrust force factor kfand drag torque factor kτcan be obtained from experimental measurements [16].

3.2. Multirotor configurations

Multirotor configuration consists of an arbitrary number of rotors (N). Configurations mostly consist of even number of propulsion units in order to cancel reactive moment around the vertical axis ZB. Conventional configurations are characterized by a parallel geometric rotor arrangement and can be divided according to the efficiency of the propulsion arrangement and the size of aircraft.

3.2.1. Conventional propulsion arrangements

The most frequently used configurations have an even number of rotors with a single propulsion arrangement (Figure 3). Rotors are placed on the diagonals that are placed in the X or + configuration with respect to the XBaxis marked with the red arrow.

Figure 3.

Multirotor configurations with single propulsion arrangement [17].

The selection of the propulsion subsystem depends on the task demands for the payload, flight time duration, or other specific requirements. It is important to note that the increase in the number of rotors increases the price and size of the aircraft.

In addition to a single propulsion arrangement, often configurations have a coaxial arrangement. It is used when greater payload capacity is needed, while at the same time there are limits to the size or geometry of the aircraft. It is characterized by a reduced efficiency of the propulsion unit that manifests itself through shorter flight time or reduced payload capacity compared to configurations with the single arrangement and the same number of rotors [18].

Most commercial control units have a flexible system that allows it to support various multirotor configurations. Architecture ensures that the propulsion geometric arrangement does not require special case handling in the core controllers [19]. Inverted control allocation scheme, often called motor mixer, maps control vector to actuator commands, which control motors or servos. PX4 have built-in airframe references for conventional multirotor configurations as shown in Figures 3 and 4.

Figure 4.

Multirotor configurations with coaxial propulsion arrangement [17].

3.2.2. Nonconventional propulsion arrangements

In addition to the conventional, there are more and more new configurations that are proposed. The configuration with overlapping propulsion geometric arrangement has also parallel rotor arrangement. It is suggested in order to reduce thrust losses respect to the coaxial configurations [20] (Figure 5).

Figure 5.

Overlapping propulsion arrangement test rig [20].

The multirotor configurations so far described share features that significantly affect the dynamics and properties of the aircraft. They consist of an even number of symmetrically arranged rotors in one or more parallel planes with XBYBplane. It follows that the rotor thrust vector is parallel with the ZBaxis. We can classify them as flat or parallel multirotor configurations (FMRC).

Due to the specific requirements of some tasks, except flat configurations, the multirotor configurations can have a nonparallel geometric arrangement with respect to the ZBaxis. Rotors can be rotated around two axes, either actively or passively, so it is important to define a geometric arrangement for different designs. Those configurations can be classified as non-flat multirotor configurations (NFMRC) [21].

3.3. Propulsion geometric arrangement

It is necessary to define the rotor position and orientation relative to the aircraft COG, the origin of body frame. For this purpose, a right-hand coordinate rotor system is defined through which the position and rotor orientation are described. Rotor arm of ith rotor connects the origin of body frame and the origin of his frame (Figure 6). XRiis a ith rotor arm axis with direction from the aircraft COG. ZRihas the same orientation and direction as ZB. We can say that the ith rotor frame is actually body frame translated for liand rotated for angle χi.

Figure 6.

Rotor coordinate systems [21].

3.3.1. Rotor unit position

Rotor position vector ξRiis defined with ith rotor angle χiaround the ZBaxis and with the distance lifrom ith rotor to origin of body frame. The assumption is that the position of the rotor lies in the XBYBplane, so the third coordinate equals zero,


3.3.2. Rotor unit orientation

Since the control vector is defined in body frame, the rotor orientation is shown with three consecutive rotations. Orientation vector for ith rotor is defined by


where RχiZBis rotation matrix around ZBaxis (Figure 6), RγyiYRiis rotation matrix around YRiaxis, and RγxiXRiis rotation matrix around XRiaxis (Figure 7).

Figure 7.

Illustration of tilt angles.

γxirepresents rotor tilt angle around ith rotor arm axis XRi, γyirepresents rotor tilt angle around YRiaxis, and e3is an unit vector. If all tilt angles around rotor frame axes are equal to zero, then we have a parallel or flat multirotor configuration. With proper selection of tilt angles around rotor arm axis, it will be shown that it is possible to achieve desired allocation of force and moment in τϕτθfZTand fXfYτψT.


4. Control allocation scheme

The rotors position and orientation determine the allocation of aerodynamic forces to control vector of multirotor UAV, respectively propulsion geometric arrangement maps the thrust forces and drag moments to force and moment vector of propulsion subsystem.

4.1. Thrust force and drag torque mapping

Thrust force mapping of ith rotor is determined by the orientation vector of the same rotor. Force vector of ith rotor (propulsion) with respect to body frame is given by


Thrust force and drag torque mapping of ith rotor to a moment vector of ith rotor (propulsion) with respect to body frame is given by


Piis the sign of the ith rotor rotation where CW rotation have positive sign while CCW rotation have negative sign.


The control vector consists of propulsion subsystem force and moment vectors uB=fτT. Propulsion subsystem force vector is equal to the sum of the propulsion units’ force vectors


The same applies to propulsion subsystem moment vector, which is equal to the sum of the propulsion units’ moment vectors.


4.2. Control allocation matrix

Control allocation scheme is a matrix derived from Eqs. (26) and (27) by using the matrix representation of the vector product a×b=Sab. The matrix rows represent DOF, while the matrix column represents multirotor propulsion units. Control allocation matrix summarizes a mapping of the rotor angular velocities to a control vector


Rank of the control allocation matrix determines the controllability of the system, which is an important fact for the control design and motion planning. A control system with full row rank is fully actuated; therefore, it is able to accelerate in an arbitrary direction in space. When the matrix is not full row rank, then the control system is underactuated, and it is not able to accelerate in all directions in space.


5. System controllability

Flat multirotor configurations are characterized by parallel alignment of propulsion units thrust force vectors with ZBaxis. It follows that γxi=0and γyi=0, thus rotors orientation vector is equal to the e3unit vector. In that case control allocation matrix has rank equal to four which means that aircraft provide only four independent control variables. Regardless of the number of actuators, flat configurations shares inherent underactuated condition of control system thus control input cannot accelerate the aircraft in arbitrary directions. In order to achieve the desired position in space, it is necessary to change the orientation of the aircraft, thus flat configurations are strongly coupled systems (Figure 8).

Figure 8.

Flat hexarotor configuration—FX6 [22].

Control allocation matrix for flat hexarotor FX6 is given by


In order to overcome the underactuation condition, it is required to select propulsion geometric arrangement for which control allocation matrix will have rank equal to six. From Eq. (23), it is evident that orientation vector of rotors determines the allocation of thrust force. By tilting rotor around XRi, it will be shown that it is possible to achieve desired allocation of thrust force so that matrix has rank equal to six. In that case, control system will have six independently controlled DOF, respectively, fully actuated system. A necessary condition is that the multirotor consists of six or more rotors (Figure 9).

Figure 9.

Non-flat hexarotor configuration—NFX6 [22].

Control allocation matrix for nonflat hexarotor NFX6 is given by


6. Conclusions

This chapter describes a nonlinear mathematical model for the multirotor type of UAV. Mathematical model consists of rigid body dynamics and control allocation scheme providing a certain modularity for control design and implementation. Control allocation scheme describes a mapping of the rotor angular velocities to a control vector, which is determined by propulsion geometric arrangement and physical parameters. Matrix row rank is important information about the controllability of a system. Conventional flat multirotor configurations have only four independent control variables, it follows that they have in common the underactuation condition of system. Since the underactuated system cannot be controlled to follow arbitrary trajectories and some tasks require complex movements, it is important to design multirotor configurations which overcome underactuation limitation. The described mathematical model can be used for open loop simulations which are important for dynamics and power consumption analysis. Furthermore, the inverted scheme is suitable for implementation in various flight controllers.

© 2018 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Denis Kotarski and Josip Kasać (June 27th 2018). Generalized Control Allocation Scheme for Multirotor Type of UAVs, Drones - Applications, George Dekoulis, IntechOpen, DOI: 10.5772/intechopen.73006. Available from:

chapter statistics

1142total chapter downloads

3Crossref citations

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Uncertainty of Object-Based Image Analysis for Drone Survey Images

By Lei Ma, Gaofei Yin, Zhenjin Zhou, Heng Lu and Manchun Li

Related Book

First chapter

Introductory Chapter: Introduction to Roboethics: The Legal, Ethical and Social Impacts of Robotics

By George Dekoulis

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us