Hướng dẫn cài đặt ROS trên hệ điều hành Ubuntu 20.04

Hi các bạn, trong phần trước mình và các bạn đã biết định nghĩa về ROS. Trong phần này chúng ta cùng tìm hiểu cách cài đặt ROS trên hệ điều hành Ubuntu 20.04.

I. Giới thiệu về kiến trúc hệ thống ROS

Trong phần này giúp các bạn hiểu về kiến trúc hệ thống của ROS. Kiến trúc hệ thống ROS được chia làm 3 phần chính (Hình 1): OS Layer, Middle Layer, Application Layer.

Hình 1. Kiến trúc hệ thống ROS (Nguồn: Introduction to Robotic ROS System)

1. OS Layer: OS Layer chủ yếu là hệ điều hành Linux hoặc Ubuntu.

2. Middle Layer: Lớp này đóng vai trò quan trọng trong việc quản lý giao tiếp giữa các thành phần trong hệ thống ROS. ROS sử dụng hệ thống giao tiếp dựa trên mạng TCP/UDP, trong đó TCPROS và UDPROS là hai phương thức chính được sử dụng để đóng gói và truyền dữ liệu giữa các node. Điều này cho phép các node trong hệ thống ROS gửi và nhận thông điệp qua mạng một cách hiệu quả. Ngoài ra, ROS cung cấp Nodelet được thiết kế để cung cấp một cách để chạy nhiều thuật toán trong cùng một quy trình mà không cần vận chuyển bản sao giữa các thuật toán.

3. Application Layer:

Application Layer chịu trách nhiệm cho việc triển khai các ứng dụng cụ thể hoặc các hệ thống robot dựa trên nền tảng ROS. Đây là nơi mà các nhà phát triển xây dựng và triển khai các chương trình, các thuật toán, và các hệ thống điều khiển robot sử dụng các tính năng và dịch vụ được cung cấp bởi các lớp dưới (Middle Layer và OS Layer)

II. Cài đặt máy ảo

Lưu ý: Với những bạn đang sử dụng hệ điều hành Ubuntu, Linux có thể bỏ qua bước này

Máy ảo (virtual machine) là một chương trình giả lập một hệ thống máy tính, được chạy trên hệ điều hành chủ và hoạt động như một máy tính thật.

Một máy ảo cung cấp phần cứng ảo (bao gồm CPU, RAM, ổ đĩa cứng) để chạy hệ điều hành và các phần mềm riêng trên đó. Các phần cứng ảo này được ánh xạ tới phần cứng thực trên máy tính vật lý, ví dụ như là ổ đĩa cứng ảo được lưu trong một file đặt trên ổ đĩa cứng thực. Máy ảo chạy sẽ chia sẻ tài nguyên phần cứng với máy thực, do đó khi thiết lập máy ảo cần tinh chỉnh phần cứng ảo không nên vượt quá khả năng xử lý của máy tính thực.

Trong phần này mình sẽ hướng dẫn các bạn cài đặt máy ảo VMWare:

  • Bước 1: Tải tệp .iso Ubuntu 20.04.5 LTS. LTS.
  • Bước 2: Tải VMware tại đây và cài đặt.
  • Bước 3: Tạo máy ảo mới bằng cách mở VMware Workstation và nhấp vào File -> New Virtual Machine và tiến hành cài đặt theo các bước như Hình 2, 3, 4.

Hình 2: Tạo một máy ảo mới

Hình 3: Tạo một máy ảo mới (TT)

Hình 4: Tạo một máy ảo mới (TT)

  • Bước 4: Nhập tên Ubuntu, tên user và mật khẩu lần lượt vào các ô: User name, Full name, và Password như Hình 5.

Hình 5. Tạo thông tin máy ảo

  • Bước 5: Nhập tên máy ảo và duyệt đến thư mục cài đặt mong muốn (ở đây mình chọn mặc định) như Hình 6.

Hình 6. Đặt tên cho máy ảo

  • Bước 6: Thiết lập phần cứng cho máy ảo như Hình 7.

Hình 7. Thiết lập phần cứng cho máy ảo

  • Bước 7: Nhấn Finish để hoàn tất cấu hình máy ảo như Hình 8.

Hình 8. Hoàn tất cấu hình máy ảo Ubuntu

  • Bước 8: Đợi 15-30 phút để cài đặt hoàn thiện máy ảo như Hình 9.

Hình 9. Hoàn tất cài đặt máy ảo

 

III. Cài đặt ROS

Trong phần này, mình sẽ giúp bạn cài đặt ROS Noetic Ninjemys. Mỗi phiên bản ROS sẽ tương ứng với một phiên bản Ubuntu và ROS Noetic (chạy trên Ubuntu 20) là phiên bản mới nhất và cũng là phiên bản cuối cùng của ROS 1. Để cài đặt ROS Noetic ta cần thực hiện các bước sau đây:

Bước 1: Cập nhật danh sách các gói phần mềm trên hệ điều hành của bạn và quyền cao nhất trong hệ điều hành Linux “sudo” bằng cách mở một màn hình Terminal hoặc sử dụng tổ hợp phím Ctrl + Alt + T và nhập câu lệnh sau:

sudo apt-get update

Bước 2: Sau khi hoàn thành bước 1 ta tiến hành thiết lập sources.list (định nghĩa về sources.list) để máy tính chấp nhận phần mềm từ từ packages.ros.org bằng câu lệnh sau:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Bước 3: Thêm khóa xác thực (authenticated key) để máy của bạn có thể kết nối với máy chủ và tải các gói dữ liệu như sau:

sudo apt install curl

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Nếu màn hình in ra chữ “OK”, thì key đã được thêm thành công.

Bước 4: Cài ROS Noetic phiên bản đầy đủ. Sau đó bắt đầu cài đặt bằng cách chạy (bước này sẽ mất khoảng 30-45 phút):

sudo apt install ros-noetic-desktop-full

Bước 5: Cài đặt môi trường ROS

source /opt/ros/noetic/setup.bash

Bước 6: Khởi chạy lệnh sau để hoàn tất việc cài đặt như Hình 10:

roscore

Hình 8. Hoàn thành cài đặt ROS

IV. Tài liệu tham khảo

[1]. noetic/Installation/Ubuntu - ROS Wiki. (n.d.). https://wiki.ros.org/noetic/Installation/Ubuntu

[2]. “Introduction to robotic ROS system,” Sep. 15, 2022. https://forum.huawei.com/enterprise/en/em-introduction-em-em-to-em-em-robotic-em-em-ros-em-em-system-em/thread/667268618544627712-667213860488228864

[3]. T. Nguyen, “4. Cài đặt ROS - Phần 2: Cài ROS Noetic và Những Thư Viện Liên Quan,” Robodev Blog, Jan. 04, 2023. [Online]. Available: https://robodev.blog/cai-dat-ros-noetic