Path Following for a Class of Underactuated Systems Using Global Parameterization

A large number of both aerial and underwater mobile robots fall in the category of underactuated systems that are defined on a manifold, which is not isomorphic to Euclidean space. Traditional approaches to designing controllers for such systems include geometric approaches and local coordinate-based representations. In this paper, we propose a global parameterization of the special orthogonal group, denoted by <inline-formula> <tex-math notation="LaTeX">$ \mathsf {SO}(3)$ </tex-math></inline-formula>, to design path-following controllers for underactuated systems. In particular, we present a nine-dimensional representation of <inline-formula> <tex-math notation="LaTeX">$ \mathsf {SO}(3)$ </tex-math></inline-formula> that leads to controllers achieving path-invariance for a large class of both closed and non-closed embedded curves. On the one hand, this over-parameterization leads to a simple set of differential equations and provides a global non-ambiguous representation of systems as compared to other local or minimal parametric approaches. On the other hand, this over-parameterization also leads to uncontrolled internal dynamics, which we prove to be bounded and stable. The proposed controller, when applied to a quadrotor system, is capable of recovering the system from challenging situations such as initial upside-down orientation and also capable of performing multiple flips.


I. INTRODUCTION
We consider a class of underactuated systems that are equipped with a mechanism capable of producing a torque input about each body axis, and a thrust input about one of the body axes. We denote this underactuated class of vehicles by C V . As described in [1], a large class of systems including satellites, quadrotors, underwater vehicles, and tail-sitting robots belong to this class of underactuated systems. In several mobile robotic applications, each vehicle is required to operate in a 3D environment such that it moves through space in a prescribed manner. The rotational dynamics of each system belonging to C V class are defined on a smooth manifold SO(3) ×R 3 . The special orthogonal group, SO(3) can be represented by a set of three by three orthogonal matrices which not only form a group under matrix multiplication but also has a smooth manifold structure and therefore form a Lie group [2].
The associate editor coordinating the review of this manuscript and approving it for publication was Min Wang .
Informally, we consider a path following problem: given a system belonging to the C V class of vehicles, as well as a smooth non-self intersecting curve in the 3D space, our goal is to design a novel control law using a global parameterization of the manifold understudy such that the system converges to the path and follows it. Specifically, we represent each point of SO(3) both globally and uniquely by using nine parameters [3]. A path following problem is more general compared to a trajectory tracking problem, as a path can be treated as a set of trajectories [4]. Moreover, the path following framework allows achieving path invariance, which means that once the system converges to the path, it stays on it for all future time [5].
In literature, the motion control problem of underactuated systems is formulated either in a cascade (inner-outer loop) setting or in a monolithic setting [6]- [8]. Typically, for the class of systems considered in this work, the inner loop is the attitude loop, while the outer loop is the position loop. Although by using the inner-outer loop structure, the control design procedure becomes comparatively simpler, the stability of each subsystem does not ensure the stability of VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/ the overall system, which must be proven independently.
In contrast, the monolithic control approach does not need such a requirement. Moreover, it is natural to formulate a path following problem in a monolithic setting, and we follow a monolithic control design approach in this paper. The states of the nonlinear underactuated system are defined on a manifold, i.e., SO(3) ×R m . Generally, there are two approaches to study such problems: geometric approach [7]- [11] and coordinate-based approach [12]- [14]. In geometric or coordinate-free approach, the goal is to design a controller without choosing a coordinate chart. As outlined by [7]- [11] the resulting geometric controller can achieve almost global results but tools from differential geometry are required because the system states are defined on a manifold, which is not globally isomorphic to a Euclidean space [15], [16]. The goal of this paper is to design a path-following controller using techniques of classical non-linear control theory without using complicated tools of geometric theory. Since classical non-linear controls theory deals with systems defined on Euclidean space, therefore, we seek an effective parameterization of the underlying manifold [6], [13], [14].
The parameterization of SO (3) is a well-studied problem, and here we discuss the advantages and disadvantages of some common parameterizations of SO(3). Since SO(3) is a three dimensional manifold, it is natural to use three parameters for representing each point of SO(3) [17]. For example, one possible choice of parameters is Euler angles, where the system states are represented on R 3 × R m . However, this is a local representation and has singularities [6], [18].
A four-dimensional parameterization is afforded by the use of quaternions, which help avoid singularities but provide a double-cover of SO(3). Thus, one attitude may be expressed by two different quaternions, which are antipodal to each other. This ambiguity in the representation might cause the system to exhibit an undesirable behavior called unwinding [3], [19], [20].
In [3], the authors establish that a minimum fivedimensional parameterization is needed to represent SO(3) both uniquely and globally. The authors also present a minimal five-dimensional parameterization for SO(3), which is global and one-to-one, but it leads to complicated set of non-linear differential equations representing system dynamics. Solving these equations numerically is not only computationally expensive, but also manipulating them for the control design is very challenging.
In contrast to the above approaches, we propose a novel nine-dimensional parameterization approach to solve the underactuated rigid body control problem. Our approach is inspired by the fact that each element of SO(3) is represented by a three-by-three orthonormal matrix. We treat each entry of the matrix as a parameter, which leads to a global and one-to-one parameterization. Although this is an over parameterization of the underlying manifold, this leads to a simple nonlinear dynamic model compared to the dynamics that result from three, four or five-dimensional parameterization. This representation not only avoids complications in control design, such as ambiguities of quaternions and singularities of Euler angles but also allows us to use standard nonlinear control tools for analysis and design. In [14], the authors, provide tracking controllers by embedding the state-space manifold of the given system into a higher dimensional Euclidean space. Similar to our approach, their control design method also uses classical nonlinear tools; however, our method provides path following controllers that guarantee path invariance. Moreover, compared to [14], our parameterization methodology is inspired by the representation theory and not embedded manifolds. Our main contributions are as follows: 1) We propose a novel nine-dimensional parameterization method for solving path following control problems for C V class of vehicles. 2) A judicious choice of state functions allows us to perform partial transverse feedback linearization and achieve a well-defined vector relative degree.
3) The path-following problem is treated as a setstabilization problem, which allows the system to achieve path invariance, i.e., the system once attracted to the path will subsequently evolve on this invariant manifold. 4) Our over parameterization approach leads to uncontrolled internal dynamics. However, we prove that the internal dynamics are bounded and stable.

