Мазмуну:

Nao роботу Kinectти колдонуу менен окшоштуруучу кыймылдар: 7 кадам
Nao роботу Kinectти колдонуу менен окшоштуруучу кыймылдар: 7 кадам

Video: Nao роботу Kinectти колдонуу менен окшоштуруучу кыймылдар: 7 кадам

Video: Nao роботу Kinectти колдонуу менен окшоштуруучу кыймылдар: 7 кадам
Video: Teleoperation with NAO robot using Kinect sensor 2024, Июнь
Anonim
Nao роботу Kinectти колдонуу менен окшоштуруу кыймылдары
Nao роботу Kinectти колдонуу менен окшоштуруу кыймылдары

Бул көрсөтмөдө мен сизге Nao роботуна кинект сенсорунун жардамы менен биздин кыймылдарды тууроого кантип жол берерин түшүндүрөм. Долбоордун чыныгы максаты - бул билим берүү максаты: мугалим белгилүү кыймылдарды (мисалы, бий) жаздырууга жөндөмдүү жана бул жазууларды класстагы балдарды роботко окшоштуруу үчүн колдоно алат. Бул этап -этабы менен өтүү менен, сиз бул долбоорду толугу менен кайра жаратышыңыз керек.

Бул мектеп менен байланышкан долбоор (NMCT @ Howest, Kortrijk).

1 -кадам: Негизги билимдер

Бул долбоорду кайра жаратуу үчүн сиз кээ бир негизги билимдерге ээ болушуңуз керек:

- Негизги питон билими

- Негизги C# билими (WPF)

- Негизги тригонометрия билимдери

- Малина пи боюнча MQTT орнотуу боюнча билим

2 -кадам: Керектүү материалдарды алуу

Бул долбоор үчүн керектүү материалдар:

- Raspberry Pi

- Kinect Sensor v1.8 (Xbox 360)

- Нао робот же вируталдык робот (хореграф)

3 -кадам: Бул кантип иштейт

Image
Image
Бул кантип иштейт
Бул кантип иштейт

Кинект сенсору WPF тиркемеси иштеген компьютерге туташкан. WPF тиркемеси маалыматтарды Python тиркемесине (роботко) MQTT аркылуу жөнөтөт. Колдонуучу кааласа, жергиликтүү файлдар сакталат.

Толук түшүндүрмө:

Биз жазууну баштоодон мурун, колдонуучу MQTT брокеринин IP-дарегин киргизиши керек. Мындан тышкары, биз маалыматтарды жарыялоону каалаган темага да муктажбыз. Старт баскандан кийин, колдонмо брокер менен байланыш түзүү мүмкүндүгүн текшерет жана ал бизге пикир берет. Теманын бар -жогун текшерүү мүмкүн эмес, андыктан бул үчүн сиз толугу менен жооптуусуз. Киргизүү экөө тең жакшы болгондо, колдонмо MQTT брокериндеги темага көз салынган скелеттен маалыматтарды (x, y & z координаттары ар бир муундан түзөт) жөнөтө баштайт.

Робот ошол эле MQTT брокери менен байланышкан жана ошол эле темада жазылган (муну python тиркемесине да киргизүү керек), python тиркемеси эми WPF тиркемесинен маалыматтарды алат. Тригонометрияны жана өз алдынча жазылган алгоритмдерди колдонуп, биз роботтун ичиндеги моторлорду реалдуу убакытта айлантуу үчүн колдонгон бурчтарга жана радиандарга айландырабыз.

