![Nao robotas, imituojantis judesius naudojant „Kinect“: 7 žingsniai Nao robotas, imituojantis judesius naudojant „Kinect“: 7 žingsniai](https://i.howwhatproduce.com/images/003/image-6965-45-j.webp)
Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
![Nao robotas imituoja judesius naudojant „Kinect“ Nao robotas imituoja judesius naudojant „Kinect“](https://i.howwhatproduce.com/images/003/image-6965-46-j.webp)
Šioje pamokoje aš jums paaiškinsiu, kaip leidžiame „Nao“robotui imituoti mūsų judesius, naudojant kinect jutiklį. Tikrasis projekto tikslas yra edukacinis tikslas: mokytojas turi galimybę įrašyti tam tikrus judesių rinkinius (pvz., Šokį) ir gali naudoti šiuos įrašus, kad vaikai klasėje galėtų imituoti robotą. Žingsnis po žingsnio pereidami visą šią instrukciją, turėtumėte sugebėti visiškai atkurti šį projektą.
Tai su mokykla susijęs projektas (NMCT @ Howest, Kortrijk).
1 žingsnis: pagrindinės žinios
Norėdami atkurti šį projektą, turite turėti keletą pagrindinių žinių:
- Pagrindinės python žinios
- Pagrindinės C# žinios (WPF)
- Pagrindinės trigonometrijos žinios
- Žinios, kaip nustatyti MQTT ant aviečių pi
2 žingsnis: reikalingų medžiagų įsigijimas
Šiam projektui reikalingos medžiagos:
- Raspberry Pi
- „Kinect Sensor v1.8“(„Xbox 360“)
- Nao robotas arba virutal robotas (Choregraph)
3 žingsnis: kaip tai veikia
![Image Image](https://i.howwhatproduce.com/images/003/image-6965-48-j.webp)
![](https://i.ytimg.com/vi/sq-0tfwSEx4/hqdefault.jpg)
![Kaip tai veikia Kaip tai veikia](https://i.howwhatproduce.com/images/003/image-6965-49-j.webp)
„Kinect“jutiklis prijungtas prie kompiuterio, kuriame veikia „WPF“programa. WPF programa siunčia duomenis į „Python“programą (robotą) naudodama MQTT. Vietiniai failai išsaugomi, jei vartotojas taip pasirenka.
Išsamus paaiškinimas:
Prieš pradėdamas įrašinėti, vartotojas turi įvesti MQTT brokerio IP adresą. Be to, mums taip pat reikia temos, kuria norime skelbti duomenis. Paspaudus pradėti, programa patikrins, ar galima užmegzti ryšį su tarpininku, ir pateiks mums atsiliepimą. Neįmanoma patikrinti, ar yra tema, todėl esate visiškai atsakingas už šią temą. Kai abu įvestys yra tinkamos, programa pradės siųsti duomenis (x, y ir z koordinatės sudaro kiekvieną jungtį) iš sekamo skeleto į MQTT tarpininko temą.
Kadangi robotas yra prijungtas prie to paties MQTT brokerio ir užsisakė tą pačią temą (tai taip pat turi būti įvesta į „python“programą), „python“programa dabar gaus duomenis iš WPF programos. Naudodami trigonometriją ir savarankiškai parašytus algoritmus, mes konvertuojame koordinačius į kampus ir radianus, kuriuos naudojame realiuoju laiku pasukdami roboto viduje esančius variklius.
Kai vartotojas baigia įrašymą, jis paspaudžia sustabdymo mygtuką. Dabar vartotojas gauna iššokantįjį langą, kuriame klausia, ar jis nori išsaugoti įrašą. Kai vartotojas paspaudžia atšaukti, viskas atstatoma (duomenys prarandami) ir galima pradėti naują įrašymą. Jei vartotojas nori išsaugoti įrašą, jis turėtų įvesti pavadinimą ir paspausti „išsaugoti“. Paspaudus mygtuką „Išsaugoti“, visi gauti duomenys įrašomi į vietinį failą, naudojant failo pavadinimą įvestą pavadinimą. Failas taip pat įtraukiamas į sąrašo rodinį dešinėje ekrano pusėje. Tokiu būdu, dukart spustelėjus naują įrašą sąrašo rodinyje, failas nuskaitomas ir siunčiamas MQTT brokeriui. Todėl robotas paleis įrašą.
4 žingsnis: nustatykite „MQTT Broker“
![MQTT brokerio nustatymas MQTT brokerio nustatymas](https://i.howwhatproduce.com/images/003/image-6965-50-j.webp)
Bendravimui tarp „kinect“(WPF projektas) ir roboto („Python“projektas) naudojome MQTT. MQTT sudaro tarpininkas („Linux“kompiuteris, kuriame veikia „mqtt“programinė įranga (pvz., „Mosquitto“)) ir tema, kuria klientai gali užsiprenumeruoti (jie gauna pranešimą iš temos) ir skelbti (jie paskelbia pranešimą šia tema).
Norėdami nustatyti MQTT brokerį, tiesiog atsisiųskite visą Jessie atvaizdą. Tai yra švarus „Raspberry Pi“diegimas su „MQTT“tarpininku. Tema „/Sandro“.
5 veiksmas: „Kinect SDK V1.8“diegimas
Kad „Kinect“veiktų jūsų kompiuteryje, turite įdiegti „Microsoft Kinect“SDK.
Ją atsisiųsti galite čia:
www.microsoft.com/en-us/download/details.a…
6 veiksmas: „Python V2.7“diegimas
Robotas veikia su „NaoQi“sistema, ši sistema prieinama tik „python 2.7“(NE 3.x), todėl patikrinkite, kokią „python“versiją įdiegėte.
Python 2.7 galite atsisiųsti čia:
www.python.org/downloads/release/python-27…
7 žingsnis: kodavimas
![Kodavimas Kodavimas](https://i.howwhatproduce.com/images/003/image-6965-51-j.webp)
![Kodavimas Kodavimas](https://i.howwhatproduce.com/images/003/image-6965-52-j.webp)
![Kodavimas Kodavimas](https://i.howwhatproduce.com/images/003/image-6965-53-j.webp)
„Github“:
Pastabos:
- Kodavimas naudojant kinect: pirmiausia ieškokite prijungto kinect. Išsaugoję tai nuosavybėje, „kinect“įgalinome spalvų ir skeleto srautą. „Colorstream“yra tiesioginis vaizdo įrašas, o skeleto srautas reiškia, kad bus rodomas priešais kamerą esančio žmogaus skeletas. „Colorstream“tikrai nėra būtinas, kad šis projektas veiktų, mes jį tiesiog įgalinome, nes skeleto srauto susiejimas su spalvų srautu atrodo slidus!
- Iš tikrųjų tai yra skeleto srautas, kuris atlieka savo darbą. Skeleto srauto įjungimas reiškia, kad asmens skeletas yra sekamas. Iš šio karkaso jūs gaunate visą informaciją, pvz. kaulų orientacija, bendra informacija, … Mūsų projekto raktas buvo bendra informacija. Naudodami kiekvienos stebimos skeleto sąnarių x-y ir z koordinates, žinojome, kad galime priversti robotą judėti. Taigi, kas.8 sekundes (naudojant laikmatį) mqtt brokeriui skelbiame kiekvienos jungties x, y & z koordinates.
- Kadangi „python“projektas turi „mqtt“tarpininko abonementą, dabar galime pasiekti šio projekto duomenis. Kiekvienos roboto jungties viduje yra du varikliai. Šiuos variklius negalima tiesiog valdyti tiesiogiai naudojant x, y ir z koordinates. Taigi, naudodamiesi trigonometrija ir sveiku protu, sąnarių x, y ir z koordinates pavertėme į robotus nepakankamai stabiliais kampais.
Taigi iš esmės kas 0,8 sekundės WPF projektas skelbia kiekvienos jungties x, y & z koordinates. Vadinasi, python projekto viduje šie koordinačiai paverčiami kampais, kurie vėliau siunčiami į atitinkamus roboto variklius.
Rekomenduojamas:
Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
![Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais) Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)](https://i.howwhatproduce.com/images/001/image-2132-j.webp)
Arduino | Labirinto sprendimų robotas („MicroMouse“) Sienų sekimo robotas: Sveiki, aš esu Izaokas ir tai yra mano pirmasis robotas „Striker v1.0“. Šis robotas buvo sukurtas paprastam labirintui išspręsti. Konkurse turėjome du labirintus ir robotą sugebėjo juos identifikuoti. Dėl bet kokių kitų labirinto pakeitimų gali prireikti pakeisti
RC valdomas robotas XLR8! Švietimo robotas: 5 žingsniai
![RC valdomas robotas XLR8! Švietimo robotas: 5 žingsniai RC valdomas robotas XLR8! Švietimo robotas: 5 žingsniai](https://i.howwhatproduce.com/images/010/image-29586-j.webp)
RC valdomas robotas XLR8! Švietimo robotas: Sveiki, šiame straipsnyje bus parodyta, kaip sukurti pagrindinį robotą. Žodis „robotas“pažodžiui reiškia „vergas“arba „darbininkas“. Dėl dirbtinio intelekto pažangos robotai nebėra tik Issac Asimov mokslinės fantastikos dalis
„Nao Robot“judesių kopijavimas per „Xbox Kinect“kamerą: 4 žingsniai
![„Nao Robot“judesių kopijavimas per „Xbox Kinect“kamerą: 4 žingsniai „Nao Robot“judesių kopijavimas per „Xbox Kinect“kamerą: 4 žingsniai](https://i.howwhatproduce.com/images/003/image-7356-10-j.webp)
„Nao Robot“judesių kopijavimas per „Xbox Kinect“kamerą: kaip projektas mūsų kompiuterių mokslo klasėje vidurinėje mokykloje (Porter Gaud), aš (Legare Walpole) ir kitas studentas (Martin Lautenschlager) siekėme, kad Nao humanoidinis robotas imituotų mūsų judesius kinetinė „Xbox“kamera. Jau kelis mėnesius nėra profesionalo
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
![Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai](https://i.howwhatproduce.com/images/005/image-12193-11-j.webp)
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
Sviesto robotas: „Arduino“robotas su egzistencine krize: 6 žingsniai (su nuotraukomis)
![Sviesto robotas: „Arduino“robotas su egzistencine krize: 6 žingsniai (su nuotraukomis) Sviesto robotas: „Arduino“robotas su egzistencine krize: 6 žingsniai (su nuotraukomis)](https://i.howwhatproduce.com/images/002/image-5407-50-j.webp)
Sviesto robotas: „Arduino“robotas su egzistencine krize: Šis projektas paremtas animaciniu serialu „Rikas ir Mortis“. Viename iš epizodų Rikas sukuria robotą, kurio vienintelis tikslas yra atnešti sviesto. Kaip studentai iš Bruface (Briuselio inžinerijos fakultetas), mes turime užduotį mecha