Abstract
A singularity-free nonlinear controller is presented for the miniature unmanned helicopter to follow a reference path described by implicit expressions. Based on the time-scale separation principle, the controller is designed with hierarchical inner-outer loop structure. The outer-loop position controller is constructed with hyperbolic tangent function, and temporary-path generation method is developed to keep the control matrix invertible and obviate large control energy. The desired command attitude can be derived from position controller without singularity by choosing appropriate controller parameters. The inner-loop attitude controller is designed with the unit-quaternion attitude representation and backstepping technique to achieve attitude tracking. Numerical simulation is provided to verify the theoretical results.
Access provided by CONRICYT-eBooks. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Tracking tasks for aircrafts can be classified as two categories [1]: trajectory tracking and path following. In the first case, the aircraft is required to track a time-varying reference trajectory at every transient. While in the second case it is required to fly along a reference path at a desired speed. Unlike trajectory tracking, there is no temporal requirements on path following. Besides the path following has some control performances that can not be obtained from trajectory tracking in some specific cases [2].
Various linear and nonlinear controllers have been proposed for path following control of miniature helicopters. The linear control methods are simple and reliable, such as PID [3] and LQ control [4, 5], but have the limitation to realize full envelope flight. To this end, some nonlinear control methods such as backstepping approach [6], feedback linearization technique [7] or hybrid control methods [8, 9] have been applied. Due to the under-actuated property, the helicopter model is always simplified to position outer-loop and attitude inner-loop structure [10, 11]. However, the controller designed based on the hierarchical structure may suffer from singularity when deriving the desired attitude from position controller. So far, only a few literatures [6] take into account this problem, and most reference paths are parameterized curves.
The parameterized path following [6, 8, 9] is the most commonly used problem formulation. The path is described with a time-varying parameter, and the task is to design control law and parameter timing law such that helicopter can keep up with the moving point determined by the parameter. Another problem formulation is based on implicit expressions [1, 7]. The path is given by the intersection of two manifolds. Unlike parameterized path following which turns path following problem to point-tracking problem, the task for implicit path following is to follow the entire path and the helicopter will enter an invariant set around the reference path. However, controller design for implicit path following always relates to control matrix of the closed-loop system, and it suffers from singularity when the matrix is not invertible.
In this paper a singularity-free implicit path following controller for miniature helicopters is presented. The control design is based on the hierarchical structure. The outer-loop position controller is constructed with the hyperbolic tangent function to realize path following, and a temporary path is planned to guarantee the control matrix invertible. From the position controller, the desired command attitude can be derived without singularity by choosing appropriate controller parameters. The inner-loop attitude controller is designed with the unit-quaternion representation to realize tracking for the command attitude.
2 Preliminaries
In following sections, \(c(\cdot )\) and \(s(\cdot )\) are shorts of \(\cos (\cdot )\) and \(\sin (\cdot )\). \(|\cdot |\)denotes absolute value of a real number, \(\Vert \cdot \Vert \) denotes Euclidean norm for a vector or induced Euclidean norm for a matrix. \(\bar{\lambda }(\cdot )\) and \(\underline{\lambda }(\cdot )\) denote the maximum and minimum eigenvalues, respectively. For \(\varvec{x}=[x_1,\ldots ,x_n]^{T}\in \mathbb {R}^n\), define hyperbolic tangent function vector \(\mathrm {tanh}(\varvec{x})=[\mathrm {tanh} (x_1),\ldots ,\mathrm {tanh} (x_n)]^{T}\) and hyperbolic tangent function matrix \(\mathrm {Tanh}(\varvec{x})=\mathrm{diag}\{\mathrm {tanh} (x_1),\ldots ,\mathrm {tanh} (x_n)\}\). For a continuously differentiable scalar function \(f(\varvec{x})\), define \(\partial _{x_{i}}f=\frac{\partial f}{\partial x_i}(i=1,\ldots n)\) and \(\partial _{\varvec{x}}f=[\frac{\partial f}{\partial x_1},\ldots ,\frac{\partial f}{\partial x_n}]^T\). For continuously differentiable vector function \(\varvec{f}(\varvec{x})=[f_1(\varvec{x}),\ldots ,f_m(\varvec{x})]^T\), define \(\partial _{\varvec{x}}\varvec{f}=\begin{bmatrix}\frac{\partial f_1}{\partial x_1}&\cdots&\frac{\partial f_1}{\partial x_n}\\ \vdots&\ddots&\vdots \\ \frac{\partial f_m}{\partial x_1}&\cdots&\frac{\partial f_m}{\partial x_n}\end{bmatrix}\) and \(\partial _{\varvec{x}}^2f=\partial _{\varvec{x}}(\partial _{\varvec{x}}f)\).
Lemma 1
([12]) For \(x\in \mathbb {R}^n\), if \(\Vert \varvec{x}\Vert<\overline{x}<\infty \), then there exists a constant \(\chi (\overline{x})\in (0,1)\) satisfying \(\chi \Vert \varvec{x}\Vert \le \Vert \mathrm {tanh}(\varvec{x})\Vert \le \Vert \varvec{x}\Vert \).
Lemma 2
([13]) For \(x\in \mathbb {R}\) and \(\varepsilon >0\), \(0\le |x|-x\mathrm {tanh}(x/\varepsilon )\le k_q\varepsilon \), where \(k_q=0.2785\) satisfies \(k_q=e^{-(k_q+1)}\).
Lemma 3
([14]) Given a smooth function \(\beta (t):\mathbb {R}^{+}\rightarrow \mathbb {R}\), its derivatives can be estimated by the command filter \(\ddot{x}=-2\xi \omega _n\dot{x}-\omega _n^2(x-\beta )\) such that \(\dot{\beta }\approx \dot{x},\ddot{\beta }\approx \ddot{x}\), where \(\omega _n>0\) is chosen large enough to ensure estimation accuracy.
3 Problem Statement
Mathematical modeling Figure 1 shows the helicopter configuration, it is modeled in two frames: the earth frame \(\mathcal {I}=\{ Oxyz\mathcal \}\) and fuselage frame \(\mathcal {B}=\{ O_bx_by_bz_b\mathcal \}\). Frame \(\mathcal {I}\) is fixed to the earth and its origin locates on the ground. Frame \(\mathcal {B}\) is fixed to the helicopter body and its origin locates at the helicopter center of gravity (c.g.). The rotation matrix R [1], which defines the rotation from \(\mathcal {B}\) to \(\mathcal {I}\) around an unit vector \(\hat{\varvec{k}}\in \mathbb {R}^3\) by an angle \(\varphi \), is mostly used to describe attitude of the helicopter. The unit-quaternion \(Q=[\mu ,\varvec{q}^{T}]^{T}=\{Q\in \mathbb {R}\times \mathbb {R}^3|\mu ^2+\varvec{q}^{T}\varvec{q}=1\}\) [15] can also be used to describe attitude, where \(\mu =\cos \frac{\varphi }{2}\) and \(\varvec{q}=[q_1,q_2,q_3]^{T}=\sin \frac{\varphi }{2}\varvec{\hat{k}}\). R and Q satisfy following relation
where \(I_3\) is \(3\times 3\) identity matrix, \(S(\varvec{q})=\begin{bmatrix} 0&-q_3&q_2\\ q_3&0&-q_1\\ -q_2&q_1&0 \end{bmatrix}\). Given \(Q_1=\begin{bmatrix} \mu _1\\ \varvec{q_1} \end{bmatrix}\) and \(Q_2=\begin{bmatrix} \mu _2\\ \varvec{q_2} \end{bmatrix}\), the quaternion multiplication \(Q_1\otimes Q_2=\begin{bmatrix} \mu _1\mu _2-\varvec{q_1}^{T}\varvec{q_2} \\ \mu _1\varvec{q_2}+\mu _2\varvec{q_1}+S(\varvec{q_1})\varvec{q_2} \end{bmatrix}\). The inverse of Q is defined as \(Q^{-1}=[\mu ,-\varvec{q}^{T}]^{T}\) and satisfies \(Q^{-1}\otimes Q=[1,0,0,0]^{T}\).
Based on the Newton–Euler equations, the dynamic model of the helicopter can be derived as follows [1]
where \(\varvec{p}=[x,y,z]^{T}\) and \(\varvec{v}=[u,v,w]^{T}\) are position and velocity of helicopter denoted in \(\mathcal {I}\), m is the helicopter mass, \(\varvec{g_3}=[0,0,g]^{T}\) and g is gravitational acceleration, \(\varvec{\omega }=[\omega _x,\omega _y,\omega _z]^{T}\) is angular velocity denoted in \(\mathcal {B}\), \(\Theta (Q)=\begin{bmatrix}{\begin{matrix} -\varvec{q}^{T}\\ \mu I_3+S(\varvec{q}) \end{matrix}}\end{bmatrix}\) is attitude transition matrix, \(J=\begin{bmatrix}{\begin{matrix} J_x &{} 0 &{} -J_{xz}\\ 0 &{} J_y &{} 0\\ -J_{xz} &{} 0 &{} J_z \end{matrix}}\end{bmatrix}\) is the inertial matrix denoted in \(\mathcal {B}\). The applied force \(\varvec{f}\) and torque \(\varvec{\tau }\) denoted in \(\mathcal {B}\) are given by [1]
where \(T_m,\tau _m, T_t, \tau _t\) are thrust and anti-torque generated by the main and tail rotors, respectively; \(M_a, L_b\) are stiffness coefficients of main rotor; \(h_m, h_t, l_m, l_t\) denote vertical and horizontal distances between the rotor centers and helicopter \(\mathrm {c.g.}\); \(a_s,b_s\) denote longitudinal and lateral flapping angles of the main rotor. The relationship between thrusts \(T_i\) and anti-torque \(\tau _i\) \((i=m\ \mathrm{or} \ t)\) is given by [12]
where \(A_i\) and \(B_i\) are aerodynamic constants.
Due to the limitation of helicopter physical structure, \(a_s,b_s,T_t\) and \(\tau _t\) are fairly small, thus it is reasonable to express (4) as [11]:
where \(\varvec{\rho }=\begin{bmatrix}{\begin{matrix} T_t\\ a_s\\ b_s \end{matrix}}\end{bmatrix}\), \(\varvec{\tau }_B=\begin{bmatrix}{\begin{matrix} 0\\ T_ml_m\\ \tau _m \end{matrix}}\end{bmatrix}\), \(Q_A=\begin{bmatrix}{\begin{matrix} h_t &{} \tau _m &{} T_mh_m+L_b \\ 0 &{} T_mh_m+M_a &{} -\tau _m \\ -l_t &{} 0 &{} -T_ml_m \end{matrix}}\end{bmatrix}\) and \(\mathrm{det}(Q_A)\ne 0\) [1]; \(\varvec{f}_\varDelta \) and \(\varvec{\varDelta }_\tau \) are bounded and small [12]. The real input \(\varvec{\rho }=Q_A^{-1}(\varvec{\tau }_1-\varvec{\tau }_B)\). Equation (2) can be rewritten as
where \(\varvec{r_3}=R\varvec{e_3}\), \(\varvec{e}_3=[0,0,1]^T\), \(\bar{\varvec{f}}_\varDelta =\frac{1}{m}R\varvec{f}_\varDelta \).
Control objective The reference path \(\mathcal{P}_r\) is a regular curve described by implicit expressions, i.e. \(\mathcal{P}_r=\{[x,y,z]^{T}|f_1(x,y,z)=0,f_2(x,y,z)=0\}\), and \(\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2|_{\varvec{p}\in \mathcal{P}_r}\ne 0\), where \(f_1,f_2 \in C^{\infty }\); \(\Vert \partial _{\varvec{p}}f_1\Vert ,\Vert \partial _{\varvec{p}}f_2\Vert \) are bounded on \(\mathcal{P}_r\). In this paper the manifold \(f_1=0\) is specified as a plane \(f_1=ax+by+cz+d=0\).
Remark 1
From \(f_1,f_2\in C^{\infty }\) it follows that \(\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2\in C^{\infty }\) and \(\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2\ne 0\) in neighbourhood of \(\mathcal{P}_r\).
The control object is: (i) designing control inputs \(T_m,T_t,a_s,b_s\) such that the helicopter trajectory converges to the reference path ultimately and the magnitude of its velocity projection on reference path tends to desired speed \(v_r>0\), i.e. there exit small positive constants \(o_1,o_2,o_3\) such that
(ii) No singularity occurs in control process.
4 Controller Design
Define the path-following and velocity errors
where \(\varvec{\eta }=\frac{\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2}{\Vert \partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2\Vert }\), we can derive
where \(\varvec{h}=[0,\varvec{v}^T(\partial _{\varvec{p}}^2f_2)\varvec{v},\varvec{v}^T(\partial _{\varvec{p}}\varvec{\eta })\varvec{v}-\dot{v}_r]^T\), \(G=[\partial _{\varvec{p}}f_1,\partial _{\varvec{p}}f_2,\varvec{\eta }]^{T}\) is the control matrix. From (10) and (7) we know
where \(\varvec{\varDelta }_f=G\bar{\varvec{f}}_\varDelta \). Define the position loop controller \(\varvec{u_c}=T_m\varvec{r_3}\) and design
where \(\varvec{\nu }_c\) is a new control input to be determined. The singularity occurs when \(\mathrm{{det}}(G)=(\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2)^{T}\varvec{\eta }=\Vert \partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2\Vert =0\). From Remark 1, G is invertible in neighborhood of \(\mathcal{P}_r\). When helicopter initial position is far from \(\mathcal{P}_r\), G cannot be guaranteed to be invertible. Besides, when helicopter is far from the path, the control energy will be large. A solution for the two problems is to plan a temporary path \(\mathcal{\bar{P}}_r\) from initial position to \(\mathcal{P}_r\) such that corresponding control matrix \(\bar{G}\) is invertible on \(\bar{\mathcal{P}}_r\). In this paper define \(P_0\) to be the initial position, when \(\sqrt{|f_1(P_0)|^2+|f_2(P_0)|^2}>10\), it is need to plan a temporary-path.
Assumption 1
\(\varvec{\varDelta }_f=[\varDelta _{fx},\varDelta _{fy},\varDelta _{fz}]^{T}\) and \(\varvec{\varDelta }_\tau =[\varDelta _{\tau x},\varDelta _{\tau y},\varDelta _{\tau z}]^{T}\) are bounded and satisfy \(|\varDelta _{fi}| \le \delta _i, |\varDelta _{\tau i}| \le \gamma _i \ (i=x,y,z)\), where \(\varvec{\delta }=[\delta _x,\delta _y,\delta _z]^{T}\) and \(\varvec{\gamma }=[\gamma _x,\gamma _y,\gamma _z]^{T}\) are known upper bounds; The coefficient c in \(f_1=0\) satisfies \(|c|>\delta _x/g\) for avoiding singularity in deriving desired unit-quaternion. The physical meaning is that \(f_1=0\) is not perpendicular to \(x-y\) plane of \(\mathcal{I}\).
Path planning As illustrated in Fig. 2, the initial position \(P_0=[x_0,y_0,z_0]^T\). Choose a point \(P_{d}=[x_r,y_r,z_r]^T\) on \(\mathcal{P}_r\) and compute tangent vector \(\varvec{p}_d=[\bar{x},\bar{y},\bar{z}]^T=\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2|_{P_d}\). Define \(\varvec{p}_0=\overrightarrow{P_0P_d}\) and compute \(\varvec{p}_0\times \varvec{p}_d=[\bar{x}_1,\bar{y}_1,\bar{z}_1]^T\). If \(P_d\) are chosen such that \(\bar{z}_1\ne 0\) and \(\varvec{p}_0\) is not collinear with \(\varvec{p}_d\), a temporary path can be planned with following steps:
Firstly, passing through \(\varvec{p}_0\) and \(\varvec{p}_d\) we can define a plane \(\bar{f}_1=a_1x+b_1y+c_1z+d_1=0\). Since \(P_d\) lies on \(\bar{f}_1=0\) and its normal vector is \(\varvec{p}_0\times \varvec{p}_d\), we know \(d_1 = -a_1x_r-b_1y_r-c_1z_r\) and \([a_1,b_1,c_1]=k[\bar{x}_1,\bar{y}_1,\bar{z}_1]\), where k is a constant. Considering \(\bar{z}_1\ne 0\), choosing \(|k|>\frac{\delta _x}{|\bar{z}_1| g}\) can guarantee that \(c_1>\delta _x/g\).
Then, define \(\bar{f}_2 = 0\) to be a sphere, its center \(\bar{O} = [a_2,b_2,c_2]^T\), \(\varvec{p}_1 = \overrightarrow{\bar{O}P_0}\) and \(\varvec{p}_2 = \overrightarrow{\bar{O}P_d}\). Since \(\varvec{p}_2\perp \varvec{p}_d\), \(\bar{f}_1(\bar{O}) = 0\) and \(\Vert \varvec{p}_1\Vert = \Vert \varvec{p}_2\Vert \), \(\bar{O}\) can be determined by
Since \(\varvec{p}_0\) is not collinear to \(\varvec{p}_d\), above inverse matrix is well defined and \([a_2,b_2,c_2]^T\) can be determined uniquely. Define \(\Vert \varvec{p}_1\Vert =r\), we have \(\bar{f}_2=\frac{1}{k_1}((x-a_2)^2+(y-b_2)^2+(z-c_2)^2-r^2)=0\), where \(k_1\ne 0\) is a constant.
Finally, temporary path \(\mathcal{\bar{P}}_r\) is the intersection of \(\bar{f}_1=0\) and \(\bar{f}_2=0\). Since two paths are generated (bold line and normal one in Fig. 2), the one with smaller angle from its tangent line at \(P_0\) to helicopter head direction should be selected.
Remark 2
\(\mathcal{\bar{P}}_r\) satisfies that 1) \(\partial _{\varvec{p}}\bar{f_1}\times \partial _{\varvec{p}}\bar{f_2}\) is collinear with \(\partial _{\varvec{p}}f_1\times \partial _{\varvec{p}}f_2\) at \(P_d\). 2) \(\partial _{\varvec{p}}\bar{f_1}\perp \partial _{\varvec{p}}\bar{f_2}\) on \(\mathcal{\bar{P}}_r\), i.e. \(\partial _{\varvec{p}}\bar{f_1}\times \partial _{\varvec{p}}\bar{f_2}\ne 0\) on \(\mathcal{\bar{P}}_r\). Since \(\bar{f_1},\bar{f_2}\in C^{\infty }\), it holds near \(\mathcal{\bar{P}}_r\), i.e. control matrix \(\bar{G}\) invertible near \(\mathcal{\bar{P}}_r\).
\({\bar{\mathcal {P}}}_\mathbf{r }\) following The position loop controller design is divided to two steps: \(\bar{\mathcal{P}}_r\) following and then \(\mathcal{P}_r\) following. Firstly define errors for the temporary path \(\bar{\mathcal{P}}_r\)
where \(\bar{\varvec{\eta }}=\frac{\bar{\varvec{\eta }}_1\times \bar{\varvec{\eta }}_2}{\Vert \bar{\varvec{\eta }}_1\times \bar{\varvec{\eta }}_2\Vert }\), \(\bar{\varvec{\eta }}_1=[a_1,b_1,c_1]^{T}\), \(\bar{\varvec{\eta }}_2=\frac{2}{k_1}[x-a_2,y-b_2,z-c_2]^{T}\). It yields
where \(\bar{G}=[\bar{\varvec{\eta }}_1,\bar{\varvec{\eta }}_2,\bar{\varvec{\eta }}]^{T}\) is control matrix, \(\bar{\varvec{h}}=[\bar{h}_1,\bar{h}_2,\bar{h}_3]^T=[0,\frac{2}{k_1}\varvec{v}^T\varvec{v},\varvec{v}^T(\partial _{\varvec{p}}\bar{\varvec{\eta }})\varvec{v}-\dot{\bar{v}}_r]^{T}\). Define \(\bar{\varvec{u}}_c=T_m\varvec{r}_3\) and design it as
where \(\bar{\varsigma }_{k1}=\bar{k}_{12}\bar{\varsigma }_1+\dot{\bar{\varsigma }}_1\), \(\bar{\varsigma }_{k2}=\bar{k}_{22}\bar{\varsigma }_2+\dot{\bar{\varsigma }}_2\), \(\bar{\vartheta }_1=\mathrm{tanh}(\bar{\varsigma }_{k1})+\mathrm{tanh}(\dot{\bar{\varsigma }}_1)+\frac{\bar{k}_{12}}{\bar{k}_{11}}\dot{\bar{\varsigma }}_1\), \(\bar{\vartheta }_2=\mathrm{tanh}(\bar{\varsigma }_{k2})+\mathrm{tanh}(\dot{\bar{\varsigma }}_2)+\frac{\bar{k}_{22}}{\bar{k}_{21}}\dot{\bar{\varsigma }}_2\); \(\bar{k}_{11},\bar{k}_{12},\bar{k}_{21},\bar{k}_{22},\bar{k}_{31},\bar{\varepsilon }_1,\bar{\varepsilon }_2,\bar{\varepsilon }_3\) are positive constants. Since \(\Vert \varvec{r}_3\Vert =1\), \(T_m=\Vert \bar{\varvec{u}}_c\Vert \). If \(\bar{\varvec{u}}_c\not \in \mathcal{L}=\{[0,0,u]^T,u \le 0\}\), then the desired unit-quaternion \(Q_c=[\mu _c,\varvec{q}_c^T]^T\) can be derived from \(\bar{\varvec{u}}_c\) [12]
Theorem 1
If initial velocity \(\varvec{v}(0)=\varvec{0}\) and the parameters in (17) satisfy
Then control law (16) guarantees: (i) \(\bar{\varsigma }_1,\dot{\bar{\varsigma }}_1,\bar{\varsigma }_2,\dot{\bar{\varsigma }}_2,\bar{\varsigma }_3\) are bounded and converge to a small neighbourhood of origin. (ii) \(\bar{G}\) is invertible during control and no singularity occurs in deriving desired unit-quaternion with (18).
Proof
(i) Define \(\varvec{\bar{\varsigma }} = [\bar{\varsigma }_{k1},\dot{\bar{\varsigma }}_1]\), choose Lyapunov function
Based on Lemma 2, we know \(\bar{\vartheta }_1\varDelta _{fx} \le |\bar{\vartheta }_1|\delta _x \le [\bar{\vartheta }_1\mathrm{tanh}(\frac{\bar{\vartheta }_1}{\bar{\varepsilon }_1}) + k_q\bar{\varepsilon }_1]\delta _x\). Considering \(\begin{bmatrix}\bar{k}_{11}&\bar{k}_{11}\\ \bar{k}_{11}&\bar{k}_{11}+\bar{k}_{12}\end{bmatrix} = \varLambda ^T\begin{bmatrix}\bar{k}_{11}&0\\ 0&\bar{k}_{12} \end{bmatrix}\varLambda \), where \(\varLambda = \begin{bmatrix} 1&1\\ 0&1 \end{bmatrix}\), (21) yields \(\dot{V} \le k_q\bar{\varepsilon }_1\delta _x-\underline{\lambda }(\varLambda ^T\varLambda )\mathrm{min}\{\bar{k}_{11},\bar{k}_{12}\}\Vert \mathrm{tanh}(\bar{\varvec{\varsigma }})\Vert ^2 = k_q\bar{\varepsilon }_1\delta _x-0.382\bar{k}_{12}\Vert \mathrm{tanh}(\bar{\varvec{\varsigma }})\Vert ^2\). From (19) we know \(\frac{k_q\bar{\varepsilon }_1\delta _x}{0.382\bar{k}_{12}}< 1\). When \(\Vert \mathrm{tanh}(\bar{\varvec{\varsigma }})\Vert > \sqrt{\frac{k_q\bar{\varepsilon }_1\delta _x}{0.382\bar{k}_{12}}}\), \(\dot{V}<0\), which means \(\bar{\varvec{\varsigma }}\) is bounded. Then from Lemma 1 we have \(\chi \Vert \bar{\varvec{\varsigma }}\Vert \le \Vert \mathrm{tanh}(\bar{\varvec{\varsigma }})\Vert \), where \(0< \chi < 1\), it follows
Besides, from (20) we have \(\frac{\chi }{2}\Vert \bar{\varvec{\varsigma }}\Vert ^2 \le V \le \chi _2\Vert \bar{\varvec{\varsigma }}\Vert ^2\), where \(\chi _2=\frac{1}{2}(1+\frac{\bar{k}_{12}}{\bar{k}_{11}})\). Then \(\dot{V} \le -\frac{0.382\bar{k}_{12}\chi ^2}{\chi _2}V+k_q\bar{\varepsilon }_1\delta _x\). Integrating it yields
So \(\bar{\varvec{\varsigma }}\) exponentially converges to the set \(\mathbb {Z}_{v1} = \{\bar{\varvec{\varsigma }}| \Vert \bar{\varvec{\varsigma }}\Vert \le \sqrt{\frac{0.73\bar{\varepsilon }_1\delta _x}{\chi ^3}(\frac{1}{\bar{k}_{12}}+\frac{1}{\bar{k}_{11}})} \}\). Due that \(|\dot{\bar{\varsigma }}_1|\le \Vert \bar{\varvec{\varsigma }}\Vert \), \(\dot{\bar{\varsigma }}_1\) also converges to \(\mathbb {Z}_{v1}\). Considering \(\dot{\bar{\varsigma }}_1=-\bar{k}_{12}\bar{\varsigma }_1+\bar{\varsigma }_{k1}\) and \(|\bar{\varsigma }_{k1}|\le \Vert \bar{\varvec{\varsigma }}\Vert \), integrating \(\dot{\bar{\varsigma }}_1\) yields
Thus \(\bar{\varsigma }_1\) converges to set \(\mathbb {Z}_{p1}=\{|\bar{\varsigma }_1|\le \frac{1}{\bar{k}_{12}}\sqrt{\frac{0.73\bar{\varepsilon }_1\delta _x}{\chi ^3}(\frac{1}{\bar{k}_{12}}+\frac{1}{\bar{k}_{11}})} \}\). Similarly, \(\bar{\varsigma }_2\) and \(\dot{\bar{\varsigma }}_2\) exponentially converge to sets \(\mathbb {Z}_{p2}=\{\bar{\varsigma }_2| |\bar{\varsigma }_2|\le \frac{1}{\bar{k}_{22}}\sqrt{\frac{0.73\bar{\varepsilon }_2\delta _y}{\chi ^3}(\frac{1}{\bar{k}_{22}}+\frac{1}{\bar{k}_{21}})} \}\) and \(\mathbb {Z}_{v2}=\{\dot{\bar{\varsigma }}_2| |\dot{\bar{\varsigma }}_2|\le \sqrt{\frac{0.73\bar{\varepsilon }_2\delta _y}{\chi ^3}(\frac{1}{\bar{k}_{22}}+\frac{1}{\bar{k}_{21}})} \}\), respectively.
For \(\bar{\varsigma }_3\), choose Lyapunov function \(V_1=\frac{1}{2}\bar{\varsigma }_3^2\), its derivative is
From Lemma 2, \(\bar{\varsigma }_3\varDelta _{fz} \le |\bar{\varsigma }_3|\delta _z \le (\bar{\varsigma }_3\mathrm{tanh}(\frac{\bar{\varsigma }_3}{\bar{\varepsilon }_3}) + k_q\bar{\varepsilon }_3)\delta _z\), thus \(\dot{V}_1 \le - \bar{k}_{31}\bar{\varsigma }_3\mathrm{tanh}(\bar{\varsigma }_3) + k_q\bar{\varepsilon }_3\delta _z\). Based on Lemma 1 we have \(\dot{V_1} \le -\bar{k}_{31}\chi \bar{\varsigma }_3^2 + k_q\bar{\varepsilon }_3\delta _z = -2\bar{k}_{31}\chi V_1 + k_q\bar{\varepsilon }_3\delta _z\). Integrating it yields
Thus \(\bar{\varsigma }_3\) exponentially converges to the set \(\mathbb {Z}_3=\{\bar{\varsigma }_3| |\bar{\varsigma }_3|\le \sqrt{\frac{0.2785\bar{\varepsilon }_3\delta _z}{\bar{k}_{31}\chi }} \}\).
Above sets can be made small by increasing \(\bar{k}_{21},\bar{k}_{22},\bar{k}_{31}\) and decreasing \(\bar{\varepsilon }_1,\bar{\varepsilon }_2,\bar{\varepsilon }_3\). Since \(\varvec{p}(0)\in \mathcal{\bar{P}}_r\) and \(\varvec{v}(0)=\varvec{0}\), we have \(\bar{\varsigma }_1(0)=\dot{\bar{\varsigma }}_1(0) =\bar{\varsigma }_2(0) =\dot{\bar{\varsigma }}_2(0) =0\). So under the control law helicopter keeps in the neighbourhood of \(\mathcal{\bar{P}}_r\).
(ii) From Remark 2 and proof of (i) it yields that \(\bar{G}\) keeps invertible. When \(\bar{u}_{cx}\ne 0\) or \(\bar{u}_{cy}\ne 0\), \(\bar{\varvec{u}}_c\not \in \mathcal{L}\), which means no singularity occurs in deriving the desired unit-quaternion. So we only need to consider the singularity when \(\bar{\varvec{u}}_c=[0,0,\bar{u}_{cz}]^T\). Left-multiplying (16) by \([a_1,b_1,c_1]\) yields \(\bar{u}_{cz}=m(g+\frac{\bar{\nu }_1}{c_1})\). From (17) \(|\frac{\bar{\nu }_1}{c_1}|\le \frac{2\bar{k}_{11}+\delta _x}{|c_1|}\), it follows \(\bar{u}_{cz}\ge m(g-\frac{2\bar{k}_{11}+\delta _x}{|c_1|})\). Since \(\bar{k}_{11}<\frac{|c_1|g-\delta _x}{2}\), we get \(\bar{u}_{cz}>0\) and \(\bar{\varvec{u}}_c\not \in \mathcal{L}\), which means no singularity occurs in deriving the desired unit-quaternion with (18).
\({\mathcal {P}}_\mathbf{r }\) following Define P to be helicopter position and \(\bar{\varepsilon }\) to be a small positive constant, when \(\Vert P - P_{d}\Vert \le \bar{\varepsilon }\), control \(\varvec{u}_c\) is given by (12) and \(\varvec{\nu }_c\) is designed as
where \(\varsigma _{k1} = k_{12}\varsigma _1 + \dot{\varsigma }_1\), \(\varsigma _{k2} = k_{22}\varsigma _2 + \dot{\varsigma }_2\), \(\vartheta _1 = \mathrm{tanh}(\varsigma _{k1}) + \mathrm{tanh}(\dot{\varsigma }_1) + \frac{k_{12}}{k_{11}}\dot{\varsigma }_1\), \(\vartheta _2 = \mathrm{tanh}(\varsigma _{k2}) + \mathrm{tanh}(\dot{\varsigma }_2) + \frac{k_{22}}{k_{21}}\dot{\varsigma }_2\). \(k_{11},k_{12},k_{21},k_{22},k_{31},\varepsilon _1,\varepsilon _2\) and \(\varepsilon _3\) are positive constants satisfying
From Remark 2, \(\varvec{v}\) is approximately tangent to \(\mathcal{P}_r\) at switching instant. So under the control law helicopter keeps in the neighbourhood of \(\mathcal{P}_r\). Based on Remark 1 it yields that G keeps invertible. The constraint for \(k_{11}\) in (28) guarantees that no singularity occurs in deriving desired unit-quaternion.
Attitude controller design Define attitude tracking error \(Q_e=[\mu _e,\varvec{q}_e^T]^T=Q_c^{-1}\otimes Q\) [15], its derivative is
where \(\varvec{\omega }_e=\varvec{\omega }-R^T(Q_e)\varvec{\omega _c}\) is the angular velocity error and \(\varvec{\omega }_c\) is the desired angular velocity. From (3) \(\varvec{\omega }_c\) and its derivative \(\varvec{\dot{\omega }}_c\) can be derived as
where \(\dot{\Theta }_c=\Theta (\dot{Q}_c)\). From Lemma 3, \(\dot{Q}_c\) and \(\ddot{Q}_c\) can be obtained by a command filter instead of calculating them accurately. Assign Lyapunov function
where \(k_Q>0\), \(k_\mu =1\) when \(\mu _e\ge 0\) and \(k_\mu =-1\) when \(\mu _e<0\). From (29), \(\dot{L}=k_Qk_\mu \varvec{q}_e^T\varvec{\omega }_e\). Define \(\bar{\varvec{\omega }}_e=[\bar{\omega }_{ex},\bar{\omega }_{ey},\bar{\omega }_{ez}]^T=\varvec{\omega }_e+k_\omega k_\mu \varvec{q}_e\), where \(k_\omega > 0\). Choose a Lyapunov function
Design the control torque
where \(k_\tau >0\) and \(\varepsilon _4\) is a small positive constant. Substituting \(\varvec{\tau }_1\) into (34) yields
Theorem 2
Take \(k_\omega \le \frac{4k_\tau }{\bar{\lambda }(J)}\), the attitude controller (35) guarantees that the attitude tracking error \(\varvec{q}_e\) and angular velocity error \(\varvec{\omega }_e\) are bounded and ultimately converge to neighbourhoods of the origin.
Proof
From Lemma 2, \(\bar{\varvec{\omega }}_e^T\varvec{\varDelta }_\tau \le \sum _{i = x,y,z}|\bar{\omega }_{ei}|\gamma _i \le \sum _{i = x,y,z}[\bar{\omega }_{ei} \mathrm{tanh}(\frac{\bar{\omega }_{ei}}{\varepsilon _4}) + k_q\varepsilon _4]\gamma _i = \bar{\varvec{\omega }}_e^T\mathrm{Tanh}(\frac{\bar{\varvec{\omega }}_e}{\varepsilon _4})\varvec{\gamma } + d_\tau \), where \(d_\tau = \sum _{i = x,y,z}k_q\varepsilon _4\gamma _i\). Substituting it into (36) yields
From (33), \(\dot{L}_1 \le - \mathrm{min}\{\frac{k_\omega }{2},\frac{2k_\tau }{\bar{\lambda }(J)}\}L_1 + d_\tau = - \frac{k_\omega }{2}L_1 + d_\tau \). Integrating it gives
Also from (33) we know that \(K_Q \varvec{q}_e^T \varvec{q}_e \le L_1\) and \(\frac{\underline{\lambda }(J)}{2}\bar{\varvec{\omega }}_e^T\bar{\varvec{\omega }}_e \le L_1\). Thus \(\varvec{q}_e\) and \(\bar{\varvec{\omega }}_e\) are bounded and ultimately converge to the compact sets \(\mathbb {C}_q = \{ \varvec{q}_e| \Vert \varvec{q}_e\Vert \le \sqrt{\frac{2d_\tau }{k_Qk_\omega }} \}\) and \(\mathbb {\bar{C}}_\omega = \{ \bar{\varvec{\omega }}_e| \Vert \bar{\varvec{\omega }}_e\Vert \le \sqrt{\frac{4d_\tau }{\underline{\lambda }(J)k_\omega }} \}\). Since \(\varvec{\omega }_e = \bar{\varvec{\omega }}_e - k_\omega k_\mu \varvec{q}_e\), we have \(\Vert \varvec{\omega }_e\Vert \le \Vert \bar{\varvec{\omega }}_e\Vert + k_\omega \Vert \varvec{q}_e\Vert \), so \(\varvec{\omega }_e\) converges to the set \(\mathbb {C}_\omega = \{ \varvec{\omega }_e| \Vert \varvec{\omega }_e\Vert \le \sqrt{\frac{2k_\omega d_\tau }{k_Q}} + \sqrt{\frac{4d_\tau }{\underline{\lambda }(J)k_\omega }} \}\).
Remark 3
By taking \(k_Q\) \(>>\) \(k_\omega \), increasing \(k_Q,k_w\) and decreasing \(\varepsilon _4\), the sets \(\mathbb {C}_q\) and \(\mathbb {C}_\omega \) can be made small.
5 Simulation
A simulation is performed to verify the proposed controller. The helicopter parameters are as follows [12]: \(m=7.4\,\mathrm {kg}\), \(I_x=0.16\,\mathrm{kgm^2}\), \(I_y = 0.30\,\mathrm{kgm^2}, I_z = 0.32\,\mathrm{kgm^2}, I_{xz} = 0.05\,\mathrm{kgm^2}, l_m = 0.01\,\mathrm{m} ,h_m = 0.14\,\mathrm{m}, l_t = 0.95\,\mathrm{m}, h_t = 0.05\,\mathrm{m}, M_a = L_b = 110, A_m = 0.00452, B_m = 0.63, A_t = 0.005066, B_t = 0.008488\) and \(g=9.81\,\mathrm {m/s^2}\). The desired reference path \(\mathcal{{P}}_r\) is a circular curve determined by
Define \(P_0=[11,10,0]^{T}\) and choose \(P_{d}=[5,0,8]^{T}\), we can obtain the sphere center \(\bar{O}=[11,0,0]^{T}\) and the temporary path \(\mathcal{\bar{P}}_r\) is planned by
where \(\varvec{\delta }=[1,1,1]^{T}, \varvec{\gamma }=[0.5,0.5,0.5]^{T}\). The controller parameters are chosen as follows: \(\bar{k}_{11}=\bar{k}_{12}=1,\bar{k}_{21}=\bar{k}_{22}=3.5,\bar{k}_{31}=1, \bar{\varepsilon }_1=0.3,\bar{\varepsilon }_2=0.5,\bar{\varepsilon }_3=0.1; k_{11}=k_{12}=2,k_{21}=k_{22}=3.5,k_{31}=3,\varepsilon _1=0.3,\varepsilon _2=0.8,\varepsilon _3=0.08; k_Q=500, k_\omega =k_\tau =16, \varepsilon _4=0.05;\xi =0.707,\omega _n=10,\bar{\varepsilon }=0.01\), and they satisfy the conditions in theorems. Choose \(\bar{v}_r=v_r=2.5\,\mathrm {m/s}\).
Figure 3 shows the 3-D path following result. Figures 4, 5 and 6 illustrate the path following, attitude and angular velocity errors respectively, which are bounded and converge to neighborhoods of origin. Figure 7 shows that the speed converges to \(v_r\). Figure 8 illustrate \(u_{cz}\)(or \(\bar{u}_{cz}\) before switch) is greater than zero, implying that no singularity occurs in deriving command attitude.
Figures 9 and 10 show comparisons of spatial distance \(d_s\), which defines the shortest distance from actual position to the path, and thrust \(T_m\) using the proposed control law and \(d_{s1}\), \(T_{m1}\) using the control law [1] without temporary-path generation. Obviously, \(T_{m1}\) is large in convergence process, and it would result in control saturation if further increasing parameters to reduce the error.
6 Conclusion
This paper presents a singularity-free path following controller for miniature unmanned helicopters. The reference path is defined by implicit expression. Numerical simulation demonstrates the effectiveness of proposed controller. In future research we will extend the controller to more general manifolds and consider the disturbances and parametric uncertainties.
References
Zhu B, Huo W. 3-D path-following control for a model-scaled autonomous helicopter. IEEE Trans Control Syst Technol. 2014;22(5):1927–34.
Aguiar AP, et al. Performance limitations in reference tracking and path following for nonlinear systems. Automatica. 2008;44(3):598–610.
Huo W, Wang Q. Path following controller design for miniature unmanned helicopters. In: Control conference IEEE. 2011. p. 3537–3542.
Wang B, Dong X. Cascaded control of 3D path following for an unmanned helicopter. In: Cybernetics and intelligent systems IEEE. 2010. p. 70–75.
Wang T, et al. Combined of vector field and linear quadratic Gaussian for the path following of a small unmanned helicopter. Iet Control Theory Appl. 2012;6(6):2696–703.
Cabecinhas D, Cunha R, Silvestre C. A globally stabilizing path following controller for rotorcraft with wind disturbance rejection. IEEE Trans Control Syst Technol. 2015;23(2):708–14.
Roza A, Maggiore M. Path following controller for a quadrotor helicopter. In: American control conference IEEE. 2012. p. 4655-4660.
Qiang W, Huo W. Adaptive path-following control for miniature autonomous helicopter. Acta Armamentarii. 2012;33(11):1364–72.
Gandolfo. Path following for unmanned helicopter: an approach on energy autonomy improvement. Inf Technol Control. 2016;45(11).
Hua, Duc M, et al. Introduction to feedback control of underactuated VTOLvehicles: a review of basic control design ideas and principles. IEEE Control Syst. 2013;33(1).
Raptis IA, Valavanis KP, Moreno WA. A novel nonlinear backstepping controller design for helicopters using the rotation matrix. IEEE Trans Control Syst Technol. 2011;19(2).
Zou Y. Trajectory tracking ocntrol developments for miniature unmanned helicopters. PhD Dissertation. Beihang University, Beijing, China. 2016.
Polycarpou MM, Ioannou PA. A robust adaptive nonlinear control design. Automatica. 1996;32(3):423–7.
Farrell, Jay A, et al. Command filtered backstepping. IEEE Trans Autom Control. 2009;54(6):1391–1395.
Tayebi A. Unit quaternion-based output feedback for attitude tracking problem. IEEE Trans. Autom. Control. 2008;53(6):1516–20.
Acknowledgements
This work was supported by National Natural Science Foundation of China under Grant No. 61673043.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Ma, X., Huo, W. (2018). Singularity-Free Path Following Control for Miniature Unmanned Helicopters. In: Jia, Y., Du, J., Zhang, W. (eds) Proceedings of 2017 Chinese Intelligent Systems Conference. CISC 2017. Lecture Notes in Electrical Engineering, vol 460. Springer, Singapore. https://doi.org/10.1007/978-981-10-6499-9_64
Download citation
DOI: https://doi.org/10.1007/978-981-10-6499-9_64
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-6498-2
Online ISBN: 978-981-10-6499-9
eBook Packages: EngineeringEngineering (R0)