Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)
Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Roomblock: แพลตฟอร์มสำหรับการเรียนรู้การนำทาง ROS ด้วย Roomba, Raspberry Pi และ RPLIDAR: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 1คืนในโลก BACKROOM | Lost Rooms Roblox #2 2025, มกราคม
Anonim
Image
Image
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

นี่คืออะไร?

"Roomblock" เป็นแพลตฟอร์มหุ่นยนต์ที่ประกอบด้วย Roomba, Raspberry Pi 2, เลเซอร์เซนเซอร์ (RPLIDAR) และแบตเตอรี่มือถือ โครงยึดสามารถทำได้โดยเครื่องพิมพ์ 3 มิติ ระบบนำทาง ROS ช่วยให้สามารถสร้างแผนที่ของห้องและใช้เพื่อไปให้ถึงเป้าหมายได้ด้วยตนเอง

ใครต้องการสิ่งนี้?

ใครก็ตามที่ต้องการเรียนรู้เทคโนโลยีล้ำสมัยของการนำทางด้วยหุ่นยนต์ การทำแผนที่ และการขับขี่อัตโนมัติ หุ่นยนต์ตัวนี้สามารถสร้างได้ง่ายและมีราคาต่ำกว่าแพลตฟอร์มเชิงพาณิชย์อื่นๆ ปัจจุบัน ROS เป็นระบบซอฟต์แวร์มาตรฐานโดยพฤตินัยสำหรับสาขาการวิจัยหุ่นยนต์ ภาพยนตร์เรื่องนี้แสดงให้เห็นถึงสิ่งที่เป็นไปได้ด้วยระบบนำทาง ROS

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สร้างสายเคเบิลอนุกรม USB (อุปกรณ์เสริม)
สร้างสายเคเบิลอนุกรม USB (อุปกรณ์เสริม)
สร้างสายเคเบิลอนุกรม USB (อุปกรณ์เสริม)
สร้างสายเคเบิลอนุกรม USB (อุปกรณ์เสริม)

สายเคเบิลอนุกรม 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 (อุปกรณ์เสริม)
ตั้งค่าโมดูลกล้อง Raspberry Pi (อุปกรณ์เสริม)
ตั้งค่าโมดูลกล้อง Raspberry Pi (อุปกรณ์เสริม)

หากคุณมีโมดูลกล้อง Raspberry Pi คุณสามารถต่อเข้ากับ Raspberry Pi ได้ นี่เป็นทางเลือกสำหรับการเรียนรู้การนำทาง อย่างไรก็ตาม การได้รับมุมมองจากสายตาของหุ่นยนต์เป็นเรื่องที่สนุก

ส่วนเมาท์กล้องจะรวมอยู่ในข้อมูลเฟรมของ Thingiverse ด้วย โมดูลกล้องสามารถแก้ไขได้ด้วยสกรู M2 สี่ตัว

ขั้นตอนที่ 5: ตั้งค่า Local PC

ตั้งค่า Local PC
ตั้งค่า 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

ตั้งค่า Raspberry Pi
ตั้งค่า 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