Cuprins:

Navigați robotul cu senzori de pantofi, fără GPS, fără hartă: 13 pași (cu imagini)
Navigați robotul cu senzori de pantofi, fără GPS, fără hartă: 13 pași (cu imagini)

Video: Navigați robotul cu senzori de pantofi, fără GPS, fără hartă: 13 pași (cu imagini)

Video: Navigați robotul cu senzori de pantofi, fără GPS, fără hartă: 13 pași (cu imagini)
Video: Dorian este speriat de un interlop când face poze 😱🥊🤣 #timisoara #dorianpopa #cluj #bucuresti 2024, Iulie
Anonim

De obluoblu Urmăriți Despre: oblu este un senzor de navigație interior Mai multe despre oblu »

Robotul se deplasează pe o cale pre-programată și transmite (prin Bluetooth) informațiile sale reale de mișcare către un telefon pentru urmărire în timp real. Arduino este pre-programat cu cale și oblu este utilizat pentru detectarea mișcării robotului. oblu transmite informații de mișcare către Arduino la intervale regulate. Pe baza acestui fapt, Arduino controlează mișcările roților pentru a permite robotului să urmeze calea predefinită.

Pasul 1: O INTRODUCERE SCURTĂ

O INTRODUCERE SCURTĂ
O INTRODUCERE SCURTĂ

Proiectul are ca scop mutarea robotului pe o cale predefinită cu precizie, fără a utiliza GPS sau WiFi sau Bluetooth pentru poziționare, nici măcar harta sau planul de amenajare a clădirii. Și trasați-i drumul real (la scară), în timp real. Bluetooth-ul poate fi folosit ca înlocuitor al firului, pentru transmiterea informațiilor de localizare în timp real.

Pasul 2: POVESTEA DE FOND INTERESANTĂ

Povestea de fundal interesantă
Povestea de fundal interesantă

Agenda principală a echipei noastre este de a dezvolta senzori de navigație pietonal montați pe pantofi. Cu toate acestea, am fost abordați de un grup de cercetare academică cu cerința de a naviga în interiorul robotului și de a monitoriza simultan poziția sa în timp real. Au vrut să utilizeze un astfel de sistem pentru cartografierea radiațiilor într-o cameră închisă sau au detectat scurgeri de gaze într-o instalație industrială. Astfel de locuri sunt periculoase pentru ființele umane. Căutați o soluție robustă pentru navigația interioară a robotului nostru bazat pe Arduino.

Alegerea noastră evidentă pentru orice modul senzor de mișcare (IMU) a fost „oblu” (Ref. Imaginea de mai sus). Dar partea dificilă de aici a fost că firmware-ul existent al lui Oblu era potrivit pentru pedestru în interior pedestru Dead Reckoning (PDR) sau Navigație pietonală, în cuvinte simple. Performanța PDR a lui oblu în interior ca IMU montat pe picior este destul de impresionantă. Disponibilitatea aplicației Android (Xoblu) pentru urmărirea în timp real a oblu ca senzor de pantofi, adaugă avantajul. Cu toate acestea, provocarea a fost de a folosi algoritmul său existent, care se bazează pe modelul de mers pe jos uman, pentru navigarea robotului și monitorizarea acestuia.

Pasul 3: O scurtă introducere la „oblu”

Image
Image
DESCRIEREA SISTEMULUI
DESCRIEREA SISTEMULUI

„oblu” este o platformă de dezvoltare miniaturizată, cu cost redus și open source, orientată către aplicații de detectare a mișcării purtabile. Este o baterie reîncărcabilă Li-ion operabilă și permite încărcarea bateriei USB la bord. Are un modul Bluetooth integrat (BLE 4.1) pentru comunicații fără fir. „oblu” găzduiește un microcontroler în virgulă mobilă pe 32 de biți (AT32UC3C al lui Atmel) care permite rezolvarea ecuațiilor de navigație complexe la bord. Prin urmare, se efectuează toată procesarea mișcării pe oblu însuși și se transmite doar rezultatul final. Acest lucru face ca integrarea oblu cu sistemul asociat să fie extrem de simplă. „oblu” găzduiește, de asemenea, o rețea multi-IMU (MIMU) care permite fuziunea senzorilor și îmbunătățește performanța de detectare a mișcării. Abordarea MIMU adaugă unicității „oblu”.

