สารบัญ:

ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b: 5 ขั้นตอน
ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b: 5 ขั้นตอน

วีดีโอ: ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b: 5 ขั้นตอน

วีดีโอ: ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b: 5 ขั้นตอน
วีดีโอ: ROS and Raspberry Pi for Beginners | Tutorial #0 - Topics Packages RosMaster 2024, ธันวาคม
Anonim
ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b
ติดตั้ง ROS Kinetic, TurtleBot3, Raspicam บน Raspberry Pi 4b

TurtleBot3 Burger มาพร้อมกับ Raspberry Pi 3 B/B+ และไม่รองรับ Raspberry Pi 4b ใหม่ (ณ วันที่ 9/2019) ทำตามขั้นตอนด้านล่างเพื่อให้ TurtleBot3 ทำงานบน Raspberry Pi 4b รวมถึง

  • การสร้าง ROS Kinetic จากแหล่งที่มาบน Raspberry Pi 4b Raspbian Buster
  • เพิ่มแพ็คเกจเฉพาะ TurtleBot3
  • เพิ่ม raspicam-node ให้กับ

ขั้นตอนที่ 1: ติดตั้ง Raspbian และกำหนดค่า Raspberry Pi 4b

ติดตั้ง Raspbian และกำหนดค่า Raspberry Pi 4b
ติดตั้ง Raspbian และกำหนดค่า Raspberry Pi 4b

ดาวน์โหลดภาพ Raspbian ฉันใช้ Raspbian Buster ลงวันที่ 2019–07–10

เบิร์นอิมเมจ Raspbian ที่ดาวน์โหลดไปยังการ์ด SD (ขนาดอย่างน้อย 8Gb) เชื่อมต่อจอแสดงผล คีย์บอร์ด และเมาส์กับ Raspberry Pi 4b ของคุณ บูตและเชื่อมต่อกับ WiFi ขยายระบบไฟล์เพื่อครอบครองการ์ด SD ทั้งหมดของคุณ และเปิดใช้งาน SSH และ VNC โดยเรียกใช้

sudo raspi-config

ขั้นตอนที่ 2: ดาวน์โหลด ROS Kinetic Sources

ดาวน์โหลด ROS Kinetic Sources
ดาวน์โหลด ROS Kinetic Sources

คำแนะนำด้านล่างทำตามบทช่วยสอน ROS อย่างเป็นทางการและ DmitryM8 ที่สอนได้

เข้าสู่ระบบ Raspberry Pi 4b ของคุณและดำเนินการคำสั่งเหล่านี้เพื่อเพิ่มที่เก็บแพ็คเกจ ROS สร้างเครื่องมือและเริ่มต้นเครื่องมือการพึ่งพา 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-python-rosinstallon- python-rosinstall build-essential cmake sudo rosdep init การอัปเดต rosdep

สร้างพื้นที่ทำงานเพื่อสร้าง ROS Kinetic จากแหล่งที่มา

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

ดาวน์โหลดซอร์สโค้ดสำหรับแพ็คเกจ "ros_comm" ซึ่งมีโมดูลที่จำเป็นซึ่งตั้งใจให้ทำงานบนคอมพิวเตอร์ออนบอร์ดของหุ่นยนต์ ที่นี่ rosinstall_generator สร้างรายการที่เก็บซอร์สโค้ดเพื่อดาวน์โหลด wstool ดำเนินการดาวน์โหลดซอร์สโค้ด

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

wstool init -j8 src kinetic-ros_comm-wet.rosinstall การติดตั้ง rosdep --from-paths src --ignore-src --rosdistro kinetic -y

ในการรัน TurtleBot3 และ raspicam คุณจะต้องใช้แพ็คเกจ ROS เหล่านี้เพิ่มเติมจาก ros_comm: common_msgs, rosserial, image_common, image_transport_plugins และการวินิจฉัย ในการเพิ่มแพ็คเกจเหล่านี้ให้รันคำสั่งเหล่านี้

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins การวินิจฉัย nodelet_core --rosdistro kinetic --deps --wet-only --tar > kinetic-extra-wet.rosinstall

wstool ผสาน -t src kinetic-extra-wet.rosinstall wstool update -j8 -t src ติดตั้ง rosdep - จากเส้นทาง src -ignore-src -rosdistro kinetic -y

เนื่องจากเวอร์ชันการพึ่งพาจะเปลี่ยนไปตามช่วงเวลา อาจมีข้อผิดพลาดเช่น "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): พยายามเขียนทับ '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py' ซึ่งอยู่ในแพ็คเกจ python-rosdistro 0.7.2-1" ด้วย แก้ไขข้อผิดพลาด "พยายามเขียนทับ" เหล่านี้:

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg- โมดูล

// หรือ sudo apt ลบ sudo apt --fix-broken install

ขั้นตอนที่ 3: แก้ไขข้อผิดพลาดในการรวบรวม ROS ด้วยตนเอง

แก้ไขข้อผิดพลาดในการรวบรวม ROS ด้วยตนเอง
แก้ไขข้อผิดพลาดในการรวบรวม ROS ด้วยตนเอง

การสร้าง ROS ณ จุดนี้จะล้มเหลวโดยมีข้อผิดพลาดต่างๆ มาแก้ไขข้อผิดพลาดเหล่านั้นด้วยการแก้ไขซอร์สโค้ด ROS ด้วยตนเอง

แก้ไข

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp บรรทัด 885

แทนที่

ถ่าน* str = PyString_AsString(obj);

กับ

const ถ่าน* str = PyString_AsString(obj);

แก้ไขไฟล์ด้านล่าง

/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

ลบการเกิดทั้งหมดของ

/tr1

และแทนที่การเกิดขึ้นทั้งหมดของ

มาตรฐาน::tr1

กับ

เพิ่ม

แก้ไขไฟล์ด้านล่าง

/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_/coresrc/bon /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

แทนที่รายการทั้งหมดของ

เพิ่ม::posix_time::มิลลิวินาที(…)

กับ

เพิ่ม::posix_time::มิลลิวินาที(int(…))

แก้ไขไฟล์ด้านล่าง

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

แทนที่ทั้งหมด

logWarn

กับ

CONSOLE_BRIDGE_logWarn

และ

บันทึกข้อผิดพลาด

กับ

CONSOLE_BRIDGE_logError

ขั้นตอนที่ 4: สร้าง ROS Kinetic

ณ จุดนี้การสร้างควรจะประสบความสำเร็จ

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic

ต่อท้าย ~/.bashrc และดำเนินการในเชลล์ของคุณด้วย:

แหล่งที่มา /opt/ros/kinetic/setup.bash

ขั้นตอนที่ 5: สร้างแพ็คเกจ TurtleBot3 และ Raspicam

สร้างแพ็คเกจ TurtleBot3 และ Raspicam
สร้างแพ็คเกจ TurtleBot3 และ Raspicam

คำแนะนำเหล่านี้เป็นไปตามบทช่วยสอนของ ROBOTIS

mkdir -p ~/catkin_ws/src

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

แก้ไข ~/.bashrc และผนวก

แหล่งที่มา /home/pi/catkin_ws/devel/setup.bash

ตอนนี้ดำเนินการ

cd ~/catkin_ws/src

โคลน git https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git โคลน git https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git โคลน git https://github.com/ROBOTIS-GIT/turtlebot3 git git clone https://github.com/UbiquityRobotics/raspicam_node.git cd ~/catkin_ws/src/turtlebot3 rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/ cd ~&catkin_ws

การสร้างควรประสบความสำเร็จ

กำหนดค่า Raspberry Pi 4b ให้รู้จักอุปกรณ์ต่อพ่วง USB TurtleBot3

rosrun turtlebot3_bringup create_udev_rules

เรียกใช้ ifconfig และจด IP ของ Raspbery Pi

ifconfig

แก้ไข ~/.bashrc. เพิ่มบรรทัดด้านล่างและดำเนินการในเชลล์ของคุณ

ส่งออก ROS_MASTER_URI=https://YOUR. ROS. MASTER. IP:11311

export ROS_HOSTNAME=YOUR. RASPBERRY. PI. IP

ซิงโครไนซ์เวลา Raspberry Pi และ PC:

sudo apt-get ติดตั้ง ntpdate

sudo ntpdate ntp.ubuntu.com

ณ จุดนี้ การตั้งค่าของคุณควรเสร็จสิ้น ตอนนี้คุณสามารถใช้ Raspberry Pi 4b แทน Raspberry Pi 3/3+ ใน TurtleBot3 ได้แล้ว

แนะนำ: