
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14

Men sizga Nao robotiga kinect sensor yordamida harakatlarimizni taqlid qilishiga qanday yo'l qo'yganimizni tushuntirib beraman. Loyihaning asl maqsadi ta'lim maqsadidir: o'qituvchi ma'lum harakatlarni yozib olish qobiliyatiga ega (masalan, raqs) va bu yozuvlardan foydalanib, sinfdagilarga robotga taqlid qilishlari mumkin. Ushbu bosqichma -bosqich ko'rsatmalarni bosib o'tib, siz ushbu loyihani to'liq qayta yaratishingiz kerak.
Bu maktab bilan bog'liq loyiha (NMCT @ Howest, Kortrijk).
1 -qadam: Asosiy bilimlar
Loyihani qayta tiklash uchun siz ba'zi asosiy bilimlarga ega bo'lishingiz kerak:
- Python haqida asosiy bilim
- C# bo'yicha asosiy bilimlar (WPF)
- Trigonometriya haqidagi asosiy bilimlar
- malina pi da MQTT ni sozlash bo'yicha bilim
2 -qadam: kerakli materiallarni olish
Ushbu loyiha uchun zarur materiallar:
- Raspberry Pi
- Kinect Sensor v1.8 (Xbox 360)
Nao robot yoki virusli robot (xoregraf)
3 -qadam: Bu qanday ishlaydi



Kinektsion sensori WPF dasturi bilan ishlaydigan kompyuterga ulangan. WPF dasturi MQTT yordamida Python dasturiga (robotga) ma'lumotlarni yuboradi. Agar foydalanuvchi xohlasa, mahalliy fayllar saqlanadi.
Batafsil tushuntirish:
Yozishni boshlashdan oldin, foydalanuvchi MQTT brokerining IP-manzilini kiritishi kerak. Bundan tashqari, bizga ma'lumotlarni nashr qilmoqchi bo'lgan mavzu ham kerak. Ishga tushirish tugmachasini bosgandan so'ng, dastur broker bilan aloqa o'rnatilishi mumkinligini tekshiradi va u bizga fikr bildiradi. Mavzu mavjudligini tekshirish mumkin emas, shuning uchun siz bu masala uchun to'liq javobgarsiz. Qachonki ikkala kirish ham yaxshi bo'lsa, dastur MQTT brokeridagi mavzu bo'yicha kuzatiladigan skeletdan ma'lumotlarni (x, y va z koordinatalari har bir bo'g'inni) yuborishni boshlaydi.
Robot bir xil MQTT brokeriga ulanganligi va shu mavzuga obuna bo'lganligi uchun (bu python ilovasiga ham kiritilishi kerak), endi python ilovasi ma'lumotlarni WPF ilovasidan oladi. Trigonometriya va o'z-o'zidan yozilgan algoritmlardan foydalanib, biz burchakli va radianli burchaklarni radianga aylantiramiz, ular yordamida robot ichidagi dvigatellarni real vaqtda aylantiramiz.
Foydalanuvchi yozishni tugatgandan so'ng, to'xtatish tugmasini bosadi. Endi foydalanuvchi yozuvni saqlashni xohlaysizmi, deb so'raladigan qalqib chiquvchi oyna oladi. Agar foydalanuvchi bekor qilsa, hamma narsa tiklanadi (ma'lumotlar yo'qoladi) va yangi yozuvni boshlash mumkin. Agar foydalanuvchi yozuvni saqlamoqchi bo'lsa, u sarlavha kiritishi va "saqlash" tugmasini bosishi kerak. "Saqlash" tugmachasini bosganda, olingan barcha ma'lumotlar fayl nomi sifatida sarlavha kiritilishi yordamida mahalliy faylga yoziladi. Fayl, shuningdek, ekranning o'ng tomonidagi ro'yxat ko'rinishiga qo'shiladi. Shunday qilib, ro'yxat ko'rinishidagi yangi yozuvni ikki marta bosgandan so'ng, fayl o'qiladi va MQTT brokeriga yuboriladi. Natijada, robot yozuvni ijro etadi.
4 -qadam: MQTT brokerini sozlash

