PROTEUS project will combined several tools in order to provide a complete uniform toolchain for robotic development from modelling to software simulation and deployment on real robotic systems. Most of them are open-source software.

Meta-modeling & Code generation

  • Papyrus - Papyrus is aiming at providing an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE. Papyrus provides diagram editors for EMF-based modeling languages amongst them UML 2 and SysML and the glue required for integrating these editors (GMF-based or not) with other MBD and MDSD tools.
  • TOM - Tom is a language extension designed to manipulate tree structures and XML documents. TOM provides pattern matching facilities to inspect objects and retrieve values.      
  • ALF - The Action Language for Foundational UML is a textual surface representation for UML modeling elements. The execution semantics for Alf are given by mapping the Alf concrete syntax to the abstract syntax of the standard Foundational Subset for Executable UML Models (known as “Foundational UML” or “fUML”). The result of executing an Alf input text is thus given by the semantics of the fUML model to which it is mapped, as defined in the fUML specification. Papyrus is providing a support for ALF providing its user a rich textual based editor for authoring algorithm within its models.

Robotics Middlewares

  • ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is used in the PROTEUS as a main tools to package software and to transport messages between different robotic middlewares.
  • OROCOS tolchain is a tool to create real-time robotics applications. It contains:
    • the Real-Time Toolkit, a component framework that allows to write real-time components in C++,
    • the Orocos Component Library, the necessary components to start an application and interact with it at run-time,
    • Orogen and TypeGen, tools to generate ready-to-compile-and-run code from existing headers or component description files.      
  • URBI (GOSTAI) - Urbi est une plate-forme logicielle pour le développement d'applications dans les domaines de la robotique et des systèmes complexes. Urbi intègre une architecture distribuée de composants en C++ appelée UObject, ainsi qu'un langage de script parallèle et événementiel appelé urbiscript. UObject facilite l'intégration d'objets C++/Java dans le langage, et permet leur exécution locale ou distante, tandis qu'urbiscript agit comme un outil d'orchestration pour coordonner les différents composants et leurs interactions. Fonctionnant au dessus des systèmes d'exploitation traditionnels, Urbi est portable sur un grand nombre de robots et d'ordinateurs.  Il est également compatible avec ROS.
  • AROCCAM (EFFIDENCE) - This project, originated in 2004 by CNRS-LASMEA and CEMAGREF, is a software solution named AROCCAM aimed at simplifying design of embedded and real-time robotic applications. It provides acquisition, recording, processing, post-processing and real-time control of multiple sensors and actuators. This middleware was designed for R&D robotic teams. It is based on a well-known programming language widely used by robotics engineers (C/C++), and is able to interact with other scientific software (post-processing data in Matlab for instance). It has built-in tools for multi-sensor data fusion: a framework to easily manage desynchronized and delayed sensor data is available. The Aroccam running framework has already been used in several algorithms like localization algorithms, automatic vehicle driving, convoying a platoon of automatic urban vehicles, pedestrians detection, quad bike stability monitoring, ...
  • RTMAPS (INTEMPORA) - RTMaps (Real-Time Multisensor Advanced Prototyping Software) is a rapid and modular development environment for real-time multisensory applications. Based on an asynchronous execution engine, and providing accurate data timestamping capabilities, it allows to handle heterogeneous sensors and actuators of any types (cameras, GPS, CANbus, IMUs, lidars, radars, DAQ, IP communication, serial, etc.) and to integrate data processing and data fusion algorithms which can take advantage of the timestamping information on the data samples in order to re-synchronize data flows at any point, to measure samples latencies, etc ... With capabilities for datalogging and real-time playback of sensors data, RTMaps is a powerful development tool for both live execution in embedded systems and desktop work in playback mode for prototyping, validation and benchmarking of sensors and algorithms. RTMaps is widely used in several domains such as automotive (driving assistance systems development – ADAS), mobile robotics, behavioural and performance analysis (datalogging and real-time playback of many sensors data including videos).

Simulation engines

  • The Cycab ToolKit is an Open Source project, developed by INRIA Grenoble, that provides drivers for autonomous mobile robots (Cycab like), some sensors drivers (sensors as Sick laser, GPS, motion tracker, mono or stereo cameras), and a 3D Simulator based on the mgEngine 3D engine and the Bullet Physics library for realistic physics simulation. The Cycab ToolKit aims to provide Cycab users a framework for developing and testing applications which should work on any Cycab. It is currently developed under Linux, but can be ported to Windows and OSX. It is developed in C/C++.
  • MORSE - MORSE stands for Multi Open Robots Simulator Engine. It is a simulation engine associated to domain models. It focuses on versatility and open source for robotic applications. Its development is linked to work underway in LAAS and ONERA. It is used in order to simulate aero-terrestrial scenario in the scope of the PEA Action french DGA project.
  • DEVS / VLE - DEVS (Discrete Event System Simulation) is a modeling and simulation theory. It is developed since the last 20 to 30 years by Bernard Zeigler, Tag Gon Kil and Herbert Praehofer (see the book "Theory of modeling and simulation: integrating discrete event and continuous event complex continuous system"). VLE (Virtual Laboratory Environment) is an implementation of the simulator for discrete event models but proposing wrappers to host continuous models. It has been developed by INRA (Institut National de la Recherche Agronomique) for its proper models' integration needs. As it is a totally component oriented simulator, the project envisages to use it during the modelling phase of the robotic problems.