Turinys:

Navigacija robotu su batų jutikliais, be GPS, be žemėlapio: 13 žingsnių (su nuotraukomis)
Navigacija robotu su batų jutikliais, be GPS, be žemėlapio: 13 žingsnių (su nuotraukomis)

Video: Navigacija robotu su batų jutikliais, be GPS, be žemėlapio: 13 žingsnių (su nuotraukomis)

Video: Navigacija robotu su batų jutikliais, be GPS, be žemėlapio: 13 žingsnių (su nuotraukomis)
Video: 2023 m. lapkričio 3 d. podcast'as: „Uber“ ir „Lyft“ vėl sugauti! 328 milijonų dolerių skandalas! 2024, Lapkritis
Anonim

Sekite apie: oblu yra patalpų navigacijos jutiklis Daugiau apie oblu »

Robotas juda iš anksto užprogramuotu keliu ir perduoda (per „Bluetooth“) savo faktinę judėjimo informaciją į telefoną, kad būtų galima sekti realiuoju laiku. „Arduino“yra iš anksto užprogramuotas keliu, o „oblu“naudojamas roboto judesiui stebėti. „oblu“reguliariai perduoda judėjimo informaciją „Arduino“. Remdamasis tuo, „Arduino“valdo ratų judesius, kad robotas galėtų sekti iš anksto nustatytą kelią.

1 žingsnis: TRUMPAS ĮVADAS

TRUMPAS ĮVADAS
TRUMPAS ĮVADAS

Projekto tikslas-priversti robotą tiksliai judėti iš anksto nustatytu keliu, nenaudojant GPS ar „WiFi“ar „Bluetooth“padėties nustatymui, net ne žemėlapiui ar pastato išdėstymo planui. Ir nubrėžkite jo tikrąjį kelią (pagal mastelį) realiuoju laiku. „Bluetooth“gali būti naudojamas kaip laido pakaitalas, perduodantis vietos informaciją realiuoju laiku.

2 žingsnis: ĮDOMA PAMOKA

ĮDOMI FONO PASAKA
ĮDOMI FONO PASAKA

Pagrindinė mūsų komandos darbotvarkė yra sukurti ant batų pritvirtintus pėsčiųjų navigacijos jutiklius. Tačiau į mus kreipėsi akademinė tyrimų grupė, reikalaudama naršyti roboto viduje ir tuo pačiu metu stebėti jo padėtį realiuoju laiku. Jie norėjo naudoti tokią sistemą radiacijos kartografavimui uždaroje kameroje arba aptiko dujų nuotėkį pramoninėje aplinkoje. Tokios vietos yra pavojingos žmonėms. ieškome tvirto mūsų „Arduino“pagrindu veikiančio roboto vidaus navigacijos sprendimo.

Mūsų akivaizdus bet kokio judesio jutiklio modulio (IMU) pasirinkimas buvo „oblu“(nuoroda aukščiau esančiame paveikslėlyje). Tačiau sudėtinga čia buvo ta, kad esama „oblu“programinė įranga buvo tinkama pėdomis montuojamam patalpų pėsčiųjų mirusiųjų skaičiavimui (PDR) arba pėsčiųjų navigacijai. „oblu“PDR našumas patalpose, kaip ant kojos montuojamas IMU, yra gana įspūdingas. Prieiga prie „Android“programos („Xoblu“), skirta oblu realiuoju laiku stebėti kaip batų jutiklį, padidina pranašumą. Tačiau iššūkis buvo panaudoti esamą algoritmą, pagrįstą žmogaus ėjimo modeliu, norint naršyti robotą ir jį stebėti.

3 žingsnis: trumpas įvadas į „oblu“

Image
Image
SISTEMOS APRAŠYMAS
SISTEMOS APRAŠYMAS

„oblu“yra miniatiūrinė, nebrangi ir atviro šaltinio kūrimo platforma, skirta nešiojamiems judesio jutikliams. Tai įkraunama ličio jonų baterija ir leidžia įkrauti USB bateriją. Jis turi įmontuotą „Bluetooth“(BLE 4.1) modulį belaidžiam ryšiui. „oblu“turi 32 bitų slankiojo kablelio mikrovaldiklį („Atmel“AT32UC3C), kuris leidžia išspręsti sudėtingas navigacijos lygtis. Todėl visi judesiai apdorojami pačiame oblu ir perduodamas tik galutinis rezultatas. Tai labai palengvina oblu integravimą su asocijuota sistema. „oblu“taip pat turi daugialypį IMU (MIMU) masyvą, kuris leidžia susilieti jutiklius ir pagerina judesio jutimo našumą. MIMU metodas papildo „oblu“unikalumą.

„oblu“vidiniai skaičiavimai grindžiami žmogaus ėjimu. oblu suteikia poslinkį tarp dviejų iš eilės einančių veiksmų ir antraštės pakeitimo. Kaip - kai pėda liečiasi su žeme, pado greitis lygus nuliui, t.y. padas stovi. Tokiu būdu oblu aptinka „žingsnius“ir ištaiso kai kurias vidines klaidas. Šis dažnas klaidų taisymas lemia puikų stebėjimo našumą. Taigi čia yra laimikis. O kas, jei mūsų robotas taip pat vaikščioja tuo pačiu būdu - judėti, sustoti, judėti, sustoti … Tiesą sakant, oblu gali būti naudojamas bet kuriam objektui, kurio judėjimas turi reguliarius nulinius ir nulinius momentus. Taigi mes judėjome į priekį su oblu ir greitai surinkome savo robotą ir sekimo sistemą.

4 žingsnis: KAS YRA „oblu“NAUDINGUMAS?

Beveik 70% savo laiko praleidžiame uždarose patalpose. Todėl yra daug programų, kurioms reikalinga žmonių ir mašinų navigacija patalpose. Dažniausiai naudojamas padėties nustatymo sprendimas yra palydovinė GPS/GNSS, tinkanti navigacijai lauke. Jis neveikia patalpoje ar miesto aplinkoje, kur negalima pasiekti giedro dangaus. Tokios programos yra lūšnynų ar teritorijų po sunkiu medžių lapavimu geografinis tyrimas, robotų navigacija patalpose, gelbėjimo agentų išdėstymas priešgaisrinėms, kasybos avarijoms, miesto karui ir kt.

„Oblu“pirmtakas buvo pristatytas kaip labai kompaktiškas batų jutiklis (arba PDR jutiklis), skirtas gaisrininkų padėčiai nustatyti, kuris vėliau buvo patobulintas ir modifikuotas kaip labai lengvai sukonfigūruojama kūrimo platforma gamintojams, kurie ieško lengvo ir tikslaus. prieinamas inercijos jutimo sprendimas, skirtas žmonių ir robotų navigacijai patalpose. Iki šiol „oblu“vartotojai pademonstravo savo pritaikymą sekant pėsčiuosius, pramonės saugą ir išteklių valdymą, taktinę policiją, GPS neturinčios teritorijos geografinį tyrimą, savarankiškai naršantį robotą, pagalbinę robotiką, žaidimus, AR/VR, judėjimo sutrikimų gydymą, fizikos supratimą. judesio ir tt oblu tinka programoms, kuriose yra ribotos erdvės, pvz nešiojamas judesio jutimas. Jis taip pat gali būti naudojamas kaip belaidis IMU, naudojant įmontuotą „Bluetooth“. Borto slankiojo kablelio apdorojimo galimybė kartu su keturiais IMU masyvu leidžia jutikliui sulieti ir judesį apdoroti pačiame modulyje, o tai savo ruožtu lemia labai tikslų judesio jutimą.

5 žingsnis: PROJEKTO ISTORIJA

Image
Image

Šio projekto istorija yra vaizdo įraše…

6 žingsnis: SISTEMOS APRAŠYMAS

Robotas juda iš anksto užprogramuotu keliu ir perduoda (per „Bluetooth“) savo faktinę judėjimo informaciją į telefoną, kad būtų galima sekti realiuoju laiku.

„Arduino“yra iš anksto užprogramuotas keliu, o „oblu“naudojamas roboto judesio jutimui. „oblu“reguliariai perduoda judėjimo informaciją „Arduino“. Remdamasis tuo, „Arduino“valdo ratų judesius, kad robotas galėtų sekti iš anksto nustatytą kelią.

Roboto kelias yra užprogramuotas kaip tiesių linijų segmentų rinkinys. Kiekvienas linijos segmentas apibrėžiamas pagal jo ilgį ir orientaciją, palyginti su ankstesne. Roboto judesys yra diskretiškas, t. Y. Jis juda tiesia linija, bet mažesniais segmentais (paprastumo dėlei galime vadinti „žingsniais“). Kiekvieno žingsnio pabaigoje oblu perduoda žingsnio ilgį ir nukrypimo mastą (orientacijos pasikeitimą) iš tiesios į Arduino. „Arduino“koreguoja roboto derinimą kiekviename žingsnyje gavus tokią informaciją, jei nustato nukrypimą nuo iš anksto nustatytos tiesios linijos. Pagal programą robotas visada turėtų judėti tiesia linija. Tačiau jis gali nukrypti nuo tiesios linijos ir eiti tam tikru kampu arba pasvirusiu keliu dėl neidealumų, pvz., Nelygaus paviršiaus, roboto surinkimo masės disbalanso, nuolatinės srovės variklių architektūrinio ar elektros disbalanso arba atsitiktinio priekinio rato orientacijos. Ženkite vieną žingsnį.. pataisykite savo kryptį … eikite į priekį. Robotas taip pat juda atgal, jei jis nukeliauja daugiau nei užprogramuotas to konkretaus linijos segmento ilgis. Kitas žingsnio ilgis priklauso nuo likusio atstumo, kurį reikia įveikti toje tiesėje. Robotas žengia didelius žingsnius, kai nuvažiuojamas atstumas yra didesnis, ir mažesnius žingsnius arti paskirties vietos (t. Y. Kiekvieno tiesios atkarpos pabaigos). „oblu“vienu metu perduoda duomenis į „Arduino“ir telefoną (per „Bluetooth“). „Xoblu“(„Android“programa) atlieka paprastą skaičiavimą, kad sukurtų kelią pagal judėjimo informaciją, gautą iš roboto, kuri naudojama realiuoju laiku sekti telefone. (Kelio konstrukcija naudojant „Xoblu“pavaizduota antrame paveikslėlyje).

Apibendrinant galima pasakyti, kad oblu jaučia judesį ir reguliariai perduoda judėjimo informaciją „Arduino“ir telefonui. Remdamasis užprogramuotu keliu ir informacija apie judėjimą (siunčiamas oblu), „Arduino“valdo ratų judesius. Roboto judėjimas NĖRA nuotoliniu būdu valdomas, išskyrus paleidimo/sustabdymo komandas.

Norėdami gauti oblu programinės įrangos, apsilankykite

Norėdami gauti roboto Aurduino kodą, apsilankykite

7 žingsnis: KELIŲ MODELIAVIMAS

KELIŲ MODELIAVIMAS
KELIŲ MODELIAVIMAS
KELIŲ MODELIAVIMAS
KELIŲ MODELIAVIMAS

Robotas galėtų būti geriausiai valdomas, jei jis eitų tik tiesiomis linijomis. Todėl kelias pirmiausia turi būti sumodeliuotas kaip tiesių linijų segmentų rinkinys. Paveikslėliuose yra keli pavyzdiniai keliai ir jų atvaizdai poslinkio ir orientacijos požiūriu. Taip kelias užprogramuotas „Arduino“.

