Papyrus for Robotics - an MDE tool supporting ROS2

Dear all,

we are pleased to announce the availability of Papyrus for Robotics, a customization of the Model-Based Engineering tool Papyrus for the robotics domain. It is compliant with the RobMoSys approach. The tool supports code generation and roundtrip for ROS2. This functionality has been developed in the ROSin FTP ROS-MDD.

see eclipse.org/papyrus/components/robotics

Videos explaining some aspects of the tool are available here: Papyrus for Robotics playlist

Best

Ansgar & Matteo

6 Likes

Thanks for posting here.

Does this require any special configuration, or is it supported out-of-the-box?

(note: I haven’t read any documentation yet, so it could be this is explained somewhere which I haven’t seen yet)

Hi,

the tool currently works with ROS2 eloquent, no additional software is required for reverse engineering and code generation.

For documentation, see
https://wiki.eclipse.org/Papyrus/customizations/robotics
and more specifically

https://wiki.eclipse.org/Papyrus/customizations/robotics/ros2

Reverse engineering is partly based on the ros2 command line tool, partly based on source code analysis from C++ (while we had a look at HAROS, we opted for using “built-in” Eclipse mechanisms, such as getting an abstract syntax tree via Eclipse CDT).

Code generation supports C++, there is initial support for behavior tree execution.

1 Like

This was really a missing puzzle piece in the ROS ecosystem. Great work.
I will try it our when I’m back at work.

Are there any simple tutorials or examples?
I would like to see how to make a simple behaviour tree.

Right now I am having some issues with making a simple usable tree.
In general I like the idea of using graphical tools, but usability seems to be an issue with many eclipse based tools.

I think this could be a really useful tool. The idea of a HARA analysis built right in is great for safety critical systems. It’s the use case that I see has the most benefit to my company.

2 Likes

Hi,

did you have a look at the “grasp-ungrasp” model in the CEA pilot? This is available via File->New->Examples->Robotics examples. Then choose CEAPilotBehaviorTree

Please note that it is possible to generate an XML file from the tree, compatible with the Groot behavior tree engine.
We are working on providing better user manuals and consolidated tools to be updated frequently and released end of June

Best

Ansgar

1 Like

I have not looked at that.
By the end of June could you have a simple example tutorial, explaining how to make a behaviour with code generation to ROS2?

Papyrus for Robotics v0.8 is out!

Dear all,

we are happy to announce a new release of Papyrus for Robotics, version 0.8.

This release includes:

  • better user guidance for the supported modeling views through a dashboard [1]
  • tables for the specification of formal properties, assertions and contracts on components and system assemblies [1]
  • integrated modeling and code-generation support for skill realizations and behavior tree execution
  • several bug fixes and usability improvements
    [1] Contributed in collaboration with the SafeCC4Robots Integrated Technical Project in the context of the RobMoSys Project.

With this release we provide a ready-to-use environment to develop ROS2 applications using Papyrus for Robotics. It comes with everything needed pre-installed, including the executable software stack to reproduce the simulated pick-and-place task performed by the collaborative robot arm Isybot.

The complete tool documentation – including a list of answers to frequently asked questions and the procedure for reporting new bugs or requests – can be found in our Wiki documentation. We are reviewing and extending it, new tutorials and examples will possibly be added during the next few weeks.

On behalf of the Papyrus for Robotics team, best regards,

Matteo and Ansgar

4 Likes