Küsimus:
Teades, kui mitu korda on tagarattad pööranud ja esirataste nurk iga ajaintervalli järel, kuidas auto asukohta leida?
Daniel Sims
2015-01-21 04:41:57 UTC
view on stackexchange narkive permalink

Valmistan Sparkfun AVC jaoks roboti. Mul oli huvi, kas saaksin kasutada ainult teadmisi selle kohta, kuidas

  1. kuidas autot iga ajaintervalli juures juhitakse?

  2. Kuidas mitu korda on rattad pööranud,

et saada üldine arusaam auto asukohast. Vahetute ohtude vältimiseks kasutaksin arvutinägemist.

Suurim probleem on igasugune libisemine, mis põhjustab valelugemist.

Hääletasin selle küsimuse maha, sest (ükski solvang ei tähendanud) on tegelikult üsna lihtne geomeetriline / matemaatiline küsimus, mida saab hõlpsasti lahendada vähese arvutuse 3 abil. Tundub pigem selline küsimus füüsika / matemaatika tüüpi saidi jaoks.
Ma ei tea nüüd, mis on Sparkfun AVC, võib-olla natuke täpsustusi ja teie küsimuse pealkirja lühemaks ja informatiivsemaks muutmine võiks palju aidata. Ma arvan, et see on huvitav küsimus.
Mehaanilisest vaatepunktist vastamiseks vajate natuke rohkem teavet. Esiteks, millised rattad on mootoriga (eesmised, tagumised, kõik neli)? Teiseks, kas see on kaherattaline, kas passiivsed rattad on ühendatud või lastakse neil iseseisvalt pöörelda? Need määravad, kui keeruline see on ja kui palju libisete ratastele.
Diferentsiaaliga tagavedu. Esiratta juhtimine, lubatud iseseisvalt pöörelda. Piisavalt aus, Peter. Ma pole vist päris kindel, kuidas auto pöörleb, kui esirattad pöörlevad. Mis telje ümber auto pöörleb?
@DanielSims: Auto pöörlemistelg on esi- ja tagarataste telje ristumiskoht. Sellest hoolimata moonutavad libisemine, rehvi külgmised moonutused (sõltuvalt kiirusest, koormusest, pinna nurgast) jne kiiresti mõõtmist. Integreerimise kasutamine asukoha arvutamiseks on väga veaohtlik. Olen jälginud 3D kiirendusmõõturi mõõtmistel põhinevat nihke mõõtmise projekti; tulemused olid väga jõukohased.
Viis vastused:
#1
+6
peterh - Reinstate Monica
2015-01-21 05:57:21 UTC
view on stackexchange narkive permalink

Põhiprobleem, mida näen teie idees, et teie süsteemil on kumulatiivne viga. Ainult selle arvutamisest ei piisa, peate leidma ka alternatiivsed lahendused.

Sarnastes (kuid võib-olla suuremates) stsenaariumides, näiteks droonide puhul, on sarnane probleem.

Lahendus on rataste pöörlemisloendurite kasutamine kiire, reaalajas, kuid lollakas sisendandmete saamiseks (mis sisaldab ka kumulatiivset viga). Lendavate droonide puhul pärinevad need andmed güroskoopidest ja kiirendusmõõturitest, teie ülesanne on nende omadega võrreldes palju lihtsam.

Kuid peaksite hankima ka alternatiivse teabeallika! (Droonide puhul on see tavaliselt GPS). See võib olla GPS või mõni muu asi - võimalusi on väga erinevaid. Visuaalne pilditöötlus? Eelkalibreeritud ultrahelimarkerid? Markermaalid põrandal?

Kui ma kahtlustan teie katse suurust õigesti, oleks võib-olla viimane teile kõige lootustandvam.

Õige, rääkimata asjaolust, et lisaks libisemisele triivivad ka reaalsed sõidukid. See tähendab, et ratta suund ei ole üksi piisav, et öelda, kuhu asi läheb. Täpsust võiks suurendada kiirendusmõõturiga vms ja käivitada see Kalmani filtrisse. Isegi nii kannataks tulemus kirjeldatud saatuse lõpuks ilma mingisuguse absoluutse positsiooni mõõtmiseta.
#2
+6
welf
2015-01-21 16:57:30 UTC
view on stackexchange narkive permalink

Kui vaadata seda etapiviisiliselt, võib esialgu arvestada ainult ühe esirattaga, millel pole libisemist üheski suunas, kus meil on täpne pidev mõõde nii pöördeasendis kui ka absoluutnurgas. Sel juhul on praeguse positsiooni arvutamine (meie alguspunkti suhtes) suhteliselt sirgjooneline trigonomeetria ja arvutusprobleem.

Kahjuks ei tea me oma esiratta absoluutset nurka (välja arvatud juhul, kui meil on vabadus seda varustada magnetomeeter vms), selle asemel teame oma esiratta nurka sõiduki kere suhtes. Saame seda tõhusalt määratleda kui jalgratta tüüpi konfiguratsiooni, millel on pööratav esiratas ja fikseeritud tagaratas. Esiratta absoluutse nurga saab nüüd arvutada kere absoluutse nurga (võrdne tagaratta nurga) ja esiratta suhtelise nurga kere järgi. Seetõttu on tagaratta absoluutse nurga määramiseks vaja täiendavat arvutust, lähtudes meie mõõtmistest esiratta järgi. See sõltub esi- ja tagarataste vahekaugusest (selle pildistamiseks arvestage ühe ratta ja tandemi vaheliste pöörderingide erinevust). Jällegi on see trigonomeetria ja arvutusprobleem, seekord sõiduki võrdlusraamis.

Selle laiendamine neljarattalisele sõidukile tekitab komplikatsioone, kuna mõned rattad peavad nüüd libisema. Minu vaimne pilt selle kohta on kaks jalgratast kõrvuti, vardad ühendavad raamid omavahel ja mingi mehhanism tagab nende juhtimise sünkroniseerimise. Kui neid ühendavad vardad on lühikesed, on vaja libisemist väga vähe. Kui need on väga pikad (muutes jalgrattad üksteisest kaugele), peab üks või mõlemad esirehvid tihedate pöörete tegemiseks külgsuunas libisema. Läbitud vahemaad erinevad ka rataste vahel.

Edasine füüsiline analüüs sellest punktist on tõenäoliselt väga kaasatud ja sõltub iga ratta hõõrdumisest ja massist. Praktiline lähenemisviis võib olla mõõtmiste võtmine kahe esiratta pöörlemisest eraldi ja seejärel nende keskmine arvutamine eespool käsitletud võrrandite ühes punktis. kaalutakse või kui mõni meie meetmetest on ekslik. Nende lisamine eeldaks teie sõiduki väga üksikasjalikku mudelit ja parem lähenemine oleks tõenäoliselt ühendada meie ülaltoodud lihtsustatud analüüsi hinnang teiste Kalmani filtrit või muud sarnast kasutavate andurite andmetega. Sel juhul tasub kaaluda, milliseid olekuid teie filtris hinnatakse, kuna absoluutse orientatsiooni lisamine selgesõnaliseks olekuks ja selle kasutamine arvutuste tegemisel võib anda teile parema positsiooni üldhinnangu. Nutikas filter võib sisaldada ka libisemise hinnangut mõõtemääramatuse osana.

Esirehvid ei pea libisema, kui teil on [ackermanni roolimine] (https://et.wikipedia.org/wiki/Ackermann_steering_geometry)
#3
+4
jhabbott
2015-01-23 10:52:46 UTC
view on stackexchange narkive permalink

Õige viis on seda teha nn osakeste filtrina.

Järgmise positsiooni hindamise matemaatika on üsna lihtne ja teised vastused on juba antud seda, kuid nii saate ebakindlusega hakkama. See video selgitab põhiprintsiipi üsna hästi. Märkate, et peate mõõtma mõningaid aspekte, mis on seotud teie asukohaga, näiteks kaugus teadaolevatest objektidest, kompassi lugemine, nähtavate märkide asukoht jne. (Selleks kasutage oma arvutinägemist ja kõike muud, mida saate kui helivahemiku leidjad). See ei pea olema täiuslik, osakestefilter tegeleb tõeliselt hästi lärmakate mõõtmiste ja mürarikaste (veaohtlike) prognoosidega teie asukoha kohta.

Otsige ka märksõna "slam particle" filter ", et saada lisateavet.

#4
+3
Fred
2015-01-21 05:35:57 UTC
view on stackexchange narkive permalink

Teades rataste läbimõõtu ja rataste ajavahemikus ümberpööramiste arvu, saadakse nii ajavahemiku jooksul läbitud vahemaa kui ka keskmine kiirus.

Teil peaks olema pidev jälgimine süsteem, mis registreeriks aja, ratta pöörete ja roolimiseks kasutatavate rataste nurga, tõenäoliselt sõiduki keskpikitelje suhtes. Peate vektoriseerima rooliandmed ja lisama vektorid, et anda asukoht sõiduki lähteasukoha suhtes.

#5
+3
HDE 226868
2015-01-21 08:01:11 UTC
view on stackexchange narkive permalink

Põhivõrrandiks oleks $$ \ text {Läbisõit} = 2 \ pi r \ korda n $$, kus $ r $ on ratta raadius ja $ n $ on ratta pöörete arv. See eeldab siiski, et libisemist pole.

See küsimus ütleb, et auto liikumiseks on $$ F_k>f_cG_k $$, kus $ F_k $ on rakendatud jõud, mis liigutab kaugel on $ f_c $ sidususkoefitsient ja $ G_k $ on ratta kaal pluss sõiduki kaal.

Seega on kogu jõud $ $ \ summa F = F_k-f_cG_k $ $ See annab pöördemomendi, $ \ tau $: $$ \ tau = Fr $$ Nii $$ \ tau = (f_k-f_cG_k) r = I \ alpha $$ kus $ I $ on ratta inertsi hetk ja $ \ alpha $ on nurkkiirendus. Nii et $$ \ alpha = \ frac {(f_k-f_cG_k) r} {I} $$ Te peate eelnevalt mõõtma $ f_c $ ja peate välja selgitama eninge rakendatava jõu ($ F_c $). Siis saate kinemaatika abil välja selgitada, mitu pööret auto ratas tegelikult teeb: $$ \ theta = \ omega_0 t + \ frac {1} {2} \ alpha t ^ 2 $$, kus $ \ theta $ on number pööretest on $ \ omega_0 $ algkiirus ja $ t $ on aeg. Seega, kui $ \ text {Läbitud vahemaa} = r \ theta $, peaks teie võrrand olema $$ \ text {Läbitud vahemaa} = r \ left (\ omega_0t + \ frac {1} {2} \ left (\ frac {( f_k-f_cG_k) r} {I} \ paremal) t ^ 2 \ paremal) $$



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...