Underactuated Control of Quadrotors with Collision Avoidance*

Underactuated Control of Quadrotors with Collision Avoidance*

2nd IFAC Workshop on Research, Education and Development of Unmanned Aerial Systems November 20-22, 2013. Compiegne, France Underactuated Control of ...

394KB Sizes 0 Downloads 85 Views

2nd IFAC Workshop on Research, Education and Development of Unmanned Aerial Systems November 20-22, 2013. Compiegne, France

Underactuated Control of Quadrotors with Collision Avoidance ⋆ Espen Oland

Tom Stian Andersen

Raymond Kristiansen

Narvik University College, Department of Technology, 8505 Narvik, Norway (e-mail: {eol},{tsa},{rayk}@hin.no). Abstract: In this paper a saturated controller is derived that solves the translational control problem for underactuated quadrotors. The controller is applied to multiple quadrotors during a formation reconfiguration where the quadrotors move from an initial position to a desired position. The null-space-based behavioral control method is a popular method for avoiding collisions between mobile agents, and is augmented in this paper with saturation functions to enable feasible collision-free trajectories for the quadrotors during the reconfiguration. Simulations have been performed to validate the theoretical results and show the performance of the solution. Keywords: Lyapunov stability, autonomous control, nonlinear control systems, obstacle avoidance, saturated control, tasks. 1. INTRODUCTION The problem of controlling quadrotors has received much attention in the control community the last decade ranging from autonomous mapping, collision avoidance, formation flight and cooperative control (cf. Bouabdallah and Siegwart (2005), Grzonka et al. (2012), Guerrero et al. (2012), Guisser and Medromi (2009) and references therein). Flying with a formation of quadrotors have several distinct advantages. With several quadrotors, it is possible to obtain 3D measurements which will be more accurate than what a single quadrotor is able to obtain. Furthermore, pictures taken with multiple quadrotors can be stitched together providing a higher resolution than a single picture taken by one quadrotor. Even though there are many advantages, there are also several disadvantages where the main challenge is collision avoidance. With multiple quadrotors located in the same airspace some sort of supervisory method must be applied to avoid collisions. One of the most well known collision avoidance methods is potential fields presented by Khatib (1986) which creates an attractive potential around the desired position and repulsive potentials around obstacles. By following the negative gradient of the resulting field, an agent will be able to reach a desired position without colliding with any obstacles. But; the method suffers from several inherent limitations such as local minima which can trap an agent from reaching its destination, and the inability to pass through narrow gaps. Another method that can be used for collision avoidance is the Null-Space-Based (nsb) behavioral control method presented by Antonelli et al. (2005). The method enables an agent to have multiple tasks, such as collision avoidance, move to target, maintain rigid formation and others. The basic idea is to prioritize the tasks into a hierarchy,

where higher level tasks subsumes lower level tasks. This means that if a task conflict with a higher level task, its conflicting velocity components will be projected onto the null-space and thereby removing its contribution from the total reference velocity vector. The nsb method has resulted in many papers with applications to mobile robots, ships and spacecraft (cf. Arrichiello et al. (2006), Antonelli et al. (2009), Oland et al. (2010), Schlanbusch et al. (2011) and Schlanbusch and Oland (2013)). A quadrotor has four rotors used for both rotational and translational control, and can change its orientation by changing the rotation speed of the rotors. One of the main challenges with quadrotors is that they only have four actuators and six degrees of freedom. With fewer actuators than degrees of freedom this constitutes an underactuated control problem (cf. Reyhanoglu et al. (1999)), which makes controller design more challenging. Several different concepts have been proposed; such as feedback linearization, backstepping, sliding mode and PID control. Common for all schemes is that a coupling between the translational and rotational dynamics must be found in order to track a desired position vector. This can be done directly in the desired attitude, which is typical for guidance schemes such as way-point guidance; or it can be done as part of the controller design. In Cunha et al. (2009) the authors apply nested saturation functions based on Teel (1992) to control a quadrotor. Controlling the center of mass relative a desired trajectory, the authors backstep four times until the coupling between the rotation and translation is found. Instead of controlling the center of mass, it is possible to shift the origin away from the center of mass to enable a coupling between the rotational and translational dynamics.

