2012-08-03 141 views
1

如果不是正確的Stack Exchange網站,我很抱歉,我應該問這個問題,但在我看來,這與軟件編程密切相關,而不僅僅是電氣工程!如果它應該在其他地方,請告訴我。距離和角度機器人控制

我們假設我們想要控制一個2電動輪子機器人從點A到點B.假設我想通過提供它的距離和角度來控制我的機器人。

我可以先對角度進行控制,然後對距離進行控制,這樣機器人首先繞中心轉動(通過對一個輪子提供正向順序,對另一個輪子提供負向),然後移動到點B到達(通過向車輪提供兩個正向oders)。然而,如果我想讓機器人在一次移動中完成它,我希望同時控制兩個不同的控制值。這樣機器人在到達目的地之前確實有一條很好的曲線。這樣做,我向車輪提供了兩個積極的命令,並且我在一側增加了一個積極的命令,而另一側增加了一個積極的命令。

有了這最後的解決方案,我有一些麻煩,以瞭解如何達到正確的方向。

例如,如果我想向後走1米。我將把我的訂單設置爲B點:(1米,180度)。第一個解決方案沒有問題,首先完成角度,完成後,完成1米。 隨着第二種解決方案,我移動而我轉動,因此,曲線比有序的1米大,它停在1米後,而不是在B點。

我應該如何解決這個問題?你有什麼建議,或者我對這項技術不太瞭解?我試圖用一個小小的XNA遊戲模擬一個控制系統來嘗試解決方案,即使沒有任何機器人,所以隨時給你任何你可能覺得有趣的建議!

Al_th

回答

1

我不是完全有資格這樣回答自己,但有關於這一些偉大的材料上Udacity:http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/510040/Nugget/515042。 (負責谷歌自動駕駛汽車項目的)塞巴​​斯蒂安·斯倫(Sebastian Thrun)將會比我所能解釋的要好得多。

編輯:視頻中的示例假設爲自行車模型(僅限兩個輪子),因此它不直接適用於您的案例。但是,您可能會獲得一些可以使用的有價值的信息。

+0

感謝您的回答!對不起,延遲,但我沒有訪問互聯網:) – 2012-08-13 09:51:28

0

你可能想看看反饋linearizataion。我相信它在你使用的機器人類型之間略有不同,所以你應該尋找關於非完整機器人的東西。

0

這是什麼樣的機器人作爲其控制方案?通常,當您控制2輪差速驅動機器人時,您直接給它2個電機命令。並且您將使用輪底和輪半徑來確定機器人的旋轉中心。這不一定在機器人的中間。

正如你所提到的,通常有2個差速器驅動機器人的控制方案。鑑於您當前的位置和角度以及目標位置和角度,您可以:

  1. 轉彎,直行,轉彎。這是你描述的簡單情況。

  2. 計劃2點之間的平滑路徑。一般來說,這是一個平滑的樣條。但我認爲它也可以是分段圓形和線條。

通知我說「計劃」。或換句話說「搜索」。有兩種不同的方法來獲得2點。所以機器人需要選擇「最好」的給定一些指標,如轉彎半徑,最短路徑,不向後驅動等。

如果你不關心最終角度,就像我想的那樣,事情會更簡單一些你沒有。但通常非完整路徑規劃是一種痛苦。所以除非你的學習領域(http://scholar.google.com/scholar?hl=zh-CN & as_sdt = 0,22 & as_vis = 1 & q = nonholonomic + path + planning),我認爲大多數人只是使用案例1.

我認爲,即使在案例2中,向後直行是一種最佳的解決方案,可以在您身後行駛1米。除非你的指標之一是不要倒退。那麼如果出現某種螺旋,它可能會開車。我不知道如何在控制方案中表示這一點。對於車輪的電動機將像20到左輪,10到右輪。那麼左輪將緩慢減速,越來越接近右輪的速度。