Atlas Robotics
Bài 1/9 · khoảng 6 phút

Bức tranh tổng thể

ROS 2 (Robot Operating System 2) không phải hệ điều hành theo nghĩa thông thường — nó là một tập thư viện và quy ước chạy trên Linux/Windows/Mac, đóng vai trò middleware: cung cấp cách chuẩn để nhiều chương trình nhỏ (gọi là node) tìm thấy nhau và trao đổi dữ liệu, thay vì mỗi người tự viết giao thức mạng riêng.

Robot Atlas gồm hàng chục node như vậy chạy song song: đọc cảm biến, tính toán quỹ đạo, điều khiển bánh xe. Mỗi node làm đúng một việc, độc lập — tắt, bật, hay thay thế một node không đụng tới các node khác.

Sau module này bạn sẽ

  • Đọc được sơ đồ ROS 2: ai gửi, ai nhận, qua đâu
  • Hiểu vì sao ROS 2 không cần roscore
  • Tự viết được một node publisher/subscriber và một service
  • Đọc được package và launch file trong dự án Atlas

Nhìn trước một hệ thống đang chạy

Đây là ba node đang trao đổi dữ liệu. Không node nào biết node nào ở đâu; chúng chỉ nói chuyện qua topic có tên. Hãy quan sát các chấm (message) bay và node nào sáng lên khi nhận.

Các khái niệm sẽ gặp

NodeMột chương trình có tên, làm một việc.
TopicLuồng dữ liệu liên tục, một chiều.
ServiceHỏi – đáp: gửi yêu cầu, đợi kết quả.
ParameterCấu hình có thể đổi khi đang chạy.
LaunchKhởi động nhiều node cùng lúc từ một file.

Cách xem mô hình: bấm ❚❚ để tạm dừng, ↺ để chạy lại từ đầu, và chọn 0.5× để xem chậm.

Chuẩn bị

Module này giả định bạn đã xong Module 0 — Cài đặt & build: workspace đã build, terminal đã source install/setup.bash. Vài bài (Node, Topic, Parameter) cần hai node mẫu đang chạy để thử lệnh — mỗi bài sẽ ghi rõ "Terminal 1 / Terminal 2" khi cần.