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

New package to bridge ROS2 with Mass AMR Interoperability Standard

Hello,

We recently published massrobotics_amr_sender package. This is a configuration-based ROS2 package for sending MassRobotics AMR Interop Standard messages to compliant receivers. So now, any ROS2 robot developer can implement this standard without having to write too much code. In particular the Mass standard provides observability, including localization and other status data.

The package works by mapping ROS topics, environment variables and constants to different message fields as defined by the standard and then sends messages to the server using websockets. The mapping is configurable through a YAML file.

This is all part of our efforts at InOrbit to ease the often complex orchestration of heterogeneous fleets that mix ROS and non-ROS robots in the field. Our team started by researching existing interoperability standards to understand how to help make ROS based robots meet compliance and interact effectively with other robots and applications.

This package has also been presented in a MassRobotics Webinar, which is available to view on YouTube. Please watch if you’d like to learn more about the MassRobotics initiative

The InOrbit team hopes to continue exploring other standards, like VDA 5050 and OPC-UA, as our work continues so we appreciate any feedback you may have about the package and the interop & standards topic.

Thanks !

7 Likes

FYI: The first link you posted goes to an empty ROS index listing.

1 Like

Hey, thanks a lot Katherine !

Hello,

We are working on MassRobotics AMR Interop Standard, too. As part of that, we have created a bridge for ROS1.

If you are a ROS1 user, we hope you will take a look at it as well.

1 Like

Great work @kokosabu , I see that in your package you’d decoupled translating from ROS to Mass types from actually publishing to the web socket endpoint, that’s an interesting approach. We didn’t do that to try to have a single node that’s easier to setup, although your approach may enable more flexibility.

Have you tried it on an actual robot or simulation ? We at InOrbit have also implemented the receiver part in our Platform, so data from Mass compatible robots can be seen in a nice UI (including live & historical data), used to trigger incidents depending on rules and notify via Slack and other means. Data can also be queried via APIs. Let me know if you are interested in giving it a try (for free) to see how the pieces can work together thanks to the standard.

Regards

1 Like

@MikeGarcia Thank you.

I just tried it with the MassRobotics-AMR-Receiver that comes with AMR_Interop_Standard. ( Probably a project you have contributed to. )

Haven’t tried it with an actual robot yet. This is because there are some parts that are not covered by the required properties during implementation.

Despite this situation, I’m interested in trying it with InOrbit. I’ll talk to my team members about it, maybe they’ll be interested as well.