LE studio : programmer graphiquement
Le Studio est l’interface graphique permettant l’utilisation de la technologie RTMaps, la construction et le paramétrage des applications représentées par des diagrammes. Efficace et simple à maîtriser, le Studio est un des nombreux points forts du logiciel : quelques minutes suffisent à mettre en place une application complexe. Composants, bibliothèques, diagrammes, bases de données et scénarii peuvent être partagés et intégrés rapidement.
Composants et connexions
Les composants, symbolisés par des boîtes bleues, sont mis en place par un simple glissé déposé sur la scène. Ils interfacent les capteurs, représentent les algorithmes et connectent les actionneurs. La souris permet de tirer des « fils » connectant la sortie d’un composant à l’entrée d’un autre. Les flux de données sont alors établis.
Paramétrage
Un ensemble de paramètres est accessible par des boîtes de dialogue. Le choix des paramètres détermine le comportement du composant.
Documentation
Un simple clic suffit à insérer un commentaire dans un diagramme ou à accéder à l'aide en ligne.
Evolutivité
Lorsque l’utilisateur souhaite remplacer ou rajouter un composant dans un diagramme, les changements se font, graphiquement, sans saisie de lignes codes.
Enregistrement et relecture
L’enregistrement est déclenché par une simple pression sur le bouton «record». Le VCR permet la relecture des bases de données à la vitesse souhaitée. Un curseur permet d’accéder rapidement à toute séquence.
Une technologie enfouie
L’interface de programmation graphique peut être supprimée, pour une utilisation « enfouie » du logiciel. Les commandes de construction et de paramétrage de diagramme sont alors passées sous forme de scripts. De même, des interfaces graphiques spécifiques peuvent être développées pour l’exécution d’applications particulières. Elles remplacent alors l’espace de travail usuel.
Multithread
A tout programme est associé un processus (doté d'un espace de mémoire virtuelle), et tout processus comprend au moins un thread. C'est ce thread que suit le CPU lors de l'exécution d'un programme. Sur des architectures multithread, multicœurs ou multiprocesseurs, chaque CPU peut exécuter un thread différent. Un programme "multi-thread" permet donc de faire travailler simultanément plusieurs processeurs. RTMaps propose une gestion simple des threads au travers de boites de dialogues paramétrables.
Fonctionnement distribué synchronisé
RTMaps V3 franchit une barrière technologique en autorisant le fonctionnement distribué et synchronisé de la plateforme sur plusieurs machines. Un système « maître » peut gérer l’ensemble d’une application. Une horloge unique supervise et synchronise celles des différents « esclaves ». L’horloge « maître » peut être celle de l’hôte « maître » ou provenir d’une source extérieure au choix : horloge d’une carte d’acquisition, horloge GPS…
La technologie RTMaps permet de faire abstraction du système d’exploitation utilisé, y compris dans une configuration distribuée.
Grâce à cette nouvelle souplesse, RTMaps peut répondre aux besoins de traitement des applications les plus exigeantes.
La bibliothèque : des composants prêts à l’emploi

Les bibliothèques RTMaps sont des listes de composants accessibles directement. Ces composants proposent les fonctions élémentaires nécessaires à la plupart des applications abordées :
- Acquisition de données
- Décodage de protocoles standards
- Utilisation de tout type d'algorithmes de traitement
- Affichage en temps réel
- Enregistrement et relecture de données
- Exportation vers des formats standards
- Interfaçage avec des logiciels tiers
- Communication
Le logiciel prend en compte la majorité des capteurs disponibles sur le marché. Intempora fournit de très nombreux modules autorisant l'interfaçage de capteurs de natures et de performances très diverses. Il suffit qu'un appareil soit connectable à un système informatique pour permettre son intégration dans une application RTMaps.
Exemples de capteurs supportés
Acquisition de données de : Webcams, caméscopes DV, caméras numériques FireWire DCAM, caméras analogiques et numériques, têtes de stéréovision, GPS, centrales inertielles, radars, télémètres laser, bus CAN, acquisition analogique et numérique, micros…
Exemples d’actionneurs supportés
Envoi de données vers : Commande analogique et numérique, moteurs électriques, moteurs pas à pas, système de freinage ou autres systèmes d’automobile, barrières, sirènes, lumières, panneaux à messages variables…
Les bibliothèques sont régulièrement enrichies de nouveaux composants.
L’extension SDK : franchir les limites
Le « Software Development Kit » permet de créer ses propres composants. La programmation se fait en C++ ; elle est facilitée par la présence de squelettes de codes et de macros. De plus, une API (Application Programming Interface) complète permet d'accéder aux fonctions du moteur et de faire abstraction du système d'exploitation (système de fichiers ou programmation temps réel par exemple).
Chaque composant fonctionne par défaut dans son propre thread. Le programmeur est libéré des problématiques de protection des données et d’accès concurrents inhérents aux applications multithreads. De nombreuses politiques d’échanges de données entre composants sont intégrées (buffers circulaires bloquants, non bloquants, ré-échantillonnage, etc…), offrant ainsi le choix du comportement adapté à chaque application (enregistrement, traitement temps réel, conversion de données, contrôle-commande, ou autre). L’utilisateur peut, par exemple, inclure le paramétrage de variables ou rendre dynamique le nombre d’entrées/sorties proposées par le composant graphique.
Le SDK comprend une documentation complète de l’API ainsi que des exemples ou squelettes de code C++ pour le développement de composants spécifiques. Enfin, des assistants intégrés aux environnements de développement (tels que Visual Studio de Microsoft) permettent la génération simple des projets de compilation.
Le Moteur : Fonctions génériques
Gestion du temps
L'acquisition se fait en temps réel. La relecture, en revanche, peut adapter automatiquement la base de temps aux performances de la machine disponible. Enfin, en relecture, l'opérateur controle facilement le défilement du temps.
Gestion des flux de données
Tous les types de données numériques peuvent être manipulées par RTMaps, la vidéo par exemple. Ces données sont datées avec précision à l'instant où elles entrent dans le système. Elles peuvent ainsi être enregistrées dans une base de données avec leur date exacte d'arrivée. En relecture, elles reproduisent exactement la séquence acquise.
Génération d'indicateurs de performance
Le système publie en permanence une série d'indicateurs de performance des différents modules. Ils permettent d'optimiser et de valider une application. |
Fonctions d'acquisition sophistiquées
L'acquisition peut être démarrée ou arrêtée à volonté ou événements prédéfinis (appui sur une touche, franchissement d'un seuil par une donnée). Il est aussi possible de spécifier une durée d'enregistrement autour d'un événement. En mode boîte noire, l'enregistrement ne conserve que les N dernières minutes. Enfin, le système est capable de s'arrêter automatiquement en cas de saturation des disques.
Gestion de bases de données
Le format des bases de données RTMaps est ouvert et documenté (voir le pdf). Il est adapté aux contraintes de performance. et permet de répartir les flux sur plusieurs disques, en fonction de contraintes de débit et/ou de volume. Un certain nombre de flux spécifiques peuvent faire l'objet d'un enregistrement sous forme de fichier Matlab pour les scalaires, avec compression logicielle pour la vidéo... |
La technologie
La technologie RTMaps est une plate-forme numérique, spécialement orientée vers la maîtrise du temps (datation et synchronisation des données) et la gestion des flux de données. Les différents produits reposent sur un même moteur qui assure la coordination des données.
L’Atelier Logiciel RTMAPS est aussi un logiciel intégrateur capable de s’interfacer avec d’autres logiciels. C’est ainsi que RTMaps communique avec des logiciels tels que Matlab/Simulink, Excel, Navtech ADAS-RP, Scilab…
Pour en savoir plus ou tester la version 3, n'hésitez pas à nous contacter
ou à télécharger la version démo (valable 1 mois).
|