# Autonomous Landing of a Micro Aerial Vehicle on a Moving Platform Using a Composite Landmark

Authors: Bo-Yang Xing; Feng Pan; Xiao-Xue Feng; Wei-Xing Li; Qi Gao
Journal: International Journal of Aerospace Engineering
 (2019)

---

## Abstract

In the existing vision-based autonomous landing systems for micro aerial vehicles (MAVs) on moving platforms, the limited range of landmark localization, the unknown measurement bias of the moving platform (such as wheel-slip or inaccurate calibration of encoders), and landing trajectory knotting seriously affect system performance. To overcome the above shortcomings, an autonomous landing system using a composite landmark is proposed in this paper. In the proposed system, a notched ring landmark and two-dimensional landmark are combined as an R2D landmark to provide visual localization over a wide range. In addition, the wheel-slip and imprecise calibration of encoders are modeled as the unknown measurement bias of the encoders and estimated online via an extended Kalman filter. The landing trajectory is planned by a solver as a convex quadratic programming problem in each control cycle. Meanwhile, an iterative algorithm for adding equality constraints is proposed and used to verify whether the planned trajectory is feasible or not. The simulation and actual landing experiment results verify the following: the visual localization with the R2D landmark has the advantages of wide localization range and high localization accuracy, the pose estimation result of the moving platform with unknown encoder measurement bias is continuous and accurate, and the proposed landing trajectory planning algorithm provides a continuous trajectory for reliable landing.


---

## Body

## 1. Introduction

Micro aerial vehicles (MAVs) are highly agile and versatile flying robots. Recent work has demonstrated their capabilities in many different applications including but not limited to surveillance, object transportation, agriculture, and aerial photography. This work is focused on the specific task of a fully autonomous landing on a moving platform. Some work has focused on autonomous landing on stationary platforms (SPL systems) such as reference [1], presenting a Global Positioning System- (GPS-) based landing system, which used the GPS position of the landing zone to guide a MAV to land. Several similar systems are presented in references [2–4]. Vision-based landing for MAVs has been an actively studied field in recent years [5]. Some examples are the work presented in [6], where the visual system is used to estimate a vehicle position relative to a ring landmark. Reference [7] presents a method for MAV autonomous takeoff, tracking, and landing on a 2D landmark array. Compared with the SPL systems, it is meaningful to research the moving platform landing systems (MPL systems), which are more applicable and can use vehicles or ships as landing targets. Generally, the vision-based MPL systems include the following three features.
(1)
2D landmark localization: to detect the landing zone, most state-of-the art works exploit computer vision from onboard cameras. In those studies, 2D landmark localization is the most common approach for providing camera position relative to landing zone. Generally, the 2D landmark is arranged on the top of the moving platform, so its size is often strictly limited. To provide a large range of localization data under this limitation, researchers have adopted landmarks such as 2D codes, ring landmarks, or character landmarks [8–10]. Although interesting results have been achieved, they are not necessarily applicable to dynamically moving targets in an open outdoor environment
(2)
Pose estimation of the moving platform: it is difficult to guarantee that the moving platform will be visible throughout the entire duration of the landing. To address missing visual information, state estimation and multisensor fusion methods have been introduced to predict the motion of the moving platform [11, 12]. The most commonly used scheme is fusion of the encoder data and 2D landmark data [13]. Alternative solutions are realized with the use of additional sensors attached to the moving target; these sensors include inertial measurement units [14], GPS [15] receivers, or infrared markers [16]. For reliable landing on a moving platform, it is very necessary to consider wheel-slip or obstruction of the moving platform during its movement. This is by no means standard in the literature, since all the MPL systems mentioned before directly estimate the state of the moving platform without considering the measurement bias of the sensors
(3)
Online landing trajectory planning: for the MAV to be truly autonomous, the landing trajectory planning must be performed on the onboard processor in real time [17]. In fact, the desired landing trajectory must not only pass all the waypoints accurately and continuously but also reduce energy consumption and meet the dynamic constraints of the MAV. Therefore, optimal control theory is introduced to solve the quadratic programming (QP) problem of landing trajectory planning. Examples include minimum snap [18], minimum time [19], or shortest path under uncertain conditions [20]. A common property of these methods is that the planned trajectory may be nonconvex or even knotted when the number of waypoint constraints is too small. Furthermore, although the algorithm with inequality constraints can obtain better trajectories, the computational complexity will increase significantly [21]. Therefore, those algorithms always rely on external computation for trajectory planningIn this paper, a MAV system capable of autonomously landing on a moving target using mainly onboard sensing and computing is presented. The only prior knowledge about the moving landing target is its real-time measurement of the encoders. The proposed R2D-MPL system uses a composite landmark comprising a notch ring (NR) landmark and 2D landmark to provide accurate visual localization data on the moving platform over a wide spatial range. To deal with temporarily missing visual information, the unknown measurement bias of encoders caused by wheel-slip and imprecise calibration is taken into consideration in the target’s dynamical model, and the state of the moving platform is estimated online based on an extended Kalman filter (EKF). Meanwhile, the R2D-MPL system computes trajectories based on the energy necessary to execute an efficient landing, which takes into account the dynamic constraints of the MAV and optimizes the equality constraints of waypoints through an iterative algorithm. The proposed system is validated by simulation as well as in real-world experiments using low-cost, lightweight consumer hardware. The experimental results show that the approach can realize the autonomous and reliable landing of the MAV when the encoders have measurement bias.The rest of this paper is organized as follows. Section2 presents the overview of the proposed R2D-MPL system. Section 3 introduces the monocular localization algorithm based on the proposed R2D landmark. Section 4 introduces the pose estimation algorithm based on the extended Kalman filter. Section 5 introduces the landing trajectory planning algorithm based on the minimum jerk rule. Section 6 introduces the design of the hardware and experimental results. The experimental results of the proposed visual localization algorithm are given in Section 6.1, the result of the simulation landing experiment is given in Section 6.2, and the result of the actual landing experiment is given in Section 6.3. Section 7 presents the conclusions of this paper.


## 2. Overview of the R2D-MPL System

Landing on a moving platform is more complex than landing on a stationary platform. Recognition errors for a 2D landmark, inaccurate motion models, and maneuvering by moving platforms will seriously affect landing results. To overcome the above problems, a general and hierarchical R2D-MPL system is proposed in this paper, which is shown in Figure1.Figure 1
Flow chart of the R2D-MPL system.The R2D-MPL system shown in Figure1 contains the following four layers. The sensor layer consists of a variety of heterogeneous sensors, including the R2D landmark, encoder, inertial measurement unit (IMU), and GPS. The sensor layer provides the measurements of the moving platform and MAV. The fusion layer uses the measurement data from the sensor layer to obtain the real-time pose estimation of the MAV and the moving platform. In addition, the proposed system can further introduce other sensors such as a laser range finder, UWB, or visual odometer to improve the estimation performance. The decision layer generates the desired waypoint and trajectory online based on the real-time pose estimation from the data fusion layer. Finally, the control layer realizes the visual tracking of the moving platform and the pose control of the MAV.


## 3. Visual Localization Method Based on a Composite R2D Landmark

Ring landmarks and 2D landmarks are the most commonly used landmarks in visual localization systems. A ring landmark has the advantage of providing good estimation results from larger distances since it uses the projection information of the whole contour. However, it has the problems of a lack of freedom and singular solution. A 2D landmark allows estimation of the camera’s 6Dof pose, but its localization accuracy is affected by the vertex detection result; therefore, it is only suitable for close-range localization. To accurately estimate the MAV’s pose, a composite R2D landmark is designed and placed on the top of the moving platform. The R2D landmark comprises a notched ring (NR) landmark and a 2D landmark; thus, the R2D landmark has the potential to realize precise and continuous localization in a wide range space. As shown in Figure2, the NR landmark has a notch with outer ring diameter do and inner ring diameter di; the 2D landmark is located at the center of the NR landmark, and its size is da.Figure 2
R2D landmark.For the R2D landmark recognition, the original image is processed by the 6∗6 template Gaussian filter and adaptive binary algorithm. The serial number and the corners’ 2D-3D matching relationship are verified based on the coding information in the contours. Then, the ring contour is segmented sampled and fitted to find the inner and outer ring projections. Finally, the notch is identified with the binary image established by combining the ring contour with the ellipse projection. After recognizing the R2D landmark, the 5Dof pose of the camera can be calculated with the outer ring projection. Furthermore, the complete 6Dof pose can be calculated by considering the pixel position of the notch. First, the outer ring ellipse projection is transformed to the camera coordinate system, and the ellipse parameter equation can be given as follows.
(1)L1x2+2L2xy+L3y2+2L4x+2L5y+L6=0.The elliptical oblique cone [22] projection matrix Q can be calculated as follows.
(2)Q=L1L2L4fL2L3L5fL4fL5fL6f2,where f is the camera focal length. λ1, λ2, and λ3 are the eigenvalues of Q, and ε2 and ε3 are the feature vectors of λ2 and λ3, respectively. Assuming λ1>λ2>0>λ3, the position and attitude of the ellipse plane in the canonical camera coordinate system can be calculated as follows.
(3)n=n1n2n3=S1λ1−λ2λ2−λ3ε2+S2λ1−λ2λ2−λ3ε3,(4)t=t1t2t3=S3do−λ2λ3S1λ3λ1−λ2λ2−λ3ε2+S2λ2λ1−λ2λ2−λ3ε3.In equations (3) and (4), the vector n represents the pitch, roll, and yaw angles of the ellipse plane, and t represents the location of the ellipse center in the canonical camera coordinate system. Because the coefficients S1,S2, and S3 are unknown, only a 5Dof singular pose (including the 2Dof rotation matrix rr and the 3Dof transform vector tr) of the camera can be obtained.
(5)rr=cosn10sinn1010−sinn10cosn11000cosn2−sinn20sinn2cosn2,(6)tr=t.To obtain the nonsingular solutions, the following two kinds of constraints are added. First, two simple constraints (n3<0 and t3>0) can be established based on the fact that the NR landmark is in front of the camera and its z-axis faces the camera. Second, assuming that the slope of the NR landmark can be ignored, the pitch and roll angles calculated based on the rotation matrix should be close to the results provided by the IMU or 2D landmark. Therefore, define rr∗∣tr∗ as the regular 5Dof pose solution provided by the NR landmark, which can be calculated based on equations (5) and (6) and the above constraints. The last Dof is approximately calculated based on the position of the NR landmark center pixel and the notch center pixel. Thus, the 6Dof pose Rr∣Tr provided by the NR landmark is given as follows.
(7)Rr=r11r12r13r21r22r23r31r32r33=cosρsinρ0−sinρcosρ0001rr∗,Tt=Rrtr∗,(8)ρ=arctanHy−Scy,Hx−Scx,where Scx,ScyT is the NR landmark center pixel and Hx,HyT is the notch center pixel. To simplify, Rr∣Tr is converted to the 3D position and Euler angles in the Euler coordinate system E. Define ζr=xr,yr,zr,θr,βr,ϕrT as the 6Dof camera pose in E, and it can be calculated as follows.
(9)Pr=xryrzr=RrTTr,ξr=θrβrφr=arctanr32,r33arctan−r31,r322+r332arctanr21,r11.Ideally, the 2D landmark and NR landmark can simultaneously provide the 6Dof camera pose. The localization of the NR landmark is obtained based on equations (1), (2), (3), (4), (5), (6), (7), (8), and (9). The localization of the 2D landmark is obtained based on the commonly used EPNP algorithm [23], which is fast and simple. However, the EPNP algorithm is seriously affected by the accuracy of the corners’ 2D-3D matching relationship; thus, the 2D landmark is only suitable for close-range localization. To synthesize the localization results of the two landmarks, a weighted fusion algorithm based on the corners’ projection error of the 2D landmark is proposed in this paper, and the 6Dof camera pose provided by the R2D landmark in E is given as follows.
(10)ζR2D=αζr+1−αζd,α=edemax,0<α<1,where ζd is the 6Dof camera pose provided by the 2D landmark, ed is the average projection error of the 2D landmark’s corners, and emax is the maximum projection error.


## 4. Pose Estimation of the Moving Platform

Pose estimation of the moving platform can improve the robustness of the MPL system since the visual localization results are not always available. To obtain continuous and accurate pose estimation of the moving platform, a precise motion model and appropriate multisensor fusion algorithm are necessary. In this section, a general motion model for the MPL system is proposed, which considers the unknown encoder measurement bias. Meanwhile, the precise and continuous position, velocity, and orientation of the moving platform are estimated online based on the extended Kalman filter (EKF). Here, a three-wheeled omnidirectional car is used as the moving platform, and its coordinate system is shown in Figure3.Figure 3
Description of the moving platform coordinate system.As seen from Figure3, the body coordinate system of the moving platform is defined as m, its origin is located at the center of the moving platform, and the ym-axis points to the head. The xm-axis and zm-axis accord with the right-hand rule. The inverse kinematics model [11] of the three-wheeled omnidirectional car is given as follows.
(11)w1w2w3=Fvxmvymω=−10Lcosπ3−sinπ3Lcosπ3sinπ3Lvxmvymω,where L is the radius of the moving platform, its height is H, wii=1,2,3 is the linear velocity of each wheel, vxm and vym are the linear velocity in m, ω is the angular velocity in m, and F is the kinematics transformation matrix. The global coordinate system is defined as n, the 2D position of the moving platform in m is defined as x,yT, and its head orientation is represented as ϕ. Thus, the 2D motion model of the moving platform can be described as follows.
(12)ẋ=vxmcosφ+vymsinφ,(13)ẏ=vymcosφ−vxmsinφ,(14)φ̇=ω.Based on equations (12), (13), and (14), the pose estimation of the moving platform can be achieved via the extended Kalman filter (EKF) methods. However, the cumulative error is disappointing due to the unsatisfied calibration of the encoder. Generally, the moving platform commonly drives on rough ground, causing the system to face the problem of wheel-slip. For example, when the moving platform passes over the road with a gap or the moving platform is blocked by obstacles, the encoder measurement definitely contains bias. The encoder measurement without calibration will cause incorrect pose estimation. To solve this problem, the unknown measurement bias of the encoder is considered in the motion model. The state vector of the moving platform is defined as X=x,y,φ,vxm,vym,ω,e1,e2,e3T including the position and orientation in n, the linear velocity and angular velocity in m, and the measurement bias of each encoder. In addition, considering the body linear velocity in the state vector has the following advantages:
(1)
It makes the proposed R2D-MPL system more general to introduce other sensors to measurevxm,vym,ωT. For example, a gyroscope can be added to measure the angular velocity, and an optical flow sensor can be added to measure the linear velocity of the moving platform
(2)
It makes the proposed R2D-MPL system more general to handle the transmission delay of encoder data with the ring queue and timestamp methods [24]A nonlinear function is used to describe the motion model of the moving platform in this paper.(15)Xk+1=fXk,ηk=xkvxkmcosφk+vykmsinφkTsykvykmcosφk−vxkmsinφkTsφk+ωkTsvxkmvykmωke1ke2ke3k,where Ts is the sampling period, ηk is the process noise, which is described as Gaussian noise, and its covariance matrix is Qk. Thus, the predicted value of Xk+1 at the k+1 moment is given as below:
(16)X^k+1∣k−=fX^k.DefinePk+1∣k− as the covariance matrix of the state estimation; it can be calculated as follows, where ∇fx is the Jacobian matrix of f·.
(17)P^k+1∣k−=∇fxPk∇fxT+Qk.The R2D landmark localization result and the encoder data are utilized to perform the measurement update here.DefineζR2Dk=XR2Dk,YR2Dk,φR2DkT as the camera pose in m;ζpk=x^pk,y^pk,φ^pkT is the estimated MAV pose in n, which is calculated based on the fusion algorithm proposed in reference [7], and thus, the moving platform pose zck+1=Xck+1,Yck+1,φck+1T in n can be calculated as follows.
(18)zck+1=ζpk+1−cosφcpk+1sinφcpk+10−sinφcpk+1cosφcpk+10001ζR2Dk+1,where φcpk+1=φ^pk+1−φ^R2Dk+1. Define the encoder measurement vector as zek+1=w1k+1,w2k+1,w3k+1T, which is augmented with zck+1 to obtain the final measurement vector zk+1=zck+1T,zek+1T,T. The nonlinear function between the measurement vector zk+1 and Xk+1 is given as follows.
(19)zk+1=hXk+1,σk+1=xk+1yk+1φk+1Fvxk+1mvyk+1mωk+1+e1k+1e2k+1e3k+1+σk+1,where σk+1 is the Gaussian measurement noise, with the covariance matrix being Rk+1. The measurement prediction of zk+1 is given as follows.
(20)z^k+1=hX^k+1∣k−.The residual vectorνk+1 and its approximate covariance matrix are given as follows, where ∇hx is the Jacobian matrix of h·.
(21)vk+1=zk+1−z^k+1,(22)Sk+1≈∇hxPk+1∣k−∇hxT+Rk+1.The Kalman filter gain can be calculated as follows.(23)Kk+1=Pk+1∣k−∇hxTSk+1−1.Finally, the state estimation and covariance matrix of the moving platform are given as follows.(24)X^k+1=X^k+1∣k−+Kk+1vk+1,(25)Pk+1=I−Kk+1∇hxPk+1∣k−,where I is the unit matrix. Above all, the real-time pose estimation of the moving platform can be realized based on equations (11), (12), (13), (14), (15), (16), (17), (18), (20), (21), (22), (23), (24), and (25), which can be used as the feedback data in the decision layer and control layer.


## 5. Landing Trajectory Planning Algorithm Based on the Minimum Jerk Rule

To achieve the precise, continuous, and minimum-energy cost landing process, an online two-stage landing trajectory planning algorithm based on the minimum jerk rule is proposed in this section, which includes the visual tracking stage and planning landing stage. In the visual tracking stage, the MAV approaches the circular boundaryB1t based on the pixel position of the moving platform. In the planning landing stage, the real-time waypoint planning based on the pose change of the moving platform is performed in each control period. Meanwhile, a continuous and accurate trajectory passing through the waypoint is generated based on the minimum energy criterion. The landing process of the proposed system is shown in Figure 4, in which the black dotted line is the moving platform’s trajectory. The black arrowhead line is the MAV’s trajectory during the visual tracking stage, the red arrowhead line is the MAV’s trajectory during planning of the landing stage, and the blue arrows are the moving platform’s velocity vector at each moment.Figure 4
Top view of the landing process.


### 5.1. Visual Tracking Stage

The visual tracking method is utilized to guide the MAV to approach the boundaryB1t (a circle with a radius of r1 and centered at the center of the moving platform). To obtain the stationary image, a two-axis pan is installed in front of the MAV in the proposed system. The x-axis pixel error between the R2D landmark central pixel and the camera center is used to control the heading of the MAV, and the y-axis pixel error is used to control the pitch angle of the pan. During this stage, the MAV remains at a fixed altitude h1 and fixed speed v1 to approach the moving platform until their distance is sufficiently close. Define μt as the distance between the MAV and the moving platform, which can be calculated as follows.
(26)μt=βd1t+1−βd2t,0<β<1,d1t=z^ttanθpant,d2t=x^pt−x^t2+y^pt−y^t2,where x^pt,y^pt,z^ptT is the estimated position of the MAV in n, x^t,y^tT is the estimated position of the moving platform in n, θpant is the pitch angle of the pan, and β is the weighted parameter. Thus, the landing process will switch to the planning landing stage once μt is smaller than r1.


### 5.2. Planning Landing Stage

As shown in Figure4, the landing strategy of the proposed algorithm is to chase the moving platform, approaching it from behind, and finally land. Therefore, to obtain a dynamic landing trajectory that meets the above requirements, waypoints P1t and P1t are replanned in each control cycle. The waypoint P1t=x1t,y1t,z1tT is selected as a point on the reverse extension line of the velocity vector Vt, which ensures that the MAV approaches the moving platform from behind. Define the radius of C1t as r2, and its center is located at the center of the moving platform; thus, the parameters of waypoint P1t are given as follows:
(27)x1ty1tz1tψ1t=x^t−sinψ1tr2y^t−cosψ1tr2h2+v̇^xmt2+v̇^ymt21+e−r2b1+ω̇^t1+e−r2b2arctanv̇^xmtv̇^ymt,where v^xmt,v^ymt,ω^tT is the estimated linear and angular velocity of the moving platform in m, v̇^xmt,v̇^ymt,ω̇^tT is its first-order differential, h2 is the flight altitude during this stage, and b1,b2T are parameters ensuring that the MAV can automatically change altitude during turning or maneuvering of the moving platform.The waypointP2t=x2t,y2t,z2tT is the final landing point. At each control cycle, the planner selects K prediction times ts by uniformly sampling a fixed-duration prediction horizon. For each time ts, the planner predicts the future state X^k+i∗ts−i=1,2,⋯,K that the moving platform will reach, which is calculated using its dynamical model starting from its last estimate available from the estimator designed in Section 4. The X^k+i∗ts− is used as the candidate final waypoint P2∗i for each candidate trajectory. Out of all candidate trajectories, the one requiring a minimum amount of energy [12] for execution is selected; meanwhile, the waypoint P2t can be determined.Above all, to generate a smooth and minimum-energy landing trajectory, an online trajectory planning algorithm is proposed here. For simplification, the three dimensions of the trajectory are planned independently. The fifth-order polynomial is used to describe the landing trajectory with the polynomial parameter vectorq=q0,q1,⋯,q5T. The minimum jerk trajectory is planned at each control period, and the optimal function is given as follows.
(28)minfq=min∑i=02∫ti−1ti0,0,0,6,24τ,60τ2qT0,0,0,6,24τ,60τ2qdτ.Several equality constraints can be established considering the waypoint constraints and the continuity of the position, velocity, and acceleration at the waypointP1t. Taking the x-axis as an example, its constraint equation is given as follows.
(29)1,0,0⋯0⏟100,1,0⋯0⏟100,0,2,0⋯0⏟91,t1,t12,⋯⏟2,t15,0⋯0⏟60,1,2t1,⋯⏟2,5t14,0⋯0⏟60,0,2,6t1,⋯⏟1,20t13,0⋯0⏟60⋯0⏟6,1,t2,⋯⏟2,t250⋯0⏟6,0,1,2t2,⋯⏟2,5t240⋯0⏟6,0,0,2,6t2,⋯⏟1,20t231,t1,t12,⋯⏟2,t15,−1,−t1,t12,⋯⏟2,−t150,1,2t1,⋯⏟2,5t14,0,−1,−2t1,⋯⏟2,−5t140,0,2,6t1,⋯⏟1,20t13,0,0,−2,−6t1,⋯⏟1,−20t13q=x^ptẋ^ptx¨^ptx1tẋ^pt+v^xnt0x2tv^xnt0000,where v^xt=v^xmt2+v^ymt2 is the estimated linear velocity of the moving platform in n, t1 is the time that the MAV reaches the waypoint P1t, and t2 is the time that the MAV reaches the waypoint P2t; they are determined by the distance μt and the maximum velocity constraint of the MAV. As shown in equation (28), the trajectory first starts at the MAV’s current position x^pt; meanwhile, its velocity and acceleration should be equal to the velocity ẋ^pt and the acceleration xpt of the MAV. Then, the middle point of the trajectory needs to pass the waypoint P1t, and the MAV needs to accelerate to ensure its velocity approaches ẋ^pt+v^xnt. Finally, the trajectory ends with P2t and has the same velocity v^xnt as the moving platform. The above equality constraints Aq=b can only ensure that the trajectory passes through the desired waypoint, although the planned trajectory may exceed the feasible corridor or physical actuation constraints of the MAV. The above problems can be solved by using inequality constraints Aq<b, but the large amount of computation required cannot meet the requirements of real-time planning. Furthermore, an iterative algorithm for adding equality constraints (IAEC) is proposed and used to verify whether the planned trajectory is feasible or not.Therefore, the proposed IAEC algorithm first plans the landing trajectory based on equation (28) and equation (29). Then, it will look for points in the trajectory that exceed the feasible corridor or physical actuation constraints of the MAV, new equality constraints will be added at those points, and the trajectory planning is carried out again. Finally, the expected trajectory is obtained by repeating the above process until the iteration condition is reached, and the convex quadratic programming (QP) problem in equation (28) is solved by the OOQP package [25]. The proposed IAEC method is given in Algorithm 1.Algorithm 1: IAEC algorithm.
Input: A,b: initial constraint parameters, ds: the width of the feasible corridor, vmax: max velocity constraint of the MAV, γ: Constraint relaxation coefficient, N: maximum number of iterations
Output: A∗,b∗: final constraint parameters, q∗: final landing trajectory parameters
1: Initialize:Ai=A,bi=b;
2:for i=0to N do
3:    Calculatedq∗ with equality constraints Aiq∗=bi and OOQP package:
4:for j=1 to size of (bi) do
5:      DefinePj as the corresponding point on the feasible corridor of bi;
6:if bij−Pj>ds then
7:     Add new position equality constraints:∣bij∗∣=Pj+γ·ds;
8:end if
9:if ∣ḃij∣>vmax then
10:      Add new velocity equality constraints:ḃij∗=vmax;
11:end if
12:if new constraints are added then
13:     Relaxation of adjacent waypoints constraints:bij−1∗=bij−1−1−γ·ds,bij+1∗=bij+1−1−γ·ds,
14:     Extended matrixAi;
15:end if
16:end for
17:end for


## 5.1. Visual Tracking Stage

The visual tracking method is utilized to guide the MAV to approach the boundaryB1t (a circle with a radius of r1 and centered at the center of the moving platform). To obtain the stationary image, a two-axis pan is installed in front of the MAV in the proposed system. The x-axis pixel error between the R2D landmark central pixel and the camera center is used to control the heading of the MAV, and the y-axis pixel error is used to control the pitch angle of the pan. During this stage, the MAV remains at a fixed altitude h1 and fixed speed v1 to approach the moving platform until their distance is sufficiently close. Define μt as the distance between the MAV and the moving platform, which can be calculated as follows.
(26)μt=βd1t+1−βd2t,0<β<1,d1t=z^ttanθpant,d2t=x^pt−x^t2+y^pt−y^t2,where x^pt,y^pt,z^ptT is the estimated position of the MAV in n, x^t,y^tT is the estimated position of the moving platform in n, θpant is the pitch angle of the pan, and β is the weighted parameter. Thus, the landing process will switch to the planning landing stage once μt is smaller than r1.


## 5.2. Planning Landing Stage

As shown in Figure4, the landing strategy of the proposed algorithm is to chase the moving platform, approaching it from behind, and finally land. Therefore, to obtain a dynamic landing trajectory that meets the above requirements, waypoints P1t and P1t are replanned in each control cycle. The waypoint P1t=x1t,y1t,z1tT is selected as a point on the reverse extension line of the velocity vector Vt, which ensures that the MAV approaches the moving platform from behind. Define the radius of C1t as r2, and its center is located at the center of the moving platform; thus, the parameters of waypoint P1t are given as follows:
(27)x1ty1tz1tψ1t=x^t−sinψ1tr2y^t−cosψ1tr2h2+v̇^xmt2+v̇^ymt21+e−r2b1+ω̇^t1+e−r2b2arctanv̇^xmtv̇^ymt,where v^xmt,v^ymt,ω^tT is the estimated linear and angular velocity of the moving platform in m, v̇^xmt,v̇^ymt,ω̇^tT is its first-order differential, h2 is the flight altitude during this stage, and b1,b2T are parameters ensuring that the MAV can automatically change altitude during turning or maneuvering of the moving platform.The waypointP2t=x2t,y2t,z2tT is the final landing point. At each control cycle, the planner selects K prediction times ts by uniformly sampling a fixed-duration prediction horizon. For each time ts, the planner predicts the future state X^k+i∗ts−i=1,2,⋯,K that the moving platform will reach, which is calculated using its dynamical model starting from its last estimate available from the estimator designed in Section 4. The X^k+i∗ts− is used as the candidate final waypoint P2∗i for each candidate trajectory. Out of all candidate trajectories, the one requiring a minimum amount of energy [12] for execution is selected; meanwhile, the waypoint P2t can be determined.Above all, to generate a smooth and minimum-energy landing trajectory, an online trajectory planning algorithm is proposed here. For simplification, the three dimensions of the trajectory are planned independently. The fifth-order polynomial is used to describe the landing trajectory with the polynomial parameter vectorq=q0,q1,⋯,q5T. The minimum jerk trajectory is planned at each control period, and the optimal function is given as follows.
(28)minfq=min∑i=02∫ti−1ti0,0,0,6,24τ,60τ2qT0,0,0,6,24τ,60τ2qdτ.Several equality constraints can be established considering the waypoint constraints and the continuity of the position, velocity, and acceleration at the waypointP1t. Taking the x-axis as an example, its constraint equation is given as follows.
(29)1,0,0⋯0⏟100,1,0⋯0⏟100,0,2,0⋯0⏟91,t1,t12,⋯⏟2,t15,0⋯0⏟60,1,2t1,⋯⏟2,5t14,0⋯0⏟60,0,2,6t1,⋯⏟1,20t13,0⋯0⏟60⋯0⏟6,1,t2,⋯⏟2,t250⋯0⏟6,0,1,2t2,⋯⏟2,5t240⋯0⏟6,0,0,2,6t2,⋯⏟1,20t231,t1,t12,⋯⏟2,t15,−1,−t1,t12,⋯⏟2,−t150,1,2t1,⋯⏟2,5t14,0,−1,−2t1,⋯⏟2,−5t140,0,2,6t1,⋯⏟1,20t13,0,0,−2,−6t1,⋯⏟1,−20t13q=x^ptẋ^ptx¨^ptx1tẋ^pt+v^xnt0x2tv^xnt0000,where v^xt=v^xmt2+v^ymt2 is the estimated linear velocity of the moving platform in n, t1 is the time that the MAV reaches the waypoint P1t, and t2 is the time that the MAV reaches the waypoint P2t; they are determined by the distance μt and the maximum velocity constraint of the MAV. As shown in equation (28), the trajectory first starts at the MAV’s current position x^pt; meanwhile, its velocity and acceleration should be equal to the velocity ẋ^pt and the acceleration xpt of the MAV. Then, the middle point of the trajectory needs to pass the waypoint P1t, and the MAV needs to accelerate to ensure its velocity approaches ẋ^pt+v^xnt. Finally, the trajectory ends with P2t and has the same velocity v^xnt as the moving platform. The above equality constraints Aq=b can only ensure that the trajectory passes through the desired waypoint, although the planned trajectory may exceed the feasible corridor or physical actuation constraints of the MAV. The above problems can be solved by using inequality constraints Aq<b, but the large amount of computation required cannot meet the requirements of real-time planning. Furthermore, an iterative algorithm for adding equality constraints (IAEC) is proposed and used to verify whether the planned trajectory is feasible or not.Therefore, the proposed IAEC algorithm first plans the landing trajectory based on equation (28) and equation (29). Then, it will look for points in the trajectory that exceed the feasible corridor or physical actuation constraints of the MAV, new equality constraints will be added at those points, and the trajectory planning is carried out again. Finally, the expected trajectory is obtained by repeating the above process until the iteration condition is reached, and the convex quadratic programming (QP) problem in equation (28) is solved by the OOQP package [25]. The proposed IAEC method is given in Algorithm 1.Algorithm 1: IAEC algorithm.
Input: A,b: initial constraint parameters, ds: the width of the feasible corridor, vmax: max velocity constraint of the MAV, γ: Constraint relaxation coefficient, N: maximum number of iterations
Output: A∗,b∗: final constraint parameters, q∗: final landing trajectory parameters
1: Initialize:Ai=A,bi=b;
2:for i=0to N do
3:    Calculatedq∗ with equality constraints Aiq∗=bi and OOQP package:
4:for j=1 to size of (bi) do
5:      DefinePj as the corresponding point on the feasible corridor of bi;
6:if bij−Pj>ds then
7:     Add new position equality constraints:∣bij∗∣=Pj+γ·ds;
8:end if
9:if ∣ḃij∣>vmax then
10:      Add new velocity equality constraints:ḃij∗=vmax;
11:end if
12:if new constraints are added then
13:     Relaxation of adjacent waypoints constraints:bij−1∗=bij−1−1−γ·ds,bij+1∗=bij+1−1−γ·ds,
14:     Extended matrixAi;
15:end if
16:end for
17:end for


## 6. Experiment and Analysis

To verify the proposed R2D-MPL system, an X450 quadrotor is used in this section. The quadrotor uses an 8-inch propeller and four 980 kV brushless motors as the drive system. Its weight is 1.35 kg, and the flight time is 15 minutes. The proposed R2D landmark localization algorithm, pose estimation algorithm, and trajectory planning algorithm are tested on the onboard ODROID-XU4 processor. The heightH of the three-wheeled omnidirectional car is 15 cm, and its radius L is 42 cm. The R2D landmark parameters do is 70 cm, di is 60 cm, and da is 54 cm. The communication link between the quadrotor and the moving platform is a 2.4 G wireless radio.


### 6.1. R2D Landmark Localization Experiment

The localization performance of the R2D landmark is verified, and the result is shown in Figure5. The blue dotted line in Figure 5(a) is the localization result for the 2D landmark. It can be seen that the 2D landmark cannot be recognized when the z-axis of the camera exceeds 3 m. The red dotted line is the localization result based on the NR landmark. It can be seen that the NR landmark can only be recognized in the range of 1.5 m to 5 m. The black line is the localization result based on the R2D landmark result, and it can obtain the continuous localization result in the range of 0.5 m to 6 m through fusing the results of the 2D landmark and NR landmark. Figure 5(b) shows the localization error of each landmark; it can be concluded that the proposed algorithm effectively integrates the results of the two sub-landmarks and realizes continuous and complete localization.Figure 5
Localization results of the NR landmark, 2D landmark, and R2D landmark.
(a)
Localization result
(b)
Localization errorIn addition, an experiment comparing the localization performance of 2D, NR, and R2D landmarks with the same size is proposed, the results of which are given in Table1. In this experiment, the outermost width of each landmark’s contour is taken as its size. It can be seen from Table 1 that the R2D landmark has a larger localization range and higher localization accuracy under the same size.Table 1
Landmark comparison experiment results (landmark size is 0.7 m).
Landmarks
Localization rangem
Localization errorm
2D landmark
1.2–4.5
0.35–1.2
NR landmark
1.5–6.0
0.5–0.6
R2D landmark
0.5–6.0
0.1–0.6


### 6.2. Moving Platform Pose Estimation Experiment

To verify the pose estimation performance of the proposed system (method 1), the following simulation experiments are designed. The Gazebo and ROS simulation software are used to build the experimental environment. The quadrotor hovers at the coordinate point (0,0,3). Meanwhile, the moving platform runs along a circular trajectory centered at (0,3,0) and radius of 3 m at a speed of 1 m/s. In addition, the pose estimation algorithm (method 2) proposed in reference [12] is adopted for comparison, which also utilizes the EKF method but does not consider the encoder measurement bias. The simulation results are given in Figure 6.Figure 6
Estimate results of the moving platform.
(a)
Position estimate result
(b)
Velocity estimate resultFigure6(a) shows the position estimate results of the moving platform. The red line is the ground truth of the moving platform, the green dots are the visual measurement results, the blue dotted line is the estimated result for method 2, and the black dash-dot line is the result for method 1. It can be seen that the result of method 2 has a large deviation since it does not consider the encoder measurement bias. Figure 6(b) shows the velocity estimate results for the moving platform. The red line is the true velocity of the moving platform. The blue dotted line is the estimated result for method 2, which has the obvious deviation. The black solid line is the estimated result for method 1, which obtains a satisfying estimation result.In addition, the position estimate error is shown in Figure7. As seen from this figure, the position estimate error of the proposed algorithm converges rapidly, and the position estimate error of method 2 fluctuates greatly. The maximum position estimate error of method 1 is smaller than 0.25 m, which is much better than the result for method 2. Thus, the proposed algorithm can obtain accurate real-time position estimates of the moving platform.Figure 7
Position estimate error.To simulate wheel-slip of the moving platform, random walk noise is added to the encoders’ measurements. The estimated result of the encoder measurement bias is given in Figure8. In this experiment, the moving platform is blocked and stopped after 13 s, while the wheels are still spinning and causing wheel-slip. In Figure 8, the blue dotted line represents the true encoder data, the black solid line represents the encoder measurements, and the red dotted line represents the estimated bias based on the proposed algorithm. It can be seen that the true encoder data are equal to zero since the moving platform is blocked; however, the encoder measurement is not equal to zero due to the wheel-slip. The estimate encoder measurement biases gradually approach the encoders’ measurement after the wheel-slip occurs, which proves that the proposed algorithm can effectively estimate the encoder measurement bias.Figure 8
Encoder measurement bias estimate result.


### 6.3. Landing Experiments

First, the following experiment is used to verify the IAEC algorithm. Five desired waypoints, [2, 1, 2], [3, 5, 3], [5, 2, 5], [10, 8, 4], and [12, 2, 5], are given in this experiment. In addition, the velocities and accelerations at the start and end points are zero. The proposed IAEC algorithm is also compared with the algorithm using onlyP1t,P2t waypoint constraint (method 1) and the algorithm using the inequality constraint algorithm (method 2) [26]. The result is shown in Figure 9.Figure 9
Trajectory planning experiment.As seen in Figure9, method 2 gives the optimal trajectory planning result, method 1 has obvious knots at waypoints, and the proposed IAEC algorithm achieves a compromise effect between the two. In terms of calculation time, method 1 spent 10.52 ms to complete trajectory planning on ODROID-XU4, while method 2 spent 380.3 ms to complete trajectory planning, and the IAEC algorithm spent 60.35 ms to complete trajectory planning after 6 iterations. Although the IAEC algorithm reduces the passing accuracy by relaxing the waypoint constraints, it effectively solves the trajectory knotting and requires less computation. For the MPL system mentioned in this paper, it only needs to ensure the accuracy of the final landing waypoint P2t.To verify the performance of the proposed R2D-MPL system, several simulation landing experiments are performed, which are compared with the system proposed in reference [12] (method 3). To our knowledge, the system proposed in method 3 is currently the most reliable MPL system using only onboard sensing and computation. The greatest improvements of the proposed R2D-MPL system are the following: (1) the R2D-MPL system accounts for the measurement bias of encoders caused by wheel-slip and imprecise calibration in pose estimation for moving platforms, and (2) the R2D-MPL system also accounts for the trajectory knotting problem caused by dynamic constraints of the MAV. Therefore, the following experiments were carried out under the moving platform with different velocity and motion models; meanwhile, different fixed measurement biases for encoder 1 were added artificially. Define AVT as the average time used for a successful landing, define LR as the average position error of successful landings, and define SR as the landing success rate. The results of 20 experiments under different situations are given in Table 2.Table 2
Landing comparison experiment results (20 experiments).
Motion model
Parameters
Bias
AVT
AVT
LR/SR
LR/SR
(Encoder 1)
(R2D-MPL)
(Method 3)
(R2D-MPL)
(Method 3)
Line
VL=0.25m/s
0.00 m/s
12.4 s
14.2 s
0.18 m/90%
0.25 m/85%
Line
VL=0.50m/s
0.00 m/s
13.2 s
15.7 s
0.21 m/85%
0.27 m/75%
Line
VL=0.50m/s
0.15 m/s
13.6 s
22.4 s
0.22 m/80%
0.38 m/25%
Line
VL=0.50m/s
0.30 m/s
14.1 s
25.1 s
0.25 m/85%
0.40 m/5%
Circle
VC=0.25m/sRC=1m
0.00 m/s
15.7 s
23.2 s
0.21 m/80%
0.42 m/40%
Circle
VC=0.50m/sRC=1m
0.00 m/s
17.4 s
27.4 s
0.24 m/85%
0.41 m/30%
Circle
VC=0.25m/sRC=2m
0.15 m/s
18.1 s
Fail
0.28 m/75%
Fail
Circle
VC=0.25m/sRC=2m
0.30 m/s
19.5 s
Fail
0.32 m/80%
FailAs seen in Table2, both methods 1 and 2 have high landing success rates when the moving platform moves slowly and the measurement bias is small. However, the performance of method 1 is better than that of method 2, especially when encoder 1 has a large measurement bias. Method 1 has an acceptable landing success rate and high landing accuracy based on the accurate modeling; meanwhile, it consumes less flight time based on the efficient and continuous landing trajectory.Furthermore, the actual landing experiments for linear motion and circular motion are tested, and the video of the experiment can be found athttps://www.youtube.com/watch?v=ZljQ1Ng-EIQ. The linear motion velocity VL of the moving platform is 0.25 m/s. The circular motion velocity VC is 0.5 m/s, and the radius RC is 1 m. The parameters of the landing trajectory planning algorithm are given as follows: h1 is 1.8 m, r1 is 1.68 m, h2 is 1.2 m, r2 is 0.7 m, b1 is 0.012, b2 is 0.003, v1 is 0.7 m/s, and β is 0.6. The experimental results are shown as follows.Figure10(a) shows the result for the moving platform in linear motion. In Figure 10(a, 1), the moving platform detects the moving platform for the first time. In Figure 10(a, 2), the quadrotor switches from vision tracking to landing trajectory planning. The landing trajectory planning is performed in Figure 10(a, 3). The quadrotor performs trajectory planning until successfully landing on the moving platform in Figure 10(a, 4). Figure 10(b) shows the 3D landing trajectory of the linear motion experiment, and Figure 11 shows the landing result for the moving platform under the circular motion.Figure 10
Linear motion landing experiment.
(a)
Landing experiment
(b)
3D trajectoryFigure 11
Circular motion landing experiment.
(a)
Landing experiment
(b)
3D trajectory


## 6.1. R2D Landmark Localization Experiment

The localization performance of the R2D landmark is verified, and the result is shown in Figure5. The blue dotted line in Figure 5(a) is the localization result for the 2D landmark. It can be seen that the 2D landmark cannot be recognized when the z-axis of the camera exceeds 3 m. The red dotted line is the localization result based on the NR landmark. It can be seen that the NR landmark can only be recognized in the range of 1.5 m to 5 m. The black line is the localization result based on the R2D landmark result, and it can obtain the continuous localization result in the range of 0.5 m to 6 m through fusing the results of the 2D landmark and NR landmark. Figure 5(b) shows the localization error of each landmark; it can be concluded that the proposed algorithm effectively integrates the results of the two sub-landmarks and realizes continuous and complete localization.Figure 5
Localization results of the NR landmark, 2D landmark, and R2D landmark.
(a)
Localization result
(b)
Localization errorIn addition, an experiment comparing the localization performance of 2D, NR, and R2D landmarks with the same size is proposed, the results of which are given in Table1. In this experiment, the outermost width of each landmark’s contour is taken as its size. It can be seen from Table 1 that the R2D landmark has a larger localization range and higher localization accuracy under the same size.Table 1
Landmark comparison experiment results (landmark size is 0.7 m).
Landmarks
Localization rangem
Localization errorm
2D landmark
1.2–4.5
0.35–1.2
NR landmark
1.5–6.0
0.5–0.6
R2D landmark
0.5–6.0
0.1–0.6


## 6.2. Moving Platform Pose Estimation Experiment

To verify the pose estimation performance of the proposed system (method 1), the following simulation experiments are designed. The Gazebo and ROS simulation software are used to build the experimental environment. The quadrotor hovers at the coordinate point (0,0,3). Meanwhile, the moving platform runs along a circular trajectory centered at (0,3,0) and radius of 3 m at a speed of 1 m/s. In addition, the pose estimation algorithm (method 2) proposed in reference [12] is adopted for comparison, which also utilizes the EKF method but does not consider the encoder measurement bias. The simulation results are given in Figure 6.Figure 6
Estimate results of the moving platform.
(a)
Position estimate result
(b)
Velocity estimate resultFigure6(a) shows the position estimate results of the moving platform. The red line is the ground truth of the moving platform, the green dots are the visual measurement results, the blue dotted line is the estimated result for method 2, and the black dash-dot line is the result for method 1. It can be seen that the result of method 2 has a large deviation since it does not consider the encoder measurement bias. Figure 6(b) shows the velocity estimate results for the moving platform. The red line is the true velocity of the moving platform. The blue dotted line is the estimated result for method 2, which has the obvious deviation. The black solid line is the estimated result for method 1, which obtains a satisfying estimation result.In addition, the position estimate error is shown in Figure7. As seen from this figure, the position estimate error of the proposed algorithm converges rapidly, and the position estimate error of method 2 fluctuates greatly. The maximum position estimate error of method 1 is smaller than 0.25 m, which is much better than the result for method 2. Thus, the proposed algorithm can obtain accurate real-time position estimates of the moving platform.Figure 7
Position estimate error.To simulate wheel-slip of the moving platform, random walk noise is added to the encoders’ measurements. The estimated result of the encoder measurement bias is given in Figure8. In this experiment, the moving platform is blocked and stopped after 13 s, while the wheels are still spinning and causing wheel-slip. In Figure 8, the blue dotted line represents the true encoder data, the black solid line represents the encoder measurements, and the red dotted line represents the estimated bias based on the proposed algorithm. It can be seen that the true encoder data are equal to zero since the moving platform is blocked; however, the encoder measurement is not equal to zero due to the wheel-slip. The estimate encoder measurement biases gradually approach the encoders’ measurement after the wheel-slip occurs, which proves that the proposed algorithm can effectively estimate the encoder measurement bias.Figure 8
Encoder measurement bias estimate result.


## 6.3. Landing Experiments

First, the following experiment is used to verify the IAEC algorithm. Five desired waypoints, [2, 1, 2], [3, 5, 3], [5, 2, 5], [10, 8, 4], and [12, 2, 5], are given in this experiment. In addition, the velocities and accelerations at the start and end points are zero. The proposed IAEC algorithm is also compared with the algorithm using onlyP1t,P2t waypoint constraint (method 1) and the algorithm using the inequality constraint algorithm (method 2) [26]. The result is shown in Figure 9.Figure 9
Trajectory planning experiment.As seen in Figure9, method 2 gives the optimal trajectory planning result, method 1 has obvious knots at waypoints, and the proposed IAEC algorithm achieves a compromise effect between the two. In terms of calculation time, method 1 spent 10.52 ms to complete trajectory planning on ODROID-XU4, while method 2 spent 380.3 ms to complete trajectory planning, and the IAEC algorithm spent 60.35 ms to complete trajectory planning after 6 iterations. Although the IAEC algorithm reduces the passing accuracy by relaxing the waypoint constraints, it effectively solves the trajectory knotting and requires less computation. For the MPL system mentioned in this paper, it only needs to ensure the accuracy of the final landing waypoint P2t.To verify the performance of the proposed R2D-MPL system, several simulation landing experiments are performed, which are compared with the system proposed in reference [12] (method 3). To our knowledge, the system proposed in method 3 is currently the most reliable MPL system using only onboard sensing and computation. The greatest improvements of the proposed R2D-MPL system are the following: (1) the R2D-MPL system accounts for the measurement bias of encoders caused by wheel-slip and imprecise calibration in pose estimation for moving platforms, and (2) the R2D-MPL system also accounts for the trajectory knotting problem caused by dynamic constraints of the MAV. Therefore, the following experiments were carried out under the moving platform with different velocity and motion models; meanwhile, different fixed measurement biases for encoder 1 were added artificially. Define AVT as the average time used for a successful landing, define LR as the average position error of successful landings, and define SR as the landing success rate. The results of 20 experiments under different situations are given in Table 2.Table 2
Landing comparison experiment results (20 experiments).
Motion model
Parameters
Bias
AVT
AVT
LR/SR
LR/SR
(Encoder 1)
(R2D-MPL)
(Method 3)
(R2D-MPL)
(Method 3)
Line
VL=0.25m/s
0.00 m/s
12.4 s
14.2 s
0.18 m/90%
0.25 m/85%
Line
VL=0.50m/s
0.00 m/s
13.2 s
15.7 s
0.21 m/85%
0.27 m/75%
Line
VL=0.50m/s
0.15 m/s
13.6 s
22.4 s
0.22 m/80%
0.38 m/25%
Line
VL=0.50m/s
0.30 m/s
14.1 s
25.1 s
0.25 m/85%
0.40 m/5%
Circle
VC=0.25m/sRC=1m
0.00 m/s
15.7 s
23.2 s
0.21 m/80%
0.42 m/40%
Circle
VC=0.50m/sRC=1m
0.00 m/s
17.4 s
27.4 s
0.24 m/85%
0.41 m/30%
Circle
VC=0.25m/sRC=2m
0.15 m/s
18.1 s
Fail
0.28 m/75%
Fail
Circle
VC=0.25m/sRC=2m
0.30 m/s
19.5 s
Fail
0.32 m/80%
FailAs seen in Table2, both methods 1 and 2 have high landing success rates when the moving platform moves slowly and the measurement bias is small. However, the performance of method 1 is better than that of method 2, especially when encoder 1 has a large measurement bias. Method 1 has an acceptable landing success rate and high landing accuracy based on the accurate modeling; meanwhile, it consumes less flight time based on the efficient and continuous landing trajectory.Furthermore, the actual landing experiments for linear motion and circular motion are tested, and the video of the experiment can be found athttps://www.youtube.com/watch?v=ZljQ1Ng-EIQ. The linear motion velocity VL of the moving platform is 0.25 m/s. The circular motion velocity VC is 0.5 m/s, and the radius RC is 1 m. The parameters of the landing trajectory planning algorithm are given as follows: h1 is 1.8 m, r1 is 1.68 m, h2 is 1.2 m, r2 is 0.7 m, b1 is 0.012, b2 is 0.003, v1 is 0.7 m/s, and β is 0.6. The experimental results are shown as follows.Figure10(a) shows the result for the moving platform in linear motion. In Figure 10(a, 1), the moving platform detects the moving platform for the first time. In Figure 10(a, 2), the quadrotor switches from vision tracking to landing trajectory planning. The landing trajectory planning is performed in Figure 10(a, 3). The quadrotor performs trajectory planning until successfully landing on the moving platform in Figure 10(a, 4). Figure 10(b) shows the 3D landing trajectory of the linear motion experiment, and Figure 11 shows the landing result for the moving platform under the circular motion.Figure 10
Linear motion landing experiment.
(a)
Landing experiment
(b)
3D trajectoryFigure 11
Circular motion landing experiment.
(a)
Landing experiment
(b)
3D trajectory


## 7. Conclusions

In this paper, a MAV composite landmark guidance system capable of autonomously landing on a moving platform using only onboard sensing and computing is presented. This system relied on state-of-the-art computer vision algorithms, detection and motion estimation of the moving platform, and path planning for fully autonomous landing. No external infrastructure, such as motion-capture systems or an ultra-wideband system, is needed. The only prior knowledge about the moving platform is its real-time measurement of the encoders; meanwhile, the unknown measurement biases of encoders are considered in the dynamical model of the moving platform. The proposed system is validated by simulation as well as with real-world experiments using low-cost and lightweight consumer hardware. Finally, the proposed approach achieved a fully autonomous MAV system capable of landing on a moving target with wheel-slip and bias in encoder measurements, using only onboard sensing and computing and without relying on any external infrastructure.



---

*Source: 4723869-2019-05-05.xml*