IN-DEPTH Rise of the robots
RISE OF THE ROBOTS
Mats Tage Axelsson presents the basics of a robotics operating system and reveals what components can be used…
A
ssembling your own robot and getting it to walk around will entertain kids of all ages for a good few minutes. However, for robotics to be long-term fun it needs to be a challenge.
A common misconception about robotics is that you need a degree to make anything of your own. Having said that, a robot does require many subsystems to operate. There are legs to move, arms to stretch, things to see and react to. Basically, everything we do as humans – except you must design the entire system that can handle all those tasks.
This isn’t something you whip up in your man cave on a rainy afternoon. Being free and open source enthusiasts, we know better than to believe we have to cover every detail ourselves. There have been many projects to make robotics an area you can thrive in and help expand, the most successful organisation to date is the Open Source Robotics Foundation (www.openrobotics.org). Out of this has developed the Robotics Operating System (ROS). It’s not an operating system as such, but rather a collection of tools that help you create your version of what a robot should be and do.
The ROS is better described as a robotics framework, but what do you want from the ROS and what do you need to do to get a robot up and running? We’ve already mentioned that many subsystems control different parts of the robot. Your robot will need to navigate, move and interact with its environment. That may include interacting with you and other humans, but that’s for another time. The simplest robot will run around the house exploring – a more advanced version will go to the kitchen and bring you a new beverage. For all this you need sensors, micro controllers and a lot of mechanics…
It’s important to bear in mind that all these parts must communicate with each other. This is where things can become complex and you need an overall control system. Using ROS, you can declare and define all the nodes (the distinct parts of the system) and how they communicate. Other things included in the ROS framework are simulators and visualising software to help you spot problems and solve them.
Knowing what the different pieces of software do requires a fundamental understanding of the architecture. Yet defining a robot as the sum of its components will quickly become complex, so there needs to be a standard method of communication – either within the robot or from outside. This is, in essence, what ROS is for: it establishes the standard communications protocols. Within this standard are certain components that define the overall system: nodes, services and topics.