ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

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

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?