覃嘉恒
(南通開放大學(xué),江蘇 南通 226006)
移動(dòng)機(jī)器人以其廣泛的應(yīng)用性和高技術(shù)性而備受關(guān)注。全方位機(jī)器人較之傳統(tǒng)的移動(dòng)機(jī)器人,具有出色的靈活性,即能實(shí)現(xiàn)原地轉(zhuǎn)動(dòng)又能實(shí)現(xiàn)側(cè)向運(yùn)動(dòng),特別是應(yīng)用在自動(dòng)化工廠、醫(yī)院、家庭和其它狹窄的環(huán)境中。本文研究了一種用FPGA技術(shù)實(shí)現(xiàn)三輪全方位移動(dòng)機(jī)器人運(yùn)動(dòng)控制系統(tǒng),與雙DSP結(jié)構(gòu),DSP+CPLD結(jié)構(gòu),以及DSP+專用集成電路結(jié)構(gòu)等相比,該系統(tǒng)具有簡(jiǎn)單可靠,擴(kuò)展性強(qiáng)等特點(diǎn)。且FPGA設(shè)計(jì)簡(jiǎn)單,使用方便,開發(fā)周期短,能夠?qū)崿F(xiàn)真正的SOPC系統(tǒng)。
設(shè)世界坐標(biāo)系下機(jī)器人的速度為 ε=[Vx,Vy,φ],則當(dāng)Vx=0,Vy≠0,φ=0 時(shí),機(jī)器人做前后方向的直線運(yùn)動(dòng),當(dāng)Vx≠0,Vy=0,φ=0 時(shí),機(jī)器人做左右方向的直線運(yùn)動(dòng),當(dāng) Vx=0,Vy=0,φ≠0 時(shí),機(jī)器人做自轉(zhuǎn)運(yùn)動(dòng)。
其中,ω1,ω2,ω3為 3 個(gè)主動(dòng)輪的轉(zhuǎn)動(dòng)角速度,R 為全向輪半徑;L1,L2,L3為機(jī)器人車體中心到3組全向輪中心的水平距離,設(shè)有L1=L2=L3=L。α為前兩輪之間的夾角,另外2個(gè)夾角均為 180°-α/2。
本系統(tǒng)總體設(shè)計(jì)思路,首先通過(guò)RS 232接口,實(shí)現(xiàn)PC機(jī)與底層控制芯片F(xiàn)PGA的通信,F(xiàn)PGA在采集到相關(guān)的機(jī)器人坐標(biāo)系下的速度信息后,將其值轉(zhuǎn)化成機(jī)器人全向輪角速度,根據(jù)角速度值計(jì)算出占空比,并生成相應(yīng)的PWM波形,輸出到直流伺服電機(jī)驅(qū)動(dòng)器,另外,通過(guò)采集正交編碼盤信號(hào),計(jì)算出輪子的角速度實(shí)際值,并對(duì)每個(gè)全向輪分別做PID速度閉環(huán)控制。
實(shí)際機(jī)器人的數(shù)學(xué)模型不可避免地存在一定程度的參數(shù)不確定性,且三輪全方位移動(dòng)機(jī)器人的正交全向輪在行走時(shí)會(huì)與地面交替接觸而產(chǎn)生一些不確定摩擦轉(zhuǎn)矩。另外,三全向輪所承受的負(fù)載不一樣。即在相同的占空比的PWM下,三個(gè)輪子的實(shí)際速度并不相同,這就使得三輪速度不可能準(zhǔn)確合成機(jī)器人的速度,進(jìn)而影響機(jī)器人的控制軌跡。這些都會(huì)給機(jī)器人的精確控制帶來(lái)難度為了對(duì)三輪全方位移動(dòng)機(jī)器人進(jìn)行精確的控制,機(jī)器人的系統(tǒng)采用PID速度閉環(huán)控制算法對(duì)機(jī)器人的3個(gè)全向輪進(jìn)行速度調(diào)節(jié)。本文采用的時(shí)增量式PID算法:
上述公式(5)為增量式PID控制算法。只輸出控制增量,誤動(dòng)作影響較小,且控制增量只與最近幾次的采樣值有關(guān),容易通過(guò)加權(quán)處理獲得比較好的控制效果。
根據(jù)以上公式推導(dǎo),結(jié)合FPGA的工作特點(diǎn),本文設(shè)計(jì)了適合FPGA的增量式PID實(shí)現(xiàn)結(jié)構(gòu)。增量式PID控制算法程序結(jié)構(gòu),只要最近的3個(gè)誤差采樣值就可以加權(quán)計(jì)算。這在FPGA內(nèi)部完全可以并行實(shí)現(xiàn),移位部分結(jié)構(gòu)類似FIR濾波器的實(shí)現(xiàn)結(jié)構(gòu),難點(diǎn)是FPGA設(shè)計(jì)時(shí)對(duì)有符號(hào)數(shù)的熟練操作和保證累加器不能溢出。
通過(guò)實(shí)踐,發(fā)現(xiàn)這種采用FPGA實(shí)現(xiàn)的方案有很好的實(shí)時(shí)性,精確度較高,而且由于FPGA本身的引腳多特點(diǎn),其可擴(kuò)展性較強(qiáng),比如可以通過(guò)串口配置數(shù)字羅盤等外圍信息傳感器等其他傳感器,同時(shí),本設(shè)計(jì)對(duì)于研究多電機(jī)的機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的實(shí)現(xiàn)方案有重要的參考價(jià)值和實(shí)用價(jià)值。另外,由于全向輪的隨動(dòng)性較強(qiáng),且易打滑,在實(shí)行精確控制的時(shí)候方向容易受到影響,而且PID閉環(huán)控制算法反應(yīng)時(shí)間較長(zhǎng),參數(shù)還需要更多時(shí)間的調(diào)試,以后將研究更為精確的控制算法,實(shí)現(xiàn)對(duì)機(jī)器人的精確控制。