Recent Changes - Search:

Research

Notes

Architecture

Faults

System

Planning

Background

OS

Misc

edit SideBar

ROS

Robot Operating System

The successor to Player Stage, developed by Willow Garage and running on platforms such as the PR2, ROS is the gorilla of research robotic systems.

And for good reason: ROS brings together a huge number of libraries to a common platform, and allows inter-operability. Navigation, computer vision, planning, kinematics; there are enough libraries to construct complex behavior with a few (hundred) lines of "glue" code. This is coupled with the capable simulator Gazebo, and you have a accessible research platform. And while a PR2 is hardly cheap, it is less so than a custom robotic system and boasts an impressive set of arms and some cool sensors.

Unfortunately the systems is too heavyweight and complex for my needs.


src: Generated by Gazebo

Architecture

ROS is implemented as a layer that sits above Linux (Ubuntu typically). As such, it is less an Operating System as one would normally define it, but a collection of programs and utilities that interact with the system beneath. This is a reasonable approach, as it lets ROS focus on the important parts of providing support for robotic operations while leveraging a well established system and tool chain.

The main abstraction in ROS is graph of nodes which communicate predominately through pub / sub semantics (although client / server is also supported). The user defines a collection of nodes and the connections between them. Additionally, users may define new message types and custom nodes.


src: Generated by rxgraph

This is a direct extension of the model pioneered by Player, albeit much improved.

YARP is a set of libraries that attempts to support the same graph abstraction, but with a much small footprint.

Edit - History - Print - Recent Changes - Search
Page last modified on May 30, 2014, at 04:01 PM