Колдонуучу жазууну бүтүргөндө, ал токтотуу баскычын басат. Эми колдонуучу жазууну сактап калгыңыз келеби деп сурап турган калкыма терезени алат. Колдонуучу жокко чыкканда, бардыгы баштапкы абалга келтирилет (маалыматтар жоголот) жана жаңы жазууну баштоого болот. Эгерде колдонуучу жазууну сактоону кааласа, анда ал аталышын киргизип, "Сактоо" баскычын басышы керек. "Сактоо" баскычын басканда, алынган бардык маалыматтар файлдын аталышы катары аталышын киргизүү менен жергиликтүү файлга жазылат. Файл экрандын оң жагындагы тизмеге да кошулат. Ошентип, тизме көрүнүшүндөгү жаңы жазууну эки жолу баскандан кийин, файл окулат жана MQTT брокерине жөнөтүлөт. Демек, робот жаздырууну ойнотот.

4 -кадам: MQTT брокерин орнотуу

MQTT брокерин орнотуу
MQTT брокерин орнотуу

Кинект (WPF долбоору) менен роботтун (Python проекти) ортосундагы байланыш үчүн биз MQTT колдондук. MQTT брокерден (mqtt программасы (мис. Mosquitto) иштеген Linux компьютери) жана кардарлар жазыла ала турган темадан турат (алар темадан билдирүү алышат) жана жарыялашат (алар темада билдирүү жарыялашат).

MQTT брокерин орнотуу үчүн, бул джессинин сүрөтүн жүктөп алыңыз. Бул MQTT брокери бар Raspberry Pi үчүн таза орнотуу. Тема "/Сандро".

5 -кадам: Kinect SDK V1.8 орнотуу

Кинект сиздин компьютерде иштеши үчүн Microsoft Kinect SDK орнотушуңуз керек.

Аны бул жерден жүктөп алсаңыз болот:

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

6 -кадам: Python V2.7 орнотуу

Робот NaoQi алкагы менен иштейт, бул алкак python 2.7 (ЭМЕС 3.x) үчүн гана жеткиликтүү, андыктан сиз орноткон питондун кайсы версиясын текшериңиз.

Бул жерден python 2.7ди жүктөп алсаңыз болот:

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

7 -кадам: Коддоо

Coding
Coding
Coding
Coding
Coding
Coding

Github:

Эскертүүлөр:

- kinect менен коддоо: биринчиден туташкан kinectти издеңиз. Муну мүлктүн ичине сактап койгондон кийин, kinect боюнча color- and skeletonstream иштетилди. Colorstream - бул жандуу видео, ал эми skeletonstream - камеранын алдында турган адамдын скелети көрсөтүлөт дегенди билдирет. Colorstream бул долбоордун иштеши үчүн чындап эле кереги жок, биз жөн гана иштеттик, анткени скелетон агымын түс агымына bitmapping жылмакай көрүнөт!

- Чындыгында бул ишти скелетонстрим аткарат. Скелетонстримди иштетүү адамдын скелети байкалып жатканын билдирет. Бул скелеттен сиз ар кандай маалыматты аласыз, мис. сөөк багыттары, биргелешкен маалымат,… Биздин долбоордун ачкычы биргелешкен маалымат болду. Изделген скелеттен муундардын ар биринин x-y & z координаттарын колдонуп, биз роботту кыймылга келтире аларыбызды билдик. Ошентип, ар бир.8 секундда (таймерди колдонуп) mqtt брокерине муундардын ар биринин x, y & z координаттарын жарыялайбыз.

- Python долбоорунда mqtt брокерине жазылуу болгондуктан, биз азыр бул долбоордун ичиндеги маалыматтарга кире алабыз. Роботтун ар бир түйүнүнүн ичинде эки мотор бар. Бул моторлорду түз эле x, y & z координаттарын колдонуп башкарууга болбойт. Ошентип, тригонометрияны жана кээ бир акыл -эсти колдонуп, биз муундардын x, y & z координаттарын роботторго ылайыксыз бурчтарга айландырдык.

Ошентип, негизинен ар бир.8 секундда WPF долбоору муундардын ар биринин x, y & z координаттарын жарыялайт. Демек, питон долбоорунун ичинде бул кордианттар бурчтарга айландырылат, андан кийин алар роботтун тиешелүү моторлоруна жөнөтүлөт.

Сунушталууда: