ROS2
334 words · 2 min read · 2 sources
Robot Operating System 2 — the DDS-based middleware that runs nearly every modern research and commercial robot. Successor to ROS1.
The concept concept: Robot Operating System 2 — the DDS-based middleware
Difficulty 3/5 · ClassroomROS2 is the successor to [[ros]]. Where ROS1 had a single master node and a custom transport, ROS2 is built on **DDS** (Data Distribution Service) — an industrial-grade pub/sub middleware used in aerospace and defence for two decades. No master, real-time support, security built in, and multi-robot is native.
💡 Think of it like…
Think of it like a household object that does the same job — the underlying idea is the same, just adapted for robots.
Why it matters
Without ros2, many concept systems in robotics simply couldn't work.
ROS2 is the successor to [[ros]]. Where ROS1 had a single master node and a custom transport, ROS2 is built on DDS (Data Distribution Service) — an industrial-grade pub/sub middleware used in aerospace and defence for two decades. No master, real-time support, security built in, and multi-robot is native.
The four communication patterns
- Topics — pub/sub. Sensor data, continuous streams.
/scan,/cmd_vel. - Services — request/response. Short queries.
- Actions — long-running goals with feedback and cancellation. Nav2 uses these heavily.
- Parameters — per-node configuration values that can be read and set at runtime.
What makes it different from ROS1
| Feature | ROS1 | ROS2 |
|---|---|---|
| Discovery | Central master | Peer-to-peer via DDS |
| Real-time | No | Yes (with right DDS) |
| Security | Hacked-on | DDS-Security built in |
| Multi-robot | Manual | Native (domain ID) |
| Lifecycle | None | Managed nodes |
| Build system | catkin | colcon |
| Current status (2026) | EOL | Active LTS = Humble, Iron, Jazzy |
Lifecycle nodes
A ROS2 lifecycle node has explicit states: unconfigured → inactive → active → inactive → finalized. You can configure() and cleanup() cleanly. Critical for safety-critical robots — your motor controller comes up only after sensors are validated.
In India
[[ISRO]]'s robotic-servicing prototypes run ROS2 for lifecycle guarantees. Ideaforge uses it on drones because DDS handles flaky wireless. GreyOrange, Ati Motors, Asimov Robotics, and Systemantics all build their products on ROS2 Humble or Iron. Indian university robotics programmes (IIT Madras, IIT Bombay, IIIT-H, BITS Pilani) have switched curricula from ROS1 to ROS2.
See it in action
A minimal ROS2 publisher in Python — the entire stack discovers, connects, and starts streaming with no config:
import rclpy
from rclpy.node import Node
from std_msgs.msg import String
class Talker(Node):
def __init__(self):
super().__init__('talker')
self.pub = self.create_publisher(String, '/chatter', 10)
self.create_timer(1.0, lambda: self.pub.publish(String(data='hello')))
rclpy.init()
rclpy.spin(Talker())
Open a second terminal: ros2 topic echo /chatter. Messages appear. No master, no config, no glue.
Related concepts
[[ros]] · [[lidar]] · [[slam]] · [[computer-vision]] · [[edge-computing]]
Start the Wire track to learn ROS2 hands-on.
Ask R2 Co-pilot anything you didn't understand about ROS2. It'll explain it plainly.
Learn this in the Academy
🔌W-01: ROS2 Fundamentals
Hands-on lesson · Wire track
Keep going
Computer vision (for robots)
Computer vision is how a robot makes sense of what its camera sees. It turns pixels into objects, distances, a…
ConceptLidar
Lidar is a sensor that measures distance by firing invisible laser pulses and timing how long they take to bou…
ConceptROS (Robot Operating System)
ROS isn't really an operating system — it's the toolkit that lets the dozens of programs inside a robot talk t…
Last updated · 2026-05-21
Community discussion
0 questions & insightsLoading discussion…
Spotted something off? Report an error →