Giới thiệu
Mô phỏng robotics truyền thống (ví dụ: chạy Gazebo trên laptop hoặc máy chủ tại chỗ) thường bị giới hạn bởi tài nguyên phần cứng và khả năng xử lý song song. AWS RoboMaker được ra mắt nhằm đơn giản hóa phát triển robotics trên đám mây: nó cung cấp dịch vụ quản lý hoàn toàn cho các mô phỏng ROS/Gazebo, với hình ảnh container tích hợp, khả năng tạo ngẫu nhiên thế giới (WorldForge), và tích hợp với các dịch vụ đám mây (ví dụ: Kinesis, CloudWatch) thông qua các gói ROS. RoboMaker cho phép tự động mở rộng khả năng tính toán cho các khối lượng mô phỏng (“quản lý hoàn toàn… mở rộng hạ tầng cơ sở”); nó cung cấp cả chế độ mô phỏng không giao diện (headless) và giao diện đồ họa (NICE DCV). Tuy nhiên, AWS đã thông báo rằng RoboMaker sẽ ngừng hoạt động vào ngày 10 tháng 9 năm 2025. Sau ngày đó, bảng điều khiển và API của RoboMaker sẽ không còn khả dụng, và tất cả các khối lượng mô phỏng phải được chuyển sang các lựa chọn thay thế - chủ yếu là AWS Batch, dịch vụ tính toán theo lô đa mục đích của AWS.
Kiến trúc mô phỏng RoboMaker
AWS Batch cung cấp một trình lập kế hoạch công việc theo lô dựa trên container, có khả năng mở rộng cao. Khác với giao diện dành riêng cho robotics của RoboMaker, Batch yêu cầu người dùng định nghĩa các hình ảnh Docker và môi trường tính toán của riêng họ, nhưng lại cung cấp tính linh hoạt và khả năng mở rộng lớn (bao gồm công việc đa container và đa nút song song). Như AWS đã lưu ý, “AWS Batch tốt nhất cho việc chạy các mô phỏng theo lô không giao diện ở quy mô lớn”, trong khi mô phỏng giao diện tương tác là một tính năng của RoboMaker. Thực tế, việc chuyển sang Batch có nghĩa là chuyển đổi quy trình làm việc mô phỏng của RoboMaker thành một pipeline CI/CD được container hóa trên Batch: container hóa các ứng dụng ROS/Gazebo, đẩy hình ảnh vào ECR, định nghĩa môi trường và công việc tính toán Batch, và điều phối việc thực thi. Hướng dẫn này trình bày chi tiết con đường di chuyển, so sánh các tính năng của RoboMaker với Batch, và cung cấp ví dụ cũng như các thực tiễn tốt nhất cho việc thiết lập mô phỏng robotics trên AWS Batch.
Tóm tắt nhanh
- RoboMaker ngừng hoạt động: AWS RoboMaker sẽ kết thúc vào tháng 9 năm 2025. Tất cả ứng dụng, thế giới và công việc mô phỏng hiện có phải được chuyển đổi.
- Chiến lược: Chuyển sang AWS Batch: xuất bất kỳ tài sản nào được tạo ra bởi RoboMaker (thế giới, mô hình), container hóa mã robot và mô phỏng của bạn (ROS2 Humble + Gazebo + TurtleBot3) vào các hình ảnh Docker, đẩy lên ECR, sau đó tạo môi trường tính toán AWS Batch, hàng đợi công việc và định nghĩa công việc để chạy những container đó.
- Chuyển đổi kiến trúc: RoboMaker quản lý hạ tầng và có các công cụ mô phỏng tích hợp; Batch là tính toán tổng quát. Bạn sẽ mất các tính năng tích hợp (ví dụ: giao diện Worldforge, IDE phát triển theo yêu cầu) nhưng sẽ có quyền kiểm soát loại phiên bản, mở rộng không giới hạn và tối ưu hóa chi phí (không phí dịch vụ Batch, Instances Spot, công việc đa nút).
- Các bước cụ thể: (1) Xuất thế giới/mô hình từ RoboMaker (thông qua WorldForge ZIP vào S3). (2) Xây dựng các hình ảnh Docker cho ứng dụng robot và ứng dụng mô phỏng. (3) Đẩy các hình ảnh lên ECR. (4) Thiết lập AWS Batch: tạo Môi Trường Tính Toán (chọn EC2/Instances Spot cho CPU/GPU), một Hàng Đợi Công Việc liên kết với nó, và một Định Nghĩa Công Việc chỉ định hình ảnh Docker, vCPU/bộ nhớ, lệnh và biến môi trường. (5) Gửi và chạy các công việc Batch (đơn nút hoặc đa nút như cần thiết) để thực hiện các mô phỏng của bạn.
- Chi phí & mở rộng: Khác với mô hình định giá theo công việc của RoboMaker, AWS Batch không có phí bổ sung - bạn chỉ trả cho tài nguyên EC2 (hoặc Fargate) bạn sử dụng. Sử dụng Instances Spot để tiết kiệm chi phí. Batch dễ dàng mở rộng đến hàng trăm hoặc hàng ngàn công việc đồng thời.
- Giám sát & tự động hóa: Tiếp tục sử dụng CloudWatch để theo dõi nhật ký và chỉ số (ví dụ: dữ liệu vị trí/cảm biến ROS). Lưu trữ đầu vào/đầu ra và tệp thế giới trong S3. Bạn có thể điều phối quy trình làm việc với AWS Step Functions hoặc CodePipeline.
So sánh Tính Năng & Kiến Trúc: RoboMaker vs AWS Batch
Tính năng | RoboMaker | AWS Batch |
---|---|---|
Mô hình dịch vụ | Dịch vụ robotics chuyên biệt có giao diện GUI | Trình lập kế hoạch công việc theo lô tổng quát |
Hỗ trợ khối lượng công việc | Được xây dựng cho mô phỏng robot ROS/Gazebo | Chạy bất kỳ container Linux nào |
Khả năng mở rộng | Giới hạn 10 công việc đồng thời | Mở rộng không giới hạn theo yêu cầu |
Mô phỏng không giao diện vs GUI | Hỗ trợ cả hai | Chủ yếu cho mô phỏng không giao diện |
Tích hợp dịch vụ đám mây | Tích hợp tích cực với các gói ROS | Yêu cầu người dùng tích hợp thủ công |
Danh sách kiểm tra di chuyển
- Xuất tài sản mô phỏng: Sử dụng xuất WorldForge của RoboMaker hoặc các phương pháp thủ công để trích xuất bất kỳ tệp thế giới, mô hình tùy chỉnh nào mà bạn đã sử dụng.
- Container hóa ứng dụng: Xây dựng các hình ảnh Docker cho mã robot và mô phỏng của bạn.
- Chuẩn bị môi trường Batch: Tạo một Môi Trường Tính Toán cho AWS Batch. Chọn EC2 (hoặc Fargate) và chọn loại phiên bản cần thiết.
- Định nghĩa công việc Batch: Tạo một Định Nghĩa Công Việc AWS Batch. Chỉ định hình ảnh Docker và các thuộc tính khác.
- Chạy và lặp lại: Gửi một công việc Batch và theo dõi nhật ký trong CloudWatch. Tinh chỉnh hình ảnh Docker hoặc định nghĩa công việc nếu cần.
- Tự động hóa quy trình làm việc: Sử dụng AWS Step Functions hoặc CodePipeline để tự động hóa quy trình làm việc mô phỏng.
Xem xét Chi phí và Hiệu suất
- Mô hình định giá: AWS Batch miễn phí - bạn chỉ trả cho tài nguyên EC2/Fargate bạn sử dụng. RoboMaker tính phí theo giây mô phỏng tại kích thước phần cứng cố định.
- Mở rộng: AWS Batch có thể mở rộng đến hàng trăm công việc đồng thời.
- Giám sát CloudWatch: Cấu hình các nút ROS của bạn để xuất bản chỉ số hoặc nhật ký lên CloudWatch theo nhu cầu.
Kết luận
Sự chuyển đổi từ RoboMaker sang AWS Batch đòi hỏi một số nỗ lực thiết lập, nhưng lợi ích về khả năng kiểm soát chi phí và linh hoạt trong quy trình mô phỏng là rất lớn. Bằng cách làm theo hướng dẫn trên và tận dụng tính năng đa nút và đa container của Batch, bạn có thể xây dựng các hệ thống robotics quy mô lớn, hiệu quả hơn. Hãy bắt tay vào việc chuyển đổi này ngay hôm nay để tận dụng tối đa các công nghệ hiện có trên AWS!
Câu hỏi thường gặp (FAQ)
1. RoboMaker sẽ ngừng hoạt động khi nào?
RoboMaker sẽ ngừng hoạt động vào ngày 10 tháng 9 năm 2025.
2. Làm thế nào để chuyển đổi tài sản từ RoboMaker sang AWS Batch?
Bạn có thể xuất các tài sản mô phỏng từ RoboMaker và sau đó container hóa chúng để sử dụng trên AWS Batch.
3. Có cách nào để tiết kiệm chi phí khi sử dụng AWS Batch không?
Có, bạn có thể sử dụng Instances Spot để tiết kiệm chi phí cho các công việc mô phỏng không yêu cầu thời gian thực.
4. Tôi cần chuẩn bị gì trước khi bắt đầu trên AWS Batch?
Bạn cần chuẩn bị các hình ảnh Docker cho ứng dụng của bạn và thiết lập môi trường tính toán trên AWS Batch.
5. Làm thế nào để giám sát công việc trên AWS Batch?
Bạn có thể sử dụng CloudWatch để theo dõi nhật ký và chỉ số của các công việc Batch.