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.
Đối với những bạn chưa từng dùng Linux (Ubuntu là một bản phân phối Linux - Linux distribution), bạn sẽ cần học cách sử dụng terminal để thực hiện các câu lệnh.
Mở terminal bằng tổ hợp phím Ctrl + Alt + T hoặc nhấp chuột phải vào khoảng trống trong bất kì thư mục nào và chọn Open in Terminal. Gõ lệnh sau vào:
sudo apt-get update
Câu lệnh trên dùng để update những phần mềm trong Ubuntu nếu chúng có bản cập nhật (release) mới. Trong Linux, khi bạn chạy một lệnh với sudo
nghĩa là bạn chạy với tư cách quản trị viên (giống như Run as Administrator trong Windows). Và đừng ngạc nhiên nếu bạn không thấy gì khi nhập mật khẩu vì nó bị ẩn đi. Ấn Enter sau khi nhập và nếu mật khẩu đúng, lệnh sẽ được thực thi.
Cài đặt ROS Noetic
Bước 1: Trong cùng terminal, tiếp tục chạy lệnh này để thiết lập sources.list để máy tính của bạn chấp nhận phần mềm từ packages.ros.org. Lệnh này khá dài, vì vậy bạn chỉ cần copy&paste. Để paste một đoạn text vào terminal, bạn có thể nhấp chuột phải và chọn Paste hoặc sử dụng phím tắt Ctrl + Shift + V (tương tự, để copy nội dung nào đó từ Terminal, chỉ cần sử dụng Ctrl + Shift + C).
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 2: 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. Cài curl nếu bạn chưa có: sudo apt install curl
. Sau đó, chạy lệnh này:
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Nếu nó in ra OK, thì key đã được thêm thành công.
Bước 3: Cài ROS Noetic phiên bản Desktop-Full. Trước tiên, chạy cập nhật: sudo apt update
. Sau đó bắt đầu cài đặt bằng cách chạy (bước này sẽ mất khoảng 30 phút):
sudo apt install ros-noetic-desktop-full
Bước 4: Sau khi cài đặt xong, để chạy ROS, trước tiên bạn cần gọi lệnh source này trong terminal.
source /opt/ros/noetic/setup.bash
Việc này chỉ cần làm một lần nhưng nếu bạn mở một terminal mới, bạn cần chạy lại nó. Để tránh điều này, bạn có thể thêm lệnh đó vào file.bashrc
(có dấu chấm) bằng cách:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
File .bashrc
này chứa tất cả các lệnh được tự động thực thi khi bạn mở một terminal mới. Khi bạn chỉnh sửa file .bashrc
và muốn áp dụng ngay vào terminal hiện tại mà không muốn mở một terminal mới, bạn có thể dùng câu lệnh source:
source ~/.bashrc
Cuối cùng, chạy roscore
và nếu terminal của bạn giống hình dưới đây thì xin chúc mừng! Bạn đã cài đặt ROS thành công!
Cài đặt những thư viện liên quan
Có một số phần mềm bạn cần cài đặt để có thể tạo ứng dụng của mình trong ROS. Chúng gọi là những dependencies. Chạy lệnh sau trong một terminal:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-catkin-tools python3-osrf-pycommon python3-pip
, sau đó:
sudo rosdep init
, và cuối cùng:
rosdep update
Xong bước này, mọi thứ đã sẵn sàng cho bạn để bắt đầu sử dụng ROS. Làm rất tốt!
Những phần mềm nên có
Phần này chỉ là những đề xuất của mình mà bản thân mình đang sử dụng và thấy rất hữu ích.
- Terminator: Terminal mặc định của Ubuntu có rất hạn chế. Ví dụ: bạn không thể có nhiều terminal nhỏ trong cùng một cửa sổ (các terminal chỉ có thể được sắp xếp theo tab hoặc tách biệt hoàn toàn). Với Terminator, bạn có thể. Trong hình dưới đây, mình có 9 terminal trong một cửa sổ.
Để cài đặt Terminator, hãy chạy lệnh này:
sudo apt install terminator
Mình cũng khuyên bạn nên xem qua danh sách phím tắt của Terminator này và nhớ một vài phím tắt cơ bản như thêm bớt terminal để sử dụng nhanh hơn.
- Visual Studio Code: Đây là một trong những IDE phổ biến nhất. Nó miễn phí, chạy được trên các hệ điều hành khác nhau và có rất nhiều plugin hữu ích cho các developer. Hãy tải về, cài đặt và dùng thử. Mình tin bạn sẽ thích nó. Link to download VS Code.
Trích dẫn
- Ảnh bìa: http://wiki.ros.org/lunar