2013-09-26 71 views
1

這可能是一個非常寬泛的問題,但是如果你能幫助我提出想法,那對我來說是一個很大的幫助。在matlab中避免障礙物的實現

我想在matlab中實現基本路徑尋找算法。我必須創建一個地圖,機器人可以導航,也可以避開障礙物併到達目的地。我的算法很好。但我在gui中掙扎,因爲我沒有在matlab中使用很多Gui。

這是我的想法。

我創建了一個情節,併爲每個障礙物定義了4個cood,目的地是一個圓圈和一個起點。但當我想如何檢測機器人是否遇到障礙時,我就陷入了困境。一種方法是創建線的方程式,並嘗試查看這個點是否會落在它上面。但該運動基於隨機生成的變量。因此,機器人可能穿過線並進入多邊形。

我很抱歉bein太精細了,但你能告訴我在matlab中實現這個最好的方法嗎?在MATLAB中這是強制性的。請給我一個更好更簡單的編程方法。提前致謝。

回答

2

如果您的障礙物都是多邊形,您可以嘗試使用以下維基百科網站上描述的光線投射算法。

Point in polygon algorithm

有了這個,你應該能夠確定機器人的位置位於障礙內,或者你可以決定是否下一個動作會帶來機器人與障礙物接觸。

如果你正在尋找一個簡單的算法,可以照顧的障礙本質上我建議勢場算法(可能會卡在某些情況下)

Potential Fields

否則你也可以嘗試在A *算法,這在我看來更好; Good description of A*