What is ROS? Understanding the Robotics Framework

1. Objective — What You Are Learning and Why

In this lesson you will understand what ROS and ROS 2 actually are.

Before we start writing code or launching robots, it is important that you clearly understand one thing:

ROS is not an operating system.

Despite the name Robot Operating System, ROS is actually a software framework that helps you build robotic systems.

Its main goal is simple:

ROS allows you to program complex robots in a structured and scalable way.

Let’s look at why this matters.

If you have ever built a small robot with Arduino, you probably wrote code in C or C++.

At the beginning everything feels simple.

For example, imagine you have:

  • two motors
  • two wheels

You write a few lines of code and the robot moves forward. Easy.

Then you add an ultrasonic sensor to detect obstacles.

Now the robot should:

  • move forward
  • read the sensor
  • stop if an obstacle appears
  • maybe turn left or right

Suddenly the code becomes more complicated.

Now imagine you also add:

  • a camera
  • a mapping system
  • a navigation algorithm

At this point, writing everything in one program becomes almost impossible.

This is exactly the problem ROS was created to solve.

ROS allows you to divide a robot into small pieces of software and make them communicate with each other.

Each piece does one specific job.

This makes it possible to build very complex robotic systems without everything turning into one giant messy program.

The Core Idea of ROS

The fundamental concept in ROS is simple.

You break a robotic system into small independent programs.

These programs are called nodes.

Each node performs one task.

For example:

  • one node reads the camera
  • one node processes images
  • one node plans robot motion
  • one node controls the robot motors

Instead of writing one huge program, you write many small programs.

These programs communicate with each other.

This makes the system modular and scalable.

Why ROS Exists: Do Not Reinvent the Wheel

One of the biggest advantages of ROS is that you do not need to reinvent everything from scratch.

Many robotics problems have already been solved by researchers and engineers.

For example:

  • SLAM (Simultaneous Localization and Mapping)
  • object detection
  • robot navigation
  • motion planning
  • sensor drivers

ROS allows you to use existing packages that already solve these problems.

Instead of spending months implementing SLAM yourself, you can simply use an existing package.

This is one of the reasons ROS has become the standard framework in robotics research and development.

The Three Big Concepts of ROS

When working with ROS, three concepts appear everywhere:

Scalability

ROS allows you to scale a system from:

  • a small hobby robot

to

  • a complex industrial robot system

Because the architecture is modular, you can keep adding components without rewriting everything.

Communication

Nodes need to talk to each other.

ROS provides several ways for nodes to communicate.

The three main ones are:

Topics

Used to stream data continuously.

Example:

  • a camera publishing images

Services

Used for request/response communication.

Example:

  • asking a robot to compute inverse kinematics

Actions

Used for long operations that take time.

Example:

  • executing a robot trajectory

Package Management

ROS organizes code inside packages.

A package usually contains:

  • nodes
  • configuration files
  • launch files
  • robot descriptions
  • algorithms

This makes ROS projects organized and reusable.

What You Will Build in This Course

In this basic ROS course, you will not start immediately with industrial robots.

Instead, you will practice using a simple simulator called Turtlesim.

Turtlesim is a lightweight ROS simulator where you control a small turtle moving inside a window.

It may look simple, but it allows you to practice the core ROS concepts:

  • nodes
  • topics
  • services
  • ROS commands
  • communication between processes

You will learn how to:

  • start nodes
  • send velocity commands
  • create your own ROS nodes
  • make nodes communicate
  • build small robotic behaviors

The turtle is just a learning tool.

What you learn with it will apply later to real robots, cameras, and industrial applications.

The Application You Will Build in the Master Robotics Program

After taking this course, if you want to rise the bar, you could enrool the Master Robotics Program (another course of Learn Robotics with ROS).

In that course you will build a real robotics application.

The goal is bin picking.

This means a robot picks objects from a container using vision.

The system includes:

  • a 6-axis industrial robot
  • a SoftGripper with suction cup
  • a RealSense depth camera

This system can be broken into several ROS packages.

For example:

Vision package

Processes camera images and detects objects.

It receives:

  • RGB images
  • depth images

It outputs:

  • object positions in 3D.

Motion planning package

Computes the robot trajectory.

It receives:

  • object position

It outputs:

  • robot motion commands.

Robot control package

Sends commands to the robot controller.

It receives:

  • trajectory commands

It outputs:

  • robot movement.

Each of these components is a different node or package.

They communicate through ROS.


Data Can Be Very Different

Another important idea is that ROS can transmit many types of data.

For example:

A node can send:

  • a string
  • a number
  • a vector
  • a robot pose
  • a 3D point cloud
  • an RGB image
  • a depth image

This flexibility makes ROS extremely powerful.

For example, a RealSense camera can send RGB-D data through ROS topics, and other nodes can immediately use that data.

Do Not Worry — We Will Learn Everything Step by Step

If some of these concepts feel new, do not worry.

In the next lessons you will learn:

  • what a node really is
  • how nodes communicate
  • how to create packages
  • how to launch robot systems

We will build everything step by step.

The important thing you should remember from this lesson is simple.

ROS allows you to organize complex robotics software into manageable pieces.

2. Key Takeaways

After this lesson you should clearly understand the following ideas.

ROS is not an operating system.

It is a framework for building robotic systems.

ROS allows you to:

  • split complex systems into small components
  • make those components communicate
  • reuse software created by other robotics engineers

In this basic course you will practice these concepts using Turtlesim, a simple simulator that lets you experiment with nodes and communication in a safe and easy way.

Instead of writing one massive program, you build a network of small programs working together.

This is what makes ROS so powerful.

And this is the foundation that will allow you to build the robotics applications in this course.

Complete and Continue  
Discussion

0 comments