SlideShare una empresa de Scribd logo
1 de 87
Descargar para leer sin conexión
1
NouryBouraqadi–JM2L2010
2
NouryBouraqadi–JM2L2010
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
5
6
NouryBouraqadi–JM2L2010
NouryBouraqadi–JM2L2010
7
Robot Mobile
•  Environnement partiellement connu et
changeant
 Carte ? Lois Physiques ? Dynamique ?
•  Problème de navigation
– Localisation
– Reconnaissance
– Chemins
– Obstacles
NouryBouraqadi–JM2L2010
8
Robot Autonome
Décide seul
des
actions à réaliser
en
fonction de ses perceptions
NouryBouraqadi–JM2L2010
9
Robotique Industrielle
•  Fonctions/trajectoires pré-définies + figées
•  Pas d'interaction avec l'humain
•  Environnement maîtrisé/connu
Mobilité
&
Autonomie
Réduites !
NouryBouraqadi–JM2L2010
10
Robots Mobiles & Autonomes
Drone
NouryBouraqadi–JM2L2010
11
Robots Humanoïdes
NouryBouraqadi–JM2L2010
12
Robots
Mobiles & Autonomes
Robots Androïdes
NouryBouraqadi–JM2L2010
13
Robots
Mobiles & Autonomes
Les plus
utilisés
NouryBouraqadi–JM2L2010
14
Défis
Robots
Intelligents
Robots
Rapides
Ressources
Limitées
NouryBouraqadi–JM2L2010
15
Logiciel de contrôle d'un robot
Capteurs
Actionneurs
Environnement Physique
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
17
Familles d'architectures
• Délibératives
• Réactives
• Comportementales
• Hybrides
NouryBouraqadi–JM2L2010
18
Architectures Délibératives
Sense Plan Act
Capteurs
Actionneurs
Think then Act
19
Architectures Délibératives
Sense Plan Act
Capteurs
Actionneurs
NouryBouraqadi-DIA-EMDouai
20
Architectures Réactives
Sense ActDécisions câblées
Capteurs
Actionneurs
Don't think, (Re)Act
NouryBouraqadi–JM2L2010
21
Sense ActDécisions câblées
Capteurs
Actionneurs
Architectures Réactives
22
Architectures Comportementales
Sense Act
Capteurs
Actionneurs
Think the Way You Act
Comportement 1
Comportement 2
Comportement 3
Comportement n
NouryBouraqadi–JM2L2010
23
Sense Act
Capteurs
Actionneurs
Think the Way You Act
Comportement 1
Comportement 2
Comportement 3
Comportement n
Architectures Comportementales
NouryBouraqadi–JM2L2010
24
Architectures Hybrides
Sense Act
Réactions
Capteurs
Actionneurs
Plan
Think and Act Concurrently
NouryBouraqadi–JM2L2010
25
Architectures Hybrides
Sense Act
Réactions
Capteurs
Actionneurs
Plan
Think and Act Concurrently
26
NouryBouraqadi–JM2L2010
NouryBouraqadi–JM2L2010
27
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
NouryBouraqadi–JM2L2010
28
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
Langage
+
Bibliothèques
+
Outils
NouryBouraqadi–JM2L2010
29
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
Langage
dynamique
à objets
NouryBouraqadi–JM2L2010
30
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
Libre !
NouryBouraqadi–JM2L2010
31
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
Relation
avec la
recherche
Traits
NouryBouraqadi–JM2L2010
32
is a!
Clean!
Innovative!
Open-Source!
Smalltalk-inspired!
Environment
Finalité
Industrielle
&
Pédgogique
33
NouryBouraqadi–JM2L2010
par l'exemple
NouryBouraqadi–JM2L2010
34
WifiBotST
Robots Physiques
Framework
pour programmer
Illustration
NouryBouraqadi–JM2L2010
35
WifiBotST
Robots Physiques
Framework
pour programmer
Développé en
Illustration
NouryBouraqadi–JM2L2010
36
WifiBotST
Environnement
de simulation
Robots Physiques Robots Virtuels
Framework
pour programmer
Développé en
Illustration
Application
NouryBouraqadi–JM2L2010
37
Oubliez l'archaïsme
des fichiers !
=
Ensemble
d'objets
Naviguer/Editer le codeNouryBouraqadi–JM2L2010
38
1
2
3
NouryBouraqadi–JM2L2010
39
1
2
3
4
5
Naviguer/Editer le code
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
46
Ramasse
Miettes
NouryBouraqadi–JM2L2010
47
1 1
Langage Dynamique
Tout se passe à l'exécution
– Définition des classes
– Compilation
– Vérification de type
– …
NouryBouraqadi–JM2L2010
48
Langage Dynamique
Tout se passe à l'exécution
– Définition des classes
– Compilation
– Vérification de type
– …
NouryBouraqadi–JM2L2010
49
Langage Dynamique
Tout se passe à l'exécution
– Définition des classes
– Compilation
– Vérification de type
– …
NouryBouraqadi–JM2L2010
50
Langage Dynamique
Tout se passe à l'exécution
– Définition des classes
– Compilation
– Vérification de type
– …
NouryBouraqadi–JM2L2010
51
Langage dynamique !
Modification de la classe à l'exécution
Après la création d'instances
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
54
Itérations & Blocs de code
•  Répéter un nombre de fois
•  Répéter tant que
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
57
Héritage & Conditionnelles
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
61
Les classes sont des objets !
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
64
Création
Terminée
Systèmes Multi-Robots
NouryBouraqadi–JM2L2010
65
Collections & itérations
•  Bibliothèque de collections très riche
•  Itérer sur une collection = envoi de message
NouryBouraqadi–JM2L2010
66
Langage PuissantNouryBouraqadi–JM2L2010
67
Langage PuissantNouryBouraqadi–JM2L2010
68
Langage PuissantNouryBouraqadi–JM2L2010
69
Langage PuissantNouryBouraqadi–JM2L2010
70
Langage PuissantNouryBouraqadi–JM2L2010
71
Langage PuissantNouryBouraqadi–JM2L2010
72
Langage PuissantNouryBouraqadi–JM2L2010
73
Object
Class
Message
Compiler
BlockClosure
Metaclass
Process
Debugger
Browser Boolean
UndefinedObject
Langage PuissantNouryBouraqadi–JM2L2010
74
Changer la
classe
d'un objet
Retrouver
les références
sur un objet
Echanger
l'identité de 2
objets
Echange d'identité !
NouryBouraqadi–JM2L2010
75
v1
v2
Echange d'identité !
NouryBouraqadi–JM2L2010
76
v1
v2
become: o2
Echange d'identité !
NouryBouraqadi–JM2L2010
77
v1
v2
Echange d'identité !
NouryBouraqadi–JM2L2010
78
v1
v2
Pour en savoir plus
NouryBouraqadi–JM2L2010
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
NouryBouraqadi–JM2L2010
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/
NouryBouraqadi–JM2L2010
81
Robotique @ Douai
WifiBotST
http://vst.mines-douai.fr/WifiBotST
Articles, Code, Vidéos
http://vst.mines-douai.fr/Robotics
NouryBouraqadi–JM2L2010
82
NouryBouraqadi–JM2L2010
83
http://www.pharo-project.org/
LE Site
http://pharobyexample.org/
NouryBouraqadi–JM2L2010
84
Free
LE Livre
NouryBouraqadi–JM2L2010
85
http://www.pharocasts.com/
Les VIDEOS
A vos agenda !
Atelier sur Pharo
Vendredi 17 juin 2011
Atelier animé par ramix
NouryBouraqadi–JM2L2010
86
René
Mages
Organisé
par
Linux Azur
87
NouryBouraqadi–JM2L2010

Más contenido relacionado

Más de Noury Bouraqadi

On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionOn 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionNoury Bouraqadi
 
Towards Live Programming in ROS with PhaROS and LRP
Towards Live Programming in ROS with PhaROS and LRPTowards Live Programming in ROS with PhaROS and LRP
Towards Live Programming in ROS with PhaROS and LRPNoury Bouraqadi
 
Talking to Robots with Pharo
Talking to Robots with PharoTalking to Robots with Pharo
Talking to Robots with PharoNoury Bouraqadi
 
First Tests of a Helper Robot in a Shopping Mall
First Tests of a Helper Robot in a Shopping MallFirst Tests of a Helper Robot in a Shopping Mall
First Tests of a Helper Robot in a Shopping MallNoury Bouraqadi
 
Towards Test-Driven Development for Mobile Robots
Towards Test-Driven Development for Mobile RobotsTowards Test-Driven Development for Mobile Robots
Towards Test-Driven Development for Mobile RobotsNoury Bouraqadi
 
Smalltalk to Rule all Robots
Smalltalk to Rule all RobotsSmalltalk to Rule all Robots
Smalltalk to Rule all RobotsNoury Bouraqadi
 
Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Noury Bouraqadi
 
Pharo Networking by Example
Pharo Networking by ExamplePharo Networking by Example
Pharo Networking by ExampleNoury Bouraqadi
 

Más de Noury Bouraqadi (8)

On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionOn 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
 
Towards Live Programming in ROS with PhaROS and LRP
Towards Live Programming in ROS with PhaROS and LRPTowards Live Programming in ROS with PhaROS and LRP
Towards Live Programming in ROS with PhaROS and LRP
 
Talking to Robots with Pharo
Talking to Robots with PharoTalking to Robots with Pharo
Talking to Robots with Pharo
 
First Tests of a Helper Robot in a Shopping Mall
First Tests of a Helper Robot in a Shopping MallFirst Tests of a Helper Robot in a Shopping Mall
First Tests of a Helper Robot in a Shopping Mall
 
Towards Test-Driven Development for Mobile Robots
Towards Test-Driven Development for Mobile RobotsTowards Test-Driven Development for Mobile Robots
Towards Test-Driven Development for Mobile Robots
 
Smalltalk to Rule all Robots
Smalltalk to Rule all RobotsSmalltalk to Rule all Robots
Smalltalk to Rule all Robots
 
Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh
 
Pharo Networking by Example
Pharo Networking by ExamplePharo Networking by Example
Pharo Networking by Example
 

Robots Mobiles & Autonomes avec Pharo