Validation d’applications pour les Legos Mindstorms

Slides:



Advertisements
Présentations similaires
1 1 Projet doption Réalité Virtuelle Simulation dun habitat domotisé Florent Renault Xiaoyu Gao Mercredi 27 mai 2009.
Advertisements

Gestion des risques de sinistres
Approche graphique du nombre dérivé
AUTRES ASPECTS DU GPS Partie I : tolérance de Battement
« Systèmes électroniques »
Licence 2 Option de découverte (1L4INJM) APPLICATIONS INFORMATIQUES POUR LINTERACTION HOMME-ROBOT Responsable : Julien PINQUIER
Programme de seconde 2009 Géométrie
Algorithmique et évaluation
ACTIVITES Le calcul littéral (3).
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Spécifications fonctionnelles générales.
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Spécifications fonctionnelles générales.
Projet n°4 : Objecteering
Jeu sur téléphone mobile
JXDVDTEK – Une DVDthèque en Java et XML
Joscelin OUDRY IR2000 année
Activité : Programmer un robot (Langage algorithmique)
Eric BONJOUR, Maryvonne DULMET
Master Génie Biologique et Informatique, première année
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Indicateurs de position
1 Placement automatique des composants lors du déploiement dapplications à base de composants Abdelkrim Beloued Chantal Taconet, Dhouha Ayed, Guy Bernard.
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
Thème « Modélisation comportementale des Systèmes critiques »
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
Bouyekhf Rachid-Lyuboumir Gruitch Laboratoire SeT UTBM
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Conception d’une application de gestion de fiches études
Maîtrise des données et des métadonnées de l’ODS
Limites d’une fonction
Langage SysML.
RESEAU NATIONAL DE RESSOURCES
CALVET Tom DA COSTA Jaym
Projet 2012 Tour à commandes numériques
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Plateforme de gestion de données de capteurs
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Application des algorithmes génétiques
le profil UML en temps réel MARTE
Plugin B pour JEdit Matthias Meusburger Antoine Acquaviva
BENABEN, PEREZ Mini projet: Détection d’obstacle.
Adaptation et intégration d'un module du Langage Parlé Complété (LPC) dans l'agent conversationnel Greta Mohammed ZBAKH Encadré par Mme. Hela DAASSI M.
Programme et Langage C++
LES RESEAUX DE CAPTEURS SANS-FIL
Journée ConecsSdF 27 janvier 2011 ATELIER BENCHMARK Mise en œuvre du cas-test sur le simulateur Samovar Adrien GUENARD, INRIA Nancy, France Date.
Test bilan de calcul mental N°1 :
Algorithmique et Programmation
Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
Universté de la Manouba
Ecaterina Giacomini Pacurar
IFT 6800 Atelier en Technologies d’information
SYSTEMES MIXTES MOBILES ET COLLABORATIFS
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
Projet de Master première année 2007 / 2008
Francois Gautrais | Charles Jacob | Nicolas Levêque | Léo Chaudet 11 Mai
‘‘Open Data base Connectivity‘‘
Smart sensors and ubiquitous applications
1 Modèle pédagogique d’un système d’apprentissage (SA)
Voici les mouvements de Mars et de la Terre dans le référentiel héliocentrique Sens de rotation LE SOLEIL MARS LA TERRE.
Outil de gestion des cartes grises
1. Jr. FIRST LEGO League est un des quatre programmes de FIRST.
Projet SwitcHome Cahier des charges techniques Adeline COUPE, Hélène DRAUX, Ismaïla GIROUX, Loïc TACHET.
Automatisation du vol de “ La Drenalyn ”
Supports de formation au SQ Unifié
Algorithmique et programmation (1)‏
PRESTO Programme d’étude de séries temporelles Projet 4 ème année Jean-Frédéric Berthelot Paul-Alain Bugnard Camille Capelle Sébastien Castiel.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
CARNANDET Christophe REIBEL Thomas Projet- Licence EEA 2004/2005 Legos Mindstorms Le chariot pendule.
LES SIMULATEURS RÉSEAU
Transcription de la présentation:

Validation d’applications pour les Legos Mindstorms LABORIE Sébastien Validation d’applications pour les Legos Mindstorms Responsables : Yves LEDRU et Lydie du Bousquet Laboratoire : Logiciels, Systèmes et Réseaux

PLAN Introduction : Contexte et Problématique I – Le robot Lego Mindstorms 1. Description 2. Robot autonome ou communicant 3. Positionnement du robot II – L’application robotique 2. Spécification JML 3. Algorithme d’évitement d’obstacles 4. Les différents résultats Conclusion

CONTEXTE Laboratoire Logiciels, Systèmes et Réseaux ADELE DRAKKAR PLIAGE VASCO STORMS-BD SIGMA Etude des Logiciels Architectures Logicielles Spécification Validation par le test

