Planification de trajectoires robustes 3D pour drones en

publicité
Planification de trajectoires robustes 3D pour drones
en environnement dynamique
T. Youssef, Ch. Inarn, P. Melchior et A. Oustaloup
IMS laboratory
(Université Bordeaux 1 - IPB/Enseirb-Matmeca)
[email protected]
Journées Robotique et Automatique (JRA’12), IRCCyN, Nantes, 23-24 Octobre 2012
Introduction : Contexte, Problématique
Collaboration avec FlyFly-N-Sense
http
http://www.fly
://www.fly--n-sense.com/
et dans le cadre du Cluster Aquitain AETOS
« Services et Systèmes de Drones» http://www.aetos-aquitaine.fr/
Problématique du 3D Sense & Avoid
2
Introduction : Principales idées
Contexte
Planification de trajectoire pour atteindre une cible mobile
Potentiels artificiels
Problématique
3D Sense & Avoid en environnement dynamique (obstacles fixes ou mobiles)
Résultats précédents
Outil : potentiels artificiels attractifs et répulsifs fractionnaires
Evitement d’obstacles fixes ou mobiles
Caractérisation par un ordre fractionnaire du danger que présente chaque
obstacle
Détermination de la trajectoire avec prise en compte du danger que présente
chaque obstacle
Objectif
Environnement dynamique : la méthode a été étendue en considérant des
potentiels attractifs (comme Ge and Cui) prenant en compte la position et la
vitesse de l’UAV, de la cible et des obstacles
Prise en compte des variations paramétriques du robot
Extension au cas 3D pour obtenir une planification de trajectoire robuste
3
pour UAV
Introduction : Schéma général
Planification de trajectoire
Objectif:
Atteindre
une cible
Génération
de la
trajectoire





ψ





z ref

(lacet ) 
x ref
y ref
ref
Commande
+_
Génération
de
mouvement
+_
+_
+_
ε 1 (t )
ε 2 (t )
ε 3 (t )
ε 4 (t )
C1(p)
u 1 (t )
actionneur
correcteur
C2(p)
correteur
C3(p)
u 2 (t )
u 3 (t )
correcteur
θ
G2(p)
actionneur
ψ
G3(p)
actionneur
correcteur
C4(p)
φ
G1(p)
u 4 (t )
z
G4(p)
actionneur
4
Plan
Introduction
Contexte
Problématique
35
m =110
rob
30
Planification de trajectoires
z rob (m )
25
20
m =400
15
Potentiels attractifs
Potentiels répulsifs
rob
10
0
x (m)200
rob
400
20
40
60
Modèle dynamique d’un N
N--rotor et linéarisation du modèle
80
100 y (m) 120
rob
160
140
180
Commande
Simulations
Targe
t
Vidéos
Conclusion et Perspectives
5
Planification de trajectoires : Potentiels
Méthode basée sur le champ de potentiel artificiel.
Elle consiste à :
• Modéliser les obstacles avec des champs de potentiels répulsifs
• Modéliser la cible par un champ de potentiel attractif.
r
r
r
U total ( M ) = U att ( M ) + ∑ U repk ( M )
k
Avec :
r
U total (M ) désigne le champ de potentiel artificiel global
r
U att (M ) désigne le champ de potentiel attractif de la cible
r
U repk (M ) désigne le champ de potentiel répulsif associé à l' obstacle k
 x
r  
M =  y  la position du drone dans son plan de travail
 z 
6
Potentiel attractif
Champ potentiel attractif (S.S.Ge et Y.J.Cui)
On définit la force attractive de la manière suivante :
r
Fatt = α p (Pcible - Pdrone ) + α v (Vcible - Vdrone )
αp et αv : coefficients positifs
Minimise la distance drone-cible
Fait converger la vitesse du drone vers celle de la cible
Champ potentiel attractif fractionnaire
Remplacer la vitesse par la dérivée non entière de la position relative
drone-cible
r
d n (Pcible - Pdrone )
FattCRONE = α p (Pcible - Pdrone ) + α v
dt n
7
Peut-être interprété comme un schéma de commande classique où αp et αv sont
les paramètres d’un régulateur PD :
8
Fonction de transfert en boucle ouverte β(s) :
Fonction de transfert en boucle fermée H(s) :
où:
Le facteur d’amortissement dépend de la masse du robot mrob.
Donc la planification de trajectoire n’est pas robuste vis-à-vis des
variations de masse du robot.
9
où αp and αv sont les paramètres d’un PD fractionnaire.
10
Le facteur de résonance et le facteur d’amortissement s’en
déduisent :
Le facteur d’amortissement est indépendant de la masse du robot
Robustesse de la planification de trajectoire.
11
Comparaison avec même paramètres αp, αv
Ge and Cui
mrob is varying from 110 to 400 kg
ωcg from 0.0077 to 0.0027 rad/s
phase margin from 72◦ to 48◦
ξ from 0.85 to 0.45.
Fractional with same αp, αv
mrob is varying from 110 to 400 kg
ωcg from 0.023 to 0.0086 rad/s
phase margin from 61◦ to 59◦
ξ = 0.7.
12
Comparaison avec le même ωcg que Ge and Cui pour la masse nominale du robot
mrob=150 kg, ωcg =0.0058 rad/s
Ge and Cui
Fractional with same ωcg
αp=0.002x0.22
αv= 0.8x0.22
mrob is varying from 110 to 400 kg,
ωcg from 0.0077 to 0.0027 rad/s
phase margin from 72◦ to 48◦
ξ from 0.85 to 0.45.
mrob is varying from 110 to 400 kg
ωcg from 0.0073 to 0.0028 rad/s
phase margin from 59◦ to 54◦
ξ = 0.7.
13
Application en 3D
Simulation sans obstacle
Paramètres
mrob = [110, 150, 190, 250, 400]
Masse nominale de 150 kg
Paramètres Ge and Cui : αp=0.002 et αv= 0.8
Ordre fractionnaire n = 0.7
14
Application en 3D
30
35
28
mrob=110
26
30
24
mrob=400
25
mrob=110
20
zrob (m )
z ro b (m )
22
18
20
mrob=400
16
14
15
12
10
0
10
0
200
400
20
40
60
80
yrob(m)
100
120
140
400
20
80
60
40
yrob(m)
160
180
35
m =110
rob
30
25
z rob (m )
xrob(m)
xrob(m)
Ge and Cui
200
Fractional
140
100with
120 same
α160p, αv180
Planification
de
trajectoire
robuste et plus rapide malgré les
variations de masse du drone
20
mrob=400
15
10
0
xrob(m)200
400
20
40
60
80
Fractional
160
140
15
with same ωcg
100 y (m) 120
rob
180
Potentiel répulsif
Potentiel fractionnaire répulsif normalisé
Basée sur la définition de Weyl :
Niveau du danger
100%
rmin
rmax
y
0%
16
x
Cible fixe, 1 obstacle fixe et 2 mobiles
Planification
de
trajectoire
robuste et plus rapide malgré les
variations de masse du drone
Même αp, αv
17
Cible mobile, 1 obstacle fixe et 2 mobiles
Même αp, αv
Target
Planification
de
trajectoire
robuste et plus rapide malgré les
variations de masse du drone
18
Champ potentiel total
A une position z donnée, avec la superposition de tous les champs répulsifs,
des différents obstacles existant, et le champ de potentiel attractif de la cible,
on aura le champ de potentiel total de l’espace de travail.
Le potentiel attractif forme un puits attractif.
Le potentiel répulsif forme une colline répulsive.
Le drone va atteindre la cible en suivant le flux du gradient négatif de ce
potentiel total.
potentiel répulsif
potentiel total
+
potentiel attractif
19
Modélisation dynamique d’un NN-rotors
Hypothèses:
N-rotor parfaitement symétrique (N paire)
Moteur (1) nez du N-rotor
 u1 → commande altitude
 u → commande roulis
u 2→ commande tan gage
 3
 u 4 → commande lacet
Procédé
x
φ

θ ↔ y
ψ
z

r
Roulis : φ Rotation autour de l’axe (O,x), -π <φ <π .
r
Tangage : θ Rotation autour de l’axe (O, y), -π 2 <θ <π 2 .
r
Lacet : Ψ Rotation autour de l’axe (O,z), -π <ψ <π .
20
Les équations du mouvement selon les axes de Roulis, Tangage et Lacet:

 2 N +1


360
bl
I rotor & N
 Iz − Iy &


k +1

2
&
&
sin
1
*
.
1
.
=
−
(
k
−
)
Ω
+
(
−
)
Ω
φ
θ
θψ&


 k
∑
 ∑
k +

I x  k = 2,k ≠ N +1
N
I
I

 
 k =1

x
x

2





2 N +1


 I rotor & N
360
bl
 I −I


2
2
2
&
&
φ  ∑ (− 1)k .Ω k  + z x φ&ψ&
.Ω k  +
θ =  − Ω1 + Ω N +1 + ∑ cos (k − 1)*
Iy 
N   I y  k =1
Iy
N


2

k = 2 , k ≠ +1
2



d  N
 Ix − Iy & &
k

&
&
ψ
θφ
=  ∑ (− 1) .Ω k2  +

I z  k =1
Iz



Les équations des accélérations selon les 3 axes de l’espace:
(
cosψ sin θ cos φ + sinψ sin φ ) N

bΩ i2
∑
 &x& =
m
i =1

(
sinψ sin θ cos φ − cosψ sin φ ) N

bΩi2
 &y& =
∑
m
i =1

N
cos θ cos φ

2
&
&
z
=
−
g
+
b
Ω
∑
i

m
i =1

Avec :
I rotor : moment d' inertie du moteur ( kg.m 2 ),
b : coefficient de poussée ( kg.m.rad -2 ),
l : demi - envergure du drone (en m),
d : coefficient de trainée ( kg.m 2 .rad -2 )
I x = ∫ y 2 + z 2 dm, I y = ∫ x 2 + z 2 dm et I z = ∫ y 2 + x 2 dm : moments d' inertie selon les axes X, Y et Z.
Ωi : vitesse de rotation d' un moteur " i ".
(
)
(
)
(
)
21
Linéarisation du modèle d’un quadriquadri-rotors
Exemple Quadri-rotor: Linéarisation du modèle
On considère les entrées du modèle dynamique comme suit :
4
U1 = ∑ bΩ i2
i =1
(
)
= b(Ω − Ω )
= d (− Ω + Ω
U 2 = b Ω 24 − Ω 22
U3
U4
2
3
2
1
2
1
2
2
− Ω 32 + Ω 24
)
Et la perturbation suivante :
Ω = −Ω1 + Ω 2 − Ω 3 + Ω 4
On cherche une représentation d' état sous la forme :
X& = f ( X , U )
Avec :
X = (x1 K x12 ) ∈ ℜ12
X = [x1 = φ
x2 = x&1
x3 = θ
x4 = x&3
x5 = ψ
x6 = x&5
x7 = z
x8 = x&7
x9 = x
x10 = x&9
x11 = y
x12 = x&11 ]
Recherche du point de fonctionnement (Point d’équilibre):
f ( X 0 , U 0 ) = 0 ↔ [0 0 0 0 0 0 0 U10 = mg 0 0 0 0]
En vol stationnaire, la
portance U1 compense
le poids du drone.
Validation du modèle.
22
Exemple Quadri-rotor: Linéarisation du modèle
On considère les entrées du modèle dynamique comme suit :
4
U1 = ∑ bΩ i2
i =1
(
)
= b(Ω − Ω )
= d (− Ω + Ω
U 2 = b Ω 24 − Ω 22
U3
U4
2
3
2
1
2
1
2
2
− Ω 32 + Ω 24
)
Et la perturbation suivante :
Ω = −Ω1 + Ω 2 − Ω 3 + Ω 4
Ce qui mène au modèle dynamique linéarisé du quadri-rotor:

Iz − I y &
bl 2
I
θψ&
Ω 4 − Ω 22 + rotor θ&(Ω1 − Ω 2 + Ω 3 − Ω 4 ) +
 φ&& =
Ix
Ix
Ix

 && bl 2
I
I −I
Ω1 − Ω 32 + rotor φ&(− Ω1 + Ω 2 − Ω 3 + Ω 4 ) + z x φ&ψ&
θ =
Iy
Iy
Iy

Ix − Iy & &

d
2
2
2
2
&
&
=
−
Ω
+
Ω
−
Ω
+
Ω
+
ψ
θφ

1
2
3
4
I
I

z
z
(
)
(
)
(
)

1 4
2
 &x& = m ∑ bΩ i
i =1

−1 4

&
&
y
=
bΩ i2

∑
m i =1

4
&z& = − g + 1
2
b
Ω
∑
i

m i =1

23
Commande
Planification de trajectoire
Objectif:
Atteindre
une cible
Génération
de la
trajectoire





ψ





z ref

( lacet ) 
x ref
y ref
ref
Contrôle/Commande
+_
Génération
du
mouvement
+_
+_
+_
ε 1 (t )
ε 2 (t )
ε 3 (t )
ε 4 (t )
C1(p)
u 1 (t )
actionneur
correcteur
C2(p)
correteur
C3(p)
correcteur
C4(p)
correcteur
φ
G1(p)
u 2 (t )
u 3 (t )
θ
G2(p)
actionneur
ψ
G3(p)
actionneur
u 4 (t )
z
G4(p)
actionneur
24
Découplage des sorties par analyse RGA :
Réseau de découplage (RGA)
Procédé 2x2
u1
G*c,11(p)
G11(p)
G*c,12(p)
G12(p)
G*c,21(p)
G21(p)
G*c,22(p)
G22(p)
y1
u2
u1
G .G c* = matrice RGA
y2
u2
 Si λ ij < 0 . 5 λ ij = 0
avec 
λ ij = λ ij
 Sinon
y1
Résultat du découplage →
y2
25
Simulation:
Allure de la sortie pour 1 radians pour les trois sorties (Roulis, Tangage, Lacet) et 1 mètre en
consigne:
26
Correcteur
e1
e2
+
_
+_
C1(p)
C2(p)
Réseau de découplage
u1
u2
Procédé 2x2
y1
G*c,11(p)
G11(p)
G*c,12(p)
G12(p)
G*c,12
c,21(p)
G*
(p)
G21(p)
y2
G*c,22(p)
Correcteur :

CRONE 2 nd génération :
m'

p 


1+

ω

b 

, avec m ' < 1
C ( p ) = C 0 
p 

1+ ω 

h 

G22(p)
PIDF :
Ou



τd p 
1

C ( p ) = C 0 1 +
+
τi p 1+ τd p 



N


27
Vidéo d’une simulation Python
28
Conclusion : Principales contributions
3D Sense & Avoid
Environnement dynamique
35
m =110
rob
30
25
z rob (m )
Potentiels attractifs/répulsifs
fractionnaires
20
m =400
15
Prise en compte du danger des obstacles
rob
10
0
x (m)200
rob
Modèle dynamique d’un UAV NN-rotors
400
20
40
60
80
100 y (m) 120
rob
140
Variations paramétriques
de l’UAV
> Planification 3D robuste
> Commande robuste
Targe
t
Simulations & Vidéos (Python)
Perspectives : implantation
160
29
180
Téléchargement