
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

В тази инструкция ще ви обясня как позволяваме на робот Nao да имитира движенията ни, използвайки сензор за кинект. Действителната цел на проекта е образователна цел: учителят има способността да записва определени набори движения (например танц) и може да използва тези записи, за да позволи на децата в класната стая да имитират робота. Преминавайки през цялата инструкция стъпка по стъпка, трябва да можете да пресъздадете напълно този проект.
Това е проект, свързан с училище (NMCT @ Howest, Kortrijk).
Стъпка 1: Основни знания
За да пресъздадете този проект, трябва да притежавате някои основни познания:
- Основни познания за питон
- Основни знания на C# (WPF)
- Основни познания по тригонометрия
- Знания за това как да настроите MQTT на малиново пи
Стъпка 2: Придобиване на необходимите материали
Необходими материали за този проект:
- Малина Пи
- Kinect Sensor v1.8 (Xbox 360)
- робот Nao или вирулен робот (хореграф)
Стъпка 3: Как работи



Kinect сензор е свързан към компютър, работещ с приложението WPF. Приложението WPF изпраща данни към приложението Python (робот), използвайки MQTT. Местните файлове се запазват, ако потребителят избере това.
Подробно обяснение:
Преди да започнем да записваме, потребителят трябва да въведе ip-адреса на брокера MQTT. Освен това се нуждаем и от темата, по която искаме да публикуваме данните. След натискане на старт приложението ще провери дали може да се установи връзка с брокера и ще ни даде обратна връзка. Проверката дали съществува тема не е възможна, така че вие носите пълна отговорност за тази. Когато и двата входа са ОК, приложението ще започне да изпраща данни (координати x, y & z от всяко съединение) от скелета, който се проследява до темата на брокера MQTT.
Тъй като роботът е свързан със същия MQTT брокер и е абониран по същата тема (това също трябва да бъде въведено в приложението python), приложението python вече ще получава данните от приложението WPF. Използвайки тригонометрия и самостоятелно написани алгоритми, ние преобразуваме координатите в ъгли и радиани, които използваме за завъртане на двигателите вътре в робота в реално време.
Когато потребителят приключи със записването, той натиска бутона за спиране. Сега потребителят получава изскачащ прозорец с въпрос дали иска да запише записа. Когато потребителят натисне отмената, всичко се нулира (данните се губят) и може да започне нов запис. Ако потребителят желае да запише записа, той трябва да въведе заглавие и да натисне „запази“. При натискане на „запазване“всички получени данни се записват в локален файл, като се използва заглавието като име на файла. Файлът също се добавя към изгледа на списък в дясната страна на екрана. По този начин, след двойно щракване върху новия запис в списъка, файлът се чете и изпраща на брокер MQTT. Следователно роботът ще възпроизведе записа.
Стъпка 4: Настройване на MQTT брокер

За комуникацията между kinect (проект WPF) и робота (проект Python) използвахме MQTT. MQTT се състои от брокер (компютър с Linux, на който работи софтуерът mqtt (напр. Mosquitto)) и тема, по която клиентите могат да се абонират (получават съобщение от темата) и да публикуват (публикуват съобщение по темата).
За да настроите MQTT брокера, просто изтеглете цялото изображение на Джеси. Това е чиста инсталация за вас Raspberry Pi с MQTT брокер върху нея. Темата е "/Сандро".
Стъпка 5: Инсталиране на Kinect SDK V1.8
За да работи kinect на вашия компютър, трябва да инсталирате Microsoft Kinect SDK.
Можете да го изтеглите от тук:
www.microsoft.com/en-us/download/details.a…
Стъпка 6: Инсталиране на Python V2.7
Роботът работи с рамката NaoQi, тази рамка е достъпна само за python 2.7 (НЕ 3.x), така че проверете коя версия на python сте инсталирали.
Можете да изтеглите python 2.7 тук:
www.python.org/downloads/release/python-27…
Стъпка 7: Кодиране



