Dear ROS community,
Our team at Acutronic Robotics is very excited to introduce the second release (0.2.0) of HRIM: Beriain. HRIM is an information model for robot modules that focuses on hardware at the component level and aims to enable modularity and interoperability via “standardizing” data I/O amongst said components.
HRIM in itself can be separated in two concepts:
Definition: On one hand, we focus on developing communication models that encompass the components currently being used in the industry, categorized by their function. We need consistent yet flexible-enough models that can adapt to the individualities of different manufacturers and specific products while maintaining a homogeneous structure. You can read further on our approach for this here, and the definition and description of our models here. Basically, and as a TL;DR, we define certain common communications we deem necessary across all components (like identification, communication status…), purpose-specific capabilities all components of that subtype should have (like all cameras publishing images), and additional capabilities that each module may or may not have (like a motor providing a temperature reading).
Composition: On the other, we get into the composition of said models through what we refer to as the meta-model. This is a way to take the existing model definitions as the building blocks for a specific module, with specific capabilities. The meta-model aims to facilitate part of the robot development process by providing a simple interface to generate custom packages based on the capabilities of your component.
Beriain contains all the module models we’ve developed so far in a platform independent representation through XML, and the tooling to “compile” these representations into ROS 2.0’s communication artifacts. That is the main difference from the previous release, Anboto.
The meta-model has not been added to the main branch yet, as we are still considering many approaches on how to implement it. One of these approaches is available at our meta-clean branch for anyone that wants to put their hands on it.
Contributions and suggestions are very welcomed. We strongly believe our best bet to realise the potential of HRIM lies in receiving input from multiple types of profile and field, this is one of the main reasons why we decided on an open-source development. We don’t aim to become another “standard”, but to truly impact how roboticists develop new solutions and help them in the often tedious and time-consuming integration effort, plus some extras. And we know we can’t do it alone. Anyone interested is more than welcome to initiate a discussion at our issues.
Thanks a lot to ROS Industrial for believing in this project’s value and providing funding for its development.