NooTriX

ROS: The Linux for Robotics

ROS: The Linux for Robotics
April 12
16:13 2012

Although ROS stands for “Robot Operating System”, it is not an operating system. At least not as intended when talking about Linux. ROS is actually a set of software libraries, tools, and conventions (including protocols) made to ease the development of robotic applications. Originally developed by Willow Garage for their PR2 robot, ROS was put under a free software license (BSD) from the first public release back to 2009. This, decision for sure contributed to ROS’ success by attracting many hobbyists, researchers and companies. The community has now its conference RosCon that will be held 19-20 May 2012 in St. Paul, Minnesota, immediately after ICRA.

One of the powerful features of ROS is that it enables interoperability between software and hardware developed by different people. For instance, you can develop a package that performs SLAM (Simultaneous Localization and Mapping) and use it with any laser range-finder as long as both conform to ROS. This generalizes to an arbitrary set of software and hardware. Any robot part and any software developed as ROS package can be integrated in a ROS setting.

At run-time, each package sets up one or more nodes in a peer-to-peer network. Nodes are processes that perform computations or drive some hardware device (sensor, actuator). Each ROS installation has a master, which is a node that provides name registration and lookup. Basically, the ROS master allows nodes discover each other so they can interact and exchange data.

Nodes have two kinds communication channels: services and topics. Services are 1 to 1 communications channels. A node offering a service accepts requests that match the service name, and sends back replies to the requester. Topics on the other hand can be viewed pretty much like discussion forums: all nodes that subscribed to a topic receive all messages published by other nodes in the given topic.

Bags are yet another interesting feature of ROS. They allow saving and playing back ROS messages. This can be very helpful when debugging by storing for example some sensor data, that can be difficult to collect.

There is a lot more to say about ROS. If you wish to learn more, we recommand you reading our post that explains main concepts using a concrete example. You even run the examples using the VirtualBox virtual machine we provide. And, if you want to install it on your own PC, we provide you with a step by step tutorial to easily install ROS.

There are also plenty of videos that you might watch. We selected the one below (Video 1) from the  Dallas Personal Robotics Group (DPRG). Since it’s more than 1 hour long,  we provide an outline so you can jump to sections that might interest you.

Video 1: Overview of ROS at the February 2012 DPRG Meeting
00:00 ROS: Who use it? On which platform?
00:11 What does ROS do?
00:17 ROS Nodes and their interactions
00:21 Tools (Command line, graphical)
00:31 Collection of videos showcasing ROS usage and tools (links embedded into the video)
00:52 Important websites (links embedded into the video)
00:54 Q&A
01:00 ROS with Arduino: Description of the setting used for demo
01:03 Demo of a basic ROS service that sends a message to a ROS topic
01:06 Demo of a ROS service to connect the PC to the Arduino board through the network
01:11 Demo of rosbag that records data to allow replays for purpose of analysis and debug

Related Articles

0 Comments

No Comments Yet!

There are no comments at the moment, do you want to add one?

Write a comment

Write a Comment

Your email address will not be published.
Required fields are marked *

Best Of Robotics

    Terminator 2 Inspires a Revolutionary 25x Faster 3D Printing Process

Terminator 2 Inspires a Revolutionary 25x Faster 3D Printing Process

0 comment Read Full Article
    Insect-Size Micro-Robots

Insect-Size Micro-Robots

0 comment Read Full Article
    Eurathlon 2015 Competition Will Mix Air, Land, and Sea Robots

Eurathlon 2015 Competition Will Mix Air, Land, and Sea Robots

0 comment Read Full Article
    Spare Parts: the Movie on Robotics Clubs, Competition, and Friendship

Spare Parts: the Movie on Robotics Clubs, Competition, and Friendship

0 comment Read Full Article
    Robot Competitions Kick Innovation in Cognitive Systems and Robotics

Robot Competitions Kick Innovation in Cognitive Systems and Robotics

0 comment Read Full Article
    Meet Ozobot : the Miniature Robot that Roams over Digital Screens

Meet Ozobot : the Miniature Robot that Roams over Digital Screens

0 comment Read Full Article
    Machine Learning “Summer” School (MLSS), Austin, Texas, January 7-16, 2015

Machine Learning “Summer” School (MLSS), Austin, Texas, January 7-16, 2015

0 comment Read Full Article
    Supplemental NSF Grants to Support US-EU Collaborations

Supplemental NSF Grants to Support US-EU Collaborations

0 comment Read Full Article
    10 Christmas Robotic Gift Ideas

10 Christmas Robotic Gift Ideas

0 comment Read Full Article

PostDoc Position in Embodied Neural Computation (Odense, Denmark)

0 comment Read Full Article
    How Many Actuators are Needed to Build a Robot?

How Many Actuators are Needed to Build a Robot?

0 comment Read Full Article
    All Time Best Robot Family Movies

All Time Best Robot Family Movies

0 comment Read Full Article
    Amazon Picking Challenge: The Next Step Towards Fully Robotic Warehouses

Amazon Picking Challenge: The Next Step Towards Fully Robotic Warehouses

0 comment Read Full Article
    Free Online Course on Developmental Robotics and AI

Free Online Course on Developmental Robotics and AI

0 comment Read Full Article
    Vacuum Robot Love Story Commercial

Vacuum Robot Love Story Commercial

0 comment Read Full Article
    Wall-E Disney-Pixar Movie

Wall-E Disney-Pixar Movie

0 comment Read Full Article
    Sharing USB Devices over Wifi using Arduino Yún

Sharing USB Devices over Wifi using Arduino Yún

2 comments Read Full Article
    Upgrade the Arduino Yún’s Linux

Upgrade the Arduino Yún’s Linux

0 comment Read Full Article
    DJI Phantom vs. Parrot AR Drone

DJI Phantom vs. Parrot AR Drone

2 comments Read Full Article
    ROS Indigo Igloo Preinstalled Virtual Machine

ROS Indigo Igloo Preinstalled Virtual Machine

9 comments Read Full Article