題:
知道後輪旋轉了多少次,以及每個時間間隔前輪的角度後,如何找到汽車的位置?
Daniel Sims
2015-01-21 04:41:57 UTC
view on stackexchange narkive permalink

我正在為Sparkfun AVC製作機器人。我很好奇我是否只能使用關於

  1. 在每個時間間隔如何操縱汽車的知識

  2. 如何車輪多次旋轉,

  3. ol>

    以大致了解汽車的位置。我會使用計算機視覺來避免眼前的危險。

    最大的問題是任何滑動都會導致計數錯誤。

我否決了這個問題,因為(沒有冒犯的意思)實際上是一個非常簡單的幾何/數學類型的問題,只需一點點微積分3知識就可以輕鬆解決。似乎更像是針對物理/數學類型站點的問題。
我現在不知道什麼是Sparkfun AVC,也許需要一些詳細說明,並且使您的問題標題更簡短,信息更豐富,會有所幫助。我認為,這是一個有趣的問題。
從機械的角度來看,您需要更多信息來回答這個問題。首先,哪個車輪被驅動(前輪,後輪,全部四個)?其次,如果是兩輪驅動,則是否連接了被動輪還是允許它們獨立旋轉?這些決定了它的複雜程度,以及您將在車輪上施加多少打滑。
後輪驅動帶差速器。前輪轉向,允許獨立旋轉。公平,彼得。我猜我不太確定前輪轉彎時汽車如何旋轉。汽車繞哪個軸旋轉?
@DanielSims:轎廂旋轉軸線是前後輪軸線的交點。儘管如此,打滑,輪胎橫向變形(取決於速度,負載,表面角度)等都會使測量值快速偏斜。使用積分計算位置非常容易出錯。我觀察了基於3D加速度計測量的位移測量項目;結果非常令人震驚。
五 答案:
peterh - Reinstate Monica
2015-01-21 05:57:21 UTC
view on stackexchange narkive permalink

我可以從您的想法中看到的主要問題是您的系統將出現累積錯誤。僅計算這一點是不夠的,您還必須找到替代解決方案。

在類似(但可能更大)的方案中,例如在無人機中,存在類似的問題。

解決方案是使用車輪旋轉計數器獲取快速,實時但有錯誤的輸入數據(也包含累積誤差)。如果是飛行無人機,則這些數據來自陀螺儀和加速度計,相較於它們,您的任務要簡單得多。 (對於無人機,通常是GPS)。這可以是GPS或其他東西-種類繁多。視覺圖像處理?預先校準的超聲波標記?

如果我正確懷疑您的實驗規模,也許最後一次對您來說最有希望。

是的,更不用說實際車輛除了打滑之外還會漂移。這意味著車輪方向並不足以告訴事物前進的方向。您可以使用加速度計等提高精度,並將其運行到卡爾曼濾波器中。即使如此,如果沒有某種形式的絕對位置測量,最終結果將遭受所描述的命運。
welf
2015-01-21 16:57:30 UTC
view on stackexchange narkive permalink

分階段進行,起初我們只考慮一個前輪,在任何方向上都沒有打滑,因此我們可以精確地連續測量旋轉位置和絕對角度。在這種情況下,計算當前位置(相對於我們的起點)是一個相對簡單的三角學和微積分問題。

不幸的是,我們不知道我們的絕對前輪角(除非我們可以隨意給它配備一個磁力計或類似設備),相反,我們知道前輪相對於車身的角度。我們可以有效地將其定義為具有樞轉前輪和固定後輪的自行車類型配置。現在可以從車身的絕對角度(等於後輪的角度)加上前輪與車身的相對角度來計算前輪的絕對角度。因此,根據我們對前輪的測量,需要進行額外的計算以確定後輪的絕對角度。這將取決於前後輪之間的距離(考慮一下單個自行車和縱排自行車之間轉彎圈的區別)。再次,這是三角學和微積分的問題,這一次是在車輛的參考框架中。

