robots mobiles & autonomes avec pharo

Post on 19-Jun-2015

1.607 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Autonomous Mobile Robots with Pharo Smalltalk. Presentation given at the JM2L (Journées Méditérrannéennes des logiciels libres). 27 nov 2010. First introduce mobile robotics and robotic software architectures. Then presents Pharo using robotic examples.

TRANSCRIPT

1

Nou

ry B

oura

qadi

– J

M2L

201

0

2

Nou

ry B

oura

qadi

– J

M2L

201

0

Nou

ry B

oura

qadi

– J

M2L

201

0

3

Robotique Industrielle

Première

Application

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

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

6

Nou

ry B

oura

qadi

– J

M2L

201

0

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

Nou

ry B

oura

qadi

– J

M2L

201

0

8

Robot Autonome

Décide seul des

actions à réaliser en

fonction de ses perceptions

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 !

Nou

ry B

oura

qadi

– J

M2L

201

0

10

Robots Mobiles & Autonomes Drone

Nou

ry B

oura

qadi

– J

M2L

201

0

11

Robots Humanoïdes

Nou

ry B

oura

qadi

– J

M2L

201

0

12

Robots Mobiles & Autonomes

Robots Androïdes

Nou

ry B

oura

qadi

– J

M2L

201

0

13

Robots Mobiles & Autonomes

Les plus utilisés

Nou

ry B

oura

qadi

– J

M2L

201

0

14

Défis

Robots

Intelligents

Robots Rapides

Ressources Limitées

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

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

Nou

ry B

oura

qadi

– J

M2L

201

0

17

Familles d'architectures

• Délibératives

• Réactives

• Comportementales

• Hybrides

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

19

Architectures Délibératives

Sense Plan Act

Cap

teur

s

Act

ionn

eurs

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

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

22

Architectures Comportementales

Sense Act

Cap

teur

s

Act

ionn

eurs

Think the Way You Act Comportement 1

Comportement 2

Comportement 3

Comportement n

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

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

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

26

Nou

ry B

oura

qadi

– J

M2L

201

0

Nou

ry B

oura

qadi

– J

M2L

201

0

27

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Nou

ry B

oura

qadi

– J

M2L

201

0

28

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Langage +

Bibliothèques +

Outils

Nou

ry B

oura

qadi

– J

M2L

201

0

29

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Langage dynamique

à objets

Nou

ry B

oura

qadi

– J

M2L

201

0

30

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Libre !

Nou

ry B

oura

qadi

– J

M2L

201

0

31

is a!Clean !

Innovative!Open-Source!

Smalltalk-inspired!Environment

Relation avec la

recherche

Traits

Nou

ry B

oura

qadi

– J

M2L

201

0

32

is a!Clean!

Innovative!Open-Source!

Smalltalk-inspired!Environment

Finalité Industrielle

& Pédgogique

33

Nou

ry B

oura

qadi

– J

M2L

201

0

par l'exemple

Nou

ry B

oura

qadi

– J

M2L

201

0

34

WifiBotST

Robots Physiques

Framework pour programmer

Illustration

Nou

ry B

oura

qadi

– J

M2L

201

0

35

WifiBotST

Robots Physiques

Framework pour programmer

Développé en Illustration

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

Application

Nou

ry B

oura

qadi

– J

M2L

201

0

37

Oubliez l'archaïsme des fichiers !

= Ensemble d'objets

Naviguer/Editer le code N

oury

Bou

raqa

di –

JM

2L 2

010

38

1

2

3

Nou

ry B

oura

qadi

– J

M2L

201

0

39

1

2 3

4

5

Naviguer/Editer le code

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 !

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

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

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

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

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

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

Nou

ry B

oura

qadi

– J

M2L

201

0

47

1 1

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

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

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

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

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

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

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

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

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

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

Héritage & Conditionnelles N

oury

Bou

raqa

di –

JM

2L 2

010

58

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

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

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

Les classes sont des objets ! N

oury

Bou

raqa

di –

JM

2L 2

010

62

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

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

Systèmes Multi-Robots

Nou

ry B

oura

qadi

– J

M2L

201

0

65

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

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

67

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

68

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

69

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

70

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

71

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

72

Langage Puissant N

oury

Bou

raqa

di –

JM

2L 2

010

73

Object

Class

Message Compiler

BlockClosure

Metaclass

Process

Debugger Browser Boolean

UndefinedObject

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

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

75

v1

v2

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

76

v1

v2

become: o2

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

77

v1

v2

Echange d'identité ! N

oury

Bou

raqa

di –

JM

2L 2

010

78

v1

v2

Pour en savoir plus

Nou

ry B

oura

qadi

– J

M2L

201

0

79

•  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

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

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

Nou

ry B

oura

qadi

– J

M2L

201

0

83

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

LE Site

http://pharobyexample.org/

Nou

ry B

oura

qadi

– J

M2L

201

0

84

Free

LE Livre

Nou

ry B

oura

qadi

– J

M2L

201

0

85

http://www.pharocasts.com/

Les VIDEOS

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

87

Nou

ry B

oura

qadi

– J

M2L

201

0

top related