Съдържание:

Навигирайте робот със сензори за обувки, без GPS, без карта: 13 стъпки (със снимки)
Навигирайте робот със сензори за обувки, без GPS, без карта: 13 стъпки (със снимки)

Видео: Навигирайте робот със сензори за обувки, без GPS, без карта: 13 стъпки (със снимки)

Видео: Навигирайте робот със сензори за обувки, без GPS, без карта: 13 стъпки (със снимки)
Видео: Ранчото на Скинуокър сезон 3 2022 (нова шокираща информация) 2024, Юли
Anonim

От obluobluСледвайте за: oblu е сензор за навигация на закрито Повече за oblu »

Роботът се движи по предварително програмиран път и предава (по bluetooth) действителната си информация за движение до телефон за проследяване в реално време. Arduino е предварително програмиран с пътека, а oblu се използва за усещане на движението на робота. oblu предава информация за движението към Arduino на редовни интервали. Въз основа на това Arduino контролира движенията на колелата, за да позволи на робота да следва предварително зададения път.

Стъпка 1: КРАТКО ВЪВЕДЕНИЕ

КРАТКО ВЪВЕДЕНИЕ
КРАТКО ВЪВЕДЕНИЕ

Проектът цели да накара робота да се движи по предварително определен път с прецизност, без да използва GPS или WiFi или Bluetooth за позициониране, дори не карта или план на сградата. И начертайте действителния му път (до мащаба) в реално време. Bluetooth може да се използва като заместител на проводник, за предаване на информация за местоположението в реално време.

Стъпка 2: ИНТЕРЕСНАТА ИСТОРИЯ

ИНТЕРЕСНАТА ИСТОРИЯ
ИНТЕРЕСНАТА ИСТОРИЯ

Основната програма на нашия екип е да разработи сензори за навигация за пешеходци, монтирани на обувки. Въпреки това, ние се обърнахме към академична изследователска група с изискването за навигация на робота на закрито и едновременно наблюдение на позицията му в реално време. Те искаха да използват такава система за картографиране на радиация в затворена камера или откриха изтичане на газ в промишлена инсталация. Такива места са опасни за хората. търси стабилно решение за вътрешна навигация на нашия базиран на Arduino робот.

Нашият очевиден избор за всеки модул със сензор за движение (IMU) беше "oblu" (Ref горе изображението). Но най-сложната част тук беше, че съществуващият фърмуер на oblu е подходящ за монтирани на крака пешеходци за мъртви разчети (PDR) или пешеходна навигация, с прости думи. PDR производителността на oblu на закрито като IMU, монтирана на крака, е доста впечатляваща. Наличието на приложение за Android (Xoblu) за проследяване в реално време на oblu като сензор за обувки, добавя към предимството. Предизвикателството обаче беше да се използва неговият съществуващ алгоритъм, който се основава на модел на ходене на хора, за навигация на робота и неговото наблюдение.

Стъпка 3: КРАТКО ВЪВЕДЕНИЕ В „oblu“

Image
Image
ОПИСАНИЕ НА СИСТЕМАТА
ОПИСАНИЕ НА СИСТЕМАТА

"oblu" е миниатюрна, евтина и отворена платформа за разработка, насочена към носими приложения за отчитане на движение. Работи с литиево-йонна акумулаторна батерия и позволява зареждане на вградена USB батерия. Той има вграден Bluetooth (BLE 4.1) модул за безжична комуникация. "oblu" разполага с 32-битов микроконтролер с плаваща запетая (AT32UC3C на Atmel), който позволява решаване на сложни навигационни уравнения на борда. Следователно човек извършва цялата обработка на движението върху самия oblu и предава само крайния резултат. Това прави интеграцията на oblu със асоциираната система изключително проста. "oblu" също хоства мулти-IMU (MIMU) масив, който позволява сливане на сензора и подобрява производителността на засичане на движение. Подходът MIMU добавя към уникалността на "oblu".