PROBLEMATIQUE (1/3) Environnement de travail : Robot Lego Mindstorms : Commandé par un ordinateur (le RCX) qui peut être programmé en Java. Java Modelling Langage (JML) : Langage de spécification formelle.

PROBLEMATIQUE (2/3) But du projet : Expérimenter l’utilisation de JML en combinaison avec les Legos Mindstorms. Spécifier en JML et réaliser en Java une application qui illustre bien l’utilisation de propriétés.

PROBLEMATIQUE (3/3) Intérêts du projet : Expérimenter JML sur une application robotique. Spécifier en JML des contraintes réelles et objectives. Illustrer par des expérimentations le respect de ces contraintes.

I – Le robot Lego Mindstorms

Robotic Command eXplorer (RCX) Capteur d’intensité de lumière DESCRIPTION (1/3) Port infrarouge Robotic Command eXplorer (RCX) Capteur d’intensité de lumière Capteur de contact

DESCRIPTION (2/3) Le RCX est composé d’une machine virtuelle Java (JVM). Lego Java Operating System (LeJos) permet : L’implémentation de programmes Java. Le chargement de programmes Java sur le RCX.

DESCRIPTION (3/3) Conclusion : LeJos offre tous les outils nécessaires à : L’implémentation de divers algorithmes. La réalisation d’une application robotique.

Robot autonome ou communicant (1/5) Robot autonome : Tous les algorithmes sont chargés sur le RCX. Robot communicant : 2 applications s’exécutent simultanément. Robot autonome : Obligation d’avoir du JML sur le RCX.

Robot autonome ou communicant (2/5) Problème : LeJos applique de la « compilation croisée » } LEJOSC LEJOSC JAVA JLMC JMLC JAVA JAVA

Robot autonome ou communicant (3/5) Solution : Ecrire les librairies manquantes. Conclusion : Réflexion et concertation sur cette solution. Abandon de l’idée de mettre du JML sur le RCX.

Robot autonome ou communicant (4/5) Robot communicant : Obligation de rechercher l’antenne. 3 solutions : Connaissance de la position de l’antenne. Rotation du robot. Antenne placée au-dessus de l’environnement du robot.

Robot autonome ou communicant (5/5) Limite de la solution choisie : Antenne infrarouge Déviation limite (35 degrés ~) Portée limite (8 mètres) Robot

Positionnement du robot (1/2) Système élaboré pour notre « navigateur »

Positionnement du robot (2/2) Avantages : Permet de connaître l’état de déplacement du robot. Certains évènements extérieurs sont pris en compte. Permet de limiter l’imprécision. Conclusion : Ce « navigateur » nous offre une certaine précision. L’imprécision inhérente au robot existera toujours.

II – L’application robotique

Description (1/2) Obstacles Environnement

Description (2/2) Propriétés à respecter : Eviter les obstacles. Ne pas sortir de l’environnement.

Spécification JML (1/3) Exemple de code JML : /*@ @ public invariant (\forall int i; i>=0 && i<Obstacles.size(); @ Obstacles.get(i) instanceof Cadre || @ Obstacles.get(i) instanceof Cannette;) @*/ Public void Algorithme(…) {…}

Spécification JML (2/3) Spécification de différentes contraintes en JML : Contraintes liées au programme : Les obstacles sont soit : l’environnement. les cannettes.

Spécification JML (3/3) Contraintes liées à l’environnement : Il existe un seul et unique environnement. Les cannettes sont dans cet environnement. Les cannettes ne doivent pas se superposer. Le chemin du robot doit être assez large.

Algorithme d’évitement d’obstacles (1/4) Première étape : Découpage du terrain en zones.

Algorithme d’évitement d’obstacles (2/4) Deuxième étape : Construction d’un graphe d’arêtes. Graphe d’arêtes 1 2 3 5 4 6 7 6 7 9 8 9 8 10 3 4 7 8 1 10 2 5 6 9

Algorithme d’évitement d’obstacles (3/4) Troisième étape : Sélection d’un chemin dans le graphe. 3 4 7 8 1 10 2 5 6 9

Algorithme d’évitement d’obstacles (4/4) Quatrième étape : Sélection des points milieux des arêtes.

Les différents résultats (1/3) Environnement ARRIVEE Chemin à effectuer

Les différents résultats (2/3)

Les différents résultats (3/3) Contrôle des différentes contraintes spécifiées en JML : Chemin assez large Chemin trop étroit En JML : //@ ensures ( assezLarge(\result) ) public Arete getPlusLongueADroite() {…}

CONCLUSION (1/2) JML un bon outil pour spécifier différents types de contraintes. Mise en évidence des propriétés JML avec l’application robotique. Imprécision inhérente au robot.

CONCLUSION (2/2) Différentes évolutions de notre étude : Amélioration de l’algorithme de recherche de chemin. Utilisation du capteur d’intensité de lumière. Amélioration du positionnement du robot. Améliorer l’interaction Robot-Ordinateur. Diversifier le type des obstacles.