Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory

Keywords: Match:
A review of robotics software platforms
by Michael Somby (Aug. 17, 2007)

Foreword: Today's nascent robotics market has engendered about 10 general purpose software development frameworks, including many that support Windows or Windows CE. This article surveys seven of them, before wrapping up with an analysis of market trends likely to shape the robotics software landscape of tomorrow. Enjoy . . . !



A review of robotics software platforms

by Michael Somby


Introduction

Spread the word:
digg this story
This article gives a short overview of general-purpose robotics software platforms currently available for service robotics applications. The article is a compilation of the knowledge the author accumulated during recent experimentation work.

What is a robotics software platform?

By a "robotics software platform" we mean a software package that simplifies programming of several kinds of robotic devices by providing:
  • a unified programming environment
  • a unified service execution environment
  • a set of reusable components
  • a debugging/simulation environment
  • a package of "drivers" for most wide-spread robotics hardware
  • a package of common facilities such as computer vision, navigation or robotic arm control
As you see, there are several major components in any robotics software platform. None of the existing products was a perfect match from my point of view. Most of the products were missing something.

Robotic Software Platforms
PlatformType
Evolution Robotics ERSPPlatformCommercial
Microsoft Robotics StudioPlatformCommercial Free of charge for research and hobby
OROCOSMachine and robot control librariesOpen source & free
SkilligentRobot learning add-onCommercial
URBIPlatformCommercial
WebotsSimulation environmentCommercial
Player, Stage, GazeboPlatformOpen Source & Free
iRobot AWAREPlatformCommercial
OpenJAUSPlatformOpen source
CLARAtyPlatformOpen source

Why robotics software platform?

The cost of control software accounts for a large share of the overall cost of a typical robotics project. For example, up to 80 percent of an industrial automation project is spent on system integration, which includes software development/customization. So, the main idea behind any robotics software platform is to simplify the job of robotics software engineers -- and thus reduce the project cost.

Besides software engineering challenges, there is still much AI research work left to be done when it comes to robotics. A set of reliable off-the-shelf software components integrated into a unified platform can really help to kick start any serious robotics project.

Finally, a behavior coordination problem needs to be addressed in the overall control system's architecture. Several behavior coordination approaches have been proposed in the research literature. Because this is a common problem, some of the robotics platforms provide a unified solution to the problem.

Overview of main players

Summary of Main Robotics Software Platform Players
EvolutionMicrosoftOROCOSSkilligentURBIWebotsPlayer, Stage, Gazebo
Open sourceNoNoYesNoNoNoYes
Free of chargeNoEdu/hbyYesNoNoNoYes
WindowsYesYesNoYesYesYesYes (sim)
LinuxYesNoYesYesYesYesYes
Distributed environmentNoYesNoYesYesNoYes (limited)
Behavior coordinationYesYesNoYesYesNoNo
Built-in robotic arm controlNoNoYesYesNoNoNo
Built-in object recognitionYesNoNoYesNoNoNo
Built-in navigationYesNoNoYesNoNoNo
Task/skill learningNoNoNoYesNoNoNo
Simulation environmentNoYesNoNoYes (Webots)YesYes
Range of supported hardwareSmallLargeMediumMediumLargeLargeMedium
Reusable service building blocksYesYesYesNot applcblYesNoNo
Real-timeNoNoYesNoNoNoNo


Evolution Robotics's ERSP

Evolution Robotics is building and marketing a set of robotics software and hardware components including a robotics platform called ERSP. The platform looks like a pretty mature product. It incorporates a robust visual object recognition system (ViRP) and a visual-based navigation and mapping (vSLAM) system. The computer vision system is based on a robust patented SIFT algorithm invented by David Lowe.

The platform comes with a graphical toolkit that can be used for building programs based of a number of reusable building blocks.


Behavior Composer of Evolution Robotics
(Click to enlarge)

The building blocks called behaviors are activated/deactivated in run time by a higher-level program called a task. ERSP doesn't provide a simulation environment. ERSP runs on Windows and Linux.

Microsoft Robotics Studio

Microsoft recently setup a team that delivered a robotics software platform called Microsoft Robotics Studio. The platform runs under Windows and Windows CE. A distributed runtime environment does most of the messaging and thread management tasks. Behavior coordination is based on the concept of service arbiters.

MSRS comes with a simulation environment and a graphical service development toolkit.


Microsoft Robotics Studio -- Visual Programming Language
(Click to enlarge)


Microsoft Simulation environment
(Click to enlarge)

