Skip to Content
Programming Robots with ROS
book

Programming Robots with ROS

by Morgan Quigley, Brian Gerkey, William D. Smart
December 2015
Intermediate to advanced
300 pages
10h 47m
English
O'Reilly Media, Inc.
Content preview from Programming Robots with ROS

Chapter 2. Preliminaries

Before we start writing code in ROS, we’re going to take a moment to introduce some of the key concepts that underlie the framework. ROS systems are comprised of a large number of independent programs that are constantly communicating with each other. In this chapter, we’ll discuss this architecture and look at the command-line tools that interact with it. We’ll also discuss the details of the naming schemes and namespaces used by ROS, and how these can be employed to promote reuse of your code.

The ROS Graph

One of the original “challenge problems” that motivated the design of ROS was fondly referred to as the “fetch an item” problem. Imagine a relatively large and complex robot with several cameras and laser scanners, a manipulator arm, and a wheeled base. In the “fetch an item” problem, the robot’s task is to navigate a typical home or office environment, find the requested item, and deliver it to the requested location. This task, like many robotics tasks, led to several observations about many robotics software applications, which became some of the design goals of ROS:

  • The application task can be decomposed into many independent subsystems, such as navigation, computer vision, grasping, and so on.

  • These subsystems can be used for other tasks, such as doing security patrols, cleaning, delivering mail, and so on.

  • With proper hardware and geometry abstraction layers, the vast majority of the application software can run on any robot.

These ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Mastering ROS for Robotics Programming - Third Edition

Mastering ROS for Robotics Programming - Third Edition

Lentin Joseph, Jonathan Cacace
Effective Robotics Programming with ROS - Third Edition

Effective Robotics Programming with ROS - Third Edition

Luis Sanchez, Enrique Fernandez Perdomo, Anil Mahtani
Hands-On ROS for Robotics Programming

Hands-On ROS for Robotics Programming

Bernardo Ronquillo Japón

Publisher Resources

ISBN: 9781449325480Errata Page