ROS 2 là gì?
ROS 2 (Robot Operating System 2) là framework mã nguồn mở được thiết kế lại hoàn toàn từ ROS 1, nhắm đến việc hỗ trợ các ứng dụng robot thương mại và công nghiệp. Không giống như ROS 1 phụ thuộc vào một master node trung tâm, ROS 2 sử dụng DDS (Data Distribution Service) làm middleware giao tiếp, cho phép kiến trúc phân tán thực sự.
Tại sao nên chuyển sang ROS 2?
1. Hỗ trợ Real-time
ROS 2 được xây dựng trên nền tảng DDS với khả năng QoS (Quality of Service) linh hoạt. Điều này cho phép bạn cấu hình độ tin cậy, độ trễ và băng thông cho từng topic riêng biệt — yếu tố quan trọng trong điều khiển robot công nghiệp.
2. Bảo mật tích hợp
ROS 2 tích hợp SROS2 (Secure ROS 2) với mã hóa TLS/DTLS cho giao tiếp giữa các node. Trong môi trường nhà máy, đây là yêu cầu bắt buộc khi robot kết nối qua mạng nội bộ.
3. Đa nền tảng
ROS 2 hỗ trợ chính thức Ubuntu, Windows và macOS. Bạn có thể phát triển trên laptop Windows và deploy lên robot chạy Ubuntu ARM64 mà không cần thay đổi code.
Kiến trúc cơ bản
Một hệ thống ROS 2 điển hình bao gồm:
- Node: Đơn vị xử lý cơ bản, mỗi node thực hiện một nhiệm vụ cụ thể (đọc sensor, điều khiển motor, xử lý ảnh)
- Topic: Kênh giao tiếp pub/sub giữa các node, sử dụng message type được định nghĩa trước
- Service: Giao tiếp request/response cho các tác vụ cần phản hồi đồng bộ
- Action: Kết hợp service và topic cho các tác vụ dài hạn (ví dụ: di chuyển robot đến vị trí đích)
Bắt đầu với ROS 2 Humble
ROS 2 Humble Hawksbill là phiên bản LTS (hỗ trợ đến 2027), phù hợp cho dự án production. Cài đặt trên Ubuntu 22.04:
sudo apt install ros-humble-desktop
source /opt/ros/humble/setup.bash
Tạo workspace và package đầu tiên:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
ros2 pkg create --build-type ament_python my_robot_pkg
Kết luận
ROS 2 đã trưởng thành đủ để sử dụng trong sản xuất. Với hệ sinh thái phong phú (Navigation2, MoveIt2, ros2_control), đây là lựa chọn hàng đầu cho bất kỳ dự án robot nào từ nghiên cứu đến thương mại. Tại VnRobo, chúng tôi sử dụng ROS 2 làm nền tảng cho toàn bộ hệ thống robot fleet management.


