高柳
【摘要】 全向輪底盤可以實現平面內三個自由度的運動,,靈活性強,易于控制。而貝塞爾曲線在曲線規劃路徑時有,不僅計算簡單,形態多樣,且其控制點控制端點切向的能力使兩端曲線之間的銜接非常容易實現。本算法利用貝塞爾曲線參數的性質,近似算法實現底盤運動過程中的軌跡控制,大大減少了控制芯片的運算量,提高芯片控制能力,在實際試驗中取得了很好的效果。
【關鍵詞】 全向輪 貝塞爾曲線 軌跡生成算法
1 貝塞爾曲線簡介
貝塞爾曲線最初是由發過雷諾汽車工程師Pierre B6zier設計開發的。它的控制點的作用像磁鐵一樣,在某個方向上拉拽曲線并影響曲線彎曲的方式[1]。當兩段曲線銜接時,通過控制點來控制連接點切線方向相同便可實現圓滑的連接。
對于點四個控制點控制的貝塞爾曲線,其參數方程為:
當參數t從0變化到1時,對應曲線上的點也從變化到。圖1是用matlab對t進行的分析計算,其中藍色折線是四個控制點的連線,紅色折線是將t在之間均勻取值時,各個t值對應點的連線。從圖中可以看出,當t等間距取值時,對應曲線的線段長度也近似相等。事實上,t的值超過的范圍時對應的點仍在該三次曲線上,相當于是這條曲線的延伸。
2 軌跡生成算法
2.1控制條件
在控制全向輪底盤機器人進行行走時,可以將速度方向分解為切向速度和法向速度。通過控制切向速度來控制機器人行走的速度,控制法向速度以調節法向的偏差,這樣就可以實現曲線行走。切向的速度可以直接賦值,而法向偏差需要通過自身坐標計算得出。由于解三階的貝塞爾曲線需要解三次方程,計算復雜,對于芯片和程序來說都是很大的壓力。通過利用底盤行走的連續性和參數t連續的特點,可以近似求出當前位置對應的t,得到法向偏差。
2.2當前位置計算
記四個控制點坐標為,,,。是行走路徑的起點,開始機器人位于附近。 在行走過程中,需要不停地校正偏差,對于程序來說,可通過周期性的計算來實現。如圖2所示,對于第一個周期,默認當前點對應的t為0,即對應點,然后依次通過當前點計算出下一點。在計算下一點時,取(t+dt)點作為參考點,和當前點的連線作為近似切線,其中dt是一個非常小的常量。由于dt非常小,這段曲線可看作直線來計算。假設機器人當前的位置為N(由定位系統測得),做垂直切線于點,點到點的長度對應了dt,則點到點的長度對應了,其中k為的長度除以到的長度。這樣便可求出t1的值,即求出t1點:
由于參數t具有連續性,不論機器人超前或者落后參考點,都可以得到正確的結果。而且因為t并不局限于0~1之間,在曲線端點超出部分也可以正確計算。為了提高精度,可將求得的點從新作為,再次計算得到新的。這樣一個周期計算兩次,可極大提高容差。
2.3偏差調節
求出當前點對應的t和切線方向后,很容易計算出法向偏差。通過pid調節便可使機器人沿著曲線行走。PID控制器是一種線性控制器,它根據給定值與被控參量(反饋量)構成控制偏差。將偏差的比例、積分、微分通過線性組合構成控制量,對被控對象進行控制[2]。偏差可通過向量運算使其帶有符號,在pid調節中滿足正負偏差的要求。
3 實際實驗
在實際實驗中,采用了dsp2812作為主控芯片,主頻150MHz。通過雙碼盤加陀螺儀定位,在程序控制上每5ms計算一個周期。行走時機器人在切向的最高速度達到3m/s。通過實驗記錄的法向偏差如表1所示,實際路徑和規劃路徑基本符合,法向偏差的大小在7cm以內,且有波動現象。
參考文獻
[1] 孫式河,王海隼,岳丈靜. 基于局部性原理的可變步長Bezier曲線生成算法[J]. 計算機光盤軟件與應用,2011(7)
[2] 王豪. 水輪機調節PID控制算法簡介[J]. 河南科技,2013(15)