覃嘉恒
(南通開放大學,江蘇 南通 226006)
移動機器人以其廣泛的應用性和高技術性而備受關注。全方位機器人較之傳統的移動機器人,具有出色的靈活性,即能實現原地轉動又能實現側向運動,特別是應用在自動化工廠、醫院、家庭和其它狹窄的環境中。本文研究了一種用FPGA技術實現三輪全方位移動機器人運動控制系統,與雙DSP結構,DSP+CPLD結構,以及DSP+專用集成電路結構等相比,該系統具有簡單可靠,擴展性強等特點。且FPGA設計簡單,使用方便,開發周期短,能夠實現真正的SOPC系統。
設世界坐標系下機器人的速度為 ε=[Vx,Vy,φ],則當Vx=0,Vy≠0,φ=0 時,機器人做前后方向的直線運動,當Vx≠0,Vy=0,φ=0 時,機器人做左右方向的直線運動,當 Vx=0,Vy=0,φ≠0 時,機器人做自轉運動。

其中,ω1,ω2,ω3為 3 個主動輪的轉動角速度,R 為全向輪半徑;L1,L2,L3為機器人車體中心到3組全向輪中心的水平距離,設有L1=L2=L3=L。α為前兩輪之間的夾角,另外2個夾角均為 180°-α/2。
本系統總體設計思路,首先通過RS 232接口,實現PC機與底層控制芯片FPGA的通信,FPGA在采集到相關的機器人坐標系下的速度信息后,將其值轉化成機器人全向輪角速度,根據角速度值計算出占空比,并生成相應的PWM波形,輸出到直流伺服電機驅動器,另外,通過采集正交編碼盤信號,計算出輪子的角速度實際值,并對每個全向輪分別做PID速度閉環控制。
實際機器人的數學模型不可避免地存在一定程度的參數不確定性,且三輪全方位移動機器人的正交全向輪在行走時會與地面交替接觸而產生一些不確定摩擦轉矩。另外,三全向輪所承受的負載不一樣。即在相同的占空比的PWM下,三個輪子的實際速度并不相同,這就使得三輪速度不可能準確合成機器人的速度,進而影響機器人的控制軌跡。這些都會給機器人的精確控制帶來難度為了對三輪全方位移動機器人進行精確的控制,機器人的系統采用PID速度閉環控制算法對機器人的3個全向輪進行速度調節。本文采用的時增量式PID算法:

上述公式(5)為增量式PID控制算法。只輸出控制增量,誤動作影響較小,且控制增量只與最近幾次的采樣值有關,容易通過加權處理獲得比較好的控制效果。
根據以上公式推導,結合FPGA的工作特點,本文設計了適合FPGA的增量式PID實現結構。增量式PID控制算法程序結構,只要最近的3個誤差采樣值就可以加權計算。這在FPGA內部完全可以并行實現,移位部分結構類似FIR濾波器的實現結構,難點是FPGA設計時對有符號數的熟練操作和保證累加器不能溢出。
通過實踐,發現這種采用FPGA實現的方案有很好的實時性,精確度較高,而且由于FPGA本身的引腳多特點,其可擴展性較強,比如可以通過串口配置數字羅盤等外圍信息傳感器等其他傳感器,同時,本設計對于研究多電機的機器人運動控制系統的實現方案有重要的參考價值和實用價值。另外,由于全向輪的隨動性較強,且易打滑,在實行精確控制的時候方向容易受到影響,而且PID閉環控制算法反應時間較長,參數還需要更多時間的調試,以后將研究更為精確的控制算法,實現對機器人的精確控制。