A Brief Introduction to ROS

With the advent of the self-driving car, commercial drones, and the concerningly intelligent and well-coordinated 4-legged robots coming out of our university labs, progress in robotics research and application has made leaps and bounds in recent years.

Intuitive and capable robotics hardware and software are more ubiquitous than ever. As robotics software and hardware grow in their sophistication, solutions and the means of effectively operating these technologies becomes more necessary. This is where ROS plays a very important role.

Understanding ROS

ROS (Robot Operating System) is a means of addressing and solving the problems that plague developers.  In reality, ROS is not an operating system but rather a Service Oriented Architecture (SOA) that serves as a framework for communication between the components necessary to run robot software. The Open Source Robotics Foundation describes ROS as “…a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior…” In short, a language-friendly, adaptable tool, that emphasizes reusability and effective communication.

As with any SOA, ROS manages a system’s hardware and applications. However, ROS capitalizes on its open-source nature, making it an accessible and popular solution amongst its community of developers. What sets ROS apart from a standard OS is its primary function: to facilitate and simplify communications within a network, independent of factors such as hardware or other programs.

ROS Messaging Protocol & Charlie Bucket

To unpack the fundamentals of ROS, it is critical to understand the Publisher/Subscriber protocol. Recall the groundbreaking viral marketing technique of Willy Wonka: Wonka distributed five golden tickets to various and random stores, not necessarily knowing the details of where they would be sent. Charlie Bucket eventually was able to locate and respond to a ticket.

In this far-from-perfect analogy, Wonka acts as the Publisher, which publishes a Message (the golden tickets) to a certain Topic (a candy store). The Subscriber (Charlie) will locate and receive that Message. Both Wonka and Charlie operate as Nodes, in this case, a simple script or program that carries out the Publish/Subscribe protocol. In essence, a Node designed to send information will Publish Messages to a specific Topic. A second Node designed to obtain information will Subscribe to that relevant Topic.

The Future of ROS

The evolving sophistication of robotics technologies, as witnessed by the emergence of machine learning and automation, is evidence of equally powerful ROS managing their hardware and software. With the seamless ability to integrate into hardware, ROS technology finds a natural home in the expanding self-driving industry. ROS provides the necessary means to swiftly retrieve data from the car’s sensors, internalize that data, and synthesize a useful response for the motors and other system components.

According to IFR (International Federation of Robotics) research, 2015 saw a total of 253,748 robotic systems delivered for industrial use. That figure is expected to grow by 11.8% on an annual basis to over $33 billion by 2025. What this shows is that ROS is establishing itself as the lingua franca for industrial robotics, not only in university research labs but with the cutting edge applications that will characterize a new generation of technology.

To learn more about specific applications for ROS-powered technologies, explore Tomahawk Robotics’ Kinesis. With applications for unmanned initiatives in energy and defense, to name a few, Kinesis utilizes a robust implementation of ROS to streamline communication between independent systems such as sensors, controllers, communications networks and more. With a massive potential for scalability and enterprise solutions, Kinesis demonstrates the relevance ROS plays in 21st-century robotics.

Click to download your Kinesis Datasheet