สารบัญ:
- ขั้นตอนที่ 1: การติดตั้ง Bootstrap Dependencies และดาวน์โหลด Packages
- ขั้นตอนที่ 2: แก้ไขปัญหา
- ขั้นตอนที่ 3: สร้างและจัดหาการติดตั้ง
- ขั้นตอนที่ 4: ติดตั้ง RPLIDAR ROS Package
- ขั้นตอนที่ 5: ตั้งค่า ROS ให้ทำงานบนหลายเครื่อง
- ขั้นตอนที่ 6: เสร็จแล้ว
วีดีโอ: ROS Melodic บน Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
บทความนี้จะกล่าวถึงขั้นตอนการติดตั้ง ROS Melodic Morenia บน Raspberry Pi 4 ที่ใช้งาน Debian Buster ล่าสุด และวิธีใช้ RPLIDAR A1M8 กับการติดตั้งของเรา
เนื่องจาก Debian Buster เปิดตัวอย่างเป็นทางการเมื่อไม่กี่สัปดาห์ก่อน (ในขณะที่เขียนบทความนี้) จึงไม่มีแพ็คเกจ ROS ที่สร้างไว้ล่วงหน้าให้ติดตั้งด้วย apt-get ซึ่งเป็นวิธีการติดตั้งที่ต้องการ ดังนั้นเราจะต้องสร้างมันจากแหล่งที่มา เชื่อฉันเถอะ มันไม่ได้น่ากลัวอย่างที่คิด กระบวนการนี้อธิบายไว้ในบทช่วยสอนอย่างเป็นทางการนี้ แต่ในการสร้าง ROS Melodic บน Raspberry Pi เราจำเป็นต้องทำการปรับเปลี่ยนเล็กน้อย
ในกรณีที่คุณยังกลัวอยู่ นี่คือภาพตลก ๆ ที่ *อาจ* ช่วยให้คุณผ่อนคลายได้ โปรดให้ข้อเสนอแนะหากระดับของการพักผ่อนเพียงพอ ถ้าไม่เช่นนั้นจะถูกแทนที่ด้วยภาพแมวตลก
แก้ไขมกราคม 2020: เนื่องจากฉันโพสต์บทความนี้เป็นเวลาครึ่งปีแล้ว จึงอาจมีการเปลี่ยนแปลงบางอย่างใน ROS หรือ Buster ฉันได้สร้างภาพสำหรับ Raspberry Pi 4 เมื่อไม่นานมานี้ หลังจากเขียนบทช่วยสอนนี้ ช่างภาพได้อัปโหลดไปยัง Google Drive
แก้ไขในเดือนเมษายน 2020: ฉันเพิ่งพบเวลาที่จะทำซ้ำการติดตั้ง ROS Melodic บนอิมเมจ Raspbian ใหม่ล่าสุดจากเว็บไซต์ Raspberry Pi อย่างเป็นทางการ ฉันได้แก้ไขคำสั่งนี้ตามนั้นแล้ว ฉันยังสร้างและแบ่งปันรูปภาพที่สะอาดและบีบอัด:
Raspbian Buster Lite 2020-02-13 วางจำหน่ายพร้อม ROS Melodic Bare-bones ต้องการการ์ด SD ขนาด 8 GB
Raspbian Buster พร้อมเดสก์ท็อป 2020-02-13 วางจำหน่ายพร้อม ROS Melodic Desktop ต้องการการ์ด SD ขนาด 16 GB
อาจเป็นวิธีที่เร็วที่สุดในการทำให้ระบบของคุณทำงานได้ หากคุณต้องการรวบรวม ROS ด้วยตัวเอง โปรดอ่านบทความต่อไป
ขั้นตอนที่ 1: การติดตั้ง Bootstrap Dependencies และดาวน์โหลด Packages
เริ่มต้นด้วยการตั้งค่าที่เก็บและติดตั้งการพึ่งพาที่จำเป็น
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 build-essential cmake
จากนั้นเริ่มต้น rosdep และอัปเดต
sudo rosdep init
rosdep อัพเดท
เมื่อเสร็จแล้ว ให้สร้างพื้นที่ทำงาน catkin เฉพาะสำหรับสร้าง ROS และย้ายไปยังไดเร็กทอรีนั้น
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
ตอนนี้คุณมีทางเลือกสองทาง:
ROS-Comm: การติดตั้ง (Bare Bones) - ติดตั้งอันนี้หากคุณคุ้นเคยกับ ROS และรู้ว่าคุณกำลังทำอะไรและต้องใช้แพ็คเกจใด หากคุณต้องการแพ็คเกจที่ไม่รวมอยู่ใน ROS-Comm คุณจะต้องคอมไพล์จากซอร์สด้วย
การติดตั้งเดสก์ท็อป: รวมเครื่องมือ GUI เช่น rqt, rviz และไลบรารีทั่วไปของหุ่นยนต์ อาจเป็นทางเลือกที่ดีกว่าสำหรับผู้เริ่มต้นสู่ ROS
ฉันจะไปกับการติดตั้ง Desktop Install ที่นี่
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
คำสั่งจะใช้เวลาสองสามนาทีในการดาวน์โหลดแพ็คเกจ ROS หลักทั้งหมดลงในโฟลเดอร์ src
หาก wstool init ล้มเหลวหรือถูกขัดจังหวะ คุณสามารถทำการดาวน์โหลดต่อโดยเรียกใช้:
wstool อัปเดต -j4 -t src
ขั้นตอนที่ 2: แก้ไขปัญหา
เมษายน 2020 แก้ไข: ข้ามขั้นตอนนี้ ดูเหมือนว่าปัญหาทั้งหมดได้รับการแก้ไขแล้ว
มาติดตั้งเวอร์ชันที่เข้ากันได้ของ Assimp (Open Asset Import Library) เพื่อแก้ไขปัญหาการพึ่งพา 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
เปิดเครื่องรูด assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
ซีเมค
ทำ
sudo ทำการติดตั้ง
มาติดตั้ง OGRE สำหรับ rviz. ด้วย
sudo apt-get ติดตั้ง libogre-1.9-dev
อัปเดตเดือนมกราคม 2020: ปัญหาของ libbost ได้รับการแก้ไขแล้วโดยนักพัฒนา ROS คุณสามารถข้ามส่วนนี้ไปได้
/// ข้าม /// สุดท้ายเราจะต้องแก้ไขปัญหาเกี่ยวกับ libboost ฉันกำลังใช้วิธีแก้ปัญหาจากโพสต์นี้ใน stackoverflow:
ข้อผิดพลาดระหว่างการคอมไพล์เกิดจากฟังก์ชัน 'boost::posix_time::milliseconds' ซึ่งในเวอร์ชันบูสต์ที่ใหม่กว่ายอมรับเฉพาะอาร์กิวเมนต์จำนวนเต็มเท่านั้น แต่แพ็กเกจ actionlib ใน ROS ทำให้มันลอยได้หลายที่ คุณสามารถแสดงรายการไฟล์ทั้งหมดได้ ใช้ฟังก์ชันนั้น (!ในโฟลเดอร์ ros_catkin_ws!):
find -type f -print0 | xargs -0 grep 'boost::posix_time::มิลลิวินาที' | ตัด -d: -f1 | เรียงลำดับ -u
เปิดในโปรแกรมแก้ไขข้อความของคุณและค้นหาการเรียกฟังก์ชัน 'boost::posix_time::milliseconds'
และแทนที่การโทรเช่นนี้:
เพิ่ม::posix_time::มิลลิวินาที(loop_duration.toSec() * 1000.0f));
กับ:
เพิ่ม::posix_time::มิลลิวินาที(int(loop_duration.toSec() * 1000.0f)));
และสิ่งเหล่านี้:
เพิ่ม::posix_time::มิลลิวินาที(1000.0f)
กับ:
เพิ่ม::posix_time::มิลลิวินาที(1000)
ฉันแนะนำให้คุณใช้โปรแกรมแก้ไขข้อความนาโน ซึ่งง่ายกว่า VIM;) กำลังบันทึก Ctrl+O, Ctrl+X กำลังออก และ Ctrl+W กำลังค้นหา
///ต่อจาก_ที่นี่///
ขั้นตอนที่ 3: สร้างและจัดหาการติดตั้ง
ต่อไปเราจะใช้เครื่องมือ rosdep เพื่อติดตั้งการพึ่งพาที่เหลือทั้งหมด:
ติดตั้ง rosdep --from-paths src --ignore-src --rosdistro ไพเราะ -y
เมื่อดาวน์โหลดแพ็คเกจและแก้ไขการขึ้นต่อกันเสร็จแล้ว คุณก็พร้อมที่จะสร้างแพ็คเกจ catkin แล้ว (เรียกใช้คำสั่งนี้จากโฟลเดอร์ ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
หากกระบวนการคอมไพล์ค้าง (เป็นไปได้มาก หากคุณติดตั้งเวอร์ชันเดสก์ท็อป) คุณต้องเพิ่มพื้นที่สว็อปที่พร้อมใช้งาน โดยค่าเริ่มต้นคือ 100 MB ลองเพิ่มเป็น 2048 MB
ขอให้โชคดี! กระบวนการรวบรวมทั้งหมดใช้เวลาประมาณ 1 ชั่วโมง (น้อยกว่าสำหรับเวอร์ชั่น Bare-bones) ไปชงชากันเถอะ
ตอนนี้ควรติดตั้ง ROS Melodic บน Raspberry Pi 4 ของคุณ เราจะจัดหาการติดตั้งใหม่ด้วยคำสั่งต่อไปนี้:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
เปิดเปลือกใหม่เพื่อให้การเปลี่ยนแปลงมีผล ลองเปิดตัวรอสกอร์เพื่อตรวจสอบว่าทุกอย่างสำเร็จหรือไม่
ขั้นตอนที่ 4: ติดตั้ง RPLIDAR ROS Package
มาสร้างพื้นที่ทำงานแยกกันสำหรับแพ็คเกจอื่นๆ ที่ไม่ใช่ส่วนหนึ่งของ ROS หลัก
จากโฟลเดอร์บ้านของคุณทำ:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
และแหล่งที่มาของ bashrc:
echo "แหล่ง $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
เอาล่ะ เราพร้อมที่จะเริ่มติดตั้งแพ็คเกจ RPLIDAR ROS แล้ว
cd src
โคลน sudo git
ซีดี..
catkin_make
รอให้การรวบรวมแพ็คเกจเสร็จสิ้น ลองเปิดตัวแพ็คเกจเพื่อดูว่าการคอมไพล์สำเร็จหรือไม่:
roslaunch rplidar_ros rplidar.launch
หากไม่แสดงข้อผิดพลาดใดๆ ให้ทำการเต้นรำฉลองอย่างรวดเร็ว (*ตัวเลือก)
ตอนนี้เหลือเพียงชิ้นสุดท้ายที่ขาดหายไป เนื่องจากคุณอาจใช้งาน Raspberry Pi 4 ในโหมดหัวขาด เราจึงไม่เห็นภาพข้อความที่เป็นภาพ เพื่อที่เราจะต้องตั้งค่า ROS ให้ทำงานบนหลายเครื่อง
ขั้นตอนที่ 5: ตั้งค่า ROS ให้ทำงานบนหลายเครื่อง
สำหรับส่วนนี้ คุณจะต้องใช้คอมพิวเตอร์ Ubuntu 18.04 ที่ติดตั้ง ROS Melodic เนื่องจากเป็น Ubuntu ROS สามารถติดตั้งได้ง่ายๆ โดยใช้ apt-get ตามที่อธิบายไว้ในบทช่วยสอนนี้
หลังจากที่คุณได้ติดตั้ง ROS ทั้งบน Raspberry Pi และเครื่องเดสก์ท็อปแล้ว ให้ตรวจสอบที่อยู่ IP ของทั้งสองเครื่อง ต้องอยู่ในเครือข่ายเดียวกัน!
เรียกใช้ roscore บนคอมพิวเตอร์เดสก์ท็อปของคุณและส่งออก ROS_MASTER_URI
roscore
ส่งออก ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311
ถัดไปใน Raspberry PI ดำเนินการ
ส่งออก ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311
ส่งออก ROS_IP=[your-raspberry-pi-ip]
และเปิดไฟล์เรียกใช้ RPILIDAR
roslaunch rplidar_ros rplidar.launch
หากเปิดได้สำเร็จ ให้ตรวจสอบหัวข้อที่มีอยู่ในเครื่องเดสก์ท็อปของคุณด้วยรายการ rostopic
หากคุณสามารถเห็น / สแกนข้อความ ทุกอย่างทำงานได้ตามที่ควรจะเป็น จากนั้นเปิด RVIZ บนเครื่องเดสก์ท็อปของคุณ เพิ่มข้อความ Laser Scan แล้วเลือก /scan topic คุณจะต้องเปลี่ยนเฟรมคงที่เป็น /laser
โว้ว!
ขั้นตอนที่ 6: เสร็จแล้ว
คู่มือนี้สามารถเป็นก้าวแรกสู่การสร้างหุ่นยนต์ ROS ของคุณบน Raspberry Pi 4 ใหม่ เราได้ติดตั้ง ROS Melodic และเตรียมการติดตั้งสำหรับการรันแบบไม่มีหัวและเชื่อมต่อกับเครื่องเดสก์ท็อปของเราผ่านเครือข่ายไร้สายสำหรับการควบคุมระยะไกล
ขั้นตอนต่อไปขึ้นอยู่กับประเภทของหุ่นยนต์ที่คุณต้องการสร้าง คุณสามารถเพิ่มมอเตอร์และตัวเข้ารหัสสำหรับวัดระยะทาง กล้องสเตอริโอสำหรับ Visual SLAM และสิ่งที่น่าตื่นเต้นและมีประโยชน์อื่นๆ ได้ทุกประเภท
Seeed studio เป็นผู้จัดหาฮาร์ดแวร์สำหรับบทความนี้ ลองดู Raspberry Pi 4, RPLIDAR A1M8 และฮาร์ดแวร์อื่นๆ สำหรับผู้ผลิตที่ Seeed studio store!
เพิ่มฉันใน LinkedIn หากคุณมีคำถามใดๆ และสมัครรับข้อมูลจากช่อง YouTube ของฉัน เพื่อรับการแจ้งเตือนเกี่ยวกับโครงการที่น่าสนใจอื่นๆ ที่เกี่ยวข้องกับแมชชีนเลิร์นนิงและวิทยาการหุ่นยนต์
แนะนำ:
เริ่มต้นใช้งาน RPLIDAR ราคาประหยัดโดยใช้ Jetson Nano: 5 ขั้นตอน
เริ่มต้นใช้งาน RPLIDAR ราคาประหยัดโดยใช้ Jetson Nano: ภาพรวมโดยย่อLight Detection and Ranging (LiDAR) ทำงานในลักษณะเดียวกับที่ใช้เครื่องวัดระยะแบบอัลตราโซนิคพร้อมพัลส์เลเซอร์แทนคลื่นเสียง Yandex, Uber, Waymo และอื่น ๆ กำลังลงทุนอย่างหนักในเทคโนโลยี LiDAR สำหรับการปร
วิธีใช้เครื่องสแกนเลเซอร์ RPLIDAR 360° กับ Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
วิธีใช้เครื่องสแกนเลเซอร์ RPLIDAR 360° กับ Arduino: ฉันเป็นแฟนตัวยงของการสร้างหุ่นยนต์ซูโม่ และฉันมักจะมองหาเซ็นเซอร์และวัสดุใหม่ที่น่าสนใจเพื่อใช้สร้างหุ่นยนต์ที่ดีขึ้น เร็วขึ้น และฉลาดขึ้น ฉันพบข้อมูลเกี่ยวกับ RPLIDAR A1 ซึ่งคุณสามารถซื้อได้ในราคา $99 ที่ DFROBOT.com ฉันบอกว่าฉันอิน
Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)
Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: นี่คืออะไร"Roomblock" เป็นแพลตฟอร์มหุ่นยนต์ที่ประกอบด้วย Roomba, Raspberry Pi 2, เซ็นเซอร์เลเซอร์ (RPLIDAR) และแบตเตอรี่มือถือ โครงยึดสามารถทำได้โดยเครื่องพิมพ์ 3 มิติ ระบบนำทาง ROS ช่วยให้สามารถจัดทำแผนที่ห้องและใ