Transcript
Page 1: Robots Mobiles & Autonomes avec Pharo

1

Nou

ry B

oura

qadi

– J

M2L

201

0

Page 2: Robots Mobiles & Autonomes avec Pharo

2

Nou

ry B

oura

qadi

– J

M2L

201

0

Page 3: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

3

Robotique Industrielle

Première

Application

Page 4: Robots Mobiles & Autonomes avec Pharo

Robots?

1.  Machine, automate à l'aspect humain, capable de se mouvoir et d'agir. => androïde, humanoïde […]

2.  Mécanisme automatique à commande électronique

pouvant se substituer à l'homme pour effectuer certaines opérations, et capable d'en modifier de lui-même le cycle en

appréhendant son environnement (=>automatique, cybernetique) […]

Le petit Robert

Nou

ry B

oura

qadi

– J

M2L

201

0

4

Page 5: Robots Mobiles & Autonomes avec Pharo

Robots?

1.  Machine, automate à l'aspect humain, capable de se mouvoir et d'agir. => androïde, humanoïde […]

2.  Mécanisme automatique à commande électronique

pouvant se substituer à l'homme pour effectuer certaines opérations, et capable d'en modifier de lui-même le cycle en

appréhendant son environnement (=>automatique, cybernetique) […]

Le petit Robert

Nou

ry B

oura

qadi

– J

M2L

201

0

5

Page 6: Robots Mobiles & Autonomes avec Pharo

6

Nou

ry B

oura

qadi

– J

M2L

201

0

Page 7: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

7

Robot Mobile •  Environnement partiellement connu et

changeant  Carte ? Lois Physiques ? Dynamique ?

•  Problème de navigation – Localisation – Reconnaissance – Chemins – Obstacles

Page 8: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

8

Robot Autonome

Décide seul des

actions à réaliser en

fonction de ses perceptions

Page 9: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

9

Robotique Industrielle

•  Fonctions/trajectoires pré-définies + figées

•  Pas d'interaction avec l'humain

•  Environnement maîtrisé/connu

Mobilité &

Autonomie Réduites !

Page 10: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

10

Robots Mobiles & Autonomes Drone

Page 11: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

11

Robots Humanoïdes

Page 12: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

12

Robots Mobiles & Autonomes

Robots Androïdes

Page 13: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

13

Robots Mobiles & Autonomes

Les plus utilisés

Page 14: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

14

Défis

Robots

Intelligents

Robots Rapides

Ressources Limitées

Page 15: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

15

Logiciel de contrôle d'un robot

Cap

teur

s

Act

ionn

eurs

Environnement Physique

Page 16: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

16

•  Sense – Lire les capteurs – Extraire des informations utiles

•  Plan – Prendre des décisions

•  Act – Exécuter des actions simples – Ex: Avancer, reculer, tourner, …

Logiciel de contrôle d'un robot

Page 17: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

17

Familles d'architectures

• Délibératives

• Réactives

• Comportementales

• Hybrides

Page 18: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

18

Architectures Délibératives

Sense Plan Act

Cap

teur

s

Act

ionn

eurs

Think then Act

Page 19: Robots Mobiles & Autonomes avec Pharo

19

Architectures Délibératives

Sense Plan Act

Cap

teur

s

Act

ionn

eurs

Page 20: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

- D

IA -

EM

Dou

ai

20

Architectures Réactives

Sense Act Décisions câblées

Cap

teur

s

Act

ionn

eurs

Don't think, (Re)Act

Page 21: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

21

Sense Act Décisions câblées

Cap

teur

s

Act

ionn

eurs

Architectures Réactives

Page 22: Robots Mobiles & Autonomes avec Pharo

22

Architectures Comportementales

Sense Act

Cap

teur

s

Act

ionn

eurs

Think the Way You Act Comportement 1

Comportement 2

Comportement 3

Comportement n

Page 23: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

23

Sense Act

Cap

teur

s

Act

ionn

eurs

Think the Way You Act Comportement 1

Comportement 2

Comportement 3

Comportement n

Architectures Comportementales

Page 24: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

24

Architectures Hybrides

Sense Act

Réactions

Cap

teur

s

Act

ionn

eurs

Plan

Think and Act Concurrently

Page 25: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

25

Architectures Hybrides

Sense Act

Réactions

Cap

teur

s

Act

ionn

eurs

Plan

Think and Act Concurrently

Page 26: Robots Mobiles & Autonomes avec Pharo

26

Nou

ry B

oura

qadi

– J

M2L

201

0

Page 27: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

27

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Page 28: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

28

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Langage +

Bibliothèques +

Outils

Page 29: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

29

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Langage dynamique

à objets

Page 30: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

30

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Libre !

Page 31: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

31

is a!Clean !

Innovative!Open-Source!

Smalltalk-inspired!Environment

Relation avec la

recherche

Traits

Page 32: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

32

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Finalité Industrielle

& Pédgogique

Page 33: Robots Mobiles & Autonomes avec Pharo

33

Nou

ry B

oura

qadi

– J

M2L

201

0

par l'exemple

Page 34: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

34

WifiBotST

Robots Physiques

Framework pour programmer

Illustration

Page 35: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

35

WifiBotST

Robots Physiques

Framework pour programmer

Développé en Illustration

Page 36: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

36

WifiBotST Environnement de simulation

Robots Physiques Robots Virtuels

Framework pour programmer

Développé en Illustration

Page 37: Robots Mobiles & Autonomes avec Pharo

Application

Nou

ry B

oura

qadi

– J

M2L

201

0

37

Oubliez l'archaïsme des fichiers !

= Ensemble d'objets

Page 38: Robots Mobiles & Autonomes avec Pharo

Naviguer/Editer le code N

oury

Bou

raqa

di –

JM

2L 2

010

38

1

2

3

Page 39: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

39

1

2 3

4

5

Naviguer/Editer le code

Page 40: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

40

Interface avec l'OS = 4 fichiers – Machine virtuelle –  Image mémoire : lecture / écriture – Source des bibliothèques de base : lecture seule – Sources des changements :

•  lecture / sauvegarde automatique •  Quasi-impossible de perdre les sources ! •  Versionning sans effort !

Page 41: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13 caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

41

Page 42: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

42

Page 43: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13 caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

43

Page 44: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13 caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

44

Page 45: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13 caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

45

Page 46: Robots Mobiles & Autonomes avec Pharo

Langage Simple

•  Peu de concepts / règles – 6 Mots réservés – 13 caractères spéciaux – 5 concepts centraux – 4 expressions de base – 1 mode de gestion de la mémoire

Nou

ry B

oura

qadi

– J

M2L

201

0

46

Ramasse Miettes

Page 47: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

47

1 1

Page 48: Robots Mobiles & Autonomes avec Pharo

Langage Dynamique

Tout se passe à l'exécution – Définition des classes – Compilation – Vérification de type – …

Nou

ry B

oura

qadi

– J

M2L

201

0

48

Page 49: Robots Mobiles & Autonomes avec Pharo

Langage Dynamique

Tout se passe à l'exécution – Définition des classes – Compilation – Vérification de type – …

Nou

ry B

oura

qadi

– J

M2L

201

0

49

Page 50: Robots Mobiles & Autonomes avec Pharo

Langage Dynamique

Tout se passe à l'exécution – Définition des classes – Compilation – Vérification de type – …

Nou

ry B

oura

qadi

– J

M2L

201

0

50

Page 51: Robots Mobiles & Autonomes avec Pharo

Langage Dynamique

Tout se passe à l'exécution – Définition des classes – Compilation – Vérification de type – …

Nou

ry B

oura

qadi

– J

M2L

201

0

51

Page 52: Robots Mobiles & Autonomes avec Pharo

Langage dynamique !

Modification de la classe à l'exécution Après la création d'instances

Nou

ry B

oura

qadi

– J

M2L

201

0

52

Page 53: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

53

Page 54: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

54

Page 55: Robots Mobiles & Autonomes avec Pharo

Itérations & Blocs de code

•  Répéter un nombre de fois •  Répéter tant que

Nou

ry B

oura

qadi

– J

M2L

201

0

55

Page 56: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

56

Page 57: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

57

Page 58: Robots Mobiles & Autonomes avec Pharo

Héritage & Conditionnelles N

oury

Bou

raqa

di –

JM

2L 2

010

58

Page 59: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

59

Page 60: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

60

Variables accessibles par

un seul objet

Page 61: Robots Mobiles & Autonomes avec Pharo

Langage Uniforme

•  Pas d'exception aux règles – Tout est objet

•  nombres, tableaux, classes, compilateur, IDE, … – Toute méthode retourne une valeur – Toute action == envoi de message

•  création d'objets, définition de classes, if, while, … – Toutes les classes et les méthodes sont publics – Tous les champs sont privés – Tout objet est instance d'une classe

Nou

ry B

oura

qadi

– J

M2L

201

0

61

Page 62: Robots Mobiles & Autonomes avec Pharo

Les classes sont des objets ! N

oury

Bou

raqa

di –

JM

2L 2

010

62

Page 63: Robots Mobiles & Autonomes avec Pharo

Les procesus sont des objets

Multi-tâche préemptif – Chaque tâche a une priorité modifiable – Exécution de la tâche prête la plus prioritaire

Nou

ry B

oura

qadi

– J

M2L

201

0

63

Création

Terminée

Page 64: Robots Mobiles & Autonomes avec Pharo

Les procesus sont des objets

Multi-tâche préemptif – Chaque tâche a une priorité modifiable – Exécution de la tâche prête la plus prioritaire

Nou

ry B

oura

qadi

– J

M2L

201

0

64

Création

Terminée

Page 65: Robots Mobiles & Autonomes avec Pharo

Systèmes Multi-Robots

Nou

ry B

oura

qadi

– J

M2L

201

0

65

Page 66: Robots Mobiles & Autonomes avec Pharo

Collections & itérations

•  Bibliothèque de collections très riche •  Itérer sur une collection = envoi de message

Nou

ry B

oura

qadi

– J

M2L

201

0

66

Page 67: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

67

Page 68: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

68

Page 69: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

69

Page 70: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

70

Page 71: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

71

Page 72: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

72

Page 73: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

73

Object

Class

Message Compiler

BlockClosure

Metaclass

Process

Debugger Browser Boolean

UndefinedObject

Page 74: Robots Mobiles & Autonomes avec Pharo

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

74

Changer la classe

d'un objet

Retrouver les références

sur un objet

Echanger l'identité de 2

objets

Page 75: Robots Mobiles & Autonomes avec Pharo

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

75

v1

v2

Page 76: Robots Mobiles & Autonomes avec Pharo

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

76

v1

v2

become: o2

Page 77: Robots Mobiles & Autonomes avec Pharo

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

77

v1

v2

Page 78: Robots Mobiles & Autonomes avec Pharo

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

78

v1

v2

Page 79: Robots Mobiles & Autonomes avec Pharo

Pour en savoir plus

Nou

ry B

oura

qadi

– J

M2L

201

0

79

Page 80: Robots Mobiles & Autonomes avec Pharo

•  Physical-eToys http://tecnodacta.com.ar/gira/projects/physical

-etoys/

•  Phidgetlab http://www.hpi.uni-potsdam.de/hirschfeld

/projects/phidgetlab/

•  SqueakBot http://wiki.laptop.org/go/Projects/SqueakBot

Nou

ry B

oura

qadi

– J

M2L

201

0

80 Programmation Visuelle

Page 81: Robots Mobiles & Autonomes avec Pharo

Smalltalks dédiés

•  NxTalk : Lego Mindstorm http://www.hpi.uni-potsdam.de/hirschfeld

/projects/nxtalk/

•  Smalltalk pour PIC http://www.huv.com/uSeeker/smalltalk/pic.html

•  FoxTalk http://foxtalkbots.com/

Nou

ry B

oura

qadi

– J

M2L

201

0

81

Page 82: Robots Mobiles & Autonomes avec Pharo

Robotique @ Douai

WifiBotST http://vst.mines-douai.fr/WifiBotST

Articles, Code, Vidéos http://vst.mines-douai.fr/Robotics

Nou

ry B

oura

qadi

– J

M2L

201

0

82

Page 83: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

83

http://www.pharo-project.org/

LE Site

Page 84: Robots Mobiles & Autonomes avec Pharo

http://pharobyexample.org/

Nou

ry B

oura

qadi

– J

M2L

201

0

84

Free

LE Livre

Page 85: Robots Mobiles & Autonomes avec Pharo

Nou

ry B

oura

qadi

– J

M2L

201

0

85

http://www.pharocasts.com/

Les VIDEOS

Page 86: Robots Mobiles & Autonomes avec Pharo

A vos agenda !

Atelier sur Pharo

Vendredi 17 juin 2011 Atelier animé par ramix

Nou

ry B

oura

qadi

– J

M2L

201

0

86

René Mages

Organisé par

Linux Azur

Page 87: Robots Mobiles & Autonomes avec Pharo

87

Nou

ry B

oura

qadi

– J

M2L

201

0


Top Related