สารบัญ:
- ขั้นตอนที่ 1: ความรู้พื้นฐาน
- ขั้นตอนที่ 2: การได้มาซึ่งวัสดุที่จำเป็น
- ขั้นตอนที่ 3: มันทำงานอย่างไร
- ขั้นตอนที่ 4: การตั้งค่าโบรกเกอร์ MQTT
- ขั้นตอนที่ 5: การติดตั้ง Kinect SDK V1.8
- ขั้นตอนที่ 6: การติดตั้ง Python V2.7
- ขั้นตอนที่ 7: การเข้ารหัส
วีดีโอ: Nao Robot เลียนแบบการเคลื่อนไหวโดยใช้ Kinect: 7 Steps
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ในคำแนะนำนี้ ฉันจะอธิบายให้คุณฟังว่าเราปล่อยให้หุ่นยนต์ Nao เลียนแบบการเคลื่อนไหวของเราโดยใช้เซ็นเซอร์ Kinect ได้อย่างไร เป้าหมายที่แท้จริงของโครงการคือจุดประสงค์ด้านการศึกษา: ครูมีความสามารถในการบันทึกการเคลื่อนไหวบางอย่าง (เช่น การเต้นรำ) และสามารถใช้การบันทึกเหล่านี้เพื่อให้เด็กในห้องเรียนเลียนแบบหุ่นยนต์ได้ เมื่อทำตามขั้นตอนที่สอนได้ทั้งหมดนี้ คุณจะสามารถสร้างโปรเจ็กต์นี้ขึ้นใหม่ได้อย่างสมบูรณ์
นี่เป็นโครงการเกี่ยวกับโรงเรียน (NMCT @ Howest, Kortrijk)
ขั้นตอนที่ 1: ความรู้พื้นฐาน
ในการสร้างโครงการนี้ขึ้นมาใหม่ คุณต้องมีความรู้พื้นฐานบางประการ:
- ความรู้พื้นฐานเกี่ยวกับงูหลาม
- ความรู้พื้นฐาน C# (WPF)
- ความรู้พื้นฐานตรีโกณมิติ
- ความรู้เกี่ยวกับวิธีการตั้งค่า MQTT บนราสเบอร์รี่ pi
ขั้นตอนที่ 2: การได้มาซึ่งวัสดุที่จำเป็น
วัสดุที่จำเป็นสำหรับโครงการนี้:
- ราสเบอร์รี่ปี่
- Kinect เซนเซอร์ v1.8 (Xbox 360)
- หุ่นยนต์หนาวหรือหุ่นยนต์ไวรัล (Choregraph)
ขั้นตอนที่ 3: มันทำงานอย่างไร
เซ็นเซอร์ Kinect เชื่อมต่อกับคอมพิวเตอร์ที่ใช้แอปพลิเคชัน WPF แอปพลิเคชัน WPF ส่งข้อมูลไปยังแอปพลิเคชัน Python (หุ่นยนต์) โดยใช้ MQTT ไฟล์ในเครื่องจะถูกบันทึกหากผู้ใช้เลือก
คำอธิบายโดยละเอียด:
ก่อนที่เราจะเริ่มบันทึก ผู้ใช้ต้องป้อนที่อยู่ IP ของโบรกเกอร์ MQTT นอกจากนั้น เรายังต้องการหัวข้อที่เราต้องการเผยแพร่ข้อมูล หลังจากกดเริ่มต้น แอปพลิเคชันจะตรวจสอบว่าสามารถสร้างการเชื่อมต่อกับโบรกเกอร์ได้หรือไม่และจะให้ข้อเสนอแนะแก่เรา ไม่สามารถตรวจสอบว่ามีหัวข้ออยู่หรือไม่ ดังนั้นคุณจึงต้องรับผิดชอบอย่างเต็มที่สำหรับหัวข้อนี้ เมื่ออินพุตทั้งสองตกลง แอปพลิเคชันจะเริ่มส่งข้อมูล (พิกัด x, y & z จากข้อต่อแต่ละข้อ) จากโครงร่างที่กำลังติดตามไปยังหัวข้อบนโบรกเกอร์ MQTT
เนื่องจากโรบ็อตเชื่อมต่อกับโบรกเกอร์ MQTT เดียวกันและสมัครรับข้อมูลในหัวข้อเดียวกัน (ต้องป้อนสิ่งนี้ในแอปพลิเคชัน python ด้วย) แอปพลิเคชัน python จะได้รับข้อมูลจากแอปพลิเคชัน WPF ด้วยการใช้ตรีโกณมิติและอัลกอริธึมที่เขียนขึ้นเอง เราแปลงพิกัดเป็นมุมและเรเดียน ซึ่งเราใช้หมุนมอเตอร์ภายในหุ่นยนต์แบบเรียลไทม์
เมื่อผู้ใช้บันทึกเสร็จแล้ว เขาก็กดปุ่มหยุด ตอนนี้ผู้ใช้ได้รับป๊อปอัปถามว่าเขาต้องการบันทึกการบันทึกหรือไม่ เมื่อผู้ใช้กดยกเลิก ทุกอย่างจะถูกรีเซ็ต (ข้อมูลสูญหาย) และสามารถเริ่มการบันทึกใหม่ได้ หากผู้ใช้ต้องการบันทึก เขาควรป้อนชื่อและกด 'บันทึก' เมื่อกดปุ่ม 'บันทึก' ข้อมูลที่ได้รับทั้งหมดจะถูกเขียนไปยังไฟล์ในเครื่องโดยใช้ชื่อไฟล์เป็นชื่อไฟล์ ไฟล์นี้จะถูกเพิ่มไปยังมุมมองรายการทางด้านขวาของหน้าจอด้วย ด้วยวิธีนี้ หลังจากดับเบิลคลิกที่รายการใหม่ในมุมมองรายการ ไฟล์จะถูกอ่านและส่งไปยังโบรกเกอร์ MQTT ดังนั้นหุ่นยนต์จะเล่นการบันทึก
ขั้นตอนที่ 4: การตั้งค่าโบรกเกอร์ MQTT
สำหรับการสื่อสารระหว่าง kinect (โครงการ WPF) และหุ่นยนต์ (โครงการ Python) เราใช้ MQTT MQTT ประกอบด้วยนายหน้า (คอมพิวเตอร์ลินุกซ์ที่ซอฟต์แวร์ mqtt (เช่น Mosquitto)) กำลังทำงานและหัวข้อที่ลูกค้าสามารถสมัคร (พวกเขาได้รับข้อความจากหัวข้อ) และเผยแพร่ (พวกเขาโพสต์ข้อความในหัวข้อ).
หากต้องการตั้งค่านายหน้า MQTT เพียงดาวน์โหลดภาพเจสซี่ทั้งหมด นี่คือการติดตั้งใหม่ทั้งหมดสำหรับคุณ Raspberry Pi ด้วยโบรกเกอร์ MQTT หัวข้อคือ "/ซานโดร".
ขั้นตอนที่ 5: การติดตั้ง Kinect SDK V1.8
เพื่อให้ kinect ทำงานบนคอมพิวเตอร์ของคุณ คุณต้องติดตั้ง Microsoft Kinect SDK
คุณสามารถดาวน์โหลดได้ที่นี่:
www.microsoft.com/en-us/download/details.a…
ขั้นตอนที่ 6: การติดตั้ง Python V2.7
หุ่นยนต์ทำงานร่วมกับเฟรมเวิร์ก NaoQi เฟรมเวิร์กนี้ใช้ได้กับ python 2.7 เท่านั้น (ไม่ใช่ 3.x) ดังนั้นโปรดตรวจสอบเวอร์ชันของ python ที่คุณติดตั้ง
คุณสามารถดาวน์โหลด python 2.7 ได้ที่นี่:
www.python.org/downloads/release/python-27…
ขั้นตอนที่ 7: การเข้ารหัส
Github:
หมายเหตุ:
- การเข้ารหัสด้วย kinect: ก่อนอื่นคุณต้องมองหา kinect ที่เชื่อมต่อ หลังจากบันทึกสิ่งนี้ไว้ในคุณสมบัติ เราเปิดใช้งาน color- และ skeletonstream บน kinect Colorstream เป็นวิดีโอสด ในขณะที่ Skeletonstream หมายถึงโครงกระดูกของบุคคลที่อยู่ด้านหน้ากล้องจะปรากฏขึ้น Colorstream ไม่จำเป็นจริงๆ เพื่อให้โปรเจ็กต์นี้ทำงานได้ เราเพียงแค่เปิดใช้งานเพราะบิตแมปโครงกระดูกสตรีมไปยัง colorstream นั้นดูลื่นไหล!
- อันที่จริง กระแสโครงกระดูกทำงานจริงๆ การเปิดใช้งาน skeletonstream หมายความว่าโครงกระดูกของบุคคลนั้นกำลังถูกติดตาม จากโครงกระดูกนี้ คุณจะได้รับข้อมูลทุกประเภทเช่น ทิศทางของกระดูก ข้อมูลร่วม … กุญแจสู่โครงการของเราคือข้อมูลร่วม การใช้พิกัด x-y & z ของข้อต่อแต่ละข้อจากโครงกระดูกที่ติดตาม เรารู้ว่าเราสามารถทำให้หุ่นยนต์เคลื่อนที่ได้ ดังนั้น ทุก ๆ.8 วินาที (โดยใช้ตัวจับเวลา) เราจะเผยแพร่พิกัด x, y & z ของแต่ละข้อต่อไปยังโบรกเกอร์ mqtt
- เนื่องจากโปรเจ็กต์ python มีการสมัครสมาชิกกับโบรกเกอร์ mqtt เราจึงสามารถเข้าถึงข้อมูลภายในโปรเจ็กต์นี้ได้ ภายในแต่ละข้อต่อของหุ่นยนต์มีมอเตอร์สองตัว มอเตอร์เหล่านี้ไม่สามารถบังคับทิศทางได้โดยใช้พิกัด x, y & z โดยตรงเท่านั้น ดังนั้น โดยใช้ตรีโกณมิติและสามัญสำนึก เราแปลงพิกัด x, y & z ของข้อต่อให้เป็นมุมที่เข้าใจได้เป็นหุ่นยนต์
โดยพื้นฐานแล้วทุกๆ.8 วินาที โครงการ WPF จะเผยแพร่พิกัด x, y & z ของแต่ละข้อต่อ ดังนั้นภายในโปรเจ็กต์ python พิกัดเหล่านี้จะถูกแปลงเป็นมุม ซึ่งจะถูกส่งไปยังมอเตอร์ที่สอดคล้องกันของหุ่นยนต์
แนะนำ:
หัวหุ่นจำลองเสียง Localizing ด้วย Kinect: 9 ขั้นตอน (พร้อมรูปภาพ)
Sound Localizing Mannequin Head With Kinect: พบกับ Margaret หุ่นจำลองสำหรับระบบตรวจสอบความล้าของคนขับ เธอเพิ่งเกษียณจากหน้าที่และพบทางไปยังพื้นที่สำนักงานของเรา และตั้งแต่นั้นมาเธอก็ได้รับความสนใจจากผู้ที่คิดว่าเธอ 'น่าขนลุก' เพื่อประโยชน์ของความยุติธรรม ฉันได้
RGB-D SLAM พร้อม Kinect บน Raspberry Pi 4 [Buster] ROS Melodic: 6 Steps
RGB-D SLAM พร้อม Kinect บน Raspberry Pi 4 [Buster] ROS Melodic: ปีที่แล้วฉันเขียนบทความเกี่ยวกับการสร้างและติดตั้ง ROS Melodic บน Raspberry Pi ใหม่ (ในขณะนั้น) พร้อม Debian Buster OS บทความนี้ได้รับความสนใจอย่างมากทั้งใน Instructables และบนแพลตฟอร์มอื่นๆ ฉันดีใจมากที่ได้ช่วย
โดม LED แบบโต้ตอบพร้อม Fadecandy การประมวลผลและ Kinect: 24 ขั้นตอน (พร้อมรูปภาพ)
โดม LED แบบโต้ตอบพร้อม Fadecandy การประมวลผลและ Kinect: WhatWhen in Dome เป็นโดมขนาด 4.2 เมตรที่ปกคลุมด้วยไฟ LED 4378 ไฟ LED ทั้งหมดได้รับการแมปและระบุตำแหน่งแยกกันได้ พวกเขาถูกควบคุมโดย Fadecandy และการประมวลผลบนเดสก์ท็อป Windows Kinect ติดอยู่ที่เสาอันหนึ่งของโดม ดังนั้น mo
Nao Robot คัดลอกการเคลื่อนไหวผ่านกล้อง Xbox Kinect: 4 ขั้นตอน
Nao Robot Copying Movements Through Xbox Kinect Camera: ในฐานะโปรเจ็กต์ในชั้นเรียนวิทยาการคอมพิวเตอร์ของเราในโรงเรียนมัธยมปลาย (Porter Gaud) ตัวฉันเอง (Legare Walpole) และนักเรียนอีกคนหนึ่ง (Martin Lautenschlager) ออกเดินทางเพื่อนำหุ่นยนต์ Nao ฮิวแมนนอยด์มาเลียนแบบการเคลื่อนไหวของเรา กล้องจลนศาสตร์ Xbox เป็นเวลาหลายเดือนไม่มีโปร
วิธีเชื่อมต่อ Kinect: 8 ขั้นตอน
วิธีเชื่อมต่อ Kinect: Kinect ของ Microsoft เป็นอุปกรณ์อินพุตมัลติมีเดียอเนกประสงค์ที่สามารถใช้เป็นเครื่องสแกน 3 มิติได้ เดิมทีเปิดตัวเป็นส่วนเสริมของคอนโซลเกม Xbox เราอธิบายวิธีเชื่อมต่อ Kinect กับพีซี Windows ของคุณ เครื่องเล่นเกม Wii ของ Nintendo i