Design/Development of Mini/Micro Air Vehicles through Modelling and Simulation: Case of an Autonomous Quadrotor

Design and development of an autonomous quadrotor micro aerial vehicle is undertaken following a systematic approach. A fairly detailed model was constructed and simulations were then carried out with the purpose of refining the baseline design, building a controller, and testing the flying qualities of the vehicle on a ground-based flight simulator. Following this, a smooth transition to rig and flight testing has been enabled in a cost- and time-effective manner, meeting all the design requirements.

Keywords:    Modelling,   simulation,   micro air vehicle,   quadrotor

 A Rotation matrix Ap Area of rotor B Body-fixed frame D Drag moment DOFs Degrees of freedom FwI Forces due to translational velocity and wind G Gear ratio h Altitude of vehicle I Inertial frame Ixx,Iyy,Izz Quadrotor moments of inertia about body x, y, z axes, respectively Ict Inertial counter torque J Moment of inertia matrix Jp Moment of inertia of single rotor kd Aerodynamic drag moment coefficient ki Current constant of motor kr Friction coefficients due to rotational velocities ks, ku Friction coefficients due to translational velocities kt Aerodynamic thrust coefficient kv Speed constant of motor L Distance of centre of rotor from origin M Matrix relating Euler time derivatives with body angular rates Mf Friction torque Mg Gyroscopic moments m Mass of quadrotor vehicle assembly P Pitch of rotor blade R Resistance of motor Rp Radius of rotor T Thrust force V Voltage applied to motor w Wind velocity ${\stackrel{˙}{X}}_{i}^{\text{'}}$ , ${\stackrel{˙}{Y}}_{i}^{\text{'}}$ Forward and sideward velocities in the horizontal plane Ẋi, Ẏi Velocities in inertial frame α Angular speed of rotor φ, θ, ψ Euler angles φb, θb Commanded base Euler angles τ Torque τt Disturbance torque τm Motor torque ω Angular rates of quadrotor in body frame Subscripts 1, 2, 3, 4 Rotor numbers b Coordinate in body frame c Commanded value d Desired value i Coordinate in inertial frame o Obtained value

There has been an explosion of interest in micro and mini aerial vehicles over the last decade and what was once perhaps a hobby for the aviation enthusiast is now a full-fledged area of research and development1,2. The interest has been fuelled by the prospect of their use in various civilian forums3 in addition to the usual military applications. With the availability of low-cost and commercial off-the-shelf components, building and flying mini and micro air vehicles has become an integral part of capstone design courses in aerospace engineering programmeme in many universities. In fact, universities have been a significant source of research advancement in this area as new concepts can be tested within the resources available from standard research grants using graduate students as manpower. Many small business houses have been attracted to developing mini/micro air vehicles as products, though much of the market at present appears to be for the larger mini-sized vehicles than the smaller micro ones.

Like other aerospace systems, micro/mini aerial vehicle development is a multidisciplinary endeavour requiring skills in several areas of engineering science and technology, and hence, must necessarily be a team effort. On the other hand, due to the apparent ease and simplicity of their development cycle, and the usual lack of programme management skills in academia and small businesses, a systematic approach to engineering design and development is often not followed. Inevitably, this leads to cost- and time-over-runs, and eventual discord between members of the various participating teams. In case of a collaborative development venture between two or more entities, the need for precise planning and timely implementation is even more critical.

modelling and simulation technologies for aerospace systems have today advanced to the level where much of the uncertainty in the development process can be ironed out during ground-based simulations, thus obviating the need for repeated trials and modifications4. Integrated modelling and simulation of all systems and sub-systems is a key milestone in any aerospace vehicle design and development programme5. Multidisciplinary design optimisation methods may also be employed6, provided appropriate-fidelity tools for each disciplinary analysis suitable for micro air vehicles are available. However, the use of modelling and simulation for mini/micro air vehicle development does not seem to be the norm except to a limited extent for control system design and evaluation7.

