77
ISN Informatique et Sciences du Numérique Formation des enseignants Initiation à la robotique Mini-projet nus – [email protected] ctronique – Lycée A. Benoit – Cours Victor Hugo – 84803 L’ISLE SUR L

Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – [email protected] Génie Electronique – Lycée A. Benoit –

Embed Size (px)

Citation preview

Page 1: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Formation des enseignants

Initiation à la robotique

Mini-projet

Marc Silanus – [email protected]énie Electronique – Lycée A. Benoit – Cours Victor Hugo – 84803 L’ISLE SUR LA SORGUE

Page 2: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

Le programme élèveSavoirs Capacités Observations

Découverte d’un système robotique et de sa programmation

• Identifier les différents composants d’un minirobot et comprendre leurs rôles respectifs.

• Décrire un système à événements simple à l’aide d’une machine à états finis.

• Programmer (dans un langage de haut niveau) un mini robot pour lui faire exécuter une tâche complexe.

On propose des activités adaptées aux équipements et logiciels disponibles dans l’établissement.

Page 3: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

Planning

1. Qu’est-ce qu’un robot ?2. A quoi servent les robots ?3. Les kits robotiques4. Les simulateurs5. Application didactique• Définition de la problématique• Définition des limites du prototype• Recherche de solutions• Apport de connaissances élémentaires• Concevoir un prototype pour répondre à la problématique

Page 4: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

1- Qu’est-ce qu’un robot?

Page 5: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?

• « Robota » signifie « Travail » en Tchèque.

• Introduit en 1921 par l'écrivain tchèque Karel Čapek (Tschapek) dans une pièce de théâtre.

• Désigne des êtres anthropomorphes qui réponde parfaitement aux ordres de leur maitre

Page 6: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?

• Définition : Machine pouvant manipuler des objets et réalisant des actions conformément à un programme préétablie et modifiable.

• Conséquence : Programmer un robot consiste à lui spécifier la séquence d’action qu’il doit réaliser

• Remarques :

• Les robots sont souvent dotés de « sens » (divers capteurs) leur permettant de décider de l’action la mieux adaptées à la situation ou à l’environnement.

• Les robots peuvent acquérir une certaine « expérience » au cours de leur fonctionnement : Dispositif d’Intelligence Artificielle (IA)

Page 7: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

Energie

Secteur, Batteries, panneaux solaires, …

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Schéma bloc

Carte mère

Système de traitement de l’information

Capteurs

acquisition des grandeurs physiques

Actionneurs

Réalisation des actions

programmésPositionVitesse

AccélérationTempérature

Humidité….

Grandeursphysiques

Grandeur électrique(tension, courant, fréquence, …)

Transmission numérique ou analogique

Transmission numérique ou

analogique

Interface de communication

Envoyer et/ou recevoir des informations

DéplacementPréhension

SonLumièreMesures

Liaison filaireSans filClavier

Ecran tactile…Transmission

numérique ou analogique

Page 8: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

• Les capteurs

Page 9: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Holonomie : le nombre de degrés de libertés contrôlables est égal au nombre total de degrés de liberté.

A partir d’une position donnée, une plateforme holonome devra donc pouvoir se déplacer :

en avant, sur le coté et tourner sur elle-même, le tout simultanément

Page 10: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Les plates-formes différentielles :

Page 11: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Les plates-formes omnidirectionnelles :

Page 12: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Les plates-formes omnidirectionnelles :

Page 13: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Les plates-formes non holonomes :

Page 14: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• La base mobile

Þ Les plates-formes à pattes :

Page 15: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les capteurs tactiles : Choc, préhension, …

Page 16: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les odomètres : Vitesse, trajectoire

Page 17: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les télémètres à ultrason : distance aux éléments de l’environnement

Page 18: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les télémètres à infrarouge : distance aux éléments de l’environnement

Page 19: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les télémètres laser : distance aux éléments de l’environnement, cartographie

Page 20: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les caméras : Perception de l’environnement Détection d’amers pour le positionnement Détection de guides de navigation (routes, couloirs, rails, …)

Traitement d’image : Indexation (recherche automatique dans une BD) Recherche des contours Colorimétrie Profondeur (déplacement apparent des objets) …

Page 21: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les centrales inertielles : Accéléromètre : accélération en translation Gyromètre : accélération de rotation Gyroscope : position angulaire par rapport à un axe de référence Magnétomètre ou boussole électronique

Page 22: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Les balises : Repères de navigation ou de positionnement Actives ou passives

Page 23: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les capteurs

Þ Le GPS : Positionnement

Page 24: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

Page 25: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les systèmes de traitement de l’information

Þ Le microcontrôleur : circuit intégré qui rassemble les éléments essentiels d'une carte mère :

• processeur, • mémoires (RAM et ROM),• interfaces d'entrées-sorties (Numériques, et Analogiques),• Convertisseurs Analogique / Numérique,• Timers,• PWM, • …

Page 26: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les systèmes de traitement de l’information

Þ L’automate programmable industriel : dispositif électronique programmable destiné à la commande de processus industriels par un traitement séquentiel.: • processeur, • mémoires (RAM et ROM),• Cartes d'entrées-sorties (Numériques, et Analogiques),• Modules de communication (RS232, RS485, Modbus, Ethernet, …)• Modules Motion• …

Page 27: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique1- Qu’est-ce qu’un robot ?• Principaux constituants d’un robot (mobile)

• Les systèmes de traitement de l’information

Þ L’ordinateur embarqué : utilisent généralement des microprocesseurs à basse consommation d'énergie ou des microcontrôleurs. • Disposent d’un système d’exploitation qui facilite la gestion des

tâches à effectuer.• Plusieurs programmes peuvent être exécuter simultanément.

Page 28: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

2- A quoi servent les robots ?

Page 29: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Industrie : Effectuer des tâches répétitives lorsque les processus de fabrication sont fréquemment soumis à des modifications.

• Régularité dans l’exécution des tâches

• Pas de phénomène de lassitude ou de fatigue

• Résistance aux environnement dangereux (gaz nocifs, températures extrêmes, radiations, …)

Page 30: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Transport : Transporter de biens ou des personnes sur des trajets prédéfinis ou programmés.

• Flexibilité d’exploitation (24h/24, 7j/7, gestion optimisée de flotte)

• Réduction des coûts d’exploitation (pas de chauffeur, moins d’erreurs humaines)

• Investissements limités (Véhicules plus simples, Infrastructure légère)

• Pas de pollution atmosphérique

• Pas de bruit

Simserhof (parcours 800m – 10h/jour)

FuturoscopeAV-T3

transporteur cargo autonome Fuji Heavy Industries (Subaru)

Automated Guided Vehicules (Laser, Wifi)Transport de linge – hôpital d’Arras.

Automated Guided Vehicules (Laser)

Page 31: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Médical : Reproduire les mouvements du chirurgien en temps réel avec une grande précision.

• Opération à distance

• Vision en 3D en HD : Finesse et précision de la zone d’intervention

• Transmission mécanisée des gestes en supprimant les tremblements

Page 32: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Domestique : Ces robots peuvent faire de multiples tâches ou simplement nous divertir.

• Aspirateur, tondeuse à gazon, nettoyage de piscine, …

• Assistance à la personne

Page 33: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Militaire : Autonomes ou commandés à distance, conçues pour des opération de reconnaissance, d’attaque ou de déminage.

• Pas de problème moral en cas de capture ou destruction

• Mise en réserve en tant de paix

• Pas de formation longue et couteuse (mise à jour)

• Réduction des couts de fabrication de l’armement.

Page 34: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Explorateur : Exploration d’environnements difficiles pour l’homme.

• Exploration spatiale

• Sites contaminés (Tchernobyl, Fukyshima)

• Décombres suite à un séisme, une explosion, ...

Curiosity a touché le sol martien le lundi 6 août 2012

Nomad Exploration Moraine de l’Eléphant l’AntarctiqueJanvier 2000, recherche et identification de météorites

Page 35: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique2- A quoi servent les robots ?

• Humanoïde : Ressemblent à l’être humain, principale motivation des roboticiens.

• Assistance à la personne, travail collaboratif avec les humains

• Capable de marcher, monter/descendre les escaliers

• Reconnaitre les visages, parler, comprendre la parole, …

Projet « M » Exploration Lunaire

CB2Ucroa : Robot model

Simdroïd (robot patient dentaire)

Geminoïde

Page 36: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

3- Les kits robotiques

http://www.generationrobots.com

Page 37: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

• Thymio II (http://www.generationrobots.com )

148.00 € - Programmation Aseba (environnement open source)

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

Page 38: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

• mOway (http://www.alecop.fr)

• 299 € (generationrobots.com) – programmation en C

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

Page 39: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

• K-Junior (http://www.didastel.fr)

• À partir de 685 € (generationrobots.com) – programmation en C

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

Page 40: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

• Lego Mindstorms NXT (http://www.generationrobots.com/ )

Kit programmation en C (RobotC) : 349 €

Kit Education : 330 € - Programmation Lego Mindstorm (LabView)

Page 41: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

• Fishertechnik (http://www.fischertechnik.de)

Environ 450 € (technologie services) – Programmation : Logiciel Robo Pro Fischertechnik

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

Page 42: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

• Vex Robotics (http://www.generationrobots.com)

A partir de 600 € – Programmation en C (Robot C)

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

Page 43: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

• Bioloid (http://www.robotshop.com/ - http://www.dmseducation.net/)

• 349 $ à 1200 $ (roboshop) – programmation Robot Plus (basé sur le C)

148.00 € - Programmation Aseba (environnement open source)

Page 44: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

• NAO (http://www.erm-automatismes.com/produit.php?id=403 )

Page 45: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

• NAO (http://www.erm-automatismes.com/produit.php?id=403 )

Page 46: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les kits robotiques

• Erma Board (http://www.erm-automatismes.com)

• 349 $ à 1200 $ (roboshop) – programmation

• Prix non communiqué – programmation en C (arduino) – Multi-langage (Fox)

Page 47: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

4- Les simulateurs

Page 48: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique4- Les simulateurs

• Guido van Robot (http://gvr.sourceforge.net/index.php )

• Initiation à la programmation

• Linux, Windows, Mac

• Syntaxe basée sur Python

• 18 leçons disponibles

• Gratuit

• Démo

Page 49: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique3- Les simulateurs

• Rossum's Playhouse (RP1) (http://rossum.sourceforge.net/downloads.html )

• Simulateur 2 dimensions

• Contrôle logique de navigation

• Linux, Windows, Mac

• Langage Java – C/C++

• The Rossum Project : The Trinity College Fire-Fighting Home Robot Contest.

• Gratuit

• Démo

Page 50: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique4- Les simulateurs

• Azolla (http://www.codeproject.com/Articles/33587/2D-LUA-Based-Robot-Simulator )

• Simulateur 2 dimensions

• Contrôle logique de navigation

• Validation d’algorithmes

• Windows

• Sources : Visual Studio C++

• Programmation : Lua

• Gratuit

• Démo

Page 51: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique4- Les simulateurs

• Microsoft Robotics Developer Studio (http://www.microsoft.com/robotics/ )

• Kit de développement

• Simulateur 3 dimensions

• Programmation du robot

• Windows (nécessite VS Express)

• VPL, VB.NET, C#, C++, Python

• Gratuit

• Plateformes :

• Lego NXT,• Parallax BOE-BOT,• IRobot Roomba, …

Page 52: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique4- Les simulateurs

• Webot (http://www.cyberbotics.com/ )

• Simulateur 3 dimensions

• Contrôle logique de navigation

• Validation d’algorithmes

• Validation solutions matérielles

• Linux, Windows, Mac

• C/C++, java, Python, Matlab

• Payant (env 2000€/poste)

Page 53: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique4- Les simulateurs

• Marilou (http://www.anykode.fr )

• Simulateur 3 dimensions

• Contrôle logique de navigation

• Validation d’algorithmes

• Validation solutions matérielles

• Linux, Windows, Mac

• C/C++, java, Python, Matlab

• Payant (env 2000€/poste)

Page 54: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique

5- Application didactique

Page 55: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Définition de la problématique

Un hôpital souhaite s’équipé d’un dispositif de transport automatique pour :

• les plateaux repas,

• le linge de lit,

• les traitements médicamenteux, ….

Page 56: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Définition des limites du prototype

Aucune modification des locaux ne peut être envisagée.

Pas d’émission d’ondes radio

Déplacement dans les couloirs uniquement

Page 57: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Recherche de solutions

Châssis

Comportement

CapteursTraitement de l’information

Langage

Page 58: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 1 : Avancer

• Tâche 2 : Tourner autours d’un point

• Tâche 3 : Avancer-reculer entre deux obstacles

• Tâche 4 : Avancer jusqu’à un obstacle, faire un demi-tour et repartir en marche avant

• Tâche 5 : Suivre un mur (le mur de droite par exemple)

Page 59: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Concevoir un prototype pour répondre à la problématique

• A partir des bases robotiques :

• Lego Mindstorm• Kjunior

• Simulation avec Azolla

Page 60: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 1 : Avancer

function azolla.main(azolla)

while true do

front = azolla:readsensor(0)

if(front<10) then

azolla:setspeed(0,0)

else

azolla:setspeed(20,20)

end

azolla:stepforward()

end

end

Page 61: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 2 : Tourner autours d’un point

Tourner sur lui-même. Centre de rotation au centre de l’axe des roues : Vitesse de même valeur mais de sens opposé à chaque roue.

Rayon de braquage égal à la distance entre les roues. Le centre de rotation se situe sur la roue qui sert de pivot : Vitesse nulle à cette roue.

Rayon de braquage égal à 2x la distance entre les roues : Le centre de rotation se situe à r=b.

⇒ Vitesse roue 1 :

⇒ Vitesse roue 2 : dt

d.r1v

1V.2dt

d.r.22v

Page 62: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 2 : Tourner autours d’un pointfunction azolla.main(azolla) while true do

azolla:setspeed(-10,10) //Tourner sur lui-même endEnd

function azolla.main(azolla) while true do

azolla:setspeed(0,10) //rayon braquage = distance entre roues endend

function azolla.main(azolla) while true do

azolla:setspeed(5,10) //rayon braquage = 2x distance entre roues endend

Page 63: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 3 : Avancer-reculer entre deux obstaclesfunction azolla.main(azolla) while true do

front = azolla:readsensor(0)back = azolla:readsensor(3)if(front<12) then sens=-1 -- Définir le sensendif(back<12) then sens=1end-- Vitesse constanteif(front>20 and back>20) then vitesse=20;end-- Accéléré ou ralentirif(front<20) then

vitesse=2*front-20;endif(back<20) then

vitesse=2*back-20;endazolla:setspeed(sens*vitesse+1,sens*vitesse+1)azolla:stepforward()

endEnd

Page 64: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 4 : Avancer jusqu’à un obstacle, faire un demi-tour et repartir en marche avant

function azolla.main(azolla) azolla:setspeed(10,10) while true do

front = azolla:readsensor(0)back = azolla:readsensor(3)if(front<2) then

azolla:setspeed(0,-9)endif(back<3) then

azolla:setspeed(10,10)endazolla:stepforward()

endend

Page 65: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Suivre un mur (le mur de droite par exemple)

function azolla.main(azolla) while true do

front = azolla:readsensor(0)right = azolla:readsensor(1)if(front<10) then azolla:setspeed(-10,10)else if(right>5.25) then azolla:setspeed(4,5) --Correction else if(right<4.75) then azolla:setspeed(5,4) --Correction else azolla:setspeed(5,5) end endendazolla:stepforward()

endend

Page 66: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle

.V4.5,0

V2V max

maxC

• Moteur droit : Vmoy + Vc• Moteur gauche : Vmoy – Vc

Page 67: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnellefunction azolla.main(azolla)

while true dofront = azolla:readsensor(0)back = azolla:readsensor(3)right = azolla:readsensor(1)moyenne = 5Kp=4delta = right - moyenneVmoy=10Vc=Kp*deltaif(front<moyenne) then

azolla:setspeed(-5,5)else

azolla:setspeed(Vc+Vmoy,Vmoy-Vc)endazolla:stepforward()

endend

Page 68: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle intégrale

Si l’erreur persiste, il faut longtemps au correcteur proportionnel pour agir.

Si on augmente la valeur de Kp : le robot se met à osciller.

On calcule le cumul des erreurs pendant un certain temps et on le multiplie par un coefficient pour ajuster la correction de vitesse :

)t.(.K.KVIpc

Page 69: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle intégralefunction azolla.main(azolla)

Vmoy=10moyenne = 5somme=0Kp=4Ki=0.01while true do

front = azolla:readsensor(0)back = azolla:readsensor(3)right = azolla:readsensor(1)delta = right - moyennesomme=somme+deltaVc=Kp*delta+Ki*sommeif(front<moyenne) then

azolla:setspeed(-5,5)else

azolla:setspeed(Vmoy+Vc,Vmoy-Vc)endazolla:stepforward()

endend

Page 70: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle intégrale dérivé

Prévoir les erreurs pour essayer de les corriger avant qu’elles se soient produites :

On suppose que la prochaine variation de l'erreur est identique à sa dernière variation :

ErreurFuture = ErreurActuelle + derive.t

Soit : derive = (ErreurActuelle – ErreurPrécédente)/t

Page 71: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle intégrale dérivé

Prévoir les erreurs pour essayer de les corriger avant qu’elles se soient produites :

On suppose que la prochaine variation de l'erreur est identique à sa dernière variation :

ErreurFuture = ErreurActuelle + derive.t

Soit : derive = (ErreurActuelle – ErreurPrécédente)/t

tK.K.KV dIpc

Page 72: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Correction proportionnelle intégrale dérivé

function azolla.main(azolla)Vmoy=10moyenne = 5somme=0derive=0ErreurPrecedente=0Kp=9Ki=0.01Kd=20while true do

front = azolla:readsensor(0)right = azolla:readsensor(1)

delta = right - moyennesomme=somme+deltaderive=delta-ErreurPrecedenteVc=Kp*delta+Ki*somme+Kd*deriveif(front<moyenne) then

azolla:setspeed(-5,5)else

azolla:setspeed(Vmoy+Vc,Vmoy-Vc)endErreurPrecedente=deltaazolla:stepforward()

endend

Page 73: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Logique floue

Page 74: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Logique floue

Page 75: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Logique floue

Page 76: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Logique floue

1

0

Fonctions d’appartenance en entrée de la variable linguistique « position du robot »

Trop loin

430400

Correct

Fonctions d’appartenance en sortie

Variable linguistique « Puissance du MD »

9876543210

1

Application de la règle n°1

Application de la règle n°2

0,8

0,2

MD = 0x0,8 + 9x0,2 = 1,8

Page 77: Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – marc.silanus@ac-aix-marseille.fr Génie Electronique – Lycée A. Benoit –

ISNInformatique et Sciences du Numérique

Initiation à la robotique5- Application didactique• Apport de connaissances élémentaires

• Tâche 5 : Amélioration – Logique floue

IR=KJunior_get_proximity(RIGHT); if(KJunior_get_proximity(FRONT) > 400) KJunior_set_speed(0,0); else if(IR<401) { MD=0; MG=9; } else if(IR>400 && IR<431) { MD=(int)(0.3*IR-120); MG=9; } else if(IR>430 && IR<471) { MD=9; MG=9; } else if(IR>470 && IR<501) { MD=9; MG=(int)(-0.3*IR+150); } else if(IR>500) { MD=9; MG=0; } KJunior_set_speed(MG,MD); }