將其擴展到四輪車輛會引起復雜性,因為現在有些車輪必須打滑。我對此的心理印像是兩輛自行車並排放置,其中的桿將車架連接在一起,並採用某種機制確保其轉向同步。如果連接它們的桿很短,則幾乎不需要打滑。如果它們很長(使自行車分開),則前輪胎中的一個或兩個都需要側向滑動才能轉彎。車輪之間的行進距離也會有所不同。

從那時起,進一步的物理分析可能會涉及很多,並且將取決於每個車輪上的摩擦和質量。一種可行的方法可能是分別從兩個前輪的旋轉進行測量,然後在上述方程式的某個點取平均值。被考慮,或者我們的任何措施有誤。合併這些將需要您的車輛非常詳細的模型,更好的方法可能是將我們上面簡化的分析中的估計與使用卡爾曼濾波器或類似技術的其他傳感器的信息相融合。在這種情況下,可能值得考慮在濾波器中估計哪些狀態,因為將絕對方向作為顯式狀態包括在內並在計算中使用它可能會為您提供更好的位置總體估計。聰明的濾波器可能還會將滑動估計值作為其測量不確定性的一部分。

如果您有[ackermann轉向],則前輪胎無需打滑(https://en.wikipedia.org/wiki/Ackermann_steering_geometry)
jhabbott
2015-01-23 10:52:46 UTC
view on stackexchange narkive permalink

正確的方法是使用所謂的粒子過濾器

估計下一個位置的數學非常簡單,並且已經提供了其他答案那樣,但這就是您處理不確定性的方式。 此視頻很好地解釋了基本原理。您會注意到,您需要對與您的位置有關的某些方面進行測量,例如到已知物體的距離,指南針的讀數,可見標記的位置等。(為此,請使用計算機視覺,以及其他可以做到的事情)作為聲波測距儀)。不一定是完美的,粒子過濾器可以很好地處理“嘈雜”的測量結果和“嘈雜”(容易出錯)的位置預測。

還可以搜索“ slam粒子”過濾器”以獲取更多信息。

Fred
2015-01-21 05:35:57 UTC
view on stackexchange narkive permalink

了解車輪的直徑和車輪在一個時間間隔內的翻轉次數,將同時給出該時間間隔的行進距離和平均速度。

您必須進行連續監控該系統將記錄時間,車輪轉數和用於轉向的車輪角度,最有可能相對於車輛的中央縱軸。您將需要對轉向數據進行矢量化處理,並添加矢量以給出相對於車輛起始位置的位置。

HDE 226868
2015-01-21 08:01:11 UTC
view on stackexchange narkive permalink

基本等式為$$ \ text {行進的距離} = 2 \ pi r \ timesn $$其中$ r $是車輪的半徑,$ n $是車輪的轉數。

這個問題說,對於要行駛的汽車,$$ F_k>f_cG_k $$其中$ F_k $是施加動力到目前為止,$ f_c $是內聚係數,$ G_k $是車輪的重量加上車輛的重量。

因此總力為$$ \ sum F = F_k-f_cG_k $ $這會產生扭矩,$ \ tau $:$$ \ tau = Fr $$ So $$ \ tau =(f_k-f_cG_k)r = I \ alpha $$其中$ I $是車輪的慣性矩,而$ \ alpha $是角加速度。因此,$$ \ alpha = \ frac {(f_k-f_cG_k)r} {I} $$您必須事先測量$ f_c $,並且必須弄清楚結點($ F_c $)施加的力。但是,然後您可以使用運動學方法來計算出車輪實際將執行的旋轉次數:$$ \ theta = \ omega_0 t + \ frac {1} {2} \ alpha t ^ 2 $$其中$ \ theta $是數字轉數,$ \ omega_0 $是初始速度,$ t $是時間。因此,對於$ \ text {Distance traveled} = r \ theta $,您的等式應為$$ \ text {Distance traveled} = r \ left(\ omega_0t + \ frac {1} {2} \ left(\ frac {( f_k-f_cG_k)r} {I} \ right)t ^ 2 \ right)$$



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...