Tartalomjegyzék:
- 1. lépés: Alapvető ismeretek
- 2. lépés: A szükséges anyagok beszerzése
- 3. lépés: Hogyan működik?
- 4. lépés: Az MQTT Broker beállítása
- 5. lépés: A Kinect SDK V1.8 telepítése
- 6. lépés: A Python V2.7 telepítése
- 7. lépés: Kódolás
Videó: A Nao robot mozgásait utánozza a Kinect segítségével: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ebben az utasításban elmagyarázom nektek, hogyan hagyjuk, hogy egy Nao robot utánozza a mozgásunkat egy kinect érzékelő segítségével. A projekt tényleges célja oktatási cél: a tanár képes rögzíteni bizonyos mozdulatsorokat (pl. Táncot), és ezekkel a felvételekkel hagyhatja, hogy a gyerekek az osztályteremben utánozzák a robotot. Lépésről lépésre végigjárva ezt az egész utasítást, képesnek kell lennie arra, hogy teljesen újrateremtse ezt a projektet.
Ez egy iskolával kapcsolatos projekt (NMCT @ Howest, Kortrijk).
1. lépés: Alapvető ismeretek
A projekt újbóli létrehozásához rendelkeznie kell néhány alapvető tudással:
- Python alapismeretek
- Alapvető C# tudás (WPF)
- Alapszintű trigonometriai ismeretek
- Tudás az MQTT beállításáról egy málna pi -n
2. lépés: A szükséges anyagok beszerzése
A projekthez szükséges anyagok:
- Raspberry Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao robot vagy virutal robot (Choregraph)
3. lépés: Hogyan működik?
Kinect érzékelő csatlakozik a WPF alkalmazást futtató számítógéphez. A WPF alkalmazás adatokat küld a Python alkalmazásnak (robotnak) az MQTT használatával. A helyi fájlok mentésre kerülnek, ha a felhasználó ezt választja.
Részletes magyarázat:
A felvétel megkezdése előtt a felhasználónak meg kell adnia az MQTT bróker ip-címét. Ezen kívül szükségünk van arra a témára is, amelyen közzé kívánjuk tenni az adatokat. A start gomb megnyomása után az alkalmazás ellenőrzi, hogy sikerült -e kapcsolatot létesíteni a brókerrel, és visszajelzést ad nekünk. Nem lehet ellenőrizni, hogy létezik -e téma, így ezért teljes mértékben Ön a felelős. Ha mindkét bemenet rendben van, az alkalmazás elkezd adatokat küldeni (x, y & z koordináták az egyes ízületekből) a nyomon követett csontvázból az MQTT közvetítő témájához.
Mivel a robot ugyanahhoz az MQTT brókerhez kapcsolódik, és ugyanazon a témán van előfizetve (ezt is be kell írni a python alkalmazásba), a python alkalmazás most megkapja az adatokat a WPF alkalmazástól. A trigonometria és a saját írásos algoritmusok segítségével a coördinatákat szögekké és radiánokká alakítjuk, amelyekkel valós időben forgathatjuk a robot belsejében lévő motorokat.
Amikor a felhasználó befejezte a felvételt, megnyomja a stop gombot. Most a felhasználó megjelenik egy felugró ablak, amely megkérdezi, hogy el akarja-e menteni a felvételt. Amikor a felhasználó leállítja a Mégse gombot, minden visszaáll (az adatok elvesznek), és új felvétel indítható. Ha a felhasználó el akarja menteni a felvételt, írjon be egy címet, és nyomja meg a „mentés” gombot. Amikor megnyomja a „mentés” gombot, az összes megszerzett adat egy helyi fájlba íródik, és a címbevitelt használja fájlnévként. A fájl hozzáadódik a képernyő jobb oldalán található listanézethez is. Ily módon, miután duplán kattintott az új bejegyzésre a listanézetben, a fájl beolvasásra kerül, és elküldésre kerül az MQTT brókernek. Következésképpen a robot lejátssza a felvételt.
4. lépés: Az MQTT Broker beállítása
A kinect (WPF projekt) és a robot (Python projekt) közötti kommunikációhoz MQTT -t használtunk. Az MQTT egy brókerből (egy linuxos számítógépről, amelyen az mqtt szoftver (pl. Mosquitto)) fut) és egy témakörből, amelyre az ügyfelek feliratkozhatnak (üzenetet kapnak a témából) és közzétehetnek (üzenetet tesznek közzé a témában).
Az MQTT bróker beállításához csak töltse le ezt az egész jessie képet. Ez egy tiszta telepítés a Raspberry Pi számára, amelyen egy MQTT bróker található. A téma "/Sandro".
5. lépés: A Kinect SDK V1.8 telepítése
Ahhoz, hogy a kinect működjön a számítógépen, telepítenie kell a Microsoft Kinect SDK -t.
Letöltheti innen:
www.microsoft.com/en-us/download/details.a…
6. lépés: A Python V2.7 telepítése
A robot a NaoQi keretrendszerrel működik, ez a keretrendszer csak a python 2.7 (NEM 3.x) verzióhoz érhető el, ezért ellenőrizze, hogy a python melyik verzióját telepítette.
A python 2.7 letölthető innen:
www.python.org/downloads/release/python-27…
7. lépés: Kódolás
Github:
Megjegyzések:
- Kinect a kinect -el: először keresse meg a csatlakoztatott kinect -et. Miután ezt mentettük egy ingatlanba, engedélyeztük a szín- és csontvázfolyamot a kinect-en. A Colorstream az élő videó, míg a skeletonstream azt jelenti, hogy a kamera előtt álló személy csontváza jelenik meg. A Colorstream nem igazán szükséges a projekt működtetéséhez, csak engedélyeztük, mert a vázlatáram bitképzése a színáramhoz simán néz ki!
- A valóságban valóban a csontvázáram teszi a dolgát. A csontvázfolyam engedélyezése azt jelenti, hogy a személy csontvázát nyomon követik. Ebből a csontvázból mindenféle információt kap, pl. csontorientációk, közös információk,… A projektünk kulcsa a közös információ volt. A nyomon követett csontváz minden egyes csuklójának x-y & z koordinátáit használva tudtuk, hogy képesek vagyunk mozgatni a robotot. Tehát.8 másodpercenként (időzítő segítségével) közzétesszük az egyes kötések x, y & z koordinátáit az mqtt brókernek.
- Mivel a python projektnek előfizetése van az mqtt brókeren, most hozzáférhetünk a projekten belüli adatokhoz. A robot minden egyes csuklójában két motor található. Ezeket a motorokat nem lehet közvetlenül az x, y & z koordináták segítségével irányítani. Így a trigonometria és némi józan ész segítségével az ízületek x, y és z koordinátáit alstabil szögekké alakítottuk át robotokká.
Tehát a WPF projekt lényegében minden 8 másodpercben közzéteszi az egyes kötések x, y & z koordinátáit. Következésképpen a python projektben ezek a koordináták szögekké alakulnak, amelyeket aztán a robot megfelelő motorjaihoz küldenek.
Ajánlott:
Moslty 3D nyomtatott robotkar, amely utánozza a bábvezérlőt: 11 lépés (képekkel)
Moslty 3D nyomtatott robotkar, amely utánozza a bábkontrollert: Gépészmérnök hallgató vagyok Indiából, és ez a My Undergrad diplomás projektem. Ez a projekt egy olcsó, többnyire 3D nyomtatású robotkar kifejlesztésére összpontosít, és 5 DOF-ot tartalmaz 2 ujjal fogó. A robotkar
Egyszerű felügyeleti robot ESP32-CAM segítségével: 4 lépés
Egyszerű felügyeleti robot ESP32-CAM segítségével: Az ESP32-CAM modul olcsó, alacsony energiafogyasztású modul, de sok erőforrást biztosít a látáshoz, a soros kommunikációhoz és a GPIO-khoz. Ebben a projektben az ESP32-CAM modul erőforrásait próbálom felhasználni Egy egyszerű megfigyelő rc robot, amely képes
Irányítsa a háztartási gépeket az Alexa segítségével az ESP8266 vagy az ESP32 segítségével: 8 lépés
Irányítsa a háztartási gépeket Alexa segítségével az ESP8266 vagy ESP32 segítségével: Hé, mi újság, srácok! Akarsh itt a CETech -től. Ez a projektem segíteni fog az életed megkönnyítésében, és úgy fogsz érezni magad, mint egy király, miután irányítottad a házban lévő eszközöket, csak parancsot adva Alexának. A legfontosabb dolog e
IRduino: Arduino távirányító - utánozza az elveszett távirányítót: 6 lépés
IRduino: Arduino távirányító - utánozza az elveszett távirányítót: Ha valaha elvesztette a TV vagy a DVD -lejátszó távirányítóját, tudja, milyen frusztráló, hogy magához az eszközhöz kell sétálni, megtalálni és használni. Néha ezek a gombok nem kínálják ugyanazt a funkciót, mint a távirányító. Rece
Nao robotmásolatok másolása az Xbox Kinect kamerán keresztül: 4 lépés
Nao robotok mozgásmásolása az Xbox Kinect kamerán keresztül: A középiskolai számítástechnika osztályunk projektjeként (Porter Gaud) jómagam (Legare Walpole) és egy másik diák (Martin Lautenschlager) arra törekedtünk, hogy egy Nao humanoid robotot szerezzünk, amely utánozza a mozgásunkat. egy Xbox kinetikus kamera. Hónapok óta nincs profi