Lập trình robot với ROS - Phần 3: Những điều cần biết về ROS Noetic

28 Tháng Hai 2021

Chào mọi người, ở phần bài trước chúng ta đã tìm hiểu tổng quan về ROS Noetic và tiến hành cài đặt môi trường phát triển trên hệ điều hành Ubuntu 20.04 với phiên bản ROS Noetic. Bài này mình sẽ tổng kết lại 1 số ý về ROS Noetic.

Lập trình robot với ROS - Phần 3: Những điều cần biết về ROS Noetic

Giới thiệu 

ROS Noetic Ninjemys là phiên bản phát hành thứ 13 và mới nhất của Hệ điều hành Robot (ROS), một framework phổ biến nhất để lập trình robot. Nó được phát hành vào ngày 23 tháng 5 năm 2020 bởi Open Robotics, nhà phát triển của ROS. Ngày 23 tháng 5 cũng là Ngày Rùa Thế giới, được tổ chức bảo trợ hàng năm kể từ năm 2000 bởi Tổ chức Cứu hộ Rùa Hoa Kỳ. Ngày này chủ yếu được tạo ra để "tôn vinh và bảo vệ các loài rùa và ba ba và các môi trường sống đang biến mất của chúng trên khắp thế giới".

Đây cũng là bản phát hành ROS Hỗ trợ Dài hạn (LTS) chủ yếu nhắm mục tiêu đến Ubuntu 20.04, cũng là phiên bản LTS của Ubuntu. Ubuntu 20.04 được phát hành vào ngày 23 tháng 4 năm 2020 và Noetic được phát hành một tháng sau đó vào ngày 23 tháng 5. Là phiên bản LTS, ROS Noetic sẽ được hỗ trợ trong 5 năm cho đến tháng 5 năm 2025, đánh dấu ngày Kết thúc Vòng đời (EOL). Cũng tốt khi biết rằng tất cả các phiên bản ROS LTS đều được hỗ trợ trong 5 năm. LTS có nghĩa là các lỗi và vấn đề bảo mật được tìm thấy sẽ được khắc phục và phát hành trong suốt 5 năm. Bạn sẽ nhận được các bản cập nhật này sau khi cài đặt ROS Noetic trên Ubuntu, nơi bạn thiết lập repo gói ROS Debian chính thức.

Noetic cũng là bản phát hành chính thức cuối cùng của ROS 1. Trong tương lai, tất cả nỗ lực chính sẽ được dồn vào việc phát triển ROS 2, đây là bản viết lại chính của khung ROS. Thực sự mình khuyên bạn nên lên kế hoạch nâng cấp lên ROS 2 để phù hợp với tương lai. Tuy nhiên, nếu điều đó không thực tế do sự phụ thuộc của bạn chưa hỗ trợ ROS 2, thì việc hỗ trợ các hạn chế cho ROS 1 vẫn có thể đến từ cộng đồng robot.

 

Tại sao lại có tên là Noetic and Ninjemys?

Noetic: Greek noētikos intellectual, from noein to think, from nous mind

Noetic on Merriam-Webster

Đối với Ninjemys, nó là một loài rùa đã tuyệt chủng ở Úc, theo Wikipedia. Rùa Ninjemys có một cặp sừng lớn trên đầu chìa ra hai bên.

Lịch sử về Noetic and Ninjemys

Phiên bản alpha của ROS Noetic đã được lên kế hoạch vào khoảng cuối tháng 2 năm 2020. Trong phiên bản alpha, các core package sẽ được xây dựng và phát hành.Thời hạn của phiên bản beta đã được lên kế hoạch vào khoảng cuối tháng 4 năm 2020. Giai đoạn này nhằm đảm bảo tất cả các gói có thể được phát hành. Sau đó, gói siêu phẩm đầy đủ ros-noetic-dekstop cũng đã có thể tải xuống được.

Noetic vs ROS Melodic: What’s New?

Thay đổi chính là phiên bản Python trong ROS Noetic được chuyển sang Python 3 (3.8) trong Ubuntu 20.04, so với Python 2.7 trong Ubuntu 18.04. Một trong những điểm khác biệt chính từ Python 2 (Python 2.7) đến Python 3 là cú pháp câu lệnh print. Bạn sẽ cần phải đóng ngoặc các tham số khi sử dụng print trong Python 3

 

Bạn có thể tìm hiểu cách chuyển code Python 2 của mình sang Python 3 thông qua hướng dẫn chuyển chính thức từ tài liệu Python.Ngoài ra còn có một hướng dẫn về chuyển đổi sang Python 3 trên ROS Wiki.

Gazebo 11 in Noetic

ROS Noetic hiện đang sử dụng Gazebo 11, so với Gazebo 9 trong ROS Melodic. Phiên bản 11 của trình mô phỏng Gazebo được phát hành vào ngày 30 tháng 1 năm 2020. Bạn có thể đọc lịch sử thay đổi để xem tất cả các thay đổi với số yêu cầu tại đây và cách chuyển từ 9 sang 11, bao gồm các bổ sung và sửa đổi đối với code ( cũng có phiên bản 10 ở giữa).

CMake 3.16

 

Vì ROS Noetic nhắm mục tiêu Ubuntu 20.04, phiên bản CMake đã tăng lên 3.16.3 từ 3.10.2 trong Ubuntu 18.04. Phiên bản CMake tối thiểu ở đầu tệp CMakeLists.txt của bạn ít nhất phải là 3.0.2. Nếu không, CMake sẽ hiển thị thông báo cảnh báo.

ROS Noetic packages: What are available?

Bạn có thể tìm hiểu vấn đề này khi kiểm tra tệp phân phối ROS Noetic trên GitHub để xem tất cả các gói hiện có sẵn: https://github.com/ros/rosdistro/blob/master/noetic/distribution.yaml. Mỗi gói có 15 dòng, vì vậy bạn có thể nhận được một số sơ bộ bằng cách lấy tổng số dòng chia cho 15. Bạn cũng có thể sử dụng chức năng lịch sử để kiểm tra đâu là gói được phát hành cho ROS Noetic.

Tạm kết

Đây là bài viết giới thiệu tổng quan về những điều cần biết về ROS cảm ơn bạn đã giành thời gian tham khảo. Chúc bạn đọc vui vẻ

Bình luận