Tổng quan về hệ điều hành robot Robot Operating System

Một phần của tài liệu Luận văn tốt nghiệp triển khai thuật toán định hướng trên ROS cho robot tự hành trong nhà (Trang 33 - 36)

14- Tổng quát về bản thuyết minh:

3.1.1. Tổng quan về hệ điều hành robot Robot Operating System

ROS là một hệ điều hành mã nguồn mở, dùng cho các ứng dụng trên robot. Về cơ bản, ROS cũng có những khả năng cần thiết cho một hệ điều hành cơ bản nhƣ khả năng thực hiện các tác vụ (task) song song, giao tiếp, trao đổi dữ liệu giữa các tác vụ bằng thông điệp và quản lý dữ liệu…Bên cạnh đó, để có thể ứng dụng trong lĩnh vực robotics, ROS đã phát triển các khái niệm, thƣ viện và công cụ chuyên biệt dành cho việc thu thập dữ liệu, xử lý, hiển thị và điều khiển…Ngoài ra, ROS còn có thể tƣơng tác và kết hợp với nhiều framework khác nhƣ Player (một software tool cho robot và các ứng dụng về cảm biến), Orocos (điều khiển thông minh trong robot và tự động hóa), Carmen (Robot Navigation Toolkit), Orca (các đối tƣợng cho robot)…

ROS có nhiều khái niệm dựa trên graph, biểu diễn mối quan hệ giữa các thành phần trong hệ điều hành nhƣ stack, package, node, topic, message, service… cũng nhƣ các khái niệm hệ tọa độ, và phép chuyển đổi hệ tọa độ.

Về khía cạnh trao đổi dữ liệu và giao tiếp, ROS có tích hợp sẵn một vài chuẩn giao tiếp đồng bộ theo chuẩn RPC qua các services, truyền dữ liệu bất đồng bộ qua topics và lƣu trữ dữ liệu trên Parameter Server.

Hệ điều hành ROS cùng với các công cụ và thƣ viện hỗ trợ thƣờng phát hành dƣới dạng ROS Distribution, tƣơng tự Linux Distribution, cung cấp những bộ phần mềm ổn định để ngƣời dùng sử dụng và phát triển thêm.

ROS là một hệ điều hành mã nguồn mở, cho nên thu hút đƣợc sự quan tâm và đóng góp của cộng đồng trên khắp thế giới để xây dựng phát triển các dự án robotics, các công cụ và thƣ viện kèm theo. Có rất nhiều mô hình robot đã đƣợc xây dựng thành công với hệ điều hành ROS này.

Hình 3.1: Các robot ứng dụng thành công ROS PR2 (Personal Robot), Kobuki, Jaguar, Turtlebot

Hiện nay ROS chỉ chạy trên hệ điều hành Ubuntu và Mac OS X. Cộng đồng ROS đang thử nghiệm hỗ trợ cho các nền tảng khác nhƣ Windows, ARM Linux, Fedora và Gentoo.

Hình 3.2: Cộng đồng các trung tâm tham gia đóng góp phát triển cho ROS trên thế giới

Ƣu điểm của ROS

Xây dựng ứng dụng robotics trên nền ROS sẽ giảm đi một lƣợng đáng kể các công việc lập trình, thiết lập hệ thống, tận dụng nguồn tài nguyên mã nguồn mở vô cùng phong phú của cộng đồng.

Ta có thể so sánh khối lƣợng công việc kỹ thuật cơ bản (required engineering) và khối lƣợng nghiên cứu khoa học nòng cốt (Core Research) nhƣ sau:

Hình 3.3: So sánh khối lƣợng công việc phải làm khi dùng và không dùng ROS

Từ đó, ta thấy rằng, với sự hiệu quả từ ROS, thời gian dành cho các công việc kỹ thuật cơ bản sẽ đƣợc giảm xuống rất đáng kể, và do đó, tăng thời gian cho công việc nghiên cứu chuyên sâu, hàm lƣợng khoa học đạt đƣợc trong đề tài sẽ lớn hơn nhiều lần.

Một số đặc điểm giúp cho ROS trở thành một hệ điều hành nên đƣợc sử dụng khi nghiên cứu phát triển một ứng dụng robot là:

- ROS là hệ điều hành mã nguồn mở.

- Các tài liệu kỹ thuật, tài liệu hƣớng dẫn và các kênh hỗ trợ đầy đủ.

- Vấn đề cốt lõi nhất khiến ROS trở nên mạnh mẽ đó là tính cộng đồng rất lớn. Nguồn tài nguyên đƣợc cộng đồng đóng góp hầu nhƣ đƣợc xây dựng, phát triển từ những viện nghiên cứu và những trƣờng đại học hàng đầu trên thế giới.

- Đồ họa – Visualization.

- Nhận diện vật thể – Object recognition - Định hƣớng di động – Navigation

- Thao tác/Thu giữ – Manipulation/Grasping

Một phần của tài liệu Luận văn tốt nghiệp triển khai thuật toán định hướng trên ROS cho robot tự hành trong nhà (Trang 33 - 36)