La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – Génie Electronique – Lycée A. Benoit –"— Transcription de la présentation:

1 Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – Génie Electronique – Lycée A. Benoit – Cours Victor Hugo – L’ISLE SUR LA SORGUE

2 Initiation à la robotique Le programme élève SavoirsCapacitésObservations 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.

3 Initiation à la robotique Planning 1.Qu’est-ce qu’un robot ? 2.A quoi servent les robots ? 3.Les kits robotiques 4.Les simulateurs 5.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

4 Initiation à la robotique 1- Qu’est-ce qu’un robot?

5 Initiation à la robotique 1- 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

6 Initiation à la robotique 1- 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)

7 Energie Secteur, Batteries, panneaux solaires, … Initiation à la robotique 1- 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és Actionneurs Réalisation des actions programmés Position Vitesse Accélération Température Humidité …. Grandeurs physiques Grandeur électrique (tension, courant, fréquence, …) Transmission numérique ou analogique Interface de communication Envoyer et/ou recevoir des informations Interface de communication Envoyer et/ou recevoir des informations Déplacement Préhension Son Lumière Mesures … Liaison filaire Sans fil Clavier Ecran tactile … Transmission numérique ou analogique

8 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile Les capteurs

9 Initiation à la robotique 1- 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

10 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile  Les plates-formes différentielles :

11 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile  Les plates-formes omnidirectionnelles :

12 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile  Les plates-formes omnidirectionnelles :

13 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile  Les plates-formes non holonomes :

14 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) La base mobile  Les plates-formes à pattes :

15 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) Les capteurs  Les capteurs tactiles :  Choc, préhension, …

16 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) Les capteurs  Les odomètres :  Vitesse, trajectoire

17 Initiation à la robotique 1- 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

18 Initiation à la robotique 1- 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

19 Initiation à la robotique 1- 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

20 Initiation à la robotique 1- 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)  …

21 Initiation à la robotique 1- 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

22 Initiation à la robotique 1- 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

23 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile) Les capteurs  Le GPS :  Positionnement

24 Initiation à la robotique 1- Qu’est-ce qu’un robot ? Principaux constituants d’un robot (mobile)

25 Initiation à la robotique 1- 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, …

26 Initiation à la robotique 1- 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 …

27 Initiation à la robotique 1- 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.

28 Initiation à la robotique 2- A quoi servent les robots ?

29 Initiation à la robotique 2- 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, …)

30 Initiation à la robotique 2- 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) Futuroscope AV-T3 transporteur cargo autonome Fuji Heavy Industries (Subaru) Automated Guided Vehicules (Laser, Wifi) Transport de linge – hôpital d’Arras. Automated Guided Vehicules (Laser)

31 Initiation à la robotique 2- 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

32 Initiation à la robotique 2- 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

33 Initiation à la robotique 2- 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.

34 Initiation à la robotique 2- 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’Antarctique Janvier 2000, recherche et identification de météorites

35 Initiation à la robotique 2- 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 CB2 Ucroa : Robot model Simdroïd (robot patient dentaire) Geminoïde

36 Initiation à la robotique 3- Les kits robotiques

37 Thymio II (http://www.generationrobots.com )http://www.generationrobots.com  € - Programmation Aseba (environnement open source) Initiation à la robotique 3- Les kits robotiques

38 mOway (http://www.alecop.fr)http://www.alecop.fr 299 € (generationrobots.com) – programmation en C Initiation à la robotique 3- Les kits robotiques

39 K-Junior (http://www.didastel.fr)http://www.didastel.fr À partir de 685 € (generationrobots.com) – programmation en C Initiation à la robotique 3- Les kits robotiques

40 Initiation à la robotique 3- Les kits robotiques Lego Mindstorms NXT (http://www.generationrobots.com/ )http://www.generationrobots.com/  Kit programmation en C (RobotC) : 349 €  Kit Education : 330 € - Programmation Lego Mindstorm (LabView)

41 Fishertechnik (http://www.fischertechnik.de)http://www.fischertechnik.de  Environ 450 € (technologie services) – Programmation : Logiciel Robo Pro Fischertechnik Initiation à la robotique 3- Les kits robotiques

42 Vex Robotics (http://www.generationrobots.com)http://www.generationrobots.com  A partir de 600 € – Programmation en C (Robot C) Initiation à la robotique 3- Les kits robotiques

43 Initiation à la robotique 3- Les kits robotiques Bioloid (http://www.robotshop.com/ $ à 1200 $ (roboshop) – programmation Robot Plus (basé sur le C)  € - Programmation Aseba (environnement open source)

44 Initiation à la robotique 3- Les kits robotiques NAO (http://www.erm-automatismes.com/produit.php?id=403 )http://www.erm-automatismes.com/produit.php?id=403

45 Initiation à la robotique 3- Les kits robotiques NAO (http://www.erm-automatismes.com/produit.php?id=403 )http://www.erm-automatismes.com/produit.php?id=403

46 Initiation à la robotique 3- Les kits robotiques Erma Board (http://www.erm-automatismes.com)http://www.erm-automatismes.com 349 $ à 1200 $ (roboshop) – programmation Prix non communiqué – programmation en C (arduino) – Multi-langage (Fox)

47 Initiation à la robotique 4- Les simulateurs

48 Initiation à la robotique 4- Les simulateurs Guido van Robot (http://gvr.sourceforge.net/index.php )http://gvr.sourceforge.net/index.php Initiation à la programmation Linux, Windows, Mac Syntaxe basée sur Python 18 leçons disponibles Gratuit Démo

49 Initiation à la robotique 3- Les simulateurs Rossum's Playhouse (RP1) (http://rossum.sourceforge.net/downloads.html )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

50 Initiation à la robotique 4- Les simulateurs Azolla (http://www.codeproject.com/Articles/33587/2D-LUA-Based-Robot- Simulator )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

51 Initiation à la robotique 4- Les simulateurs Microsoft Robotics Developer Studio (http://www.microsoft.com/robotics/ )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, …

52 Initiation à la robotique 4- Les simulateurs Webot (http://www.cyberbotics.com/ )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)

53 Initiation à la robotique 4- Les simulateurs Marilou (http://www.anykode.fr )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)

54 Initiation à la robotique 5- Application didactique

55 Initiation à la robotique 5- 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, ….

56 Initiation à la robotique 5- 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

57 Initiation à la robotique 5- Application didactique Recherche de solutions Châssis Comportement Capteurs Traitement de l’information Langage

58 Initiation à la robotique 5- 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)

59 Initiation à la robotique 5- Application didactique Concevoir un prototype pour répondre à la problématique A partir des bases robotiques : Lego Mindstorm Kjunior Simulation avec Azolla

60 Initiation à la robotique 5- 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

61 Initiation à la robotique 5- 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 :

62 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 2 : Tourner autours d’un point function azolla.main(azolla) while true do azolla:setspeed(-10,10) //Tourner sur lui-même end End function azolla.main(azolla) while true do azolla:setspeed(0,10) //rayon braquage = distance entre roues end function azolla.main(azolla) while true do azolla:setspeed(5,10) //rayon braquage = 2x distance entre roues end

63 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 3 : Avancer-reculer entre deux obstacles function azolla.main(azolla) while true do front = azolla:readsensor(0) back = azolla:readsensor(3) if(front<12) then sens=-1 -- Définir le sens end if(back<12) then sens=1 end -- Vitesse constante if(front>20 and back>20) then vitesse=20; end -- Accéléré ou ralentir if(front<20) then vitesse=2*front-20; end if(back<20) then vitesse=2*back-20; end azolla:setspeed(sens*vitesse+1,sens*vitesse+1) azolla:stepforward() end End

64 Initiation à la robotique 5- 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) end if(back<3) then azolla:setspeed(10,10) end azolla:stepforward() end

65 Initiation à la robotique 5- 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 azolla:stepforward() end

66 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Correction proportionnelle Moteur droit : Vmoy + Vc Moteur gauche : Vmoy – Vc

67 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Correction proportionnelle function azolla.main(azolla) while true do front = azolla:readsensor(0) back = azolla:readsensor(3) right = azolla:readsensor(1) moyenne = 5 Kp=4 delta = right - moyenne Vmoy=10 Vc=Kp*delta if(front

68 Initiation à la robotique 5- 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 :

69 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Correction proportionnelle intégrale function azolla.main(azolla) Vmoy=10 moyenne = 5 somme=0 Kp=4 Ki=0.01 while true do front = azolla:readsensor(0) back = azolla:readsensor(3) right = azolla:readsensor(1) delta = right - moyenne somme=somme+delta Vc=Kp*delta+Ki*somme if(front

70 Initiation à la robotique 5- 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

71 Initiation à la robotique 5- 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

72 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Correction proportionnelle intégrale dérivé function azolla.main(azolla) Vmoy=10 moyenne = 5 somme=0 derive=0 ErreurPrecedente=0 Kp=9 Ki=0.01 Kd=20 while true do front = azolla:readsensor(0) right = azolla:readsensor(1) delta = right - moyenne somme=somme+delta derive=delta-ErreurPrecedente Vc=Kp*delta+Ki*somme+Kd*derive if(front

73 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Logique floue

74 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Logique floue

75 Initiation à la robotique 5- Application didactique Apport de connaissances élémentaires Tâche 5 : Amélioration – Logique floue

76 Initiation à la robotique 5- 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 Correct Fonctions d’appartenance en sortie Variable linguistique « Puissance du MD » 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

77 Initiation à la robotique 5- 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); }


Télécharger ppt "Formation des enseignants Initiation à la robotique Mini-projet Marc Silanus – Génie Electronique – Lycée A. Benoit –"

Présentations similaires


Annonces Google