WP6-P4R

From COMP4DRONES
Jump to navigation Jump to search

Model driven engineering: Papyrus For Robotics

ID WP6-CEA
Contributor CEA
Levels Tool, Platform
Require n.a.
Provide n.a.
Input RobMoSys compliant models (component definition, system architecture, high-level behavior)
Output ROS2 code generation, BT XML format
C4D tooling n.a.
TRL 5

Detailed Description

Papyrus for Robotics is an open-source, Eclipse-based modelling tool for robotic system. It is a customization of the Papyrus UML modelling tool. Papyrus for Robotics conforms to the RobMoSys modelling approach. This implies that the tool supports different views for different roles/stakeholders, for instance a service designer, a component developer and a safety as well as system architect. The different roles are grouped in different tiers as shown in Figure 43.

Tier 1 defines the composition structures, tier 2 domain models and tier 3 content produced by eco- system users. Translated to Papyrus for Robotics, the composition structures are the UML meta-model in combination with a Robotics UML profile, the domain models include model libraries that have been defined by domain experts and come in form of pre-packaged model libraries. Tier 3 are concrete component definition, system assembly and high-level behaviour models. The difference stakeholders are shown in the following image.

The pyramid is broken down to different views of the model and the stakeholders, as shown in Figure 44. The tool does not require a process in which the different steps are executed, but there are implicit dependencies. For instance, a component definition requires the existence of service definitions in order to specify the ports, and a system can only be built once the contained components are defined.

Role in V-Cycle

Within the V-Shape picture, Papyrus4Robotics covers the software related aspects of system, sub- system, and component-level aspects: notably, System requirements (with a focus on IT requirements), the analysis and design with mapping information related to requirements, followed then by a detailed design (assembly of components). The generation of a software system facilitates the system integration by enabling a specification of an assembly of component instances along with their configuration. The system verification and acceptation can be done via simulation. It is planned to add existing Papyrus mechanisms related to compositional performance analysis in a future release.

Interoperability with other C4D tools

Papyrus for Robotics is likely interoperable with S3D, as both are based on UML and MARTE (and are customizations of the Papyrus UML editor). Papyrus for Robotics can generate ROS2 code which in turn can run in a Gazebo simulation. The generated ROS2 has a proven interoperability (first tests run successfully) with PX4 via a bridge between ROS2 and PX4 ́s uORB. This enables the use in the context of the SHERPA precision landing simulator. There is also a likely interoperability with Matlab Simulink, which has been integrated in Papyrus in previous projects.


Current Status

Contribution and Improvements

Design and Implementation