摘要:本文對2012年全國大學生數學建模競賽D題進行了改
編,并從實際情況出發進行圖形數據處理、模型建立、模型求解。
關鍵詞:最短路徑 matlab 線圓模型 動態規劃
1 機器人避障問題轉化為數學問題
2012年全國大學生數學建模競賽D題為一道機器人避障問題,即要求機器人在給定區域內成功繞過障礙物并到達目標點。這道題目考查了大學生的綜合分析能力和解決問題的能力,要求其靈活運用數學知識解決現實生活中的具體問題。本文試圖通過建立數學模型的方式分析和解決這一問題。首先,我們先設計一張平面場景示意圖,規定其為機器人的限定活動區域。其中,場景圖的規格為800×800,設機器人的起點為原點,即(0,0)。假設我們在12個形狀不同的區域內設置了障礙物。機器人在活動時不得與障礙物發生碰撞,否則將無法正常行走。為進一步明確機器人的行走狀況和障礙物的分布特征,我們制作了表格。(表1)
求解問題一:以下給出了O到各目標點的可能路徑的最短路徑:
①如圖5,解決的就是O到目標點A的最短路徑問題,共有兩種路徑走法。線路(1)走法的路徑長度為471.0327;線路(2)走法的路徑長度為490.8325。所以OA的最短路徑走法為路線(1),路徑為471.0327。
②如圖6,圖中給出了四條可能的最短避障路徑。我們可以一一計算,并進行對比,最終得到O到B的最優路徑。線路(1)的路徑為824.6960。線路(2)的路徑為852.7。線路(3)的路徑為945.3287。線路(4)的路徑為1050.2591。所以線路(1)為OB的最短路徑,OB路徑為824.6960。
③如圖7,圖中給出了O到C的四條可能最短路徑,取最小結果路徑為最優路徑。計算線路(1)和線路(2)時由于有特殊的圓形障礙物所以建立了線圓結構模型五,結合模型一二三四可以求出各個路徑的長度。由計算結果可知道:路線(1)的路徑為1035.1;路線(2)的路徑為1026.33;路線(3)結合模型一二三可以求得的路徑為1090.1352;路線(4)結合模型一二三四可以求得路徑為1073.5。所以OC的最短路徑為線路(2):1026.33。
④對于問題OABCO路徑的求解我們采用模型六的方法給出了兩種可能的最短路徑。
結合上述幾個模型可得出:線路(1)的路徑長度為2620.5;線路(2)的路徑長度為2714.5,所以OABCO的最短路徑為線路(1)所求長度為2620.5。
求解問題二:我們首先可知,當弧度越大時其速度就越快,但是當弧度大到一定范圍時總長度L就會越長,此時就會影響最短時間。設O1(x,y)半徑為R,因為我們假設最小危險距離為10,所以我們先設OO1=a、O1A=b、OA=c、∠OO1A=j1、∠OO1E=j2、∠AO1F=j3、∠EO1F=j4所以可知圓O1與外面一個小危險區域組成的圓記作O2相內切。并且為保證總長度L最短得出:最短時間 Tmin=94.2285。
參考文獻:
[1]譚永基.數學模型[M].上海:復旦大學出版社,2011.
[2]汪子蓮.機器人避障模型 [J].蘭州工業學院學報,2014(01).
[3]顧幸方,陳晉音.移動機器人未知環境避障研究[J].傳感器與微系統,2011(05).
作者簡介:
陳楊林(1974-),男,江西九江人,研究生,教師,研究方向:應用數學。