Orodha ya maudhui:

Nao Robot Kuiga Harakati Kutumia Kinect: Hatua 7
Nao Robot Kuiga Harakati Kutumia Kinect: Hatua 7

Video: Nao Robot Kuiga Harakati Kutumia Kinect: Hatua 7

Video: Nao Robot Kuiga Harakati Kutumia Kinect: Hatua 7
Video: Leap Motion SDK 2024, Novemba
Anonim
Nao Robot Kuiga Harakati Kutumia Kinect
Nao Robot Kuiga Harakati Kutumia Kinect

Katika hii inayoweza kufundishwa nitakuelezea jinsi tunavyoruhusu roboti ya Nao kuiga harakati zetu kwa kutumia sensorer ya kinect. Lengo halisi la mradi huo ni kusudi la kielimu: mwalimu ana uwezo wa kurekodi seti fulani za harakati (kwa mfano, densi) na anaweza kutumia rekodi hizi kuwaruhusu watoto walio darasani kuiga roboti. Kwa kupitia hatua hii yote inayoweza kufundishwa kwa hatua, unapaswa kuwa na uwezo wa kuunda tena mradi huu.

Huu ni mradi unaohusiana na shule (NMCT @ Howest, Kortrijk).

Hatua ya 1: Maarifa ya Msingi

Ili kurudia mradi huu lazima uwe na maarifa ya kimsingi:

- Maarifa ya kimsingi ya chatu

- Maarifa ya kimsingi C # (WPF)

- Maarifa ya kimsingi ya trigonometry

- Maarifa juu ya jinsi ya kuanzisha MQTT kwenye pi ya raspberry

Hatua ya 2: Kupata Vifaa Muhimu

Vifaa vinavyohitajika kwa mradi huu:

- Raspberry Pi

- Kinect Sensor v1.8 (Xbox 360)

- Nao roboti au virutal robot (Choregraph)

Hatua ya 3: Jinsi inavyofanya kazi

Image
Image
Inavyofanya kazi
Inavyofanya kazi

Sensor ya kinect imeunganishwa na kompyuta inayoendesha programu ya WPF. Programu ya WPF hutuma data kwenye programu ya chatu (roboti) kwa kutumia MQTT. Faili za mitaa zinahifadhiwa ikiwa mtumiaji atachagua hivyo.

Maelezo ya kina:

Kabla ya kuanza kurekodi, mtumiaji anapaswa kuingiza anwani ya ip ya wakala wa MQTT. Mbali na hilo, tunahitaji pia mada ambayo tunataka kuchapisha data. Baada ya kuanza kwa kuanza, programu itaangalia ikiwa unganisho linaweza kuanzishwa na broker na itatupa maoni. Kuangalia ikiwa mada haipo haiwezekani, kwa hivyo unawajibika kikamilifu kwa hii. Wakati pembejeo zote ziko sawa, programu itaanza kutuma data (x, y & z kuratibu huunda kila kiungo) kutoka kwa mifupa ambayo inafuatiliwa hadi mada kwenye broker ya MQTT.

Kwa sababu roboti imeunganishwa na broker huyo huyo wa MQTT na imesajiliwa kwenye mada hiyo hiyo (hii inapaswa kuingizwa katika programu ya chatu pia) programu ya chatu sasa itapokea data kutoka kwa programu ya WPF. Kutumia trigonometry na algorithms zilizoandikwa za kibinafsi, tunabadilisha coördinates kuwa pembe na radians, ambazo tunatumia kuzungusha motors ndani ya roboti kwa wakati halisi.

Mtumiaji akimaliza kurekodi, bonyeza kitufe cha kuacha. Sasa mtumiaji anapata kidukizo akiuliza ikiwa anataka kuhifadhi rekodi. Mtumiaji anapogonga kughairi, kila kitu kinarudishwa (data inapotea) na rekodi mpya inaweza kuanza. Ikiwa mtumiaji anataka kuhifadhi rekodi, anapaswa kuweka kichwa na kugonga 'kuokoa'. Wakati wa kupiga "kuokoa" data zote zilizopatikana zimeandikwa kwa faili ya karibu kutumia kiingilio cha kichwa kama jina la faili. Faili pia imeongezwa kwenye mwonekano wa orodha upande wa kulia wa skrini. Kwa njia hii, baada ya kubonyeza mara mbili kuingia mpya kwenye mwonekano wa orodha, faili hiyo inasomwa na kutumwa kwa broker wa MQTT. Kwa hivyo, roboti itacheza kurekodi.

Hatua ya 4: Kuanzisha Broker ya MQTT

Kuanzisha MQTT Broker
Kuanzisha MQTT Broker

Kwa mawasiliano kati ya kinect (mradi wa WPF) na robot (mradi wa Python) tulitumia MQTT. MQTT ina broker (kompyuta ya linux ambayo programu ya mqtt (kwa mfano. Mosquitto) inaendesha na mada ambayo wateja wanaweza kujiandikisha (wanapokea ujumbe kutoka kwa mada) na kuchapisha (wanachapisha ujumbe kwenye mada).

Kuanzisha broker ya MQTT pakua picha hii yote ya jessie. Hii ni usakinishaji safi kwako Raspberry Pi na broker wa MQTT juu yake. Mada ni "/ Sandro".

Hatua ya 5: Kuweka Kinect SDK V1.8

Kwa kinect kufanya kazi kwenye kompyuta yako lazima uweke Microsoft Kinect SDK.

Unaweza kuipakua hapa:

www.microsoft.com/en-us/download/details.a…

Hatua ya 6: Kusanikisha Python V2.7

Roboti inafanya kazi na mfumo wa NaoQi, mfumo huu unapatikana tu kwa chatu 2.7 (SIYO 3.x), kwa hivyo angalia ni aina gani ya chatu uliyoweka.

Unaweza kupakua chatu 2.7 hapa:

www.python.org/downloads/release/python-27…

Hatua ya 7: Usimbuaji

Kuandika
Kuandika
Kuandika
Kuandika
Kuandika
Kuandika

Github:

Vidokezo:

- Kuandika kwa kinect: kwanza utafute kinect iliyounganishwa. Baada ya kuokoa hii ndani ya mali tuliwezesha rangi- na mifupa kwenye kinect. Mtiririko wa rangi ni video ya moja kwa moja, wakati mifupa inamaanisha mifupa ya mtu aliye mbele ya kamera itaonyeshwa. Mtiririko wa rangi sio lazima sana kufanya mradi huu ufanye kazi, tuliiwezesha tu kwa sababu kuchora mifupa kwa mtiririko wa rangi inaonekana kuwa mjanja!

- Kwa kweli ni kweli mifupa inayofanya kazi hiyo. Kuwezesha mifupa inamaanisha kuwa mifupa ya mtu inafuatiliwa. Kutoka kwa mifupa hii unapokea kila aina ya habari mfano. mwelekeo wa mifupa, habari ya pamoja,… Ufunguo wa mradi wetu ulikuwa habari ya pamoja. Kutumia uratibu wa x-y & z wa kila moja ya viungo kutoka kwa mifupa iliyofuatiliwa, tulijua tunaweza kufanya robot kusonga. Kwa hivyo, kila sekunde.8 (kwa kutumia kipima muda) tunachapisha uratibu wa x, y & z za kila viungo kwa broker wa mqtt.

- Kwa kuwa mradi wa chatu una usajili kwenye mqtt broker sasa tunaweza kupata data ndani ya mradi huu. Ndani ya kila kiungo cha roboti kuna motors mbili. Motors hizi haziwezi kuongozwa tu kwa kutumia uratibu wa x, y & z moja kwa moja. Kwa hivyo, kwa kutumia trigonometry na busara, tulibadilisha uratibu wa x, y & z za viungo kuwa pembe zilizo chini ya roboti.

Kwa hivyo kimsingi kila sekunde.8 mradi wa WPF unachapisha uratibu wa x, y & z za kila kiungo. Kwa hivyo, ndani ya mradi wa chatu hizi coordiantes hubadilishwa kuwa pembe, ambazo hutumwa kwa motors zinazofanana za roboti.

Ilipendekeza: