# Towards Non-Robocentric Dynamic Landing of Quadrotor UAVs

Li-Yu Lo1,2 , Boyang Li3, Chih-Yung Wen1,2, and Ching-Wei Chang4† 1AIRo-LAB,
Department of Aeronautical and Aviation Engineering, The Hong Kong Polytechnic
University, Kowloon, Hong Kong. 2Research Centre for Unmanned Autonomous
System, The Hong Kong Polytechnic University, Kowloon, Hong Kong. 3School of
Engineering, The University of Newcastle, Callaghan, NSW 2308, Australia.
4Hong Kong Center for Construction Robotics, The Hong Kong University of
Science and Technology, New Territories, Hong Kong. E-mails: {patty.lo,
boyang.li, chihyung.wen, ccw} @{connect.polyu.hk, newcastle.edu.au,
polyu.edu.hk, ust.hk} † corresponding author

###### Abstract

In this work, we propose a dynamic landing solution without the need for
onboard exteroceptive sensors and an expensive computation unit, where all
localization and control modules are carried out on the ground in a non-
inertial frame. Our system starts with a relative state estimator of the
aerial robot from the perspective of the landing platform, where the state
tracking of the UAV is done through a set of onboard LED markers and an on-
ground camera; the state is expressed geometrically on manifold, and is
returned by Iterated Extended Kalman filter (IEKF) algorithm. Subsequently, a
motion planning module is developed to guide the landing process, formulating
it as a minimum jerk trajectory by applying the differential flatness
property. Considering visibility and dynamic constraints, the problem is
solved using quadratic programming, and the final motion primitive is
expressed through piecewise polynomials. Through a series of experiments, the
applicability of this approach is validated by successfully landing 18 cm × 18
cm quadrotor on a 43 cm × 43 cm platform, exhibiting performance comparable to
conventional methods. Finally, we provide comprehensive hardware and software
details to the research community for future reference.

###### Index Terms:

Quadrotors, Dynamic Landing, Relative Pose Estimation, Motion Planning.

## Supplementary Material

Supporting video of this paper is available at https://youtu.be/7wiCh46MQmc.
Hardware and software are detailed at: https://github.com/HKPolyU-UAV/alan.git

##  I Introduction

Due to its high versatility and easy deployment, unmanned aerial systems,
especially multirotor UAVs like quadrotors, have garnered significant
attention in academia and industry over the past decade [1, 2]. Safe takeoff
and landing capabilities are crucial for the success of aerial missions,
particularly in scenarios involving frequent releasing and retracting of
drones, as seen in large-scale deployments for tasks such as marine surveying
[3] or drone-assisted parcel delivery [4]. The dynamic performance of landing
tasks is often essential for efficiency despite introducing challenges and
potential threats to mission reliability, making it a topic worthy of
investigation.

However, rather than adopting an on-board approach, we relocate most sensing
and computing modules to the ground. Consequently, the airborne quadrotor is
equipped solely with a low-cost flight controller unit, which we classify as a
“non-robocentric approach” in this study, where the aerial robot has no
independent sensing and decision-making ability. The argument put forth is
that this particular configuration has the potential to significantly reduce
the payload of the UAV and simplify its avionics system, while maintaining a
performance level comparable to that of a traditional autonomous landing
system. Moreover, in cases where a UAV mission does not necessitate the
utilization of computationally intensive perception modules (as exemplified by
[3]), it is posited that the devised system could serve as a more efficient
solution, low power-consuming for retracting UAVs.

Via formulating a non-inertial control problem, the proposed framework relies
on state-of-the-art machine vision algorithms, quadrotor motion planning, and
control, all of which are executed by the sensing and computing modules
situated on the ground. This approach ensures optimal performance while
alleviating the computational burden on the airborne quadrotor. Aligned with
our previous investigation in [5], this research endeavor approaches the
problem with a refined problem formulation and introduces each submodule with
finer details. Contributions are summarized as follows:

  * •

A non-robocentric (offboard sensing and computing) autonomous landing system
is presented, along with its problem formulation.

  * •

A relative state estimation module based on an Iterated Extended Kalman filter
(IEKF) is proposed for aggressive maneuver in the non-inertial control
framework.

  * •

By considering the landing safety corridors and dynamic constraints, a method
to generate touchdown trajectory is designed to ensure the safety and
smoothness of the landing process.

  * •

We integrate all the above-described modules and validate the performance via
experiments. All hardware and software implementation details are released for
future research.

The hardware and software architecture is illustrated in Figure
LABEL:fig:cover, where relations between each submodule are shown. The rest of
this paper is arranged as follows. Section II first mentions some significant
pioneering work. Section III then describes the problem definition and the
overall software architecture. Section IV further illustrates the adopted
method for relative state estimation. In Section V, the motion planning for
landing is elucidated. Then, Section VI will attempt to evaluate the designed
system through practical experiments. Lastly, the conclusion is drawn in VII.

##  II Related Work

In recent years, autonomous landing for unmanned aerial systems has received
significant attention. Simultaneously, the emergence of low-cost computation
components has presented an opportunity for the field of machine vision to
expand. The aforementioned developments have, therefore, led to a vast body of
literature that addresses both static and dynamic landing scenarios. Among
these works, Lee et al. [6] presented an early and prominent study that
employed a conventional visual servoing approach to facilitate the landing of
a quadrotor on a moving platform. Later on, other visual servoing-based
methods for autonomous landing could also be seen in [7, 8, 9, 10]. Adopting
an autonomous navigation framework, Falanga et al. [11] developed a
comprehensive vision system for quadcopters by combining vision odometry [12]
and a trajectory planning module while tracking the relative state of the
landing pad with computer vision markers. With a slight difference in control
approaches, authors in [13] also presented a UAV system that could land on a
real-life ground vehicle through trajectory generation and model predictive
control, where GPS, camera, and rangefinder were used as localization and
sensing modules. A similar configuration could also be seen in [14, 15, 16,
17, 18], where the exploitation of similar vision configuration and control
methods was used to address the landing problem.

Despite the effectiveness of the above work, one could observe that, in many
of the discussed scenarios, other than the final landing, the overall flight
missions do not necessarily require the installation of vision sensors and
high-level embedded computers. For instance, in parcel delivery mentioned in
[18], an accurate GPS receiver and pre-known terrain information would have
sufficed for the mission objectives. From an engineering perspective, although
intriguing and effective outcomes have been achieved, solving the autonomous
landing problem with onboard sensing might not be the optimal solution on some
occasions.

Compared to onboard sensing and computing methods, a relatively limited body
of literature explores ground-based guidance, primarily attributed to its
increased complexity in calculating the corresponding pose. A survey conducted
by [19] further pointed out that despite such a system allowing more
computation resources, the field of view (FoV) is narrower; in addition,
mutual communication between ground and UAV is a mandatory requirement.
Nevertheless, it is asserted that the former could be resolved by designing
the appropriate algorithms while adopting suitable sensors; as for
communication modules, all unmanned vehicles are believed to be equipped with
primary communication modules such as radio frequency receivers.

The study presented in [19] developed a trinocular guidance system designed
explicitly for helicopter landings. The system could acquire accurate 3D
translations of the aircraft by employing reconstruction techniques. Building
upon this concept, researchers in [20] and [21] proposed a pan-tilt stereo
camera unit capable of detecting and tracking UAVs. To enhance robustness in
adverse weather conditions, vision systems that work in the infrared spectrum
were utilized. Despite some promising results retrieved from the above-listed
work, much of the work only dealt with translational data, which is
insufficient to control a multirotor fully in the proposed non-robocentric
framework. Additionally, only the static landing problem is focused.
Contrarily, Ferreira et al. [22] introduced a landing guidance system tailored
for dynamic situations. This system utilized deep learning-based methods to
estimate the relative 6 degrees of freedom (DoF) pose between a fixed-wing UAV
and an aircraft carrier. However, the authors only validated the system
through simulation, thus necessitating further practical experiments to
ascertain its real-life applicability.

Although effective solutions were seen from the above pioneer works, most
literature dealt with the static landing problem. At the same time, a small
portion focused on dynamic cases; physical experiments were still lacking.
Hence, this research aims to demonstrate a complete ground-based landing
guidance system for dynamic cases in which real-life experiments will be
conducted.

##  III Problem Definition

Given a quadrotor with solely an embedded low-cost flight controller and
illuminative markers, the offboard sensing and computing devices in the non-
inertial frame should determine the relative state information while
generating a guidance trajectory to control and land the quadrotor in a non-
robocentric fashion. The described problem could be further expressed as
follows.

We first define the relative states of the quadrotor in a local reference
frame, where the relative state is defined on the manifold $\mathcal{M}$:

$\displaystyle\mathbf{x}$
$\displaystyle=[\mathbf{p},\mathbf{R},\mathbf{v}]^{T}\in\mathcal{M},$
$\displaystyle where\;\;\mathcal{M}$
$\displaystyle=\mathbb{R}^{3}\times\mathbb{SO}(3)\times\mathbb{R}^{3}.$ (1)

In which, $\mathbf{p}$, $\mathbf{R}$, and $\mathbf{v}$ respectively denote the
translation, rotation, and linear velocity in the non-inertial frame, denoted
as $\mathcal{N}$; $\mathcal{M}$ is the Cartesian product of multiple
manifolds. The reason we involve manifold representation is to have easier
calculus handling during filtering or optimization [23]. The state
$\mathbf{x}$ should be subscripted with $k$ to denote the estimation at time
step $k$, i.e., $\mathbf{x}_{k}$. From eqn. (III) and figure 1, $\mathbf{p}$
and $\mathbf{R}$ also form $\mathbf{T_{\mathcal{B}}^{\mathcal{N}}}$ belonging
to $\mathbb{SE}(3)$, a transformation matrix from the UAV body frame
$\mathcal{B}$ to the local non-inertial frame $\mathcal{N}$. We can further
derive the UAV pose in the inertial frame $\mathcal{I}$ with UGV poses:

$\displaystyle\mathbf{T_{\mathcal{B}}^{\mathcal{N}}}=\mathbf{T_{\mathcal{I}}^{\mathcal{N}}}\mathbf{T_{\mathcal{B}}^{\mathcal{I}}}.$
(2)

Meanwhile, we let $\boldsymbol{\sigma}(t)$, parameterized by $t$, be the
desired landing trajectory for the quadrotor to track.
$\boldsymbol{\sigma}(t)$ comprises translational variable $\mathbf{r}(t)$ and
its derivatives, as well as rotational variable $\theta(t)$.

$\displaystyle\boldsymbol{\sigma}(t)=(\mathbf{r}(t),\dot{\mathbf{r}(t)},\ddot{\mathbf{r}(t)},\theta(t)),\forall
t\in[T_{0},T].$ (3)

$T_{0}$ and $T$ in eqn. (3) denotes the starting and terminating time landing
trajectory. $\boldsymbol{\sigma(t)}$ should also be subject to constraints for
kinematic and dynamic feasibility,

$\displaystyle\Lambda_{i}\boldsymbol{\sigma}(t)\leq\boldsymbol{\beta}_{i},\forall
i\in[1,2,...N].$ (4)

In eqn. (4), $\Lambda_{i}$ is the affine mapping matrix from
$\boldsymbol{\sigma}(t)$ to constraints $\boldsymbol{\beta}_{i}$, where $i$
stands for the number of constraints. The rest of the paper addresses the
problem of finding $\mathbf{x}_{k}$ for $k\in[T^{-},T]$, $T^{-}<T_{0}$, while
generating a constrained $\boldsymbol{\sigma}(t)$ as defined in eqn. (3) and
eqn. (4) over $[T_{0},T]$. All variables and constraints here are defined in
$\mathcal{N}$. The proposed system then adopts the classic closed-loop control
structure, where the plant receives inputs based on reference (eqn. (3)) and
estimation feedback (eqn. (2)).

##  IV Relative State Estimation

The non-robocentric landing system starts with a robust relative state
estimation to get $\mathbf{x}_{k}$. Herein, a set of airborne LED markers (as
shown in figure LABEL:fig:cover) is attached to the quadrotor while the on-
ground camera measures the relative state accordingly. The proposed module is
inspired by other vision-based relative pose estimation methods [24] [25], but
with improvements in terms of robustness for highly dynamic systems such as
dynamic landing in this case.

Figure 1: Transformation among inertial frame $\mathcal{N}$, non-inertial
local target frame $\mathcal{N}$, and quadrotor body frame $\mathcal{B}$.

###  IV-A Marker Detection

The detection features, i.e., the markers, are attached directly to the
quadrotor UAV, where we set $p$ as the number of markers and denote markers
translation in quadrotor body frame ($\mathcal{B}$) as
$\mathcal{F}=\\{f_{1},f_{2},...f_{p}\\}$. On the other hand, a set of
detection candidates on 2D image, denoted as
$\mathcal{C}=\\{c_{1},c_{2},...c_{q}\\}$, is retrieved. As we will be using
the perspective-n-point (PnP) algorithm, $p,q$ should be at least 4, and the
correspondence pairs $\langle f_{i},c_{j}\rangle$ should be determined.

When each 2D image is received, we conduct the detection of $\mathcal{F}$
using conventional image processing methods. In this implementation, as we are
using visible LED probe lights, the first objective would be extracting the
target light blobs within a noisy image. First, with depth masking $\tau_{dp}$
and gray scaling $\tau_{gy}$, a thresholding function suppresses the unwanted
pixels to zero:

$\displaystyle\boldsymbol{\rho}^{\prime}(u,v)=\left\\{\begin{array}[]{l}\boldsymbol{\rho}(u,v),\;\;if\;\;\boldsymbol{\rho}(u,v)_{dp}<\tau_{dp}\land\boldsymbol{\rho}(u,v)_{gy}>\tau_{gy}\\\
0,\;\;otherwise\end{array}\right.$ (7)

$\tau_{dp}$ is the effective landing distance, whereas $\tau_{gy}$ depends on
the camera’s shutter speed. Consequently, the return image is smoothed with
Gaussian smoothing, whereas blobs are afterward returned by blobs detection.
The 2D coordinates of extracted blobs are then inserted into candidate set
$\mathcal{C}$.

###  IV-B Initialization

With $\mathcal{F}$ and $\mathcal{C}$, the correspondences could then be
searched. Nevertheless, at $k=0$, without any prior information, one can only
get the matching relation via a brute-force method. Furthermore, to ensure no
outlier detection at start, a stringent initialization condition is set, where
we utilize the LED constellation configuration $\mathcal{F}$, the retrieved
candidates $\mathcal{C}$, and depth information.

To reject outliers at initialization, the raw 3D information of $\mathcal{C}$
in the camera frame is first acquired with depth information ($s$) and the
intrinsic model ($\mathbf{K}$) of the camera:

$\displaystyle\boldsymbol{\zeta}_{i}=\mathbf{K}^{-1}s_{i}*[u_{i},v_{i},1]^{T},\forall\langle
u_{i},v_{i}\rangle\in\mathcal{C}$ (8)

All $\boldsymbol{\zeta}_{i}$ then forms set $\mathcal{PCD}$. Successively, we
compare the mean average deviation (MAD) of $\mathcal{F}$ and $\mathcal{PCD}$,

$\displaystyle\Delta_{\text{MAD}}=\text{MAD}(\mathcal{F})-\text{MAD}(\mathcal{PCD}).$
(9)

If $\Delta_{\text{MAD}}$ is below threshold $\lambda_{\text{MAD}}$, the
program continues to the next step. Otherwise, it declines initialization.
Additionally, to proceed with initialization, $q=|\mathcal{C}|$ should be
equal to the size of $p=|\mathcal{F}|$.

Thereupon, a brute-force search method is used, where raw poses of each
correspondence permutation are calculated; the correspondence with the lowest
reprojection error is then selected. We first form permutations of
$\mathcal{C}$, which is denoted as $\mathcal{Y}$. Meanwhile, as visible LED
lights are utilized, additional information from the HSV (hue, saturation, and
value) space can reduce the search size. Then, for each permutation
($\mathcal{Y}_{j}$), a pose $\mathbf{x}_{j}$ is solved with the PnP algorithm
proposed by [26]. The reprojection error ($\varepsilon_{\mathcal{Y}_{j}}$) is
then calculated with:

$\displaystyle\varepsilon_{\mathcal{Y}_{j}}=\sum_{i=1}^{p}{\|\mathbf{K}\mathbf{T}(\mathbf{x}_{j})\mathcal{F}_{i}-\mathcal{C}_{i}\|_{\scriptstyle
2}}^{2}.$ (10)

$\mathbf{K}$ is, again, the intrinsic model of the camera. $\mathbf{T}(\cdot)$
is a mapping function that maps $\mathbf{x}$ to $\mathbb{SE}(3)$. The order of
$\mathcal{C}_{i}$ depends on $\mathcal{Y}_{j}$.
$\varepsilon_{\mathcal{Y}_{j}}$ with the minimum value implies the correct
correspondence pair $\mathcal{P}$, which is the final return of the
initialization module. Algorithm 1 summarizes the initialization process.

1

2

3

4

5 Function  _Init(_$\mathcal{F}$ , $\mathcal{C}$, hsvimg_)_:

6 if  _sizeof(_F_) $\neq$ sizeof(_C_)_ then

7 $\mathcal{P}$ = null

8 return $\langle\textnormal{{false}},\mathcal{P}\rangle$

9 end if

10

11 $\mathcal{PCD}\leftarrow$ getPCD(_$\mathcal{C}$_)

12 $\Delta_{\mathbf{MAD}}\leftarrow$ getMAD(_$\mathcal{F}$_) \-
getMAD(_$\mathcal{MAD}$_)

13 if  _$\Delta_{\mathbf{MAD}} >\lambda_{\mathbf{MAD}}$_ then

14 $\mathcal{P}$ = null

15 return $\langle\textnormal{{false}},\mathcal{P}\rangle$

16

17 end if

18

19 $\mathcal{Y}\leftarrow$ GenPermute(_$\mathcal{C}$_)

20 $\varepsilon^{\prime}\leftarrow\inf$

21

22 for  _$\mathcal{Y}_{j}$ in $\mathcal{Y}$ _ do

23 $\mathbf{hsv}_{c}\leftarrow$ HSV(_$\mathcal{Y}_{j}$ , hsvimg_)

24 if  _isNeighborHue(_ $\mathbf{hsv}_{f}$, $\mathbf{hsv}_{c}$ _) _ then

25 $\mathbf{x}_{j}\leftarrow$ EPnP(_$\mathcal{F}$ , $\mathcal{Y}_{j}$_)

26

27 $\varepsilon_{\mathcal{Y}_{j}}\leftarrow$ getReprojError(_
$\mathbf{x}_{m}$, $\mathcal{F}$, $\mathcal{Y}_{j}$ _)

28

29 if  _$\varepsilon_{\mathcal{Y}_{j}} <\varepsilon^{\prime}$_ then

30 $\mathcal{P}\leftarrow\langle\mathcal{F},\mathcal{Y}_{j}\rangle$

31 $\varepsilon^{\prime}\leftarrow\varepsilon_{\mathcal{Y}_{j}}$

32 end if

33

34 else

35 continue

36

37 end if

38

39 end for

40

41 return $\langle\textnormal{{true}},\mathcal{P}\rangle$

42

43 end

Algorithm 1 Initialization

###  IV-C Correspondence Tracking

After initialization, to preserve stable PnP measurement, the successive
correspondences at $t>0$ should be retrieved correctly. At each time step $k$
($k\neq$0), based on the estimated pose of $\mathbf{x}_{k-1}$ at time $k-1$,
we reproject the points in $\mathcal{F}$ onto the image frame, which are
denoted as $\mathcal{F}_{2\text{D}}$. Based on the maximum/minimum 2D values
of $\mathcal{F}_{2\mathbf{D}}$, a bounding box $\mathbf{ROI}$ is generated.
With the image filtered by $\mathbf{ROI}$ mask and depth information
$\mathbf{s}_{k}$, we repeat eqn. (7) to generate $\mathcal{C}_{k}$.

As $\mathcal{F}_{2\mathbf{D}}$ is directly generated from $\mathcal{F}$,
correspondence can be directly retrieved by conducting nearest neighbor with
$\mathcal{F}_{2\mathbf{D}}$ and $\mathcal{C}_{k}$. Nevertheless, in the
proposed system, as aggressive maneuvers can occur during landing, the
displacement of LED blobs on a 2D images could be large. Therefore, performing
the nearest neighbor search directly with $\mathcal{F}_{2\text{D}}$ derived
from pose from $k-1$ could lead to wrong results. In [24], a linear velocity
model is used to predict the coordinates of new 2D blobs. However, such a
method might not be stable during large acceleration or when the cluster of
blobs is rather small on the image frame due to the relatively large distance
between the camera and the quadrotor. Hence, a trivial but efficient
modification is applied, in which $\mathcal{F}_{2\text{D}}$ is shifted by the
center difference of $\mathcal{F}_{2\text{D}}$ and $\mathcal{C}_{k}$. We
denote the shifted blob coordinates as
$\mathcal{F}_{2\text{D}}^{{}^{\prime}}$. The nearest neighbor search is then
conducted based on $\mathcal{F}_{2\text{D}}^{{}^{\prime}}$ and
$\mathcal{C}_{k}$; the $\mathcal{P}$, along with the detected candidates
$\mathcal{C}_{k}$, is then the final measurement output of correspondence
tracking.

###  IV-D Recursive Filtering - Predict

A recursive filtering method is proposed to track the estimation of the
relative states, where an Iterated Extended Kalman filter (IEKF) is adopted.
As the state is expressed on manifold, as shown in eqn. (III), we involve Lie
algebra to perform exponential and logarithm mapping when deriving derivatives
and integrals.

The non-linear prediction model harnessed here can be first written as:

$\displaystyle\dot{\mathbf{p}}$ $\displaystyle=\mathbf{v}$
$\displaystyle\dot{\mathbf{R}}$
$\displaystyle=\mathbf{R}{\boldsymbol{\xi}_{1}}_{\times}$
$\displaystyle\dot{\mathbf{v}}$
$\displaystyle=\mathbf{R}(-\mathbf{g}+\boldsymbol{\xi}_{2})+\mathbf{g}.$ (11)

From the above equations, $\mathbf{g}$ is $[0,0,-9.81]^{T}\in\mathbb{R}^{3}$.
As neither IMU data nor control input are used during estimation, the model is
simplified and premised with assumptions. In which, inspired by [27], we omit
the angular acceleration term, and model the angular velocity as Gaussian
noises, $\boldsymbol{\xi}_{1}\in\mathbb{R}^{3}$. Additionally, the
acceleration induced by control input is approximated as
$-\mathbf{g}+\boldsymbol{\xi}_{2}$, which is assumed to be close to hover
thrust. $\boldsymbol{\xi}_{2}$ is set to be $[0,0,\xi_{z}]\in\mathbb{R}^{3}$
with $\xi_{z}$ also being Gaussian noise. Also note that the term
$-\mathbf{g}+\boldsymbol{\xi}_{2}$ is defined in the body frame. Therefore,
the prediction stage is given as the following:

$\displaystyle{\mathbf{x}}_{k}^{-}$
$\displaystyle=\mathbf{x}_{k-1}\boxplus\delta t\delta\mathbf{x},$
$\displaystyle where\;\;\delta\mathbf{x}$
$\displaystyle=f(\mathbf{x}_{k-1},\mathbf{w}).$ (12)
$\displaystyle\mathbf{P}^{-}_{k}$
$\displaystyle=\mathbf{F_{k}P_{k-1}F_{k}}^{T}+\mathbf{Q},$ $\displaystyle
where\;\;\mathbf{F}_{k}$ $\displaystyle=\frac{\partial
f}{\partial\mathbf{x}}\Bigr{|}_{\mathbf{x}=\mathbf{x}_{k-1}}.$ (13)

The nonlinear function defined in eqn. (IV-D) is based on eqn. (IV-D), and
eqn. (IV-D) is constructed assuming a constant-velocity motion model. Note
that $\boxplus$ operation is defined as

$\displaystyle\mathbf{A}\boxplus\Delta=\mathbf{A}\mathbf{Exp}(\Delta),\mathbf{A}\in\mathcal{M},\Delta\in\mathbb{R}^{9},$
(14)

where $\mathbf{Exp}(\cdot)$ is the exponential mapping that maps the Lie
algebra of $\mathcal{M}$, i.e.,
$\mathfrak{m}=\mathfrak{r}\oplus\mathfrak{so}(3)\oplus\mathfrak{r}$, to
$\mathcal{M}$ (defined in eqn. (III)). Hence, $\Delta$ is defined within the
tangent space ($\mathbb{R}^{9}$) of the Lie group. Furthermore, in eqn.
(IV-D), the covariance matrix $\mathbf{P}^{-}_{k}$ is defined as the local
perturbations around $\mathbf{x}_{k}\in\mathcal{M}$, whereas the
$\mathbf{F}_{k}$ is the derived Jacobian matrix on the Lie group for
covariance propagation.

###  IV-E Recursive Filtering - Update

The main difference between EKF and IEKF is how the filter updates the state
based on priori and measurement, whereas the latter iteratively performs
linearization and updates accordingly. Here, we linearize the pin-hole camera
model. The main motivation for using IEKF is to alleviate the linearization
errors induced in conventional EKF, determining the state as a maximum a
posteriori (MAP) estimate. Particularly, we follow the method of [28], in
which the posteriori state is returned by performing Gauss-Newton
optimization.

During the update stage, in addition to the measurement for pose inference
(sec. IV-C), we also retrieve velocity measurement based on a constant-
velocity model by setting $\mathbf{v_{z}}_{k}$ as
$(\mathbf{p}_{k-1}-\mathbf{p}_{k-2})/\delta t_{k}$. Nevertheless, as it is
derived directly from numerical differentiation, the returned signal is
intermingled with high-frequency noise; therefore, we preprocess it with a
low-pass IIR filter:

$\displaystyle\mathbf{v_{z}}_{k}\leftarrow\alpha*\mathbf{v_{z}}_{k}+(1-\alpha)*\mathbf{v_{z}}_{k-1},$
(15)

where $\alpha\in[0,1]$. Subsequently, the update step could be then summarized
as below in eqn. (16). Note that time step $k$ is abbreviated here for
readability.

$\displaystyle\mathbf{x}_{k}$
$\displaystyle=\arg\min_{\mathbf{x}}\\{r_{\mathcal{D}}(\mathbf{x},{\mathbf{x}}^{-},\mathbf{P}^{-})+r_{\mathcal{V}}(\mathbf{x},\mathcal{C},\mathbf{v_{z}},\mathbf{R})\\}$
(16) $\displaystyle r_{\mathcal{D}}(\cdot)$
$\displaystyle=\|\mathbf{x}\boxminus\mathbf{x}^{-}\|^{2}_{\mathbf{P}^{-}}$
(17) $\displaystyle r_{\mathcal{V}}(\cdot)$
$\displaystyle=\|\mathbf{V}(\mathbf{x})-\mathbf{v}\|^{2}_{\mathbf{R}_{v}}+\sum_{i=0}^{q}\|\mathbf{K}\mathbf{T}(\mathbf{x})\mathcal{F}_{i}-\mathcal{C}_{i}\|^{2}_{\mathbf{R}_{p}}.$
(18)

The non-linear least squared function consists of two residual functions,
$r_{\mathcal{D}}$ and $r_{\mathcal{V}}$, which are respectively dynamic factor
and visual factor for the single-time MAP problem. Moreover, $\mathbf{P}^{-}$
is the priori covariance matrix, and $\mathbf{R}$ is the measurement noise
matrix. As for $\mathbf{V}(\cdot)$, it is the mapping function that maps
$\mathbf{x}$ to $\mathbb{R}^{3}$, which is the velocity vector space. As
mentioned, optimal $\mathbf{x}_{k}$ is solved via Gauss-Newton optimization.
Also note that $\boxminus$ operation is defined as:

$\displaystyle\mathbf{A}\boxminus\mathbf{B}=\mathbf{Log}(\mathbf{B}^{-1}\circ\mathbf{A})=\Delta,\mathbf{A},\mathbf{B}\in\mathcal{M},\Delta\in\mathbb{R}^{9},$
(19)

where the $\mathbf{Log}(\cdot)$ is the logarithm mapping, inverse mapping of
$\mathbf{Exp}(\cdot)$. As for $\circ$, it is the group composition operation
within the Lie group.

Afterwards, we also propagate the covariance information after all iterations
by calculating the Kalman gain based on the final $\mathbf{x}_{k}$:

$\displaystyle\mathbf{H}_{k}$ $\displaystyle=\frac{\partial
h}{\partial\mathbf{x}}\Bigr{|}_{\mathbf{x}={\mathbf{x}}_{k}},$
$\displaystyle\mathbf{S}_{k}$
$\displaystyle=\mathbf{H}_{k}\mathbf{P}^{-}_{k}\mathbf{H}^{T}_{k}+\mathbf{R},$
$\displaystyle\mathbf{K}_{k}$
$\displaystyle=\mathbf{P}^{-}_{k}\mathbf{H}^{T}_{k}\mathbf{S}^{-1}_{k},$
$\displaystyle\mathbf{P}_{k}$
$\displaystyle=(\mathbf{I}-\mathbf{K}_{k}\mathbf{H}_{k})\mathbf{P}_{k}^{-}(\mathbf{I}-\mathbf{K}_{k}\mathbf{H}_{k})^{T}+\mathbf{K}_{k}\mathbf{R}\mathbf{K}_{k}^{T}.$
(20)

Note that for final covariance propagation, we adopt the Joseph formulation
[29] for numerical stability so that matrix symmetry can be ensured. The final
retrieved state $\mathbf{x}_{k}$ is then forwarded as estimation feedback for
motion planning.

##  V Landing Motion Planning

This section elucidates the motion planning module. To begin with, we program
the motion primitive in a relative fashion, meaning that the generated
trajectories are coupled with the relative states and relative constraints of
the quadrotor with respect to the local frame ($\mathcal{N}$) of the dynamic
platform. Furthermore, to ensure the quadrotor stays within the FoV at all
times, the trajectory generator takes visibility-safety into consideration and
imposes kinematic constraints accordingly during the optimization stage.
Additionally, the Bézier basis is harnessed to guarantee the aforementioned
constraints, while time allocation for the trajectory is further discussed to
improve the optimality of the result.

###  V-A Motion Planning in Relative Local Frame

The motion planner resonates extensively with classic trajectory optimization
methods [30], where the property of differential flatness is exploited. A
system’s dynamic is considered differential flat when the state and the inputs
could be derived from a set of _flat outputs_ and their derivatives. Like many
trajectory generation literatures, we utilized the Cartesian translation
vector and yaw, i.e.,
$\sigma_{\mathcal{N}}=[\mathbf{x},\mathbf{y},\mathbf{z},\psi]^{T}$, as flat
outputs. Therefore, equation eqn. (3) is reformulated with flat outputs and
with subscript $\mathcal{N}$:

$\displaystyle\boldsymbol{\sigma}_{\mathcal{N}}(t)=(x_{\mathcal{N}}(t),y_{\mathcal{N}}(t),z_{\mathcal{N}}(t),\psi_{\mathcal{N}}(t)),\forall
t\in[T_{0},T].$ (21)

As the trajectory is generated within the local frame, to ensure dynamic
feasibility, $\boldsymbol{\sigma}_{\mathcal{N}}(t)$ in eqn. (21) should be
confined accordingly where the constraints are expressed locally in
$\mathcal{N}$. Therefore, dynamic constraints
$\boldsymbol{\beta}_{D}\in\mathbb{R}^{6}$, which comprises velocity and
acceleration at time $t$ during optimization, could be retrieved by,

$\displaystyle^{\mathcal{N}}\boldsymbol{\beta}_{D}(t)$
$\displaystyle=[{\mathbf{R}^{\mathcal{N}}_{\mathcal{I}}}(t)\oplus{\mathbf{R}^{\mathcal{N}}_{\mathcal{I}}}(t)][^{\mathcal{I}}\boldsymbol{\beta}_{D}-^{\mathcal{I}}\boldsymbol{\beta}_{N}(t)],$
$\displaystyle where\;\;\mathbf{R}^{\mathcal{N}}_{\mathcal{I}}$
$\displaystyle\in\mathbb{SO}(3),$
${}^{\circledcirc}\boldsymbol{\beta}_{\circledcirc}$
$\displaystyle\in\mathbb{R}^{6}.$ (22)

$\mathbf{R}^{\mathcal{N}}_{\mathcal{I}}$ rotates translational vectors defined
in inertial frame $\mathcal{I}$ to non-inertial target frame $\mathcal{N}$; in
this case, we apply the direct sum of two identical rotation matrices to
rotate the dynamic vector
${}^{\circledcirc}\boldsymbol{\beta}_{\circledcirc}$.
${}^{\mathcal{I}}\boldsymbol{\beta}_{D}$ is the dynamic constraints of the
quadrotor defined in $\mathcal{I}$, whereas
${}^{\mathcal{I}}\boldsymbol{\beta}_{N}$ is the velocity and acceleration of
the target frame, i.e., the moving platform defined in $\mathcal{I}$. By
setting the premise of motion planning in the local frame, we further detail
the trajectory generation optimization problem.

###  V-B Visibility-Safety Corridor Generation

In the proposed system, to ensure visibility, it is crucial to constrain the
quadrotor within the limited FoV of the camera at all times during the landing
stage. To achieve this, we utilize convex polyhedra to construct the safe
flight corridor denoted as the visual safe flight corridor (VSFC). Note that
VSFC is also expressed in local frame $\mathcal{N}$.

  1. 1.

Upon initialization of the recursive filter tracker (sec. 3), a landing cubic
free space ($\mathcal{S}$) is generated based on the initial state
($\mathbf{x}_{0}$) and terminate state ($\mathbf{x}_{T}$), where
$\mathbf{x}_{T_{0}},\mathbf{x}_{T}\in\mathcal{S}$. $\mathcal{S}$ also excludes
occupancies $\mathcal{O}$, which constitutes the moving landing platform and
the surroundings, and hence,
$\mathcal{S}\leftarrow\mathcal{S}\setminus\mathcal{O}$.

  2. 2.

VSFC generator first segment $\mathcal{S}$ into two: _rear_ space
($\mathcal{S}_{R}$) and _touchdown_ space ($\mathcal{S}_{T}$). Specifically,
we confine $\mathcal{S}_{T}$ with a touch down height ($h_{T}$) and exclude
the space above $h_{T}$. This is to reduce ground-effect at touchdown, where
$\mathcal{S}_{T}$ is deflated to make the trajectory have less vertical
maneuver. $\mathcal{S}_{R}$ and $\mathcal{S}_{T}$ are then enlarged with
dilate coefficient $\epsilon_{d}$ to guarantee the continuity of the entire
landing space so that $\mathcal{S}_{R}\cap\mathcal{S}_{T}\neq\emptyset$.

  3. 3.

We then utilize the FoV information of the camera, i.e.,
$\theta_{w}\times\theta_{h}$, along with sensor translation and rotation in
local frame to construct tangent hyperplanes; each hyperplane induces a
halfspace, the set of halfspaces is then expressed as:

$\displaystyle\mathcal{S}_{C}=\\{\mathbf{s}|\mathbf{a}^{T}_{i}\boldsymbol{\sigma}\leq\mathbf{b}_{i},\forall
i=0,1,2...,l\\}.$ (23)

  4. 4.

Therefore, the final VSFC could be expressed as convex polyhedra,

$\displaystyle\mathcal{S}_{L}=\\{\mathcal{S}_{L_{i}}|\mathcal{S}_{L_{i}}=\mathcal{S}_{i}\cap\mathcal{S}_{C},i=R,T\\}.$
(24)

From eqn. (24), convexity is preserved as each polyhedron is the intersection
of convex halfspaces. $i$ denotes the two consecutive landing polyhedra,
namely, _rear_ and _touchdown_. Lastly, to guarantee safety, the robot is
modeled as a sphere with radius $r_{q}$; we then shrink $\mathcal{S}_{L}$ with
$\epsilon_{s}$, $\mathcal{S}_{L}\leftarrow\epsilon_{s}\mathcal{S}_{L}$. Figure
2 exemplifies the defined VSFC.

Figure 2: A graphic presentation of the proposed VSFC $\mathcal{S}_{L}$, which
consists two subsets, rear space $\mathcal{S}_{L_{R}}$ and touchdown space
$\mathcal{S}_{L_{T}}$. Visualization package developed by [31] is used here.

###  V-C Trajectory Generation based on Bézier Basis

A smooth trajectory is then planned as piecewise polynomials, in which flat
outputs defined in eqn. (21) are utilized and parameterized with $t$.
Concurrently, the generated trajectory should be subject to constraints
defined in sections V-A and V-B.

A common polynomial expressed with monomial bases is usually structured as

$\displaystyle\mathbf{p}(t)=\sum_{i=0}^{n}\mathbf{p}_{i}t^{i},$ (25)

which is an $n$-th order polynomial. In the proposed system, we modify the
conventional polynomial to Bézier curve, a polynomial represented by Bernstein
polynomials bases. The main motivation for such reformulation is to ensure the
motion primitives stay within the dynamic and kinematic feasible region; this
method has been validated by [32]. First, the original polynomial is recast
as,

$\displaystyle\mathbf{p}_{\mathbb{B}}(t)=\sum_{i=0}^{n}\mathbf{c}^{i}b^{i}_{n}(t),$
$\displaystyle where\;\;$ $\displaystyle b^{i}_{n}(t)={n\choose
i}t^{i}(1-t)^{n-i},$ (26)

in which the $n$-degree curve is defined by Bernstein basis $b^{i}_{n}(t)$
along with a series of control points $\mathbf{c}^{i}$. Through utilizing
control points, Bézier curve yields two useful properties to allow
trajectories to comply with some hard constraints [33]:

  1. 1.

_Convex Hull_ Property. Based on the control points $\mathbf{c}^{i}$, the
generated trajectory $\mathbf{p}_{\mathbb{B}}(t)$ is confined within the
convex hull constructed by $\mathbf{c}^{i}$’s. Therefore, by restricting the
feasible region of control points based on VSFC eqn. (24), the kinematic
feasibility could be ensured.

  2. 2.

_Hodograph_ Property. With the hodograph property, the derivatives of the
Bézier curve is also a Bézier curve, which could be expressed in terms of
another set of $\mathbf{c}^{i^{\prime}}$, which can formulate another Bézier
curve defined in eqn. (V-C). Therefore, by utilizing this characteristic, the
dynamic feasibility is guaranteed, where they are confined by eqn. (V-A).

Meanwhile, to generate an optimal trajectory, we minimize the integral of the
squared $3^{rd}$-derivative (i.e., the jerk) of the trajectory with respect to
the weights, i.e., control points $\mathbf{c}^{i}$, of the trajectory. The
objective cost function is shown below first:

$\displaystyle\mathbf{J}=\int_{T_{0}}^{T}\left\|\frac{d^{3}\mathbf{p}_{\mathbb{B}}(t)}{dt^{3}}\right\|^{2}\;dt.$
(27)

We then re-write the objective in terms of optimization
variables($\mathbf{c}$), mapping ($\mathbf{M}$), and differential matrices
($\mathbf{Q}$).

$\displaystyle\mathbf{J}=\int_{T_{0}}^{T}\left\|\frac{d^{3}\mathbf{p}_{\mathbb{B}}(t)}{dt^{3}}\right\|^{2}\;dt=\mathbf{c}^{T}\mathbf{M}^{T}\mathbf{Q}\mathbf{M}\mathbf{c}$
(28)

As mentioned, we also want the trajectory to comply with feasibilities, and
hence, the optimization problem is subject to affine constraints, as stated in
eqn. (V-A) and eqn. (24), along with equality constraints induced by starting
and terminating state, and continuity between each polynomial. The final
optimization problem is hence formulated as follows:

$\displaystyle\underset{\mathbf{c}\in\mathbb{R}^{3}}{\text{minimize}}$
$\displaystyle\;\;\mathbf{c}^{T}\mathbf{M}^{T}\mathbf{Q}\mathbf{M}\mathbf{c}$
subject to $\displaystyle\Lambda_{eq}\mathbf{c}$
$\displaystyle=\boldsymbol{\beta}_{eq}$ $\displaystyle\Lambda_{D}\mathbf{c}$
$\displaystyle\preceq\boldsymbol{\beta}_{D}$
$\displaystyle\Lambda_{S}\mathbf{c}$
$\displaystyle\preceq\boldsymbol{\beta}_{S},$ (29)

in which $\Lambda_{eq}$ denotes the affine relation matrix between control
points $\mathbf{c}$ and equality constraints, while $\Lambda_{D}$ and
$\Lambda_{S}$ map $\mathbf{c}$ to inequality constraints of eqn. (V-A) and
eqn. (24). From eqn. (V-C), one could easily identify it as a convex problem,
as it has a convex objective function and convex constraints. Furthermore, it
is also a quadratic programming (QP) problem, which can be easily solved by
off-the-shelf QP solvers.

###  V-D On Time Allocation

From eqn. (V-C), it is seen that the derivative matrix $\mathbf{Q}$ is
temporally dependent, meaning that $\mathbf{Q}$ changes with different time
inputs. Therefore, this implies that with different time allocations, the
objective of the optimization problem would differ, leading to suboptimal
results. To achieve better results, we sample a sequence of time allocations
and evaluate each cost accordingly within the set. Below is the proposed
strategy step by step:

_(1) Sample on start_. Once the guidance planner is initialized, a time
allocation $\mathcal{T}$ set is constructed, in which each element is sampled
within the region of minimum and maximum time calculated based on the velocity
in dynamic constraints, namely the best and worst case scenarios.

_(2) Constraints tightening_. From eqn. (V-C) and eqn. (V-A), it could be
readily identified that solving the trajectory online is a perturbed problem
[34, p. 249]. Therefore, it is natural to tighten the constraints when
optimizing throughout the set so a feasible solution exists during online
optimization. Consequently, for eqn. (V-A) during sampling stage, minimum
$\boldsymbol{\beta}_{\mathcal{N}}$ and maximum
$\boldsymbol{\beta}_{\mathcal{P}}$ are selected to retrieve the most
conservative dynamic constraints.

_(3) Optimization throughout the set_. Each sample time is then visited, and
its respective optimization is set up and solved. The problem with the lowest
returned cost will yield the best trajectory segment times. The planner solver
will then take the optimal time allocation to formulate the objective
function.

_(4) Online solving_. As mentioned, the returned time allocation will serve as
the optimal segment times. At the landing stage, the planner will use this to
construct the $\mathbf{Q}$ matrix accordingly and solve the objective as shown
in eqn. (V-C).

###  V-E Feedback Control

Lastly, a trajectory parameterized with time $t$ is solved during the landing
stage. Based on the polynomial, a series of setpoints could be calculated;
with each setpoint at time step $t_{k}$ and state $\mathbf{x}_{k}$, a
Propotional-Integral-Derivative (PID) controller will then infer the
corresponding outer-loop control command. The onboard attitude controller will
then track the control signal, which is transmitted to the quadrotor from the
ground.

##  VI Experimental Results and Discussion

###  VI-A Experiment Setup

Experiments presented in this section are done in a controlled environment
installed with motion capture system (VICON); the overall landing mission is
guided with a pre-defined state machine, as shown in Figure 3. Figure 4, on
the other hand, depicts the experimental setup.

Figure 3: The predefined finite state machine. Figure 4: Experimental setup
for the proposed system.

In the proposed work, we validate the design with a minimalistic setup.
Specifically, for the quadrotor, we tailor-cut a carbon fiber quadrotor frame
with a dimension of 18 cm × 18 cm and installed a Pixracer controller hardware
and a WIFI-equipped MCU module on it. The controller hardware, with PX4
111https://px4.io/ firmware embedded, provides inner-loop control, whereas the
WIFI module is used to receive control signals from the ground. In addition to
above, we install LED markers at the front of the quadrotor for the pose
estimation module, which is mounted with a configuration that avoids symmetry
and co-planarity so that degenerated measurement can be prevented.

Meanwhile, for on-ground modules, AgileX Scout Mini
222https://global.agilex.ai/products/scout-mini is opted for the main
platform, on which we place the landing pad (43 cm × 43 cm), depth camera
(Intel RealSense D455), and a minicomputer (Intel NUC8i7BEH). We fixate the
camera with an upward-facing $20^{\circ}$; it has a FoV of $87^{\circ}\times
58^{\circ}$.

On the ground computer, several threads are run parallelly, where the
following modules are executed: (1) pose estimation, (2) trajectory planner,
(3) quadrotor outer-loop controller, and (4) ground vehicle path planner and
controller. Furthermore, all packages are programmed in C++/Python within the
framework of ROS. As for quadratic programming solving during motion
generation, we use OSQP [35], which can provide efficient solutions within
milliseconds and an easy interfacing module for integration.

###  VI-B Relative State Estimation

(a)

(b)

(c)

(d)

Figure 5: Relative state estimation. (a) Quadrotor moving in a block path in
front of the camera. (b) Random maneuver in front of the camera. (c) Camera
moving in block path, while quadrotor follows. (d) Camera moving in block
path, while quadrotor flies in block path defined in the non-inertial frame
$\mathcal{N}$.

The relative state estimation is assessed by the following: (1) direct
evaluation with ground truth data when the camera is still, (2) direct
evaluation with ground truth data when the camera is in motion, and (3)
comparison with other relative state estimation methods. Note that the ground
truth data ($\bar{\mathbf{x}}$) is collected from VICON, and we calculate the
absolute trajectory error (ATE) as the evaluation metric:

$\displaystyle
e_{ATE}=\frac{1}{N}\sum_{i=1}^{N}\sqrt{\frac{1}{K}\sum_{k=1}^{K}\|\mathbf{x}_{k,i}\boxminus\bar{\mathbf{x}}_{k,i}\|^{2}_{2}}.$
(30)

We also calculate the tracking success rate, where we deem a tracking frame
successful based on its reprojection error.

(1) Camera at still: Figures 5a and 5b first showcase the recorded estimation
and ground truth trajectories when the camera is fixed within the inertial
frame $\mathcal{I}$. Specifically, in figure 5a, we programmed a rectangular
path within the non-inertial frame $\mathcal{N}$ for the UAV to follow. As for
figure 5b, we randomly controlled the UAV in front of the camera. Within the
two experiments, the relative distance between the two varies from 0.4 $m$ to
3 $m$. From table I, it can be seen that the designed system yields
satisfactory results, where the position ATE is less than 0.03 $m$, whereas
the orientation ATE is smaller than $4^{\circ}$ in the static case.
Furthermore, the tracking success rate is 100 %.

(2) Camera at motion: Datasets with the camera in motion were also collected,
as shown in figures 5c and 5d. Specifically, in 5c, we programmed the UGV to
move in a block path and let the quadrotor fix at a relative position defined
in non-inertial frame $\mathcal{N}$; in 5d, UGV was controlled manually, and
UAV was designed to move in a block path in $\mathcal{N}$. Table I shows that
the overall accuracy is within acceptable range for both translation and
rotation, with position ATE less than 0.05 $m$ and the orientation ATE less
than $5^{\circ}$. In addition, the tracking success rate is 99.78%. Therefore,
we deem the overall performance stable, whether the camera is static or
dynamic. The module could, hence, provide a reliable state estimation feedback
for our non-robocentric landing framework.

TABLE I: Results from Relative State Estimation | Static | Dynamic | Unit
---|---|---|---
ATE_translation | 0.021 | 0.049 | $m$
ATE_rotation | 3.501 | 4.727 | ∘
Success Rate | 100.00 | 99.78 | %

(3) Comparison with others: We also compare the proposed IEKF method with
other methods: iterative method [24] (denoted as KF-less) and ArUco. The ArUco
tag is fixated on the drone, similar to the attached constellation. The
comparison is carried out on several datasets with two scenarios: (a)
quadrotor following UGV in a circle path and (b) quadrotor landing on a moving
platform. Table II reveals the performances of each method. From the table, it
could be seen that IEKF returns better accuracy in both scenarios in terms of
translation and rotation, where IEKF gives an average of 0.036 $m$ and 0.053
$m$ position error as well as $3.104^{\circ}$ and $3.007^{\circ}$ orientation
error. Furthermore, the tracking success rate is also superior to previous
methods, as IEKF successfully tracks the pose at all times, whereas the KF-
less method losses a few frames and ArUco gives unstable tracking results.
Also, as ArUco cannot track most frames in the dynamic landing dataset,
results for that case in this scenario are omitted here.

TABLE II: Results from Relative State Estimation |  | IEKF | KF-less [24] | ArUco [36]
---|---|---|---|---
Circle | ATE_translation | 0.036 $m$ | 0.059 $m$ | 0.149 $m$
ATE_rotation | $3.104^{\circ}$ | $5.497^{\circ}$ | $41.77^{\circ}$
Success Rate | 100 % | 99.7 % | 28.2 %
Dyn. Land | ATE_translation | 0.053 $m$ | 0.083 $m$ | N/A
ATE_rotation | $3.007^{\circ}$ | $8.956^{\circ}$ | N/A
Success Rate | 100 % | 99.5 % | N/A

###  VI-C Landing Experiment

Lastly, we present the landing mission. In specifics, the UGV is designed to
move in two different motions, (1) linear motion and (2) circular motion. For
dicussion, we plot the experiment position and velocity information, state
estimation error, and the tracking error.

(1) Landing platform in linear motion: Figure 6 encapsulates the linear
landing experiment, plotting the position and velocity of both the landing
platform and quadrotor. It could be seen that even without onboard
exteroceptive sensors and computers, the quadrotor can perform landing on a
constantly moving landing pad. We discuss more details in the circular case.

(2) Landing platform in circular motion: Similar to the previous experiment,
when landing the quadrotor on a dynamic platform whose path is predefined to
be a circle, the overall mission could be completed. In this case, we plot the
position, rotation, and tracking error for further analysis. From figure 8,
the system gives stable estimation results regarding position during the
landing. In contrast, the velocity error contains relatively huge differences
and fluctuations. Nevertheless, without IMU data, we deem the results
sufficiently accurate in this application. Furthermore, although high
frequency noise could be found from rotation error, the overall results stay
within the reasonable region.

Figure 6:  The position and velocity information of the linear landing
mission. The maximum velocity of dynamic platform was 0.4 m/s, whereas the
maximum velocity of the quadrotor was 0.9 m/s.  Figure 7:  The position and
velocity information of the circle landing mission. The maximum velocity of
dynamic platform was 0.9 m/s, whereas the maximum velocity of the quadrotor
was 1.8 m/s.  Figure 8: The estimation error and tracking error during the
landing mission where the moving platform is in circular motion.

As for tracking error, the RMSE of tracking error is 0.2240 $m$. The culprits
are the transmission latency and the lack of controller optimization. The
former can be improved by adopting WiFi MESH configuration to remove
dependencies on the central router. On the other hand, the latter can be
improved by better PID tuning or adopting an advanced controller, which is out
of the scope of the addressed work. Overall, we deem the experiments
successful, and hence, the results imply the applicability of the proposed
landing system.

##  VII Conclusion

In this study, we propose a novel quadrotor landing system, termed a “non-
robocentric” (non-inertial) framework, designed to operate without onboard
exteroceptive sensors and a computer. While we have validated the system in a
controlled environment, we posit that this marks a crucial advancement toward
an innovative autonomous landing framework, capable of mitigating the heavy
reliance on onboard computers and exteroceptive sensors. This, in turn, has
the potential to significantly reduce overall costs for the future large-scale
deployment of UAV swarms in smart-city scenarios.

In the near future, our research aims to extend the validation of our system
by conducting experiments on outdoor moving vehicles and marine vessels,
assessing its feasibility for real-world deployment. However, prior to these
endeavors, we recognize the necessity for enhancements in the relative state
estimation module, particularly focusing on improving range and stability.
This aspect is acknowledged as part of our ongoing and future work.

## References

  * [1] P. Tokekar, J. Vander Hook, D. Mulla, and V. Isler, “Sensor planning for a symbiotic uav and ugv system for precision agriculture,” _IEEE Transactions on Robotics_ , vol. 32, no. 6, pp. 1498–1511, 2016.
  * [2] J. Sun, B. Li, Y. Jiang, and C.-Y. Wen, “A camera-based target detection and positioning uav system for search and rescue (sar) purposes,” _Sensors_ , vol. 16, no. 11, p. 1778, 2016.
  * [3] Q. Zhou, L.-Y. Lo, B. Jiang, C.-W. Chang, C.-Y. Wen, C.-K. Chen, and W. Zhou, “Development of fixed-wing uav 3d coverage paths for urban air quality profiling,” _Sensors_ , vol. 22, no. 10, p. 3630, 2022.
  * [4] D. Dissanayaka, T. R. Wanasinghe, O. De Silva, A. Jayasiri, and G. K. Mann, “Review of navigation methods for uav-based parcel delivery,” _IEEE Transactions on Automation Science and Engineering_ , 2023.
  * [5] C.-W. Chang, L.-Y. Lo, H. C. Cheung, Y. Feng, A.-S. Yang, C.-Y. Wen, and W. Zhou, “Proactive guidance for accurate uav landing on a dynamic platform: A visual–inertial approach,” _Sensors_ , vol. 22, no. 1, p. 404, 2022.
  * [6] D. Lee, T. Ryan, and H. J. Kim, “Autonomous landing of a vtol uav on a moving platform using image-based visual servoing,” in _2012 IEEE international conference on robotics and automation_. IEEE, 2012, pp. 971–976.
  * [7] L. Coutard, F. Chaumette, and J.-M. Pflimlin, “Automatic landing on aircraft carrier by visual servoing,” in _2011 IEEE/RSJ International Conference on Intelligent Robots and Systems_. IEEE, 2011, pp. 2843–2848.
  * [8] P. Serra, R. Cunha, T. Hamel, D. Cabecinhas, and C. Silvestre, “Landing of a quadrotor on a moving target using dynamic image-based visual servo control,” _IEEE Transactions on Robotics_ , vol. 32, no. 6, pp. 1524–1535, 2016.
  * [9] J. S. Wynn and T. W. McLain, “Visual servoing with feed-forward for precision shipboard landing of an autonomous multirotor,” in _2019 American Control Conference (ACC)_. IEEE, 2019, pp. 3928–3935.
  * [10] C. Chen, S. Chen, G. Hu, B. Chen, P. Chen, and K. Su, “An auto-landing strategy based on pan-tilt based visual servoing for unmanned aerial vehicle in gnss-denied environments,” _Aerospace Science and Technology_ , vol. 116, p. 106891, 2021.
  * [11] D. Falanga, A. Zanchettin, A. Simovic, J. Delmerico, and D. Scaramuzza, “Vision-based autonomous quadrotor landing on a moving platform,” in _2017 IEEE International Symposium on Safety, Security and Rescue Robotics (SSRR)_. IEEE, 2017, pp. 200–207.
  * [12] C. Forster, Z. Zhang, M. Gassner, M. Werlberger, and D. Scaramuzza, “Svo: Semidirect visual odometry for monocular and multicamera systems,” _IEEE Transactions on Robotics_ , vol. 33, no. 2, pp. 249–265, 2016.
  * [13] T. Baca, P. Stepan, V. Spurny, D. Hert, R. Penicka, M. Saska, J. Thomas, G. Loianno, and V. Kumar, “Autonomous landing on a moving vehicle with an unmanned aerial vehicle,” _Journal of Field Robotics_ , vol. 36, no. 5, pp. 874–891, 2019.
  * [14] S. Yang, S. A. Scherer, and A. Zell, “An onboard monocular vision system for autonomous takeoff, hovering and landing of a micro aerial vehicle,” _Journal of Intelligent & Robotic Systems_, vol. 69, no. 1, pp. 499–515, 2013.
  * [15] P. Vlantis, P. Marantos, C. P. Bechlioulis, and K. J. Kyriakopoulos, “Quadrotor landing on an inclined platform of a moving ground vehicle,” in _2015 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2015, pp. 2202–2207.
  * [16] Y. Meng, W. Wang, H. Han, and J. Ban, “A visual/inertial integrated landing guidance method for uav landing on the ship,” _Aerospace Science and Technology_ , vol. 85, pp. 474–480, 2019.
  * [17] Y. Qi, J. Jiang, J. Wu, J. Wang, C. Wang, and J. Shan, “Autonomous landing solution of low-cost quadrotor on a moving platform,” _Robotics and Autonomous Systems_ , vol. 119, pp. 64–76, 2019.
  * [18] A. Paris, B. T. Lopez, and J. P. How, “Dynamic landing of an autonomous quadrotor on a moving platform in turbulent wind conditions,” in _2020 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2020, pp. 9577–9583.
  * [19] C. Martínez, P. Campoy, I. Mondragón, and M. A. Olivares-Méndez, “Trinocular ground system to control uavs,” in _2009 IEEE/RSJ International Conference on Intelligent Robots and Systems_. Ieee, 2009, pp. 3361–3367.
  * [20] W. Kong, D. Zhang, X. Wang, Z. Xian, and J. Zhang, “Autonomous landing of an uav with a ground-based actuated infrared stereo vision system,” in _2013 IEEE/RSJ international conference on intelligent robots and systems_. IEEE, 2013, pp. 2963–2970.
  * [21] W. Kong, D. Zhou, Y. Zhang, D. Zhang, X. Wang, B. Zhao, C. Yan, L. Shen, and J. Zhang, “A ground-based optical system for autonomous landing of a fixed wing uav,” in _2014 IEEE/RSJ international conference on intelligent robots and systems_. IEEE, 2014, pp. 4797–4804.
  * [22] T. Ferreira, A. Bernardino, and B. Damas, “6d uav pose estimation for ship landing guidance,” in _OCEANS 2021: San Diego–Porto_. IEEE, 2021, pp. 1–10.
  * [23] J. Sola, J. Deray, and D. Atchuthan, “A micro lie theory for state estimation in robotics,” _arXiv preprint arXiv:1812.01537_ , 2018.
  * [24] M. Faessler, E. Mueggler, K. Schwabe, and D. Scaramuzza, “A monocular pose estimation system based on infrared leds,” in _2014 IEEE international conference on robotics and automation (ICRA)_. IEEE, 2014, pp. 907–913.
  * [25] A. Breitenmoser, L. Kneip, and R. Siegwart, “A monocular vision-based system for 6d relative robot localization,” in _2011 IEEE/RSJ International Conference on Intelligent Robots and Systems_. IEEE, 2011, pp. 79–85.
  * [26] V. Lepetit, F. Moreno-Noguer, and P. Fua, “Ep n p: An accurate o (n) solution to the p n p problem,” _International journal of computer vision_ , vol. 81, pp. 155–166, 2009.
  * [27] Q. Fu, Q. Quan, and K.-Y. Cai, “Robust pose estimation for multirotor uavs using off-board monocular vision,” _IEEE Transactions on Industrial Electronics_ , vol. 64, no. 10, pp. 7942–7951, 2017.
  * [28] B. M. Bell and F. W. Cathey, “The iterated kalman filter update as a gauss-newton method,” _IEEE Transactions on Automatic Control_ , vol. 38, no. 2, pp. 294–297, 1993.
  * [29] R. G. Brown and P. Y. Hwang, “Introduction to random signals and applied kalman filtering: with matlab exercises and solutions,” _Introduction to random signals and applied Kalman filtering: with MATLAB exercises and solutions_ , 1997.
  * [30] D. Mellinger and V. Kumar, “Minimum snap trajectory generation and control for quadrotors,” in _2011 IEEE international conference on robotics and automation_. IEEE, 2011, pp. 2520–2525.
  * [31] S. Liu, M. Watterson, K. Mohta, K. Sun, S. Bhattacharya, C. J. Taylor, and V. Kumar, “Planning dynamically feasible trajectories for quadrotors using safe flight corridors in 3-d complex environments,” _IEEE Robotics and Automation Letters_ , vol. 2, no. 3, pp. 1688–1695, 2017.
  * [32] W. Hönig, J. A. Preiss, T. S. Kumar, G. S. Sukhatme, and N. Ayanian, “Trajectory planning for quadrotor swarms,” _IEEE Transactions on Robotics_ , vol. 34, no. 4, pp. 856–869, 2018.
  * [33] R. F. Riesenfeld, _Applications of b-spline approximation to geometric problems of computer-aided design._ Syracuse University, 1973.
  * [34] S. Boyd, S. P. Boyd, and L. Vandenberghe, _Convex optimization_. Cambridge university press, 2004.
  * [35] B. Stellato, G. Banjac, P. Goulart, A. Bemporad, and S. Boyd, “OSQP: an operator splitting solver for quadratic programs,” _Mathematical Programming Computation_ , vol. 12, no. 4, pp. 637–672, 2020. [Online]. Available: https://doi.org/10.1007/s12532-020-00179-2
  * [36] S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez, “Automatic generation and detection of highly reliable fiducial markers under occlusion,” _Pattern Recognition_ , vol. 47, no. 6, pp. 2280–2292, 2014.

|  Li-Yu Lo received his Bachelor of Engineering degree from the Department of
Aeronautical and Aviation Engineering at The Hong Kong Polytechnic University,
Hong Kong, in 2021. He is currently a member in the AIRo-Lab, Department of
Aeronautical and Aviation Engineering, The Hong Kong Polytechnic University.
His research interests include sensor fusion, multi-robot pose estimation, and
heterogeneous robotics systems.

---|---
|  Boyang LI received his B.Eng. and M.Eng. degrees in Aeronautical
Engineering from Northwestern Polytechnical University, Xi’an, China, in 2012
and 2015. He then received PhD degree in Mechanical Engineering from The Hong
Kong Polytechnic University in 2019. He has conducted postdoctoral research at
the Air Traffic Management Research Institute, Nanyang Technological
University, Singapore and the School of Engineering, The University of
Edinburgh, UK. In 2020, he established the Autonomous Aerial Systems Lab at
The Hong Kong Polytechnic University. He joined the University of Newcastle as
a lecturer in Aerospace Systems Engineering in 2023. His research interests
include model predictive control, path/trajectory optimization, and field
experiments of unmanned aircraft systems (UAS) and other mobile robots.
---|---
|  Chih-Yung WEN received his B.S. degree from the Department of Mechanical
Engineering at National Taiwan University in 1986 and his M.S. and Ph.D.
degrees from the Department of Aeronautics at the California Institute of
Technology (Caltech) in 1989 and 1994, respectively. He joined the Department
of Mechanical Engineering, The Hong Kong Polytechnic University in 2012, as a
professor. In 2021, he became the chair professor and head of the Department
of Aeronautical and Aviation Engineering in The Hong Kong Polytechnic
University. His current research interests include modeling and control of
tail-sitter UAVs, visual-inertial odometry systems for UAVs and AI object
detection by UAVs.
---|---
|  Ching-Wei Chang received his Bachelor of Engineering degree from the
Department of Mechanical Engineering at Yuan Ze University, Taiwan, in 2015.
He then received Ph.D. degree in Mechanical Engineering from The Hong Kong
Polytechnic University in 2022. His research interests include VTOL UAVs, UAV
inspection applications, and autonomous landing systems for UAVs. He currently
holds the position of Researcher at the Hong Kong Center for Construction
Robotics, affiliated with The Hong Kong University of Science and Technology.
---|---