An interesting exercise in which a quadrotor micro aerial vehicle was designed and developed following a systematic approach under severe time and cost constraints is reported. Beginning with a baseline configuration, based on the existing components and components readily available in the market, all sub-systems were modelled and integrated into a single system model. This was used to test the performance of the vehicle, its stability and response to external disturbances and control inputs. The model was validated against an existing quadrotor system for which data was available. In parallel with the modelling and simulation exercise, components were procured and the quadrotor assembled.

The model was then used to design a controller which was implemented in software and integrated with the model. Simulations of the closed-loop system were then carried out to verify its stability and response characteristics. Where necessary, design modifications were made, such as adjusting the vertical location of the centre of mass, and the exercise was repeated. The digital simulation was then integrated with a joystick and an open-source flight simulator to evaluate the vehicle flying qualities before being cleared. Multidisciplinary design optimisation was not employed due to lack of time and non-availability of the requisite tools.

The control law was embedded into an autopilot board and integrated with the vehicle air frame. The quadrotor was then mounted on a 3-DOFs roll-pitch-yaw test rig specially built for this purpose. The test rig was used to assess the stabilisability and controllability of the vehicle in roll, pitch, and yaw, and tune the controller PID gains, and also to correct for thrust asymmetry between the four rotors. Once the rig tests were satisfactory, the vehicle was test flown indoors, first manually, and then in autonomous mode. Some adjustment of the PID controller gains were necessary as the pivot point on the test rig does not coincide with the vehicle center of mass. Finally, flight tests were conducted outdoors in an open ground and in a built-up area.

Due to unforeseen reasons, a pressure altitude sensor could not be placed on board the autopilot, so thrust command to control the altitude was provided manually in all flights. But for this, the entire programme went as planned with no significant disruptions. In all, a little under than half the scheduled programme time was spent on the modelling and simulation task, which, the authors believe, was worthwhile as it helped cut down the time spent on costly redesigns, controller gain tuning and flight testing. The flight simulator was immensely helpful to the test pilot whose previous experience had mostly been on fixed-wing aircraft. Based on this experience, the use of modelling and simulation tools during design and development of micro/mini aerial vehicles, especially to academia and small businesses is strongly recommend.

Control of the quadrotor is achieved by commanding different speeds to different rotors, which in turn produce differential aerodynamic forces and moments. For hovering, all the four rotors have to rotate at the same speed; for vertical motion, the speed of all the four rotors has to be increased or decreased by the same amount, simultaneously. To pitch and move laterally in that direction, speeds of rotors 1 and 3 have to be changed conversely. Similarly, for producing roll and corresponding lateral motion, speed of rotors 2 and 4 is changed conversely. To produce yaw, the speed of one pair of two oppositely-placed rotors has to be increased while the speed of the other pair has to be decreased by the same amount. In this way, overall thrust produced is the same, but the differential drag moment creates yawing motion.

The quadrotor has been designed using X-UFO (commercially available model) as the baseline. The brushed motors have been replaced by brushless motors, and 3-cell lithium-polymer battery has been used to improve the lifting capability and endurance of the vehicle. Further, to reduce the weight, the rotor shrouds and other non-critical structural components have been removed. The electronics has been replaced by custom autopilot hardware (including brushless motor controllers). A snapshot of the completed vehicle is shown in Fig. 2.

The autopilot used is a product developed in-house by Coral Digital Technologies (P) Ltd., Bengaluru, India. The autopilot uses a single 16-bit 24HJ series PIC microcontroller for all the computations, communication, and switching between manual and automodes.

The navigation algorithm used three gyros and two accelerometers to estimate orientation. Altitude and velocity were estimated using pressure sensors, and position was obtained using the GPS. A Zigbee modem was used for communication with the ground control station (GCS) during flight. The GCS receives data from the autopilot to monitor vehicle trajectory and other key parameters during flight, and is capable of updating way-points and PID gains during flight. An onboard SD card recorded several parameters at 50 Hz during flight for post-flight analysis of flight data. The autopilot hardware along with key interfaces and communication protocols used is illustrated in Fig. 3.

