This article is a writeup of “An information model for modular robots: the Hardware Robot Information Model (HRIM)” available at https://arxiv.org/abs/1802.01459.
Peer written with Irati Zamalloa Ugarte, Alejandro Hernández, Iñigo Muguruza and Risto Kojcev:
Representation of the connection map of an exemplary robot in a workspace. Components are interconnected through buses and the information flows in a distributed way.
Today’s landscape of robotics is dominated by vertical integration where single vendors develop the final product leading to slow progress, expensive products and customer lock-in. Opposite to this, an horizontal integration would result in a rapid development of cost-effective mass-market products with an additional consumer empowerment. The transition of an industry from vertical integration to horizontal integration is typically catalyzed by de facto industry standards that enable a simplified and seamless integration of products. However, in robotics there is currently no leading candidate for a global plug-and-play standard.
The transition of an industry from vertical integration to horizontal integration is typically catalyzed by de facto industry standards that enable a simplified and seamless integration of products. However, in robotics there is currently no leading candidate for a global plug-and-play standard.
The content below presents our work behind a standard interface for robot modules: the Hardware Robot Information Model (HRIM), a model to create plug-and-play robot hardware components.
Existing and emerging robot technologies have the potential to rapidly disrupt many areas, yet we are still in the early days of the robotics revolution. In 2011, M. Jändel [1] described that one of the main hurdles of the robotics transformation is the lack of integrative standards. According to Jändel, a global standard for plug-and-play robotics would be instrumental for transforming the structure of the industry and dramatically reducing costs, thus facilitating the applications of robotics to all domains of modern society. In summary, a plug-and-play standard that eases interoperability and reusability for robotics would significantly contribute to the development of relevant hardware and software which can quickly be assembled for solving the task at hand.
The importance of reusability and interoperability in robotics was also highlighted by Mayoral et al. [2], where the authors introduce how the integration effort of a robot, composed by diverse sub-components or parts, supersedes many other tasks. In that paper, the Hardware Robot Operating System (H-ROS) was presented. A common infrastructure that reduces the integration effort by creating an environment where components can simply be connected and interoperate seamlessly. This infrastructure becomes particularly relevant when working with modular robots, robots composed by different sub-modules that may or may not come from the same manufacturer.
The current state of the art shows that, in an attempt to create standards and international agreements [3], several ontologies have been produced in the domain of robotics, however these models still have not been accepted neither translated to industry. Robot component manufacturers still lack of a common set of principles to follow when designing the interfaces of their robot hardware devices. As concluded by Zamalloa et al. [4], due to the vertical approach that most robot manufacturers follow and the lack of identified collaborations between them, no single player in robotics has currently the position of establishing a de facto standard by itself. Our work addresses the need in the robotics industry of a common interface that facilitates interoperability among different vendors of robot hardware components.
HRIM is a common interface that facilitates interoperability among different vendors of robot hardware components with the purpose of building robot modules and thereby, modular robots. HRIM focuses on the standardization of the logical interfaces between robot modules, designing a set of rules that each device has to meet in order to achieve interoperability. It tackles the problem of incompatibility between robot components that hinder the reconfigurability and flexibility demanded by the robotics industry. In a nutshell, HRIM presents a model to create plug-and-play robot hardware components.
In a nutshell, HRIM presents a model to create plug-and-play robot hardware components.
HRIM builds upon the component model of the Robot Operating System (ROS), since it stands out as the reference framework for robot application development. The popularity of ROS led to a huge variety of new algorithms and solutions of technical challenges in robotics. ROS is a representative example of the current situation in robotics software. Already in 2009, it was mentioned as the most promising emerging standard in the Roadmap for US Robotics [5], and since then, it has only grown enabling the reuse of the code and creating simulation platforms to support early development and testing of algorithms, without compromising the safety of researchers and hardware.
In order to build any robot, real world implementation requires taking into account the common hardware components used in robotics. The robot modules have been classified in 6 (actually, there’s a seventh, composites that is a work in progress) types of modules which correspond to the task they can perform: sensing, actuation, communication, cognition, user interfaces or power. Each type is composed by sub-types or devices, related to the functionality of the component. For example, a camera is a sub-type of the sensor type. The following image pictures the HRIM component model for each device (or sub-type):
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.
The naming convention as well as the general structure of this “HRIM component model” are explained in the original paper.
We present here an example of the interfaces specified by HRIM for a particular robot module: a rotary servomotor. We have chosen the rotary servomotor since it is one of the most used components in robotics and sufficient to explain most of the HRIM details.
The figure below illustrates the HRIM component model of a rotary servomotor device. The common requirements (shared by all types and sub-types of modules) are represented in pink and are not covered here. Details about messages described below are also omitted for brevity. Refer to the original article for a complete reference on the messages and fields discussed.
specs: through message SpecsRotaryServo.msg, the component model describes all the necessary specifications for the implementation of a rotary servomotor.
goal (device purpose): rotary servomotors belong to the actuator type classification. In this case, it is necessary to define an end goal (position) which can be achieved with different velocity or acceleration.
state: through StateRotaryServo.msg, a rotary servomotor continuously publishes information regarding the motor condition, how is it working, and the reason in case of error.
acceleration: some rotary servomotors have the option to control the acceleration. If that is the case, the manufacturer has to use the GoalAcceleration.msg and expose the acceleration, so that the user can control this feature.
temperature: the temperature sensor is an independent sensor which can be integrated into other devices in order to know the interior temperature of the module.
reconfiguration: through messages like Reconfiguration.msg, a module is able to inform about its particularities, so that it can be automatically integrated in the robot with as little interaction from humans as possible. This reconfiguration functionality is expected to be extended in the future, and likely, additional types of reconfiguration will be included within HRIM.
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.
We are proud to announce version 0.1.0 of HRIM, the Hardware Robot Information Model. This version is available at https://github.com/erlerobot/HRIM/releases/tag/v0.1.0 and includes preliminary component models for the following devices:
In addition:
Although HRIM has originally been designed with the ROS component model in mind, our team envisions its extension to other robotics middleware to facilitate adoption and international agreements. To this end, HRIM has been presented to national experts at the International Standardization Organization (ISO) within the scope of the standardization in the field of robotics, excluding toys and military applications (ISO/TC 299). Particularly, it has been introduced within the ongoing standard ISO/CD 22166–1 which treats modularity for service robots.
In addition, Fraunhofer IPA — the largest research organization for applied research in Europe — is currently looking at HRIM to adopt it and extend it for several projects. Mirko Bordignon, group manager at Fraunhofer IPA said:
After years of experience designing, developing, and deploying software on robotic systems, we fully subscribe to the objectives stated in the HRIM manifesto: working towards true “plug and play” hardware modules through a standardized information model, which merges the inputs and feedback gathered from open-source communities with the stability and platform-independence required by standardization bodies. We look forward to contribute our experience to further advancing HRIM towards this goal!
Similarly, HRIM picked the interest of the ROS-Industrial (ROS-I) Europe consortium during the last ROS-I conference where HRIM was introduced.
HRIM has raised the interest of several groups and consortiums however it was born to answer a market need and that’s where our focus is. HRIM is currently being used by the Hardware Robot Operating System (H-ROS) — a technology to create modular robot parts — while collaborating with a variety of manufacturers including some of the most popular players in the robotics landscape. We are driven by a reality where robots can be built out of interoperable (manufacturer-agnostic) components and HRIM is the tool that empowers this future.
If you are interested in modularity for robots, or happen to manufacture a robot component. Whether it is a sensor, an actuator, a communication interface or any other type of module, come talk to us.
[1] M. Jändel, “Plug-and-play robotics,” in Proceedings of NATO Symposium on Emerged/Emerging “Disruptive” Technologies (IST-099).
[2] V. Mayoral, A. Hernández, R. Kojcev, I. Muguruza, I. Zamalloa, A. Bilbao, and L. Usategi, “The shift in the robotics paradigm; the hardware robot operating system (h-ros); an infrastructure to create interoperable robot components,” in 2017 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), July 2017, pp. 229–236.
[3] T. Haidegger, M. Barreto, P. Gonçalves, M. K. Habib, S. K. V. Ragavan, H. Li, A. Vaccarella, R. Perrone, and E. Prestes, “Applied ontologies and standards for service robots,” Robotics and Autonomous Systems, vol. 61, no. 11, pp. 1215–1223, 2013, ubiquitous Robotics. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S092188901300105X
[4] I. Zamalloa, R. Kojcev, A. Hernández, I. Muguruza, L. Usategui, A. Bilbao, and V. Mayoral, “Dissecting robotics-historical overview and future perspectives,” arXiv preprint arXiv:1704.08617, 2017.
[5] J. M. Hollerbach, M. T. Mason, and H. I. Christensen, “A roadmap for us robotics–from internet to robotics,” Workshop on emerging technologies and trends, 2009.
[6] Object Management Group (OMG), “Hardware Abstraction Layer For Robotic Technology (HAL4RT) Specification, Version 1.0,” OMG Document Number formal/2016–01–01 (http://www.omg.org/spec/HAL4RT/), 2016.