汪慧玲
(咸寧職業(yè)技術(shù)學(xué)院,湖北 咸寧 437100)
隨著科技的發(fā)展,機(jī)器人時(shí)代到來了。機(jī)器人的工作效率的提高與機(jī)器人行走時(shí)如何避開障礙物,選擇最短路徑緊密相關(guān)。給出如下場景:除了障礙物以外指定一點(diǎn)為機(jī)器人要到達(dá)的目標(biāo)點(diǎn),其中障礙物與目標(biāo)點(diǎn)的距離至少超過L個(gè)單位。同時(shí)機(jī)器人的行走路徑由圓弧和直線段組成,其中機(jī)器人轉(zhuǎn)彎時(shí)走的是圓弧,因?yàn)椴荒茏哒劬€轉(zhuǎn)彎,所以轉(zhuǎn)彎時(shí)由直線和與其相切的一段圓弧構(gòu)成,也可以由多個(gè)相切的圓弧相連接組成,但每個(gè)圓弧的半徑最小為l個(gè)單位。機(jī)器人在行走時(shí),與障礙物之間的距離至少為l個(gè)單位,否則發(fā)生碰撞,一旦發(fā)生碰撞,機(jī)器人就不能完成正常行走。針對(duì)這個(gè)具體問題,筆者進(jìn)行了一些探討。
1.猜想:如圖1
圖1
用MATLAB數(shù)學(xué)軟件擬合得到圖形2
圖2
2.機(jī)器人避障問題實(shí)例分析1:O→A的最短路徑求解
如圖3(簡化圖形),以P(80,210)的圓心,l=10個(gè)單位為半徑做圓,點(diǎn)P是正方形的左上頂點(diǎn),A(300,300).做圓P的切線OE與圓P相交于點(diǎn)E(x1,y1),做圓P的切線AF與圓P相交于點(diǎn)F(x2,y2)。
圖3
利用簡單的幾何知識(shí)可列出以下等式:
通過MATLAB求解得出
解得直線AF的解析式為y=0.36x+191.76
起點(diǎn)坐標(biāo)終點(diǎn)坐標(biāo)路徑長度線段一(0,0)(70.51,213.14)224.50弧長一(70.51,213.14)(76.61,219.41)9.05線段二(76.61,219.41)(300,300)237.49
所以總的路徑長為224.50+9.05+237.49=471.04。則編號(hào)為6的三角形的右下頂點(diǎn)到線段AF的最短距離為22.06可以通過,EF的弧長為9.05,線段OE的長為224.50,線段AF的長為237.49。則點(diǎn)O運(yùn)動(dòng)到點(diǎn)A的路徑長為471.04。
1.機(jī)器人由A點(diǎn)出發(fā)經(jīng)過M點(diǎn)后再到B點(diǎn),因?yàn)闄C(jī)器人不可以走折線,經(jīng)過M點(diǎn)時(shí)候,使M點(diǎn)位于半徑為 的動(dòng)圓的圓周上變動(dòng),如圖4
圖4
通過建立一個(gè)非線性規(guī)劃模型,可以求出變動(dòng)圓的圓心c(xc,yc)為:
2.機(jī)器人避障問題實(shí)例分析2:求O→A→B→C→O的最短路徑的求解,
根據(jù)以上對(duì)從一點(diǎn)出發(fā)經(jīng)過某一點(diǎn)到達(dá)另外一點(diǎn)的最短路徑的求證,可以作出機(jī)器人行走的路徑方式,每個(gè)經(jīng)過的中間點(diǎn)都位于以10個(gè)單位為半徑的圓周上。
類似實(shí)例一的計(jì)算方法,結(jié)合以上非線性規(guī)劃模型,可以得到每一段直線和相應(yīng)的圓弧的長度,從而得到機(jī)器人行走的最短路徑。詳細(xì)數(shù)據(jù)列舉如下
起點(diǎn)坐標(biāo)終點(diǎn)坐標(biāo)路線長度直線一(0,0)(69.96,207.73)224.5圓弧一(69.96,207.73)(69.91,211.87)9.54直線二(69.91,211.87)(76.07,219.75)236.36圓弧二(76.07,219.75)(300.07,300.07)14.34
總的路徑長為2828.18,因此O→A→B→C→O的最短路徑長為2715.12.
本文主要是在直線與圓相切而銜接的結(jié)構(gòu)中,通過MATLAB數(shù)學(xué)軟件作圖證明得出機(jī)器人轉(zhuǎn)彎時(shí),沿最小半徑的圓的切線走才為最短路徑。利用解析幾何的知識(shí)求出各個(gè)切點(diǎn)的坐標(biāo),結(jié)合兩點(diǎn)之間的距離公式以及弧長公式分別算出線段和圓弧的長度,從而求得機(jī)器人避開障礙物由起點(diǎn)行走到另外一點(diǎn)的最短路徑。針對(duì)機(jī)器人由起點(diǎn)行走經(jīng)過途中若干個(gè)指定點(diǎn)最后到達(dá)終點(diǎn)的情況,在動(dòng)圓半徑不變的情況下,為了求的最短路徑,建立了非線性規(guī)劃數(shù)學(xué)模型求解。都通過MATLAB數(shù)學(xué)軟件計(jì)算,給計(jì)算帶來了快速便捷。試想將機(jī)器人在平面場景中行走的問題拓展到空間區(qū)域中。
參考文獻(xiàn):
[1]王新成.機(jī)器人避障路徑的規(guī)劃模型[J].溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,(01):14~15.
[1]姜啟源,謝金星,葉俊.數(shù)學(xué)模型9M].北京:高等教育出版社,2003.
[1]梁弘,翟步祥.高等數(shù)學(xué)基礎(chǔ)[M].北京:北京交通大學(xué)出版社,2006.
[1]王沫然.MATLAB與科學(xué)計(jì)算[M].北京:電子工業(yè)出版社,2003.