Mathematical Model of the Multicopter

Introduction

The multicopter are quite commonly-seen in our daily life nowadays. Due to their advantages, such as flexibility, low cost, and easy to operate, multicopters now are widely used in military and civilian fields. In this article, the nonlinear mathematical model of the most common multicopters will be given. The physical parameters of simulation model that we adopted in the software-in-the-loop (SIL) and hardware-in-the-loop (HIL) will also be introduced in the end.

Modeling

The multicopter is usually equipped with nP propellers. The mapping from the thrust fi,i=1,,nP of each propeller to the thrust and torque vector uf[utτxτyτz]T is given by uf=Bff, where f[f1f2fnP]T, and BfR4×nP is the control allocation matrix. Bf is specified as

Bf=[11r1sinφ1rnPsinφnpr1cosφ1rnPcosφnpw1kμ,1wnPkμ,nP]

where ri,i=1,,nP is the distance from the center of the i-th propeller to the center of mass, kμ,i,i=1,,nP is the ratio of thrust to torque of the i-th propeller and wi,i=1,,nP is defined by

wi={1,if rotor # i rotates anticlockwise1,if rotor # i rotates clockwise

and φi,i=1,,nP are shown in the following figure.

Let I={ex,ey,ez} denote a right-hand inertial frame and A={e1,e2,e3} denote a (right-hand) body fixed frame rigidly attached to the aircraft where the center of gravity (CoG) of the multicopter is chosen as the origin of A.

Then, the rigid body equations of motion of a multicopter are given by

{p˙e=vev˙e=g+RbeFmaΘ˙=WωJω˙=ω×(Jω)+Ga+τ

where ma denotes the mass of the multicopter, g denotes the gravitational acceleration, e3[001]T denotes the unit vector in A, and Ga represents the gyroscopic torques.

The vectors p[xyh]T and v[vxvyvh]T denote the position and linear velocity of the origin of A with respect to I. The matrix Jdiag(Jx,Jy,Jz)R3×3 is the constant inertia matrix. The matrix Rbe represents the rotation matrix rotating vectors from frame A to frame I, and the matrix W represents the relationship between the attitude rate and the aircraft body's angular velocity.

W=[1tanθsinϕtanθcosϕ0cosϕsinϕ0sinϕ/cosθcosϕ/cosθ]

As shown in the following figure, the propulsor model that we adopt includes not only a DC motor but also an ESC and a propeller. Throttle command σ[0,1] is an input signal between 0 and 1, while the battery output voltage Ub cannot be controlled.

The ESC generates an equivalent average voltage Um=σUb after receiving the throttle command σ and the battery output voltage Ub. First, given a voltage signal, the motor can achieve a steady-state speed ϖss. The relation is normally linear, which is expressed as

ϖss=CbUbσ+ϖb

ϖb are constant parameters. Secondly, when given a throttle command, the motor needs some time to achieve the steady-state speed ϖss. This time constant denoted by Tm will determine the dynamic response. Generally, dynamics of a brushless DC motor can be simplified as a first-order low-pass filter. Its transfer function is expressed as

ϖϖss=kmTms+1

In others words, when given a desired steady-state speed ϖss, the motor speed cannot achieve ϖss immediately. This process needs some time to adjust. Combining the above two equations, one has a complete propulsor model as follows:

ϖ=CbUbσ+ϖbTms+1

where the input is the throttle command σ and the output is motor speed ϖ.

The propeller thrust and torque is expressed as

{fi=kcT,icT,iϖi2Mi=kμ,ifi

where cT,kμ is modeled as a constant that can be easily determined by experiments. Mi is the reaction torque of the ith propeller.

Parameters

The values of all the parameters that mentioned above are listed in the following table.

ParametersValuesUnit
nP4 
ma1.4kg
g9.8m/s2
Jx,Jy,Jz0.0211,0.0219,0.0366kgm2
Cb1148/12.6rad/(sV)
Ub12.6V
ωb141.4rad/s
cT0.0161Ns2
kμ1.105×105m1