Sisällysluettelo:
- Vaihe 1: Perustiedot
- Vaihe 2: Tarvittavien materiaalien hankinta
- Vaihe 3: Näin se toimii
- Vaihe 4: MQTT -välittäjän käyttöönotto
- Vaihe 5: Kinect SDK V1.8: n asennus
- Vaihe 6: Python V2.7: n asennus
- Vaihe 7: Koodaus
Video: Nao -robotti jäljittelee liikkeitä Kinectin avulla: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tässä ohjeessa selitän sinulle, kuinka annamme Nao -robotin matkia liikkeitämme kinect -anturin avulla. Hankkeen todellinen tavoite on kasvatuksellinen tarkoitus: opettaja pystyy tallentamaan tiettyjä liikkeitä (esim. Tanssin) ja voi käyttää näiden tallenteiden avulla luokassa olevien lasten matkia robottia. Käymällä tämä koko opastettava vaihe vaiheelta läpi sinun pitäisi pystyä luomaan tämä projekti kokonaan uudelleen.
Tämä on kouluun liittyvä projekti (NMCT @ Howest, Kortrijk).
Vaihe 1: Perustiedot
Tämän projektin luomiseksi sinulla on oltava perustiedot:
- Pythonin perustiedot
- C# perustiedot (WPF)
- trigonometrian perustiedot
- Tietoa MQTT: n asettamisesta vadelmapiille
Vaihe 2: Tarvittavien materiaalien hankinta
Tarvittavat materiaalit tähän projektiin:
- Vadelma Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao -robotti tai virutal -robotti (Choregraph)
Vaihe 3: Näin se toimii
Kinect -anturi on kytketty tietokoneeseen, jossa on WPF -sovellus. WPF -sovellus lähettää tietoja Python -sovellukseen (robotti) MQTT: n avulla. Paikalliset tiedostot tallennetaan, jos käyttäjä valitsee niin.
Yksityiskohtainen selitys:
Ennen kuin aloitamme tallennuksen, käyttäjän on annettava MQTT-välittäjän ip-osoite. Tämän lisäksi tarvitsemme myös aiheen, josta haluamme tiedot julkaista. Käynnistyksen painamisen jälkeen sovellus tarkistaa, voidaanko yhteys muodostaa välittäjän kanssa, ja se antaa meille palautetta. Aiheen olemassaolon tarkistaminen ei ole mahdollista, joten olet täysin vastuussa tästä aiheesta. Kun molemmat tulot ovat kunnossa, sovellus alkaa lähettää tietoja (x, y & z -koordinaatit jokaisesta liitoksesta) seuratusta luuranosta MQTT -välittäjän aiheeseen.
Koska robotti on yhteydessä samaan MQTT -välittäjään ja tilataan samasta aiheesta (tämäkin täytyy syöttää python -sovellukseen), python -sovellus vastaanottaa nyt tiedot WPF -sovelluksesta. Käyttämällä trigonometriaa ja itse kirjoitettuja algoritmeja, muunnamme rinnakkaiset kulmiksi ja radiaaneiksi, joiden avulla pyöritämme robotteja sisällä olevia moottoreita reaaliajassa.
Kun käyttäjä on lopettanut tallennuksen, hän painaa pysäytyspainiketta. Nyt käyttäjä saa ponnahdusikkunan, jossa kysytään, haluaako hän tallentaa tallenteen. Kun käyttäjä painaa Peruuta, kaikki nollataan (tiedot häviävät) ja uusi tallennus voidaan aloittaa. Jos käyttäjä haluaa tallentaa tallenteen, hänen on annettava otsikko ja painettava Tallenna. Kun painat 'tallenna', kaikki hankitut tiedot kirjoitetaan paikalliseen tiedostoon käyttämällä otsikkotuloa tiedostonimenä. Tiedosto lisätään myös näytön oikeassa reunassa olevaan luettelonäkymään. Tällä tavalla, kun olet kaksoisnapsauttanut uutta merkintää luettelonäkymässä, tiedosto luetaan ja lähetetään MQTT -välittäjälle. Tämän seurauksena robotti toistaa tallennuksen.
Vaihe 4: MQTT -välittäjän käyttöönotto
Kinectin (WPF -projekti) ja robotin (Python -projekti) välisessä viestinnässä käytimme MQTT: tä. MQTT koostuu välittäjästä (linux -tietokone, jossa mqtt -ohjelmisto (esim. Mosquitto)) on käynnissä ja aihe, josta asiakkaat voivat tilata (he saavat viestin aiheesta) ja julkaista (he lähettävät viestin aiheesta).
Voit perustaa MQTT -välittäjän lataamalla tämän koko jessie -kuvan. Tämä on puhdas asennus sinulle Raspberry Pi, jossa on MQTT -välittäjä. Aiheena on "/Sandro".
Vaihe 5: Kinect SDK V1.8: n asennus
Jotta kinect toimisi tietokoneellasi, sinun on asennettava Microsoft Kinect SDK.
Voit ladata sen täältä:
www.microsoft.com/en-us/download/details.a…
Vaihe 6: Python V2.7: n asennus
Robotti toimii NaoQi -kehyksen kanssa, tämä kehys on saatavana vain python 2.7: lle (EI 3.x), joten tarkista, mikä python -versio olet asentanut.
Voit ladata python 2.7: n täältä:
www.python.org/downloads/release/python-27…
Vaihe 7: Koodaus
Github:
Huomautuksia:
- Koodaus kinectin avulla: ensin etsit yhdistettyä kinectiä. Kun olemme tallentaneet tämän omaisuuteen, otimme kinectissä käyttöön väri- ja luurankon. Colorstream on live -video, kun taas luuranko tarkoittaa, että kameran edessä olevan henkilön luuranko näytetään. Värivirta ei todellakaan ole välttämätön tämän projektin toimimiseksi, otimme sen vain käyttöön, koska luurankon bittikarttaaminen värivirtaan näyttää liukkaalta!
- Todellisuudessa luustovirta tekee työnsä. Luuranovirran ottaminen käyttöön tarkoittaa, että henkilön luurankoa seurataan. Tästä luuranosta saat kaikenlaista tietoa, esim. luun suuntaukset, yhteinen tieto,… Projektimme avain oli yhteinen tieto. Käyttämällä jokaisen seuratun luuranon nivelen x-y & z-koordinaatteja tiesimme, että voimme saada robotin liikkumaan. Joten, joka 8. sekunti (ajastinta käyttämällä) julkaisemme kunkin liitoksen x, y & z -koordinaatit mqtt -välittäjälle.
- Koska python -projektilla on mqtt -välittäjän tilaus, voimme nyt päästä käsiksi projektin tietoihin. Robotin jokaisen liitoksen sisällä on kaksi moottoria. Näitä moottoreita ei voi vain ohjata suoraan x-, y & z -koordinaateilla. Joten trigonometriaa ja tervettä järkeä käyttämällä muutimme nivelten x-, y- ja z -koordinaatit robottien alavakaiksi kulmiksi.
Joten periaatteessa joka 8.8 sekunti WPF -projekti julkaisee kunkin liitoksen x-, y & z -koordinaatit. Näin ollen python -projektin sisällä nämä koordinaatit muunnetaan kulmiksi, jotka lähetetään sitten vastaaviin robottimoottoreihin.
Suositeltava:
Hallitse talon valoja Google Assistantin avulla Arduinon avulla: 7 vaihetta
Hallitse talon valoja Google Assistantin avulla Arduinon avulla: (Päivitys 22.8.2020: Tämä ohje on 2 vuotta vanha ja perustuu joihinkin kolmansien osapuolien sovelluksiin. Kaikki heidän puolellaan tehdyt muutokset saattavat tehdä projektista toimimattoman. Se voi olla tai ei työskentele nyt, mutta voit seurata sitä viitteenä ja muokata sen mukaan
RGB-D SLAM Kinectin kanssa Raspberry Pi 4: llä [Buster] ROS Melodic: 6 vaihetta
RGB-D SLAM Kinectin kanssa Raspberry Pi 4: llä [Buster] ROS Melodic: Viime vuonna kirjoitin artikkelin ROS Melodicin rakentamisesta ja asentamisesta uuteen (tuolloin) Raspberry Pi: hen, jossa on Debian Buster OS. Artikkeli on saanut paljon huomiota sekä täällä Instructablesissa että muilla alustoilla. Olen erittäin iloinen, että voin auttaa
Useiden ESP-keskustelujen tekeminen ESP-NOW: n avulla ESP32: n ja ESP8266: n avulla: 8 vaihetta
Useiden ESP-keskustelujen tekeminen ESP-NYT: n avulla ESP32: n ja ESP8266: n avulla: Käynnissä olevassa projektissani tarvitsen useita ESP: itä puhuakseni keskenään ilman reititintä. Tätä varten käytän ESP-NOW-ohjelmaa langattoman viestinnän tekemiseen keskenään ilman ESP: n reititintä
Ihmisen ja tietokoneen käyttöliittymä: Function a Gripper (valmistaja Kirigami) ranneliikkeen avulla EMG: n avulla: 7 vaihetta
Ihmisen ja tietokoneen käyttöliittymä: Function a Gripper (valmistaja Kirigami) ranneliikkeen avulla EMG: n avulla: Joten tämä oli ensimmäinen kokeiluni ihmisen ja tietokoneen välisessä käyttöliittymässä. pythonin ja arduinon kautta ja käytti origamipohjaista tarttujaa
Kinectin yhdistäminen: 8 vaihetta
Kinectin yhdistäminen: Microsoftin Kinect on monipuolinen multimedian syöttölaite, jota voidaan käyttää 3D -skannerina. Alun perin se julkaistiin Xbox -pelikonsolin laajennuksena. Kerromme, kuinka Kinect liitetään Windows -tietokoneeseen. Nintendon Wii -pelikonsoli