calculele interne ale lui Oblu se bazează pe mersul uman. oblu dă deplasare între două etape succesive și schimbare de direcție. Cum - când piciorul intră în contact cu solul, viteza tălpii este zero, adică tălpile sunt oprite. În acest fel, oblu detectează „pașii” și corectează unele erori interne. Iar această corecție frecventă a erorilor, are ca rezultat performanțe excelente de urmărire. Deci, aici se află captura. Ce se întâmplă dacă robotul nostru merge și el în același mod - mișcare, oprire, mișcare, oprire.. Infect, oblu ar putea fi utilizat pentru orice obiect a cărui mișcare are momente regulate zero și nenule. Astfel am mers mai departe cu oblu și în cel mai scurt timp nu am putut să ne asamblăm robotul și sistemul de urmărire.

Pasul 4: CARE ESTE UTILITATEA „oblu”?

Ne petrecem aproape 70% din timpul nostru în interior. Prin urmare, există multe aplicații care necesită navigație interioară a oamenilor și a mașinilor. Cea mai utilizată soluție de poziționare este GPS / GNSS bazat pe satelit, care este bun pentru navigația în aer liber. Eșuează în mediul interior sau în mediul urban care nu sunt accesibile cerului senin. Astfel de aplicații sunt geo-supraveghere a mahalalelor sau a zonelor sub copertă grea, navigarea interioară a roboților, poziționarea agenților de salvare pentru stingerea incendiilor, accidente miniere, război urban etc.

Predecesorul oblu a fost introdus ca un senzor foarte compact de pantofi (sau un senzor PDR) pentru poziționarea pompierilor, care a fost ulterior modernizat și modificat ca o platformă de dezvoltare extrem de configurabilă pentru producătorii care caută ușor-precis- soluție de detectare a inerției la prețuri accesibile pentru navigația interioară a oamenilor, precum și a roboților. Până în prezent, utilizatorii Oblu și-au demonstrat aplicațiile în urmărirea pietonilor, siguranța industrială și gestionarea resurselor, poliție tactică, geo-sondaj al zonei lipsite de GPS, robot de auto-navigare, robotică de asistență, jocuri, AR / VR, tratamentul tulburărilor de mișcare, înțelegerea fizicii de mișcare etc. oblu este potrivit pentru aplicații cu constrângeri de spațiu, de ex detectarea mișcării purtabile. Poate fi folosit și ca IMU wireless, datorită Bluetooth-ului integrat. Prezența capacității de procesare în virgulă mobilă la bord, împreună cu patru matrice IMU, face posibilă fuziunea senzorilor și procesarea mișcării în cadrul modulului în sine, ceea ce la rândul său are ca rezultat o detectare foarte precisă a mișcării.

Pasul 5: POVESTEA PROIECTULUI

Image
Image

Povestea acestui proiect este în videoclip …

Pasul 6: DESCRIEREA SISTEMULUI

Robotul se deplasează pe o cale pre-programată și transmite (prin Bluetooth) informațiile sale reale de mișcare către un telefon pentru urmărire în timp real.

Arduino este pre-programat cu cale și oblu este utilizat pentru detectarea mișcării robotului. oblu transmite informații de mișcare către Arduino la intervale regulate. Pe baza acestui fapt, Arduino controlează mișcările roților pentru a permite robotului să urmeze calea predefinită.

Traseul robotului este programat ca un set de segmente de linie dreaptă. Fiecare segment de linie este definit de lungimea și orientarea sa față de cel anterior. Mișcarea robotului este păstrată discretă, adică se mișcă în linie dreaptă, dar pe segmente mai mici (permite să apelăm „pași” pentru simplitate). La sfârșitul fiecărui pas, oblu transmite lungimea pasului și întinderea abaterii (schimbarea orientării) de la linia dreaptă, la Arduino. Arduino corectează alinierea robotului la fiecare etapă a recepționării unor astfel de informații, dacă găsește abaterea de la linia dreaptă predefinită. După program, robotul ar trebui să se miște întotdeauna în linie dreaptă. Cu toate acestea, se poate abate de la linia dreaptă și poate merge la un anumit unghi sau o cale înclinată din cauza non-idealităților, cum ar fi suprafața neuniformă, dezechilibrul de masă în ansamblul robotului, dezechilibrul arhitectural sau electric în motoarele de curent continuu sau orientarea aleatorie a roții de rulare libere din față. Faceți un pas.. corectați-vă titlul … mergeți mai departe. Robotul se deplasează și înapoi dacă călătorește mai mult decât lungimea programată a acelui segment de linie. Următoarea lungime a pasului depinde de distanța rămasă care trebuie parcursă din acel segment de linie dreaptă. Robotul face pași mari atunci când distanța de parcurs este mai mare și face pași mai mici aproape de destinație (adică sfârșitul fiecărui segment de linie dreaptă). oblu transmite date către Arduino și telefon (prin Bluetooth) simultan. Xoblu (aplicația Android) efectuează unele calcule simple pentru a construi calea pe baza informațiilor de mișcare primite de la robot, care sunt utilizate pentru urmărirea în timp real pe telefon. (Construcția căii folosind Xoblu este ilustrată în a doua imagine).

