Overview of Robotic Operating Systems

| 2 Comments

Advertisement

If you are planning to build an advanced robot to navigate autonomous or recognize objects for example, you probably should know from where to start. Robotic operating systems are complex frameworks used to embed systems and develop robotic applications.

Sensors and actuators are just two robotic parts that have to be managed, two from a long list. Operating systems used in robotics are designed to manage almost all sensor types, as well as all actuators and other robot parts.

In order to build amazing robots subjected to complex challenges, advanced software has to be used in order to create a high-level command system for actions like arm movements, recognition or self navigation.

In this article, I have collected thirteen operating systems designed for robotics and with helpful features.

1. ROS

From 2007 when ROS was developed by a team of smart guys from Stanford Artificial Intelligence Laboratory, the software was included in many advanced robots and was the base for a large number of research in robotics. Released like an open-source software, ROS is like a child that grow while eating from all around it. Many developers put the hands at work for writing code to improve the libraries. ROS is a package with libraries and tools developed to create a friendly environment in order to create robotic applications. Beside software, a robot includes hardware parts. All of these parts have to be controlled and ROS has the solution. From drivers to libraries, from message-passing to package management, ROS is a complete robotic operating system designed to provide all system functionalities to develop advanced robots.

2. RROS

A robot has to be controlled by applications designed to read the sensors input and control many others sensors and actuators. PROS is a robot operating system build to manage any type of sensor and complex applications for robotic projects. PROS is a complete solution for hardware and software applications and provide the physical interface required to manage sensors and actuators. Used in educational or hobbyist purposes, the operating system provides an easier way to program robots.

3. embOS

Fast robots with minimum specifications, for this kind of robots were designed embOS. Developed for real-time applications, the operating system is an optimized and versatile software with minimum RAM and ROM memory consumption. Used by different customers and for different applications, the structure of embOS is optimized for a wide range of industrial applications.
With a modular structure and compatible with 8/16/32 bits platform, the software is friendly and is compatible with different CPUs.

4. RTX Real-Time Operating System

With limited resources, Keil RTX is a free robot operating system with a structure compatible with ARM and Cortex-M devices. Like any other OS, RTX can run multitasking applications and can be maintained easily. With a flexible design and real-time operation, RTX requires low resources and can run unlimited number of abstract data types like semaphores or mailboxes.

5. QNX

Designed to connect embedded systems, QNX is one of the most powerful operating system with a high degree of security. It is compatible with ARM, MIPS, PowerPC, SH and x86 platforms.

6. eCos

Released as an open-source operating system, eCOS is a complete development tool for robotic applications and with the possibility to allow users to embed a wide range of specific applications.
The architecture of the operating system includes support for 16, 32, and 64-bit architectures plus support for MPUs, MCUs and DSPs.

7. Wind River Linux

Based on the platform and potential of Linux, Wind River Linux is one of the best open-source tool used to drive robotic hardware and build robotic applications. The software can be adapted and extended due to its flexible and scalable build system.

8. RISC

Designed for the ARM architecture, RISC has many years of development behind with many contributors.

9. Arowboat

With support for AM335x, AM35x and AM37x architectures, Arowboat is a software platform that provides a Google Android base port for different platforms. It could be used as a platform to develop Android applications for robots controlled using peripheral communication technologies like WLAN, Bluetooth, Sensors, etc.

10. Gentoo

High performances and customizable, two features that makes from Gentoo a Linux powered operating platform used to develop robotics applications. Supported by a whole community of developers, the operating system is perfect for embedded solution especially for complex robotic projects.

11. EZSDK

Designed to fit on ARM microprocessor architecture, Linux EZ Software Development Kit provides a friendly development environment for Sitara ARM Processor families including Cortex-A8 and ARM9.

12. OpenWrt

Based on Linux architecture, the OpenWrt operating system provides a friendly management system for embedded devices. It has support for customizable applications and provides a complete framework used by developers to design and build complex applications for advanced robots.

13. VxWorks

Since 1987 when VxWorks were released, the operating system is used for embedded systems with powerful features including real-time and multitasking operations. The operating system has native support for 64-bit architecture and in exceptionally mode, it can offer support for x86 family architecture processors.
In order to offer a friendly development environment, the framework includes an error handling system.

Advertisement
Related Articles
Dragos George Calin
Dragos George Calin is an IT analyst who graduated Faculty of Electrical and Mechanical Engineering, specialization Industrial Automation and Informatics with a Bachelor of Science Degree in Engineering, Automation and Computer Science. He has a great passion for robots and web development.
2 comments
Dragos George Calin
Dragos George Calin

An article with differences between robotic operating systems is already in work

Rafael
Rafael

Hello, great survey! Do you intend to, or already have, an academic paper for this subject. Specifically a comparative between these systems controlling a robot? Thanks