Robot operating system basics

ROS, or the Robot Operating System, is not an operating system in the traditional sense. It is a software framework and ecosystem that helps engineers build modular robot applications. ROS became popular because robotics systems are naturally complex, and ROS provides a common structure for connecting sensors, algorithms, visualization tools, and control logic.

Why ROS Exists

A real robot is made of many components: camera drivers, motor controllers, localization, mapping, planning, perception, logging, simulation, and more. Building all of that from scratch in a tightly coupled application quickly becomes unmanageable. ROS encourages a distributed architecture where components communicate through well-defined interfaces.

Core Concepts

Nodes

A node is a running process that performs one specific task. For example, one node may read LiDAR data, another may estimate odometry, and another may visualize the robot state.

Topics

Topics support asynchronous publish/subscribe communication. A LiDAR node may publish scan data, and multiple subscribers may consume it at the same time.

Services

Services are request/response interactions. They are useful for operations such as resetting a subsystem or requesting a map snapshot.

Actions

Actions are useful for longer-running tasks that need progress feedback, such as navigation to a goal.

TF

TF manages coordinate transforms between frames such as map, odom, base_link, and camera frames. Without TF, multi-sensor robot systems become extremely difficult to reason about.

A Simple Example

Imagine a mobile robot using ROS:

  1. A camera node publishes images.
  2. A LiDAR node publishes laser scans.
  3. An odometry node estimates motion.
  4. A SLAM node subscribes to scans and odometry to build a map.
  5. A planner uses the map and goal position to generate a path.
  6. A controller node sends wheel commands.

Each part can be inspected, restarted, replaced, or improved independently. That modularity is one of ROS's biggest strengths.

Tools Engineers Use Often

  • RViz for visualization
  • rosbag for recording and replaying data
  • rqt tools for debugging graphs and parameters
  • Gazebo or other simulators for testing

ROS 1 vs ROS 2

ROS 2 improves communication, security, real-time support, and multi-machine deployment by building on DDS. For new commercial or production-oriented systems, ROS 2 is often the better long-term choice, though ROS 1 remains important historically and in many research environments.

Final Thoughts

ROS matters because it reduces integration cost. It does not solve robotics for you, but it gives you a language and structure for connecting the parts. That is why it remains one of the most influential frameworks in modern robotics.

15 Comments

  1. Đạt Vũ's avatar Đạt Vũ says:

    Em chào ad!
    Ad có thể cho em hỏi là hiện tại ROS có được hỗ trợ trên hệ điều hành Mac OS không ạ?
    Hi vọng nhận được câu trả lời từ ad ạ, em xin cảm ơn và chúc ad nhiều sức khoẻ!

    Like

    1. Như mình biết thì ros2 có hỗ trợ trên mac os, còn ros thì mình không chắc lắm

      Like

    2. Nguyen Hai's avatar Nguyen Hai says:

      Em chào anh ạ. Em cũng đang nghiên cứu AGV mà luận văn của anh em thấy có AGV vậy anh cho em tham khảo bản full ko che được ko ạ. Em xin cảm ơn!

      Liked by 1 person

      1. ok em, liên lạc qua facebook anh gửi cho

        Like

      2. Hi em, sorry dạo này hơi bận, anh update trên github nhé: https://github.com/thanh118/RBGD-Mapping-

        Like

  2. Hikarinaka9's avatar Hikarinaka9 says:

    Chào anh Thanh,
    Anh có tài liệu về ROS2 không? Liệu anh có thể viết 1 bài về sự khác nhau giữa ROS và ROS2 được không ạ?
    Cảm ơn anh nhiều.

    Like

  3. son's avatar son says:

    ad gửi cho e cái link về ros với linux với ạ, em cảm ơn

    Like

    1. Nguyễn Văn Hải's avatar Nguyễn Văn Hải says:

      Chào anh ạ em cũng mới tìm hiểu AGV ros anh có thể cho em tham khảo bản full được không ạ?

      Like

  4. Nguyễn Chí Tâm's avatar Nguyễn Chí Tâm says:

    em chào anh ạ. Hiện tại em đang nghiên cứu và làm về AGV. Anh có thể cho em xin bản full để tham khoả được không ạ. Em cảm ơn

    Like

    1. NguyenHai's avatar NguyenHai says:

      Facebook của anh là gì ạ anh cho em xin được không?

      Like

  5. hoang's avatar hoang says:

    em chào anh ạ. Em đang nghiên cứu về AGV . A có thể cho em tham khảo bản không che không ạ?Em cảm ơn. Mong anh phản hồi sớm ạ.

    Like

  6. nguyen khoi's avatar nguyen khoi says:

    Hi, mình ccó thể liên hệ với anh qua email hoặc số điện thoại nào được vậy? Có vấn đề về Ros cần hợp tác ah

    Like

  7. Dai Hung's avatar Dai Hung says:

    Chào a! E cũng đang tìm hiểu về ROS và AGV. A có thể cho e thảm khảo luận văn của a được k ạ. Em cảm ơn!

    Like

  8. vo xuan loc's avatar vo xuan loc says:

    chào bạn mình mún giao tiếp phần mềm ros với con robot denso bạn cho mình xin tài liệu với nhé

    Like

  9. Huy Trịnh's avatar Huy Trịnh says:

    Em chào anh, hiện tại em đang nghiên cứu về xe tự hành và ROS mà còn bỡ ngỡ nhiều phần. Anh cho em tham khảo luận văn của anh được không ạ? Em cảm ơn ạ!

    Like

Leave a Comment