În rezumat, oblu detectează mișcarea și comunică informațiile despre mișcare către Arduino și telefon la intervale regulate. Pe baza traseului programat și a informațiilor despre mișcare (trimise de oblu), Arduino controlează mișcările roților. Mișcarea robotului NU este controlată de la distanță, cu excepția comenzilor de pornire / oprire.

Pentru firmware-ul oblu vizitați

Pentru codul Aurduino al robotului vizitați

Pasul 7: MODELARE PATH

MODELAREA CĂILOR
MODELAREA CĂILOR
MODELAREA CĂILOR
MODELAREA CĂILOR

Robotul ar putea fi cel mai bine controlat dacă merge doar în segmente de linie dreaptă. Prin urmare, calea trebuie mai întâi modelată ca un set de segmente de linie dreaptă. Imaginile conțin câteva exemple de căi și reprezentările lor în termeni de deplasare și orientare. Acesta este modul în care calea este programată în Arduino.

De asemenea, orice cale care este un set de segmente de linie dreaptă, poate fi definită și programată în Arduino.

Pasul 8: ASAMBLARE CIRCUIT

ASAMBLARE CIRCUIT
ASAMBLARE CIRCUIT

Diagrama de integrare a sistemului de nivel superior. Arduino și oblu fac parte din ansamblul hardware. UART este utilizat pentru comunicarea dintre Arduino și oblu. (Vă rugăm să rețineți conexiunea Rx / Tx conexiune.) Direcția fluxului de date este doar pentru referință. Întregul ansamblu hardware comunică cu smartphone (Xoblu) folosind bluetooth.

Pasul 9: DIAGRAMA CIRCUITULUI

DIAGRAMA CIRCUITULUI
DIAGRAMA CIRCUITULUI

Conexiunile electrice detaliate dintre Arduino, oblu, driverul motorului și bateria.

Pasul 10: PROTOCOL DE COMUNICARE:

Mai jos este modul în care are loc comunicarea de date între senzorul oblu montat pe robot și smartphone, adică Xoblu:

Pasul 1: Xoblu trimite comanda START către oblu Pasul 2: oblu confirmă primirea comenzii prin trimiterea ACK corespunzătoare către Xoblu Pasul 3: oblu trimite pachetul DATA care conține deplasare și orientare pentru fiecare pas, la fiecare pas, către Xoblu. (pas = ori de câte ori se detectează mișcare zero sau se detectează oprirea). Pasul 4: Xoblu recunoaște că a primit ultimul pachet DATA prin trimiterea ACK corespunzătoare la oblu. (Ciclul pașilor 3 și 4 se repetă până când Xoblu trimite STOP. La primirea comenzii STOP, oblu execută Pasul 5) Pasul 5: STOP - (i) Opriți procesarea în oblu (ii) Opriți toate ieșirile în oblu Consultați Nota de aplicație a oblu pentru detalii despre START, ACK, DATA și STOP

Pasul 11: CUM FUNCȚIONEAZĂ "oblu" IMU (opțional):

Prezentarea unor referințe cu privire la prezentarea de ansamblu a Oblu și principiul de bază al funcționării unui senzor PDR montat pe picior:

Codul sursă disponibil al oblu este orientat către navigarea montată pe picior. Și cel mai bine este optimizat în acest scop. Videoclipul de mai jos prezintă principiul său principal de funcționare:

Iată câteva articole simple pe senzori PDR montați pe picior: 1. Urmăriți-mi pașii

2. Continuați să urmăriți pașii mei

Puteți consulta acest document pentru detalii despre calculul mortului pietonilor utilizând senzori de picior.

Pasul 12: Accesați „oblu.io” (opțional)

Image
Image

Urmăriți videoclipul pentru posibilele aplicații ale „oblu”:

---------------- Vă rugăm să ne împărtășiți feedback-ul, sugestiile și lăsați comentarii. Cele mai bune urări!

Pasul 13: COMPONENTE

1 oblu (o platformă de dezvoltare open source IMU)

1 Smart Motor Robot Car Battery Box Box Chassis Kit DIY Speed Encoder for Arduino

1 panou de sudură fără jumătate de dimensiune

1 fire jumper masculin / feminin

2 Condensator 1000 µF

1 drivere de motor Texas Instruments Dual H-Bridge L293D

1 Arduino Mega 2560 și Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH reîncărcabilă

Recomandat: