ROS là gì? GIỚI THIỆU VỀ HỆ THỐNG VẬN HÀNH ROBOT (ROS) Nếu bạn đang đọc nó, đó là vì bạn đang hoặc bạn muốn trở thành một nhà phát triển ROS. Về cơ bản, nhà phát triển ROS là người muốn xây dựng các chương trình cho rô bốt dựa trên ROS. Vâng, nhưng ROS là gì? Tôi có thể học ROS bằng cách nào? Làm thế nào tôi có thể bắt đầu phát triển với nó? Môi trường phát triển tối ưu nhất cho nó là gì? Tất cả những câu hỏi đó sẽ được trả lời trong các trang sau. Nhưng trước khi bắt đầu với những điều thực tế, chúng ta hãy trả lời một số câu hỏi cơ bản về ROS là gì và tại sao nó có thể là cánh cửa để bạn có thể trở thành nhà phát triển cho robot. TẠI SAO KHÔNG CÓ ĐỦ NHÀ PHÁT TRIỂN CHO ROBOTICS? Nói chung, các nhà phát triển phần mềm không thích xử lý phần cứng. Rất có thể bạn là một nhà phát triển và chưa bao giờ nghĩ đến việc bước vào lĩnh vực chế tạo người máy. Bạn có thể nghĩ rằng bằng cách lập trình cho robot, bạn sẽ cần biết về điện tử và thậm chí có thể là cơ khí. Bạn có thể nghĩ rằng phần cứng và phần mềm quá khớp trong robot và bạn không thể chạm vào thứ này mà không chạm vào thứ kia. Ví dụ, một số năm trước, tôi đã phải làm hệ thống định vị cho một con rô bốt. Tuy nhiên, chương trình điều hướng của chúng tôi đã không hoạt động. Chúng tôi nghĩ rằng đó là lỗi với chương trình, nhưng sau khi xem xét kỹ lưỡng, chúng tôi nhận thấy rằng đó thực sự là vấn đề với thiết bị điện tử của máy quét laser mà chúng tôi sử dụng để bản địa hóa robot. Có một số gián đoạn vi mô trong mức điện áp khiến tia laser khởi động lại. Để tìm ra lỗi đó, chúng tôi phải đi đến những điều cơ bản và tìm ra vấn đề bên trong laser vật lý. Đối với điều đó, bạn cần phải gây rối với các thiết bị điện tử. Bạn phải lấy tia laser ra khỏi robot, đặt nó lên bàn và bắt đầu thử nghiệm. Điện áp khác nhau, ngắt nguồn điện khác nhau, tất cả đều nhằm cố gắng tạo lại hiệu ứng trong môi trường được kiểm soát. Đó là tương tác nhiều với phần cứng. Tương tác với phần cứng là điều mà nhiều nhà phát triển phần mềm không thích. Sau cùng, họ quyết định trở thành nhà phát triển phần mềm, không phải phần cứng! ROBOTICISTS LẬP TRÌNH ROBOTS Do đó, việc lập trình rô bốt đã được thực hiện bởi các nhà chế tạo rô bốt, những người chế tạo ra rô bốt. Có thể một số người trong số họ không trực tiếp tham gia vào việc tạo ra robot, nhưng chắc chắn họ không gặp vấn đề gì khi vào phần cứng và cố gắng khắc phục một số sự cố phần cứng, để chương trình của họ hoạt động. Nhưng hãy đối mặt với nó, hầu hết các nhà phát triển robot đều là những nhà phát triển giỏi hơn các nhà lập trình. Đó là lý do tại sao robot có thể được hưởng lợi rất nhiều từ việc có nhiều lập trình viên chuyên nghiệp đến với lĩnh vực này. Tin tốt là việc đưa các nhà phát triển vào lĩnh vực này trở nên khả thi hơn bao giờ hết. Nhờ Hệ điều hành Robot, ROS, bạn hoàn toàn có thể trừu tượng hóa phần cứng khỏi phần mềm, vì vậy bạn có thể lập trình một robot chỉ bằng cách biết API ROS của robot. Bằng cách sử dụng API ROS, bạn có thể quên đi phần cứng và chỉ tập trung vào phần mềm giúp robot làm những gì bạn muốn. API ROBOT ROS LÀ GÌ? API ROS là danh sách các chủ đề, dịch vụ, máy chủ hành động và thông điệp ROS mà một rô bốt cụ thể đang cung cấp để cấp quyền truy cập vào phần cứng của nó, nghĩa là cảm biến và thiết bị truyền động. Nếu bạn không quen thuộc với ROS, bạn có thể không hiểu những thuật ngữ đó có nghĩa là gì. Nhưng chỉ cần đặt trong ngôn ngữ của nhà phát triển, các chủ đề / dịch vụ / tin nhắn giống như các chức năng phần mềm mà bạn có thể gọi trên rô bốt để lấy dữ liệu từ các cảm biến hoặc khiến rô bốt hành động. Nó cũng bao gồm các tham số bạn có thể chuyển cho các chức năng đó. Hầu hết các nhà chế tạo rô bốt hiện đại đang cung cấp các API ROS có sẵn, chẳng hạn như ROS- Cửa hàng linh kiệncung cấp tất cả phần cứng của nó chạy với API ROS. Nếu rô bốt bạn muốn làm việc không chạy ROS, bạn vẫn có thể làm cho rô bốt hoạt động với ROS bằng cách ROSizing nó. ROSify có nghĩa là điều chỉnh robot của bạn để hoạt động với ROS. Để ROSify một robot thường yêu cầu kiến thức để truy cập phần cứng. Bạn cần học cách giao tiếp với thiết bị điện tử cung cấp dữ liệu cảm biến hoặc truy cập vào các động cơ của rô bốt. Trong loạt bài hướng dẫn về ROS này, chúng tôi không đề cập đến chủ đề đó vì chủ đề đó nằm ngoài phạm vi dành cho các nhà phát triển. Nhưng nếu bạn quan tâm đến chủ đề này, bạn có thể tìm hiểu thêm về nó trong Khóa học chế tạo robot này. Vì vậy, đối với phần còn lại của các hướng dẫn, chúng tôi sẽ giả định rằng bạn có quyền truy cập (hoặc sẵn sàng có quyền truy cập) vào rô bốt đã được ROSified. ROS LÀ GÌ? ROS là viết tắt của Hệ điều hành Robot. Ngay cả khi nó nói như vậy, ROS không phải là một hệ điều hành thực sự vì nó chạy trên Linux Ubuntu. ROS là một khuôn khổ trên hệ điều hành cho phép nó trừu tượng hóa phần cứng khỏi phần mềm. Điều này có nghĩa là bạn có thể nghĩ về phần mềm cho tất cả phần cứng của robot. Và đó là tin tốt cho bạn vì điều này ngụ ý rằng bạn thực sự có thể tạo các chương trình cho robot mà không cần phải xử lý phần cứng. Vâng! ROS CHO ROBOTS DỊCH VỤ ROS đang trở thành tiêu chuẩn trong lập trình robot, ít nhất là trong lĩnh vực robot dịch vụ. Ban đầu, ROS bắt đầu ở các trường đại học, nhưng nhanh chóng lan rộng ra thế giới kinh doanh. Mỗi ngày, ngày càng có nhiều công ty và công ty khởi nghiệp đặt nền tảng kinh doanh của họ trong ROS. Trước khi có ROS, mọi robot phải được lập trình bằng API riêng của nhà sản xuất. Điều này có nghĩa là nếu bạn thay đổi rô bốt, bạn phải khởi động lại toàn bộ phần mềm, ngoài việc phải học API mới. Hơn nữa, bạn phải biết rất nhiều về cách tương tác với thiết bị điện tử của robot để hiểu chương trình của bạn đang hoạt động như thế nào. Tình hình tương tự như máy tính vào những năm 80, khi mọi máy tính đều có hệ điều hành riêng và bạn phải tạo cùng một chương trình cho mọi loại máy tính. ROS dành cho rô bốt như Windows dành cho PC hoặc Android dành cho điện thoại. Bằng cách có rô bốt ROSified, tức là rô bốt chạy trên ROS, bạn có thể tạo các chương trình có thể được chia sẻ giữa các rô bốt khác nhau. Bạn có thể xây dựng một chương trình điều hướng, đó là một chương trình để làm cho rô bốt di chuyển xung quanh mà không va chạm, cho rô bốt bốn bánh do công ty A chế tạo và sau đó sử dụng cùng một mã chính xác để di chuyển rô bốt hai bánh do công ty B chế tạo.. hoặc thậm chí sử dụng nó trên máy bay không người lái của công ty C. MỘT SỐ CÂU HỎI THƯỜNG GẶP Hệ điều hành nào nên được sử dụng với ROS? ROS hoạt động trên Linux Ubuntu hoặc Linux Debian. Hỗ trợ thử nghiệm đã tồn tại cho OSX và Gentoo và một phiên bản dành cho Windows đang được triển khai, nhưng chúng tôi thực sự không khuyên bạn nên sử dụng chúng, trừ khi bạn là một chuyên gia. Kiểm tra trang này để biết thêm thông tin về cách sử dụng ROS trên các hệ thống đó