一種差速驅動(dòng)小車(chē)曲線(xiàn)行走方法
3.2 雙圓弧擬合曲線(xiàn)
給定曲線(xiàn)

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