⋆ This work was supported by the Norwegian Research Council and is part of the Arctic Earth Observation project 195143/I60.

978-3-902823-57-1/2013 © IFAC

162

10.3182/20131120-3-FR-4045.00014

IFAC RED-UAS 2013 November 20-22, 2013. Compiegne, France

1.1 Contribution

xb

In this paper a saturated controller is derived based on the coupling between the rotational and translational dynamics and enables a quadrotor to track a desired trajectory. The controller is analyzed using Lyapunov theory where the tracking error is shown to be uniformly globally asymptotically stable. The same controller is then applied to multiple quadrotors performing a position reconfiguration where collision avoidance is handled using the nsb method which is augmented with saturation functions to avoid large velocity commands.

∆b yb

zn

zb

y

n

Fig. 1. Reference Frames

This paper is organized as follows: In Section 3 the quadrotor modeling is presented and shows how to make the coupling between rotational and translational dynamics. The saturated controller is shown in Section 4 while the saturated nsb method is derived in Section 5, and in Section 6 a simulation of four quadrotors perform position reconfiguration is shown and the results are discussed. 2. PRELIMINARIES

xn

pnn,c

ω4

ω1

ω3 ω2 xb

yb

Fig. 2. Rotor Configuration

2.1 Notation and reference Frames The time derivative is denoted x˙ = dx dt , and its second d2 x derivative is given as x¨ = dt2 . Superscripts denote the reference frame of a vector where b is the body frame, and n is the North-East-Down (ned) frame which is assumed to be inertial. The two frames are shown in Figure 1 where the xn axis points North, yn points East and zn points down towards the center of the Earth. The body frame has its xb axis pointing through rotor 1 as shown in Figure 2, yb points through rotor 3 while zb completes the right handed orthonormal reference frame. The rotation matrix from body frame to ned frame is denoted Rnb ∈ R3×3 which holds the properties that Rnb Rbn = I where I is the identity matrix such that (Rnb )⊤ = Rbn . The angular velocity between two frames is denoted ω γα,β which represents the angular velocity of frame β relative α referenced in frame γ. The time derivative of the rotation ˙ n = Rn S(ω b ) where S(ω b ) is the matrix is given as R b b n,b n,b cross-product operator and ω bn,b is the angular velocity of the body frame relative the ned frame referenced in the ⊤ body frame. Given two vectors v1 = [v1 v2 v3 ] , v2 ∈ R3 , the cross product operator can be written as " # 0 −v3 v2 S(v1 ) = v3 0 −v1 (1) −v2 v1 0 and where S(v1 )v2 = v1 × v2 and S(v1 )v2 = −S(v2 )v1 . 3. MODELING A quadrotor has four rotors that are used as actuation to perform both rotational and translational motion. As shown in Figure 2 the speed of the rotors can directly be controlled producing the desired forces and moments. The thrust from the rotors is found as (cf. Castillo et al. (2005))   " # 0 0  0 ftb = − 0 = −  (2) T k1 ω12 + k2 ω22 + k3 ω32 + k4 ω42 163

where k1 , k2 , k3 , k4 are positive constants and ω1 , ω2 , ω3 , ω4 are the speed of each rotor. The moments can be found related to the rotor speeds as  " #  τx (k3 ω32 − k1 ω12 )l τ b = τy =  (k2 ω22 − k4 ω42 )l  (3) τz τ1 + τ2 + τ3 + τ4 where τ1 , τ2 , τ3 , τ4 are the motor-moments of the rotors and l is the distance from the center of mass to the rotors. By treating the ned frame as an inertial frame the rigid body dynamics of a quadrotor can be written as p˙ nn,c =Rnb vb (4) " # " # 0 1 0 0 + Rbn 0 − S(ω bn,b )vb − Dvb v˙ b = − (5) m T g ω˙ bn,b =J−1 (−S(ω bn,b )Jω bn,b + τ b ) (6) n n b ˙ =R S(ω ) R (7) b b n,b n where pn,c is the position vector from the origin of the ned frame to the center of mass of the quadrotor, vb is the velocity vector in body frame, m is the mass, g = 9.81 m/s2 is the gravitational constant, D = diag{d1 , d2 , d3 } is a positive definite damping matrix and J = diag{Jxx , Jyy , Jzz } is the inertia matrix. As illustrated in Figure 1, the origin can be shifted away from the center of mass giving the position vector in the ned frame as pnn,o =pnn,c + Rnb ∆b (8) n where pn,o is the position vector between the ned frame ⊤ and a point to be controlled and ∆b := [0 0 ∆] is a constant body-fixed displacement vector used to couple the translation and rotation. Differentiating (8), using (4) and (7), we obtain p˙ nn,o =Rnb (vb + S(ω bn,b )∆b ) where the property to write (9) as

S(ω bn,b )∆b

b

= −S(∆

)ω bn,b

p˙ nn,o =Rnb (vb − S(∆b )ω bn,b ).

(9) can be used (10)

IFAC RED-UAS 2013 November 20-22, 2013. Compiegne, France

Equation (10) can be differentiated once more, and by inserting (5) and (6) it becomes ¨ nn,o =Rnb S(ω bn,b )(vb − S(∆b )ω bn,b ) p " # " # 0 0 1 0 + Rbn 0 − S(ω bn,b )vb − Dvb + Rnb (− m T g − S(∆b )J−1 (−S(ωbn,b )Jω bn,b + τ b )). (11) Gathering the control signals, the acceleration vector can be written as ¨ nn,o =Rnb S(ω bn,b )(vb − S(∆b )ω bn,b ) p " # 0 + Rnb (Bu + Rbn 0 − S(ω bn,b )vb − Dvb g + S(∆b )J−1 S(ω bn,b )Jω bn,b ). where u = [τx τy T ]

(12)



and   ∆ 0 0   Jyy    ∆  B = − (13) . 0 0  Jxx    1 0 0 − m The acceleration now contains three states to be controlled and three actuator signals to control them. Remark 1. No control objective has been placed on the yaw torque and it remains a free variable that can be used for an additional control objective.