Kinect (WPF loyihasi) va robot (Python loyihasi) o'rtasidagi aloqa uchun biz MQTT -dan foydalandik. MQTT brokerdan (mqtt dasturi (masalan, Mosquitto) ishlayotgan linux kompyuteri) va mijozlar obuna bo'lishi mumkin bo'lgan mavzudan iborat (ular mavzudan xabar oladilar) va e'lon qiladilar (ular mavzu bo'yicha xabar yuboradilar)..
MQTT brokerini o'rnatish uchun jessi tasvirini to'liq yuklab oling. Bu Raspberry Pi uchun MQTT brokeriga ega bo'lgan toza o'rnatish. Mavzu "/Sandro".
5 -qadam: Kinect SDK V1.8 ni o'rnatish
Kinect kompyuterda ishlashi uchun siz Microsoft Kinect SDK -ni o'rnatishingiz kerak.
Siz bu yerdan yuklab olishingiz mumkin:
www.microsoft.com/en-us/download/details.a…
6 -qadam: Python V2.7 ni o'rnatish
Robot NaoQi ramkasi bilan ishlaydi, bu ramka faqat python 2.7 (3. X emas) uchun mavjud, shuning uchun siz qaysi python versiyasini o'rnatganingizni tekshiring.
Python 2.7 -ni bu yerdan yuklab olishingiz mumkin:
www.python.org/downloads/release/python-27…
7 -qadam: kodlash



Github:
Eslatmalar:
- Kinekt yordamida kodlash: avval siz ulangan kinektni qidirasiz. Buni mulk ichida saqlagandan so'ng, biz kinektdagi rang va skelet oqimini yoqdik. Colorstream - bu jonli video, skeletonstream - kamera oldidagi odamning skeleti ko'rsatilishini anglatadi. Colorstream bu loyihani ishga tushirish uchun kerak emas, biz uni faollashtirdik, chunki skelet oqimini rang oqimiga bitmaplash silliq ko'rinadi!
- Aslida, bu ishni skelet -oqim amalga oshiradi. Skeleton oqimini yoqish, odam skeleti kuzatilishini bildiradi. Bu skeletdan siz har xil ma'lumotlarni olasiz, masalan. suyak yo'nalishlari, qo'shma ma'lumotlar,… Bizning loyihamizning kaliti qo'shma ma'lumotlar edi. Kuzatilgan skeletning har bir bo'g'imining x-y & z koordinatalarini ishlatib, biz robotni harakatga keltira olishimizni bilardik. Shunday qilib, har 8 soniyada (taymer yordamida) har bir bo'g'inning x, y & z koordinatalarini mqtt brokeriga e'lon qilamiz.
- Python loyihasi mqtt brokeriga obunaga ega bo'lgani uchun, endi biz ushbu loyiha ichidagi ma'lumotlarga kirishimiz mumkin. Robotning har bir bo'g'ini ichida ikkita dvigatel bor. Bu dvigatellarni to'g'ridan -to'g'ri x, y & z koordinatalari yordamida boshqarish mumkin emas. Shunday qilib, trigonometriya va aql -idrok yordamida biz bo'g'imlarning x, y & z koordinatalarini robotlarga mos bo'lmagan burchaklarga aylantirdik.
Shunday qilib, har 8 soniyada WPF loyihasi har bir bo'g'inning x, y & z koordinatalarini e'lon qiladi. Shunday qilib, piton loyihasi doirasida bu kordiyantlar burchakka aylantiriladi va ular keyinchalik robotning mos keladigan motorlariga yuboriladi.
Tavsiya:
N64 o'yinlarini taqlid qilish (ROMS): 5 qadam

N64 o'yinlarini (ROMS) taqlid qilish: Nintendo 64 har doim eng qiziqarli konsollardan biri edi (va hozir ham shunday). Siz bu o'yinlarni shaxsiy kompyuteringizda o'ynay olasizmi? Ha (garchi siz buni taxmin qilmasangiz ham, lekin men bu haqda gapirmayman)
Nao robotining Xbox Kinect kamerasi orqali ko'chirish harakatlari: 4 qadam

Nao robotining Xbox Kinect kamerasi orqali ko'chirish harakatlari: O'rta maktabda (Porter Gaud) bizning informatika darsimizda loyiha sifatida men (Legare Walpole) va yana bir o'quvchi (Martin Lautenschlager) Nao gumanoid robotini bizning harakatlarimizga taqlid qilish uchun yo'l oldik. Xbox kinetik kamerasi. Bir necha oy davomida hech qanday pro
Arduino robotining masofasi, yo'nalishi va aylanish darajasi (Sharq, G'arb, Shimoliy, Janub) Bluetooth moduli va avtonom robot harakati yordamida ovoz bilan boshqariladi.: 6 qadam

Arduino roboti masofa, yo'nalish va aylanish darajasiga ega (Sharq, G'arb, Shimoliy, Janub) Bluetooth moduli va avtonom robot harakati yordamida ovoz bilan boshqariladi: Bu ko'rsatma Arduino robotini kerakli yo'nalishda qanday harakatlantirish mumkinligini tushuntiradi. , Chap, O'ng, Sharq, G'arb, Shimoliy, Janub) ovozli buyruq yordamida santimetrda masofani talab qiladi. Robotni avtonom tarzda ham ko'chirish mumkin
Televizorni masofadan boshqarish pultini yoki boshqasini Arduino Irlib bilan qanday taqlid qilish mumkin: 3 qadam (rasmlar bilan)

Televizorni masofadan boshqarish pultini yoki boshqasini Arduino Irlib bilan qanday taqlid qilish mumkin: Kirish Hammaga salom va mening birinchi Instructable -ga xush kelibsiz, bugun biz sarlavhada aytilganidek, elektron televizorni masofadan boshqarish pultini yoki shunga o'xshash narsalarni Arduino (har qanday model) yordamida ishlatishni o'rganamiz. . Muammo shunday edi: kodlarni qanday o'zgartirish mumkin
OAWRni qanday qilish kerak (Yugurish robotining oldini olish): 7 qadam (rasmlar bilan)

OAWRni qanday qilish kerak? Ammo o'yinchoq sotib olishdan nima zavq, siz motor, plastmassa plastinka va murvat va dastadan yasashni boshlashingiz mumkin