4. Tạo ROS Catkin Workspace và Package

Bài hướng dẫn sẽ giúp các bạn tạo ROS Package cơ bản bằng các lệnh sau

4.1 Tạo ROS catkin_ws

Không làm việc của ROS thông thường là catkin_ws,chỉ đơn giản là các thư mục để lưu trữ tất cả các gói package. Đầu tiên, chúng ta sẽ cần tạo một thư mục mới. Điều này đã tạo ra một thư mục trong thư mục chính của bạn mà chúng tôi sẽ sử dụng làm thư mục không gian làm việc catkin_ws. Mở terminal và tạo các thư mục sau

mkdir ~/catkin_ws/
mkdir ~/catkin_ws/src 
cd ..

Ngay bây giờ bạn đang ở thư mục /catkin_ws. Bước tiếp theo bạn sử dụng lệnh catkin_make để compile không gian làm việc catkin_ws

catkin_ws

Workspace chứa các package do người dùng tạo và các package được xuất bản bởi các nhà phát triển khác. Người dùng thực hiện hầu hết các thao tác liên quan đến ROS trong thư mục này. Các thư mục chi tiết là như sau.

■ /build Các file được build khi bạn compile.

■ /devel Các file Header Files, User Package Library, Execution files.

■ /src Các package người dùng ở đây.

Cài đặt môi trường làm việc với ROS (ROS Workspace Environment)

Bước 1. ROS được lưu mặc định (Default workspace) trong source /opt/ros/<ros-distro>/setup.bash

Bước 2. Thêm môi trường làm việc của ROS (Overlay your catkin workspace) bằng lệnh sau:

cd ~/catkin_ws 
source devel/setup.bash

Hiển thị các đường dẫn của ROS bằng lệnh sau

echo $ROS_PACKAGE_PATH

Bạn có thể thấy các đường dẫn của ROS được thể hiện bên dưới.

/home/<user>/<your_ws>/src:
/opt/ros/<ros-distro>/share:
/opt/ros/<ros-distro>/stacks 

Bước 4. Echo thêm source vào tệp bashrc, khi bạn mở terminal mới, bạn không cần chạy lệnh source.

echo 'source /home/<user_name>/catkin_ws/devel/setup.bash' >> ~/.bashrc

4.2 Tạo các ROS Package bằng lệnh

Các phần mềm ROS được tạo nên từ các package nhỏ, bao gồm: source code, launch files, configuration files, message definitions, data, và documentation.

Để tạo package mới các bạn làm theo các lệnh sau:

$ cd ~/catkin_ws/src
$ catkin_create_pkg [package_name] [dependencies ...]

Ví dụ để tạo package beginner_tutorials:

catkin_create_pkg beginner_tutorials roscpp std_msgs

'std_msgs’‘roscpp’ đã được thêm vào dưới dạng các gói phụ thuộc tùy chọn trong phần trước yêu cầu. Điều này có nghĩa là ‘std_msgs’, là một gói thông báo chuẩn của ROS và ‘roscpp’, là một thư viện máy khách cần thiết để sử dụng C/C ++ trong ROS, phải được cài đặt trước để tạo ra gói. Các cài đặt gói phụ thuộc này có thể được chỉ định khi tạo ra nhưng cũng có thể được tạo trực tiếp trong ‘package.xml’

Cấu trúc một ROS package trong catkin_ws

  • include/package_name: Thư mục này bao gồm các tiêu đề và thư viện chúng ta cần sử dụng bên trong gói.

  • script: Thư mục này giữ script Python có thể thực thi được.

  • src: thư mục này lưu trữ mã nguồn C ++.

  • package.xml: xác định các thuộc tính của gói

  • CMakeList.txt: Đây là tệp xây dựng CMake của gói này.

Các package phụ thuộc(dependences packages) roscpp và std_msgs đã được thêm vào CMakeList.txt package.xml.

Last updated