A. RELATED WORK
In the survey paper [21], the authors provide a comprehensive overview of the state-of-the-art for both path following and tracking controllers of the quadrotor and reviewed various path following controllers applied to different types of aerial robots, including fixed-wing flying robots and rotary wing aerial vehicles, e.g., quadcopters and helicopters. Moreover, the authors studied two types of control techniques, i.e., backstepping and feedback linearization, and two so-called geometric control algorithms, i.e., nonlinear guidance control and carrot-chasing, in the context of path following and tracking.
Although the backstepping controller discussed in [21], just like our method, enables the system to recover from an upside-down position, but the critical difference is this backstepping controller does not guarantee path invariance, where our controller enjoys the property of path invariance. The other three controllers considered in [21] are based on a local chart and suffer singularities such as gimbal lock, however, our choice of nine-parameters allows us to globally represent the underlying manifold, which makes the system recover from an almost upside-down position and perform multiple flips. In [22], the authors considered a maneuvering problem, i.e., when a path variable is used to parameterize the desired path, which is given in the form of a geometric curve. In this case, the path-variable helps achieve a desired speed or acceleration profile along the path. The crucial difference between their work and our work is path invariance. Moreover, in [22] the authors exploited the separation of time-scale between the rotational and translational dynamics of the quadrotor, and designed the controller in a cascade way. However, we do not make any assumption of time-scale separation and design the controller in a unified setting. In [23], the authors presented a composite altitude control law for quadrotors that is constituted by both linear and nonlinear control algorithms. The smooth transition between the linear and nonlinear modes was proven based on mathematical analysis; however, our work is significantly different than their work as our controller guarantees path following for a large class of both closed and non-closed curves in the three-dimensional space. In [24], the authors addressed the problem of quadrotor navigation in an indoor environment. The quadrotor dynamics were expressed using Euler angles, that leads to local results. Moreover, the proposed controllers in their work were designed based on the near hover condition. Compared to our controllers, the controller presented in [24] cannot make the system recover from an upside-down position. A path following controller was also presented for quadrotors in [25], which was designed to follow splines in the output space of the system using Frenet-Serret frames. The paths in the proposed cascade architecture are computed using an interpolation scheme, referred as quintic spline interpolation. Although the controller achieves path invariance, these controllers suffer gimbal lock because the system is represented using a local chart. In comparison, our controllers not only guarantee path invariance but also avoid issues such as gimbal lock. A trajectory tracking controller is proposed for a variable pitch quadorotor using a coordinate-free approach in [26]. Although their controller is geometric and allows the system to recover from an upside-down position, these controllers do not make the trajectory invariant. In [27], [28], the authors considered the path following problem of underwater vehicles. However, they used a local chart to express system dynamics and therefore their controllers suffer local singularities such as gimbal lock. However, in our work, we have proposed a nine-dimensional parameterization which allows us to express SO(3) globally and uniquely. This formulation allows us to avoid gimbal lock.
The rest of this paper is organized as follows: The next section presents the notation and math preliminaries. Section II presents the dynamical model of the class of underactuated systems and describes its dynamic extension. The path following problem is stated in Section III. The controller design and proof of the main result are given in Section IV. The proof of bounded internal states is presented in Section V. Section VI demonstrates the simulation results of the embedded geometric path following controller. Finally, conclusions are drawn in Section VII.

B. NOTATION AND MATH PRELIMINARIES
We use the symbol := to represent equal by definition. The real line is represented by R and the n dimensional Euclidean space is represented by R n . For a point x ∈ R n , the Euclidean norm is denoted by x , and the distance of a point x from a subset S ⊂ R n is represented by We denote the inner product of two vectors x, y ∈ R n as x, y , and similarly, the cross product is represented by x ×y. For two maps h : A → B and s : where denotes transposition. The domain of a function σ is a set represented by D, which is equal to R for non-closed curves. The domain set for closed curve σ is given as D = R mod P, where P is the length of the curve, also referred to as the period of σ , i.e., for every λ ∈ D, we have σ (λ + P) = σ (λ). Given a C 1 map f : R n → R m and a point p ∈ R n , we denote df p := ∂f ∂x p. For two smooth maps f , g : R n → R n and a smooth real-valued map λ : R n → R, the notation used for the iterative Lie derivatives is as follows: 3 } denote a fixed reference frame for a rigid body moving in free space. To specify the position and orientation of the rigid body, let B := {b 1 , b 2 , b 3 } be a frame attached to its center of mass. The position of the body is specified using a vector from the origin of I to the origin of B. Similarly, the orientation is specified by the matrix R in the set of special orthogonal matrices defined as is a matrix Lie group and the Lie algebra associated with SO(3) is given as follows: As a vector space, so(3) is isomorphic to R 3 . The isomorphism is denoted by 1 · : R 3 → so(3) and its inverse is denoted (·) ∨ : so(3) → R 3 .

II. MATHEMATICAL MODEL
It is assumed that the position of the vehicle is given by the location of the center of mass in the inertial frame I and is represented by The velocity of the vehicle in the inertial frame I is represented by v(t) :=χ(t) ∈ R 3 and the angular velocity of the vehicle in the body-fixed frame B is represented by (t) := col(p(t), q(t), r(t)). The attitude of the system is given by a rotation matrix R(t) ∈ SO(3). It is assumed that for each system in the C V class of vehicles, there is some mechanism that provides thrust along one body axis, i.e., in the direction of −b 3 (or equivalently b 3 ). Then the total thrust is given by −u t (t)R(t)e 3 ∈ R 3 in the inertial frame, and it is assumed that the system always has some non-zero thrust value throughout the mission. This assumption is not limiting our analysis since for all practical missions, there is always a non-zero thrust value. Let K t := col(k t , k t , k t ), and K r := col(k r , k r , k r ) represent translational and rotational drag constants, respectively. Using standard Newton's equations, the translational dynamics for the C V class of vehicles can be expressed aṡ The rotation of the rigid body is governed bẏ Let J := diag(J x , J y , J z ) ∈ R 3×3 represent the inertia of the vehicle with respect to the body-fixed frame B and τ := col(τ p (t), τ q (t), τ r (t)) be the total moments about the body axis. Then we can express The total thrust u t (t) ∈ R together with τ (t) ∈ R 3 define the control input of the system u(t) Equations (1), (2), and (3) represent dynamics of the C V class of vehicles in a geometric or coordinate-free manner. We call it a coordinate-free representation as the rigid body attitude (3) is not represented by any local chart. Similar to [6], it can be observed that to design a path following controller for the underactuated system in a unified setting, dynamic extension is required. We treat one of the inputs of the system u t (t) as an extra or virtual state of the system. Let ζ 1 (t) := u t (t). To this end, we add two virtual states ζ 1 (t) ∈ R and ζ 2 (t) ∈ R. We drop the time index of each state and control input for notational simplicity and write the system in the extended form aṡ where u d is the thrust input u t delayed by the help of two integrators. Let u := col(u d , τ ) ∈ R 4 . The states of the above system (4) are defined on the manifold M : (3) is the three dimensional manifold, and can be parameterized by three parameters such as Euler angles, but we avoid these parameterizations because of singularities and computational complexities [6]. Rather we parameterize SO(3) using nine parameters by exploiting the fact that each element of a matrix Lie group can be represented by a matrix. For the case of SO(3) each element of the group has a three-by-three orthonormal representation, and we treat each element of the matrix as a coordinate. By exploiting the fact that SO(3) can be represented by a 3 × 3 orthonormal matrix, we can define an operator ♦ that reshapes an n × n matrix to an n 2 column vector by stacking all the columns of the n × n matrix Clearly, ♦ is both injective and surjective, and also it is linear transformation. However, it should be noted that is not bijective. To fix this issue, we construct a bijection by restricting the domain to SO(3) and the codomain to its image, i.e., (3) ).
Proof: First we show that it is an isomorphism. For this purpose, we need to show that this map is bijective, i.e., both surjective and injective. Surjectivity is clear from the definition because the co-domain is equal to the image of col(r 11 , r 21 , r 31 , r 12 , r 22 , r 32 , r 13 , r 23 , r 33 ) = col(r 11 , r 21 , r 31 , r 12 , r 22 , r 32 , r 13 , r 23 , r 33 ).
Let := ♦| SO(3) (R) and apply the operator ♦ to (2) The full nonlinear dynamics of the extended C V class of underactuated system (4) after the application of the ♦| SO(3) operator takes the following form: We assume that the thrust input u t is not only positive but also bounded away from zero, i.e., u t = ζ 1 ∈ (0, ∞) := R + . This is a valid practical assumption because for the case of the quadrotor u t = ζ 1 = 0 means all rotors stop spinning at the same time. Clearly, this is not desirable in all of the missions involving path following and point stabilization along curves. Let It should be noted that the state of the system x := col(χ, v, , , ζ 1 , ζ 2 ) ∈ Q ⊂ R 20 is now defined on a restricted Euclidean space. Let the output of underactuated class of vehicles be the position of the center of gravity in the inertial frame where h is a smooth function defined on an open set of Q.

III. PROBLEM STATEMENT
Intuitively, the path following problem can be interpreted as a two step procedure. In the first step the given underactuated system converges to the path, and in the second step, the robot moves along the path without leaving it. We underscore the key difference between path following and trajectory tracking, i.e., a trajectory is parameterized by time, whereas a path does not have an a priori timing law associated with it. Consider a C ∞ curve γ : R → R 3 , R λ → γ (λ) ⊂ R 3 in the system's output space. Let be a parameterization of the curve γ , and let the curve be regular, i.e., σ (λ) = 0. As σ is a regular curve, we assume, without loss of generality, that it can be unit-speed parameterized, i.e., σ (λ) = 1, using arc length parameterization [5]. Similar to [6], the following assumption is made: Assumption 1: The curve γ ⊂ R 3 is an embedded submanifold of dimension one. For an open set W , a smooth map s : W ⊂ R 3 → R 2 can be defined such that γ = s −1 (0) with rank (ds y ) = 2, ∀y ∈ γ .
We lift the smooth path γ : R → R 3 to the state space of C V class of underactuated system Making the output y of the system converge to the path γ is equivalent to forcing the states of the system x to converge to the lifted path . To asymptotically stabilize we find the largest controlled invariant subset of , as cannot be made control invariant [6].
Given a smooth, embedded path γ that satisfies Assumption 1, our goal is to design a smooth dynamic feedback controller of the following form: with ζ ∈ R 2 and u ∈ R 4 , such that if the system in initialized in an open neighbourhood of the lifted path, i.e., N ( ),the system satisfies the following objectives: G1 as t → ∞, the system converges to the path γ , i.e., h(x(t)) γ → 0; G2 For all t ≥ 0, the zero-level set s(y) satisfies output invariance; G3 The system satisfies the assigned speed/acceleration profile or achieves point stabilization along the path γ ; G4 If the system has internal dynamics, it must be stable, and all the internal states are bounded.

IV. PATH FOLLOWING CONTROLLER DESIGN
In order to satisfy G1 and G2, we pick two functions in the output space χ [6] and define The system (7) is expressed (with a slight abuse of notation) in control affine formẋ = f (x) + 4 i=1 g i (x)u i . The set is not control invariant, i.e., if the system is on the set , it cannot leave the set. We want to characterize the largest control invariant set of such that once the system is on it will stay on . We call the path following manifold and find it by applying the zero dynamics algorithm = x ∈ Q : L i f α(x) = 0, i = 0, 1, 2, 3, 4 . (11) By stabilizing , the system's dynamics evolve on the given path. Next we present some elementary results which are required to prove the main result.

Lemma 2 ( [29]): For three linearly independent vectors
For i ∈ {1, 2}, let d χ α i := col( ∂α i ∂x 1 , ∂α i ∂x 2 , ∂α i ∂x 3 ) and σ := col( ∂σ 1 ∂λ , ∂σ 2 ∂λ , ∂σ 3 ∂λ ). Lemma 3 ( [6]): Let α 1 and α 2 be defined as in (10). Then, To this end, we pick another function in the output space χ to achieve G3. Let N (γ ) ⊂ R 3 be a neighbourhood of the curve γ . The neighbourhood N (γ ) satisfies the condition that if y ∈ N (γ ), then we could find a unique y ∈ γ such that y γ = y − y . Given this property, we could define the following function: This function satisfies similar smoothness properties as that of σ , which is assumed to be at least C 3 . VOLUME 8, 2020 Using (12), we can define the ''path following output'' as follows: To control the heading of the system, we pick a fourth function as one of the body rates as such that β is smooth and rank(dβ x ) = 1, for all x ∈ Q.
In other words, we put constraints only on position vector χ , and one of the body rates r, while the other two body rates p and q are left to evolve freely on Q. Similar to [5], a ''virtual output'' function could be defined, i.e., Next we investigate the vector relative degree of the dynamics of the C V class of vehicles expressed in the restricted Euclidean space Q. Lemma 4: The underactuated system (7) with the virtual output (15) has a well-defined vector relative degree on the set , which is equal to {4, 4, 4, 1}.
Proof: Let x ∈ ∩ Q be an arbitrary point. Since ⊆ , this implies that h(x ) is on the curve γ . Let λ ∈ D be such that h(x ) = σ (λ ). To establish that the system has vector relative degree that is well-defined, we need to show that for i ∈ {1, · · · , 4}, j ∈ {0, · · · , 2}, and k ∈ {1, 2} in a neighbourhood of x , and that the following matrix is full rank. Straight forward application of iterative Lie derivatives along the system trajectories shows that the condition (16) is satisfied, and The matrix D(x ) is not full rank whenever det(D(x)) vanishes. The terms J x , J y , J z and m are all bounded. Using the assumption, the combined thrust ζ 1 = 0 and ∂ ∂ x β = 0. Using Lemma 3, span{d χ α 1 , d χ α 2 , σ }(x ) = R 3 and therefore, by Lemma 2 −d χ α 1 , d χ α 2 × σ = 0 at x . Since R ∈ SO(3), by definition det(R) = 1. Hence for any x ∈ , the matrix D(x ) is full rank, which proves the claim.

Remark 5: Clearly, the result of Lemma 4 is local and is valid only on .
Lemma 4 states that the vector relative degree of the system is less than the dimension of extended space, so we need to choose seven more functions to complete the transformation of the coordinates.
Corollary 6: For x ∈ , ∃ a neighbourhood U ⊂ Q, such that for x ∈ U the map for i ∈ {1, · · · , 4}, j ∈ {1, 2} and k ∈ {1, · · · , 7}, is a diffeomorphism. Proof: To define the coordinate transformation T , the ξ and η expression can be easily computed using the virtual output function (15) and its iterative Lie derivatives. Since the span{g 1 , · · · , g 4 } constitutes an involutive distribution, we can pick µ i functions such that its derivatives annihilate the distribution spanned by span{g 1 , · · · , g 4 }: With the above choice of µ states, it is sufficient to compute the rank of dT dx , which is a 20 × 20 Jacobian matrix. The expression for the determinant of this matrix is given as follows: By Lemma 4, −d χ α 1 , d χ α 2 × σ = 0, and ζ 1 = 0 by assumption. Therefore, the Jacobian of T is full rank in a neighbourhood of x and the coordinate transformation map T is a diffeomorphism everywhere on Q.
Let x k ∈ R k , x l ∈ R l , and R ∈ SO(3), we define the following map where the first and the third element is mapped under the standard identity map, i.e., for x n ∈ R n , id : R n → R n , x n → x n .
Proof: Consider the following commutative diagram The definition of id ⊗ ♦| SO(3) and Proposition 1 implies id ⊗ ♦| SO(3) is a diffeomorphism. T is a diffeomorphism onto its image by Corollary 6. It can be seen that T • id ⊗ ♦| SO(3) is a composition of two diffeomorphisms which proves the claim.
Let Z := col(ξ, η, µ) represent all the transformed states. Using the transformation T • id ⊗ ♦| SO(3) from Corollary 7, the system (4), in an open neighbourhood of x , is differentially equivalent tȯ for j ∈ {1, · · · , 7}, and where b j are smooth nonlinear mappings. The expression (22) suggests the feedback where (v ξ 1 , v ξ 2 , v η 1 , v η 2 ) are auxiliary control inputs. Lemma 4 and the feedback transformation (23) reduces the extended nonlinear system to 4 decoupled chain of integratorṡ A. AUXILIARY CONTROLLER DESIGN Since (24) is a linear system, a linear control law similar to [6], is designed which provides exponential stability of the ξ -subsystem for some positive gains k ξ 1i and k ξ 2i for i ∈ {1, · · · , 4}. Similarly, a linear control law is designed for the for some positive gains k η 1i for i ∈ {1, · · · , 4} and k ... η ref 11 , represent reference velocity, acceleration and jerk along the curve, respectively, Since (24) is a linear system, therefore computing these gain values are straight forward and any linear control technique such as pole placement can be used to select appropriate gains. The overall control architecture is shown in Figure 2.

V. INTERNAL DYNAMICS
Given the internal states µ, for i ∈ {1, 2, 3}, straight forward calculations give expressions for the internal dynamics, i.e., Next, we show that the internal dynamicsμ ∈ R 7 are bounded. We need the following result: Lemma 8: The system (28) is input-to-state stable. Proof: The proof is similar to [12, Lemma VI.3] Lemma 9: If the control inputs τ ∈ R 3 of the underactuated system are bounded, then the internal dynamicsμ i for i = {1, · · · , 7} in (27) are bounded. Moreover, all the internal states µ i for i = {1, · · · , 7} are also bounded.
Proof: By Lemma 8 for any bounded inputs, the body rates p, q, r are bounded. We show thatμ 1 is bounded, and a similar argument can be made forμ i for {2, · · · , 6} |μ 1 | ≤ |r||r 12 | + |q||r 13 as r ij for i, j ∈ {1, · · · , 3} are entries of rotation matrix R ∈ SO(3). By definition each |r ij | ≤ 1. Therefore,μ 1 is bounded. Moreover, µ 1 ≤ |r 11 | is also bounded. We have shown that the first internal state and the first internal dynamics is bounded. Similarly, it is easy to show thatμ i and µ i for i ∈ {2, · · · 6} are also bounded. The seventh internal state VOLUME 8, 2020 µ 7 = ζ 1 is also bounded because ζ 1 physically represents total thrust generated by each vehicle in the C V class and will always be bounded. It follows thatμ 7 = ζ 2 =ζ 1 is also bounded and G4 is satisfied.
In summary, all the objectives set for path following, i.e., G1-G4, are attained. Note that six internal states µ i for {1, · · · , 6} appear because we parameterize R ∈ SO(3) by nine parameters, which can locally be parameterized by just three parameters. It should be noted that the system's orientation is not controlled explicitly; rather, we control the body rate r. However, by making the body rate r go to zero, the system can be made to stop spinning, and it can be made to point in an arbitrary direction. We want to underscore that Lemma 4 guarantees that the decoupling matrix is full rank everywhere on the state space as long as the given path satisfies these two conditions i) −d χ α 1 , d χ α 2 × σ = 0 and ii) ∂ ∂x β = 0. Moreover, Corollary 7 guarantees that the coordinate transformation is diffeomorphism in the neighborhood of every point of the state space given that the path satisfies i) and ii). For paths that satisfy i) and ii) globally, the controllers enjoy global convergence. For paths that satisfy i) and ii) everywhere on the state space except for ''small'' set of Lebesgue measure zero, the controller enjoys almost-global convergence. For paths that satisfy i) and ii) locally the controller enjoys local convergence.

VI. SIMULATION RESULTS
In this section, we present simulation results for one of the systems belonging to the C V class of vehicles, i.e., a quadrotor, and as an example, we assign it to follow a circular path, i.e., x 2 1 + x 2 2 − 1 = 0 at the height of 10 m, i.e., x 3 − 10 = 0. We consider three simulation scenarios. In the first case, the system is required to follow the given path from an almost upright position. In the second case, the system is initialized at an almost upside-down position and is required to follow the given path. In the third case, the system is simulated in the presence of sensor noise and parametric uncertainties. The system has mass m = 0.1 kg, inertiae J x = J y = 0.0177 kg.m 2 and J z = 0.0344 kg.m 2 , and acceleration due to gravity is g = 9.8 m/sec 2 . Additionally, in each scenario, the system is required to follow a desired speed profile of 1 rad/sec, i.e., η The system is initialized at a position χ(0) = col(3.2, 5, 0) m. Furthermore, at time t = 0, translational velocities arė χ(0) = col(0, 0, 0) m/sec, and body rates are (0) = col(0, 0, 0) rad/sec. It should be noted that this quadrotor system is defined on a manifold and not on the Euclidean space, and during the simulation, the system may leave the manifold if classical integration techniques (such as Runge-Kutta methods) are used. So, we must be careful to avoid this scenario while integrating the system from one time-step to the next. To this end, we employ a numerical integration technique on manifolds that restricts the system trajectories on the manifold by using a sophisticated approximation. For a detailed discussion on numerical integration techniques and the trade-off between accuracy and complexity, see various methods proposed in [30]- [33]. A method of numeric integration on manifolds ensures that the numerical solution evolves on the manifold. It can be seen in Figure 3 that the system starting from an initial position of χ(0) = col(3.2, 5, 0), indicated by a solid red dot, converges to the desired path, indicated by the dashed green line, and then follows the path. As seen in the figure, path invariance ensures that as soon as the system converges to the path, it retains itself on the path in future. Another way to see that the system has achieved path invariance is by looking at the states of ξ -subsystem. As shown in Figure 4, all ξ states converge to zero, or the system trajectories converge to the set . The bottom plot of Figure 4 shows the behavior of η states. The η 11 state, which represents position of the vehicle on the circular path is shown to be moving between −π and π . The η 12 state which represents velocity of the vehicle along the path is shown to follow the commanded velocity profile of η ref 12 = 1 rads/sec in the figure. Next, we look at the quadrotor translational velocitiesχ . As shown in Figure 5, to achieve the desired velocity along the curve η 12 = 1 rads/sec, the system is required to move with a translational velocity of about ±1 m/sec in the x and y direction. Since the path has a constant height, v z is zero as shown in Figure 5. Similarly, Figure 6 shows the body rates as the system follows the given path starting from the initial upright position. Finally, we show the control effort needed to achieve this path following task. As seen in Figure 7,    the body torques τ as well as the total thrust u t remain within a reasonable range for commonly available quadrotors. It should be noted that for this simulation, the controller is defined everywhere except at the center of the circle. In other words, center of the circle is a singular point. This singularity is because of the nature of the given path. It can be seen that the system converges to the path starting from everywhere in the state space except from a small set that consists of points {x 1 = x 2 = 0}. In this work, we do not deal with removing or avoiding singularities that arise because of the choice of the path. However, these singularities can be avoided and readers are referred to [34]- [37].

