Quelques éléments d’intelligence...

39
Design III Quelques éléments d’intelligence artificielle Philippe Giguère PLT - 3976 [email protected] Matériel tiré et inspiré des cours IFT - 4102 Concepts avancés pour systèmes intelligents GLO - 4001 Introduction à la robotique mobile 1

Transcript of Quelques éléments d’intelligence...

Page 1: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Quelques éléments d’intelligence artificielle

Philippe GiguèrePLT-3976

[email protected]

Matériel tiré et inspiré des coursIFT-4102 Concepts avancés pour systèmes intelligents

GLO-4001 Introduction à la robotique mobile

1

Page 2: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Plan

Intelligence artificielle et agent intelligent

Planification

Espace de configuration

Discrétisation de l’espace continu

Exemples de planification

3

Page 3: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Quels sont les domaines de l’IA ?

• L’exploration, le CSP et l’optimisation combinatoire• L’inférence logique• La planification• La représentation des connaissances• Le raisonnement incertain• La prise de décision• L’apprentissage automatique• Les agents et les systèmes multi-agents• La vision numérique• Le traitement de la langue naturelle• La robotique

4

Page 4: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Ce dont vous avez besoin pour votre projet?

• L’exploration• L’inférence logique• La planification• La représentation des connaissances• Le raisonnement incertain• La prise de décision • L’apprentissage automatique (pour s’inspirer de…)• Les agents et les systèmes multi-agents• La vision numérique• Le traitement de la langue naturelle• La robotique

5

Page 5: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Qu’est-ce qu’un agent intelligent?

Agent intelligent: tout ce qui perçoit son environnement

à l’aide de ses capteurs

et qui agit sur son environnement à l’aide de ses effecteurs.

6

Environnement?

Agent

Effecteurs

Capteur

percepts

actions

Page 6: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Environnement de tâche

Première étape de la conception d’un agent :

Spécifier l’environnement de tâche (task environment)

Contient les quatre éléments suivants (PEAS):

Mesure de la performance (Performance measure)

Environnement (Environment)

Effecteurs (Actuators)

Capteurs (Sensors)

7

Environnement?

Agent

Effecteurs

Capteur

percepts

actions

Page 7: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Votre robot• Les composantes de votre système

– Mesure de performance?• Minimiser les erreurs de détection de la position des blocs

• Maximiser la précision de la localisation du robot pour le dépôt

• Minimiser le temps de déplacement (moins important)

– Environnement? • La table, les blocs, zone cible, les obstacles, l’émetteur infrarouge…

– Effecteurs?• Le préhenseur des blocs, les moteurs des roues, servo de la

caméra robot

– Capteurs?• La caméra World, la caméra robot, encodeur des roues,…

9

Page 8: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Propriétés de l’environnement

• Complètement observable vs partiellement observable

• Déterministe vs stochastique

• Épisodique vs séquentielle

• Statique vs dynamique

• Discret vs continu

• Un agent vs plusieurs agents

• Connu ou inconnu...

10

Environnement?

Agent

Effecteurs

Capteur

percepts

actions

Page 9: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Propriétés de l’environnement

• Situation la plus difficile• Partiellement observable• Stochastique• Séquentielle• Dynamique• Continue• Multi-agents• Inconnue

• Exemple• Conduite automatisée

d’un véhicule

• Votre projet• Totalement observable• Stochastique• Séquentielle• Statique• Discret/continue• Mono-agent• Connue

• En résumé:• On est gentil !!!

11

Page 10: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

12

Exemple discrétisation des couleurs

Page 11: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Structure d’un agent

4 types en ordre de généralité croissante:Agent simple réflexe

Agent réflexe avec état interne

Agent basé sur les buts

Agent basé sur l’utilité

Utile pour la conception du module de contrôle du robot.

13

EnvironnementStructure

Agent

Effecteurs

Capteur

percepts

actions

Page 12: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Agent simple réflexe

14

Capteurs

Analyse des données

Quelle action dois-je

faire maintenant?

Effecteurs

Règles condition-action

Agent En

viro

nn

em

en

tSimple reflex agent

Exemple : évitement d’obstacle si distance < 0.1 m

asservissement visuel (visual servoing)

Pas d’historique, donc pas d’état

Page 13: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Agent réflexe avec état interne

16

Capteurs

Analyse des données

Quelle action dois-je

faire maintenant?

Effecteurs

Règles condition-action

Agent

En

viro

nn

em

en

t

État

Model-based reflex agent

Peut tolérer des environnements partiellement observable,

grâce à l’analyse de l’historique des données : état

• Filtre Kalman / à particules

• Modélisation de la dynamique du robot

• Modélisation évolution du monde

Robot non détecté dans une

trame de la caméra monde

Page 14: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Agent basé sur les buts

18

Capteurs

Analyse des données

Quelle action dois-je

faire maintenant?

Effecteurs

Agent

En

viro

nn

em

en

t

État

Quel est l’impact de mes actions?Comment sera le monde

si je fais l’action A?

Buts

Goal-based agent

Ajoute en plus le concept de recherche/planification

pour l’atteinte des objectifs

Page 15: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Plan

Intelligence artificielle et agent intelligent

Planification

Espace de configuration

Discrétisation de l’espace continu

Exemples de planification

19

Page 16: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Planification de trajectoire

Représentation continue(espace des configurations)

Discrétisation

Recherche dans un graphe(blind, best-first, A*)

Page 17: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Espace de configuration C

• Transformation de l’espace

– Réduire la dimension du robot

• Le centre du robot devient le point de référence.

– « Gonfler » les obstacles (Minkowski)

• Reporter les dimensions du robot sur les obstacles.

– Planifier un chemin dans l’espace de configuration libre (C-space)

• Avec les obstacles gonflés et le robot comme un point.

21

Espace

libre

Page 18: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Espace de configuration C

• Pour un robot circulaire se déplaçant en x-y

22

Espace libre

Page 19: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Espace de configuration C

• Le centre du robot ne peut être que dans la zone grise.

23

Clibre

(approximé comme un point)

régions non-accessibles

Page 20: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Espace de configuration C

• Pour un robot se déplaçant en (x,y,q)

• Non-circulaire

24

intersection

Page 21: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Trajectoire libre vs. semi-libre

25

À éviter pour votre projet…

Page 22: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Planification de trajectoire

Représentation continue(espace des configurations)

Discrétisation

Recherche dans un graphe(blind, best-first, A*)

Le contenu de

cette section

Page 23: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Discrétisation

27

environnement représentation discrète

représentation par graphe

Page 24: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme

• La forme la plus simple de découpage.• On découpe l’espace en cellules, toutes de même dimension.

• On marque les cellules contenant les obstacles – Les cellules occupées.– Et reporter la dimension du robot.

• On recherche un chemin dans les cellules vides.

28

Page 25: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme

• Types de déplacement possibles

– Connectivité 4 directions

– Connectivité 8 directions

29

1

4 2

3

C

connectivité

von Neumann

1 2 3

4 5

6 7 8

C

connectivité

Moore

Page 26: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

• Exploration sur une grille régulière (Wavefront planner)– 0: non-visité 1: obstacle 2: indique le départ

31

départ

but

Page 27: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

• À chaque étape :– On ajoute +1 aux cellules adjacentes ayant des 0– Déplacement à 8 directions pour cet exemple (au choix)

32

Page 28: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

• On continue jusqu’à ce qu’il n’y ait plus de cellules 0 à côté des cellules > 2

33

Page 29: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

34

Page 30: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

35

Page 31: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

36

Page 32: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde

37

• On continue jusqu’à ce que la grille soit pleine• Les 0 correspondent aux cellules non accessibles

Page 33: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme :

Propagation par front d’onde• La trajectoire consiste à partir du but et à choisir de façon

vorace les cases les plus petites.

• Ne cherche pas à maintenir une certaine distance par rapport aux obstacles (incertitude)

38

Attention! à rebours!

Page 34: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Grille régulière uniforme

• Point à considérer : – Si les cellules sont trop petites

• On augmente le nombre de nœuds considéré durant l’exploration (temps de calcul).

– Si les cellules sont trop grosses• Risque d’avoir des solutions de moindre qualité (moins d’options de chemins).• Possibilité de ne pas trouver de chemin réalisable.

– Choisir une taille de cellule empiriquement• En fonction de la taille du robot , des obstacles et de la table.

40

Page 35: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Décomposition cellulaire verticale

• Décomposer une carte 2D en trapèzes et triangles.

• Pour chaque sommet Pi des obstacles:– Étend ligne verticale en haut et en bas, jusqu’à un obstacle

• 4 cas possibles: – C1:(haut,bas)

– C2:(haut),

– C3:(bas),

– C4:(aucun)

41

Page 36: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Décomposition cellulaire verticale

42

Étape 2:

place 1 point au milieu

frontière entre cellules

Étape 3:

place 1 point au milieu

de la cellules

Étape 4:

relie les centres aux

points frontières

Page 37: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Décomposition cellulaire verticale

• Planification : recherche dans le graphe du chemin le plus court (Dijkstra, donner poids prop. à la longueur)

• Donne des trajectoires qui sont en général loin des obstacles (donc plus sécuritaire)

43

Page 38: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Points à considérer

• On suit la trajectoire planifiée hors ligne…

– En boucle ouverte (à l’aveugle)

– En boucle fermée

• Par la caméra, ou un capteur de proximité.

• Délais : capture d’image, traitement, transmission

• Quel est le cycle de rétroaction? (100 ms, 1s, 10 s?)

– Fusion d’information?

• Combiner odométrie, commandes et caméra ensemble

• Exemple : filtre à particule, filtre de Kalman

45

Page 39: Quelques éléments d’intelligence atificiellewcours.gel.ulaval.ca/2018/h/GEL3014/default/5notes...Design III Quelques éléments d’intelligence atificielle Philippe Giguère PLT-3976

Design III

Conclusion

• Plusieurs options disponibles pour structurer votre espace de navigation

• Différents niveaux de complexité

• Prêter une attention particulière :

– Aux trajectoires semi-libres;

– Aux approches trop coûteuses en temps;

– Replanifier votre itinéraire en cas de déviation de la trajectoire initiale.

46