ROS (Robot Operating System)
Encyclopedia
Robot Operating System (ROS) is a software framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...

 for robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...

 software development, providing operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

-like functionality on a heterogenous computer cluster. ROS was originally developed in 2007 under the name switchyard by the Stanford Artificial Intelligence Laboratory in support of the Stanford AI Robot (STAIR) project. As of 2008, development continues primarily at Willow Garage
Willow Garage
Willow Garage is a robotics research lab and technology incubator devoted to developing hardware and open source software for personal robotics applications. It was started in late 2006 by Scott Hassan, an early Google employee who helped develop Google's technology. Steve Cousins is the president...

, a robotics research institute/incubator, with more than twenty institutions collaborating in a federated development model.

ROS provides standard operating system services such as hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It is based on a graph
Graph theory
In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. A "graph" in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of...

 architecture where processing takes place in nodes that may receive, post and multiplex sensor, control, state, planning, actuator and other messages. The library is geared toward a Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 system (Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

 Linux is listed as 'supported' while other variants such as Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

 and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 are considered 'experimental').

ROS has two basic "sides": The operating system side ros as described above and ros-pkg, a suite of user contributed packages (organized into sets called stacks) that implement functionality such as simultaneous localization and mapping
Simultaneous localization and mapping
Simultaneous localization and mapping is a technique used by robots and autonomous vehicles to build up a map within an unknown environment , or to update a map within a known environment , while at the same time keeping track of their current location.- Operational definition :Maps are used...

, planning, perception, simulation etc.

ROS is released under the terms of the BSD license, and is open source software. It is free for commercial and research use. The ros-pkg contributed packages are licensed under a variety of open source licenses.

Applications

ROS areas include
  • A master coordination node
  • Publishing or subscribing to data streams: images, stereo, laser, control, actuator, contact ...
  • Multiplexing information
  • Node creation and destruction
  • Nodes are seamlessly distributed, allowing distributed operation over multi-core, multi-processor, GPUs and clusters
  • Logging
  • Parameter server
  • Test systems


ROS Package application areas will include
  • Perception
  • Object Identification
  • Segmentation
    Segmentation (image processing)
    In computer vision, segmentation refers to the process of partitioning a digital image into multiple segments . The goal of segmentation is to simplify and/or change the representation of an image into something that is more meaningful and easier to analyze...

     and recognition
  • Face recognition
    Facial recognition system
    A facial recognition system is a computer application for automatically identifying or verifying a person from a digital image or a video frame from a video source...

  • Gesture recognition
    Gesture recognition
    Gesture recognition is a topic in computer science and language technology with the goal of interpreting human gestures via mathematical algorithms. Gestures can originate from any bodily motion or state but commonly originate from the face or hand. Current focuses in the field include emotion...

  • Motion tracking
    Video tracking
    Video tracking is the process of locating a moving object over time using a camera. It has a variety of uses, some of which are: human-computer interaction, security and surveillance, video communication and compression, augmented reality, traffic control, medical imaging and video editing...

  • Ego-motion
  • Motion understanding
  • Structure from motion
    Structure from motion
    In computer vision structure from motion refers to the process of finding the three-dimensional structure of an object by analyzing local motion signals over time....

     (SFM)
  • Stereo vision
    Stereopsis
    Stereopsis refers to impression of depth that is perceived when a scene is viewed with both eyes by someone with normal binocular vision. Binocular viewing of a scene creates two slightly different images of the scene in the two eyes due the the eyes' different positions on the head...

    : depth perception via two cameras
  • motion
  • Mobile robotics
  • control
  • planning
  • grasping

Ports to robots and boards

  • PR2 personal robot being developed at Willow Garage
  • PR1 personal robot developed in Ken Salisbury's lab at Stanford
  • HERB developed at CMU in Intel's personal robotics program
  • STAIR I and II robots developed in Andrew Ng
    Andrew Ng
    Andrew Ng is an Associate Professor in the Department of Computer Science at Stanford University. His work is primarily in machine learning and robotics. He received his PhD from Carnegie Mellon University and finished his postdoctoral research in the University of California, Berkeley, where he...

    's lab at Stanford
  • http://people.mech.kuleuven.be/%7Eu0062536/embsensor.html: the robotics lab of the Katholieke Universiteit Leuven
    Katholieke Universiteit Leuven
    The Katholieke Universiteit Leuven is a Dutch-speaking university in Flanders, Belgium.It is located at the centre of the historic town of Leuven, and is a prominent part of the city, home to the university since 1425...

    , Belgium
    Belgium
    Belgium , officially the Kingdom of Belgium, is a federal state in Western Europe. It is a founding member of the European Union and hosts the EU's headquarters, and those of several other major international organisations such as NATO.Belgium is also a member of, or affiliated to, many...

     has ported ROS to the Beagleboard
  • Nao humanoid: University of Freiburg
    University of Freiburg
    The University of Freiburg , sometimes referred to in English as the Albert Ludwig University of Freiburg, is a public research university located in Freiburg im Breisgau, Baden-Württemberg, Germany.The university was founded in 1457 by the Habsburg dynasty as the...

    's Humanoid Robots Lab developed a ROS integration for the Nao humanoid
    Nao (robot)
    Nao is an autonomous, programmable, medium-sized humanoid robot, developed by Aldebaran Robotics, a French startup company headquartered in Paris. Project Nao was launched in 2004. On August 15, 2007, Nao replaced Sony's robot dog Aibo as the robot used in the Robot Soccer World Cup Standard...

  • Husky A200 robot developed (and integrated into ROS) by Clearpath Robotics
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK