Hệ điều hành robot (ROS)

Một phần của tài liệu Robot khử khuẩn bằng tia uv sử dụng cảm biến LIDAR và RASPBERRY (Trang 61 - 63)

4.2 Thiết kế phần mềm

4.2.1 Hệ điều hành robot (ROS)

ROS (Hệ điều hành Robot) là một khung phần mềm mã nguồn mở để phát triển robot. Công chúng biết đến ROS khi ROS 0.4 được phát hành vào ngày 1/1/2009. Mục tiêu chính của ROS là tiêu chuẩn hóa và tái sử dụng phần mềm robot trên toàn cầu và tạo ra một cộng đồng cho các nhà phát triển robot. Hiện tại, ROS chỉ chạy trên Linux. Hệ điều hành và nó hỗ trợ các ngơn ngữ C ++, Python và Lisp. ROS cung cấp các dịch vụ hệ điều hành tiêu chuẩn như trừu tượng hóa phần cứng, điều khiển thiết bị cấp thấp, triển khai chức năng thường được sử dụng, truyền thông báo giữa các quy trình và quản lý gói. Nó dựa trên kiến trúc đồ thị trong đó q trình xử lý diễn ra trong các nút có thể nhận, gửi và ghép kênh cảm biến, điều khiển, trạng thái, lập kế hoạch, bộ truyền động và các thơng báo khác. Nói cách khác, nó kết nối phần cứng với phần mềm để tạo ra một mơi trường lập trình nâng cao để điều khiển phần cứng cấp thấp. Kiến trúc chính của ROS dựa trên các nút và mỗi nút là một quy trình độc lập. Việc sử dụng các nút mang lại một số lợi ích cho hệ thống tổng thể. Trước hết, vì mỗi nút độc lập với nhau, sự cố của một nút khơng có khả năng dẫn đến sự cố toàn bộ hệ thống. Thứ hai, kiến trúc của ROS cũng giúp cải thiện khả năng tái sử dụng của mã. Ví dụ, chúng tơi viết một chương trình A (nút A) cho phép robot đi đến bất cứ đâu nó muốn mà khơng gặp vấn đề gì. Tuy nhiên, chúng ta cần một chương trình B khác (nút B) để xử lý dữ liệu camera để robot có thể nhận biết được mơi trường xung

51

quanh. Trong ROS, giao tiếp được thực hiện bằng cách chuyển các thơng điệp giữa các nút. Nói chung, các nút khơng biết chúng đang giao tiếp với ai. Tất cả các tin nhắn đã gửi được xuất bản cho một topic. Nếu một nút muốn nhận tin nhắn, nó phải đăng ký các topic cụ thể. Có thể có nhiều publishers và nhiều subscribers vào một nút. Nói cách khác, chúng ta có thể nói rằng một chủ đề giống như một kênh quảng bá trong đó một nút có thể truy cập tất cả các thơng điệp. Trong trường hợp có nhiều chủ đề, một nút sẽ bỏ qua tất cả các thông báo từ các chủ đề mà họ không đăng ký.

52

Một phần của tài liệu Robot khử khuẩn bằng tia uv sử dụng cảm biến LIDAR và RASPBERRY (Trang 61 - 63)

Tải bản đầy đủ (PDF)

(80 trang)