Github:
Бележки:
- Кодиране с kinect: първо търсите свързания kinect. След като запазихме това в свойство, активирахме потока от цветове и скелети на kinect. Colorstream е видеото на живо, докато skeletonstream означава, че ще бъде показан скелет на лицето пред камерата. Colorstream всъщност не е необходим, за да работи този проект, просто го активирахме, защото растерното картографиране на скелетния поток към цветовия поток изглежда хлъзгаво!
- В действителност наистина скелетният поток върши работата. Активирането на скелетния поток означава, че скелетът на човека се проследява. От този скелет получавате всякаква информация, напр. костни ориентации, съвместна информация, … Ключът към нашия проект беше съвместната информация. Използвайки координатите x-y & z на всяка от фугите от проследения скелет, знаехме, че можем да накараме робота да се движи. И така, на всеки 0,8 секунди (с помощта на таймер) публикуваме координатите x, y & z на всяка от фугите в брокера mqtt.
- Тъй като проектът python има абонамент на брокера на mqtt, сега можем да получим достъп до данните в този проект. Вътре във всяко съединение на робота има два двигателя. Тези двигатели не могат просто да се управляват, като се използват директно координатите x, y & z. Така че, използвайки тригонометрия и малко здрав разум, ние преобразувахме координатите x, y & z на ставите в ъгли, разбираеми за роботи.
По принцип на всеки.8 секунди проектът WPF публикува x, y & z координати на всяка от фугите. Следователно, в проекта python тези координати се преобразуват в ъгли, които след това се изпращат до съответните двигатели на робота.
Препоръчано:
Направи си сам -- Как да си направим робот -паяк, който може да се контролира с помощта на смартфон с помощта на Arduino Uno: 6 стъпки

Направи си сам || Как да си направим робот -паяк, който може да се контролира с помощта на смартфон с помощта на Arduino Uno: Докато правите робот -паяк, човек може да научи толкова много неща за роботиката. В това видео ще ви покажем как да направите робот Spider, с който можем да управляваме с помощта на нашия смартфон (Androi
Мониторинг на ускорението с помощта на Raspberry Pi и AIS328DQTR с помощта на Python: 6 стъпки

Наблюдение на ускорението с помощта на Raspberry Pi и AIS328DQTR Използване на Python: Ускорението е ограничено, според мен според някои закони на физиката.- Тери Райли Гепардът използва невероятно ускорение и бързи промени в скоростта при преследване. Най -бързото същество на брега от време на време използва най -високото си темпо, за да хване плячка
Robot Nao Копиране на движения чрез Xbox Kinect камера: 4 стъпки

Nao Robot Копиране на движенията чрез Xbox Kinect камера: Като проект в нашия клас по компютърни науки в гимназията (Porter Gaud), аз (Legare Walpole) и друг ученик (Martin Lautenschlager) се заехме да накараме робот Nao хуманоид да имитира нашите движения чрез кинетична камера на Xbox. Месеци без професионалисти
Балансиращ робот / робот на 3 колела / STEM робот: 8 стъпки

Балансиращ робот / робот на 3 колела / STEM робот: Създадохме комбиниран робот за балансиране и три колела за учебни цели в училища и след училищни образователни програми. Роботът е базиран на Arduino Uno, персонализиран щит (предоставени са всички подробности за конструкцията), Li Ion батерия (всички конструкции
[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)
![[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки) [Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)](https://i.howwhatproduce.com/images/001/image-1599-93-j.webp)
[Робот Arduino] Как да си направим робот за улавяне на движение | Робот Thumbs | Серво мотор | Изходен код: Thumbs Robot. Използва се потенциометър на серво мотор MG90S. Много е забавно и лесно! Кодът е много прост. Има само около 30 реда. Изглежда като заснемане на движение. Моля, оставете всеки въпрос или обратна връзка! [Инструкция] Изходен код https: //github.c