38
POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés Gère à la fois: Structuration des objets Distribution des données et des commandes Maintien de la cohérence Séquencement et mise à jour Indépendance application / objet, IHM graphiques (3D, vidéo, overlays…)

POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

Embed Size (px)

Citation preview

Page 1: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL

08/07/2010 1

Package logiciel permettant le développement rapide et aisé d'applications distribuées

Fonctionne sur le principe des objets partagés Gère à la fois:

Structuration des objets Distribution des données et des commandes Maintien de la cohérence Séquencement et mise à jour Indépendance application / objet, IHM graphiques (3D, vidéo, overlays…) …

Page 2: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Besoins / Réponses

08/07/2010 2

Interfaces et objets distribués

Application 1

Ressources locales :

paramètres, Images, sons,

IHMs

Objets « métier »

Application N

IHMs

Réseau Ethernet ou autre moyen de communication

Dispositifs locaux

Dispositifs locaux

Ressources locales :

paramètres, Images, sons,

Objets standards

IHMs

Objets « métier »

Objets standards

Page 3: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Besoins / Réponses

08/07/2010 3

Interfaces d’échangeGestion de ressourcesStructurationSéquencementObjets standardsObjets graphiques IHMsClasses de base pour

objets « Métier ».

Application

POOL : Objets graphiques

Ressources locales

IHMs

Réseau Ethernet

POOL : Objets Standards

Framework POOL

Construction,

Chargement

Structuration

Echange

Mise à jour

Objets « métier »

Dispositifs locaux

Vers autres applications

IHM « métier »

Page 4: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Besoins / Réponses Indépendance et modularité

Exemple 1 : Contrôle d’une tourelle réelle ou simulée

Application

locale ou distante

Script de description « tourelle réelle »

Composant de type « Tourelle »

Accès aux propriétés et commandes du type

« Tourelle »

Contrôleur de la tourelle réelle

Modèle 3D de la tourelle

Tourelle

Application

locale ou distante

Script de description « Tourelle simulée »

Composant de type « Tourelle »

Accès aux propriétés et commandes du type

« Tourelle »

Contrôleur de simulation

d’une tourelle

Modèle 3D de la tourelle

08/07/2010 4

Page 5: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Besoins / Réponses Indépendance et modularité

Exemple 2 : Contrôle d’un véhicule réel ou simulé

Application

locale ou distante

Script de description « véhicule

réel »

Composant de type « Véhicule »

Accès aux propriétés et commandes du type

« véhicule »

Contrôleur

de mission

Contrôleur

de pilotage

Organes de commande

1 2

Application

locale ou distante

Script de description « véhicule simulé »

Composant de type « Véhicule »

Accès aux propriétés et commandes du type

« véhicule »

Contrôleur

de mission

Contrôleur de simulation dynamique

1 2

Modèle 3D

08/07/2010 5

Page 6: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Architecture

08/07/2010 6

Packages et dépendances avec modules externes

XNA

+

DirectX

(Microsoft)

PhysX (NVidia)

Platform

Simu

Media

Graphics

Sounds

Physics

Supervision Devices

.NET 3.5

POOL

Cartes graphiques

Cartes

Acq. Vidéo

Cartes Son

Interfaces numériques

Earth

Page 7: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Platform Framework d’application

Applications « Winforms » ou graphique Initialisation, chargement scripts, séquencement, logs,

Gestionnaire d’objets Création, chargement (scripts), importation, Composants, contrôleurs, objets de rendu, …

Gestionnaire de distribution (PDM) Publications, souscriptions, export de données,

commandes, …

Gestionnaire d’un référentiel de ressources

08/07/2010 7

Page 8: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Platform Utilisation de scripts (C# like)

MotorTorques = {<600, 5000>, <2500, 27000>}; // tr/mn, N.mOptions = Helicopter, JetEngine, EasyDrivingMode;

Graphics.Model AlouetteModel // Modèle graphique associé{

ModelResource = "AlouetteIII.3ds";CullingMode = CullClockwiseFace;

}

Devices.Propeller MainRotor // Rotor principal{

BoneRollAxis = UnitZ;}

Devices.Propeller TailRotor // Rotor de queue{

BoneRollAxis = UnitX;}

Devices.Camera LeftSeat : Devices/Cameras/Generic // caméra siège gauche{

WorldPosition = ../LeftSeat7.WorldPosition;NearPlane = 0.1;

}

Physics.HelicoBody HelicoBody // corps physique associé{

Mass = 1000; / …..}

08/07/2010 8

Page 9: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Graphics Gestionnaire d’affichage

Fenêtres, vues 3D, 2D ou vidéo Overlays de dialogue incrusté

Moteur 3D de rendu optimisé Utilisation de l’accélération matérielle et de

« shaders » fournis Rendu effectué uniquement si modification Tri des objets par « passes » Prise en charge auto de l’ordonnancement des

objets transparents.

08/07/2010 9

Page 10: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Graphics Objets de rendu inclus

Modèles 3D structurés ( à partir de fichiers 3DS ou X).

Formes 3D élémentaires. Surfaces de terrain (MNT) Billboards et particules Environnements (ciels, effets de brumes, etc.) Effets d ’éclairage (Phong, Bump, …), Effets spéciaux (eau, vagues, inondation, …)

08/07/2010 10

Page 11: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Devices Objets et interfaces pour la robotique, vétronique

ou simulation : Mobiles, Véhicules terrestres, bateaux, aéronefs, Caméras, tourelles 2 axes Capteurs lasers, Classes de base pour le développement d’objets

spécifiques. Contrôleurs spécifiques :

Pilotes autonomes (ralliement de cible, suivi de trajectoires),

Contrôleur de localisation (fusion de capteurs, filtrage de Kalman),

Asservissement de composants en translation (caméra de poursuite) et/ou en orientation.

08/07/2010 11

Page 12: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Simu Contrôleurs de simulation :

Simulation de caméras. Simulation de tourelle. Simulation de capteur laser. Simulation de moteurs. Simulation de systèmes de particules

(émetteurs, durée de vie, aléas, …)

08/07/2010 12

Page 13: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Physics Contrôleurs de base

Corps statique de formes quelconques. Corps cinématique : animé en vitesse ou position. Corps dynamique : masses, moments d’inertie, animés

par l’application de forces/couples Joints d’articulation entre composants Calcul des collisions avec prise en compte des

matériaux physiques (friction, restitution, …). Contrôleurs dédiés

Simulation de véhicules terrestres avec suspension Simulation d’aéronefs (hélicoptères, drones). Bateaux et submersibles.

08/07/2010 13

Page 14: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Physics

08/07/2010 14

Page 15: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Media Capture flux Vidéo/audio

Vidéo analogique (dépendant de la carte d’acquisition) Audio analogique. Entrées numériques (video+audio) (FireWire, USB).

Pilotage des dispositifs connectés) Choix des entrées, choix des codecs Réglages de contraste, luminosité, balance, … Pilotage de la caméra ou du caméscope, Utilisation des boites de dialogue fournis avec les dispositifs.

Diffusion de fichiers Formats dépendant des codecs présents.

Diffusion de flux RTP/RTCP Possibilité d’utiliser la vidéo comme une texture pour tous les

objets 2D et 3D

08/07/2010 15

Page 16: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Earth

08/07/2010 16

Page 17: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

POOL : Package Pool/Earth

08/07/2010 17

Page 18: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

TAROT

Projet financé par la DGA Maîtrise d’œuvre: THALES Optronique (TOSA) Objectifs:

Améliorer l’autonomie décisionnelle des robots mobiles terrestres : suivi perceptuels, gestion des obstacles, localisation / cartographie.

Rôles de Robosoft: Algorithme de Suivi de Références Verticales par

Laser : SRVL. Intégration logicielle dans l’architecture TOSA.

08/07/2010 18

Page 19: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

TAROT

Algorithme de Suivi de Références Verticales par Laser Exploitation de mesures lidar Sick (1 plan laser)

et/ou Velodyne (64 plans laser). Algorithme de reconstruction de l’environnement Algorithme de détection de références verticales Génération de consignes de guidage pour le

suivi des références verticales : vecteur position + direction

08/07/2010 19

Page 20: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

Largeur max gabarit

Distance max

Plateforme

Longueur max gabarit

Vecteur cible

Principe algo

TAROT

08/07/2010 20

Page 21: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

TAROT

Intégration dans l’architecture TOSA RTMAPS. Génération de consignes vitesse linéaire + vitesse de

lacet. Indicateurs de confiance. Détection automatique et caractérisation continue des

références verticales. Capacités d’auto-réglage : auto-configuration et auto-

adaptation. Démarrage automatique.

08/07/2010 21

Page 22: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

TAROT

Utilisation de POOL: Mise au point en simulation Environnement 3D réaliste : relief et textures (ETAS) Ajout de références verticales Gestion de la simulation du véhicule cible et des capteurs

RTrooper PFE ? Velodyne Sick …

Communication entre l’algorithme et le simulateur

08/07/2010 22

Page 23: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

2RT-3D

Projet financé par l’ANR Partenaires: LAAS, TOSA Objectifs:

Développement d’algorithmes innovants de reconstruction du terrain et d’analyse de scène.

Evaluation des apports des nouveaux imageurs laser 3D de type Velodyne pour ces algorithmes.

Rôle de Robosoft: Maîtrise d’œuvre. Architecture logicielle accueillant les algorithmes. Algorithme simple de reconstruction de terrain et de génération de

trajectoire. Publications et site internet.

08/07/2010 23

Page 24: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

2RT-3D

Architecture logicielle Définition d’un protocole réseau de mise à disposition des

mesures du lidar et de la localisation du véhicule. Définition d’une base de données d’enregistrements

