ROS: the brain
Updated: Jun 25
Imagine a brain responsible for a single task: closing a hand. It needs to manage the array of neurons to send a combination of distinct electrical signals for each of the 127 muscle fibers responsible for the movement of the human hand. Each one of these 127 fibers needs a specific instruction telling it exactly how much it needs to contract or expand during the action of closing a hand. Just closing a hand.
ROS, an acronym for Robot Operating System, is a collection of frameworks for the development of softwares in robotics. It isn’t necessarily an operating system, but can be better described as a software development kit. ROS is a technology that acts like a middleman, and its biggest advantage is the capability to integrate different kinds of components in a single system and offer tools to manage them.
Therefore, it would be possible, in analogy with a ROS project, our body is able to link each necessary component (neurons, muscles and bones) to the brain, by creating systems (nervous, muscular and skeleton). These systems could be controlled individually, each one receiving and sending its own set of messages, in a way that if there is a flaw in any component of the system, it can quickly be identified and corrected, without necessarily having to stop the functioning of the other systems.
To each of these systems, specific messages would be directed to its components, and messages of the same “type” could be grouped in order to optimize its circulation throughout the communication network. Having established this network, each component would be managed by a system, which in turn would be controlled by the brain.
Not only that, but in the context of ROS, it is possible to make a combination of messages to be sent to specific components in a way that instead of having to manage the emission of millions of individual messages, the brain could simply “press a button” to close the hand.
Making seemingly impossible tasks come to life is in the heart of ROS since its creation. The first segments of the framework we have today were created by two PhD students from Stanford University, called Eric Berger and Keenan Wyrobek. Both of them noticed that their colleagues at work faced big obstacles when working with robotics, due to its complexity.
With that in mind, the two students started to design a system that could offer a foundation for all students to start their development in robotics by the use of software “blocks” where standardized tools and programmes for specific things would be available for students wanting to structure their projects, so they could simply choose which blocks to use.
The framework was also scalable, allowing new softwares created by different users to be included in the “toolbox”. Increasing the diversity of blocks and consequently of possible projects to be created. All of that, for free.
Since its creation, ROS was envisioned to be an open-source platform. Nowadays, since its development, numerous distributions of the system have been made available for students all around the world. Each distribution has different softwares, tools and updated features from old systems.
In 2014, the proposal for ROS 2 was announced in a ROS conference. The new framework would imply a complete renewal of the old one with the main objectives of adapting it to real time programming, allowing a broader variety of computing environments and the use of modern technologies. The first distribution of ROS 2, Ardent Apalone, was launched on december 8th 2017.
According to ABI Research, a market analysis enterprise, in 2024 approximately 55% of all commercial robots, equivalent to 915 thousand units, will have, at least, one ROS package installed.
Robotics, in the world, would be what it is today if it wasn't for ROS.
Written by Roberto Marcos.