General structure

The HRIM information model consists of different HRIM component models that follows the same structure, each representing a different device sub-type used in modular robots. These component models are built with the ROS communication abstractions: topics, services, parameters and actions. All of them are labeled as mandatory or optional, in order to inform the device manufacturer if the information must be included or not. The optional aspects are related to the characteristics of each particular device. In this section, the two aspects are explained in detail to understand the difference and the correct use of both of them.

As an information model for modular robots, HRIM has been built with modularity in mind. Each block has a unique and well identified purpose, making HRIM reusable among many hardware components purposed for robotics.

The following figure represents the general structure in which all the HRIM component models are based on. Each component has topics, services, parameters and actions to communicate. For each one of these abstractions, the figure illustrates that some will be mandatory and some others optional.

GeneralStructure

The content that all the modules must include, in order to enable interoperability between different components. As you can see in the figure, the mandatory part is divided in two: the device purpose and the common requeriments.

HRIM detects the essence of the device and captures this information in the device purpose abstractions. These elements define the basic information that allows the user to work with the component. It is a customized information for each sub-type of module that globalizes to all of its kind, making them interoperate, even when coming from different manufacturers. The device purpose of the module is what makes it different from other sub-types, so it has to be composed by at least a topic, a service, an action, or a mix between them, complemented by parameters.

HRIM capture various information to improve the user experience and ensure a correct operation of the whole robotic system. As pictured before, four of them use generic messages such as: ID.msg which publishes the general identity of the component, Power.msg that publishes the power consumption, Status.msg which inform about the resources that are consumed, SpecsCommunication.msg and StateCommunication.msg that are created to inform about communication aspects, and Simulation3D.msg and SimulationURDF.msg, that sends the device 3D model and related information. Specs.msg is a custom message which reports the main features of the device.

In order to understand into detail go to HRIM component model section.

Additional capabilities which will be included depending on the particular characteristics of each device. The manufacturer of each component will be in charge of including the optional information or not and the user will be aware of the topical options available by listing them using the command: rostopic list, rosservice list, rosaction list and rosparam list. Also all the components will have their corresponding datasheet where the user will be able to see all the characteristics of the device,

As showed in the Figure, there are two groups, additional capabilities and optional hardware, defined in order to simplify the whole HRIM, while respecting the modularity mentioned at the beginning of this section.

HRIM capture complementary aspects to the component device purpose. Usually these are topics, services, actions or parameters customized for each component sub-type. For example, a camera able to control the brightness of the image needs a parameter to adjust such, therefore it is categorized as optional due to the fact that not all cameras contain such capability.

Many devices include additional sub-devices enhancing their own capabilities. Optional hardware capture these aspects. For example, a camera device could include a microphone. In that case, the content of the HRIM michophone component model would be added as optional hardware within the HRIM camera component model.

In order to understand into detail go to HRIM component model section.