1. Prototypage des systèmes embarqués
Nicolas Dulac 1, Sébastien Boisgérault 2, Bruno Steux 2
1 Intempora
2, place Jules Gévelot 92130 Issy-Les-Moulineaux, France
2 CAOR,Centre de Robotique, Mines ParisTech,
60, boulevard Saint Michel 75272 Paris Cedex 06, France
Nicolas.Dulac@intempora.com Sebastien.Boisgerault@mines-paristech.fr Bruno.Steux@mines-paristech.fr
Depuis plus de dix ans, le pôle Architecture Logicielle et Systèmes Embarqués du CAOR développe des plate-formes
logicielles répondant aux besoins des concepteurs de systèmes robotiques mobiles et de systèmes de transport intelligents.
Ces activités ont donné lieu en 1998 et 1999 au développement de la technologie
RT Maps[3] pour Real-Time
Multi-sensor Advanced Prototyping Software suivi en octobre 2000, de la création de la société Intempora[7]. Ce
développement technologique se prolonge aujourd'hui au travers du projet AROS[1] du CAOR.
Récemment, le CAOR a également initié une activité pour la conception d'interfaces homme-machine dédiées aux
systèmes automobiles[5]. Cette activité répond à l'utilisation accrue d'écrans embarqués notamment sur les véhicules
haut de gamme et les prototypes qui viennent compléter ou se substituer aux systèmes d'informations et de contrôle
classiques.
I.
RT Maps, histoire d'un transfert technologique réussi
En 1997, Bruno Steux (aujourd'hui enseignant-chercheur au CAOR) et Pierre Coulombeau entament leur thèse au
Centre de Robotique sur des systèmes embarqués de perception par fusion de données (détection de lignes blanches,
détection d'obstacles par fusion vision + radar, . . . ). Par souci d'ecacité, et pour pouvoir se consacrer aux recherches
scientiques plutôt qu'aux problèmes communs de programmation, ils consacrent une année au développement d'une
technologie modulaire pour le prototypage rapide d'applications temps-réel multi-capteurs : la technologie
RT Maps. En
2000, le projet européen CarSense dirigé par FIAT est à la recherche d'un outil permettant l'enregistrement simultané
et synchronisé des données de multpiles capteurs (caméras, lidars, radars, GPS, sonars, . . . ).
RT Maps est retenu, et la
société Intempora est créée an de poursuivre le développement de l'outil et d'en assurer sa commercialisation, ceci
avec le soutien de l'ANVAR (devenu OSEO) et de ses premiers clients. Aujourd'hui, Intempora compte bon nombre de
références industrielles prestigieuses en France et à l'étranger, telles que VALEO, RENAULT, PSA, THALES, ICHIKOH
(Japon) mais aussi dans le domaine académique l'INRIA, l'INRETS, le LCPC, le SwRI (USA), Q.U.T. (Australie), etc.
Le partenariat fort liant Intempora et le Centre Robotique s'est poursuivi dans le cadre de projets de recherche
nationaux et européens tels que PUVAME, REACT et COM2REACT. Aujourd'hui encore, forts de cette expérience,
nous travaillons ensemble dans le cadre des projets Edona[4] orienté vers la conception d'IHM embarquées, et AROS[1]
(Agile Robust Operating Service) un projet auquel collaborent également VALEO et l'INRIA visant au développement
d'une nouvelle plateforme de développement pour l'embarqué et les systèmes distribués.
II. L'outil
RT Maps
Dans les domaines de la perception et du contrôle embarqués, que
ce soit en robotique, automobile, ou surveillance, la diversité des tech-
nologies à mettre en oeuvre, en terme d'interfaces matérielles et d'al-
gorithmes, nécessite l'utilisation d'outils performants et hautement
modulaires.
RT Maps permet la mise en oeuvre rapide et l'intégration facile de
capteurs hétérogènes et asynchrones (caméras, bus CAN, GPS, li-
dars, radars, centrales inertielles, capteurs IP, série, etc.)
Le modèle de développement par composants permet d'assurer l'évo-
lutivité des applications ainsi que la capitalisation des travaux eec-
tués. Un SDK (Software Development Kit) en C/C++ permet au
développeur d'écrire lui-même ses propres composants et d'y intégrer
ses algorithmes.
Les fonctionnalités de datation précise de chaque échantillon de don-
née entrant dans le système, associées à un moteur d'exécution multi-threads, permettent de gérer ecacement les
problématiques de la fusion de données.
2. Les fonctions d'enregistrement et de rejeu temps-réel des ux de données capteurs permettent d'une part de travailler
sur table à l'aide de scénarios de données réelles préalablement enregistrées en se replaçant dans le conditions de fonc-
tionnement, et d'autre part la comparaison et la validation des capteurs et algorithmes mis en oeuvre.
L'échange de composants (i.e. de briques fonctionnelles) compilés ou non, ainsi que d'enregistrements de données cap-
teurs facilite grandement la coopération entre diérentes équipes en protégeant si nécessaire la propriété intellectuelle
des développements.
Depuis la version 3,
RT Maps dispose de fonctionnalités de distribution multipostes permettant de répartir les applications
sur plusieurs calculateurs, distants ou non.
III. Conception d'Interfaces Homme-Machine pour Automobiles
Notre activité dans la conception d'interfaces homme-machine (IHM) pour automobiles prend sa source dans les besoins
des systèmes de transport intelligents (STI). Ces systèmes innovants, variés et porteurs d'informations complexes
doivent pouvoir s'appuyer sur des interfaces homme-machine riches et spéciques. Leur processus de conception doit
également se prêter au prototypage rapide. Enn, à ces besoins viennent s'ajouter des problématiques industrielles,
notamment d'interopérabilité et de sécurité.
L'eort du CAOR dans ce domaine s'inscrit dans Edona[4],
un projet issu de Numatech Automotive, groupe théma-
tique du pôle de compétitivité System@atic. Edona/hmi
est la déclinaison de cet ensemble dédié à la production
d'environnements de développement pour les métiers de l'au-
tomobile aux interfaces hommes-machines. Le CAOR y col-
labore avec des fournisseurs de technologies dont Intempora
sous la direction de Visteon.
Les contributions du CAOR concernent la modélisation des
IHMs, le développement d'outils de conception ainsi que d'une
architecture d'exécution favorisant le prototypage rapide.
Edona/hmi a adopté un processus de conception dirigé par
les modèles et basé sur des standards existants qui favorise
l'interopérabilité. Les modèles d'IHMs sont structurés en trois
couches : graphique, composant et fonctionel.
La couche graphique repose sur un graphe de scène 2D, une
collection hiérarchique de noeuds graphiques. Ce modèle est
incarné dans un sous-ensemble du format SVG[2], [9] (pour
Scalable Vector Graphics) un standard du W3C très utilisé par les plate-formes mobiles. Ce format est ensuite étendu
pour que les données graphiques telles que les propriétés géométriques, le contenu en texte, les couleurs ou encore la
visibilité des éléments puissent être désignées comme des signaux dynamiques. L'encapsulation est ensuite assurée par la
couche de composants : seuls les signaux explicitement exposés dans l'interface d'un composant sont visibles en dehors
de sa portée. La hiérarchie des composants est par construction compatible avec la hiérarchie du document graphique.
Ce modèle de composant serait toutefois condamné à exposer directement les données graphiques brutes, une stratégie
qui ne permettrait pas une modélisation de haut-niveau et une réutilisation satisfaisante des composants. Le modèle
complet inclut donc également une couche fonctionnelle sous la forme d'un langage synchrone de type ux de données,
un formalisme classique dans les systèmes embarqués et qui se prête à l'analyse par des méthodes formelles.
Le support logiciel est crucial pour assurer le succès du modèle Edona/hmi. La plate-forme de prototypage du CAOR
inclut un ensemble d'outils de modélisation, un générateur de composants HMIs ainsi qu'une architecture d'exécution
associée basée sur Java. Cette plate-forme est spécialisée dans la simulation, le test de composant et le déploiement
dans des véhicules prototypes, en particulier dédiés aux systèmes de transports intelligents. La gure ci-dessus expose
un example de ces applications à travers une interface dédiée au projet LOVe[6], [8] de détection des vulnérables :
vitesse et angle de lacet du véhicule, risque de collisions, données de la télémétrie sont representées dans une interface
Edona/hmi. Cet exemple fait également la démonstration de contrôles (niveau de zoom, achage de la détection des
piétons) ainsi que de l'intégration de l'interface à un ux vidéo.
Références
[1] AROS : Agile Robust Operating Service. http://aros.intempora.com.
[2] S. Boisgérault, M. O. Abdallah, and J.-M. Temmos. SVG for automotive user interfaces. In SVG Open, Nuremberg, Germany, 2008.
[3] RT Maps a Software Environment for Real-Time Applications Development. PhD thesis, December 2001. Ecole des Mines de Paris.
[4] EDONA : Environnements de développement ouverts aux normes de l'automobile. http://www.edona.fr.
[5] Contributions du CAOR à Edona/hmi . http://code.google.com/p/edona-hmi/.
[6] G. Gate, A. Breheret, and F. Nashashibi. Centralized fusion based algorithm for fast people detection in dense environment. In Proc. of
the IEEE International Conference on Robotics and Automation, Kobe, Japan, May 2009.
[7] Intempora. http://www.intempora.com/.
[8] LOVe : Logiciel d'Observation des Vulnérables, project website. http://love.univ-bpclermont.fr.
[9] Scalable Vector Graphics (SVG) 1.1 specication. W3C recommendation, W3C, January 2003. http://www.w3.org/TR/SVG.