вътрешните изчисления на oblu се основават на човешкото ходене. oblu дава изместване между две последователни стъпки и промяна в заглавието. Как - когато кракът влезе в контакт със земята, скоростта на подметката е нула, т.е. подметката е в покой. По този начин oblu открива „стъпките“и коригира някои вътрешни грешки. И тази честа корекция на грешки води до страхотно проследяване. Така че тук се крие уловката. Ами ако нашият робот също върви по същия начин - преместване, спиране, преместване, спиране … Всъщност oblu може да се използва за всеки обект, чието движение има редовни нулеви и ненулеви моменти. Така продължихме напред с oblu и за нула време не можахме да сглобим нашия робот и системата за проследяване.

Стъпка 4: КАКВА Е ПОЛЕЗНАТА ОБЛУКА?

Прекарваме близо 70% от времето си на закрито. Следователно има много приложения, които изискват вътрешна навигация на хора и машини. Най -често използваното решение за позициониране е сателитно базиран GPS/GNSS, който е добър за навигация на открито. Той се проваля в закрита среда или в градска среда, която не е достъпна за ясното небе. Такива приложения са геопроучване на бедняшки квартали или райони под тежки дървесни покриви, вътрешна навигация на роботи, позициониране на спасителни агенти за гасене на пожари, минни инциденти, градска война и др.

Предшественикът на oblu е представен като много компактен сензор за обувки (или PDR сензор) за позициониране на пожарникари, който по-късно е модернизиран и модифициран като високо конфигурируема платформа за разработка за производителите, които търсят лесно-точни- достъпно инерционно сензорно решение за вътрешна навигация на хора, както и роботи. Досега потребителите на oblu са демонстрирали приложенията му за проследяване на пешеходци, индустриална безопасност и управление на ресурсите, тактическа полиция, геопроучване на зона без GPS, самонавигационен робот, помощна роботика, игри, AR/VR, лечение на нарушения на движението, разбиране на физиката на движение и т.н. oblu е подходящ за приложения с пространствени ограничения, напр носене на движение. Може да се използва и като безжичен IMU, благодарение на вградения Bluetooth. Наличието на бордова способност за обработка с плаваща запетая, заедно с четири масива IMU, прави възможно сливането на сензора и обработката на движение в рамките на самия модул, което от своя страна води до много точно отчитане на движението.

Стъпка 5: ИСТОРИЯТА НА ПРОЕКТА

Image
Image

Историята на този проект е във видеото …

Стъпка 6: ОПИСАНИЕ НА СИСТЕМАТА

Роботът се движи по предварително програмиран път и предава (по bluetooth) действителната си информация за движение до телефон за проследяване в реално време.

Arduino е предварително програмиран с пътека, а oblu се използва за усещане на движението на робота. oblu предава информация за движението към Arduino на редовни интервали. Въз основа на това Arduino контролира движенията на колелата, за да позволи на робота да следва предварително зададения път.

Пътят на робота е програмиран като набор от права линия. Всеки сегмент от линия се определя от неговата дължина и ориентация спрямо предходния. Движението на робота се поддържа дискретно, тоест движи се по права линия, но на по -малки сегменти (позволява да се извикат „крачки“за простота). В края на всяка крачка oblu предава дължината на крачката и степента на отклонение (промяна в ориентацията) от права линия към Arduino. Arduino коригира подравняването на робота на всяка стъпка при получаване на такава информация, ако установи отклонение от предварително дефинираната права линия. Както на програма, роботът винаги трябва да се движи по права линия. Въпреки това, той може да се отклони от права линия и може да върви под определен ъгъл или изкривен път поради неидеалности като неравна повърхност, дисбаланс на масата при сглобяване на робот, архитектурен или електрически дисбаланс в постояннотокови двигатели или произволна ориентация на предното свободно движещо се колело. Направете една стъпка.. коригирайте посоката си … продължете напред. Роботът също се движи назад, ако пътува повече от програмираната дължина на този конкретен сегмент на линията. Следващата дължина на крачката зависи от оставащото разстояние, което трябва да се измине от този сегмент от права линия. Роботът прави големи крачки, когато изминатото разстояние е по -голямо и прави по -малки крачки близо до дестинацията (т.е. края на всеки сегмент от права линия). oblu предава данни към Arduino и телефон (по bluetooth) едновременно. Xoblu (приложението за Android) извършва някои прости изчисления, за да конструира пътя въз основа на информацията за движението, получена от робота, която се използва за проследяване в реално време по телефона. (Конструкцията на пътя с помощта на Xoblu е илюстрирана на второто изображение).

