CHÉM GIÓ, BÀN LUẬN VỀ KỸ THUẬT
Lập trình robot với ROS - Phần 2: Cài đặt môi trường phát triển
21 Tháng Hai 2021
Chào mọi người như trong phần trình bày trước mình đã giới thiệu về việc lập trình ROS các loạt bài viết này chúng ta chủ yếu tìm hiểu về phát triển ứng dụng với ROS với hệ điều hành Ubuntu và ngôn ngữ lập trình chính là Python
Trong phần bài viết này nội dung chủ yếu của mình sẽ tập trung giới thiệu việc cài đặt ROS Noetic với hệ điều hành Ubuntu 20.04. Cụ thể, bạn sẽ học cách thiết lập repo ROS chính thức, thêm keyring ROS chính thức để nhận các gói ROS xác thực và thiết lập môi trường ROS. Đây là bài viết hướng dẫn về thực hành nên mình sẽ hạn chế câu chữ và bây giờ thì bắt đầu thôi
ROS Noetic & Ubuntu 20.04
Robot Operating System (ROS) là một framework được dùng để lập trình robot và minh đã giới thiệu rất kỹ về nó trong bài biết trước. Hướng đến Ubuntu 20.04, ROS Noetic Ninjemys là bản phân phối ROS LTS thứ 13 và mới nhất. Nó cũng đánh dấu bản phát hành ROS 1 cuối cùng; ROS 2 sẽ là một phiên bản mới. Nó được phát hành vào ngày 23 tháng 5 năm 2020 và được hỗ trợ cho đến tháng 5 năm 2025. Bản phát hành cuối cùng là ROS Melodic và sẽ kết thúc hỗ trợ vào tháng 5 năm 2023. Kiến trúc mà ROS Noetic hỗ trợ là amd64, armhf và arm64. Hầu hết các máy tính của chúng ta sẽ chạy trên kiến trúc amd64, vì vậy nó hoàn toàn ổn
Ubuntu 20.04 là Ubuntu LTS mới nhất và có tên mã là Focal Fossa. Nó đã được phát hành vào tháng 4 năm 2020 và được hỗ trợ trong 5 năm cho đến tháng 4 năm 2025 (hỗ trợ tiêu chuẩn). Đối với người dùng ROS, Ubuntu 20.04 có Python 3 và nếu bạn đang sử dụng ROS Noetic, bạn sẽ cần sửa các lỗi và cảnh báo.
Bắt đầu cài đặt ROS Noetic
Bạn nên cài đặt Ubuntu 20.04 trên máy của mình. Nếu không, bạn vẫn có thể sử dụng Docker để cài đặt ROS Noetic. Nếu bạn không thể nâng cấp lên 20.04 hoặc cài đặt 20.04, có nghĩa là bạn không may bị mắc kẹt với 18.04, mình khuyên bạn nên tiếp tục sử dụng hoặc cài đặt ROS Melodic.
Bước 1: Cài đặt ROS Noetic repo trên Ubuntu 20.04
Để cài đặt Noetic trên Ubuntu 20.04, trước tiên, chúng ta sẽ cần thêm repo ROS Noetic chính thức vào sources.list. Thay vì thêm trực tiếp vào /etc/apt/sources.list, chúng ta sẽ tạo một tệp danh sách ros-noetic.list. Lưu ý rằng điều này khác với bài viết wiki chính thức vì ros-new.list sẽ không đúng nếu có bản phát hành mới của ROS.
echo "deb http://packages.ros.org/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-focal.list
Sau khi thực hiện câu lệnh trên cửa sổ terminal bạn sẽ thấy kết quả:
deb http://packages.ros.org/ros/ubuntu focal main
.
Bước 2: Thêm keyring chính thức của ROS
Tiếp theo, chúng ta sẽ cần thêm keyring ROS Noetic để nhận các gói ROS đã xác thực để cài đặt trên hệ điều hành Ubuntu 20.04 của bạn và tránh bị tấn công trung gian. Có hai cách để thêm và bạn có thể chọn bất kỳ cách nào trong số đó.
Cách thứ nhất là sử dụng apt-key để thêm khóa được tải xuống từ Ubuntu key server. Lưu ý rằng nếu cách này không hiệu quả, bạn cũng có thể thử thay thế hkp: //keyserver.ubuntu.com: 80 bằng hkp: //pgp.mit.edu: 80.
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Nếu bạn thấy đầu ra là việc thực thi (executing), điều đó có nghĩa là key đã được thêm thành công. Như bạn có thể thấy, key được phát hành bởi Open Robotics, người duy trì ROS. Một chi tiết khác là apt-key tải khóa vào thư mục tmp và khóa sẽ tự động bị xóa.
Cách thứ hai là sử dụng curl để tải xuống key ROS offical và thêm nó vào cục bộ. Điều này được ưu tiên nếu bạn đang cố gắng cài đặt Noetic trên máy tính không có truy cập internet hoặc bạn đang sử dụng máy chủ proxy. Lưu ý bạn cũng cần cài đặt curl trong trường hợp nó chư được cài đặt sẵn
Bước 3: Cập nhật ROS package index
Tiếp theo, chúng ta sẽ cần lấy thông tin gói ROS Noetic từ kho lưu trữ mà chúng ta vừa thêm bằng cách sử dụng sudo apt-update.
Bước 4: Cài đặt ROS package
Bây giờ chúng ta đã sẵn sàng cài đặt Noetic trên Ubuntu 20.04 sau tất cả các công việc chuẩn bị. Giống như các gói ubuntu-dektop, ubuntu-desktop-mini của Ubuntu, ROS đi kèm với các gói siêu nhỏ để bạn cài đặt.
- ros-noetic-desktop-full
- ros-noetic-desktop
- ros-noetic-ros-base
- ros-noetic-ros-core
Bạn có thể lựa chọn các gói phù hợp với bản thân và tham khảo tại wiki.ros.org
Cài đặt ROS Noetic environment
Sau khi cài đặt ROS Noetic trên máy tính Ubuntu 20.04 của bạn, bây giờ chúng ta sẽ thiết lập môi trường. Để sử dụng các lệnh ROS và cho phép catkin tìm thấy các tệp chương trình ROS của bạn, chẳng hạn như tệp tiêu đề trong thư mục bao gồm của bạn, bạn sẽ cần chạy setup.bash sau khi bạn chạy apt install. Để làm điều đó, hãy chạy lệnh sau:
source /opt/ros/noetic/setup.bash
Để tránh phải chạy lệnh trên mọi lúc, điều này đặc biệt đúng khi bạn đang phát triển bằng ROS, bạn nên đặt nó vào tệp .bashrc nằm trong thư mục chính ~. Để làm điều đó, hãy chạy như sau:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
Kiểm tra việc cài đặt Noetic
Chúng ta có thể chạy câu lệnh đơn giản roscd. Bạn có thể thấy thư mục hiện tại đã được thay đổi thành nơiđã cài đặt Noetic: / opt / ros / noetic.