Mục lục:

Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi  4b: 5 bước
Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi 4b: 5 bước

Video: Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi 4b: 5 bước

Video: Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi  4b: 5 bước
Video: Install ROS 2 Foxy Fitzroy on a Raspberry Pi 2024, Tháng bảy
Anonim
Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi 4b
Cài đặt ROS Kinetic, TurtleBot3, Raspicam trên Raspberry Pi 4b

TurtleBot3 Burger đi kèm với Raspberry Pi 3 B / B + và không hỗ trợ Raspberry Pi 4b mới (kể từ tháng 9/2019). Làm theo các bước bên dưới để TurtleBot3 hoạt động trên Raspberry Pi 4b, bao gồm

  • xây dựng ROS Kinetic từ các nguồn trên Raspberry Pi 4b Raspbian Buster
  • thêm các gói cụ thể cho TurtleBot3
  • thêm nút raspicam vào

Bước 1: Cài đặt Raspbian và định cấu hình Raspberry Pi 4b

Cài đặt Raspbian và định cấu hình Raspberry Pi 4b
Cài đặt Raspbian và định cấu hình Raspberry Pi 4b

Tải xuống hình ảnh Raspbian. Tôi đã sử dụng Raspbian Buster ngày 2019–07–10.

Ghi hình ảnh Raspbian đã tải xuống vào thẻ SD (dung lượng ít nhất 8Gb). Kết nối màn hình, bàn phím và chuột với Raspberry Pi 4b của bạn, khởi động và kết nối với WiFi. Mở rộng hệ thống tệp để chiếm toàn bộ thẻ SD của bạn và, tùy chọn, bật SSH và VNC bằng cách chạy

sudo raspi-config

Bước 2: Tải xuống ROS Kinetic Sources

Tải xuống ROS Kinetic Sources
Tải xuống ROS Kinetic Sources

Các hướng dẫn bên dưới tuân theo hướng dẫn ROS chính thức cũng như hướng dẫn DmitryM8.

Đăng nhập vào Raspberry Pi 4b của bạn và thực hiện các lệnh này để thêm kho gói ROS, xây dựng công cụ và khởi tạo công cụ phụ thuộc ROS.

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 update sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall bản dựng-cần thiết cmake sudo rosdep init rosdep cập nhật

Tạo không gian làm việc để xây dựng ROS Kinetic từ nguồn.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Tải xuống mã nguồn cho gói "ros_comm", chứa các mô-đun thiết yếu nhằm chạy trên máy tính trên bo mạch của rô-bốt. Tại đây rosinstall_generator tạo một danh sách các kho mã nguồn để tải xuống. wstool sau đó tiến hành tải xuống mã nguồn.

rosinstall_generator ros_comm --rosdistro kinetic --deps --wet-only --tar> kinetic-ros_comm-wet.rosinstall

wstool init -j8 src kinetic-ros_comm-wet.rosinstall cài đặt rosdep - từ đường dẫn src --ignore-src --rosdistro kinetic -y

Để chạy TurtleBot3 và raspicam, bạn sẽ cần các gói ROS này ngoài ros_comm: common_msgs, rosserial, image_common, image_transport_plugins và chẩn đoán. Để thêm các gói này, hãy chạy các lệnh này.

chẩn đoán rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins --rosdistro kinetic --deps --wet-only --tar> kinetic-extra-wet.rosinstall

wstool merge -t src kinetic-extra-wet.rosinstall wstool update -j8 -t src rosdep install --from-path src --ignore-src --rosdistro kinetic -y

Khi các phiên bản phụ thuộc thay đổi theo thời gian, có thể xảy ra lỗi như "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): đang cố gắng ghi đè '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', cũng nằm trong gói python-rosdistro 0.7.2-1 ". Giải quyết các lỗi "cố gắng ghi đè" này:

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

// hoặc sudo apt remove sudo apt --fix-break install

Bước 3: Sửa lỗi biên dịch ROS theo cách thủ công

Sửa lỗi biên dịch ROS theo cách thủ công
Sửa lỗi biên dịch ROS theo cách thủ công

Việc xây dựng ROS tại thời điểm này sẽ thất bại với nhiều lỗi khác nhau. Hãy sửa những lỗi đó bằng cách chỉnh sửa mã nguồn ROS theo cách thủ công.

Chỉnh sửa

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp dòng 885

Thay thế

char * str = PyString_AsString (obj);

với

const char * str = PyString_AsString (obj);

Chỉnh sửa các tệp bên dưới.

/home/pi/ros_catkin_ws/src/rospack/include/rospack/rospack.h /home/pi/ros_catkin_ws/src/rospack/src/rospack.cpp/home/pi/ros_catkin_ws/src/rospack/src/utils.cpp

Xóa tất cả các lần xuất hiện của

/ tr1

và thay thế tất cả các lần xuất hiện của

std:: tr1

với

tăng

Chỉnh sửa các tệp bên dưới.

/home/pi/ros_catkin_ws/src/actionlib/include/actionlib/client/simple_action_client.h /home/pi/ros_catkin_ws/src/actionlib/include/actionlib/destruction_guard.h / home / pi / ros_catkin_ws / src / actionlib / include /actionlib/server/simple_action_server_imp.h /home/pi/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp /home/pi/ros_catkin_ws/src/actionlib/test/destruction_guard_test.cpp/ home / pi / ros_catkin_ws / src / bond_core /bondcpp/src/bond.cpp /home/pi/ros_catkin_ws/src/ros_comm/roscpp/include/ros/timer_manager.h /home/pi/ros_catkin_ws/src/ros/roslib/test/utest.cpp

Thay thế tất cả các trường hợp

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

với

boost:: posix_time:: mili giây (int (…))

Chỉnh sửa tệp bên dưới.

/home/pi/ros_catkin_ws/src/geometry2/tf2/src/buffer_core.cpp

Thay thế tất cả

logWarn

với

CONSOLE_BRIDGE_logWarn

logError

với

CONSOLE_BRIDGE_logError

Bước 4: Xây dựng ROS Kinetic

Tại thời điểm này, việc xây dựng sẽ thành công.

cd ~ / ros_catkin_ws

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

Nối vào ~ /.bashrc và cũng thực thi trong shell của bạn:

nguồn /opt/ros/kinetic/setup.bash

Bước 5: Xây dựng các gói TurtleBot3 và Raspicam

Xây dựng các gói TurtleBot3 và Raspicam
Xây dựng các gói TurtleBot3 và Raspicam

Các hướng dẫn này theo hướng dẫn ROBOTIS.

mkdir -p ~ / catkin_ws / src

cd ~ / catkin_ws / catkin_make source devel / setup.bash

Chỉnh sửa ~ /.bashrc và nối thêm

nguồn /home/pi/catkin_ws/devel/setup.bash

Bây giờ, thực hiện

cd ~ / catkin_ws / src

git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3. git git sao

Việc xây dựng sẽ thành công.

Định cấu hình Raspberry Pi 4b để nhận diện thiết bị ngoại vi USB TurtleBot3.

rosrun rùabot3_bringup create_udev_rules

Chạy ifconfig và ghi lại IP của Raspbery Pi.

ifconfig

Chỉnh sửa ~ /.bashrc. Thêm các dòng bên dưới và cũng thực thi chúng trong trình bao của bạn.

xuất ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

xuất ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Đồng bộ hóa thời gian Raspberry Pi và PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Tại thời điểm này, thiết lập của bạn sẽ được hoàn tất. Giờ đây, bạn có thể sử dụng Raspberry Pi 4b thay vì Raspberry Pi 3/3 + trong TurtleBot3 của mình.

Đề xuất: