Multi-Robot Systems, HRI & Robot Software

Robot Operating System (ROS)

The Robot Operating System, almost always called ROS, is a free, open-source toolbox for building the software that runs a robot. Despite the name, it is not an operating system like Windows or Android that boots up your computer. It is more like a set of shared workshop tools and an agreed-upon language that sit on top of a normal operating system, so that the many small programs inside a robot can talk to each other and reuse work other people have already done. Without something like ROS, every team would have to reinvent how a camera program hands a picture to a navigation program, over and over.

The core idea is to break a robot's brain into many little programs, called nodes, each doing one job: one reads the camera, one finds obstacles, one plans a path, one drives the wheels. ROS gives these nodes a common post office so they can pass messages back and forth without each program needing to know exactly where the others are running or how they were written. On top of that plumbing, ROS bundles thousands of ready-made parts the community has shared — drivers for real motors and sensors, mapping and navigation libraries, and tools that let you watch the data flow or replay a recorded run. Because so much is reusable, a small team can stand up a working robot in weeks instead of years.

ROS comes in two big eras: the original ROS 1, which made the ideas popular in research labs, and the newer ROS 2, rebuilt to be more reliable for real products, to coordinate many robots at once, and to handle the demands of safety and security. Today ROS is the closest thing the field has to a common foundation, taught in universities and used in everything from warehouse robots to research humanoids.

A student team building a delivery robot grabs an off-the-shelf ROS navigation package, plugs in their own camera node, and has the robot driving down a hallway in an afternoon — instead of writing path-planning math from scratch.

Reusing shared ROS packages turns months of work into an afternoon.

ROS itself is mostly a framework and middleware plus a huge library of shared packages — it usually runs on top of Linux, so it is a layer for robot software rather than a true operating system.

Also called
ROSROS 2