Innholdsfortegnelse:
- Trinn 1: Grunnleggende kunnskap
- Trinn 2: Innhente de nødvendige materialene
- Trinn 3: Slik fungerer det
- Trinn 4: Konfigurere MQTT -megleren
- Trinn 5: Installere Kinect SDK V1.8
- Trinn 6: Installere Python V2.7
- Trinn 7: Koding
Video: Nao robot etterligner bevegelser ved hjelp av Kinect: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
I denne instruksen vil jeg forklare deg hvordan vi lar en Nao -robot etterligne bevegelsene våre ved hjelp av en kinect -sensor. Selve målet med prosjektet er et pedagogisk formål: en lærer har evnen til å registrere visse sett med trekk (f.eks. En dans) og kan bruke disse opptakene til å la barna i klasserommet etterligne roboten. Ved å gå gjennom hele denne instruerbare trinn for trinn, bør du kunne gjenskape dette prosjektet fullt ut.
Dette er et skolerelatert prosjekt (NMCT @ Howest, Kortrijk).
Trinn 1: Grunnleggende kunnskap
For å gjenskape dette prosjektet må du ha noen grunnleggende kunnskaper:
- Grunnleggende pytonkunnskaper
- Grunnleggende C# kunnskap (WPF)
- Grunnleggende kunnskap om trigonometri
- Kunnskap om hvordan du setter opp MQTT på en bringebærpi
Trinn 2: Innhente de nødvendige materialene
Nødvendig materiale for dette prosjektet:
- Bringebær Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao -robot eller virutal robot (Choregraph)
Trinn 3: Slik fungerer det
En kinect -sensor er koblet til en datamaskin som kjører WPF -applikasjonen. WPF -applikasjonen sender data til Python -applikasjonen (roboten) ved hjelp av MQTT. Lokale filer lagres hvis brukeren velger det.
Detaljert forklaring:
Før vi begynner å spille inn, må brukeren angi ip-adressen til MQTT-megleren. Dessuten trenger vi også emnet vi ønsker å publisere dataene om. Etter å ha trykket på start, vil programmet sjekke om det kan opprettes en forbindelse med megleren, og det vil gi oss tilbakemelding. Det er ikke mulig å kontrollere om det finnes et emne, så du er fullt ansvarlig for dette. Når begge inngangene er OK, begynner applikasjonen å sende data (x, y & z -koordinater fra hver ledd) fra skjelettet som spores til emnet på MQTT -megleren.
Fordi roboten er koblet til den samme MQTT -megleren og abonnerer på samme emne (dette må også angis i python -applikasjonen) vil python -applikasjonen nå motta dataene fra WPF -applikasjonen. Ved å bruke trigonometri og selvskrevne algoritmer konverterer vi koordinatene til vinkler og radianer, som vi bruker til å rotere motorene inne i roboten i sanntid.
Når brukeren er ferdig med innspillingen, trykker han på stoppknappen. Nå får brukeren en popup som spør om han vil lagre opptaket. Når brukeren treffer avbryt, tilbakestilles alt (data går tapt) og et nytt opptak kan startes. Hvis brukeren ønsker å lagre opptaket, bør han skrive inn en tittel og trykke "lagre". Når du trykker på "lagre", blir alle ervervede data skrevet til en lokal fil med tittelinndata som filnavn. Filen legges også til i listevisningen på høyre side av skjermen. På denne måten, etter å ha dobbeltklikket på den nye oppføringen i listevisningen, blir filen lest og sendt til MQTT -megler. Følgelig vil roboten spille av innspillingen.
Trinn 4: Konfigurere MQTT -megleren
For kommunikasjonen mellom kinect (WPF -prosjektet) og roboten (Python -prosjektet) brukte vi MQTT. MQTT består av en megler (en linux -datamaskin som mqtt -programvaren (f.eks. Mosquitto)) kjører og et emne som klienter kan abonnere på (de mottar en melding fra emnet) og publisere (de legger ut en melding om emnet).
For å sette opp MQTT -megleren, bare last ned hele dette jessie -bildet. Dette er en ren installasjon for deg Raspberry Pi med en MQTT -megler på den. Temaet er "/Sandro".
Trinn 5: Installere Kinect SDK V1.8
For at kinect skal fungere på datamaskinen din, må du installere Microsoft Kinect SDK.
Du kan laste den ned her:
www.microsoft.com/en-us/download/details.a…
Trinn 6: Installere Python V2.7
Roboten fungerer med NaoQi -rammeverket, dette rammeverket er bare tilgjengelig for python 2.7 (IKKE 3.x), så sjekk hvilken versjon av python du har installert.
Du kan laste ned python 2.7 her:
www.python.org/downloads/release/python-27…
Trinn 7: Koding
Github:
Merknader:
- Koding med kinect: først ser du etter den tilkoblede kinecten. Etter å ha lagret dette inne i en eiendom aktiverte vi farge- og skjelettstrøm på kinect. Colorstream er livevideoen, mens skeletonstream betyr at et skjelett av personen foran kameraet vil bli vist. Colorstream er egentlig ikke nødvendig for å få dette prosjektet til å fungere, vi har bare aktivert det fordi bitmapping av skjelettstrømmen til fargestrømmen ser glatt ut!
- I virkeligheten er det virkelig skeletonstream som gjør jobben. Aktivering av skeletonstream betyr at skjelettet til personen blir sporet. Fra dette skjelettet får du all slags informasjon, f.eks. beinorientering, felles informasjon, … Nøkkelen til prosjektet vårt var felles informasjon. Ved å bruke x-y & z-koordinatene til hver av leddene fra det sporede skjelettet, visste vi at vi kunne få roboten til å bevege seg. Så, hvert.
- Siden python -prosjektet har et abonnement på mqtt -megleren, kan vi nå få tilgang til dataene i dette prosjektet. Inne i hver ledd i roboten er to motorer. Disse motorene kan ikke bare styres ved å bruke x, y & z -koordinatene direkte. Så ved å bruke trigonometri og litt sunn fornuft konverterte vi x, y & z -koordinatene til leddene til vinkler som var understable til roboter.
Så i utgangspunktet hvert.8 sekund publiserer WPF -prosjektet x, y & z koordinater for hver av leddene. Følgelig blir disse koordiantene i pythonprosjektet konvertert til vinkler, som deretter sendes til de tilsvarende motorene i roboten.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Datakontroll ved hjelp av bevegelser og berøringsinngang: 3 trinn
Datakontroll ved bruk av bevegelser og berøringsinngang: Dette er et demoprosjekt for den nye Piksey Atto. Vi bruker TTP224 touch IC og APDS-9960 gestmodulen for å kontrollere en datamaskin. Vi laster opp en skisse til Atto som får det til å fungere som et USB -tastatur, og det sender deretter de riktige nøkkelkodene avhengig av
Moslty 3D-trykt robotarm som etterligner dukkekontroller: 11 trinn (med bilder)
Moslty 3D-trykt robotarm som etterligner dukkekontroller: Jeg er en mekanisk ingeniørstudent fra India, og dette er My Undergrad-gradsprosjektet. Dette prosjektet er fokusert på å utvikle en billig robotarm som for det meste er 3D-trykt og har 5 DOFer med en 2-fingret griper. Robotarmen styres med
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Nao Robot Kopiere bevegelser gjennom Xbox Kinect -kamera: 4 trinn
Nao Robot Kopiering av bevegelser gjennom Xbox Kinect -kamera: Som et prosjekt i datateknikk -klassen vår på videregående skole (Porter Gaud), satte jeg meg selv (Legare Walpole) og en annen student (Martin Lautenschlager) i gang med å få en Nao -humanoid robot for å etterligne bevegelsene våre gjennom et kinetisk Xbox -kamera. I flere måneder ingen pro