B. PATH FOLLOWING FROM AN ALMOST UPSIDE-DOWN POSITION
In this scenario, we assume that the quadrotor is initialized at an almost upside down position, i.e., and the task is to recover from this challenging upside-down position and follow the given path. Similar to the previous case, the system is initialized at a position χ(0) = col(3.2, 5, 0) m. Furthermore, at time t = 0, translational velocities areχ(0) = col(0, 0, 0) m/sec, and body rates are (0) = col(0, 0, 0) rad/sec. As seen in Figure 8, the system follows the given circular path starting from the challenging almost upside-down position. We highlight that while recovering from the almost upside-down position, the system has to perform a flip motion. In other words, the system goes through the gimbal lock. This is one of the advantages of the proposed technique that it allows the system to avoid gimbal lock singularity by expressing the underlying manifold SO(3) with a nine-parameter unique global chart. Similar to the previous scenario, we show the transformed states and translational velocities in Figure 9 and Figure 10, respectively. Figure 11 shows the body rates of the quadrotor as it follows the target path, and Figure 12 demonstrates the control effort needed to recover from the initial upside-down position. It can be observed that the peak control effort required for this scenario is relatively greater than the previous scenario. The increase in effort is due to the fact that the quadrotor has to perform an acrobatic maneuver to recover from the upside-down position. However, the required control effort is still within the FIGURE 8. The given path represented in green is followed by the system starting from an almost upside down position.   capability of a typical acrobatic quadrotor. An animation of this scenario can be viewed at the link. 3

C. PATH FOLLOWING IN THE PRESENCE OF SENSOR NOISE
Now we demonstrate the practical utility of the proposed controller. To this end, we consider a more realistic scenario, in which the path following is performed in the presence of sensor noise and parametric uncertainty. We consider a 1% uncertainty in the mass, and 10% uncertainty in inertia. Further, we assume sensor noise level of a practical quadrotor AscTec Pelican given in [1, Table 4.1]. Similar to the previous scenario, the system is initialized with the same initial conditions. Figure 13 shows the path followed by the quadrotor from an upside-down position in the presence of noise and parametric variation. Even in the presence of uncertainty, the system demonstrates satisfactory performance. Figure 14  and Figure 15 show the results of transformed states and translational velocities in the presence of noise and parametric uncertainty, respectively. Similarly, angular velocities are shown in Figure 16, while thrust input and body torque inputs are show in Figure 17. It can be seen that control inputs are well within bounds of a typical acrobatic quadrotor.

VII. CONCLUSION
In this paper, we proposed a nine-dimensional parameterization for a class of underactuated systems that are defined on VOLUME 8, 2020 SO(3) ×R n .The proposed representation is both global and unique and leads to a simple set of differential equations. After a judicious choice of output functions, we perform transverse feedback linearization to convert the system into a partial linear form. The advantage of this design strategy is two-fold: It leads to considerable simplification in the controller design, and it makes the given path attractive and an invariant manifold. We also observe that this over-parameterized approach leads to uncontrolled internal dynamics but this does not cause a problem because we established the boundedness and stability of these internal dynamics. Starting from an upside-down position, the proposed controller made a quadrotor system recover and follow the given path. In summary, we have solved the path-following for underactuated systems and satisfied G1-G4 for a large class of both closed and non-closed curves. where he is a Leading Authority on autonomous aerial and ground vehicles, simultaneous localization and mapping, and multivehicle systems. His current research interests include the state of the art in autonomous drones and autonomous driving through advances in localization and mapping, object detection and tracking, integrated planning and control methods, and multirobot coordination. VOLUME 8, 2020