Tổng quan ROS cơ bản

1. ROS (Robot Operating System) là gì? 

Hệ điều hành rô-bốt (ROS) là một framework mã nguồn mở để viết phần mềm rô bốt. ROS là một tập hợp các công cụ, thư viện và quy ước nhằm mục đích đơn giản hóa nhiệm vụ tạo ra hành vi rô-bốt phức tạp và mạnh mẽ trên nhiều nền tảng rô-bốt khác nhau. ROS có mọi thứ bạn cần cho dự án rô-bốt của mình bao gồm: trình điều khiển (driver), các thuật toán hiện đại (SOTA) và những công cụ mạnh mẽ dành cho nhà phát triển [1]. ROS được phân loại là một hệ điều hành Meta.

 

Hệ điều hành Robot ROS
Nguồn: https://www.open-electronics.org/

 

2. Hệ điều hành Meta (Meta Operating System) là gì? 

Hệ điều hành Meta chạy song song với hệ điều hành truyền thống. Nó hoạt động gần với hệ điều hành nhưng không cung cấp tất cả các chức năng để nó được phân loại là hệ điều hành. Trong khi một hệ điều hành thông thường là một giao diện giữa phần cứng máy tính và người dùng cuối thì ROS là một phần mềm trung gian. 

 


Hệ điều hành Meta 
Nguồn: https://serverhub.com/

ROS không phải như là các hệ điều hành như Windows, Linux hoặc Mac mà ROS chỉ là một kiến trúc phần mềm trung gian để cấu hình và liên lạc giữa các máy phân tán (inter-machine). 

3. Lịch sử của ROS 

ROS là kết quả của sự hợp tác không giới hạn của nhiều người từ cộng đồng rô-bốt. Những nỗ lực ban đầu được thực hiện vào những năm 2000 tại Đại học Stanford. Trong khi có những framework tương tự đang được phát triển, vào năm 2007 William Garage đã thúc đẩy phát triển ROS và thậm chí còn tạo ra các triển khai đã được thử nghiệm tốt. Bản phân phối đầu tiên của ROS, ROS 0.4 được phát hành vào năm 2009. Việc đặt tên cho các phân phối sắp tới của ROS được thực hiện theo các loại rùa. Thú vị phải không. Hãy cùng điểm qua một số phiên bản phát hành:

Vào năm 2011, Robot TurtleBot đã được ra mắt và trở nên nổi tiếng dành cho các nhà phát triển ROS. Điều này trở thành một cú hích lớn và các phiên bản của những con robot Turtle này vẫn được sử dụng cho đến ngày nay. 

Lịch sử của ROS 
Nguồn: https://wiki.ros.org/

Nhưng sau đó vào năm 2014, Willow Garage quyết định đóng cửa công ty. Đây là lý do chính dẫn đến việc thành lập Tổ chức Robotics mã nguồn mở (Open Source Robotics Foundation - OSRF) để phụ trách phát triển ROS. Sau đó, ROS tiếp tục được phát triển và phát hành các phiên bản mới, một trong số đó là: 

Quá trình phát triển của ROS
Nguồn: Willow Garage

Vào năm 2017, Open Source Robotics Foundation đã đổi tên thành Open Robotics và họ đã phát hành các phiên bản mới hơn và cộng đồng ROS đang tiếp tục phấn đấu để cải thiện hơn nữa. 

4. Tổng quan về ROS 

ROS bao gồm các thư viện và công cụ để hỗ trợ các ngôn ngữ lập trình, phần cứng và chương trình khác nhau. Trong bài viết này chúng ta chỉ xem xét một số tính năng cơ bản để hiểu những điều cơ bản về ROS.

ROS cũng cung cấp các công cụ mô phỏng. Trong đó có Gazebo để trực quan hóa và điều khiển robot trong không gian ba chiều.

Hệ điều hành Robot ROS và công cụ mô phỏng Gazebo
Nguồn: Google

ROS không phải là gì? 

Trong cuốn sách A Gentle Introduction to ROS, tác giả đã đề cập đến ba điều không đúng về ROS: ROS không phải là một ngôn ngữ lập trình, ROS không chỉ là một thư viện và ROS không phải là môi trường phát triển tích hợp (Integrated Development Environment - IDE). Bạn sẽ dần hiểu rõ hơn những điểm này khi bắt đầu làm quen với ROS còn hiện tại chỉ cần nhớ rằng ROS về cơ bản là một nền tảng cung cấp cho bạn các công cụ để tạo ra ứng dụng robot.

Tại sao chọn ROS? 

Trên trang chủ của ROS có dòng chữ "Don’t reinvent the wheel. Create something new and do it faster and better by building on ROS!" nôm na nghĩa là không cần phải mất công làm lại những cái có sẵn, ROS giúp bạn dựng lên những thứ mới nhanh và hiệu quả hơn.

Bắt đầu với ROS như thế nào? 

Để bắt đầu với ROS chúng ta có 5 bước chính theo thứ tự như hình bên dưới.

Các bước bắt đầu với ROS
Nguồn: https://robodev.blog/ 

Sau khi trả lời xong ba câu hỏi what, why, how chúng ta đã có cái nhìn tổng quan hơn về ROS. Hy vọng với bài viết này sẽ giúp các bạn hiểu hơn về hệ điều hành robot ROS. 

Tài liệu tham khảo

[1] https://www.ros.org/

[2]https://medium.com/dsc-sastra-deemed-to-be-university/ros-a-brief-introduction-17eccbb2043b

[3] https://robodev.blog/