The Big Picture: Understanding What ROS Is For

Find out what ROS gets you, and how it works

Jason Bowling
Exploring ROS Robotics

--

When I first started looking at the ROS documentation, I was overwhelmed. It dove right into workspaces, packages, and topics, but there was no overview that explained what it was, why I would use it, or how I might implement it on a physical robot. It took a while to get it. The documentation, quite rightly, assumes you know that stuff, and gets straight to business.

So let’s start with that — what does ROS provide you, the robot builder? How can you implement it on a physical robot?

Here, lifted from an earlier article of mine on ROS, is what ROS does.

What is ROS, anyway?

ROS is an operating system for your robot. It runs on top of a standard Linux installation on a variety of different types of computer, such as a Raspberry Pi or other single board computer, a laptop, or desktop. Here’s what it does.

  1. ROS provides a standard way to connect all your sensors (cameras, distance sensors, analog to digital converters, IMU) and actuators (drive motors, servos, lights) together with the control software that makes the decisions. It’s the glue that ties all that together, and saves you the tedium of figuring out how to pass that data around on your robot.
  2. ROS helps you easily have multiple computers or microprocessors communicate on your robot, or across a network. You can, for example, drive a ROS robot from…

--

--