สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: Rover Assembly
- ขั้นตอนที่ 2: Raspbian
- ขั้นตอนที่ 3: OpenVino
- ขั้นตอนที่ 4: ดาวน์โหลดรหัส
- ขั้นตอนที่ 5: FollowMe (Python)
- ขั้นตอนที่ 6: ดาวน์โหลดรุ่น
- ขั้นตอนที่ 7: Arduino
- ขั้นตอนที่ 8: GUI
- ขั้นตอนที่ 9: บริการ
- ขั้นตอนที่ 10: แค่นั้นแหละ! มีความสุข
วีดีโอ: MyPetBot (บอทที่ติดตามคุณ): 10 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
Ai เป็นหนึ่งในแอปพลิเคชั่นคณิตศาสตร์ที่สวยงามที่สุด โดยพื้นฐานแล้วมันเป็นกลุ่มของการดำเนินการเมทริกซ์ที่ปรับให้เหมาะกับผลลัพธ์ที่คุณต้องการ โชคดีที่มีเครื่องมือโอเพ่นซอร์สมากมายที่ช่วยให้เราใช้งานได้
เดิมทีฉันมีความคิดนี้เมื่อนานมาแล้วเมื่อฉันกำลังทำงานบนน้ำตกที่ถูกปิดการใช้งานโดยผู้คนที่ขว้างปา ฉันใช้เซ็นเซอร์อัลตราซาวนด์และพบว่าสายเกินไปว่าอุปกรณ์เหล่านี้ใช้งานไม่ได้มากเมื่อเปียกน้ำ… นั่นไม่ใช่ประสบการณ์ที่สนุก เราลงเอยด้วยการใช้ปุ่มขนาดใหญ่ที่ผู้คนจะกดหากพวกเขาต้องการผ่าน มันกลับกลายเป็นดีเพราะมันร้อนและผู้คนชอบเปียก แต่ปัญหายังคงอยู่ในหัวของฉัน… วิธีตรวจจับผู้คนและกระตุ้นปฏิกิริยา
ฉันเล่าเรื่องนี้เพราะฉันต้องการชี้ให้เห็นว่าหลักการนี้สามารถใช้กับแอปพลิเคชันอื่น ๆ ได้มากมาย! การติดตามใบหน้าของคุณด้วยของเล่นเป็นเพียงหนึ่งในนั้น สำหรับการติดตั้งแบบโต้ตอบ คุณสามารถทำอะไรก็ได้ คุณสามารถใช้แบบจำลองเพื่อตรวจจับว่าใบหน้ากำลังยิ้มอยู่หรือไม่ คุณสามารถนับจำนวนสุนัขในสวนสาธารณะได้ คุณสามารถปิดมู่ลี่ของคุณเมื่อมีคนผ่านไปมา หรือ… สร้างคอนโทรลเลอร์สำหรับ nintendo ของคุณตามตำแหน่งร่างกายของคุณ…. คุณสามารถดาวน์โหลดโมเดล Ai อื่น ๆ ที่ทำสิ่งต่างๆ ได้มากมาย
มีบทช่วยสอนเกี่ยวกับวิธีการทำให้การอนุมาน Ai ทำงานกับราสเบอร์รี่ pi ฉันมาที่นี่เพื่อสอนวิธีทำให้การรวมหลุมเป็นหน่วยทำงานด้วยตนเอง ทันทีที่บูทหุ่นยนต์ จะเริ่มโปรแกรมที่จำเป็น
เสบียง
- หุ่นยนต์พารัลแลกซ์: ฉันเลือกหุ่นยนต์ตัวนี้เพราะฉันวางมันไว้ แต่หุ่นยนต์ใดๆ ที่สามารถควบคุมได้ด้วย Arduino จะทำงาน
- Raspberry pi: อย่างน้อยฉันขอแนะนำ raspberry pi 3B+
- Intel Neural Stick: อัตราการอนุมานจากหนึ่งต่อวินาทีเป็น 8 คุณต้องการจริงๆ ถ้าคุณต้องการทำ Ai ในราสเบอร์รี่ pi
- Power Bank: วิธีที่ง่ายที่สุดในการจัดการพลังงาน ใช้งานได้กับ raspberry pi 3B+ คุณอาจต้องการตรวจสอบว่าใช้งานได้กับ pi 4
- Picamera: ฉันชอบใช้ picamera แทน usb
ขั้นตอนที่ 1: Rover Assembly
สาระสำคัญของบทช่วยสอนนี้เกี่ยวกับซอฟต์แวร์เป็นหลัก ดังนั้นฉันจึงไม่ต้องการลงรายละเอียดเกี่ยวกับรถแลนด์โรเวอร์มากเกินไป มันใช้งานได้กับหุ่นยนต์ตัวนี้ แต่มันสามารถทำงานกับฮาร์ดแวร์อื่น ๆ ได้จริงๆ ไม่จำเป็นสำหรับรถแลนด์โรเวอร์ คุณสามารถใช้สิ่งนี้กับกล้องตรวจจับการเคลื่อนไหวได้
- ค้นหาตัวเองว่าเป็นยานพาหนะที่ควบคุมโดย Arduino
- พันพาวเวอร์แบงค์ไว้แน่น
- ห่อราสเบอร์รี่ pi ให้แน่น
- กาว picamera โดยทำมุมเล็กน้อยไปทางด้านบน
- เชื่อมต่อทุกอย่างเข้าด้วยกัน
- โว้ว!
ขั้นตอนที่ 2: Raspbian
ฉันใช้ raspberry pi แต่ไม่มีเหตุผลที่จะไม่ใช้ linux อื่น… ขึ้นอยู่กับคุณ ฉันสามารถปล่อยอิมเมจแบบพลักแอนด์เพลย์เพื่อเบิร์นการ์ด sd ได้ ถ้ามีคนสนใจมากพอ
ติดตั้ง Raspbian: คุณสามารถติดตั้ง Raspbian Buster Lite ได้ เราจะไม่ใช้เดสก์ท็อป… เฉพาะการเชื่อมต่อ ssh Secure Shell
เชื่อมต่อกับ Pi ของคุณ: ขั้นแรกคุณสามารถเชื่อมต่อกับราสเบอร์รี่ pi ของคุณด้วยการเชื่อมต่ออีเทอร์เน็ต
ตั้งค่า wifi ของคุณ: ตอนนี้คุณสามารถกำหนดค่าการเชื่อมต่อไร้สายของคุณ
ขั้นตอนที่ 3: OpenVino
OpenVino เป็นห้องสมุดที่ยอดเยี่ยมที่สนับสนุนโดย Intel พวกเขาทำงานได้ดีมากในการรวบรวมแบบจำลองตัวอย่าง และพวกเขาได้ทำให้ ai framework ส่วนใหญ่เข้ากันได้ คุณต้องมีไลบรารีนี้สำหรับ Intel Neural Stick
การติดตั้ง Python3: คุณต้องติดตั้ง python 3
การติดตั้ง OpenVino: เมื่อเสร็จแล้วคุณจะเห็นบรรทัด "[setupvars.sh] สภาพแวดล้อม OpenVINO เริ่มต้น" ทุกครั้งที่คุณเชื่อมต่อกับ raspberry pi
OpenVino เป็นส่วนขยายของ opencv ในการทดสอบ คุณสามารถเปิด python3 และนำเข้า cv2
พิมพ์ลงในเปลือก:
python3
พิมพ์ลงใน python:
- นำเข้า cv2
- cv2._version_
บรรทัดสุดท้ายควรส่งคืน '4.1.2-openvino' หรือ openvino เวอร์ชันใดก็ได้ ถ้าบอกว่า opencv การติดตั้งของคุณใช้งานไม่ได้…
ขั้นตอนที่ 4: ดาวน์โหลดรหัส
ขั้นแรก เราติดตั้ง git พิมพ์ลงในเปลือก:
sudo apt-get ติดตั้ง git
จากนั้นเราสามารถย้ายไปที่โฟลเดอร์เอกสารและดาวน์โหลดรหัส:
- cd ~/เอกสาร/
- โคลน git
ขั้นตอนที่ 5: FollowMe (Python)
นี่คือส่วนที่คุณอยากเล่นด้วย ทำให้ถ้าติดตามคุณ! ทำให้มันกลัวคุณ! ตามสุนัขของคุณ! ทำให้จดจำสีหน้าได้!! แกล้งแมวของคุณ!!! อะไรก็ได้ที่คุณต้องการ
คุณจะพบสี่โฟลเดอร์หลัก: Arduino, Deployment, Player และ FollowMe:
Arduino: ข้อมูลเพิ่มเติมในหัวข้อถัดไป
การปรับใช้: นี่คือที่ที่ฉันใส่ส่วนต่อประสานผู้ใช้ ตอนนี้ฉันเขียนโค้ดปุ่มเริ่ม/หยุดง่ายๆ และโปรแกรมดูกล้องตัวเล็ก ๆ ที่ควบคุมได้อย่างสนุกสนาน
ผู้เล่น: มีไว้สำหรับใช้ในเดสก์ท็อปพีซีของคุณ สำหรับรีวิวผลงานของบอท!
FollowMe: โมดูลที่สร้างความสนุกอย่างแท้จริง
ฉันจะใส่รายละเอียดเพิ่มเติมเกี่ยวกับ github ดังนั้นจึงมีที่เดียวที่จะอัปเดต นี่คือที่สำหรับรหัส
ขั้นตอนที่ 6: ดาวน์โหลดรุ่น
โมเดลสำหรับการอนุมานไม่รวมอยู่ในโค้ดเนื่องจากมีขนาดค่อนข้างใหญ่ แต่คุณสามารถหาตัวอย่างได้มากมายโดยใช้โมเดล OpenVino Zoo
คุณสามารถใช้ตัวดาวน์โหลดโมเดลหรือไปที่ลิงค์นี้โดยตรง ในกรณีของฉัน ฉันไม่สามารถใช้ตัวดาวน์โหลดโมเดลจากการติดตั้ง raspberry pi ของฉันได้…
จากนั้นคัดลอกโมเดลลงในโฟลเดอร์ชื่อ Models ด้วย:
- cd ~/Documents/FollowMe
- mkdir รุ่น
- cd รุ่น
- wget
- wget
คุณต้องการ.xml และ.bin เสมอ
คุณสามารถดาวน์โหลดรุ่นใดก็ได้ที่คุณต้องการ… แต่คุณจะต้องเปลี่ยนรหัส มีความสุข!
ขั้นตอนที่ 7: Arduino
เราต้องดาวน์โหลดรหัสในขั้นตอนก่อนหน้า รหัสสำหรับ Arduino อยู่ในนั้น!
รหัสนี้มีไว้เพื่อขับเคลื่อนเซอร์โวต่อเนื่องสองตัว หากคุณเลือกการกำหนดค่าอื่น คุณต้องแก้ไขโค้ด
โดยทั่วไปจะทำสองสิ่ง มันสื่อสารกับคอมพิวเตอร์และเปิดใช้งานเซอร์โวด้วยความเร็วที่เลือก
ฉันสามารถใช้เอาต์พุตของราสเบอร์รี่ pi โดยตรงเพื่อควบคุมมอเตอร์… แต่ Arduinos ทำงานได้ดีกว่า (พวกเขามีเครื่องกำเนิดความถี่จริง) นอกจากนี้ ฉันต้องการลดปริมาณราสเบอร์รี่ pi ให้มากที่สุดเพื่อให้อนุมานเร็วขึ้น
ขั้นตอนที่ 8: GUI
ไม่มีอะไรแฟนซี … ยัง ฉันอาจเพิ่มอย่างอื่น เช่น ไลฟ์วิวหรือการควบคุมการเคลื่อนไหว แต่ในระหว่างนี้ การเริ่มและหยุดง่ายๆ จะช่วยได้
หากคุณต้องการทดสอบ คุณต้องเปิดใช้งานจากไดเร็กทอรี FollowMe Level จากนั้นเรียกใช้จาก python3:
- cd ~/Documents/FollowMe
- python3 การปรับใช้/FollowMe.py
จากนั้นคุณสามารถเข้าถึงอินเทอร์เฟซในเบราว์เซอร์ของคุณได้โดยพิมพ์:
192.168.0.113:8000
ด้วยที่อยู่ IP ที่ถูกต้องแน่นอน
นอกจากนี้ยังมีโปรแกรมดูวิดีโอที่มีการควบคุม… แต่ไม่ใช่ด้วยการอนุมานที่ใช้งานได้
python3 Deployment/StreamVideo.py
ขั้นตอนที่ 9: บริการ
นี่คือสิ่งที่ทำให้ Rover ทำงานได้ด้วยตัวเอง บริการคือโปรแกรมที่ทำงานอยู่เบื้องหลังคอมพิวเตอร์โดยไม่มีผู้ใช้ ตรวจสอบให้แน่ใจว่าเส้นทางทั้งหมดของคุณเป็นแบบสัมบูรณ์และคุณมีสิทธิ์ที่ถูกต้องหากคุณใช้ไฟล์ใด ๆ และบริการจะทำงานได้ดี
ในการเรียกใช้สคริปต์หลามเป็นบริการ คุณต้องอ้างอิงสคริปต์ในไฟล์บริการ ไฟล์บริการอยู่ในรหัสที่ดาวน์โหลดจาก git ในโฟลเดอร์ Deployment ชื่อ FollowMe.service
หากต้องการคัดลอกให้พิมพ์ดังต่อไปนี้ในเชลล์:
sudo cp ~/Documents/FollowMe/Deployment/FollowMe.service /etc/systemd/system/
ครั้งแรกที่คุณคัดลอกไฟล์ คุณต้องอัปเดต systemctl… หรือรีบูต:
sudo systemctl daemon-reload
และเพื่อเริ่มต้น:
sudo systemctl เริ่ม FollowMe
คุณยังสามารถใช้คำสั่งหยุด เปิดใช้งาน และปิดใช้งานได้ สองรายการสุดท้ายมีไว้สำหรับการเปลี่ยนแปลงสถานะอย่างต่อเนื่อง
อธิบายหน่อย….
Openvino ต้องการเส้นทางพิเศษในตัวแปรระบบเพื่อให้ทำงานได้ ขออภัย การติดตั้งแบบปกติจะไม่ทำงานเป็นบริการ ดังนั้นคุณต้องใช้ไฟล์นี้เพื่อตั้งค่าตัวแปร
สังเกตว่าการติดตั้งของฉันสำหรับ python 3.7 ดังนั้นจึงมีตัวแปรที่คุณอาจต้องปรับ… โชคดี!
ไฟล์นี้อ้างอิงสคริปต์ python ในพาธสัมบูรณ์:
/home/pi/Documents/FollowMe/Deployment/FollowMe.py
ขั้นตอนที่ 10: แค่นั้นแหละ! มีความสุข
ความคิดเห็น? ยินดีต้อนรับเสมอ
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-