Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
PROTEUS CycabTK Perspectives
Plan
1 PROTEUSDé�nition du ProjetConsortium PROTEUSÉtapes & ObjectifsArchitecture PROTEUSContribution de l'INRIA dans le Projet
2 CycabTKContexteDescription du frameworkSimulateurEn bref
3 Perspectives
A. Nègre, J. Lahera PROTEUS / Cycabtk 1/20
PROTEUS CycabTK Perspectives
Dé�nition
PROTEUS
�P lateforme pour la Robotique Organisant les T ransfertsEntre Utilisateurs et Scienti�ques�
Plateforme pour faciliter les transferts des connaissances etproblèmes entre le monde de l'industrie et le mondeacadémique (communauté robotique).
Robotique terrestre, aérienne et humanoide (partiellement).
Spéci�cation (Ontologies + Scénarios) → Modélisation
(DSL PROTEUS) → langage/outils de transformation 7−→cible d'exécution.
A. Nègre, J. Lahera PROTEUS / Cycabtk 2/20
PROTEUS CycabTK Perspectives
Composition du Consortium
A. Nègre, J. Lahera PROTEUS / Cycabtk 3/20
PROTEUS CycabTK Perspectives
Étapes & Objectifs dans PROTEUS (1/2)
Dé�nition des Scénarios et des Challenges : PlateformeRobotique + Mission + Environnement
↓
Création des Ontologies : Dé�nition des entités et relationscomme méthode de spéci�cation des systèmes robotiques.
↓
Création des modèles et du DSL PROTEUS (Domain Speci�cLanguage) : Description des scénarios & challenges avec l'aide de laspéci�cation de l'ontologie.
↓
A. Nègre, J. Lahera PROTEUS / Cycabtk 4/20
PROTEUS CycabTK Perspectives
Étapes & Objectifs dans PROTEUS (2/2)
↓
Langages et outils de transformation pour traduire le DSL versles di�erentes cibles d'exécution : URBI, RT-MAPS, CycabTk, ...
↓
Validation des scénarios sur les cibles d'exécution :1 Dé�nition par le modèles.2 Traduction par les outils de transformation.3 Exécution par les plateformes réelles ou simulées.
A. Nègre, J. Lahera PROTEUS / Cycabtk 5/20
PROTEUS CycabTK Perspectives
Architecture PROTEUS
Ontologie PROTEUS
DSL PROTEUS
Modélisation
URBI
RT-MAPS
OROCOS
CycabTk
Frameworks Robotiques Cibles
Spécification Traduction Validation/Exécution
OUTILS DETRANSFORMATION
Scénarios & Challenges
A. Nègre, J. Lahera PROTEUS / Cycabtk 6/20
PROTEUS CycabTK Perspectives
Contribution de l'INRIA dans PROTEUS
Dé�nition d'un modèle d'Ontologie robotique.
Collaboration dans la dé�nition du DSL PROTEUS.
Interfaçage entre l'outillage de transformation et l'entrée denotre framework de simulation.
Amélioration du framework de simulation robotique CycabTk.
Validation de challenges dans CycabTk.
A. Nègre, J. Lahera PROTEUS / Cycabtk 7/20
PROTEUS CycabTK Perspectives
Plan
1 PROTEUSDé�nition du ProjetConsortium PROTEUSÉtapes & ObjectifsArchitecture PROTEUSContribution de l'INRIA dans le Projet
2 CycabTKContexteDescription du frameworkSimulateurEn bref
3 Perspectives
A. Nègre, J. Lahera PROTEUS / Cycabtk 8/20
PROTEUS CycabTK Perspectives
Contexte
But ?
Prototypage rapide
Validation des application avant les tests en conditions réelles
Expérimentation avec des robots/capteurs que nous n'avonspas
Besoins ?
Simulation réaliste des capteurs
Outils de visualisations
Pas de changement du code entre simulation / plateformesréelles
Outils d'enregistrement / rejout de données
A. Nègre, J. Lahera PROTEUS / Cycabtk 9/20
PROTEUS CycabTK Perspectives
Contexte
But ?
Prototypage rapide
Validation des application avant les tests en conditions réelles
Expérimentation avec des robots/capteurs que nous n'avonspas
Besoins ?
Simulation réaliste des capteurs
Outils de visualisations
Pas de changement du code entre simulation / plateformesréelles
Outils d'enregistrement / rejout de données
A. Nègre, J. Lahera PROTEUS / Cycabtk 9/20
PROTEUS CycabTK Perspectives
Framework
Le framework est composé de 2 parties :
Hardware Abstaction Layer (HAL)
Hugr : middleware de communication :
Partage de variable via mémoire partagée
Support réseau (partage de variable via socket TCP)
Simulateur
Basé sur le moteur 3D mgEngine
Nombreux calculs e�ectués en GPU
A. Nègre, J. Lahera PROTEUS / Cycabtk 10/20
PROTEUS CycabTK Perspectives
Middleware Hugrhttp ://cycabtk.gforge.inria.fr/
Caractéristiques
Partage de variable de type tableau noir (mémoire partagé /socket UDP)
Datage des données à chaque écriture
Enregistrement / Rejeu de données
Possibilité de synchronisation : lectures bloquantes
Object oriented (C++)
Open source (LGPL)
Utilisation
Utilisé comme couche d'abstraction logicielle
Code et binaire identique sur plateforme réelle ou simulée
A. Nègre, J. Lahera PROTEUS / Cycabtk 11/20
PROTEUS CycabTK Perspectives
Architecture
Mémoire partagée avec un tableau de description des variables
Variables de types et de taille quelconques
Serialisation des variables (cross-platform)
A. Nègre, J. Lahera PROTEUS / Cycabtk 12/20
PROTEUS CycabTK Perspectives
Outils Hugr
Outils logiciels présents dans le framework Hugr :
Hugr shell
Interface web
Utilitaire d'enregistrement / lecture
Partage de variables sur le réseau
A. Nègre, J. Lahera PROTEUS / Cycabtk 13/20
PROTEUS CycabTK Perspectives
mgEnginehttp ://mgengine.sourceforge.net/
Moteur 3D Open Source
Orienté simulation
Modulaire et évolutif
Scriptable
A. Nègre, J. Lahera PROTEUS / Cycabtk 14/20
PROTEUS CycabTK Perspectives
Composants simulés
Environnement
Objets statiques (batiments, voitures,...) : décrit à partir de�chiers .mesh
Objets dynamique (voitures mobiles, piétons, ...).
Robots
Cycab (robot �car-like�)
Wheelchair (robot di�érentiel)
Sensors
Laser
Cameras
Compass, GPS
A. Nègre, J. Lahera PROTEUS / Cycabtk 15/20
PROTEUS CycabTK Perspectives
Composants simulés
Environnement
Objets statiques (batiments, voitures,...) : décrit à partir de�chiers .mesh
Objets dynamique (voitures mobiles, piétons, ...).
Robots
Cycab (robot �car-like�)
Wheelchair (robot di�érentiel)
Sensors
Laser
Cameras
Compass, GPS
A. Nègre, J. Lahera PROTEUS / Cycabtk 15/20
PROTEUS CycabTK Perspectives
Composants simulés
Environnement
Objets statiques (batiments, voitures,...) : décrit à partir de�chiers .mesh
Objets dynamique (voitures mobiles, piétons, ...).
Robots
Cycab (robot �car-like�)
Wheelchair (robot di�érentiel)
Sensors
Laser
Cameras
Compass, GPS
A. Nègre, J. Lahera PROTEUS / Cycabtk 15/20
PROTEUS CycabTK Perspectives
Description des scenarios
Script MgEngine# Insert a Cycab Robot
new mgMeshActor cycab_mesh
cycab_mesh.SetMesh Cycab/cycab.mesh
new CycabSimulator cycab
cycab.AttachTo cycab_mesh
cycab.Start
#Add a sick sensor
new SickSimulator sick
sick.MakeChildOf cycab_mesh
sick.SetPosition 1.68 0 0.7
sick.SetRotation 0 0 0
sick.Start
A. Nègre, J. Lahera PROTEUS / Cycabtk 16/20
PROTEUS CycabTK Perspectives
Démo
A. Nègre, J. Lahera PROTEUS / Cycabtk 17/20
PROTEUS CycabTK Perspectives
En bref
Middleware Hugr + Simulateur (mgEngine)
Nombreux capteurs (Laser, cameras, GPS, etc.)
Communication simple entre applications (Hugr)
Projet Gforge : http://cycabtk.gforge.inria.fr :installation guide, tutorial, etc.
A. Nègre, J. Lahera PROTEUS / Cycabtk 18/20
PROTEUS CycabTK Perspectives
Plan
1 PROTEUSDé�nition du ProjetConsortium PROTEUSÉtapes & ObjectifsArchitecture PROTEUSContribution de l'INRIA dans le Projet
2 CycabTKContexteDescription du frameworkSimulateurEn bref
3 Perspectives
A. Nègre, J. Lahera PROTEUS / Cycabtk 19/20
PROTEUS CycabTK Perspectives
Perspectives
Collaboration avec LASMEA :Challenge / PAVINModèle 3D ?
Amélioration du simulateurIntégration moteur physique (Bullet ?)Interoperabilité avec d'autres frameworks (ROS ?)
A. Nègre, J. Lahera PROTEUS / Cycabtk 20/20