INHOUDSOPGAWE:

Navigeer deur robot met skoonsensors, sonder GPS, sonder kaart: 13 stappe (met foto's)
Navigeer deur robot met skoonsensors, sonder GPS, sonder kaart: 13 stappe (met foto's)

Video: Navigeer deur robot met skoonsensors, sonder GPS, sonder kaart: 13 stappe (met foto's)

Video: Navigeer deur robot met skoonsensors, sonder GPS, sonder kaart: 13 stappe (met foto's)
Video: Как спрятать данные в ячейках Excel? 2024, Julie
Anonim

Deur obluobluVolg oor: oblu is 'n binnenshuise navigasiesensor Meer oor oblu »

Die robot beweeg op 'n vooraf geprogrammeerde pad en stuur (oor bluetooth) sy werklike bewegingsinligting na 'n telefoon vir intydse opsporing. Arduino is vooraf geprogrammeer met pad en oblu word gebruik vir die waarneming van die beweging van die robot. oblu stuur bewegingsinligting gereeld na Arduino. Op grond hiervan beheer Arduino die wiele se bewegings sodat die robot die vooraf gedefinieerde pad kan volg.

Stap 1: 'N KORT INLEIDING

'N KORT INLEIDING
'N KORT INLEIDING

Die projek gaan daaroor om die robot op 'n vooraf gedefinieerde pad met presisie te laat beweeg, sonder om GPS of WiFi of Bluetooth te gebruik vir posisionering, nie eers kaart of uitlegplan nie. En teken die werklike pad (na die skaal), intyds. Die bluetooth kan gebruik word as 'n plaasvervanger vir die oordrag van intydse ligginginligting.

Stap 2: DIE INTERESSANTE AGTERGRONDSTORIE

DIE INTERESSANTE AGTERGRONDSTORIE
DIE INTERESSANTE AGTERGRONDSTORIE

Ons span se belangrikste agenda is om voetgangersnavigasiesensors op skoene te ontwikkel. Ons is egter genader deur 'n akademiese navorsingsgroep met die vereiste om binne -in die robot binne te navigeer en gelyktydig die intydse posisie daarvan te monitor. Hulle wou so 'n stelsel gebruik vir die kartering van bestraling in 'n geslote kamer of om gaslekke in 'n industriële opset op te spoor. Sulke plekke is gevaarlik vir mense. op soek na 'n robuuste oplossing vir binnenshuise navigasie van ons Arduino -gebaseerde robot.

Ons voor die hand liggende keuse vir enige bewegingsensormodule (IMU) was 'oblu' (verwys bo prentjie). Maar die moeilike deel hier was dat die bestaande firmware van Oblu in eenvoudige woorde geskik was vir voetgangers binne-in voetgangers-dooie afrekening (PDR) of voetgangersnavigasie. oblu se PDR-prestasie in die binnenshuise as 'n voetgemonteerde IMU is redelik indrukwekkend. Die beskikbaarheid van die Android-app (Xoblu) vir die real-time opsporing van oblu as skoensensor dra by tot die voordeel. Die uitdaging was egter om gebruik te maak van die bestaande algoritme wat gebaseer is op 'n menslike loopmodel, om deur die robot te navigeer en dit te monitor.

Stap 3: 'N KORT INLEIDING TOT "oblu"

Image
Image
STELSELBESKRYWING
STELSELBESKRYWING

"oblu" is 'n geminiaturiseerde, lae koste en open source ontwikkelingsplatform wat gerig is op draagbare bewegingswaarnemingstoepassings. Dit is 'n herlaaibare Li-ion-battery en kan USB-batterye aan boord laai. Dit het 'n ingeboude Bluetooth (BLE 4.1) module vir draadlose kommunikasie. "oblu" bied 'n 32-bis-dryfpunt-mikrokontroleerder (Atmel se AT32UC3C) aan waarmee komplekse navigasievergelykings aan boord opgelos kan word. Daarom voer 'n mens al die bewegingsverwerking uit op oblu self en stuur dit net die finale uitslag uit. Dit maak die integrasie van oblu met die geassosieerde stelsel uiters eenvoudig. 'oblu' bied ook 'n multi-IMU (MIMU) skikking aan, wat sensorfusie moontlik maak en die bewegingswaarnemingsprestasie verbeter. Die MIMU -benadering dra by tot die uniekheid van 'oblu'.

Die interne berekeninge van oblu is gebaseer op menslike loop. oblu gee verplasing tussen twee opeenvolgende stappe en verandering in koers. Hoe - as die voet met die grond in aanraking kom, is die snelheid van die sole nul, dit wil sê die sool staan stil. Op hierdie manier ontdek oblu 'stappe' en korrigeer 'n paar interne foute. En hierdie gereelde regstelling van foute lei tot uitstekende opsporingsprestasies. So hier lê die vangs. Wat as ons robot ook op dieselfde manier loop - beweeg, stop, beweeg, stop..in feite kan oblu gebruik word vir enige voorwerp waarvan die beweging gereelde nul- en nul -oomblikke het. So het ons met oblu vorentoe gegaan en in 'n japtrap kon ons ons robot en die opsporingstelsel bymekaarmaak.

Stap 4: WAT IS DIE NUTTIGHEID VAN "Oblu"?

Ons spandeer byna 70% van ons tyd binne. Daarom is daar baie toepassings wat binnenshuise navigasie van mense en masjiene vereis. Die mees algemene posisioneringsoplossing is satellietgebaseerde GPS/GNSS, wat goed is vir buitenshuise navigasie. Dit misluk in 'n binnenshuise omgewing of in 'n stedelike omgewing wat nie vir die helder lug toeganklik is nie. Sulke toepassings is geo-opname van krotbuurte of die gebiede onder swaar boomkap, binnenshuise navigasie van robotte, posisionering van reddingsagente vir brandbestryding, mynongelukke, stedelike oorlogvoering, ens.

Die voorganger van Oblu is bekendgestel as 'n baie kompakte skoen-sensor (of 'n PDR-sensor) vir die posisionering van brandbestryders, wat later opgegradeer en aangepas is as 'n hoogs konfigureerbare ontwikkelingsplatform vir die vervaardigers wat op soek is na maklik-akkurate- bekostigbare traagheidswaarnemingsoplossing vir binnenshuise navigasie van mense sowel as robotte. Tot dusver het die gebruikers van oblu die toepassings daarvan getoon in die opsporing van voetgangers, industriële veiligheid en hulpbronbestuur, taktiese polisiëring, geo-opname van GPS sonder gebied, selfnavigerende robot, hulpmiddels, spel, AR/VR, behandeling van bewegingsstoornisse, begrip van fisika bewegings, ens. oblu is geskik vir toepassings met ruimtebeperkings, bv drabare bewegingswaarneming. Danksy die ingeboude Bluetooth kan dit ook as 'n draadlose IMU gebruik word. Aanwesigheid van ingeboude dryfverwerkingsvermoë, saam met vier IMU's, maak sensorfusie en bewegingsverwerking moontlik binne die module self, wat weer baie akkurate bewegingswaarneming tot gevolg het.

Stap 5: DIE VERHAAL VAN DIE PROJEK

Image
Image

Die verhaal van hierdie projek is in die video …

Stap 6: STELSELBESKRYWING

Die robot beweeg op 'n vooraf geprogrammeerde pad en stuur (oor bluetooth) sy werklike bewegingsinligting na 'n telefoon vir intydse opsporing.

Arduino is vooraf geprogrammeer met pad en oblu word gebruik vir die waarneming van die beweging van die robot. oblu stuur bewegingsinligting gereeld na Arduino. Op grond hiervan beheer Arduino die wiele se bewegings sodat die robot die vooraf gedefinieerde pad kan volg.

Die pad van die robot is geprogrammeer as 'n stel reguit lynsegmente. Elke lynsegment word bepaal deur sy lengte en oriëntasie ten opsigte van die vorige segment. Die beweging van die robot word diskreet gehou, dit wil sê, dit beweeg in 'n reguit lyn, maar in kleiner segmente (laat ons eenvoudig 'stride' noem). Aan die einde van elke stap stuur oblu die lengte en omvang van die afwyking (verandering in oriëntasie) van die reguit lyn na Arduino. Arduino korrigeer die belyning van die robot by elke stap by die ontvangs van sodanige inligting, as dit afwyking vind van die vooraf gedefinieerde reguitlyn. Soos per program, is die robot altyd veronderstel om in 'n reguit lyn te beweeg. Dit kan egter van die reguitlyn afwyk en kan op 'n sekere hoek of skeef loop as gevolg van nie-idealiteite, soos ongelyke oppervlak, massa-wanbalans in die samestelling van robotte, argitektoniese of elektriese wanbalans in gelykmotors of die ewekansige oriëntasie van die voorste vryloopwiel. Neem 'n stap.. stel u koers reg … beweeg vorentoe. Die robot beweeg ook agteruit as hy meer as die geprogrammeerde lengte van die spesifieke lynsegment beweeg. Die robot neem groot stappe as die afstand wat afgelê moet word, groter is en neem kleiner stappe naby die bestemming (dit wil sê die einde van elke reguitlynsegment). oblu stuur data gelyktydig na Arduino en telefoon (via bluetooth). Xoblu (die Android-app) voer 'n paar eenvoudige berekeninge uit om die pad te bou, gebaseer op die bewegingsinligting wat die robot ontvang, wat gebruik word vir intydse opsporing op die telefoon. (Padkonstruksie met behulp van Xoblu word in die tweede prent geïllustreer).

Samevattend voel oblu beweging en kommunikeer dit gereeld met bewegingsinligting aan Arduino en telefoon. Op grond van die geprogrammeerde pad en die bewegingsinligting (gestuur deur oblu), beheer Arduino die wiele se bewegings. Die beweging van die robot word NIE op afstand beheer nie, behalwe vir begin/stop -opdragte.

Besoek https://sourceforge.net/p/openshoe/_list/git vir die firmware van oblu

Besoek https://github.com/vijkumsha/oblu_Robot vir die Aurduino -kode van die robot

Stap 7: WEGMODELLERING

PADMODELLERING
PADMODELLERING
PADMODELLERING
PADMODELLERING

Die robot kan die beste beheer word as dit slegs in reguit lynsegmente loop. Daarom moet die pad eers as 'n stel reguitlynsegmente gemodelleer word. Die foto's bevat 'n paar voorbeeldpaaie en hul voorstellings in terme van verplasing en oriëntasie. Dit is hoe die pad in Arduino geprogrammeer word.

Elke pad wat 'n stel reguitlynsegmente is, kan ook in Arduino gedefinieer en geprogrammeer word.

Stap 8: KRONITMONTERING

KRINGBANDMONTERING
KRINGBANDMONTERING

Die stelsel van integrasie op die hoogste vlak. Arduino en oblu is deel van die hardeware -samestelling. UART word gebruik vir kommunikasie tussen Arduino en oblu. (Let op die verbinding Rx/Tx -verbinding.) Die datastroom se rigting is slegs vir verwysing. Die hele hardeware -eenheid kommunikeer met die slimfoon (Xoblu) met behulp van bluetooth.

Stap 9: Kringloopdiagram

STROOMBAANDIAGRAM
STROOMBAANDIAGRAM

Die gedetailleerde elektriese verbindings tussen Arduino, oblu, motorbestuurder en battery.

Stap 10: KOMMUNIKASIEPROTOKOL:

Hieronder is hoe die datakommunikasie plaasvind tussen die oblu -sensor gemonteer op die robot en slimfoon, dit wil sê Xoblu:

Stap 1: Xoblu stuur START -opdrag na oblu Stap 2: oblu erken ontvangsopdrag deur toepaslike ACK na Xoblu te stuur Stap 3: oblu stuur DATA -pakkie met verplasing en oriëntasie -infomasie vir elke stap, by elke stap, na Xoblu. (stap = wanneer nulbeweging of stilstand opgespoor word). Stap 4: Xoblu erken dat hy die laaste DATA -pakkie ontvang het deur die toepaslike ACK na oblu te stuur. (Die siklus van stap 3 en 4 word herhaal totdat Xoblu STOP gestuur het. By ontvangs van die STOP -opdrag voer oblu stap 5 uit) Stap 5: STOP - (i) Stop verwerking in oblu (ii) Stop alle uitsette in oblu. Raadpleeg die aansoeknota van oblu vir besonderhede van START, ACK, DATA en STOP

Stap 11: HOE WERK 'BLU' IMU (opsioneel):

Ons gee 'n paar verwysings na die oorsig van Oblu en die basiese beginsel van werking van 'n voetgemonteerde PDR-sensor:

Die beskikbare bronkode van oblu is gerig op voetgemonteerde navigasie. En dit is die beste vir hierdie doel geoptimaliseer. Onderstaande video dek die basiese beginsel van werking:

Hier is 'n paar eenvoudige artikels oor voetgemonteerde PDR -sensors: 1. Volg my stappe

2. Gaan voort met my stappe

U kan hierdie dokument raadpleeg vir meer inligting oor die afrekening van voetgangers met voetsensors.

Stap 12: Besoek "oblu.io" (opsioneel)

Image
Image

Kyk na die video vir die moontlike toepassings van "oblu":

---------------- Deel asseblief u terugvoer, voorstelle en laat kommentaar. Beste wense!

Stap 13: KOMPONENTE

1 oblu ('n open source IMU -ontwikkelingsplatform)

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

1 Halwe grootte soldeerlose broodbord

1 Manlike/vroulike trui

2 Kondensator 1000 µF

1 Texas Instruments Dual H-Bridge-motorbestuurders L293D

1 Arduino Mega 2560 en Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH Herlaaibaar

Aanbeveel: