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)


Windows XP for Embedded Applications
This white paper describes the benefits of using Windows XP when developing embedded applications.

A Manager's Guide to Selecting a Mobile Device Operating System
This white paper offers a comparative review of Microsoft Windows CE and Windows Mobile.

Visual Basic 6.0 to .NET Migration
This paper focuses on the methodology and techniques which Infosys (Microsoft Technology Center) has developed for migrating VB 6.0 Applications to .NET. Our approach ensures a smooth, cost effective, and efficient migration.

Mobile Device Security: Securing the Handheld, Securing the Enterprise
This whitepaper identifies security threats to corporate data on mobile devices and details how mobile devices can become a "backdoor" to the enterprise.

Mobile Device Security: The Eight Areas of Risk
It's common knowledge that adding mobile devices to your network increases security risks. There are multiple facets to mobile security, all of which should be paid close attention to. This E-Guide presents a more in depth look into the eight key areas of securing wireless devices.

Quality Assurance and .NET
This paper discusses best practices for functional, regression and load testing of .NET applications.

SCADA Security in Integrated Networks
As businesses leverage their SCADA systems by integrating them into the business networks, they must also assure the security of the SCADA system.

The Advantages of Small Form Factor HMI
HMIs have mutated and changed with new requirements, and they have become more flexible and capable. And while they've been doing that, they've become smaller and more useful.

9 Critical Requirements for Web Application Security
Learn why your Web applications expose dangerous security breaches and what’s required to effectively protect your Web applications and the sensitive information behind them.

 


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)

Updated! The latest Windows-powered...

mobile phones!

other cool
gadgets

HOT TOPICS
Microsoft targets PNDs with new embedded OS
Microsoft tips .NET MF 3.0 highlights
Microsoft previews Windows Embedded Standard
Microsoft offers free Windows CE 6.0 textbook
Microsoft renames embedded operating systems
Microsoft unveils Windows Mobile 6.1
New Atom models target low-cost PCs
REFERENCE GUIDES
Windows Device Showcase
Intro to Windows Embedded
Intro to Shared Source
Real-time Windows Embedded
Windows Embedded books
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


BREAKING NEWS

• Cortex-A8 SBCs target signage and kiosks
• Student competition offers a different kind of fireworks
• Windows CE SBC targets HMI development
• All-you-can-eat carrier launches -- sort of
• Adeneo and IntervalZero promote "soft-control" architecture
• App creates virtual serial ports in Windows CE
• Windows satellite phone service takes off (literally)
• Bsquare and Microsoft renew key distribution agreement
• Software syncs HTC phones with Macs
• Electricity meter runs Windows, talks to Google
• Windows device is two phones in one
• MIcrosoft's online store to debut with 600 Windows Mobile apps
• Windows Mobile gets upgraded Skype VoIP client
• Panel PC targets outdoor use
• Samsung shrinks ARM11 application processor


MOST POPULAR (last 90 days)
• "Netbook" uses Intel's Atom N270
• Windows CE takes on Linux in low-end netbooks
• HTC ups Touch resolution
• Microsoft unleashes new embedded OS
• Windows Mobile phone gets 800 x 480 display
• HTC spins WiMAX phone?
• Smart camera sports Atom
• Dual-core AMD netbook gets rave review
• Windows Mobile 7 "delayed"
• GPS phone uses new Marvell "Tavor" chip
MOST POPULAR (Classics from the vault)
Windows XP Embedded USB boot
Troubleshooting Windows XPe's blue screen "Stop 0x0000007B" error
Asus reveals $190 mini notebook
Windows Mobile 6 SDKs available for download
Windows Mobile VPN client plays with Cisco
HTC adds GPS to Windows Mobile Touch line
Microsoft unveils Windows Mobile 6.1
Guide to HTC's Windows Mobile smartphone platforms
• HTC releases Touch Diamond ROM upgrade
Customizing Windows XP Embedded thin clients

Also visit our sister sites:


Sign up for WindowsForDevices.com's...

news feed

Or, follow us on Twitter...



Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

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-2009 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.