В обобщение, oblu усеща движението и съобщава информация за движението на Arduino и телефона на редовни интервали. Въз основа на програмирания път и информацията за движението (изпратена от oblu), Arduino контролира движенията на колелата. Движението на робота НЕ се управлява дистанционно, с изключение на команди за стартиране/спиране.

За фърмуера на oblu посетете

За Aurduino код на робота посетете

Стъпка 7: МОДЕЛИРАНЕ НА ПЪТЯ

МОДЕЛИРАНЕ НА ПЪТЯ
МОДЕЛИРАНЕ НА ПЪТЯ
МОДЕЛИРАНЕ НА ПЪТЯ
МОДЕЛИРАНЕ НА ПЪТЯ

Роботът би могъл да се контролира най -добре, ако ходи само в права линия. Следователно пътят трябва първо да бъде моделиран като набор от прави линии. По този начин пътят е програмиран в Arduino.

По същия начин всеки път, който е набор от права линия, може да бъде дефиниран и програмиран в Arduino.

Стъпка 8: МОНТАЖ НА ВРЪЖКА

МОНТАЖ НА ЕЛЕМЕНТА
МОНТАЖ НА ЕЛЕМЕНТА

Диаграма за системна интеграция от най -високо ниво. Arduino и oblu са част от хардуерния монтаж. UART се използва за комуникация между Arduino и oblu. (Моля, обърнете внимание на връзката Rx/Tx връзка.) Посоката на потока от данни е само за справка. Целият хардуерен възел комуникира със смартфон (Xoblu) чрез Bluetooth.

Стъпка 9: СХЕМА НА ВРЪЖКИ

СХЕМА НА ВРЪЖКИ
СХЕМА НА ВРЪЖКИ

Подробните електрически връзки между Arduino, oblu, драйвера на двигателя и батерията.

Стъпка 10: КОМУНИКАЦИОНЕН ПРОТОКОЛ:

По -долу е описано как се осъществява комуникацията на данни между сензора oblu, монтиран на робота и смартфона, т.е. Xoblu:

Стъпка 1: Xoblu изпраща команда START на oblu Стъпка 2: oblu потвърждава получаването на команда, като изпраща подходящ ACK на Xoblu Стъпка 3: oblu изпраща DATA пакет, съдържащ изместване и информация за ориентация за всяка крачка, на всяка стъпка, до Xoblu. (стъпка = винаги, когато се открие нулево движение или се открие застой). Стъпка 4: Xoblu потвърждава получаването на последния DATA пакет, като изпраща подходящ ACK на oblu. (Цикълът на стъпки 3 и 4 се повтаря, докато Xoblu не изпрати STOP. При получаване на команда STOP, oblu изпълнява Стъпка 5) Стъпка 5: STOP - (i) Спиране на обработката в oblu (ii) Спиране на всички изходи в oblu Моля, вижте бележката за приложение на oblu за подробности за START, ACK, DATA и STOP

Стъпка 11: КАК РАБОТИ "oblu" IMU (по избор):

Представяме някои справки за прегледа на oblu и основните принципи на работа на PDR сензори, монтирани на крака:

Наличният изходен код на oblu е насочен към навигация, монтирана на крака. И е най -добре оптимизиран за тази цел. По -долу видеото обхваща основните му принципи на работа:

Ето няколко прости статии за PDR сензори, монтирани на крака: 1. Проследете стъпките ми

2. Продължете да проследявате стъпките ми

Можете да се обърнете към този документ за подробности относно изчисляването на мъртвите пешеходци с помощта на сензори за крака.

Стъпка 12: Посетете „oblu.io“(по избор)

Image
Image

Гледайте видеото за възможните приложения на "oblu":

---------------- Моля, споделете вашите отзиви, предложения и оставете коментари. Най-добри пожелания!

Стъпка 13: КОМПОНЕНТИ

1 oblu (платформа за разработка на IMU с отворен код)

1 Smart Motor Robot Car Box Box Chassit Kit DIY Speed Encoder за Arduino

1 Непоял хляб с половин размер

1 мъжки/женски джъмперни проводници

2 Кондензатор 1000 µF

1 Texas Instruments Dual H-Bridge моторни драйвери L293D

1 Arduino Mega 2560 и Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH Акумулаторна

Препоръчано: