Slides - Robotique Mobile
Slides - Robotique Mobile
Slides - Robotique Mobile
Bernard BAYLE
[email protected]
ENSPS 3A, option ISAV, master IRIV
2010–2011
Page Web http://eavr.u-strasbg.fr/~bernard
Quels robots mobiles ?
Définition
Robots mobiles = robots à base mobile, par opposition aux
robots manipulateurs.
Classification
Le plus souvent robots mobiles = robots à roues, sinon on
précise le type de locomotion.
Quels robots mobiles ?
Définition
Robots mobiles = robots à base mobile, par opposition aux
robots manipulateurs.
Classification
Robots marcheurs
Quels robots mobiles ?
Définition
Robots mobiles = robots à base mobile, par opposition aux
robots manipulateurs.
Classification
Robots sous-marins
Quels robots mobiles ?
Définition
Robots mobiles = robots à base mobile, par opposition aux
robots manipulateurs.
Classification
Robots aériens
Histoire des robots mobiles à roues
Historique
Historique
Historique
Inspection de ruines
http://crasar.csee.usf.edu
Pourquoi étudier les robots à roues ?
Presque toujours. . .
Robots mobiles à roues : robots dédiés à la recherche.
Intérêt(s) :
beaucoup de problèmes encore à résoudre pour atteindre
une navigation robuste dans des espaces non structurés,
en particulier en intérieur
augmenter les connaissances en termes de localisation et
de navigation de systèmes autonomes
problèmes soulevés par le plus simple des robots mobiles
à roues = sujet d’étude à part entière et base pour l’étude
de systèmes mobiles plus complexes
Problématiques (1)
Choix classique
Choix de structure souvent effectué parmi un panel de
solutions connues et pour lesquelles les problèmes de
modélisation, planification et commande sont résolus.
Choix classique des actionneurs et de l’alimentation : moteurs
électriques à courant continu avec ou sans collecteur, alimentés
par des convertisseurs de puissance fonctionnant sur batterie.
Problématiques (2)
But du cours
Problèmes spécifiques à la robotique mobile : outils pour faire
évoluer le robot dans son environnement (suivre un chemin
connu, aller d’un point à un autre, réagir à la présence d’un
obstacle, etc.).
Méthode
Vue d’ensemble des problèmes liés à la modélisation, la
perception et la navigation des robots mobiles :
problématiques
état de l’Art (bibliographie)
problèmes ouverts
Objectifs du cours
But du cours
Problèmes spécifiques à la robotique mobile : outils pour faire
évoluer le robot dans son environnement (suivre un chemin
connu, aller d’un point à un autre, réagir à la présence d’un
obstacle, etc.).
Cadre de l’étude
Limitations :
robots mobiles à roues à châssis non articulé évoluant sur
sol plan
problèmes associés à la génération de mouvements
autonomes : modélisation, perception, navigation
Evaluation
Evaluation
Etude et présentation d’articles de recherche.
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Mise en place des repères
~
y y0
~
x0
~
θ
O0
y
~
x
O x
Définition
Par analogie avec la manipulation, on appelle posture
[Campion 96] du robot le vecteur :
x
ξ = y ,
θ
Définition
La configuration du robot mobile est connue quand la position
de tous ses points dans un repère donné est connue.
Notion ambigüe pour les robots mobiles. Dans tous les cas :
q1
q2
q=
. . .
qn
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Roulement sans glissement (1)
Hypothèses :
contact roue/sol ponctuel
roues sont indéformables, de rayon r
En pratique :
contact sur une surface : glissements
roues pleines indéformables, plus vrai avec des pneus
imperfections considérées ssi elles affectent les
performances (odométrie)
Roulement sans glissement (2)
~
z
~
y
x0
~
ϕ
P ω
~
~
vP
y
Q
O x ~
x
d’où :
ẋ + r ϕ̇ cos θ = 0
ẏ + r ϕ̇ sin θ = 0
Nullité de la vitesse relative roue/sol
−→
~ ∧ PQ = ~0, soit :
On a ~vP + ω
d’où :
ẋ + r ϕ̇ cos θ = 0
ẏ + r ϕ̇ sin θ = 0
ẋ cos θ + ẏ sin θ = −r ϕ̇
−ẋ sin θ + ẏ cos θ = 0
Contraintes non holonômes (1)
Définition
Soit un système de configuration q soumis à des contraintes
indépendantes sur les vitesses AT (q)q̇ = 0.
S’il n’est pas possible d’intégrer l’une de ces contraintes, elle
est dite non intégrable ou non holonôme.
Théorème de Frobénius
Soit un système de configuration q, de dimension n, tq.
AT (q)q̇ = 0 et B(q) de rang plein m, orthogonale à A(q).
Soit l’algèbre de Lie Lie{b 1 (q) b 2 (q) . . . b m (q) . . . b p (q)}, de
dimension p, avec m 6 p 6 n.
Alors, n − p contraintes sont intégrables.
Contraintes non holonômes (2)
Théorème de Frobénius
Soit un système de configuration q, de dimension n, tq.
AT (q)q̇ = 0 et B(q) de rang plein m, orthogonale à A(q).
Soit l’algèbre de Lie Lie{b 1 (q) b 2 (q) . . . b m (q) . . . b p (q)}, de
dimension p, avec m 6 p 6 n.
Alors, n − p contraintes sont intégrables.
Crochet de Lie
Crochet de Lie de b i (q) et b j (q) :
∂b j ∂b i
[b i (q), b j (q)] = bi − bj .
∂q ∂q
Contraintes non holonômes (2)
Théorème de Frobénius
Soit un système de configuration q, de dimension n, tq.
AT (q)q̇ = 0 et B(q) de rang plein m, orthogonale à A(q).
Soit l’algèbre de Lie Lie{b 1 (q) b 2 (q) . . . b m (q) . . . b p (q)}, de
dimension p, avec m 6 p 6 n.
Alors, n − p contraintes sont intégrables.
Algèbre de Lie
Algèbre engendrée par les colonnes et les crochets successifs
formés à partir de ces colonnes, à condition qu’ils augmentent
la dimension de l’algèbre.
Cas de la roue
− sin θ cos θ
cos θ sin θ
AT (q)q̇ = 0, avec A(q) =
0
0
0 r
Cas de la roue
− sin θ cos θ
cos θ sin θ
AT (q)q̇ = 0, avec A(q) =
0
0
0 r
et :
cos θ 0
sin θ 0
AT (q)B(q) = 0, avec B(q) =
0 1
− 1r 0
Crochets de Lie successifs pour la roue
A partir de b 1 (q) et b 2 (q) :
b 1 (q), b 2 (q) =
Crochets de Lie successifs pour la roue
A partir de b 1 (q) et b 2 (q) :
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Les différentes roues
Roues
Combinaison choix+disposition des roues : mode de
locomotion propre.
Types de roues :
les roues fixes : axe de rotation de direction constante
les roues centrées orientables : axe d’orientation passe
par le centre de la roue
les roues décentrées orientables (roues folles) : axe
d’orientation ne passe pas par le centre de la roue
Les différentes roues
Roues
Combinaison choix+disposition des roues : mode de
locomotion propre.
axe d’orientation
axe de rotation
(a) Roues fixes (axe d’orientation fixe) (b) Roues décentrées orientables
et roues centrées orientables
Disposition des roues et cinématique
Disposition et blocage
Pour un ensemble de roues donné, toute disposition ne conduit
pas à une solution viable. Un mauvais choix peut limiter la
mobilité du robot ou occasionner d’éventuels blocages.
Disposition et blocage
Pour un ensemble de roues donné, toute disposition ne conduit
pas à une solution viable. Un mauvais choix peut limiter la
mobilité du robot ou occasionner d’éventuels blocages.
Description
Unicycle : robot actionné par deux roues indépendantes et
possédant éventuellement un certain nombre de roues folles
assurant sa stabilité.
~
y
θ
y
O0
~
x
O x
Robots mobiles de type unicycle : description (2)
vd + vg r (ϕ˙g − ϕ˙d )
v = =
2 2
−r (ϕ˙d + ϕ˙g )
ω =
2L
Robots mobiles de type tricycle : description
Description
Tricycle : robot constitué de deux roues fixes de même axe et
d’une roue centrée orientable placée sur l’axe longitudinal du
robot.
~
y
θ
O0
y
O x ~
x
Robots mobiles de type voiture : description
Description
Voiture : très similaire à celui du tricycle. La différence se situe
au niveau du train avant, qui comporte deux roues au lieu
d’une.
Robots mobiles de type tricycle : cinématique
~
y
ρ
ω ψ
CIR
D
θ ρ =
O0
tan ψ
y v
ω = tan ψ
D
D
O x ~
x
Robots mobiles de type voiture : cinématique
roue avant du
tricycle équivalent
CIR
Description
Robot mobile omnidirectionnel : on peut agir indépendamment
sur les vitesses de translation selon les axes ~x , ~y et de rotation,
autour de ~z .
~
y
θ
y
O0
roues suédoises
ou roues décentrées orientables
~
x
O x
Modèles des robots mobiles (1)
ξ̇ = C(q)u
Modèles des robots mobiles (1)
ẋ = v cos θ
ẏ = v sin θ
θ̇ = ω
soit :
cos θ 0
v
ξ̇ = sin θ 0
ω
0 1
Modèles des robots mobiles (2)
Préalable
Savoir définir la configuration.
Modélisation cinématique (en configuration) de l’unicycle
Conditions de r.s.g. des deux roues :
Modélisation cinématique (en configuration) de l’unicycle
Conditions de r.s.g. des deux roues :
soit :
AT (q)q̇ = 0
On constate que AT (q) n’est pas de rang plein.
Modélisation cinématique (en configuration) de l’unicycle
Sans perte d’information on réécrit les contraintes :
ẋ
1 0 L cos θ r cos θ 0 ẏ
0 1 L sin θ r sin θ 0 θ̇ = 0
1 0 −L cos θ 0 −r cos θ ϕ˙d
ϕ˙g
Modélisation cinématique (en configuration) de l’unicycle
Par ailleurs :
−r (ϕ˙d + ϕ˙g )
θ̇ =
2L
qui s’intègre en :
−r (ϕd + ϕg )
θ= + θ0 ,
2L
où θ0 est la valeur de θ à l’initialisation (les angles des roues,
généralement mesurés par des codeurs incrémentaux, étant
alors choisis nuls). Cette contrainte intégrable est donc en fait
une contrainte holonôme.
Modélisation cinématique (en configuration) de l’unicycle
On peut donc choisir q = (x y θ ϕd )T :
ẋ
1 0 L cos θ r cos θ ẏ = 0
0 1 L sin θ r sin θ θ̇
ϕ˙d
et :
cos θ 0
sin θ 0
B(q) =
0
1
− 1r − Lr
Modélisation cinématique (en configuration) de l’unicycle
En remarquant, d’après ce qui précède, que :
ẋ = v cos θ
ẏ = v sin θ
θ̇ = ω
v Lω
ϕ˙d = − −
r r
on a :
q̇ = B(q)u,
avec pour vecteur de commande cinématique u = (v ω)T . La
matrice B(q) représente donc le modèle cinématique (en
configuration) du robot mobile.
Modèles des robots mobiles (3)
Aspects pratiques
Rotation des roues pas toujours utile du point de vue pratique,
étant donné que l’on cherche essentiellement à contrôler la
posture du robot.
ẋ = v cos θ
ẏ = v sin θ
θ̇ = ω
Modèles des robots mobiles (4)
Pour les robots mobiles de type tricycle on a q = (x y θ ψ)T et
le modèle cinématique réduit, :
ẋ = v cos θ
ẏ = v sin θ
v
θ̇ = tan ψ
D
ψ̇ = η
ẋ = u1
ẏ = u2
θ̇ = u3
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Représentation d’état
Variable d’état
Avec q = variable d’état du système. On note x = q par
habitude.
ẋ = B(x)u,
où B(x) est de dimension n × m.
Propriétés
Représentation associée non linéaire, sans dérive.
Commandabilité (1)
Interprétation
Pour qu’un robot mobile soit utile, il faut en premier lieu
s’assurer de sa commandabilité : existence d’une loi de
commande u amenant le robot d’un état initial à un état final
quelconque.
Commandabilité du linéarisé
Linéarisé autour d’un point d’équilibre x0 quelconque :
ẋ = B(x 0 )u,
Interprétation
Pour qu’un robot mobile soit utile, il faut en premier lieu
s’assurer de sa commandabilité : existence d’une loi de
commande u amenant le robot d’un état initial à un état final
quelconque.
Commandabilité du linéarisé
Condition de rang (critère de commandabilité de Kalman) :
− 1r − Lr 0 0
− 1r − Lr 0 0
− 1r − Lr 0 0
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Perception : généralités
Définition
Perception en robotique = capacité du système à recueillir,
traiter et mettre en forme des informations utiles au robot pour
agir et réagir dans le monde qui l’entoure.
Particularités de la robotique mobile :
environnement non structuré
redondance d’information : nombreux capteurs
choix des capteurs
utilisation des données
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Capteurs : exemples (1) [Siegwart 04]
Capteurs : exemples (1bis) [Siegwart 04]
Capteurs : exemples (2) [Siegwart 04]
Capteurs : exemples (3) [Siegwart 04]
Capteurs
Cadre de l’étude
Etude détaillée des capteurs =
Classification choisie
Capteurs proprioceptifs : mesure de l’état du robot lui-même
(position ou vitesse des roues, charge de la batterie, etc.).
Capteurs extéroceptifs : mesure de l’état de l’environnement
(distances robot-environnement, température, contact, etc.).
Mesure de la position
Très peu de capteurs de position absolue d’un point dans un
repère fixe donné : GPS.
Mesure de l’orientation
Davantage de capteurs d’orientation d’un solide dans un repère
fixe donné : gyromètre, compas, etc.
Mesures . . . d’extérieur !
Mesures directes de l’orientation et de la position
principalement en extérieur.
Mesure de position et d’orientation (2)
Propriétés :
gyromètres mécaniques et optiques : performances très
supérieures à celles requises en robotique mobile, coût
élevé (aéronautique et spatial)
structure vibrante : plus grand public :
Futaba GY240 : un axe pour le modélisme, 130 $US
27 mm × 27 mm × 20 mm, 25 g.
Mesure de position et d’orientation (4)
Propriétés :
compas électroniques capables de détecter le nord
CMP03 : résolution de 3 à 4o environ, 32 × 35 mm, 45$US.
Mesure de proximité et de distance (1)
Télémétrie : définition
Télémétrie : toute technique de mesure de distance par des
procédés acoustiques, optiques ou radioélectriques.
Capteur = télémètre :
différentes techniques de mesure de distance (mesure du
temps de vol d’une onde, triangulation)
différentes technologies.
Capteurs infrarouges
Capteurs infrarouges : ensemble émetteur/récepteur utilisant
des radiations non visibles.
Capteurs infrarouges
Capteurs infrarouges : ensemble émetteur/récepteur utilisant
des radiations non visibles.
Propriétés :
faible portée, mesure très dégradée au-delà de un mètre :
détecteurs de proximité ou de présence
sensibilité aux conditions extérieures (lumière ambiante,
spécularité des surfaces, température, pression)
cône de détection
alternance émission/réception : distance minimale.
Mesure de proximité et de distance (3)
Capteurs ultrasonores
Capteurs ultrasonores : utilisent des vibrations sonores non
perceptibles pour l’oreille humaine (20 kHz à 200 kHz).
Capteurs ultrasonores
Capteurs ultrasonores : utilisent des vibrations sonores non
perceptibles pour l’oreille humaine (20 kHz à 200 kHz).
Capteurs ultrasonores
Capteurs ultrasonores : utilisent des vibrations sonores non
perceptibles pour l’oreille humaine (20 kHz à 200 kHz).
Capteurs ultrasonores
Capteurs ultrasonores : utilisent des vibrations sonores non
perceptibles pour l’oreille humaine (20 kHz à 200 kHz).
Propriétés :
distance maximale et distance effective de mesure à
adapter à la plage de mesure
sensibilité à la densité de l’air (température, pression)
cône de détection
alternance émission/réception : distance minimale
fréquence maximale des mesures variable (mesures à 1, 5
m : toutes les 10 ms, à 30 m toute les 200 ms).
Mesure de proximité et de distance (4)
Télémètres laser
Télémètres laser : mesure du temps de vol d’une impulsion
émise par une diode laser faible puissance.
Balayage : direction de mesure modifiée par rotation d’un
miroir.
Mesure de proximité et de distance (4)
Télémètres laser
Télémètres laser : mesure du temps de vol d’une impulsion
émise par une diode laser faible puissance.
Balayage : direction de mesure modifiée par rotation d’un
miroir.
Propriétés :
bonne précision, télémètres les plus répandus
bonne résolution angulaire (0, 25 − 0, 5 − 1o )
distance maximale (conseillée) de mesure : 30 m
balayage sur 100 à 180 degrés.
Mesure de proximité et de distance (4)
Télémètres laser
Télémètres laser : mesure du temps de vol d’une impulsion
émise par une diode laser faible puissance.
Balayage : direction de mesure modifiée par rotation d’un
miroir.
Propriétés :
bonne stabilité en température
plus encombrant : (L × l × h) : 156 × 155 × 210 mm, 4, 5 kg
mesure complète (balayage) en quelques secondes
prix élevé (environ 6000 $US pour un Sick).
Vision par ordinateur
Propriétés :
vision panoramique de la scène
détection temps-réel
difficultés technologiques : alignement caméra-miroir,
régularité du miroir, géométrie de capteur rectangulaire à
pas constant
en développement.
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Localisation : généralités
Objet de la localisation
Nombreux défauts des capteurs et domaines d’application
ciblés : tendance à multiplier les capteurs.
Redondance d’information : nécessité d’une fusion cohérente
d’ informations de nature différente.
Principe de l’odométrie
Calcul de la posture par intégration des vitesses :
Z t
x(t) = ẋ(τ )dτ,
0
Z t
y (t) = ẏ (τ )dτ,
0
Z t
θ(t) = θ̇(τ )dτ.
0
Remarque
Odométrie : posture relative du robot, la posture initiale devant
être obtenue par d’autres moyens.
Odométrie (2)
Avantages :
simplicité
pas de capteur supplémentaire.
Inconvénients :
sensibilité vis-à-vis des paramètres géométriques
(diamètre des roues et longueur de l’entraxe)
pour une localisation absolue l’initialisation nécessite un
autre moyen de localisation.
Odométrie (3)
Défaut majeur
Effet cumulatif très gênant des erreurs systématiques.
Odométrie (4)
Domaine d’application
Permet de positionner les objets présents dans la scène par
rapport au robot : adapté aux environnements d’intérieur,
structurés, comportant des formes régulières et statiques
comme des murs.
Télémétrie (2)
Choix 2D ou 3D ?
Modèle de données (données brutes ou segmentation).
Télémétrie (2)
Choix 2D ou 3D ?
En 2D : certains obstacles mal captés (pieds de table).
Télémétrie (2)
Choix 2D ou 3D ?
En 3D : coût prohibitif du télémètre sinon dispositif orientable.
Recalage
Connaissance a priori de l’environnement : possibilité de
recalage des mesures sur le modèle :
soit on utilise directement le nuage de points de mesure
soit on extrait des primitives dans ce nuage, typiquement
des segments représentant les surfaces planes et des
coins, représentant l’intersection des segments.
Télémétrie (3)
Amers
Points (balises, motifs, objets) localisés simultanément dans
l’environnement : calcul de la posture du robot par télémétrie et
puis triangulation.
d1
d2
~
y B1
α1 B2
ϕ α2
θ
y
O0
~
x
O x
d1
d2
~
y B1
B2
y
O0
B3
~
x d3
O x
Généralités
Processus de localisation classique : combinaison des
mesures proprioceptives et extéroceptives :
posture relative donnée par l’odométrie
posture du robot par rapport à l’environnement :
localisation d’amers (motifs, balises)
localisation externe du robot par des capteurs présents
dans l’environnement.
Recalage simple
Mesure de la posture relative presque exclusivement par
odométrie. . .
Localisation multicapteur (2)
Recalage simple
Mesure de la posture relative presque exclusivement par
odométrie. . .
et
σr2 σo2
ξ= ξ o + ξr .
σo2 + σr2 σo2 + σr2
1 1 1
Variance de la mesure ainsi pondérée tq σ2
= σo2
+ σr2
.
Conséquences :
confiance faible sur la mesure des capteurs extéroceptifs (donc variance
associée importante) : ces mesures affectent peu l’estimation de posture
à l’inverse, variance de l’odométrie trop forte : mesures issues des capteurs
extéroceptifs deviendront prépondérantes
variance de l’estimation pondérée meilleure que celle des mesures séparées
(heureusement. . .).
Localisation multicapteur (4)
Modélisation
Modèle d’état d’un robot mobile non linéaire :
état x = configuration q (réduite)
modèle d’évolution de l’état = modèle cinématique
vecteur de sortie y = ensemble des mesures effectuées
(dimension généralement supérieure à celle de l’état).
Etape de prédiction :
Etape d’estimation :
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Cartes de l’environnement : généralités
Problème
Cartographie de l’environnement : problème dual de la
localisation : représentation de l’environnement, en supposant
connue la position du robot.
Types de cartes
Carte géométrique de l’environnement : positions dans une
métrique donnée.
Carte topologique de l’environnement : associations entre les
lieux de l’environnement.
Cartes géométriques
Contexte
Cas d’environnements de grande taille : construction d’une
représentation purement géométrique insuffisante et trop
lourde à manipuler.
Informations topologiques : typiquement graphe discret
représentant différentes zones et donc différentes cartes
locales dans lesquelles évolue le robot.
Evolution
Décision d’utiliser une nouvelle carte locale : configuration
particulière de l’environnement (passage, erreur de localisation
importante dans la carte précédente).
Boucles : remise à jour des différentes cartes locales.
Localisation et cartographie simultanées (SLAM)
Problème
Localisation et cartographie simultanées (SLAM) : naviguer à
partir d’une position inconnue et dans un environnement
inconnu en construisant en même temps une représentation de
l’environnement et de la posture du robot.
...
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Définitions
Mouvement
Mouvement : application définie en fonction du temps t, reliant
un point initial à l’instant t0 à un point final à l’instant tf .
Trajectoire
Trajectoire : support d’un mouvement, i. e.courbe paramétrée
par une variable s quelconque.
Navigation
Navigation d’un robot mobile : recherche d’un mouvement dans
l’espace des configurations sans collisions, d’une configuration
initiale q 0 = q(t0 ) à une configuration finale q f = q(tf ).
Deux approches :
Problématique
Navigation
Navigation d’un robot mobile : recherche d’un mouvement dans
l’espace des configurations sans collisions, d’une configuration
initiale q 0 = q(t0 ) à une configuration finale q f = q(tf ).
Deux approches :
planification de trajectoire (ou de mouvement), exécution
du mouvement
Problématique
Navigation
Navigation d’un robot mobile : recherche d’un mouvement dans
l’espace des configurations sans collisions, d’une configuration
initiale q 0 = q(t0 ) à une configuration finale q f = q(tf ).
Deux approches :
planification de trajectoire (ou de mouvement), exécution
du mouvement
combinaison de primitives réactives (dont l’enchaînement
est du ressort d’un planificateur de tâches).
Planification, exécution
Schéma classique
planification d’une trajectoire évitant les obstacles :
q : [0, 1] −→ Cfree
s 7→ q(s),
Variante
planification d’une trajectoire évitant les obstacles :
q : [0, 1] −→ Cfree
s 7→ q(s),
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Généralités
Amélioration
Décomposition non exacte en cellules régulières ou non :
précision au voisinage des obstacles.
Décomposition en cellules (1)
Amélioration
Décomposition non exacte en cellules régulières ou non :
précision au voisinage des obstacles.
Méthode du potentiel (1)
−∇U−
−∇U+
qf
Diagramme de Voronoï
Diagramme de Voronoï : lignes d’égale distance aux obstacles
dans un environnement polygonal plan (navigation au plus loin
des obstacles).
Roadmaps (2)
Graphes de visibilité
Graphe de visibilité : graphe capturant la topologie de
l’environnement à partir des sommets d’obstacles polygonaux.
Graphes de visibilité
Graphe de visibilité : graphe capturant la topologie de
l’environnement à partir des sommets d’obstacles polygonaux.
Graphes de visibilité
Graphe de visibilité : graphe capturant la topologie de
l’environnement à partir des sommets d’obstacles polygonaux.
Algorithme PRM
Méthode initiale : probabilistic roadmap (PRM)
Les nœuds du graphe ne sont pas choisis selon la géométrie
de l’environnement et des obstacles, mais par un tirage
aléatoire dans Cfree .
Roadmaps (4)
Algorithme PRM
Méthode initiale : probabilistic roadmap (PRM)
Les nœuds du graphe ne sont pas choisis selon la géométrie
de l’environnement et des obstacles, mais par un tirage
aléatoire dans Cfree .
Roadmaps (4)
Algorithme PRM
Méthode initiale : probabilistic roadmap (PRM)
Les nœuds du graphe ne sont pas choisis selon la géométrie
de l’environnement et des obstacles, mais par un tirage
aléatoire dans Cfree .
Roadmaps (5)
Problème
Planification de trajectoire = problème géométrique.
Contraintes non holonômes = problème cinématique.
Problème difficile combinant planification et commande.
Première possibilité :
planification de trajectoire sans tenir compte des
contraintes cinématiques
moyennant l’existence de lois de commande locales relier
les configurations de cette trajectoire pour calculer une
trajectoire admissible
optimisation : lissage de la trajectoire
Alternative : planification avec intégration de contrainte
[LaValle 04].
Plan
1 Introduction
2 Modélisation
Définitions
Roulement sans glissement et contraintes non holonômes
Les grandes classes de robots mobiles et leurs modèles
Représentation d’état et commandabilité
3 Perception
Capteurs en robotique mobile
Localisation
Construction de carte
4 Navigation
Problématiques et approches
Planification de chemin
Execution du mouvement
Les différents problèmes de commande
Définitions
Deux tâches :
suivi de chemin : calcul de la commande permettant
d’asservir la distance d’un point du robot à une trajectoire
de référence, la vitesse de déplacement longitudinale étant
donnée
la stabilisation de mouvement : calcul de la commande du
système permettant de stabiliser asymptotiquement à zéro
l’erreur de suivi par rapport à un robot de référence.
Hypothèses
Problèmes de commande par retour d’état.
Etude de l’unicycle exclusivement.
Paramétrage
~
yr
θe
~0
y
~
y
x0
~
~
xr
θr
a
O 0 Or
P
b
~
x
O
Suivi de chemin (1)
Problématique
Trouver ω pour asservir d(P, C) avec v donnée.
y0
~
~
y θe
~
yr
x0
~
Or
~
x
O
C
Suivi de chemin (2)
Existence et unicité de Or
P toujours à une distance de C inférieure à son rayon de
courbure ρ(s) en Or , i. e. |d| < |ρ(s)|, ∀s ∈ [0 1] ou :
|dc(s)| < 1, ∀s ∈ [0 1]
Courbure c(s) de C en Or :
dθr
c(s) =
ds
Suivi de chemin (4)
Courbure c(s) de C en Or :
dθr
c(s) =
ds
et donc :
Suivi de chemin (4)
Courbure c(s) de C en Or :
dθr
c(s) =
ds
et donc :
θ˙e = θ̇ − θ˙r ,
Suivi de chemin (4)
Courbure c(s) de C en Or :
dθr
c(s) =
ds
et donc :
θ˙e = θ̇ − θ˙r ,
dθr ds
= θ̇ − ,
ds dt
Suivi de chemin (4)
Courbure c(s) de C en Or :
dθr
c(s) =
ds
et donc :
θ˙e = θ̇ − θ˙r ,
dθr ds
= θ̇ − ,
ds dt
soit :
θ˙e = ω − ṡc(s).
Suivi de chemin (5)
Vitesse du point P :
Suivi de chemin (5)
Vitesse du point P :
−→
~vP ~ ∧ O 0 P,
= ~vO 0 + ω
Suivi de chemin (5)
Vitesse du point P :
−→
~vP = ~vO 0 + ω~ ∧ O 0 P,
= v ~x 0 + ω~z ∧ (a~x 0 + b~y 0 ),
Suivi de chemin (5)
Vitesse du point P :
−→
~vP = ~vO 0 + ω~ ∧ O 0 P,
= v ~x 0 + ω~z ∧ (a~x 0 + b~y 0 ),
= (v − bω)(cos θe ~xr + sin θe ~yr ) + aω(− sin θe ~xr + cos θe ~yr ),
Suivi de chemin (5)
Vitesse du point P :
−→
~vP = ~vO 0 + ω~ ∧ O 0 P,
= v ~x 0 + ω~z ∧ (a~x 0 + b~y 0 ),
= (v − bω)(cos θe ~xr + sin θe ~yr ) + aω(− sin θe ~xr + cos θe ~yr ),
soit :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr .
Suivi de chemin (6)
ou :
Suivi de chemin (6)
ou :
−→
d
~vP = OP ,
dt
Suivi de chemin (6)
ou :
d −→
~vP = OP ,
dt
−→ −→
d
= OOr + Or P ,
dt
Suivi de chemin (6)
ou :
d −→
~vP = OP ,
dt
−→ −→
d
= OOr + Or P ,
dt
d
= ṡ~xr + d ~yr ,
dt
Suivi de chemin (6)
ou :
d −→
~vP = OP ,
dt
−→ −→
d
= OOr + Or P ,
dt
d
= ṡ~xr + d ~yr ,
dt
= ṡ~xr + ḋ ~yr − d θ̇r ~xr ,
Suivi de chemin (6)
ou :
d −→
~vP = OP ,
dt
−→ −→
d
= OOr + Or P ,
dt
d
= ṡ~xr + d ~yr ,
dt
= ṡ~xr + ḋ ~yr − d θ̇r ~xr ,
soit :
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr .
Suivi de chemin (7)
On récapitule :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr ,
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr ,
Suivi de chemin (7)
On récapitule :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr ,
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr ,
soit :
Suivi de chemin (7)
On récapitule :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr ,
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr ,
soit :
(v − bω) cos θe − aω sin θe
ṡ = ,
1 − dc(s)
Suivi de chemin (7)
On récapitule :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr ,
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr ,
soit :
(v − bω) cos θe − aω sin θe
ṡ = ,
1 − dc(s)
ḋ = (v − bω) sin θe + aω cos θe ,
Suivi de chemin (7)
On récapitule :
~vP = ((v − bω) cos θe − aω sin θe ) ~xr + ((v − bω) sin θe + aω cos θe ) ~yr ,
~vP = ṡ (1 − dc(s)) ~xr + ḋ ~yr ,
soit :
(v − bω) cos θe − aω sin θe
ṡ = ,
1 − dc(s)
ḋ = (v − bω) sin θe + aω cos θe ,
θ˙e = ω − ṡc(s).
Suivi de chemin (8)
Conséquences
Système chaîné
ẋ1 = u1 , ẋ2 = u1 x3 , et ẋ3 = u2 .
Suivi de chemin (9)
Système chaîné
ẋ1 = u1 , ẋ2 = u1 x3 , et ẋ3 = u2 .
Système chaîné
ẋ1 = u1 , ẋ2 = u1 x3 , et ẋ3 = u2 .
si u1 constant quelconque.
Suivi de chemin (9)
Système chaîné
ẋ1 = u1 , ẋ2 = u1 x3 , et ẋ3 = u2 .
si u1 constant quelconque.
Conclusion
Système stable en x2 = x3 = 0 et donc en d = 0 et θe = 0.
Suivi de chemin (10)
On peut montrer que pour u1 quelconque et :
x32 (0) 1
x22 (0) + < 2
k2 cmax
Problématique
Asservir la posture d’un robot mobile par rapport à un robot
virtuel de référence.
~
yr
θe
~0
y
~
y
x0
~
~
xr
θr
a
0 Or
O P
b référence
robot
~
x
O
Stabilisation de mouvement (2)
Mouvement de référence
Repère de référence pas nécessairement arbitraire :
mouvement de référence admissible : ẋ r = B(x r )u r
mouvement de référence non admissible.
Formulation du problème
Soit un mouvement admissible x r (t) sur [0, T ] tel que
ẋ r = B(x r )u r .
Problème de stabilisation : trouver u(x, x r , t) tq l’origine du
système d’erreur :
ẋ e = B(x)u − B(x r )u r
Hypothèse : on considère P tq a 6= 0 et b = 0.
Stabilisation de mouvement (3)
Hypothèse : on considère P tq a 6= 0 et b = 0.
Alors :
ṗ e = ~vP/R − ṗ r
cos θ − sin θ v − bω
= − ṗ r .
sin θ cos θ aω
on a :
ṗ e = u − ṗ r .
Stabilisation de mouvement (4)
Avec (inversible car a 6= 0) :
u1 cos θ − sin θ 1 −b v
u= =
u2 sin θ cos θ 0 a ω
on a :
ṗ e = u − ṗ r .
Stabiliser par retour d’état :
u = ṗ r − K p e ,
on a :
ṗ e = u − ṗ r .
Stabiliser par retour d’état :
u = ṗ r − K p e ,
Remarque
Dans ce qui précède c’est le point P qui est asservi à la
position de Or et il persiste une erreur constante de a (or a 6= 0
impérativement).
Stabilisation de mouvement (5)
Dans Rr :
xe cos θr sin θr 0 x − xr
ξ e = ye = − sin θr
cos θr 0 x − yr .
θe 0 0 1 θ − θr
Stabilisation de mouvement (5)
Dans Rr :
xe cos θr sin θr 0 x − xr
ξ e = ye = − sin θr
cos θr 0 x − yr .
θe 0 0 1 θ − θr
Alors :
ẋe cos θe 0 1 −ye
ẏe = sin θe v + 0 ω − 0 vr − xe ωr .
θ̇e 0 1 0 1
Stabilisation de mouvement (6)
ẋ1 = u1 + ωr x2 ,
ẋ2 = u1 x3 − ωr x1 + vr x3 ,
ẋ3 = u2 .
Stabilisation de mouvement (6)
ẋ1 = u1 + ωr x2 ,
ẋ2 = u1 x3 − ωr x1 + vr x3 ,
ẋ3 = u2 .
Alors :
u1 = −k1 |vr |(x1 + x2 x3 ),
u2 = −k2 vr x2 − k3 |vr |x3 ,
avec k1 , k2 et k3 > 0 rend le système asymptotiquement stable
si vr est suffisamment régulière (bornée, dérivable et de dérivée
bornée et ne tendant pas vers zéro lorsque t tend vers l’infini).
Stabilisation de mouvement (7)
ω
Avec x1 = x, x2 = y , x3 = tan θ, u1 = v cos θ et u2 = cos2 θ
on
obtient :
Stabilisation de mouvement (7)
ω
Avec x1 = x, x2 = y , x3 = tan θ, u1 = v cos θ et u2 = cos2 θ
on
obtient :
ẋ1 = u1 ,
ẋ2 = u1 x3 ,
ẋ3 = u2 .
Stabilisation de mouvement (8)
Vecteur de commande étendu : u e = (u1 u2 α̇)T .
Stabilisation de mouvement (8)
Vecteur de commande étendu : u e = (u1 u2 α̇)T .
Soit ε1 et ε2 > 0 :
fε, 1 (α) ε1 cos α
fε (α) = fε, 2 (α) = ε14ε2 sin 2α .
fε, 3 (α) ε2 sin α
Stabilisation de mouvement (8)
Vecteur de commande étendu : u e = (u1 u2 α̇)T .
Soit ε1 et ε2 > 0 :
fε, 1 (α) ε1 cos α
fε (α) = fε, 2 (α) = ε14ε2 sin 2α .
fε, 3 (α) ε2 sin α
Avec z = x − fε (α), on a :
ż = B(x, α) u e
où :
1 0 ε1 sin α
B(x, α) = x3 0 − ε12ε2 cos 2α .
0 1 −ε2 cos α
Stabilisation de mouvement (9)
ż = B(x, α) u e
Stabilisation de mouvement (9)
ż = B(x, α) u e
Commande
La commande u e = B(x, α)−1 K z, avec K une matrice définie
négative, stabilise le robot mobile en d = 0.
Stabilisation de mouvement (9)
ż = B(x, α) u e
Commande
La commande u e = B(x, α)−1 K z, avec K une matrice définie
négative, stabilise le robot mobile en d = 0.
Conclusion
Le système converge vers z = 0 , mais B(x, α) n’est pas
toujours inversible (points singuliers).
Stabilisation de mouvement (10)
Changement de variables plus complexe :
x1 − fε, 1 (α)
z = x2 − fε, 2 (α) − x1 (x3 − fε, 3 (α)) .
x3 − fε, 3 (α)
Stabilisation de mouvement (10)
Changement de variables plus complexe :
x1 − fε, 1 (α)
z = x2 − fε, 2 (α) − x1 (x3 − fε, 3 (α)) .
x3 − fε, 3 (α)
Alors :
ż = D(x1 )B(fε (α), α)u e
avec :
1 0 0
D(x1 ) = 0 1 −x1 .
0 0 1
Stabilisation de mouvement (11)
Commande
La commande u e = B(fε (α), α)−1 D(x1 )−1 K z stabilise le
système vers z = 0 avec une convergence exponentielle et α
converge ainsi exponentiellement vers une constante.
Stabilisation de mouvement (11)
Commande
La commande u e = B(fε (α), α)−1 D(x1 )−1 K z stabilise le
système vers z = 0 avec une convergence exponentielle et α
converge ainsi exponentiellement vers une constante.
Conclusions
Pas de points singuliers (D(x1 ) et B(fε (α), α) toujours
inversibles).
Convergence de x vers 0 ajustée par ε1 et ε2 (petites valeurs :
manœuvres)
ActivMedia.
P3-DX : World’s Most Popular Intelligent Wheeled Robot,
2004.
G. Campion, G. Bastin et B. D’Andréa-Novel.
Structural Properties and Classification of Kinematic and
Dynamic Models of Wheeled Mobile Robots.
IEEE Transactions on Robotics and Automation, vol. 12,
no. 1, pages 47–62, 1996.
J. Gangloff.
Cours de robotique, 2004.
G. Giralt, R. Chatila et M. Vaisset.
An Integrated Navigation and Motion Control System for
Autonomous Multisensory Mobile Robots.
In First International Symposium on Robotics Research,
pages 191–214, Cambridge, 1984.
K-team.
Khepera II user manual, 2002.
S. M. LaValle.
Planning algorithms.
Published online, 1999-2004.
T. Pajdla.
Omnidirectional Vision Course.
Rapport technique, ICCV 2003, 2003.
R. Siegwart et I. R. Nourbakhsh.
Introduction to autonomous mobile robots.
MIT press, 2004.