Your SlideShare is downloading. ×
0
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Robots Mobiles & Autonomes avec Pharo

1,577

Published on

Autonomous Mobile Robots with Pharo Smalltalk. Presentation given at the JM2L (Journées Méditérrannéennes des logiciels libres). 27 nov 2010. …

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.

Published in: Technology, Business
1 Comment
1 Like
Statistics
Notes
  • The PDF is also available on my site http://car.mines-douai.fr/noury/docs
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,577
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
41
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×