The final vehicle, capable of lifting autopilot and suitable battery pack, weighs 320 g (including battery, autopilot) and has an additional 40 g payload capability. The horizontal dimensions of this prototype are 65 cm each way, and the vertical dimension is ~ 15 cm.

In Fig. 1, I is the inertial frame (subscript “i”) and B is the body-fixed frame (subscript “b”). The dynamic model was derived under the following assumptions7,10, and is briefly presented below:

• Structure is rigid and has roll-pitch symmetry.
• Centre of mass of the vehicle and the origin of B axis system coincide.
• The rotors are rigid in plane.

3.1 Kinematics

Using Euler angle parameterisation, the orientation of the vehicle in space is given by rotation matrix A from frame B to I:

$A\text{\hspace{0.17em}}=\text{\hspace{0.17em}}\left(\begin{array}{l}C\text{ψ}C\text{θ}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}C\text{ψ}S\text{θ}S\varphi \text{\hspace{0.17em}}-\text{\hspace{0.17em}}S\text{ψ}C\varphi \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}C\text{ψ}S\text{θ}C\varphi \text{\hspace{0.17em}}+\text{\hspace{0.17em}}S\text{ψ}S\varphi \\ S\text{ψ}C\text{θ}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}S\text{ψ}S\text{θ}S\varphi \text{\hspace{0.17em}}+\text{\hspace{0.17em}}C\text{ψ}C\varphi \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}S\text{ψ}S\text{θ}C\text{θ}\text{\hspace{0.17em}}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}C\text{ψ}S\varphi \\ -S\theta \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}C\text{θ}S\varphi \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}C\text{θ}C\varphi \end{array}\right)$

where, Cθ, Sϕ etc. are cos ϕ, sin ϕ, etc.

Euler time derivatives are related to body angular rate as

$\begin{array}{l}{\left[\stackrel{˙}{\varphi }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{θ˙}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{\text{ψ}}\right]}^{T}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{M}^{-1}{\left[{\text{ω}}_{xi}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{ω}}_{yi}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{ω}}_{zi}\right]}^{T}\\ =\text{\hspace{0.17em}}{M}^{-1}A{\left[{\text{ω}}_{xb}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{ω}}_{yb}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{ω}}_{zb}\right]}^{T}\end{array}$ (1)

where, $M\text{\hspace{0.17em}}=\text{\hspace{0.17em}}\left(\begin{array}{ccc}\frac{C\text{ψ}}{C\text{θ}}& \frac{S\text{ψ}}{C\text{θ}}& 0\\ -\text{\hspace{0.17em}}S\text{ψ}& C\text{ψ}& 0\\ 0& 0& 1\end{array}\right)$

Since the concern is only about the velocity of centre of mass located at origin of B, one can directly get body frame velocities from inertial frame velocities, using the transformation matrix as

${\left[\stackrel{˙}{x}b\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{y}b\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{z}b\right]}^{T}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{A}^{-1}{\left[\stackrel{˙}{x}i\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{y}i\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{z}i\right]}^{T}$ (2)

3.2 Force Equations

Aerodynamic force (thrust) of a rotor can be shown proportional to square of its rotational speed, and square of its radius, using momentum theory11. It is modelled as

${T}_{i}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{C}_{1}\left(\frac{1\text{\hspace{0.17em}}-\text{\hspace{0.17em}}2\text{π}LCS}{P{\text{α}}_{i}}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}2\text{π}\frac{{\stackrel{˙}{z}}_{b}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{w}_{{z}_{b}}}{P{\text{α}}_{i}}\right)$ (3)

