37
Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Embed Size (px)

Citation preview

Page 1: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Modélisation du robot Azimut-3

IFT593 – Intelligent Design

Daniel Castonguay

Simon Chamberland

Page 2: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Projet conjoint IFT702

Implémenter et comparer différentes méthodes d’échantillonnage

Page 3: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 4: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 5: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Problématique

Azimut-3 Laboratoire Laborius (faculté de Génie) Modélisation du robot

Contraintes différentielles Planification de trajectoires

dans un environnement statique

Page 6: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Problématique

Modélisation du robot 4 roues enlignées selon un CIR (centre

instantané de rotation) CIR exprimé en coordonnées polaires,

distance r et angle θ

Page 7: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Problématique

Modélisation du robot Un CIR « à l’infini » : mouvement en ligne droite Discontinuité dans le déplacement du CIR

Car l’amplitude des roues est bornée

But: minimiser le nombre de changements de zones

Page 8: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Problématique

Planification de trajectoires Présentement, aucun planificateur de

trajectoires

La faculté de génie fait donc appel à la faculté des sciences!

Page 9: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 10: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Utilisation de la librairie OOPSMP Auteur Erion Plaku,

http://www.kavrakilab.org/OOPSMP/index.html Implémentation facile de nouveaux composants (espaces d’état,

planificateurs…) Spécialisation des classes pour Azimut

Page 11: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Représentation du robot Divers paramètres

Largeur / longueur Rayon des roues Amplitude des roues Distance des roues par

rapport au robot Vitesse maximale de

rotation des roues

Page 12: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Représentation du robotHypothèses

Pas de collision entre les roues peu importe leur dimension et leur position

Accélération infinie (changements instantanés de vitesse)

Orientation du robot est superflue On suppose la présence de senseurs à 360°

Page 13: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première versionLa position des roues n’est pas prise en

compteCIR est exprimé en (x,y) є [-1, 1]²

Plutôt qu’en coordonnées polaires CIR est donc délimité par un carré

plutôt qu’un cercle

1

1

θr

Page 14: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première version Environnement continu Espace d’états, composé d’une infinité d’états x

x = {x, y, θ} Position et orientation du robot

Vecteur de contrôle u = {s, CIR} appliqué pour un certain Δt Vitesse et centre de rotation du déplacement

x0 = {10, 2, 90°}

u = {5, CIR}

x1 = {6, 6, 163°}

Page 15: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première versionQuestion de la semaine:Étant donné un état initial x0 et un vecteur de

contrôle u, comment calculer le nouvel état x au temps t ?

x0 = {10, 2, 90°}

u = {2.5, CIR}

x1 = ?

Page 16: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première version Dérivées des variables

selon le temps x'(t) = -s * sin(λ)

y'(t) = s * cos(λ)θ'(t) = s/r

où λ = quelque chose de compliqué(arctan(-CIRy/-CIRx) + θ + t * s/r)

CIR

λ

t0

Page 17: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première version Intégration symbolique des équations: x(t) = a + r * cos(λ)

y(t) = b + r * sin(λ)θ(t) = θ0 + s*t / r où a et b sont les coordonnéesde projection du CIR dans le plan

Nous pouvons maintenant calculerle nouvel état x en fonction du temps!

CIR

λ

t0

t1t2

t3

Page 18: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Première version

Page 19: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version La position des roues

est prise en compte Les roues doivent être

alignées par rapport au CIR voulu

Page 20: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version Possibilité de

repositionner les roues en mouvement

Baptisés « chemins avec déviation »

Page 21: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version Espace d’états, composé d’une infinité d’états x

x = {x, y, θ, φ1 , φ2 , φ3 , φ4} Position, orientation du robot et orientation des roues

Vecteur de contrôle u = {s, CIR, sCIR} appliqué pour un certain Δt Vitesse, centre de rotation et vitesse de changement du

centre de rotation

Page 22: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version u = {s, CIR, sCIR}

sCIR représente la vitesse de déplacement du CIR, qu’on suppose constante

Et donc aussi le changement d’orientation des roues!

Comment déterminer le changement d’orientation des roues pour passer d’un CIR initial à un CIR final?

(Comment déterminer sCIR)

Page 23: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version Comment déterminer le changement d’orientation des

roues? Vitesse de rotation des roues est bornée: sφmax

Déterminer le point où une des roues tourne le plus rapidement

Notre solution n’est pas présentée ici Assigner à la roue en question la vitesse de rotation

maximale sφmax pour ce point Déterminer sCIR le déplacement du CIR à partir de l’équation

trouvée

Page 24: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième versionNous avons donc des déplacements où les

roues tournent lorsque le robot est en mouvement!

Page 25: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième versionMême question que tout à l’heure:Étant donné un état initial x0 et un vecteur de

contrôle u, comment calculer le nouvel état x au temps t ?

x0 = {10, 2, 90°, 0°, 0°, 0°, 0°}

u = {2.5, CIR, sCIR}

x1 = ?

Page 26: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version Dérivées des variables selon le temps

Le CIR bouge de façon linéaire x'(0) = -s * sin(λ)

y'(0) = s * cos(λ)θ'(0) = s/rφi'(0) dépend de SCIR

où λ = arctan(-CIRy/-CIRx) + θ + t * s/r

CIR

λ

t0

Page 27: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Deuxième version Nous n’avons pas réussi à intégrer ces équations

symboliquement Est-ce possible?

Nous ne pouvons donc pas calculer le nouvel état x de façon exacte

Il faut utiliser des méthodes numériques d’intégration Approximer la fonction selon n dérivées en un point

Page 28: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Utilisation des chemins avec déviation

Page 29: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Apport de l’équipe

Utilisation des chemins avec déviationReste à faire…

Page 30: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 31: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Problèmes rencontrés

Complexité mathématique Algorithmes souvent non déterministes

Difficulté à reproduire les bogues Approximation des valeurs réelles en C++

Trouver le CIR à partir de la position des roues…

Système d’équations linéairesarctan(1.0000000001) retourne indéfini…

Page 32: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 33: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Plan

Problématique Apport de l’équipe Problèmes rencontrés Démonstration Conclusion Questions

Page 34: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Conclusion

Projet aux vastes ramifications Intelligence artificielleAlgèbre linéaireStatistiques

Résultats satisfaisantsCompte tenu du temps nécessaire

d’apprentissage

Page 35: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Conclusion

Améliorations possiblesModéliser l’accélérationSmoothing avec déviation

Page 36: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland

Questions?

Page 37: Modélisation du robot Azimut-3 IFT593 – Intelligent Design Daniel Castonguay Simon Chamberland