This article was originally published in Medium prior to the session “System integration and modularity in robotics using ROS” organized by the Society of Instrument and Control Engineers (SICE), as part of IROS 2018, held on the 3rd of October.

In robotics, system integration supersedes many other tasks. It takes much time and effort to integrate robot components together. Moreover, the existing trend in robotics is producing a significant number of hardware devices. These robot parts, built by different manufacturers, are incompatible with each other, increasing the complexity of the system integration process.

Often, these parts typically consist of incompatible electronic components with different software interfaces, further enhancing the integration effort. The content presented here argues that through modularity, the integration process is simplified.

As discussed at [1], a common infrastructure for robot modules reduces the integration effort by facilitating an environment where devices can simply be connected and interoperate. And because each component is optimized for such integration at its conception, the infrastructure handles the integration effort. The result is both a high quality and superior performance over that of the integrated compound mix of single vendor solutions. In other words,

the strength of an infrastructure is that it can integrate the best-of-breed components for the highest quality and performance.

At [2], our team discussed different approaches for building robots and pictured the development or integration effort and time for different strategies:

Depicts three different strategies for building robots: a) the traditional approach, b) a modular approach where interoperable modules can be used seamlessly to extend the robot and c) the Modular And Self-Adaptable (MASA) approach where modules, besides interoperating, are detected and configured automatically in the robot for its use

Comparing approaches a) and b), one can tell that the integration effort is reduced significantly through modularity.

It’s not only us that advocate for modularity; several other think similarly. A recent article [3]claims that the Open Process Automation (OPA) Forum wants a “modular, interoperable and scalable solution for the process control systems and distributed control systems”. It wants vendor-neutral solutions.

Modularity, which provides flexibility for modern robots is the path to shape the future of robotics however, the resulting distributed hardware and software architectures bring several technical challenges. Below, I discuss some of them:

Challenges in robot modularity

Link layer latencies can be critical for real-time communications. Specially in a distributed environment where robot modules publish or subscribe information, the channel’s saturation is constantly changing depending of the modules’ activity. Network overloads may lead to undesirable latencies and even to failures of real-time compliance with priority traffic. At [4], we discuss the use of Time-Sensitive Networking (TSN) standards for robotics and conclude that TSN will become the de facto standard for real-time communications in robotics.

In particular, we discuss some of the TSN features relevant for deterministic communications and evaluate experimentally one of the shaping mechanisms –the time-aware shaper– in an exemplary robotic scenario. Based on our results, we claim that many of the existing real-time industrial solutions will slowly be replaced by TSN.

Ultimately, this will lead towards a unified landscape of physically interoperable robot and robot components at the link layer facilitating modularity.

Evaluation of the Linux kernel and the Linux Networking Stack (LNS)

Beyond the link layer, real-time communications get critically affected by the Operating System (OS) and the corresponding network stack. In robotics, it’s common to use Linux. At [5], our group researched the Linux kernel and its networking stack for for real-time robotic applications. We evaluated the real-time performance of UDP based communications in Linux on multicore embedded devices as test platforms and prove that, under an appropriate configuration, the Linux kernel greatly enhances the determinism of communications using the UDP protocol. Furthermore, we demonstrate that concurrent traffic disrupts the bounded latencies and propose a solution by separating the real-time application and the corresponding interrupt in a CPU.

Evaluation of the Linux kernel and the Linux Networking Stack (LNS)

Beyond the link layer, real-time communications get critically affected by the Operating System (OS) and the corresponding network stack. In robotics, it’s common to use Linux. At [5], our group researched the Linux kernel and its networking stack for for real-time robotic applications. We evaluated the real-time performance of UDP based communications in Linux on multicore embedded devices as test platforms and prove that, under an appropriate configuration, the Linux kernel greatly enhances the determinism of communications using the UDP protocol. Furthermore, we demonstrate that concurrent traffic disrupts the bounded latencies and propose a solution by separating the real-time application and the corresponding interrupt in a CPU.

An assessment of the DDS communications middleware

Most roboticists nowadays are using the Robot Operating System (ROS) for robot application development. However, ROS was originally not designed for complying with real-time requirements. ROS 2.0 presents mean to do so. Our team researched such capabilities at [6] through an experimental setup to show the suitability of ROS 2.0 for real-time robotic applications. We disclose an evaluation of ROS 2.0 communications in a robotic inter-component (hardware) communication case on top of Linux. We benchmark and study the worst case latencies and missed deadlines to characterize ROS 2.0 communications for real-time applications. In particular, we demonstrate experimentally how computation and network congestion impacts the communication latencies and ultimately, propose a setup that, under certain conditions, mitigates these delays and obtains bounded traffic. This way, modular robot devices can benefit from the ROS ecosystem which leads to a dual software and hardware distributed robotics environment.

Time synchronization.

At [7] we claim that a new generation of robot systems which are modular, flexible and safe for human-robot interaction are needed. Existing cobots seem to meet only the later and require a modular approach to improve their reconfigurability and interoperability. Some vendors claim flexibility but follow a similar approach than that of traditional robots enforcing vendor lock-in through a variety of techniques. A good example is Universal Robots, a collaborative robot vendor that groups together some manufacturers around a closed infrastructure. There’s no real attempt to ease the integration process with peripherals in a vendor-agnostic manner, nor to simplify the integration process.

Some vendors claim flexibility but follow a similar approach than that of traditional robots enforcing vendor lock-in through a variety of techniques. A good example is Universal Robots

A clear technical argument against this trend of closed collaborative robots(cobots) is the lack of synchronization across robot components. Most of these, including Universal Robots’ devices, lack of the technical means to perform real tasks by themselves and thereby require the support of additional end-effectors or sensors. Synchronizing properly these “additional” systems is indeed a challenge as discussed at [7]. The so-called flexibility that many of these cobots advertise is in fact, yet, another marketing strategy to maintain the lock-in robocists have suffered for the last decades.

The so-called flexibility that many of these cobots advertise is in fact, yet, another marketing strategy to maintain the lock-in roboticists have suffered for the last decades.

We propose a new sub-class of cobots named M-cobots, modular collaborative cobots, which tackle these problems in a completely distributed manner. We discuss the relevance of synchronization for these systems, analyze it and demonstrate how with a properly configured M-cobot, we are able to obtain a) distributed sub-microsecond clock synchronization accuracy among modules, b) timestamping accuracy of ROS 2.0 messages under 100 microseconds and c) millisecond-level end-to-end communication latencies, even when disturbed with networking overloads of up to 90% of the network capacity.

The H-ROS SoM, empowering robot modularity

After two years of research in robot modularity supported by the US DARPA, the Swiss ACUTRONIC and the Japanese SONY, we’re proud to announce our first robot modularity solution: the H-ROS SoM. A tiny hardware component that makes modularity possible in a vendor-agnostic manner, without restrictions. Any robot-component from any manufacturer can be “modularized” with the H-ROS SoM.

H-ROS SoM, a component to implement robot modularity.

Together with the launch of the SoM, we’re happy to announce that through a partnership with HAN’S ROBOT Co., a leading Chinese robotics company coming out from the HAN’S LASER group, we’re introducing MARA, the first modular cobot with ROS 2.0 running natively on each actuator and sensor.

MARA is a truly modular plug-and-play collaborative robot arm which can be physically extended in a seamless manner and thus, adapts to any specific application. It offers industrial-grade features and empowers new possibilities in the professional landscape of robotics. Particularly, it has been created to solve new and challenging automation demands that require dexterity and flexibility.

MARA, the first M-cobot.

The rise of this new generation of robots, the M-cobots, simplifies the system integration effort. It brings automation to the next step empowering the unification of robotics and ultimately, allowing the robotics field to grow as fast as we all expect.

References

[1] Mayoral, V., Hernández, A., Kojcev, R., Muguruza, I., Zamalloa, I., Bilbao, A., & Usategi, L. (2017, July). The shift in the robotics paradigm — The Hardware Robot Operating System (H-ROS); an infrastructure to create interoperable robot components. In Adaptive Hardware and Systems (AHS), 2017 NASA/ESA Conference on (pp. 229–236). IEEE.

[2] Mayoral, V., Kojcev, R., Etxezarreta, N., Hernández, A., & Zamalloa, I. (2018). Towards self-adaptable robots: from programming to training machines. arXiv preprint arXiv:1802.04082.

[3] https://www.controldesign.com/articles/2018/how-open-systems-are-shaping-the-future/

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. https://arxiv.org/pdf/1804.07643.pdf

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821. https://arxiv.org/pdf/1808.10821.pdf

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595. https://arxiv.org/pdf/1809.02595.pdf

[7] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018). Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.