Danh sách các thành phần chính trong ros2:
[ Sensor / Motor / Camera ]
↓
[ Hardware Interface ] <--- Kết nối driver phần cứng
↓
[ Controller Manager ] <--- Quản lý PID, trajectory, velocity...
↓
[ ROS Nodes ] <--- Perception, Planning, Control
↓
[ Topic / Service / Action / TF ]
↓
[ Visualization / GUI / Web / AI / SLAM ]
Mỗi thành phần chính sẽ tách thành bài học nhỏ đảm bảo bạn không bị khủng hoảng, và tôi cũng cố gắng thay đổi cách tiếp cận của các khóa học từ nước ngoài. Lộ trình học này có thể khác biệt nhưng theo tôi nó sẽ giúp bạn tự tin từng bước và cảm giác liên tục đạt được những thành tựu và hạn chế sự bỏ cuộc.
Thành phần | Mô tả | Bài học |
---|---|---|
Hardware Interface | Giao tiếp phần cứng qua C++ | -- |
URDF/XACRO | Mô tả hình học và khớp nối robot | -- |
TF2 | Quản lý hệ trục tọa độ động | -- |
Gazebo | Mô phỏng vật lý 3D | -- |
RViz | Visualization 3D dữ liệu robot | -- |
Nodes | Đơn vị xử lý độc lập, chạy song song, giao tiếp qua topics/services/actions | -- |
Lifecycle nodes | Cho phép kiểm soát vòng đời của node (inactive, active...) | -- |
Parameters | Cấu hình động cho nodes | -- |
Launch system | Tự động khởi tạo nodes, cấu hình hệ thống | -- |
Executors | Điều phối việc thực thi các callbacks trong nodes | -- |
Topics | Kênh truyền dữ liệu kiểu publish/subscribe | -- |
Services | Giao tiếp 2 chiều kiểu request/response | -- |
Actions | Thực hiện các tác vụ dài hạn có thể theo dõi trạng thái | -- |
Controller Manager | Quản lý các controller (PID, joint, velocity, effort...) | -- |
ros2_control | Framework điều khiển phần cứng thời gian thực | -- |
ros2_controllers | Bộ sưu tập các controller tiêu chuẩn | -- |
Navigation2 | Điều hướng và SLAM | -- |
AI/ML/Deep Learning | ROS có thể tích hợp mô hình AI như YOLOv5, Detectron2, LLMs, thông qua ROS Nodes sử dụng Python/C++ để inference từ camera, lidar... | -- |
Rất nhiều người khi mới học ROS 2 đều cảm thấy hoang mang, kể cả những người đã biết lập trình lâu năm. Đây là lĩnh vực vừa dính đến code, vừa dính đến robot học, real-time, lại còn hệ thống phân tán nữa — cho nên khó là chuyện bình thường.
Giờ chúng ta chính thức xuất phát nhé!