A growing number of robotics companies have declared their support for the MSRS platform.

OROCOS

OROCOS is an open source set of libraries for advanced motion and robot control. OROCOS comes with its own runtime environment optimized for real-time applications. The environment makes use of lock-free buffers, which makes it suitable for time-deterministic real-time applications.


OROCOS

OROCOS comes with a set of reusable components and a set of drivers for selected robotics hardware. A kinematics and dynamics library is an application independent framework for modeling and computation of kinematics chains, such as robots, biomechanical human models, computer-animated figures, machine tools.

OROCOS doesn't come with a unified graphical development environment or simulation environment.

Skilligent

Conceptually, Skilligent stands aside in the list of robotics software platforms. Instead of simplifying robot programming, Skilligent eliminates the need to program robots by introducing an implementation of a trainable control system.

Skilligent's robotic behavior control system is based on the concept of developmental robotics, a new approach in artificial intelligence and robotics that focuses on the autonomous robot learning of general-purpose, task nonspecific control systems.

Skilligent allows converting a regular robot into a sociable robot that can be trained by an end user (vs. programmed by a software engineer). The robot control software exhibits certain supporting social interaction capabilities that make training and collaboration with robots more natural for humans. During a robot learning session, such a robot interacts with its human trainer through gestures, sounds, object manipulations and joint attention.


Robot learning session -- under control of Skilligent


Skilligent Behavior Control system

The key technology incorporated in the software is a set of algorithms that build generalized representation of a task/skill learnt from a demonstration. The software comes with built-in object recognition, sound recognition and visual navigation modules optimized for robotic learning.

Strictly speaking, Skilligent is not a platform, but rather an add-on to a robotics platform as it can be integrated with any of the platforms presented in this article.

URBI

URBI is a robotics platform built by Gostai. Instead of creating a graphical service creation environment, URBI introduced its own language optimized for creation of parallel and distributed event-driven services.

For every new kind of robot, Gostai promises to build an engine that executes the programs written in the proprietary language. Gostai provides engines for a variety of robots including Aibo, Mindstorms and Khepera.

URBI is a distributed platform that allows running a service code across several computers working together in a cluster. Gostai's partners provide components such as computer vision and speech recognition.

The platform doesn't have its own simulation environment, but it has been recently integrated with Webots, a popular commercial robotics simulation environment.

Webots

Webots is a popular commercial robot fast prototyping and simulation environment marketed by Cyberbotics. Strictly speaking, Webots is not a robotics software platform, but rather a simulation engine with prototyping capabilities.

The simulation environment comes with models of multiple virtual and commercially available robots including bipeds, wheeled robots and robotic arms.


Webots fast prototyping and simulation environment
(Click to enlarge)

Player, Stage, Gazebo

The Player is an open source TCP/IP-based hardware abstraction layer for a growing number of robotics hardware platforms. The Stage and Gazebo provide accompanying simulation environments. The environments support multi-robot simulations that are suitable for research in swarm- or team-working of robots.


Player, Stage, Gazebo
(Click to enlarge)

Running on a robot, Player provides a simple interface to the robot's sensors and actuators over the IP network for reading data from sensors, writing commands to actuators, and configuring devices on the fly.

Other platforms

There are several other robotics software platforms available on the market -- such as iRobot AWARE, OpenJAUS, CLARAty, YARP. The author hasn't had a chance to study those platforms closer. Here is some information:
  • iRobot AWARE is a robotics software platform announced by iRobot. It is assumed that the platform is built for a range of military robots produced by the company for the US military. According to Rodney Brooks, the company utilized some of the available open source code to speed up development of their own product. From the information available, we couldn't derive whether or not AWARE uses Rodney Brooks' subsumption architecture for behavior coordination and control.

  • OpenJAUS is an open source implementation of Joint Architecture for Unmanned Systems (JAUS). Vecna company seems to be promoting OpenJAUS and using it on their BEAR robot.

  • CLARAty is a software platform built by NASA and then released as an open source project. It is not totally free software though. The software seems to provide a set of interesting algorithms such as visual heading and pose estimations, and visual wheel sinking estimation.

Market trends

The sweetest dream of any robotics platform company is to see their product being pre-installed on a mass-produced commercial robot (just like Windows is pre-installed on new PCs). This is still yet to happen. In the meantime, education and research institutions are the major customers of the vendors of robotics platforms.

The introduction of Microsoft Robotics Studio put pressure on several companies offering robotics software platforms. What Microsoft can afford to give away for free, other companies (like Evolution, Gostai and Cyberbotics) are trying to sell. This will probably spoil the education/research market in longer term.

The research/education/hobby market seems to be quite limited and nearly saturated. The growth could come from the industrial automation or service robotics market if the companies can find inroads into those markets.

On the industrial robotics side, most established manufacturers of industrial robots provide their own platforms for programming their robots (e.g. look at ABB's robotics software products). They would probably prefer selling their own products other than using third-party products. To counter this tendency, OMG robotics group has recently staged an orchestrated campaign to create a set of standards that would break such vendor lock-in. The efforts are in the very early phase, but we hope they will produce working standards in medium-to-long term. A similar but independent development is going on in Europe -- look at European Robotics Platform web site.

On the service robotics side, we will probably see emergence of common robotics software platforms especially for military robots where compatibility of inter-systems interfaces is of special importance (look at the JAUS standard). In the US, the largest share of robotics research is driven by military requirements. So, we'll probably see emergence of standards for remote operation, swarm-coordination and navigation components. In contract, most of the European research efforts are orchestrated around the goal of building a new kind of industrial robot or a service robot for home and office applications (PACO-PLUS, SMERobot, COGNIRON).

An interesting evolution of the concept of a robotics platform was recently presented by Skilligent. They built a software product that allows a robot to develop needed skills autonomously while interacting with humans. Theoretically, this largely makes most traditional service creation environments obsolete as such a robot can be trained directly without programming. On the other hand, the skills that the software cannot pick up from the user still need to be programmed in a "traditional" way. We expect such systems become smarter and smarter -- so in longer term, the learning robots will probably dominate the service robotics market as they promise to be more flexible.

Consumer robotics market is proved to be very price-sensitive. The current most-talked-about consumer robot, the Roomba vacuum cleaner, is priced less than the cheapest versions of most robotics software platforms. So, it is too early to talk about common robotics software platforms for consumer robots.

There is one more aspect where competition is about to begin -- Linux vs. Windows. Linux is currently supported by most of the robotics software platforms. Microsoft is pushing Windows XP/CE as a standard robotics OS. My guess is that both will have their shares of the future market; but the proportion of the shares remains a question mark.



About the author: Michael Somby is a professional control systems engineer focusing on avionics systems and industrial control systems. His experience ranges from an autopilot design up to building a control system for a power plant. In his leisure time, he is a long-time enthusiast of mobile robotics and artificial intelligence.




Related stories:

(Click here for further information)


7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.

Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.

Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.

Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.

Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.

Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.

Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.

Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

HOT TOPICS
2006 Windows Embedded retrospective
Windows CE 6 Arrives
Shared source contest winners
Ultra Mobile PCs
Spotlight on SPOT
Embedding Windows is 4X cheaper than Linux
CE "core" reduced to $3

...in our 2007
Windows Embedded Market Survey
Check out the latest Windows-powered...

mobile phones!

other cool
gadgets

REFERENCE GUIDES
Windows Device Showcase
Intro to Windows Embedded
Intro to Shared Source
Real-time Windows Embedded
Windows Embedded books

BREAKING NEWS

• Bsquare reports income up 57 percent
• ARM-based controller has StackableUSB expansion
• Microsoft unveils Windows Embedded Standard launch plans
• New Palms on horizon?
• Yahoo! aims web services at mobile phones
• Thin, light phone runs Windows Mobile 6.1
• Phone boots either Windows Mobile or Linux
• Precision surveying tool runs Windows CE
• Security software denies rogue apps on XPe
• Panel PCs support PoE, Windows CE
• Barcode scanning PDA has VGA display
• SBC hosts quad-core Xeons
• ARM ICE gains Windows CE support
• Shock resistant automation computer runs Windows
• Major automaker adopts Microsoft Auto


Join our Windows Embedded discussion forums:
Windows XP Embedded
Windows CE
Windows Mobile


Windows Embedded developer newsgroups
Windows CE
XP Embedded
PocketPC
Smartphone

Microsoft's Windows Embedded resources
Embedded dev center
Mobile dev center
Windows CE tutorials
XP Embedded tutorials
Windows Embedded seminars
Windows Embedded application categories
3rd-party partners

Also visit our sister sites:


Sign up for WindowsForDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory  |  About  |  Contact
 
Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Windows is a trademark or registered trademark of Microsoft Corporation in the United States and/or other countries and is used by WindowsForDevices under license from owner. All other marks are the property of their respective owners. WindowsForDevices is an independent publication not affiliated with Microsoft Corporation.