% 用 xelatex 编译
%%%不要动
\documentclass[final,20pt]{beamer}
\usepackage{amsmath,lmodern}
%%%字体大小改scale
\usepackage[size=custom,width=90,height=150,scale=1.2]{beamerposter}
%%%
\usetheme{gemini}
%%%%%%颜色可以改(仅启用一个配色主题)
\usecolortheme{uchicago}% 紫色
% \usecolortheme{gemini}% 蓝色
% \usecolortheme{labsix}% 橙色
% \usecolortheme{bulldog}% 藏蓝色
% \usecolortheme{vt}% 深红色
% 各主题共用的辅助文字颜色
\definecolor{postermuted}{RGB}{118,118,118}
%%%%%%
\setbeamerfont{footline}{size=\huge,series=\bfseries}
\setbeamertemplate{footline}{
\ifdefined\insertfootercontent
\begin{beamercolorbox}[vmode]{headline}
\ifbeamercolorempty[bg]{headline rule}{}{
\begin{beamercolorbox}[wd=\paperwidth,colsep=0.25ex]{headline rule}\end{beamercolorbox}
}
\hspace{\sepwidth}
\usebeamerfont{footline}
\centering
\insertfootercontent
\hspace{\sepwidth}
\vspace{2ex}
\end{beamercolorbox}
\else\fi
}
\setbeamertemplate{headline}
{
\begin{beamercolorbox}{headline}
\begin{columns}
\begin{column}{\maxlogowidth}
\vskip3ex
\ifdefined\insertlogoleft
\vspace*{\fill}
\hspace{10ex}
\raggedright
\insertlogoleft
\vspace*{\fill}
\else\fi
\end{column}
\begin{column}{\dimexpr\paperwidth-\maxlogowidth-\maxlogowidth}
\usebeamerfont{headline}
\vskip3ex
\centering
{\usebeamerfont{headline title}\usebeamercolor[fg]{headline title}\inserttitle\\[0.5ex]}
{\usebeamerfont{headline author}\usebeamercolor[fg]{headline author}\insertauthor\\[1ex]}
{\usebeamerfont{headline institute}\usebeamercolor[fg]{headline institute}\insertinstitute\\[1ex]}
\end{column}
\begin{column}{\maxlogowidth}
\vskip3ex
\ifdefined\insertlogoright
\vspace*{\fill}
\raggedleft
\insertlogoright
\hspace{10ex}
\vspace*{\fill}
\else\fi
\end{column}
\end{columns}
\vspace{2ex}
\ifbeamercolorempty[bg]{headline rule}{}{
\begin{beamercolorbox}[wd=\paperwidth,colsep=0.5ex]{headline rule}\end{beamercolorbox}
}
\end{beamercolorbox}
}
\usepackage{graphicx}
\usepackage[scheme=plain]{ctex}
\newCJKfontfamily\footfontcn{STXINGKA.TTF}[AutoFakeBold=1.1]
\newfontfamily\footfonten{STXINGKA.TTF}[AutoFakeBold=1.1]
\newfontfamily\paperidfont{Times New Roman Bold}[
Numbers={Lining,Monospaced}
]
\newfontfamily\symbolfont{Segoe UI Symbol}[AutoFakeBold=1.1]
%%%
\usepackage{multicol}
\usepackage[caption=false,font=footnotesize,subrefformat=parens]{subfig}
\usepackage{booktabs}
\usepackage{tikz}
\setbeamerfont{caption}{size=\small}
\setbeamercolor{caption}{fg=postermuted}
\setbeamertemplate{caption}{%
{\usebeamerfont{caption}\usebeamercolor[fg]{caption}\insertcaption\par}%
}
% ====================
% Lengths
% ====================
% 如果设置 N 栏,应满足 (N+1)*\sepwidth + N*\colwidth = \paperwidth
\newlength{\sepwidth}
\newlength{\colwidth}
\setlength{\sepwidth}{0.025\paperwidth}
\setlength{\colwidth}{0.4625\paperwidth}
\newcommand{\separatorcolumn}{\begin{column}{\sepwidth}\end{column}}
\colorlet{postersubheading}{posteraccent!80!black}
\colorlet{postersubsubheading}{posteraccent!90!black}
\newcommand{\methodsubheading}[1]{{\small\bfseries\textcolor{postersubheading}{#1}\par}}
\newcommand{\methodsubsubheading}[1]{{\footnotesize\bfseries\textcolor{postersubsubheading}{#1}\par}}
\newlength{\posterbottomstripheight}
\setlength{\posterbottomstripheight}{1.0 cm}
\setbeamertemplate{background}{%
\begin{tikzpicture}[remember picture,overlay]
\fill[posteraccent] (current page.south west)
rectangle ([yshift=\posterbottomstripheight]current page.south east);
\end{tikzpicture}%
}
\newcommand{\conclusionentry}[2]{%
\begingroup
\setlength{\parskip}{0pt}%
\noindent
\makebox[0.04\linewidth][l]{%
\raisebox{-0.2ex}{\textcolor{posteraccent}{\fbox{\large\checkmark}}}%
}%
{\small\bfseries\textcolor{postersubheading}{#1}\par}%
\vspace{0.1em}
\noindent\hspace*{0.04\linewidth}%
\begin{minipage}[t]{0.95\linewidth}
\vspace{0pt}%
\noindent #2\par
\end{minipage}\par
\endgroup
}
\makeatletter
\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}}
\def\@bstctlcite[#1]#2{\@bsphack
\@for\@citeb:=#2\do{%
\edef\@citeb{\expandafter\@firstofone\@citeb}%
\if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}%
\@esphack}
\makeatother
% ====================
% Title
% ====================
\title{Disturbance Rejection Control for a Ducted-Fan UAV Using Priority-Enhanced INDI}
\author{
Qingxi Tang\inst{1} \and
Yong Xu\inst{1} \and
Zihuan Cheng\inst{1}\textsuperscript{*} \and
Chaoheng Meng\inst{2}
}
\institute{
\inst{1} Guangdong University of Technology, Guangzhou, 510006, China\\
\inst{2} Key Lab. of Autonomous Systems and Networked Control, Ministry of Education;
Unmanned Aerial Vehicle Systems Engineering Technology Research Center of Guangdong;
South China University of Technology, Guangzhou, 510640, China\\
\textsuperscript{*}Corresponding author: zhcheng@gdut.edu.cn
}
% ====================
% Footer (optional)
% ====================
%%%不要动
\logoleft{
\begin{tabular}{@{}l@{}}
{\Large\paperidfont\mbox{Paper ID: 1359}}\\[1.5ex]
\includegraphics[height=6cm]{logos/auto-fig.pdf}
\end{tabular}
}
\logoright{\includegraphics[height=10cm]{logos/圆形校徽.png}}
%%%
% ====================
% Body
% ====================
\begin{document}
\bstctlcite{IEEEtranBSTcontrol}
\begin{frame}[t]
\begin{columns}[t]
\separatorcolumn
\begin{column}{\colwidth}
\begin{block}{ABSTRACT}
The Ducted-Fan UAV is susceptible to external disturbances during flight.
Meanwhile, its inner-loop angular-velocity dynamics constitute an
input-constrained over-actuated system, which couples disturbance rejection
with control allocation. To address these issues, this paper proposes a
Priority-enhanced INDI (PINDI) control framework for the Ducted-Fan UAV. In
the translational outer loop, an INDI-based acceleration controller is
introduced to reduce the dependence on explicit aerodynamic modeling. In
the attitude-feedback loop, a canonicalized quaternion attitude error is
adopted to provide a consistent attitude-error representation. For the
input-constrained over-actuated angular-velocity dynamics, the PINDI inner
loop decomposes the virtual control command into a trim-control term and an
error-feedback term, and introduces a scaling factor for
direction-preserving allocation under actuator constraints. In this way,
disturbance rejection and control allocation are handled within a unified
framework, improving the attitude stability and disturbance-rejection
performance of the system under sustained external disturbances. The
proposed method is validated on a high-fidelity flight simulation platform,
and the results demonstrate that it can maintain stable flight and achieve
reliable control allocation under sustained external disturbances.
\end{block}
\begin{block}{SYSTEM \& MOTIVATION}
\methodsubheading{In-House-Developed Ducted-Fan Tail-Sitter UAV}
\vspace{0.15em}
The SHC09 is an in-house-developed ducted-fan tail-sitter UAV equipped with a
ducted rotor and six control surfaces. These redundant control surfaces
provide three-axis moment control, giving rise to over-actuated
angular-velocity dynamics.
\vspace{0.1em}
\begin{figure}
\centering
\includegraphics[width=0.95\linewidth]{photos/objects/objects.pdf}
\label{fig:shc09}
\end{figure}
\vspace{0.3em}
\methodsubheading{Why PINDI?}
\vspace{0.15em}
\methodsubsubheading{{\symbolfont ①} Disturbance Propagation Chain}
\vspace{0.2em}
\begin{figure}
\centering
\includegraphics[width=0.95\linewidth]{photos/WHY PINDI/Disturbance_Propagation_Chain.pdf}
\end{figure}
Moment disturbances propagate through body-rate and attitude errors to
thrust-direction deviations, leading to lateral acceleration and position
oscillations.
\vspace{0.25em}
\methodsubsubheading{{\symbolfont ②} Key Control Challenges}
\vspace{0.2em}
\begin{figure}
\centering
\includegraphics[width=0.95\linewidth]{photos/WHY PINDI/two_challenges.pdf}
\end{figure}
The proposed PINDI control framework reduces reliance on explicit
aerodynamic modeling through INDI-based acceleration control and handles
disturbance rejection and actuator-constrained control allocation within a
unified framework.
\end{block}
\begin{block}{METHODS}
\methodsubheading{Cascaded Flight-Control Architecture}
\vspace{0.15em}
\begin{figure}
\centering
\includegraphics[width=0.95\linewidth]{photos/methods/flight_control.pdf}
\label{fig:flight-control}
\end{figure}
The proposed cascaded controller combines an INDI-based acceleration outer
loop with a PINDI-based angular-velocity inner loop. Measured acceleration
is used to incrementally update the desired thrust vector, reducing reliance
on explicit aerodynamic-force modeling.
\vspace{0.5em}
\methodsubheading{Attitude-Error Comparison and Selection}
\vspace{0.15em}
\begin{figure}
\centering
\includegraphics[width=0.80\linewidth]{photos/methods/attitude-error.pdf}
\caption{Norm Comparison of Representative Attitude-Error Definitions}
\label{fig:attitude-error}
\end{figure}
Although representative attitude-error definitions describe the same
relative rotation, their norm characteristics differ near critical
attitudes. Based on this comparison, the canonicalized quaternion error
\end{block}
\end{column}
\separatorcolumn
\begin{column}{\colwidth}
\begin{block}{METHODS}
\vspace{-0.45em}
\[
\mathbf{e}_{q}=2\,\operatorname{sign}(q_{e,i^\circ})\,\mathbf{q}_{v}
\]
\vspace{-0.05em}
is adopted to provide a locally consistent vector-form attitude error in
$\mathbb{R}^{3}$ while alleviating the double-cover ambiguity of unit
quaternions.
\vspace{0.15em}
\methodsubheading{Direction-Preserving Control Allocation}
\vspace{0.15em}
\[
\boldsymbol{\nu}=\boldsymbol{\nu}_{h}+\rho\boldsymbol{\nu}_{c}
\]
\[
\boldsymbol{\nu}_{h}=\mathbf{B}\boldsymbol{u}_{0}
-\dot{\boldsymbol{\omega}}_{0}^{b},\qquad
\boldsymbol{\nu}_{c}=\mathbf{K}_{\omega}
\left(\boldsymbol{\omega}_{d}^{b}-\boldsymbol{\omega}^{b}\right)
\]
{\small\color{postermuted}
$\boldsymbol{\nu}_{h}$ is the trim-control term, $\boldsymbol{\nu}_{c}$ is
the error-feedback term, and $\rho \in [0,1]$ is the scaling factor.\par}
\vspace{0.15em}
\begin{center}
\begin{minipage}[c]{0.36\linewidth}
\centering
\raisebox{0.8em}{%
\(\displaystyle
\begin{aligned}
\max_{\rho,\boldsymbol{u}}\quad & \rho \\
\mathrm{s.t.}\quad
& \mathbf{B}\boldsymbol{u}
= \boldsymbol{\nu}_{h}+\rho\boldsymbol{\nu}_{c},\\
& \boldsymbol{u}_{\min}\le \boldsymbol{u}\le
\boldsymbol{u}_{\max},\\
& 0\le \rho\le 1.
\end{aligned}
\)%
}
\end{minipage}
\hspace{0.025\linewidth}
\begin{minipage}[c]{0.5\linewidth}
\centering
\includegraphics[width=\linewidth]{photos/methods/allocation.pdf}
\label{fig:pindi-allocation}
\end{minipage}
\end{center}
\vspace{-0.25em}
When the desired virtual control command exceeds the available control
authority, $\rho$ decreases to scale $\boldsymbol{\nu}_{c}$, generating an
attainable command while preserving the direction of the error-feedback
term.
\end{block}
\begin{block}{FLIGHT SIMULATION RESULTS}
\vspace*{-0.2em}
\begingroup
\setlength{\fboxsep}{0.45em}
\noindent\colorbox{black!4}{%
\begin{minipage}{\dimexpr\linewidth-2\fboxsep\relax}
\begin{minipage}[c]{0.31\linewidth}
\raggedleft
\includegraphics[height=5.0cm,keepaspectratio]{photos/simulation/model_gazebo.pdf}
\end{minipage}%
\hspace{0.05\linewidth}%
\begin{minipage}[c]{0.625\linewidth}
{\footnotesize\bfseries\color{posteraccent!55!postermuted}SIMULATION SETUP\par}
\vspace{0.12em}
{\footnotesize
\textbf{Platform:} PX4/Gazebo Classic SITL\\[0.12em]
\textbf{Hovering setpoint:}
\(\boldsymbol{p}_d^i=[0,0,10]^{\mathrm{T}}\,\mathrm{m}\)\\[0.12em]
\textbf{Disturbance:} Sustained sinusoidal lateral moments}
\end{minipage}
\end{minipage}%
}
\endgroup
\vspace{0.25em}
\methodsubheading{Experiment 1: Fixed-Point Hovering under Disturbance}
\vspace{0.15em}
\noindent The first experiment compares the disturbance-rejection
performance of the proposed PINDI controller with that of the baseline PX4
cascaded PID controller during fixed-point hovering. A representative
hovering trajectory is examined at the disturbance amplitude
\(M_D=0.60\,\mathrm{N\cdot m}\), while
the position-error norm
\(\lVert\boldsymbol{e}\rVert=\lVert\boldsymbol{p}_d^i-\boldsymbol{p}^i\rVert_2\)
is evaluated over \(M_D \in [0.4,0.8]\,\mathrm{N\cdot m}\).
\vspace{0.2em}
\begin{figure}
\centering
\makebox[\linewidth][c]{%
\begin{minipage}[t]{0.32\linewidth}
\centering
\includegraphics[width=\linewidth]{photos/simulation/trajectory_responses.pdf}\\[-0.2em]
{\footnotesize\color{postermuted} (a)}
\end{minipage}
\hspace{0.04\linewidth}
\begin{minipage}[t]{0.46\linewidth}
\centering
\includegraphics[width=\linewidth]{photos/simulation/A_M_Sweep_e_xyz_Box.pdf}\\[-0.2em]
{\footnotesize\color{postermuted} (b)}
\end{minipage}%
}
\caption{\centering Fixed-point hovering responses under lateral moment disturbances}
\label{fig:fixed-point-hovering}
\vspace{-0.7em}
{\footnotesize\color{postermuted}
\begin{minipage}{0.92\linewidth}
\noindent (a) hovering trajectories at
\(M_D=0.60\,\mathrm{N\cdot m}\);\\
(b) position-error norm distributions over
\(M_D \in [0.4,0.8]\,\mathrm{N\cdot m}\)
\end{minipage}}
\end{figure}
\vspace{0.15em}
\noindent At \(M_D=0.60\,\mathrm{N\cdot m}\), both controllers maintain
stable hovering, while PINDI produces a more compact figure-eight-shaped
trajectory than PID. Across the tested disturbance range, PINDI maintains
lower and more concentrated position-error norm distributions, indicating
improved fixed-point hovering performance under sustained lateral moment
disturbances.
\vspace{0.35em}
\methodsubheading{Experiment 2: Controller-Switching Validation}
\vspace{0.15em}
\noindent The second experiment evaluates fixed-point hovering performance
using a controller-switching test at
\(M_D=0.60\,\mathrm{N\cdot m}\). PID is used during
\(0\text{--}15\,\mathrm{s}\) and \(45\text{--}60\,\mathrm{s}\), while
PINDI is activated during \(15\text{--}45\,\mathrm{s}\).
\vspace{0.2em}
\begin{figure}
\centering
\includegraphics[width=0.82\linewidth]{photos/simulation/switch_e_norm.pdf}
\caption{Position-error norm during controller switching}
\label{fig:controller-switching}
\end{figure}
\vspace{0.15em}
\noindent The position-error norm decreases after switching from PID to
PINDI and increases again after switching back to PID. Since the vehicle
model, reference command, and disturbance setting remain unchanged during
the test, this switching behavior directly supports the improved fixed-point
hovering capability of PINDI under sustained moment disturbances.
\end{block}
\begin{block}{CONCLUSIONS}
\vspace{0.2em}
\conclusionentry{PINDI Framework}{%
A cascaded flight-control framework is developed with an INDI-based
acceleration outer loop, a canonicalized quaternion attitude error, and a
PINDI-based angular-velocity inner loop.}
\vspace{0.3em}
\conclusionentry{Direction-Preserving Allocation}{%
For the input-constrained over-actuated angular-velocity dynamics, PINDI
decomposes the virtual control command into a trim-control term and an
error-feedback term, and scales the latter to obtain a feasible command
while preserving its direction.}
\vspace{0.3em}
\conclusionentry{Hovering Performance}{%
Under sustained sinusoidal lateral moment disturbances, PINDI produces
more compact hovering trajectories and lower, more concentrated
position-error norm distributions than the baseline PX4 cascaded PID
controller; the controller-switching test further supports this
improvement.}
\vspace{0.35em}
\end{block}
\end{column}
\separatorcolumn
\end{columns}
\end{frame}
\end{document}

PDF Preview
Create an account to compile and preview