lidar/véhicule peuplée par TOSA. Définition d’un protocole réseau de mise à disposition des

consignes de pilotage. Définition d’un outil d’enregistrement et de rejeu de la

base de donnée. Algorithmes interchangeables dont un simple réalisé par

Robosoft.

08/07/2010 24

Page 25: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

2RT-3D : architecture logicielle

Algorithmes de reconstruction de l’environnement et

d’analyse de scène

Trame d’impacts imageur + localisation

véhicule Algorithmes Robosoft

BD Rejeu

Imageur 3D

R-Trooper

Algorithmes LAAS

ou

Transfert réseau

Transfert local

Outil THALES

Visualisation des résultats

Eventuelles consignes de guidage

08/07/2010 25

Page 26: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

2RT-3D

Utilisation de POOL Mise au point en simulation Environnement 3D réaliste : relief et textures (ETAS) Ajout d’obstacles Affichage de la reconstruction Gestion de la simulation du véhicule cible et des capteurs

RTrooper PFE ? Vélodyne Sick …

Communication avec les applications TOSA

08/07/2010 26

Page 27: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

SCA2RS

Projet financé par la FRAE Partenaires: LAAS, Onera, SAFRAN. Objectifs:

Démonter la mise en œuvre sure et vérifiable d’une autonomie de type intelligence d’essaim

Rôles de Robosoft: Simulateur de la mission de sauvetage, incluant

drones et survivants. Une IHM « Maître du monde » Une IHM « Poste de commandement »

08/07/2010 27

Page 28: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

SCA2RS

Rôle du simulateur: Support et validation de la planification Reflet réaliste du scénario de sauvetage Hébergement et gestion des objets simulés et de

l’IHM maître du monde Interactions avec l’IHM « Poste de

commandement » et la planificateur

08/07/2010 28

Page 29: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

SCA2RS

Rôle de l’interface « Maître du monde »: Définir et contrôler l’environnement et les acteurs

de la simulation.

Rôle de l’interface « Poste de commandement »: Définir les zones à explorer Analyser les photos prises par les drones Décider de la fin de la mission

08/07/2010 29

Page 30: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

SCA2RS : architecture logicielle

08/07/2010 30

Page 31: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

SCA2RS

Utilisation de POOL: Environnement 3D réaliste : relief et textures

(Grenoble) Ajout de perturbations : inondation, brouillard… Gestion de la simulation des drones, robots et

survivants: Pilotage des drones Prise de photos …

Communication entre les deux IHMs et avec le planificateur

08/07/2010 31

Page 32: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

CONNECT

Projet financé par l’ANR Partenaires: GIPSA-Lab, Ifremer, Prolexia Objectifs:

Illustrer le contrôle de systèmes multi-agents, en intégrant des contraintes de communication.

Le scénario se déroule en milieu aquatique, la flotte de véhicules devant détecter une source d’eau douce.

Rôle de Robosoft: IHM de supervision de la flotte de véhicules.

08/07/2010 32

Page 33: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

CONNECT

Rôle de l’IHM de supervision: Supervision de l’état d’une flotte de véhicules Environnement 3D réaliste Communication avec le simulateur Prolexia

08/07/2010 33

Page 34: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

CONNECT : architecture logicielle

08/07/2010 34

Page 35: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

CONNECT

Utilisation de POOL: Environnement 3D réaliste

MNT des terres MNT du fond marin (fourni par l’Ifremer) Visualisation 2D et 3D de la diffusion d’eau douce Visualisation des indicateurs de communication (emprise

modems, envoi/réception de message…) Modèle 3D des véhicules Utilisation de sprites pour les algues et poissons.

Communication avec le simulateur Prolexia

08/07/2010 35

Page 36: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

NAVIFLOW

Projet financé par la FRAE Partenaires: CEA-List,Heudiasyc,ONERA Objectifs:

Développer des fonctions de navigation efficaces et robustes en environnement urbain pour des drones à voilure tournante.

Rôles de Robosoft: Station sol pour drone X4 et Ressac

08/07/2010 36

Page 37: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

NAVIFLOW

Rôle de la station sol: Supervision de l’état du véhicule Pilotage du véhicule ou des capteurs (éventuel) Visualisation des retours vidéos Communication avec les applications des

laboratoires

08/07/2010 37

Page 38: POOL 08/07/2010 1 Package logiciel permettant le développement rapide et aisé d'applications distribuées Fonctionne sur le principe des objets partagés

NAVIFLOW

Utilisation de POOL: Environnement 2D réaliste avec incrustations Visualisation des retours vidéos:

incrustations (informations, flux optique …) différents modes de visionnage (une vidéo plein écran /

une vidéo grande taille + plusieurs vidéos miniatures / plusieurs vidéos bandeau…)

Généricité de l’application quelque soit le véhicule (X4, Ressac ou PFE): association contrôle graphique et l’object POOL correspondant.

08/07/2010 38