28
Perception de l’environnement Robotique et Systèmes Embarqués Samuel Tardieu [email protected] ´ Ecole Nationale Sup ´ erieure des T ´ el ´ ecommunications Institut de la Francophonie pour l’Informatique ROSE/Perception – p.1/28

Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Perception de l’environnementRobotique et Systèmes Embarqués

Samuel [email protected]

Ecole Nationale Superieure des Telecommunications

Institut de la Francophonie pour l’Informatique

ROSE/Perception – p.1/28

Page 2: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Environnement et robotique

Un robot combine plusieurs techniques:

perception

sélection de l’action

action

La perception lui permet d’acquérir des données venant

de l’extérieur ou de l’intérieur (proprioception).

ROSE/Perception – p.2/28

Page 3: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Perception

La perception pose plusieurs problèmes:

acquisition de l’information

traitement de l’information

fusion d’informations

ROSE/Perception – p.3/28

Page 4: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Chaîne de mesure

Une chaîne de mesure:

transforme une grandeur physique x observée engrandeur d’observation y

doit permettre de reconstruire x à partir de y

a une marge d’erreur, déterministe ou aléatoire

ROSE/Perception – p.4/28

Page 5: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Cas déterministe

Le bruit et les erreurs aléatoires sont négligés

Les erreurs systématiques sont corrigées

La fonction de mesure y = h(x) est surjective maispas nécessairement injective (on peut avoir x1 6= x2

et h(x1) = h(x2))

Si h est injective, la solution au problème estx = h−1(y)

ROSE/Perception – p.5/28

Page 6: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Mesure non injective

Quand h n’est pas injective, h−1 représente unensemble de points

On appelle C(x) les connaissances supplémentairessur x

L’estimée de x est l’ensemble x = C(x) ∩ h−1(y)

Si x n’est pas vide, x est dit observableExemple: reconstitution de forme 3D à partir d’unsystème de vision monoculaire lorsque la forme estconnue a priori

ROSE/Perception – p.6/28

Page 7: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Cas stochastique

La mesure est un voisinage Vy avec y ∈ Vy

On obtient en fait y = h(x) + w où w est le bruitd’observation

Si h est bijective, h−1 permet de déterminer unvoisinage Vx tel que x ∈ Vx

ROSE/Perception – p.7/28

Page 8: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Moindres carrés

La méthode des moindres carrés consiste àminimiser une fonction coût C.

On choisit l’ensemble x des éléments x tel que x

minimise C =∑

i (yi − h(x))2

ROSE/Perception – p.8/28

Page 9: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Origine des erreurs

Mauvaise connaissance de h

Mauvaise connaissance des autres contraintes

Perturbation: y = h(x, p) + w où p est un vecteur deperturbations

L’incertitude sur la mesure peut être représentée par une

distribution de probabilité πx.

ROSE/Perception – p.9/28

Page 10: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Dimension d’un capteur

Un capteur physique est dit:

0D si le signal est une fonction a(t) (température)

1D si le signal est une fonction a(u, t) (capteur CCDlinéaire)

2D si le signal est une fonction a(u, v, t) (caméraclassique)

ROSE/Perception – p.10/28

Page 11: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Proximétrie

Mesure de distances entre 1mm et 1dm

Induction par réluctance variable (cibleferromagnétique non conductrice) et courants deFoucault (cible non ferromagnétique et conductrice)

Induction par effets Hall et magnétorésistifs

Effet électrostatique (capteur capacitif)

Optique

ROSE/Perception – p.11/28

Page 12: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Exemple: proximétrie optique

dCible

Intensité réfléchie: (K dépend du matériau)

E = K/d2 pour une cible étendue

E = K/d4 pour une cible ponctuelle

ROSE/Perception – p.12/28

Page 13: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Télémétrie

Mesure de distances à partir d’1dm

Temps de vol d’une impulsion radar (HF), lidar (IR)ou sonar (US): tr = 2d/v

Déphasage d’une onde stationnaire (IR ou HF):φ/2π = 2d/λ

Triangulation (IR avec système optique): mesured’angle, d = D

tan α+tanβoù D est la distance entre

l’émetteur et le récepteur et α et β les anglesd’émission et de réception

ROSE/Perception – p.13/28

Page 14: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Relevés 1D, 2D, 3D

Mesure d’un éclairement, d’une température, d’uneabsorption ou d’une distance

Pointageoptiquemécaniqueélectronique

ROSE/Perception – p.14/28

Page 15: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Exemple d’ambiguïté

Les mesures sont ambiguës lorsque la fonctiony = h(x) n’est pas injective.

Pour un télémètre à temps de vol,d = v(tr + kT )/2, k ≥ 0 lorsque T est la périodeentre les impulsions

Dans l’idéal, T est choisi pour que k = 0systématiquement (réflexion non mesurable à partird’une distance vT/2)

ROSE/Perception – p.15/28

Page 16: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Fusion d’informations

La fusion d’informations de capteurs sert:

lorsque un capteur seul n’a pas de dynamiquesuffisante (proximètre et télémètre)

lorsque plusieurs mesures peuvent augmenter laprécision (signal bruité)

lorsque des capteurs peuvent en discriminer d’autresen cas d’ambiguïté (ultrasons et infrarouge)

ROSE/Perception – p.16/28

Page 17: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Exemple de fusion

On souhaite insérer un objet dans un trou (par lehaut)

Une première caméra repère les coordonnées (x, z)

Une seconde caméra repère les coordonnées (y, z)

La fusion permet de connaitre (x, y, z)

On a une information redondante sur z

ROSE/Perception – p.17/28

Page 18: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Exemple de correction

Sur un robot mobile:

des roues codeuses enregistrent le mouvement dechaque roue

les mouvements des roues sont combinés pourcalculer le déplacement

la position est estimée en fonction de la dernièreposition connue

la position est corrigée grâce à des capteurs externes

ROSE/Perception – p.18/28

Page 19: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Roues codeuses

y

x

d

α

D

ROSE/Perception – p.19/28

Page 20: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Roues codeuses (2)

Supposons que le robot soit, au départ, en (x, y)orienté d’un angle α par rapport à l’axe [Ox)

Soit N le nombre d’impulsions par tour de roue, Dle diamètre des roues et d la distance entre les roues

La distance parcourue par impulsion est δ = πD/N

Soient ng et nd le nombre d’impulsions reçues dansun intervalle de temps par les roues

ROSE/Perception – p.20/28

Page 21: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Roues codeuses (3)

Les distances parcourues par les deux roues sontlg = δng = πD

ng

Net ld = δnd = πDnd

N

La distance moyenne est l = (lg + ld)/2

La variation d’angle estβ = arcsin

ld−lgd

= arcsin(πDd

nd−ng

N)

L’angle moyen est γ = α + β/2

Les nouvelles coordonnées sont:(x + l cos γ, y + l sin γ), avec un angle α + β

ROSE/Perception – p.21/28

Page 22: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Limitations

β doit être compris entre −π/2 et π/2

L’intervalle doit être le plus petit possible

Les erreurs se cumulent

ROSE/Perception – p.22/28

Page 23: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Type de correction

Soit une position estimée E et une position mesurée M .La correction peut être:

relative: E ← E + k(M − E) (avec k ∈ ]0, 1[)

totale: E ←M (équivalent à k = 1)

inexistante: E ← E (équivalent à k = 0)

Si M est une position partielle, la correction est partielle.

ROSE/Perception – p.23/28

Page 24: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Capteur logique

Le capteur logique peut être imprécis:

le capteur physique peut être mal modélisé (largeurdu faisceau ultrason)

l’effet mesuré peut être trop simplifié (refletsoubliés)

les variations peuvent être oubliées (gradient detempérature, mouvements de l’air, dérapages)

ROSE/Perception – p.24/28

Page 25: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Localisation

Un robot peut naviguer grâce à:

des roues codeuses (odomètre), indépendantes ouliées aux roues

un gyroscope, un compas

des balises et de la triangulation (ZigBee)

un accéléromètre, un anémomètre, un tilt

des capteurs de contact (bumpers, moustaches)

un GPS (en extérieur), un altimètre

un thermomètre (pour calibrer les autres capteurs)

ROSE/Perception – p.25/28

Page 26: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Moustaches

Psykharpax

Robot « rat » en cours de construction

Se déplace très vite

Détecte les obstacles

ROSE/Perception – p.26/28

Page 27: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Localisation: ZigBee

Technologie IEEE 802.15.4 pour le bas débit

Alliance d’une vingtaine de constructeurs

Avec deux piles AA: durée de vie de 6 mois à 2 ans

Portée: de 10 à 75 mètres

Débit: de 20kbps à 250kbps

Communication fiable (gestion des conflits etaccusés de réception)

ROSE/Perception – p.27/28

Page 28: Robotique et Systèmes Embarqués - rfc1149.netRoues codeuses (2) Supposons que le robot soit, au départ, en (x;y) orienté d’un angle par rapport à l’axe [Ox) Soit N le nombre

Bibliographie

« Perception de l’environnement en robotique »,F. Chavand et É.Colle, éditions Hermès, collectionRobotique.

ROSE/Perception – p.28/28