Panašiai bet kurį kelią, kuris yra tiesių linijų segmentų rinkinys, galima apibrėžti ir užprogramuoti „Arduino“.

8 veiksmas: grandinės surinkimas

SROVĖS SURINKIMAS
SROVĖS SURINKIMAS

Aukščiausio lygio sistemos integravimo schema. „Arduino“ir „oblu“yra aparatūros surinkimo dalis. UART naudojamas bendravimui tarp „Arduino“ir „oblu“. (Atkreipkite dėmesį į ryšio Rx/Tx ryšį.) Duomenų srauto kryptis yra tik nuoroda. Visa aparatūros sąranka palaiko ryšį su išmaniuoju telefonu („Xoblu“) naudojant „Bluetooth“.

9 veiksmas: grandinės diagrama

GRANDINĖS DIAGRAMA
GRANDINĖS DIAGRAMA

Išsamios elektros jungtys tarp „Arduino“, „oblu“, variklio tvarkyklės ir akumuliatoriaus.

10 veiksmas: KOMUNIKACIJOS PROTOKOLAS:

Žemiau pateikiama, kaip vyksta duomenų perdavimas tarp robote sumontuoto oblu jutiklio ir išmaniojo telefono, t. Y. „Xoblu“:

1 veiksmas: „Xoblu“siunčia komandą „START“į „oblu“2 veiksmas: „oblu“patvirtina, kad gavo komandą, siunčiant „Xoblu“atitinkamą ACK. (žingsnis = kai aptinkamas nulis judesio arba aptinkamas sustojimas). 4 žingsnis: „Xoblu“patvirtina, kad gavo paskutinį DATA paketą, nusiųsdamas oblu atitinkamą ACK. (3 ir 4 žingsnių ciklas kartojamas tol, kol Xoblu atsiunčia STOP. Gavęs STOP komandą, oblu vykdo 5 veiksmą) 5 žingsnis: STOP - (i) Sustabdyti apdorojimą oblu (ii) Sustabdyti visus oblu išėjimus. išsami informacija apie START, ACK, DATA ir STOP

11 veiksmas: KAIP VEIKIA „oblu“IMU (neprivaloma):

Pateikiame keletą nuorodų apie „oblu“apžvalgą ir pagrindinį ant kojos sumontuotų PDR jutiklių veikimo principą:

Galimas „oblu“šaltinio kodas skirtas navigacijai ant kojos. Ir geriausiai tam optimizuotas. Žemiau esančiame vaizdo įraše aprašomas jo pagrindinis veikimo principas:

Štai keletas paprastų straipsnių apie ant kojų montuojamus PDR jutiklius: 1. Sekite mano žingsnius

2. Toliau stebėkite mano žingsnius

Šiame dokumente galite rasti išsamios informacijos apie pėsčiųjų mirčių skaičiavimą naudojant pėdų jutiklius.

12 veiksmas: apsilankykite „oblu.io“(neprivaloma)

Image
Image

Žiūrėkite vaizdo įrašą apie galimas „oblu“programas:

---------------- Prašome pasidalinti savo atsiliepimais, pasiūlymais ir palikti komentarus. Geriausi linkėjimai!

13 žingsnis: KOMPONENTAI

1 oblu (atviro šaltinio IMU kūrimo platforma)

1 „Smart Motor Robot“automobilio akumuliatoriaus dėžės važiuoklės komplektas „pasidaryk pats“greičio kodavimo įrenginys, skirtas „Arduino“

1 Lydmetalinė duonos lentos pusė dydžio

1 vyriškas/moteriškas trumpiklis

2 Kondensatorius 1000 µF

1 „Texas Instruments Dual H-Bridge“variklio tvarkyklės L293D

1 „Arduino Mega 2560“ir „Genuino Mega 2560“

4 „Amazon Web Services AA 2800 Ni-MH“įkraunama

Rekomenduojamas: