Mục lục:

ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 bước
ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 bước

Video: ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 bước

Video: ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 bước
Video: Installing ROS on a Raspberry Pi 4/400 2024, Tháng mười một
Anonim
Image
Image
ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

Bài viết này sẽ trình bày quá trình cài đặt ROS Melodic Morenia trên Raspberry Pi 4 chạy Debian Buster mới nhất và cách sử dụng RPLIDAR A1M8 với cài đặt của chúng tôi.

Kể từ khi Debian Buster chính thức được phát hành chỉ vài tuần trước (tính đến thời điểm viết bài này), không có gói ROS nào được tạo sẵn để cài đặt với apt-get, đây là một phương pháp cài đặt được ưu tiên. Do đó, chúng tôi sẽ cần phải xây dựng nó từ nguồn. Tin tôi đi, nó không đáng sợ như nó nghe đâu. Quy trình được mô tả trong hướng dẫn chính thức này, nhưng để xây dựng ROS Melodic trên Raspberry Pi, chúng tôi sẽ cần thực hiện một vài sửa đổi.

Trong trường hợp bạn vẫn còn sợ hãi, đây là một bức ảnh hài hước * có thể * giúp bạn thư giãn. Vui lòng cung cấp phản hồi nếu mức độ thư giãn được cung cấp là đủ. Nếu không, nó sẽ được thay thế bằng hình ảnh của một con mèo vui nhộn.

Tháng 1 năm 2020 EDIT: Vì đã nửa năm kể từ khi tôi đăng bài viết này, có thể đã có một số thay đổi đối với ROS hoặc Buster. Tôi đã tạo một hình ảnh cho Raspberry Pi 4 một thời gian trước, sau khi viết hướng dẫn này. Một cộng tác viên đã tải nó lên Google Drive

Tháng 4 năm 2020 CHỈNH SỬA: Gần đây, tôi đã tìm thấy thời gian để thực hiện lại cài đặt ROS Melodic trên hình ảnh Raspbian mới nhất từ trang web Raspberry Pi chính thức. Tôi đã chỉnh sửa hướng dẫn này cho phù hợp. Tôi cũng đã tạo và chia sẻ hình ảnh nén, sạch:

Raspbian Buster Lite 2020-02-13 Phát hành với ROS Melodic Bare-bone Cần thẻ SD 8 GB

Raspbian Buster với máy tính để bàn 2020-02-13 Phát hành với Máy tính để bàn ROS Melodic Cần thẻ SD 16 GB

Đây có thể là cách nhanh nhất để thiết lập và chạy hệ thống của bạn. Nếu bạn muốn tự biên dịch ROS, hãy tiếp tục đọc bài viết.

Bước 1: Cài đặt phụ thuộc Bootstrap và tải xuống các gói

Hãy bắt đầu bằng cách thiết lập kho lưu trữ và cài đặt các phụ thuộc cần thiết

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

sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt-get cập nhật

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

Sau đó khởi tạo rosdep và cập nhật nó

sudo rosdep init

cập nhật rosdep

Khi hoàn tất, hãy tạo một không gian làm việc catkin chuyên dụng để xây dựng ROS và chuyển đến thư mục đó.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Bây giờ bạn có hai lựa chọn:

Cài đặt ROS-Comm: (Bare Bones) - cài đặt này nếu bạn đã quen với ROS và biết bạn đang làm gì và bạn sẽ cần gói nào. Nếu bạn cần các gói không có trong ROS-Comm, bạn cũng cần phải biên dịch từ nguồn.

Cài đặt Máy tính để bàn: bao gồm các công cụ GUI, chẳng hạn như rqt, rviz và thư viện chung rô-bốt. Có thể là lựa chọn tốt hơn cho người mới bắt đầu sử dụng ROS.

Tôi sẽ tiếp tục cài đặt Desktop Install tại đây.

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

Lệnh sẽ mất vài phút để tải tất cả các gói ROS cốt lõi vào thư mục src.

Nếu init wstool không thành công hoặc bị gián đoạn, bạn có thể tiếp tục tải xuống bằng cách chạy:

cập nhật len -j4 -t src

Bước 2: Khắc phục sự cố

Khắc phục sự cố
Khắc phục sự cố

Tháng 4 năm 2020 CHỈNH SỬA: Bỏ qua bước này, có vẻ như tất cả các vấn đề đã được khắc phục ngay bây giờ

Hãy cài đặt phiên bản tương thích của Assimp (Thư viện nhập nội dung mở) để khắc phục sự cố phụ thuộc collada_urdf.

mkdir -p ~ / ros_catkin_ws / external_src

cd ~ / ros_catkin_ws / external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

giải nén assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake.

chế tạo

sudo thực hiện cài đặt

Hãy cũng cài đặt OGRE cho rviz

sudo apt-get install libogre-1.9-dev

CẬP NHẬT tháng 1 năm 2020: Các vấn đề với libbost đã được các nhà phát triển ROS khắc phục, bạn có thể bỏ qua phần này

/// Bỏ qua /// Cuối cùng, chúng tôi sẽ cần khắc phục sự cố với libboost. Tôi đang sử dụng giải pháp từ bài đăng này trên stackoverflow:

Các lỗi trong quá trình biên dịch là do hàm 'boost:: posix_time:: miliseconds' trong các phiên bản boost mới hơn chỉ chấp nhận một đối số là số nguyên, nhưng gói actionlib trong ROS, cho nó nổi ở một số vị trí. Bạn có thể liệt kê tất cả các tệp bằng cách sử dụng hàm đó (! trong thư mục ros_catkin_ws!):

find -type f -print0 | xargs -0 grep 'boost:: posix_time:: mili giây' | cắt -d: -f1 | sắp xếp -u

Mở chúng trong trình soạn thảo văn bản của bạn và tìm kiếm lệnh gọi hàm 'boost:: posix_time:: miliseconds'.

và thay thế các cuộc gọi như thế này:

boost:: posix_time:: mili giây (loop_duration.toSec () * 1000.0f));

với:

boost:: posix_time:: mili giây (int (loop_duration.toSec () * 1000.0f)));

và những điều này:

boost:: posix_time:: mili giây (1000.0f)

với:

boost:: posix_time:: mili giây (1000)

Tôi khuyên bạn nên sử dụng trình soạn thảo văn bản nano, đơn giản hơn VIM;) Ctrl + O đang lưu, Ctrl + X đang thoát và Ctrl + W đang tìm kiếm.

/// continue_from_here ///

Bước 3: Xây dựng và tạo nguồn cài đặt

Tiếp theo, chúng tôi sử dụng công cụ rosdep để cài đặt tất cả các phần còn lại của phần phụ thuộc:

cài đặt rosdep - từ đường dẫn src --ignore-src --rosdistro melodic -y

Khi nó đã hoàn tất việc tải xuống các gói và giải quyết các phụ thuộc, bạn đã sẵn sàng để xây dựng các gói catkin. (Chạy lệnh này từ thư mục ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Phát hành --install-space / opt / ros / melodic -j2

Nếu quá trình biên dịch bị đóng băng (rất có thể xảy ra, nếu bạn cài đặt phiên bản dành cho máy tính để bàn), bạn cần tăng không gian hoán đổi có sẵn. Theo mặc định, nó là 100 MB, hãy thử tăng nó lên 2048 MB.

Chúc may mắn! Toàn bộ quá trình biên dịch mất khoảng 1 giờ (ít hơn đối với phiên bản Bare-bone), vì vậy hãy đi pha trà.

Bây giờ ROS Melodic sẽ được cài đặt trên Raspberry Pi 4. Chúng tôi sẽ tạo nguồn cài đặt mới bằng lệnh sau:

echo "nguồn /opt/ros/melodic/setup.bash" >> ~ /.bashrc

Mở một trình bao mới để các thay đổi có hiệu lực. Hãy thử khởi chạy roscore để kiểm tra xem mọi thứ có thành công hay không.

Bước 4: Cài đặt gói RPLIDAR ROS

Cài đặt gói RPLIDAR ROS
Cài đặt gói RPLIDAR ROS

Hãy tạo một không gian làm việc riêng cho các gói khác, không phải là một phần của ROS lõi.

Từ thư mục chủ của bạn làm:

mkdir -p ~ / catkin_ws / src

cd ~ / catkin_ws /

catkin_make

và nguồn nó thành bashrc:

echo "nguồn $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc

Được rồi, chúng tôi đã sẵn sàng để bắt đầu cài đặt gói RPLIDAR ROS.

cd src

sudo git clone

đĩa CD..

catkin_make

Chờ cho quá trình biên dịch gói hoàn tất. Hãy thử khởi chạy gói để xem liệu quá trình biên dịch có thành công hay không:

roslaunch rplidar_ros rplidar.launch

Nếu nó không xuất ra bất kỳ lỗi nào, hãy thực hiện một điệu nhảy ăn mừng nhanh (* tùy chọn).

Bây giờ chỉ còn thiếu phần cuối cùng - vì bạn có thể đang chạy Raspberry Pi 4 ở chế độ không đầu, chúng tôi không thể hình dung các thông báo lidar. Để làm được điều đó, chúng tôi sẽ cần thiết lập ROS để chạy trên nhiều máy.

Bước 5: Thiết lập ROS để chạy trên nhiều máy

Thiết lập ROS để chạy trên nhiều máy
Thiết lập ROS để chạy trên nhiều máy

Đối với phần này, bạn sẽ cần một máy tính Ubuntu 18.04 có cài đặt ROS Melodic. Vì đó là Ubuntu ROS có thể được cài đặt đơn giản bằng cách sử dụng apt-get như được mô tả trong hướng dẫn này.

Sau khi bạn đã cài đặt ROS hoạt động trên cả Raspberry Pi và máy tính để bàn của mình, hãy kiểm tra địa chỉ IP của cả hai máy. Họ cần phải ở trên cùng một mạng!

Chạy roscore trên máy tính để bàn của bạn và xuất ROS_MASTER_URI

roscore

export ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

Tiếp theo trên Raspberry PI thực thi

xuất ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

export ROS_IP = [your-raspberry-pi-ip]

và khởi chạy tệp khởi chạy RPILIDAR

roslaunch rplidar_ros rplidar.launch

Nếu nó khởi chạy thành công, hãy kiểm tra các chủ đề có trên máy tính để bàn của bạn với danh sách rostopic

Nếu bạn có thể xem / quét các tin nhắn, mọi thứ sẽ hoạt động như bình thường. Sau đó khởi chạy RVIZ trên máy tính để bàn của bạn, thêm thông báo Quét Laser và chọn / quét chủ đề. Bạn cũng sẽ cần thay đổi khung cố định thành / laser.

Thì đấy!

Bước 6: Đã xong

Xong!
Xong!
Xong!
Xong!

Hướng dẫn này có thể là bước đầu tiên hướng tới việc xây dựng rô bốt ROS của bạn trên đầu Raspberry Pi 4. Chúng tôi đã cài đặt ROS Melodic và chuẩn bị cài đặt để chạy không cần đầu và kết nối với máy tính để bàn của chúng tôi qua mạng không dây để điều khiển từ xa.

Các bước tiếp theo phụ thuộc vào loại robot bạn muốn chế tạo. Bạn có thể thêm động cơ và bộ mã hóa để đo mùi, máy ảnh âm thanh nổi cho Visual SLAM và tất cả những thứ thú vị và hữu ích khác.

Phần cứng cho bài viết này được cung cấp bởi Seeed studio. Kiểm tra Raspberry Pi 4, RPLIDAR A1M8 và các phần cứng khác dành cho nhà sản xuất tại cửa hàng Seeed studio!

Thêm tôi trên LinkedIn nếu bạn có bất kỳ câu hỏi nào và đăng ký kênh YouTube của tôi để nhận thông báo về các dự án thú vị hơn liên quan đến học máy và người máy.

Đề xuất: