THE LONG ROAD TOWARDS ROS2

Playing the long game in the open-source framework/middleware league

Originally published as FIMA blog post 28.11.2022 (fima.fi)

Introducing a full-blooded Field & Service robot is not for the faint-hearted. The machine consists of a big bunch of SW and HW modules. A vast array of different sensor modalities provides, often incomplete, information not only from the machine’s internal issues but even more importantly from external circumstances and events. Likewise, different types of actuators provide the required actions, be those platform mobility or work system (e.g., boom) manipulation related, based on task planner’s objectives and low-level control rules. Everything is based on bits and bytes (data and commands) flowing from one source to another in a controlled, safe, and coherent manner. Not an easy task even in some simple use cases. Additionally, one has to secure man-machine, machine-infra and sometimes even machine-machine interactions and ways to handle those also in locations where the communication media is far from being well-suited for fast and reliable connections.

Picture 1: In Platform Economy for Autonomous Mobile Machines Software Development (PEAMS) project GIM Robotics has been helping our old friends at Avant Tecno to turn their full-electric multi-functional loader into an autonomous Field & Service robot. Versatile Avant machines were part of the former Academy of Finland Centre of Excellence in Generic Intelligent Machines (CoE-GIM) robot fleet back in 2008-2013.

The GIMNET story

GIM Robotics knows the above all too well for doing just that since the dawn of autonomous mobile robotics in Finland. Based on Professor Aarne Halme’s pioneering work at Helsinki University of Technology’s Automation Technology Laboratory since 1985, GIM Robotics has its roots deep in the mobile robotics worldwide evolution. Group’s early decades were filled with all sorts of machines, including 6-, 4- and 2-legged walking machines, ball-shaped robots, multi-robot systems, underwater robotics, self-driving cars, All-Terrain-Vehicles and some robotized versions of modern working machines.

When the new millennium started, it had become painfully evident that we were getting close to our limits in creating full software stacks for different types of machines. Although we were naturally re-using components as much as possible, every machine and every project required a substantial amount of coding and fine-tuning operations. Jari Saarinen (later GIM Robotics’ first CEO), together with a few other equally brilliant guys like Antti Maula, began to create something which could be used to help in our diverse research projects. The first paper (Saarinen et al., 2007) presented a software infrastructure designed for the distributed control of generic intelligent machines. The developed framework was named as GIMnet to honor our Institute for Generic Intelligent Machine jointly established already in 2005 together with our colleagues from Tampere University of Technology’s Institute of Hydraulics and Automation (IHA) led by Professor Matti Vilenius.

Picture 2: A family portrait featuring some members of Academy of Finland’s Centre of Excellence of Generic Intelligent Machines (CoE-GIM) back in 2008. In front, the two leaders of that joint unit, Professor Matti Vilenius (on left) and Professor Aarne Halme (on right).

Centre of excellence period

That Institute later got the Academy of Finland’s Centre of Excellence status (CoE-GIM) for the period of 2008-2013. The original GIMnet development work was mostly done in the INTEGRATOR project. It was funded by TEKES (later Business Finland) and partly by FIMA. The main objective of the project was to provide a mutual testbed for the two above-mentioned laboratories situated some 200 km apart. The outcome served CoE-GIM throughout its lifespan. Any interested party can find further information about GIMnet from the net including for example the introduction of GIMnet 2.0 (Maula et al., 2012). 

Picture 3: Combination picture of the early phase CoE-GIM demonstrator(left) and GIMnet principles (right).

ROS arrives

During the last few years at the university, it had become evident that out of all GIMnet-like middleware (the term used here very loosely) implementations, Robot Operating Systems (ROS) by Willow Garage (based on Stanford’s duo Keenan Wyrobek and Eric Berger, funded by Scott Hassan) had become a clear winner. It was greatly benefiting from a huge community of robotics researchers and fans. The benefits – mostly due to the whole ecosystem with a mind–blowing selection of tools, algorithms, software and more – were just so overwhelming when compared to our in–house solution and to other alternatives. 

Picture 4: rviz, the great 3D visualization tool for ROS. It allows for example the user to view the simulated robot model, log sensor information from the robot’s sensors, and replay the logged sensor information. Here it is used for LiDAR produced point-cloud visualization.

Challenges with ROS

GIM Robotics was founded in 2014. When the company dug deeper into the heart and soul of ROS, we clearly saw the benefits of the solution, but also became aware of some of its problems, or should I say inherent features. Being developed mainly for R&D testing and piloting operations, with a strong bias towards university projects, real industrial environment ROS powered projects with large, sometimes fast, machines operating, sometimes even in shared, environments were in trouble when rules, regulations, standards, and laws were applied to them. Single point of failure structure (in the form of the roscore running basically the show), the hard real-time system no-goes, and its lack of platform interoperability and the problems with security issues and with embedded solutions where the main drivers slowing its transformation from the academic institutions and start-ups into Fortune 500 companies needed for the real worldwide revolution. Something needed to be done.  And that something was ROS2 by Open Source Robotics Foundation (later named as Open Robotics led by Brian Gerkey).

Adopting ROS2

Due to the above challenges related to the original ROS, GIM Robotics has been actively following the introduction of ROS2 into the world of robotics. We have already used something, which might be called as a “full solution” for controlled navigation tasks. Similarly, we have used bits and pieces of ROS2 as parts of our existing ROS solutions. We have witnessed some clear improvements in the generic ROS approach as expected, especially on the real-time (mainly due to the introduction of Data Distribution Service aka DDS) and reliability (mainly thanks to getting rid of roscore, the Master node) related issues, but, likewise, we have detected some clear work-in-progress features craving some further refinements and clarifications – and maybe even some heroes (individuals and key companies) taking bigger roles driving the development work. If those challenges are not taken care of in a timely manner, there is a risk that some other solutions, mainly coming from the car industry, might prevail in this long and continuous battle for the open-source frameworks for mobile machines. 

PEAMS project

To be in the forefront of that development process, GIM Robotics is extremely happy to be a partner in Business Finland funded FIMA led Platform Economy for Autonomous Mobile Machines Software Development (PEAMS) project. We are especially thrilled to participate in the project’s real-world demos (indoor and outdoor) with our robots and our software modules. We are just dying to see how easy it will be to plug our solutions into others’ solutions and robots. Based on some marketing material flying around it shouldn’t be more than a mere plug-and-play operation. However, our nearly 20 years long experience with several open-source frameworks and middleware concepts suggests that there might be a few bumps ahead. 

Regardless, we feel that ROS and especially ROS 2 are the most prominent candidates for enabling the bright future in the coming years, when autonomous Field & Service robots and modern working machines, with high levels of autonomy, will finally break free from confined/constrained areas into our everyday life. To do that, they must be safe, efficient, and economically viable. 

We are betting our money on ROS2 – at least now.

Picture 5: Preparing for PEAMS project’s indoor demonstrations at Mitsubishi Logisnext Europe’s (MLE) premises in Järvenpää. This test machine is used to integrate project partners’ solutions (HW and SW) for joint multi-machine logistics operations.

References

Saarinen, J, Maula, A, Nissinen, R, Kukkonen, H, Suomela, J & Halme, A. (2007). GIMnet – Infrastructure for distributed control of Generic Intelligent Machines, In Proceedings of the 13th IASTED International Conference on Robotics and Applications, pp. 525–530.

Maula, A., Myrsky, M., and Saarinen, J. (2012). GIMnet 2.0 – enhanced communication framework for distributed control of generic intelligent machines. In Proceedings of the 1st IFAC Conference on Embedded Systems, Computational Intelligence and Telematics in Control, pp. 62-67.