Professional Documents
Culture Documents
Abstract
This paper demonstrates a sophisticated solution for the soft landing application of a fully
autonomous quadrotor on a moving pad considering external disturbance, model uncertainties &
actuators noise. The special designed landing pad is initially detected by an onboard vision sys-
tem with a robust Algorithm to estimate its coordinates precisely by a fusion of the the camera
pose estimation with Inertial Navigation System (INS) filters. Different sizes and designs of the
ArUco markers were attentively chosen to ensure best detection at different altitudes and angles of
approach.
The desired trajectory for way point and landing is dynamically generated based on minimal
jerk optimization, integrating a bio-inspired velocity profile by Fuzzy Logic Controller (FLC) with
a position loop estimator to smoothen the landing in an accordance with an ultrasonic sensor data.
Kalman filtering was used for best relative pose estimation and fusion of the asynchronous sensors
data.
Model Predictive Control (MPC) was opted for quadrotor control to track the generated tra-
jectory in time reference with the rejection of disturbance.
This solution presents a soft mechanism for flat surfaces landing that is similar to human decision
concept and control, as this method will ensure the absorption of impact shock and dynamic optimal
tracking of the moving landing pad.
Matlab simulation with comparison and data fusion experimentation results validate the effec-
tiveness and reliability of the proposed landing task solution.
Keywords: Unmanned Aerial Vehicles, Quadrotor, underactuated systems, Soft landing, Fuzzy
logic, MPC, pose estimation, ArUco
1. Introduction
Quadrotor is one of the most interesting types of the UAVs, it received a large volume of papers
and researches because its flexibility, maneuverability, and its hovering mode ability. Its use was
∗ Corresponding author
Email addresses: oussama.bouaiss@univ-biskra.dz (Oussama Bouaiss), raihane.mechgoug@univ-biskra.dz
(Raihane Mechgoug), Abdelmalik.Taleb-Ahmed@uphf.fr (Abdelmalik Taleb-Ahmed )
Preprint submitted to Journal of Automation, Mobile Robotics and Intelligent Systems November 6, 2021
effective in detection, civil & military surveillance, and shipping of commercial & medical services.
The Quadrotor is a very complex non linear system with under-actuation of control.
Because of accurate Inertial Navigation System (INS) and algorithms, Quadrotors have become
able to perform complicated manoeuvres and autonomous tasks even in the harsh conditions or
hazardous environment. Thus comes the option of Autonomous landing as a vital task for many
missions and as a fail safe in case of some technical issue during the flight such as GPS signal lost.
Several papers tackled the quadrotor landing, Zhe et al. in [1] developed a vision based au-
tonomous landing on a moving surface vessel with PID tracking and control, the relative pose was
based on the visual detection and estimation of the landing area. In [2] Danjun et al. considered the
ground effect based on the Cheeseman’s model for more precision of the quadrotor Vertical Taking
Off and Landing (VTOL) with a robust PID control. An efficient 3-DOF time optimal trajectory
tracking by a quadrotor model on a moving pad was addressed in [3]. Yuhua et al. proposed
a complete solution for autonomous landing of a low-cost quadrotor on a moving new designed
landing pad with Lyapunov stability demonstration.[4]. Other papers studied the landing control
of the UAV on an oscillating pad with sea characteristics [5] considering an introduction of non
linear KF [6]. In [7] Carlos et al. proposed an uncertain quadrotor smooth landing on a moving
pad without a relative state vector availability using a LQR to track the trajectory in the presence
of the unknown uncertainties.
Computer vision is the field that includes methods for acquiring, processing, analyzing, and un-
derstanding images and high dimensional data from the real world in order to produce numerical or
symbolic information. To comply with autonomous landing of the quadrotor, the vision processing
is crucial to determine the relative pose in order to generate the trajectory for the landing. Many
algorithms of vision subject to detection and estimation for autonomous landing have been devel-
oped. ArUco markers were widely used because of the easiness of the detection and the efficiency of
the identification [6]-[4]-[1]. Whereas the pose estimation varies from direct methods that use PnP
algorithm with a calibrated camera [8]-[4], or sophisticated & intelligent methods based on neural
networking [9].
It is critical to consider the noise and disturbance model in the control and estimation during
the robust landing process, thus the estimation of quadrotor state vector was based on Madgwick
data fusion of asynchronous sensors filter [10] enhanced by an Extended Kalman Filter, another
filter was set for best estimation of markers localization based on visual estimation. The visual
processing algorithm is so sensitive in matter of data extraction (size, pattern and pose), to camera
type and its calibration, to the shutter effect, to the velocity of drone’s landing and the external
light and initial field of view. Image noise and accuracy is also affected by the type of camera, as
a mirror effect can deteriorate the performance [8].
Based on literature, some researches used pursuit guidance while simultaneously descending with
the UAV in altitude [11], where in [12], a fusion of Monocular SLAM and INS was utilized in landing
of the quadrotor in bio-inspired guidance method which is based on Tau theory. In [13] complex
manoeuvres were illustrated by a robust trucking control that can be constrained for landing. In
this paper, to enhance the bio-inspired soft landing, a novel Fuzzy decision maker process is used
to estimate the landing time via the average possible speed, the Fuzzy sets use the observed state
vectors of both the quadrotor and moving pad to make a decision about the velocity of landing.
This method controls the velocity limits to design the trajectory to track for the landing. The
landing profile will be similar to an expert guidance control.
MPC is chosen for better performance of tracking than the widely used PID, MPC is adaptive
and can handle the considered disturbance and Gaussian noise.
2
The proposed soft landing approach separates the process into two interconnected parts:
• Detection of markers, identification of at least one visible marker depending on the height,
and then determine the relative pose of the pad center with consideration to the motion of
both the quadrotor and the landing pad.
• Generation of minimal Jerk trajectory to ensure smoothness during landing, where a Model
Predictive Control is responsible of tracking iteratively the desired trajectory to land. the
velocity profile is controlled by the FLC decision maker.
The opted approach’s philosophy is demonstrated in Fig.1.
The aim during this project was to develop a complete application for the smooth autonomous
Landing of a quadrotor on a moving pad based on a vision algorithm using a monocular camera
with a robust position control. the iterative and adaptive Generation of trajectory was based on
optimal jerk.
This paper has valued the following contributions:
• Design a robust application of the pose estimation based on a special landing pad by multiple
ArUco markers with different patters at different sizes to ease the detection task at a wide
range of altitudes.
• MPC control is adopted to design an optimal position tracker which can not only track the
reference state but also attenuate the influence of the external disturbance with a comparaison
to PID results.
• Planning a mimic of natural decision making as expert human processing for landing by
adding FLC decision making of average velocity and estimation time of landing.
• Data fusion of asynchronous sensors with an EKF to obtain accurate estimation for the
quadrotor and the pad.
3
The rest of this paper is organized as follows: section 2, presents the landing pad design, the
vision processing approach for detection, the identification of the patterns and the pose estimation,
in Section 3 the dynamics of the quadrotor are modeled. In the section 4, the EKF and data fusion
were presented with sensor communication and magnetometer calibration for Attitude and Heading
Reference system (AHRS). Section 5 develops the generation of the optimum Jerk trajectory, with
the fuzzy velocity control. The MPC for the tracking of the desired trajectory for the landing
is detailed in Section 6. Results of the estimation of the relative pose by vision and control are
presented in Section 7, Finaly, Section 8 concludes the paper.
Prior engaging the landing process, the detection and the estimation of the relative pose of
the moving landing pad is firstly processed, this section investigates this problem with the aim to
increase the detection probability and to avoid miss-estimation samples and the limitation of the
Field Of View (FOV).
4
Table 1: Multiple markers vs single markers detectability and precision
Table 2: Detection rate for different sizes of markers from different heights with Non Applicable cases (NA)
0.3 m 0.6 m 1m 3m 9m
5 cm 100 % 99.2 % 91.1 % 8.1 % (NA) 0%
10 cm 95.2% 99.2 % 97.4 % 88.9 % 31 % (NA)
18 cm 0 % (NA) 87.7 % 97.9 % 99.8 % 88.6 %
Table 3: Precision of pose estimation at different sizes of markers from different heights with the Non Applicable
values (NA)
0.3 m 0.6 m 1m 3m 9m
5 cm 3.35 cm 5.11 cm 9.41 cm (NA) (NA)
10 cm 2.71 (NA) 3.46 cm 6.99 cm 19.66 cm (NA)
18 cm (NA) (NA) 4.97 cm 12.93 cm 28.9 cm
Besides the detection accuracy, the precision of the pose will significantly increase as we enable
multi measurement which will attenuate the noise of calculation to a tolerated error margin of the
general position determination.
From the previous tables, we conclude that multiple markers increases the detection probability
of the pad, and the estimation precision of the relative pose got better. In addition, the different
sizes of markers plays an important role of pose estimation and detection from different heights, low
altitudes uses small marker as they are more adequate for detection and estimation where larger
ones are out of the FOV. Contrary to the high altitude detection, where we rely completely on
larger markers as the smaller ones are less detectable with bad precision.
The ArUco library was used as a base of markers design [14]. At every iteration image, the
pose estimation process is initially based on the markers detection algorithm that recognizes the
detected markers and identifies them thru binary codification. then ran an estimation process for
relative pose of the landing pad. A special designed filter decides which markers to be considered
based on the actual relative distance between the quadrotor and the landing pad, also the filter
extracts out the bad estimation based on the normalized variance to the mean.
Extraction(Boolean) = 1
The small markers are not a good reference for pose estimation from a far distance, where they
are the favorite to be considered at closer ranges. The final relative pose data are exploited in
Kalman filtering that considers the relative motion between the quadrotor and the moving pad. In
other words, process is stepped as following:
5
• Detection of markers: Detecting different square contour shapes.
• Recognition: Analyze inner codification & Attribute the marker in a canonical form by dif-
ferentiating between black and white surfaces using simple Otsu thresholding technique . and
exclude wrong detection and identify markers from the list.
• Relative pose estimation: using an algorithm based on Open CV library for pose estimation
and KF.
• Filter to decide which markers to be considered with a mean value calculation and exclusion
of bad estimate.
Inner codification choice of ArUco markers was based on simple detection and reading from far
distance and more dense for smaller ones to improve close estimation.
1 1
Where C denotes camera frame and M denotes marker frame.
During flight vibration of the quadrotor and shuttering effect of the camera both introduce
measurement noise. KF has mainly a correction effect of the direct estimation of relative pose from
image processing.
Thru a multiple pose estimations using many markers, an average estimation is fed to the KF
for final estimation.
6
3. Dynamics modeling
3.1. Dynamics
The Quadrotor dynamics have been discussed in many papers. The validated model is derived
based on the consideration of two frames as shown in Fig.2. [16].
B frame: that represents the Body related reference, B(Ob , Xb , Yb , Zb ).
E frame: which is the Earth related reference: E(Oe , Xe , Ye , Ze ).
The E frame will coincide with the landing pad in motion.
Where Ω = −Ω1 + Ω2 − Ω3 + Ω4 .
Finally, Considering all applied forces and torques contributions on the quadrotor body, the
dynamics may be simplified in the following equations:
7
Ẍ = (sψsφ + cψsθcφ) U1 /m
Ÿ = (−cψsφ + sψsθcφ) U1 /m
Z̈ = −g + cθcφ U1 /m
(6)
φ̈ = 1/Ixx ((Iyy − Izz ) φ̇ψ̇ + JT P φ̇Ω + U2 )
= 1/Iyy ((Izz − Ixx )θ̇ψ̇ + JT P θ̇Ω + U3 )
θ̈
ψ̈ = 1/I ((I − I )θ̇φ̇ + U )
zz xx yy 4
Ẋ = F (X, U ) (7)
Considering state vector X = (x1 x2 ... x12 )T in R12 , Dynamics can be written as follows:
x1 = x x2
x2 = ẋ1 (cos x7 sin x9 cos x11 + sin x7 sin x11 ) U1 /m
x3 = y x4
x4 = ẋ3 (cos x7 sin x9 sin x11 − sin x7 cos x11 ) U1 /m
x5 = z x6
x6 = ẋ5 −g + (cos x7 cos x9 ) U1 /m
; F (X, U ) = (8)
x7 = φ x8
x8 = ẋ7 1/Ixx ((Iyy − Izz ) x12 x10 + JT P x10 Ω + U2 )
x9 = θ x10
x10 = ẋ9 1/Iyy ((Izz − Ixx )x12 x8 + JT P x8 Ω + U3 )
x11 = ψ x12
x12 = ẋ11 1/Izz ((Ixx − Iyy )x10 x8 + U4 )
From the system dynamics, the Cartesian position vector depends on the attitude states, how-
ever, the attitude of the quadrotor is independent of linear positions. nested loop control is based
on this relative dependency [16].
3.3. Linearization
Linearized model was approximated by Jacobian matrices developed at ”X0 , uo ”:
Ẋ ≈ AX + BU (9)
∂f ∂f1
1
∂x1 ... ∂xn
. ..
A = .. .. (10)
. .
∂fn ∂fn
∂x1 ... ∂xn X0 ,u0
8
And ∂f
1 ∂f1
∂U1 ... ∂Um
. ..
B = .. .. (11)
. .
∂fn ∂fn
∂U1 ... ∂Um X0 ,u0
This linear equivalent system will be used for the EKF and the control.
Secondly, the pad motion model will be considered in a second KF as an observer with visual
estimation inputs.
9
4.2. Angular rate Orientation filter
Quaternion orientation based on angular rate ws can be established thru the Gyroscopic filter
mentioned in Fig.4.
The dead reckoning of angles based on gyroscopic reading is too sensitive to noise and bias drift.
10
Figure 5: Hard and soft iron magnetic distortion of MPU 9250
The Calibration of the magnetometer is to determine the Ci coefficients of the following equation
Eq.12.
c1 c2 c3 Hx c10
M agreadings = c4 c5 c6 Hy − c11 (12)
c7 c8 c9 Hz c12
The accelerometer/magnetometer combination can simply provide the orientation of the quadro-
tor by the following equations:
θ = arcsin(Accx /g)
φ = arctan(−Accy /accz ) (13)
ψ = arctan(magz /magx ) + D
Where D is the declination between the magnetic north and true north.
Madgkwick formulated an optimization function to get the quaternion orientation from the
combination of accelerometer and magnetometer [10]. however his method doesn’t consider the
dynamics of the model.
11
γ = errw /(errw + erra,m ) (16)
Quaternion orientation and linear positions are are updated by EKF, the design is explicit in
the Fig.6
Ai = ∂F/∂x|xi ,ui
Bi = ∂F/∂u|xi ,ui
xˆ0 − = x̂− (0)
−
P0 = E[x˜0 − x˜0 − ]
Ki = Pi− CiT [Ci Pi− CiT + Ri ]−1 (17)
x̂i + = x̂i − + Ki [yi − Ci x̂i ]
Pi+ = (I − Ki Ci )Pi− (I − Ki Ci )T + Ki Ri KiT
ˆ − = Ai x̂i + + Bi ui
xi+1
ˆ− = A P + AT + G Q GT
Pi+1 i i i i i i
12
Figure 6: EKF Design with pre-filtering and data fusion
5. Trajectory generation
Several method for trajectory generation have been examined in literature. Direct time or effort
optimal trajectory generation is not within the scope of this paper, The geometric treatment of
the problem greatly simplifies both the modeling and control law for the system [23], min Jerk was
considered in this work, although, Vijay et al proved that a min snap is equivalent to a min effort
for quadrotor trajectory generation [24].
13
...
∂L/∂X − d/dt(∂L/∂ Ẋ) + d2 /dt2 (∂L/∂ Ẍ) − d3 /dt3 (∂L/∂ X ) = 0 (19)
(6)
The solution of such an optimization is: X (t) = 0 Hence
X(t) = c5 t5 + c4 t4 + c3 t3 + c2 t2 + c1 t + c0 (20)
Where ci are found by satisfying the boundary conditions of initial and final states. as we aim
to land on a moving landing pad, a control loop of the vision and estimation updates the target
position, thus, the final state changes such the optimization as well.
For every iteration of the estimation, the optimization process calculate the parameters online
using the initial dynamic state and the final pose estimate.
For 3D jerk optimization in our quadrotor landing case, we can write:
tf
... 2 ...
Z
...
J= x (t) + y (t)2 + z (t)2 dt (21)
t0
Which define a minimum jerk 3D trajectory:
5 4 3 2
x(t) = cx5 t + cx4 t + cx3 t + cx2 t + cx1 t + cx0
y(t) = cy5 t5 + cy4 t4 + cy3 t3 + cy2 t2 + cy1 t + cy0 (22)
z(t) = cz5 t5 + cz4 t4 + cz3 t3 + cz2 t2 + cz1 t + cz0
In order to find those parameters we need to solve three systems of six algebraic equations each,
between the initial and final states for every dimension. the problem of the solution is that dynamic
resolution, requires a good estimate of quadrotor position, velocity and acceleration. Where the
need of the KF with sensors data fusion detailed in section 4. Additionally, final time of each
iteration should be calculated based on the required speed for that position. This latter is decided
by a fuzzy logic controller.
The minimum jerk 3D trajectory mentioned by Eq.(22) describes system smoothness between
initial and final times. for the aimed case, the final time is unknown, so the problem is refered to
be a feed forward control. based on this approach, the optimization will be divided to segments at
which we apply to find a new smooth trajectory depending on the quadrotor estimated states and
the relative pose to the landing pad in motion.
A simple reformulation of this problem lays on normalizing the time between to & tf :
τ = (t − t0 )/T (23)
T = tf − t0 (24)
The 3D minimum jerk Trajectory will be generated by:
5 4 3 2
x(t) = cx5 τ + cx4 τ + cx3 τ + cx2 τ + cx1 τ + cx0
y(t) = cy5 τ 5 + cy4 τ 4 + cy3 τ 3 + cy2 τ 2 + cy1 τ + cy0 (25)
z(t) = cz5 τ 5 + cz4 τ 4 + cz3 τ 3 + cz2 τ 2 + cz1 τ + cz0
where
dτ /dt = 1/T (26)
Hence, the velocity in time reference is:
14
4 3 2
ẋ(t) = 5cx5 τ /T + 4cx4 τ /T + 3cx3 τ /T + 2cx2 τ /T + cx1 /T
ẏ(t) = 5cy5 τ 4 /T + 4cy4 τ 3 /T + 3cy3 τ 2 /T + 2cy2 τ /T + cy1 /T (27)
ż(t) = 5cz5 τ 4 /T + 4cz4 τ 3 /T + 3cz3 τ 2 /T + 2cz2 τ /T + cz1 /T
And,the Acceleration:
3 2 2 2 2 2
ẍ(t) = 20cx5 τ /T + 12cx4 τ /T + 6cx3 τ /T + 2cx2 /T
ÿ(t) = 20cy5 τ 3 /T 2 + 12cy4 τ 2 /T 2 + 6cy3 τ /T 2 + 2cy2 /T 2 (28)
z̈(t) = 20cz5 τ 3 /T 2 + 12cz4 τ 2 /T 2 + 6cz3 τ /T 2 + 2cz2 /T 2
The system of Equations.28 is used to form the algebraic equations between initial state which
is given by the KF estimation at initial instant of the current iteration and final time state define
by the desired landing on pose estimate of the pad.
Initial state:
x(t0 ) = x0 vx (t0 ) = vx0 ax (t0 ) = ax0
y(t0 ) = y0 vy (t0 ) = vy0 ay (t0 ) = ay0
z(t0 ) = z0 vz (t0 ) = vz0 az (t0 ) = az0
Where final state is trivial described by:
15
5.2. Feedback controlled trajectory
The described trajectory by P (t) : x(t), y(t), z(t) is known and it is T dependent. so at every
instant labeled by t0 , we define
16
System of Eqs.(25) represents time position of the quadrotor in the normalized time that depends
on T , the total descent time. Using expert piloting data, we aimed to generate the T via a fuzzy
logic processing to emulate the human piloting grasp.
For that, the FLC was conceptualized to generate the total time T based on instantaneous speed
and distance to target. the classical approach to determine the fuzzy rules base was processed, the
antecedent and consequent partitions will be designed by human expert knowledge for quadrotor
landing.
Due to the complexity of time estimation, the principle will be based on deciding the average
possible speed based on the knowledge of quadrotor dynamics, the initial state, and relative pose
and velocity.
b) Inference mechanism: it is the processing stage that evaluate in every execution cycle each
one of a set of ”if ... then ... statements” already stored in Rules base as mentioned in Fig.8, and
which are a combination of valid rules filled by Experienced agent.
17
Figure 8: Fuzzy decision maker: Defuzzification and base of rules
c) Defuzzification: the Output stage gives the average speed that converts the combined appro-
priate rules from inference stage to a decision velocity of the quadrotor.
Calculated Time will be based on the average velocity and distance to the landing pad.
q
T = ∆x2p,q + ∆yp,q 2 + ∆z 2 /V + T
p,q min (37)
The block diagram of the fuzzy logic velocity controller is illustrated in Fig. 9.
Figure 9: velocity control & time to land by Fuzzy logic control scheme
18
5.4. Trajectory generation algorithm
Algorithm 1: Min Jerk Trajectory generation with Fuzzy velocity control
Result: Estimation of time for landing ’T’ and Cartesian coordinates
Initialization and load data file;
Import state data from EKF;
Import data from relative pose estimator ;
while ’Auto-landing is ON’ & ’ArUco marker detected’ do
if All Data are Available then
- Fuzzification of inputs to membership functions;
- Process Inference mechanism ;
- Defuzzification of outputs and decision making on Average velocity ’V’;
end
Calculate the estimated time for landing ’T’ from the average speed and instantaneous
distance Eq.37;
Calculate trajectory coefficients by Eq.30;
Calculate x(t), y(t), and z(t) based on Eq.25;
Send desired Trajectory coordinates to tracking control;
end
if ’Auto-landing is OFF’ OR ’ArUco Markers NOT detected’ then
- Hold quadrotor position;
- Send flag to control station ;
- Request new GPS position;
end
N
X −1
J = 1/2(CN xN − ZN )T SN (CN xN − ZN ) + 1/2 (Ci xi − Zi )T Qi (Ci xi − Zi ) + uTi Ri ui
(39)
i=1
19
Zi represent the Minimal Jerk trajectory along the horizon N .
The optimal Control can be demonstrated to be [29]:
ui = − (Ri + BiT Pi+1 Bi )−1 BiT Pi+1 Ai xi + (Ri + BiT Pi+1 Bi )−1 BiT gi+1
(40)
Pi and Gi are recursively calculated as follows:
−1
Pi = Vi + ATi Pi+1 I + Bi Ri−1 BiT Pi+1 Ai
(41)
g = W Z + AT I − P (I + B R−1 B T P )−1 B R−1 B T g
i i i i i+1 i i i i+1 i i i i+1
The control solution is calculated on the Horizon of N points to the landing on the pad, at every
iteration the control is calculated repeatedly and applied just for that iteration.
The whole MPC control based architecture is shown in Fig.10.
Figure 10: Complete Scheme of MPC control with Fuzzy min Jerk trajectory
20
The Control Algorithm of MPC can be designed as:
Algorithm 2: MPC control Algorithm
Result: Control input Ui
Recall the last estimation of xi , or initial conditions;
Verify initialisation procedure;
while Control verification is Ok do
Consider the appropriate Ai , Bi and Ci from best estimate of EKF and sensor available
data;
Calculate Vi and Wi .;
N=100 (number of points can be adaptive );
Calculate PN and gN thru Eq.42 ;
for k=N:i do
Calculate Pk and gk with Eq.41 ;
end
Calculate ui by Pi and gi as in Eq.40 ;
Apply control ;
end
7. Results
In this Section, we conduct all the simulations and experiments necessary for the autonomous
landing project.
21
Figure 11: Detection and estimation from different position
Fig.11 shows different scenarios, Sub Figure (A), shows the designed landing pad, Sub Figure
(B) demonstrates the detection process and the pose estimation from a far pose, the filter uses only
larger markers even with the possible detection of closer ones, in Sub Figure (C), The filter considers
only medium size markers. in Sub Figure (D), the pose estimation is based only on smaller markers.
F, M and C denotation shows the filter choice of markers.
22
Figure 12: Static Results of AHRS
A Matlab simulation of the EKF observer of linear position is showed in Fig.13, the Observer
is able to reject noise and uncertainty of sensor. The EKF is crucial to ensure the loop stability
during tracking.
23
(a) Panoramic Tracking with Obstacles avoidance (b) Top view of tracking
(c) 3D tracking
Figure 14: 3D Minimum Jerk trajectory tracking of a quadrotor performance controlled by PID vs MPC
8. Conclusion
This paper comes up with a complete robust application of quadrotor’s autonomous landing on
a moving platform that is detected and localized by an on-board camera. An optimal minimal Jerk
trajectory tracking by MPC controller was successfully opted subject to parametric uncertainties
and external disturbance. The relative pose to the landing pad was based on the detection of the
special designed pad by the combined ArUco markers for best detection at different altitudes and
angles, then the identification of each marker and estimation of the pose was performed via Open
CV / python algorithm enhanced by stabilization filters. The Madgwick / EKF observer of the
quadrotor was enhanced by an asynchronous sensors fusion (MPU9250 and NEO-6M) to observe
the quadrotor states vector and sensors bias. Relative pose estimation was satisfactory, Trajectory
generation was adaptive based on both observers results with a fuzzy velocity control to estimate
the landing time to bio-inspire an experienced human pilot, then its fed to the MPC for tracking.
Comparison with PID proved the robustness and performance of the MPC scheme.
24
References
[1] Z.-C. Xu, B.-B. Hu, B. Liu, X. Wang, H.-T. Zhang, Vision-based autonomous landing of
unmanned aerial vehicle on a motional unmanned surface vessel, in: 2020 39th Chinese Control
Conference (CCC), IEEE, 2020, pp. 6845–6850.
[2] L. Danjun, Z. Yan, S. Zongying, L. Geng, Autonomous landing of quadrotor based on ground
effect modelling, in: 2015 34th Chinese Control Conference (CCC), IEEE, 2015, pp. 5647–5652.
[3] B. Hu, S. Mishra, A time-optimal trajectory generation algorithm for quadrotor landing onto a
moving platform, in: 2017 American Control Conference (ACC), IEEE, 2017, pp. 4183–4188.
[4] Y. Qi, J. Jiang, J. Wu, J. Wang, C. Wang, J. Shan, Autonomous landing solution of low-cost
quadrotor on a moving platform, Robotics and Autonomous Systems 119 (2019) 64–76.
[5] J. R. Hervas, M. Reyhanoglu, H. Tang, Automatic landing control of unmanned aerial vehicles
on moving platforms, in: 2014 IEEE 23rd international symposium on industrial electronics
(ISIE), IEEE, 2014, pp. 69–74.
[6] B. Hu, L. Lu, S. Mishra, Fast, safe and precise landing of a quadrotor on an oscillating platform,
in: 2015 American Control Conference (ACC), IEEE, 2015, pp. 3836–3841.
[7] C. Aguilar-Ibanez, M. S. Suarez-Castanon, O. Gutierrez-Frias, J. d. J. Rubio, J. A. Meda-
Campana, A robust control strategy for landing an unmanned aerial vehicle on a vertically
moving platform, Complexity 2020 (2020).
[8] G. Schweighofer, A. Pinz, Robust pose estimation from a planar target, IEEE transactions on
pattern analysis and machine intelligence 28 (12) (2006) 2024–2030.
[9] B. Li, J. Wu, X. Tan, B. Wang, Aruco marker detection under occlusion using convolutional
neural network, in: 2020 5th International Conference on Automation, Control and Robotics
Engineering (CACRE), IEEE, 2020, pp. 706–711.
[10] S. Wilson, H. Eberle, Y. Hayashi, S. O. Madgwick, A. McGregor, X. Jing, R. Vaidyanathan,
Formulation of a new gradient descent marg orientation algorithm: Case study on robot tele-
operation, Mechanical Systems and Signal Processing 130 (2019) 183–200.
[11] A. Gautam, P. Sujit, S. Saripalli, Autonomous quadrotor landing using vision and pursuit
guidance, IFAC-PapersOnLine 50 (1) (2017) 10501–10506.
[12] H. Das, K. Sridhar, R. Padhi, Bio-inspired landing of quadrotor using improved state estima-
tion, IFAC-PapersOnLine 51 (1) (2018) 462–467.
[13] T. Lee, M. Leok, N. H. McClamroch, Nonlinear robust tracking control of a quadrotor uav on
se (3), Asian Journal of Control 15 (2) (2013) 391–408.
[14] S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, M. J. Marı́n-Jiménez, Automatic
generation and detection of highly reliable fiducial markers under occlusion, Pattern Recogni-
tion 47 (6) (2014) 2280–2292.
[15] S. Malik, G. Roth, C. McDonald, Robust corner tracking for real-time augmented reality,
configurations 1 (2) (2002) 12.
25
[16] O. Bouaiss, R. Mechgoug, R. Ajgou, Modeling, control and simulation of quadrotor uav, in:
020 1st International Conference on Communications, Control Systems and Signal Processing
(CCSSP), IEEE, 2020, pp. 340–345.
[17] S. Madgwick, An efficient orientation filter for inertial and inertial/magnetic sensor arrays,
Report x-io and University of Bristol (UK) 25 (2010) 113–118.
[18] J.-J. Xiong, E.-H. Zheng, Optimal kalman filter for state estimation of a quadrotor uav, Optik
126 (21) (2015) 2862–2868.
[19] L. Wang, Z. Zhang, P. Sun, Quaternion-based kalman filter for ahrs using an adaptive-step
gradient descent algorithm, International Journal of Advanced Robotic Systems 12 (9) (2015)
131.
[20] U. AG, Neo-6: U-blox 6 gps modules data sheet (2018).
[21] E. A. Morelli, Estimating noise characteristics from flight test data using optimal fourier
smoothing, Journal of Aircraft 32 (4) (1995) 689–695.
[22] A. Kaba, E. Kıyak, Optimizing a kalman filter with an evolutionary algorithm for nonlinear
quadrotor attitude dynamics, Journal of Computational Science 39 (2020) 101051.
[23] A. Nayak, R. N. Banavar, D. Maithripala, Stabilizing a spherical pendulum on a quadrotor,
Asian Journal of Control (2020).
[24] D. Mellinger, V. Kumar, Minimum snap trajectory generation and control for quadrotors, in:
2011 IEEE international conference on robotics and automation, IEEE, 2011, pp. 2520–2525.
[25] K. Vijay, Unmaned aerial vehicles (2017).
URL https://www.youtube.com/watch?v=nLlLEw_hiNc[Accessed25December2020]
[26] M. J. Richardson, T. Flash, Comparing smooth arm movements with the two-thirds power law
and the related segmented-control hypothesis, Journal of neuroscience 22 (18) (2002) 8201–
8211.
[27] H. Mo, G. Farid, Nonlinear and adaptive intelligent control techniques for quadrotor uav–a
survey, Asian Journal of Control 21 (2) (2019) 989–1008.
[28] Wiki, Linear–quadratic–gaussian control (2021).
URL https://en.wikipedia.org/wiki/Linear\OT1\textendashquadratic\OT1\
textendashGaussian_control[Accessed25December2020]
[29] M. Bohner, N. Wintz, The linear quadratic tracker on time scales, International Journal of
Dynamical Systems and Differential Equations 3 (4) (2011) 423–447.
26