
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:09

V tem navodilu vam bom razložil, kako lahko robot Nao posnema naša gibanja s pomočjo kinect senzorja. Dejanski cilj projekta je izobraževalni namen: učitelj lahko posname določene sklope gibov (npr. Ples) in lahko te posnetke pusti otrokom v razredu, da posnemajo robota. Če boste korak za korakom preučili celotno navodilo, bi lahko v celoti poustvarili ta projekt.
To je projekt, povezan s šolo (NMCT @ Howest, Kortrijk).
1. korak: Osnovno znanje
Za ponovno ustvarjanje tega projekta morate imeti nekaj osnovnih znanj:
- Osnovno znanje o pythonu
- Osnovno znanje C# (WPF)
- Osnovno znanje trigonometrije
- Znanje o tem, kako nastaviti MQTT na maline pi
2. korak: Pridobite potrebne materiale
Materiali, potrebni za ta projekt:
- malina Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao robot ali virutalni robot (Choregraph)
3. korak: Kako deluje



Senzor kinect je priključen na računalnik z aplikacijo WPF. Aplikacija WPF pošilja podatke v aplikacijo Python (robot) z uporabo MQTT. Lokalne datoteke se shranijo, če se tako odloči uporabnik.
Podrobna razlaga:
Preden začnemo snemati, mora uporabnik vnesti ip-naslov posrednika MQTT. Poleg tega potrebujemo tudi temo, o kateri želimo objaviti podatke. Po pritisku na start bo aplikacija preverila, ali je mogoče vzpostaviti povezavo s posrednikom, in nam poslala povratne informacije. Preverjanje, ali tema obstaja, ni mogoče, zato ste za to v celoti odgovorni sami. Ko sta oba vnosa v redu, bo aplikacija začela pošiljati podatke (koordinate x, y & z iz vsakega sklepa) z okostja, ki mu sledi, na temo v posredniku MQTT.
Ker je robot povezan z istim posrednikom MQTT in je naročen na isto temo (to je treba vnesti tudi v aplikacijo python), bo aplikacija python zdaj prejemala podatke iz aplikacije WPF. S pomočjo trigonometrije in lastnoročno napisanih algoritmov koordinate pretvorimo v kote in radiane, s katerimi v realnem času vrtimo motorje znotraj robota.
Ko uporabnik konča snemanje, pritisne gumb za zaustavitev. Zdaj uporabnik dobi pojavno okno z vprašanjem, ali želi shraniti posnetek. Ko uporabnik pritisne gumb za preklic, se vse ponastavi (podatki se izgubijo) in lahko se začne novo snemanje. Če želi uporabnik shraniti posnetek, mora vnesti naslov in pritisniti 'shrani'. Ko pritisnete »shrani«, se vsi pridobljeni podatki zapišejo v lokalno datoteko z uporabo vnosa naslova kot imena datoteke. Datoteka je dodana tudi k pogledu seznama na desni strani zaslona. Tako se datoteka po dvojnem kliku na nov vnos v pogledu seznama prebere in pošlje posredniku MQTT. Posledično bo robot predvajal posnetek.
4. korak: Nastavitev posrednika MQTT

Za komunikacijo med kinectom (projekt WPF) in robotom (projekt Python) smo uporabili MQTT. MQTT je sestavljen iz posrednika (računalnik linux, na katerem se izvaja programska oprema mqtt (npr. Mosquitto)) in teme, na katero se lahko naročniki naročijo (prejmejo sporočilo iz teme) in objavijo (objavijo sporočilo o temi).
Če želite nastaviti posrednika MQTT, preprosto prenesite celotno sliko jessie. To je čista namestitev za vas Raspberry Pi z posrednikom MQTT. Tema je "/Sandro".
5. korak: Namestitev Kinect SDK V1.8
Če želite, da kinect deluje v vašem računalniku, morate namestiti Microsoftov paket za razvoj programske opreme Kinect.
Lahko ga prenesete tukaj:
www.microsoft.com/en-us/download/details.a…
6. korak: Namestitev Pythona V2.7
Robot deluje z okvirom NaoQi, ta okvir je na voljo samo za python 2.7 (NE 3.x), zato preverite, katero različico pythona ste namestili.
Python 2.7 lahko prenesete tukaj:
www.python.org/downloads/release/python-27…
7. korak: Kodiranje



Github:
Opombe:
- Kodiranje s kinectom: najprej poiščite povezani kinect. Ko smo to shranili v lastnost, smo na kinektu omogočili barvni in skeletni tok. Colorstream je video v živo, skeletonstream pa pomeni, da bo prikazan okostje osebe pred kamero. Colorstream v resnici ni potreben, da bi ta projekt deloval, le omogočili smo ga, ker je bitna preslikava okostja na barvni tok videti gladka!
- V resnici to res naredi okostnjak. Omogočanje skeletonstream pomeni, da se sledi okostju osebe. Iz tega okostja prejemate vse vrste informacij, npr. kostne usmeritve, skupne informacije, … Ključ do našega projekta so bile skupne informacije. Z uporabo koordinat x-y & z vsakega sklepa iz sledljivega okostja smo vedeli, da lahko robot premaknemo. Tako vsakih 0,8 sekunde (s časovnikom) objavimo koordinate x, y & z vsakega sklepa posredniku mqtt.
- Ker ima projekt python naročnino na posredniku mqtt, lahko zdaj dostopamo do podatkov znotraj tega projekta. V vsakem sklepu robota sta dva motorja. Teh motorjev ni mogoče preprosto krmiliti neposredno s koordinatami x, y & z. Tako smo s pomočjo trigonometrije in nekaj zdrave pameti pretvorili koordinate x, y & z sklepov v kote, razumljive robotom.
Tako v bistvu vsakih 0,8 sekunde projekt WPF objavi koordinate x, y & z vsakega od spojev. Zato se znotraj projekta python ti koordianti pretvorijo v kote, ki jih nato pošljejo v ustrezne motorje robota.
Priporočena:
Moslty 3D-natisnjena robotska roka, ki posnema lutkovni krmilnik: 11 korakov (s slikami)

Moslty 3D-natisnjena robotska roka, ki posnema lutkovnega krmilnika: Sem študent strojništva iz Indije in to je moj diplomski projekt. Ta projekt je osredotočen na razvoj nizkocenovne robotske roke, ki je večinoma natisnjena 3D in ima 5 DOF z 2 prstoma prijemala. Robotsko roko upravljamo z
Nadzor vodite po vsem svetu z uporabo interneta z uporabo Arduina: 4 koraki

Nadzorujte po vsem svetu z uporabo interneta z uporabo Arduina: Živjo, jaz sem Rithik. Z vašim telefonom bomo naredili LED pod vodstvom interneta. Uporabljali bomo programsko opremo, kot sta Arduino IDE in Blynk. Preprosto je, in če vam je uspelo, lahko nadzirate toliko elektronskih komponent, kot jih želite. Stvari, ki jih potrebujemo: Strojna oprema:
Spremljanje pospeševanja z uporabo Raspberry Pi in AIS328DQTR z uporabo Pythona: 6 korakov

Spremljanje pospeševanja z Raspberry Pi in AIS328DQTR z uporabo Pythona: Po moje je pospeševanje po nekaterih zakonih fizike končno.- Terry Riley Gepard pri lovu uporablja neverjeten pospešek in hitre spremembe hitrosti. Najhitrejše bitje na kopnem včasih izkoristi svojo najvišjo hitrost za ulov plena.
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Running Rainbow na Neopixel Ws2812 z uporabo M5stack M5stick C z uporabo Arduino IDE: 5 korakov

Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Running Rainbow na Neopixel Ws2812 z uporabo M5stack M5stick C z uporabo Arduino IDE: Pozdravljeni fantje, v tem navodilu se bomo naučili uporabljati LED diode neopixel ws2812 ali LED trak ali LED matrico ali LED obroč z razvojno ploščo m5stack m5stick-C z Arduino IDE in naredili bomo mavrični vzorec z njim
RF 433MHZ radijski nadzor z uporabo HT12D HT12E - Izdelava daljinskega upravljalnika Rf z uporabo HT12E in HT12D s 433 MHz: 5 korakov

RF 433MHZ radijski nadzor z uporabo HT12D HT12E | Izdelava daljinskega upravljalnika Rf z uporabo HT12E in HT12D s 433 MHz: V tem navodilu vam bom pokazal, kako narediti daljinski upravljalnik RADIO z uporabo sprejemniškega modula oddajnika 433 MHz s kodiranjem HT12E & IC dekodirnik HT12D. V tem navodilu lahko pošiljate in prejemate podatke z zelo zelo poceni KOMPONENTE, KI SO: HT