Mục lục:
- Bước 1: Cài đặt phụ thuộc Bootstrap và tải xuống các gói
- Bước 2: Khắc phục sự cố
- Bước 3: Xây dựng và tạo nguồn cài đặt
- Bước 4: Cài đặt gói RPLIDAR ROS
- Bước 5: Thiết lập ROS để chạy trên nhiều máy
- Bước 6: Đã xong
Video: ROS Melodic trên Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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ố
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
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
Đố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
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:
Bắt đầu với RPLIDAR chi phí thấp bằng Jetson Nano: 5 bước
Bắt đầu với RPLIDAR chi phí thấp Sử dụng Jetson Nano: Tổng quan ngắn gọn Phát hiện và đo ánh sáng (LiDAR) hoạt động theo cách giống như máy đo khoảng cách siêu âm với xung laser được sử dụng thay vì sóng âm thanh. Yandex, Uber, Waymo, v.v. đang đầu tư rất nhiều vào công nghệ LiDAR cho xe tự hành của họ
Cách sử dụng máy quét laser RPLIDAR 360 ° với Arduino: 3 bước (có hình ảnh)
Cách sử dụng Máy quét Laser RPLIDAR 360 ° Với Arduino: Tôi là một người rất thích chế tạo rô bốt sumo và tôi luôn tìm kiếm các cảm biến và vật liệu thú vị mới để sử dụng để chế tạo rô bốt tốt hơn, nhanh hơn, thông minh hơn. Tôi đã tìm hiểu về RPLIDAR A1 mà bạn có thể nhận được với giá 99 đô la tại DFROBOT.com. Tôi đã nói rằng tôi đã
Roomblock: Nền tảng để học điều hướng ROS với Roomba, Raspberry Pi và RPLIDAR: 9 bước (có Hình ảnh)
Roomblock: Nền tảng để học điều hướng ROS với Roomba, Raspberry Pi và RPLIDAR: Đây là gì? &Quot; Roomblock " là một nền tảng robot bao gồm Roomba, Raspberry Pi 2, cảm biến laser (RPLIDAR) và pin di động. Khung lắp có thể được thực hiện bằng máy in 3D. Hệ thống định vị ROS cho phép tạo bản đồ các phòng và sử dụng i