สารบัญ:
วีดีโอ: Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่คืออะไร?
"Roomblock" เป็นแพลตฟอร์มหุ่นยนต์ที่ประกอบด้วย Roomba, Raspberry Pi 2, เลเซอร์เซนเซอร์ (RPLIDAR) และแบตเตอรี่มือถือ โครงยึดสามารถทำได้โดยเครื่องพิมพ์ 3 มิติ ระบบนำทาง ROS ช่วยให้สามารถสร้างแผนที่ของห้องและใช้เพื่อไปให้ถึงเป้าหมายได้ด้วยตนเอง
ใครต้องการสิ่งนี้?
ใครก็ตามที่ต้องการเรียนรู้เทคโนโลยีล้ำสมัยของการนำทางด้วยหุ่นยนต์ การทำแผนที่ และการขับขี่อัตโนมัติ หุ่นยนต์ตัวนี้สามารถสร้างได้ง่ายและมีราคาต่ำกว่าแพลตฟอร์มเชิงพาณิชย์อื่นๆ ปัจจุบัน ROS เป็นระบบซอฟต์แวร์มาตรฐานโดยพฤตินัยสำหรับสาขาการวิจัยหุ่นยนต์ ภาพยนตร์เรื่องนี้แสดงให้เห็นถึงสิ่งที่เป็นไปได้ด้วยระบบนำทาง ROS
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
สายเคเบิลอนุกรม USB
หากคุณไม่มีสายซีเรียล USB สำหรับ Roomba คุณสามารถสร้างได้อย่างง่ายดายด้วยผลิตภัณฑ์นี้
- FTDI: TTL-232R-5V
- อากิกิ เดนชิ: TTL-232R-5V
สังเกตว่า inerface ของ Roomba คือ TTL (5V)
ตัวเชื่อมต่อ
คุณต้องมีขั้วต่อ mini-DIN 8 พินสำหรับอินเทอร์เฟซซีเรียลของ Roomba จริงๆ แล้ว ขั้วต่อของ Roomba เป็นแบบ mini-DIN 7 พิน อย่างไรก็ตาม ซื้อ 8 พินได้ง่ายกว่าขั้วต่อ 7 พินมาก
- Digikey: ขั้วต่อ mini-DIN 8pin
- Kyoritsu: ขั้วต่อ mini-DIN 8pin
บัดกรี
บัดกรีสายเคเบิลอนุกรมกับขั้วต่อ 8 พิน ตรวจสอบการเชื่อมต่อด้วยรูปภาพที่แนบมา และเอกสารข้อกำหนดของอินเทอร์เฟซแบบเปิดของ Roomba
Roomba Open Interface Specification
โปรดทราบว่าการเชื่อมต่อ Vcc (สีแดง) และ RTS (สีเขียว) นั้นปลอดภัยเพื่อหลีกเลี่ยงปัญหาการไหลของฮาร์ดแวร์
ขั้นตอนที่ 4: ตั้งค่าโมดูลกล้อง Raspberry Pi (ไม่บังคับ)
หากคุณมีโมดูลกล้อง Raspberry Pi คุณสามารถต่อเข้ากับ Raspberry Pi ได้ นี่เป็นทางเลือกสำหรับการเรียนรู้การนำทาง อย่างไรก็ตาม การได้รับมุมมองจากสายตาของหุ่นยนต์เป็นเรื่องที่สนุก
ส่วนเมาท์กล้องจะรวมอยู่ในข้อมูลเฟรมของ Thingiverse ด้วย โมดูลกล้องสามารถแก้ไขได้ด้วยสกรู M2 สี่ตัว
ขั้นตอนที่ 5: ตั้งค่า Local PC
ติดตั้ง Ubuntu
ติดตั้งเดสก์ท็อป Ubuntu 16.04 ตามหน้าทางการ
หน้าทางการของอูบุนตู
ติดตั้ง ROS
โปรดปรึกษาหน้าทางการของ ROS ติดตั้งแพ็คเกจ Kinetic desktop แบบเต็ม
คำแนะนำในการติดตั้ง ROS Kinetic
ติดตั้งแพ็คเกจ Roomblock ROS
แพ็คเกจสำหรับ roomblock ถูกปล่อยออกมาใน Kinetic แล้ว คุณสามารถติดตั้งได้ด้วยคำสั่ง apt
$ sudo apt ติดตั้ง ros-kinetic-roomblock
แค่นั้นแหละ.
หากคุณต้องการแก้ไขและสร้างแพ็คเกจจากซอร์สโค้ด คุณสามารถรับได้จาก GitHub
GitHub - roomblock
โปรดปฏิบัติตามคำแนะนำใน README.md
หากคุณมีปัญหาหรือข้อสงสัยเกี่ยวกับซอฟต์แวร์ โปรดสร้างปัญหาใน GitHub Issues เพื่อให้เราสามารถติดตามปัญหาได้อย่างมีประสิทธิภาพ โปรดหลีกเลี่ยงการโพสต์บน Instructables
ขั้นตอนที่ 6: ตั้งค่า Raspberry Pi
ติดตั้ง Ubuntu
ติดตั้ง Ubuntu 16.04 ลงใน Raspberry Pi โดยทำตามคำแนะนำในการติดตั้ง:
Ubuntu Wiki: RaspberryPi
ติดตั้ง ROS
ติดตั้ง ROS Kinetic ตามคู่มือการติดตั้ง:
ติดตั้ง Ubuntu ของ ROS Kinetic
ติดตั้งแพ็คเกจ Roomblock ROS
คุณต้องติดตั้งแพ็คเกจ roomblock จากซอร์สโค้ด ซอร์สโค้ดของแพ็คเกจอยู่บน GitHub
GitHub - roomblock
โปรดปฏิบัติตามคำแนะนำใน README.md
หากคุณมีปัญหาหรือข้อสงสัยเกี่ยวกับซอฟต์แวร์ โปรดสร้างปัญหาใน GitHub Issues เพื่อให้เราสามารถติดตามปัญหาได้อย่างมีประสิทธิภาพ โปรดหลีกเลี่ยงการโพสต์บน Instructables
โมดูลกล้อง Raspberry Pi (อุปกรณ์เสริม)
หากคุณมีโมดูลกล้อง Rasberry Pi คุณต้องติดตั้ง libraspberrypi-dev โปรดปรึกษา README.md ใน Github
ขั้นตอนที่ 7: การทำงานระยะไกล
นำระบบฐานบน Raspberry Pi
ก่อนอื่นคุณต้องนำระบบขึ้นมา บนเทอร์มินัล Raspberry Pi ให้เปิดระบบพื้นฐานดังนี้:
$ ส่งออก ROS_IP=IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR เริ่มหมุน และตอนนี้คุณสามารถเชื่อมต่อกับหุ่นยนต์ ROS master จากพีซีในพื้นที่ของคุณ
การทำงานทางไกลจาก PC ในพื้นที่
คุณสามารถใช้จอยแพดเพื่อควบคุมหุ่นยนต์ได้ หากคุณมีจอยแพดของ XBox คุณสามารถใช้ไฟล์เปิดใช้นี้ได้ มิฉะนั้น คุณอาจต้องแก้ไขไฟล์เรียกใช้งานให้พอดีกับจอยแพดของคุณ โปรดดูรายละเอียดที่หน้าวิกิ ROS
ROS wiki - teleop_twist_joy
$ ส่งออก ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ roslaunch roomblock_bringup teleop.launch
ตอนนี้คุณสามารถควบคุม Roomba ด้วยจอยสติ๊ก
คุณสามารถใช้แป้นพิมพ์แทนได้
$ ส่งออก ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
โปรดดูรายละเอียดในหน้าวิกิ ROS
ROS wiki - teleop_twist_keyboard
ขั้นตอนที่ 8: เปิดซอฟต์แวร์การทำแผนที่
เรียกใช้ซอฟต์แวร์การทำแผนที่บนพีซีในพื้นที่
เรียกใช้ซอฟต์แวร์แผนที่เพื่อสร้างแผนที่รอบ ๆ หุ่นยนต์
$ ส่งออก ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ ส่งออก ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
ตอนนี้คุณสามารถเห็น Rviz (ซอฟต์แวร์สร้างภาพ) บังคับหุ่นยนต์ไปรอบๆ ห้องเพื่อสร้างแผนที่ของห้อง
คุณสามารถปรึกษาหน้าวิกิ ROS สำหรับระบบการทำแผนที่
- ROS wiki - gmapping
- ROS wiki - map_server
ขั้นตอนที่ 9: เปิดใช้การนำทางอัตโนมัติ
นำซอฟต์แวร์นำทางอัตโนมัติขึ้นมา
ตอนนี้คุณสามารถเริ่มระบบนำทางอัตโนมัติบนพีซีในพื้นที่ได้ดังนี้:
$ ส่งออก ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ ส่งออก ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
คุณสามารถใช้ Rviz เพื่อระบุเป้าหมาย หุ่นยนต์ควรไปที่เป้าหมายด้วยตนเอง
โปรดศึกษาหน้าวิกิ ROS สำหรับระบบอัตโนมัติ
- ROS wiki - การนำทาง
- ROS wiki - amcl
มีความสุข
หากคุณมีคำถามหรือปัญหาทั่วไปเกี่ยวกับ ROS โปรดปรึกษา ROS wiki เราไม่สามารถตอบคำถามทั่วไปเกี่ยวกับ ROS ได้
ROS wiki - การสนับสนุน
หากคุณมีปัญหาหรือข้อสงสัยเกี่ยวกับซอฟต์แวร์ Roomblock โปรดสร้างปัญหาใน GitHub Issues เพื่อให้เราสามารถติดตามปัญหาได้อย่างมีประสิทธิภาพ โปรดหลีกเลี่ยงการโพสต์บน Instructables