一種差速驅(qū)動(dòng)小車曲線行走方法
3.2 雙圓弧擬合曲線
給定曲線,在擬合的過程中,為了盡量接近給定曲線,并且在各段的連接點(diǎn)處曲線光滑相切,在這里選擇雙圓弧擬合法。
在理論曲線上依據(jù)需要的精度選擇列表點(diǎn),并計(jì)算出每點(diǎn)處的曲率半徑,根據(jù)其式(6)判斷其凹凸性,再對(duì)以下兩種情況進(jìn)行擬合:
(1)所需擬合曲線段內(nèi)沒有拐點(diǎn)
根據(jù)式(6),若所需擬合的曲線段的兩端點(diǎn)處的曲率半徑皆為同號(hào),即認(rèn)為曲線段內(nèi)沒有拐點(diǎn),如圖3所示。本文引用地址:http://m.butianyuan.cn/article/160260.htm
依據(jù)小車實(shí)際運(yùn)動(dòng)狀況,在具體擬合時(shí),提出如下擬合要求:
①擬合圓弧必須過列表點(diǎn);
②列表點(diǎn)兩側(cè)圓弧在列表點(diǎn)處光滑相切,且切線斜率與理論曲線在列表點(diǎn)處相等;
③兩相鄰列表點(diǎn)之間的兩段圓弧在圓弧與圓弧交接點(diǎn)處相切;
④曲線段內(nèi)過列表點(diǎn)的兩側(cè)圓弧半徑應(yīng)盡量與理論曲線在列表點(diǎn)處的曲率半徑接近。
在給定曲線上取列表點(diǎn)A,B,C,…,記它們的坐標(biāo)分別為(xA,yA),(xB,yB),(zC,yC),…,有:
根據(jù)式(7)可以求出各列表點(diǎn)處的法線斜率角θA,θB,θC,…,根據(jù)式(6)可以求出曲率半徑ρA,ρB,ρC,…,由這兩組數(shù)據(jù)可以求出理論曲線過列表點(diǎn)的各曲率中心的坐標(biāo)值。
對(duì)于曲線段AB,用兩段圓弧去擬合曲線段AB,圓弧的圓心分別在O1和O2,則半徑分別為O1A和O2B。O1和O2的坐標(biāo)分別為(X1,y1)和(x2,y2),為滿足之前提到的第①個(gè)和第②個(gè)要求,應(yīng)滿足關(guān)系式:
為滿足上述第③個(gè)要求,應(yīng)滿足以下關(guān)系式:
聯(lián)立式(8)、式(9),含有4個(gè)未知數(shù)x1,y1,x2,y2,但只有3個(gè)方程,故不能求解。為滿足上述第④個(gè)要求,以x1為優(yōu)化變量,以(|ρA|-O1A)2+(|ρB|-O2B)2為目標(biāo)函數(shù),于是雙圓弧擬合問題就轉(zhuǎn)化為以這3個(gè)方程為等約束條件,使目標(biāo)函數(shù)(|ρA|-O1A)2+(|ρB|-O2B)2趨于最小的優(yōu)化問題。具體過程是:以理論曲線過A點(diǎn)的曲率中心的x坐標(biāo)作為x1的初始值,應(yīng)用優(yōu)化算法,優(yōu)化x1,使得目標(biāo)函數(shù)趨于最小,最終得到的(x1,y1)和(x2,y2)就是用來擬合曲線段的最佳兩個(gè)圓弧的圓心坐標(biāo)。
評(píng)論