where, ${C}_{1}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{\text{κ}}_{t\text{ρ}}{A}_{p}{\text{α}}_{i}^{2}{R}_{p}^{2}$ C = 1 if i = 1 or 4, or C = –1 if i = 2 or 3, and S = ωyb if i = 1 or 3, or S = ωxb if i = 2 or 4.

Forces due to translational velocity of quadrotor and wind disturbances are modelled as

${F}_{wI}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}A{\left[{k}_{s}\left({w}_{xb}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{\stackrel{˙}{x}}_{b}\right)\text{\hspace{0.17em}}{k}_{s}\left({w}_{yb}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{\stackrel{˙}{y}}_{b}\right)\text{\hspace{0.17em}}{k}_{u}\left({w}_{zb}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{\stackrel{˙}{z}}_{b}\right)\right]}^{T}$ (4)

Hence, linear momentum balance in inertial frame gives

$\begin{array}{l}\left[\begin{array}{l}{\stackrel{¨}{x}}_{i}\\ {\stackrel{¨}{y}}_{i}\\ {\stackrel{¨}{z}}_{i}\end{array}\right]\text{\hspace{0.17em}}=\text{\hspace{0.17em}}-\text{\hspace{0.17em}}\left[\begin{array}{l}{\text{ω}}_{xb}\\ {\text{ω}}_{yb}\\ {\text{ω}}_{zb}\end{array}\right]\text{\hspace{0.17em}}\text{\hspace{0.17em}}×\text{\hspace{0.17em}}\text{\hspace{0.17em}}\left[\begin{array}{l}{\stackrel{˙}{x}}_{i}\\ {\stackrel{˙}{y}}_{i}\\ {\stackrel{˙}{z}}_{i}\end{array}\right]\text{\hspace{0.17em}}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}g\left[\begin{array}{l}0\\ 0\\ 1\end{array}\right]\\ \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}\frac{{F}_{wI}}{m}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}\frac{{T}_{1}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{T}_{2}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{T}_{3}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{T}_{4}}{m}\text{\hspace{0.17em}}A\text{\hspace{0.17em}}\left[\begin{array}{l}0\\ 0\\ 1\end{array}\right]\end{array}$ (5)

3.3 Moment Equations

Aerodynamic drag moment of a rotor can be shown to be proportional to square of its rotational speed, and cube of its radius, using momentum theory11. It is modelled as

${D}_{i}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{C}_{2}\left(1-\frac{2\text{π}LCS}{P{\text{α}}_{i}}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}2\text{π}\frac{{\stackrel{˙}{z}}_{b}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{w}_{{z}_{b}}}{P{\text{α}}_{i}}\right)$ (6)

where, ${C}_{2}\text{\hspace{0.17em}}{C}_{2}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{k}_{d\text{ρ}}{A}_{p}{\text{α}}_{i}^{2}{R}_{p}^{3}$

Inertial counter torque, which is the reaction torque produced by a change in rotational speed of rotors, is modelled as

${I}_{ct}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{J}_{p}\left(-{\stackrel{˙}{\text{α}}}_{1}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{\stackrel{˙}{\text{α}}}_{2}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{\stackrel{˙}{\text{α}}}_{3}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{\stackrel{˙}{\text{α}}}_{4}\right)$ (7)

Friction torque due to rotational motion is modelled as12

${M}_{f}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{k}_{r}{\left[\stackrel{˙}{\varphi }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{θ˙}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{\text{ψ}}\right]}^{T}$ (8)

Disturbance torque due to uncontrollable factors (wind etc.) is modelled as

${\text{τ}}_{d}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{\left[{\text{τ}}_{xb}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{τ}}_{yb}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\text{τ}}_{zb}\right]}^{T}$ (9)

Gyroscopic moments, caused by combination of rotations of four rotors and vehicle frame, are modelled as

${M}_{g}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{J}_{p}{\left[\stackrel{˙}{\varphi }\text{α}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\stackrel{˙}{\text{θ}}\text{α}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0\right]}^{T}$ (10)

where, α = – α1 + α2 – α3 + α4

Hence, angular momentum balance in body frame gives

$\begin{array}{l}\left[\begin{array}{l}{\stackrel{˙}{\text{ω}}}_{xb}\\ {\stackrel{˙}{\text{ω}}}_{yb}\\ {\stackrel{˙}{\text{ω}}}_{zb}\end{array}\right]\text{\hspace{0.17em}}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{J}^{-1}\text{ω}\text{\hspace{0.17em}}×\text{\hspace{0.17em}}J\text{\hspace{0.17em}}\left[\begin{array}{l}{\text{ω}}_{xb}\\ {\text{ω}}_{yb}\\ {\text{ω}}_{zb}\end{array}\right]\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{J}^{-1}\left({M}_{f}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{\text{τ}}_{d}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{M}_{g}\right)\\ +\text{\hspace{0.17em}}{J}^{-1}\left[\begin{array}{l}L\left({T}_{4}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{T}_{2}\right)\\ L\left({T}_{1}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{T}_{3}\right)\\ {D}_{1}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{D}_{2}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{D}_{4}\text{\hspace{0.17em}}+\text{\hspace{0.17em}}{I}_{ct}\end{array}\right]\text{\hspace{0.17em}}\end{array}$ (11)

where, $\text{ω}\text{\hspace{0.17em}}×\text{\hspace{0.17em}}\text{=}\text{\hspace{0.17em}}\left[\begin{array}{ccc}0& -\text{\hspace{0.17em}}{\text{ω}}_{zb}& {\text{ω}}_{yb}\\ {\text{ω}}_{zb}& 0& -\text{\hspace{0.17em}}{\text{ω}}_{xb}\\ -\text{\hspace{0.17em}}{\text{ω}}_{yb}& {\text{ω}}_{xb}& 0\end{array}\right]$

3.4 Motor Dynamics

A standard dc motor with negligible inductance is modelled as

${\text{τ}}_{{m}_{i}}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}{k}_{i}\left({v}_{i}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}\frac{{k}_{v}{\text{α}}_{i}}{G}\right)\text{\hspace{0.17em}}/\text{\hspace{0.17em}}R\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\stackrel{˙}{\text{α}}}_{i}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}\frac{G{\text{τ}}_{{m}_{i}}\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{D}_{i}}{{J}_{p}}$ (12)

The dynamic model was coded in Matlab® and a verification exercise was carried out using data from Nice13, reproduced in Table 1.

In spite of having four independent actuators, the quadrotor is still an underactuated system. Hence, the controller design uses a two-loop structure: an inner and an outer. This is depicted in Fig. 4. In the inner loop, four parameters: θ, φ, ψ, and h – are independently controlled by suitably adjusting the speed of the four rotors. As already described, speeds of rotors 1 and 3 need to be adjusted for controlling θ, 2 and 4 for controlling φ, and all four rotors for controlling ψ and h. In the outer loop, forward and sideward velocities ${\stackrel{˙}{X}}_{i}^{\text{'}}$ and ${\stackrel{˙}{Y}}_{i}^{\text{'}}$ are controlled. These are velocities in a frame which are obtained by rotating the inertial frame by ψ, as shown below:

$\begin{array}{l}{\stackrel{˙}{X}}_{i}^{\text{'}}=\text{\hspace{0.17em}}{\stackrel{˙}{X}}_{i}\mathrm{cos}\text{\hspace{0.17em}}\text{ψ}\text{\hspace{0.17em}}\text{+}\text{\hspace{0.17em}}{\stackrel{˙}{Y}}_{i}\text{\hspace{0.17em}}\mathrm{sin}\text{\hspace{0.17em}}\text{ψ}\\ {\stackrel{˙}{Y}}_{i}^{\text{'}}\text{\hspace{0.17em}}=\text{\hspace{0.17em}}-\text{\hspace{0.17em}}{\stackrel{˙}{X}}_{i}\text{\hspace{0.17em}}\mathrm{sin}\text{\hspace{0.17em}}\text{ψ}\text{\hspace{0.17em}}\text{+}\text{\hspace{0.17em}}{\stackrel{˙}{Y}}_{i}\text{\hspace{0.17em}}\mathrm{cos}\text{\hspace{0.17em}}\text{ψ}\end{array}$ (13)

This choice is helpful when using ajoystick to navigate the quadrotor on a simulator screen. In addition, actuator saturation and rate limits are also modelled. One of the objectives of the controller design is to avoid hitting these limits. Many control design methodologies have been described in the literature for controlling the motion of the quadrotor14-17. However, from a practical viewpoint, PID controllers are the simplest and can be designed quickly. Also, standard procedures for tuning the PID gains are available and are well known18. Hence, four separate PID blocks are built corresponding to each variable to be controlled in the inner loop. Based on the error signals between the commanded and measured values of a variable, the inner loop PIDs command differential voltages to reach the set point.

For the outer loop, based on trim calculations or simulation results, look-up tables are formulated, to find base θ and φ required to fly at a particular velocity. These base angles (θb and φb) act as set points for the inner loop θ and φ controllers. The outer loop PIDs command additional pitch (Δθ) and roll (Δφ) angles based on error velocities, so that the desired set point is maintained. This is shown in Fig. 4.

The PID gains are first tuned using the Ziegler-Nichols method and then tuned manually based on the desired simulation response. Some typical outputs from the simulation exercise are presented. Figure 5 shows the simulation response used to tune the inner loop parameters. The task of the controller was to stabilise the orientation angles at zero and attain a height of 45 m starting from an initial condition of h = 30 m, φ = θ =Ψ = 18°, w = τ = ω = 0.

After the performance of inner loop controller was found satisfactory, simulations were carried out to tune the parameters of outer loop controller. In the simulation response shown in Fig. 6, the task of the controller is to obtain a forward velocity ${\stackrel{˙}{X}}_{i}^{\text{'}}=\text{\hspace{0.17em}}10\text{\hspace{0.17em}}\text{m/s}$ and h = 50 m. Initial altitude and rotor parameters were the same as above, but initial Euler angles were kept at zero. Due to symmetry, identical control parameters may be used for sideward velocity $\left({\stackrel{˙}{Y}}_{i}^{\text{'}}\right)$ . The PID gains finally selected are presented in Table 2. Interestingly, despite best efforts, altitude control remained sluggish, as seen from the h vs time subplots (please note the different time scale on this subplot) of Figs 5 and 6.

The simulation model was implemented in real-time on Simulink®. For 3-D visualisation, Flightgear (http://www.flightgear.org, accessed Dec 3, 2009), an open source flight simulator under GNU license was used. Interfacing Flightgear with Matlab essentially requires sending the output vector from Matlab/Simulink to Flightgear, as seen in Fig. 4. A pre-configured interface block with Aerospace Blockset of Matlab was used for this purpose. For visualisation, the inertial frame coordinates were converted into latitude, longitude and height at that location, and orientation is specified by passing on the three Euler angles. The inbuilt model of a helicopter, Eurocopter Bo105, was used for 3-D visualisation due to lack of a quadrotor model in Flightgear. The leftmost block in Fig. 4 represents joystick interface. A standard force feedback joystick was used for setting the desired values of ${\stackrel{˙}{X}}_{i}^{\text{'}}$ , ${\stackrel{˙}{Y}}_{i}^{\text{'}}$ , ψ and h. In this manner, a real-time simulator was set up which could be flown with a joystick and the quadrotor flight could be observed on the Flightgear screen. A small snapshot of the simulator screen is shown in Fig. 7 with the model at h = 1000 m. For better speed and performance, Matlab and Flightgear were run on separate PCs.

Following the simulator studies, the control law was loaded on to the autopilot, which was then integrated with the quadrotor air frame as described earlier. The autopilot design incorporates a switching logic between auto and manual models for safety during testing. The flow diagram of the autopilot in manual and auto modes is shown in Fig. 8. Note that in either case, the rate feedback loop is part of the vehicle dynamics, i.e., even in the manual mode, the rate feedback controller continues to work. Due to its inherent instability, it would be impossible to fly any quadrotor manually if such a rate feedback is not provided to assist the pilot. The architecture also allows one to selectively assign any of the inputs to manual or auto modes. The outputs of the autopilot correspond to pitch, roll, yaw and thrust commands, which are converted into motor rpm commands by the channel-splitting block.

6.1 Rig Tests

The first set of experiments was conducted on a 3-DOFs test rig, allowing only rotations, to test the attitude stabilisation and orientation control of the vehicle. The test rig also allows the PID gains to be further fine-tuned. The vehicle with autopilot was mounted on the 3-DOFs test rig, as shown in Fig. 9. The autopilot (mounted on the vehicle) was connected to the PC to monitor attitudes and control actions in real-time. Sample results from the test rig for checking system stability in pitch and roll are shown in Fig. 10. In Fig. 10, starting with autopilot in manual mode, the switch to auto mode was made at t = 19 s. During the entire experiment, the desired roll and pitch angles were kept at zero, and a constant thrust was maintained. The spikes in Fig. 10 are the manual disturbances imparted to the system to test the controller robustness. The controller was observed to perform well and reject disturbances suitably both in pitch and roll.

6.2 Flight Tests

Following the rig tests, the controller was qualified to be flown in free-flight. The free-flight experiments were conducted first with the aim of achieving autonomous hover (attitude stabilisation and control), and later for up- and away-flights. As stated earlier, only the thrust was controlled in manual mode by the pilot. Sample results for attitude stabilisation and control are shown in Fig. 11. The dotted lines represent the commanded value and the solid lines represent the measured attitude of the vehicle. Satisfactory attitude stabilisation was achieved in the presence of disturbances. It was observed that the vehicle was able to keep itself afloat in hover with no active pilot inputs. However, a slow drift in position was observed because an outermost navigation loop was not yet implemented.

An elaborate modelling and simulation exercise for a micro quadrotor, which was then built and successfully test flown, has been described. In addition to its use for control law design, the model formed an integral part of a ground-based simulation system. For this, the model was integrated with a joystick and a flight simulator and was run in real-time to make the experience quite realistic. It is believed that the modelling and simulation exercise helped cut down development time and cost by avoiding intermediate design changes and also by reducing the time taken for flight tests.

The vehicle integration, rig, and flight testing was carried out at Coral Digital Technologies (P) Ltd, Bengaluru. The authors would like to acknowledge the contribution by Cdr VS Renganathan and Mr Srikanth towards development of autopilot hardware; Mr SM Shah for the controller development, and Mr Shyam for helping with the flight tests. The autopilot used was an in-house product developed by Coral Digital Technologies (P) Ltd, Bengaluru.

1. Mueller, T.J.; Kellogg, J.C.; Ifju, P.G. & Shkarayev, S.V. Introduction to the design of fixed-wing micro air vehicles–Including three case studies. In AIAA Education Series, January 2007.

2. Mueller, T.J. On the birth of micro air vehicles. Int. J. Micro Air Veh., 2009, 1(1), 1-12.

3. Nonami, K. Prospect and recent research and development for civil use autonomous unmanned aircraft as UAV and MAV. J. Syst. Des.Dyn., 2007, 1(2), 120-28.

4. Reed, J.A.; Follen, G.J. & Afjeh, A.A. Improving the aircraft design process using web-based modelling and simulation. ACM Trans. Model. Comp. Simul., 2000, 10(1), 58-83.

5. Kumar, P.B.C.; Gupta, N.K.; Ananthkrishnan, N.; Renganathan, V.S.; Park, I.S. & Yoon, H.G. modelling, dynamic simulation, and controller design for an air-breathing combustion system. In the 47th AIAA Aerospace Sciences Meeting, 5-8 Jan 2009, Orlando, Florida. AIAA Paper No. AIAA 2009-708.

6. Rohani, M.R. & Hicks, G.R. Multidisciplinary design and prototype development of a micro air vehicle, Journal of Aircraft, 1999, 36(1), 227-34.

7. Castillo, P.; Lozano, R. & Dzul, A.E. In Modelling and control of mini-flying machines. Springer-Verlag, New York, 2005. pp. 39-60.

8. Bouabdallah, S.; Murrieri, P. & Siegwart, R. Design and control of an indoor micro quadrotor. International Conference on Robotics and Automation, New Orleans, USA, 2004.

9. Roberts, J.F.; Stirling, T.S.; Zufferey, J.C. & Floreano, D. Quadrotor using minimal sensing for autonomous indoor flight. In 3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France.

10. Hamel, T.; Mahony, R.; Lozano, R. & Ostrowski, J. Dynamic modelling and configuration stabilisation for an X4-Flyer. In 15th Triennial World Congress of International Federation of Automatic Control, Barcelona, Spain, 2002.

11. Bramwell, A.R.S.; Done, G. & Balmford, D. Bramwell’s Helicopter dynamics. Ed. 2. Butterworth Heinemann, Oxford, UK, 2001.

12. Mahony, R.; Altug, E. & Ostrowski, J.P. Control of a Quadrotor helicopter using visual feedback. In Proceedings of 2002 IEEE Conference on Robotics and Automation, Washington DC, 2002. pp. 72-77.

13. Nice, E.B. Design of a four rotor hovering vehicle. Cornell University, 2004. MS thesis.

14. Tomlin, C.J.; Jang, J.S.; Waslander, S.L. & Hoffmann, G.M. Multi-agent quadrotor testbed control design: Integral sliding mode vs. reinforcement learning. In IEEE International Conference on Intelligent Robots and Systems, Alberta, Canada, 2005. pp. 468-73.

15. Tayebi, A. & McGilvray, S. Attitude stabilisation of a VTOL quadrotor aircraft. IEEE Trans. Cont. Syst. Technol., 2006, 14, 562-71.

16. Kendoul, F.; Lara, D.; Coichot, I.F. & Lozano, R. Real-time nonlinear embedded control for an autonomous quadrotor helicopter. J. Guid. Cont. Dyn., 2007, 30(4), 1049-061.

17. Das, A.; Lewis, F. & Subbarao, K. Backstepping approach for controlling a quadrotor using lagrange form dynamics. J. Intell. Robotic Syst., 2009, 56(1-2), 127-51.

18. Wang, Q.G.; Lee, T.H.; Fung, H.W.; Bi, Q. & Zhang, Y. PID tuning for improved performance. IEEE Trans. Cont. Syst. Technol., 1999, 7(4), 457-65.

 Shri Nitin Kumar Gupta obtained BTech(Aerospace Engg.) and MTech (Aerospace Engg.) from IIT Bombay, Mumbai and MS from University of Maryland. He is currently Director and CEO at IDeA Research, Pune. His research interests include: Modelling, dynamics, simulation, control systems, automation, embedded systems and image processing. Shri Rahul Goel received his Masters degree in Aeronautics and Astronautics from MIT. He is currently working with EADS Astrium in Germany. He is interested in space systems engineering, and specifically in the human-related aspects of space flight, like crew performance, space physiology, and human factors. Dr Narayan Ananthkrishnan has served on the faculty at IIT Bombay, Mumbai, and CalTech, USA. Presently, he is a member of the Board of Directors at IDeA Research. His research interests include: Nonlinear dynamics, aerodynamics, control systems, and systems design.