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