⊤ V˙ 1 =kp e⊤ ˙ 1 )e2 2 σ(e1 ) + kp e1 σ(e b n b b b + e⊤ 2 (Rb S(ω n,b )(v − S(∆ )ω n,b ) " # 0 + Rnb (Bu + Rbn 0 − S(ω bn,b )vb − DRbn e2 g

− DRbn (p˙ nr − Rnb S(ω bn,b )∆b ) ¨ nr (t) + S(∆b )J−1 S(ω bn,b )Jω bn,b ) − p

where e1 := [e1,x e1,y e1,z ] and the derivative of the saturation function is found as   tanh2 (e1,x ) 0 0  (20) σ(e ˙ 1 ) =I −  0 tanh2 (e1,y ) 0 0 0 tanh2 (e1,z ) which is zero when it is in saturation. The control law can now be chosen as " # 0 −1 b u =B (−Rn 0 + S(ω bn,b )vb + DRbn (p˙ nr g − Rnb S(ω bn,b )∆b ) − S(∆b )J−1 S(ω bn,b )Jω bn,b ¨ nr (t) − S(ω bn,b )(vb − S(∆b )ω bn,b ) + Rbn p + Rbn (−kp σ(e ˙ 1 )e1 − kp σ(e1 ) − Kd σ(e2 ))) (21) where Kd > 0 is a diagonal gain matrix. The control law contains the term kp σ(e ˙ 1 )e1 which is zero when the function is in saturation, meaning that all the tracking functions in the control law remain saturated. Inserting the control law (21) into (19) the Lyapunov derivative becomes V˙ 1 = − e⊤ Kd σ(e2 ) − e⊤ Rn DRb e2 (22) 2

4. SATURATED CONTROLLER DESIGN Let the tracking errors be defined as e1 =pnn,o − pnr (t) e2 =p˙ nn,o − p˙ nr (t)

(14) (15)

where pnr (t) is a reference trajectory that is to be tracked by the control law. The velocity vector can be written using (9) as vb = Rbn e2 + Rbn (p˙ nr − Rnb S(ω bn,b )∆b ) which can be used together by differentiating (14)-(15) to find the tracking error dynamics as e˙ 1 =e2 (16)

(19)



2

b

n

which is negative semidefinite. The matrix Rnb DRbn is a positive definite matrix that provides damping to the system. Since trace is similarity invariant, it follows that Tr(Rnb DRbn ) = Tr(D) which contains the sum of the positive eigenvalues of the damping matrix, meaning that Rnb DRbn must be a positive definite matrix. It is evident from the Lyapunov derivative (22) that the tracking error e2 → 0, and to study the stability properties of e1 , the control law (21) can be inserted into (17) resulting in the closed loop dynamics as e˙ 1 =e2 (23)

¨ nr (t) + S(∆b )J−1 S(ω bn,b )Jω bn,b ) − p (17) which is similar to a double integrator with dynamics.

e˙ 2 = − Rnb DRbn e2 − kp σ(e ˙ 1 )e1 − kp σ(e1 ) − Kd σ(e2 ). (24) Since the reference trajectory is time-varying, the Matrosov theorem (cf. Hahn (1967)) can be used to prove stability of e1 . Consider an auxiliary function W = e⊤ 1 e2 which can be differentiated and by inserting (23)-(24), it becomes ˙ =e⊤ e2 + e⊤ (−Rn DRb e2 − kp σ(e W ˙ 1 )e1 2 1 b n − kp σ(e1 ) − Kd σ(e2 )). (25)

Let a continuous saturation function be defined as σ(s) = tanh(s) which holds the property that s⊤ σ(s) > 0 ∀s. A Lyapunov Function Candidate can now be chosen as 1 ⊤ V1 =kp e⊤ (18) 1 σ(e1 ) + e2 e2 2 where kp is a positive gain, and where the Lyapunov Function Candidate is positive definite and radially unbounded. By differentiating (18) and inserting (16)-(17) the Lyapunov derivative becomes

Now consider the set N = {pnn,o ∈ R3 |e2 = 0}, and by evaluating the auxiliary function in this set, its derivative becomes ⊤ ˙ = − kp e⊤ σ(e W (26) 1 )e1 − kp e1 σ(e1 ) 1 ˙ which is definitely nonzero. The Lyapunov function (18) is positive definite, decrescent and its derivative (22) is negative semidefinite and the derivative of the auxiliary function (26) is definitely nonzero in the set N . Thus, all conditions of Theorem 55.3 in Hahn (1967) are met,

e˙ 2 =Rnb S(ω bn,b )(vb − S(∆b )ω bn,b ) " # 0 n b + Rb (Bu + Rn 0 − S(ω bn,b )vb − DRbn e2 g − DRbn (p˙ nr − Rnb S(ω bn,b )∆b )

164

IFAC RED-UAS 2013 November 20-22, 2013. Compiegne, France

0 -10 e1,x

-20

e1,y

0

50

100

150

200

0 -0.1 -0.2

e1,z

-30

0.1 Attitude (rad)

0.1 Attitude (rad)

Position Error (m)

10

250

0

0.1 0 -0.1 -0.2

0

50

100

150

200

1

2 3 Time (s)

4

5

Yaw 0

50 ×10

1.5 1 0.5 0 -0.5 -1 -1.5

250

100 150 Time (s)

200

250

-3

ωx ωy ωz

10 5 0 -5

0

Time (s)

Roll Pitch

Angular Velocity (rad/s)

Angular Velocity (rad/s)

Velocity Error (m/s)

e2,x e2,y e2,z

-0.1 -0.2

Time (s) 0.2

0

1

2 3 Time (s)

4

0

5

50

100 150 Time (s)

200

250

Fig. 3. Position and velocity tracking errors

Fig. 4. Attitude and angular velocity

and we can conclude that the origin (e1 , e2 ) = (0, 0) is uniformly asymptotically stable (uas). Furthermore, since the Lyapunov function (18) is radially unbounded it follows using standard Lyapunov arguments (cf. Khalil (2002)) that the origin (e1 , e2 ) = (0, 0) is uniformly globally asymptotically stable (ugas).

where Ji is the configuration-dependent Jacobian matrix. This can be solved for the velocity using the MoorePenrose pseudo-inverse as p˙ n = J†i ξ˙ i where J†i = ⊤ −1 J⊤ . By defining a desired task, ξi,d , the least i (Ji Ji ) squares solution can be used to find a reference velocity that fulfills that task as p˙ nr =J†i ξ˙ i,d . (31)

4.1 Simulation of the Saturated Control Law The attitude dynamics is used to solve the translational control problem. When e1 and e2 are in saturation, the trajectory tracking problem can be related to that of tracking a straight line, meaning that the attitude will converge to a constant value and the angular velocity will go to zero. Consider the scenario of tracking a circle where pnr (t) = [R cos(ωr t) R sin(ωr t) zr ] p˙ nr (t) ¨ nr (t) p



(27) ⊤

= [−Rωr sin(ωr t) Rωr cos(ωr t) 0] (28)  ⊤ 2 2 = −Rωr cos(ωr t) −Rωr sin(ωr t) 0 (29) where R = 50 m is the radius of the circle, ωr = 0.002 rad/s is the reference angular velocity of the circle, t is the time, zr = −25 m is the reference altitude and the displacement vector is chosen as ∆ = 0.1 m. The position and velocity errors are shown in Figure 3 where the velocity error goes into saturation and stays in saturation until the position error has gone to zero. The attitude and angular velocity are shown in Figure 4, where the attitude holds constant values while the velocity error is in saturation, while the angular velocity quickly converges to zero. The angular velocity has three small spikes when the position and velocity errors go to zero. 5. NULL-SPACE-BASED BEHAVIORAL CONTROL Let us now consider the case of multiple quadrotors using the saturated controller (21) for translational control. With multiple quadrotors, there exist a possibility of collisions which in this paper is avoided using the nsb method. Based on the work by Antonelli et al. (2005) let a task variable be defined as a function of the position such that ξ i = f (pn ) ∈ R3 where i = 1, 2 and pn is a position vector. It maintains the differential relation as ∂f (pn ) n p˙ := Ji (pn )p˙ n (30) ξ˙ i = ∂pn 165

As pointed out in Antonelli et al. (2005), if (31) is integrated in order to find the reference position, it will result in numerical drift. This is solved using a closed loop inverse kinematic algorithm as p˙ n =J† (ξ˙ + Λξ˜ ) (32) r

i

i,d

i

where Λ is a gain matrix and ξ˜i = ξ i,d − ξi . In analogy to (32) a single task velocity can now be computed as p˙ n =J† (ξ˙ + Λi ξ˜ ) (33) 1

i

i,d

i

and multiple tasks can be added together. With two tasks, the reference velocity vector can be found as p˙ nr = p˙ n1 + (I − J†1 J1 )p˙ n2 (34) which projects conflicting lower level velocity components onto the null-space and adds them together producing the total reference velocity vector. 5.1 Saturated nsb Control One major issue with the nsb method, is that when the initial position error is large, it will produce large reference velocities which may be hard or impossible to track for a given controller. To design a feasible reference velocity, let p˙ nr = σ1 (p˙ n1 ) + (I − J†1 J1 )σ2 (p˙ n2 ) (35) and σi (·), i = 1, 2, is a linear saturation function  s if |s| < sign(s)smax,i σi (s) = (36) sign(s)smax,i otherwise where smax,i is the maximum output from the saturation function. Though the saturation function is defined for scalar functions, it can be applied on a component level to both vectors and matrices. To prove that the first task always is fulfilled, let a Lyapunov Function Candidate be ⊤ defined as V2 = 21 ξ˜1 ξ˜1 which can be differentiated, and using that ξ˙ 1 = J1 p˙ nr together with (35), it results in

IFAC RED-UAS 2013 November 20-22, 2013. Compiegne, France

⊤ V˙ 2 =ξ˜1 (ξ˙ 1,d − J1 (σ1 (p˙ n1 ) + (I − J†1 J1 )σ2 (p˙ n2 )))

Table 1. Initial and Desired Position Vectors

(37)

Quadrotor

⊤ =ξ˜1 (ξ˙ 1,d − J1 (σ1 (J†1 (ξ˙ 1,d + Λ1 ξ˜1 ))

J†1 J1 )σ2 (p˙ n2 ))).

⊤ V˙ 3 =ξ˜2 (ξ˙ 2,d − J2 (σ1 (p˙ n1 ) + (I − J†1 J1 )σ2 (p˙ n2 ))). (39) When the two tasks are not conflicting, the Jacobian matrices hold the property that J2 J†1 = 0 which can be used to reduce (39) to

(40)

⊤ =ξ˜2 (ξ˙ 2,d − J2 σ2 (J†2 (ξ˙ 2,d + Λ2 ξ˜2 )))

(41)

max{||J†2 ||, ||ξ˙ 2,d ||}

the Lya-

and by designing smax,2 > punov derivative becomes

 −50  −50  −50 

⊤ ⊤ V˙ 3 =ξ˜2 (ξ˙ 2,d − σ2 (ξ˙ 2,d + Λ2 ξ˜2 )) = −ξ˜2 σ2 (Λ2 ξ˜2 ) (42) which is negative definite and has a ugas equilibrium when the tasks are not conflicting. To summarize, if the tasks are conflicting, the quadrotor will change its reference velocity in such a way that the tasks no longer conflict; and then it will continue to complete its lower-level task.

Q2 Q3

⊤ ⊤ −30 0 ⊤ 20 0 ⊤ 20 0

−50 50 0

Q4

Desired Position (m)

 20  40  60 

⊤ ⊤ 20 ⊤ 20 ⊤

10 20 10 30

80 10 20

25 20 −zn (m)

+ (I − (38) Assuming that the two tasks conflict, it follows that J1 (I− J†1 J1 ) = 0 removing the last term, and by designing the saturation function such that smax,1 > max{||J†1 ||, ||ξ˙ 1,d ||} ⊤ it follows that V˙ 2 = −ξ˜1 σ1 (Λ1 ξ˜1 ) which is negative definite. By applying standard Lyapunov arguments (cf. Khalil (2002)) it follows that the origin (ξ˜1 = 0) is ugas when the tasks conflict, meaning that the first task is always fulfilled. A Lyapunov Function Candidate for ⊤ the second task can be defined as V3 = 12 ξ˜2 ξ˜2 and by differentiating it and using that ξ˙ 2 = J2 p˙ nr , we obtain

⊤ V˙ 3 =ξ˜2 (ξ˙ 2,d − J2 σ1 (p˙ n1 ) − J2 σ2 (p˙ n2 ))

Initial Position (m)

Q1

15 10 5

0 -50 0 yn (m)

50

-40

-20

0

20

40

60

80

xn (m)

Fig. 5. Position Reconfiguration in East North Up Frame ξ 2,d = pnd , where pnd is a desired position. The Jacobian becomes J2 = I such that the velocity vector becomes p˙ n2 =p˙ nd + Λ2 (pnd − pn ) (45) which can be used for trajectory tracking. The saturated reference velocity is now found by inserting J1 , (44) and (45) into (35). 6. SIMULATION

5.2 Tasks Collision Avoidance The most critical task is to avoid collision between the quadrotors. A protective sphere can be placed around each of the quadrotors, and if the relative distance between any of the quadrotors are less than a constant d, conflicting velocity component from lower level tasks will be projected onto the null-space. Let the position of the obstacle be defined as pno and the position of a quadrotor be defined as pn . Let the task variable be defined as ξ1 = d − ||pn − pno || and a desired task variable as ξ1,d = d. The Jacobian is found as J1 = ˆr⊤ where the unit vector is given as pn − pno ˆr = n (43) ||p − pno || which is aligned with the direction between the quadrotor and the obstacle. Using (33), the velocity vector for the collision avoidance scheme becomes p˙ n1 =J†1 λ1 (d − ||pn − pno ||). (44) Note that the task of keeping a relative distance away from obstacles is a scalar task, such that J1 ∈ R3 , and the gain λ1 becomes scalar. Move to a Desired Position The second task can be chosen to move to a desired position. The task variable becomes ξ 2 = pn , while the desired variable becomes 166

Consider four quadrotors, denoted Q1 , Q2 , Q3 , Q4 with initial and desired positions as shown in Table 1. The gains are chosen as λ1 = 1, Λ2 = 0.2I, smax,1 = smax,2 = 2, ∆ = 0.1 m and the size of the protective sphere is set to d = 10 m. As shown in Figure 5 all quadrotors are able to move to their desired positions. Quadrotors Q1 and Q-2 begin with an initial relative distance of only 5m, and as shown in Figure 6 they quickly move away to maintain a relative distance of 10 m or more. During the reconfiguration, the relative distance between any of the quadrotors never go below about 10 m except the initial case of Q-1 and Q-2, and therefore no collisions occur. As a comparison of the saturated nsb and the regular nsb method, consider a scenario of a quadrotor performing a position reconfiguration where the desired position is far away (1000 m). Between the initial position and the final position there is an obstacle that must be avoided. The relative distance is shown in Figure 7, where the saturated nsb method is shown on the top, while the regular nsb method is shown at the bottom. The regular nsb method has a minimum relative distance of about 3.5 m due to high reference velocity, while the saturated nsb method has a minimum relative distance of about 9.6 m. Since velocity components are projected onto the null-space whenever the relative position is equal or less than d = 10 m, it is natural that a very high relative velocity makes the

IFAC RED-UAS 2013 November 20-22, 2013. Compiegne, France

REFERENCES

90 Q1 − Q2 Q1 − Q3 Q1 − Q4 Q2 − Q3 Q2 − Q4 Q3 − Q4

80

Relative Distance (m)

70 60 50 40 30 20 10 0

0

20

40

60

100

80

Time (s)

Relative Distance (m)

Fig. 6. Relative Distance between the Quadrotors 50 Saturation

40 30 20 10 0

0

20

60

40

80

100

Relative Distance (m)

Time (s) 50 No Saturation

40 30 20 10 0

0

1

2

3

4

5

Time (s)

Fig. 7. Relative Distance with a Static Obstacle quadrotor move close to the obstacle before the conflicting velocity components are removed. To be fair it is not a problem with the nsb method itself, but a problem of using relative distance as a measurement of when to switch on the collision avoidance method. The same problem exists for other collision avoidance methods, and can be remedied by using saturation functions as in this paper or by incorporating the relative velocity when checking for collisions. This has motivated research such as Schlanbusch and Oland (2013) where the relative velocity vector is used to increase the size of the protective sphere whenever an agent is on collision course with an obstacle, and maintains a minimum size whenever the agent is moving parallel or away from the obstacle. 7. CONCLUSION In this paper we have derived a saturated controller for an underactuated quadrotor which is shown to be ugas and validated by tracking a circle. With basis in the nsb behavioral control method, a saturated nsb method was derived and validated using a case of four quadrotors that performed a formation reconfiguration without collisions. 167

Antonelli, G., Arrichiello, F., and Chiaverini, S. (2005). The Null-Space-Based Behavioral Control for Mobile Robots. In Proceedings of IEEE International Symposium on Computational Intelligence in Robotics and Automation. Antonelli, G., Arrichiello, F., and Chiaverini, S. (2009). Experiments of Formation Control With Multirobot Systems Using the Null-Space-Based Behavioral Control. IEEE Transaction on Control Systems Technology, Vol. 17, No. 5, 1173–1182. Arrichiello, F., Chiaverini, S., and Fossen, T. (2006). Formation Control of Underactuated Surface Vessels using the Null-Space-Based Behavioral Control. In International Conference on Intelligent Robot and Systems. Bouabdallah, S. and Siegwart, R. (2005). Backstepping and Sliding-mode Techniques Applied to an Indoor Micro Quadrotor. In Proceedings of the IEEE International Conference on Robotics and Automation. Castillo, P., Lozano, R., and Dzul, A. (2005). Stabilization of a Mini Rotorcraft with Four Rotors. IEEE Control Systems Magazine, Vol. 25, No. 6, 45–55. Cunha, R., Cabecinhas, D., and Silvestre, C. (2009). Nonlinear trajectory tracking control of a quadrotor vehicle. In Proceedings of the 10th European Control Conference, Budapest, Hungary. Grzonka, S., Grisetti, G., and Burgard, W. (2012). A Fully Autonomous Indoor Quadrotor. IEEE Transactions on Robotics, Vol. 28, No. 1, 90–100. Guerrero, J.A., Castillo, P., Salazar, S., and Lozano, R. (2012). Mini Rotorcraft Flight Formation Control Using Bounded Inputs. Journal of Intelligent and Robotic Systems, Vol 65, 175–186. Guisser, M. and Medromi, H. (2009). A High Gain Observer and Sliding Mode Controller for an Autonomous Quadrotor Helicopter. International Journal of Intelligent Control and Systems, Vol. 14, No. 3, 204–212. Hahn, W. (1967). Stability of Motion. Springer-Verlag Berlin Heidelberg New York. Khalil, H.K. (2002). Nonlinear systems. Prentice Hall, 3rd edition. Khatib, O. (1986). Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. The International Journal of Robotics Research, Vol 5. No. 1, 90–98. Oland, E., Kristiansen, R., and Nicklasson, P.J. (2010). Spacecraft Formation Reconfiguration with Plume Avoidance. In Proceedings of the IEEE Aerospace Conference, Big Sky, Montana. Reyhanoglu, M., van der Schaft, A., McClamroch, N.H., and Kolmanovsky, I. (1999). Dynamics and control of a class of underactuated mechanical systems. IEEE Transactions on Automatic Control, Vol. 44, No. 9, 1663–1671. Schlanbusch, R., Kristiansen, R., and Nicklasson, P.J. (2011). Spacecraft formation reconfiguration with collision avoidance. Automatica, Vol. 47, No. 7, 1443–1449. Schlanbusch, R. and Oland, E. (2013). Spacecraft Formation Reconfiguration with Dynamic Collision Avoidance. In Proceedings of the IEEE Aerospace Conference, Big Sky, Montana. Teel, A.R. (1992). Global Stabilization and restricted tracking for multiple integrators with bounded controls. Systems & Control Letters, 18, 165–171.