13 Hệ điều hành ROS
132 Mục tiêu của ROS
Mục tiêu của ROS rất rõ ràng nhằm xây dựng môi trường phát triển cho phép phát triển phần mềm robot trên tồn cầu ROS có các đặc điểm:
- Chia nhỏ các tác vụ: ROS được lập trình dưới dạng chia các cơng việc thành các q trình xử lí nhỏ gọi là các nút (node) Mỗi quy trình sẽ chạy độc lập và trao đổi dữ liệu một cách có hệ thống [49], [50]
- Quản lí gói: Nhiều quy trình xử lí có cùng mục đích được quản lý như một gói sao cho dễ sử dụng và phát triển, cũng như thuận lợi chia sẻ, sửa đổi và phân phối lại
- Kho lưu trữ cơng cộng: Mỗi gói được cơng khai lên các nhà phát triển cộng đồng như Github và đánh dấu bản quyền bằng giấy phép
- Giao diện lập trình ứng dụng API (Application Programming Interface): Khi phát triển chương trình sử dụng ROS, ROS được thiết kế để chỉ cần gọi API và chèn nó dễ dàng vào những mã đang được sử dụng Lập trình với ROS sẽ khơng khác nhiều so với C++ và Python [60]
- Hỗ trợ các ngơn ngữ lập trình khác nhau: Chương trình ROS cung cấp nhiều thư viện để hỗ trợ các ngơn ngữ lập trình khác nhau Thư viện có thể được thêm vào trong q trình lập trình của các ngơn ngữ phổ biến trong lĩnh vực robot như Python, C++ Nói cách khác, ROS có thể được lập trình bằng các ngơn ngữ ưa thích
Những đặc điểm này của ROS đã cho phép người dùng thiết lập một mơi trường có thể hợp tác phát triển phần mềm cho robot ở mức toàn cầu Sử dụng các API đã nghiên cứu và phát triển cho robot sẽ giúp rút ngắn quá trình nghiên cứu, ứng dụng và cũng là mục tiêu cuối cùng của ROS [102]