After Beriain, the latest and third release of HRIM, Coliza, implements model composition, continuous integration and automated linting. There's been some significant changes to the models; some models have been updated and extended, and most interfaces providing static information have been passed to services.
What’s in the third version of HRIM, Coliza?
After Beriain, the latest and third release of HRIM is Coliza. There are a series of changes in it, such as the implementation of model composition.
In Coliza, interfaces providing static information across all models were passed to services (e.g. interfaces defining unchanging capabilities, or the components’ 3D model).
Moreover, some models such as actuator/electricmotor, actuator/rotaryservo, composite/arm and all three sensor/3dcameras were updated or extended.
The interface redefinitions for ROS2 (geometry package, header in generic package) have been removed, as it would generate issues when integrating HRIM with software making use of the standard ROS2 interfaces as pointed out by the community. However, we’ll keep the original idea for the future, as other platforms might not contemplate these packages.
Finally, the toolings spare scripts have been converted to a proper python package, and continuous integration and automated code linting have been implemented.
What is HRIM?
Robot technologies have advanced exponentially in the last decade but integrators, robot developers and users keep facing the same big hurdle: incompatibility among different robot components.
Robot manufacturers are using different interfaces, and this hampers communication among robot components. Typically, robot hardware needs to send or receive orders to operate. A servomotor, for example, waits for movement orders. In a similar manner, a camera sends pictures in a specific format either proactively or from external requests. In robotics, the way this interaction is made, the content of it, does still lack a standard.
Manufacturers are in the need of a shared set of principles to follow when designing the interfaces of their hardware devices. HRIM aims to be this common set of rules each device has to meet in order to achieve interoperability among them.