0 引言
目前,全方位移動機器人由于具有出色的靈活性,已經成為RoboCup中型組足球機器人比賽中最理想的選擇。而機器人的運動控制一直以來都是直接影響機器人性能的主要因素,也是移動機器人研究的熱點之一。本文研究了一種用FPGA技術實現三輪全方位移動機器人運動控制系統的方法,與雙DSP結構,DSP+CPLD結構,以及DSP+專用集成電路結構等相比,該方法具有簡單可靠,擴展性強等特點。且FPGA設計簡單,使用方便,開發周期短,能夠實現真正的SOPC系統。
1 全方位移動機器人運動模型
設世界坐標系下機器人的速度為ε=[vx,vy,φ],則當vx=O,vy≠0,φ=O時,機器人做前后方向的直線運動,當vx≠0,vy=0,φ=0時,機器人做左右方向的直線運動,當vx=0,vy=0,φ≠0時,機器人做自轉運動。圖1中,ω1,ω2,ω3為3個主動輪的轉動角速度,R為全向輪半徑;L1,L2,L3為機器人車體中心到3組全向輪中心的水平距離,設有L1=L2=L3=L。α為前兩輪之間的夾角,另外2個夾角均為180°-α/2。則機器人坐標系下的速度到三輪速度之間的關系如下:
由式(1)可以看到:知道了機器人在平面世界坐標系中的速度要求后,便可以得到主動輪的速度要求,進而對電機發出相應的控制信號。
2運動控制方案本系統總體設計思路如圖2所示,首先通過RS 232接口,實現PC機與底層控制芯片FPGA的通信,FPGA在接收到相關的機器人坐標系下的速度后,將機器人坐標系下的速度值轉化成機器人3個全向輪子的角速度,將得到的角速度值計算出相應的占空比,生成相應占空比的PWM波形,輸出信號接到直流伺服電機驅動器,然后通過FPGA采集正交編碼盤信號,計算出輪子實際的角速度值,做PID速度閉環控制。鑒于FPGA模塊復制的優勢,這里對每個全向輪分別做了PID閉環控制。
3 系統硬件設計
采用的三輪全方位移動機器人系統框圖如圖3所示,上位機主要完成圖像信息的采集、處理、路徑規劃,并實現與場外裁判盒的通信。下位機主要是FPGA,主要實現三輪編碼信號的采集,PID速度閉環控制,踢球控制,電機控制信號的產生,還有其他的傳感器信息的采集等,并負責與上位機之間的信息交互。本設計只是完成了下位機運動控制部分。
3.1 正交編碼信號采集與測速實現
A、B兩相信號是相位相差90°的正交方波脈沖串,每個脈沖代表被測對象旋轉了一定的角度,A、B之間的相位關系則反映了被測對象的旋轉方向。在FPGA中設計4倍頻和鑒向電路,本設計采用2路輸出:一路輸出方向,另一路輸出脈沖,并對鑒向倍頻電路進行仿真,如圖5所示。
根據脈沖計數來測量轉速的方法有M法、T法以及M/T法3種。M法適用于高速測量場合,在低速時有較大的誤差;而T法,恰恰相反,在低速時測量準確,高速時誤差較大。
本設計采用文獻所描述的方法。該方法如圖6所示,設定參考閘門時間為固定的1個值,它只是作為參考信號和編碼信號共同確定實際的閘門時間。這樣確定的閘門時間為被測信號的整周期倍,能夠有效提高測量精度。則測得的速度為:
4. 增量式PID控制原理及其FPGA實現
實際機器人的數學模型不可避免地存在一定程度的參數不確定性,且三輪全方位移動機器人的正交全向輪在行走時會與地面交替接觸而產生一些不確定摩擦轉矩,這些都會給機器人的精確控制帶來難度。為了對三輪全方位移動機器人進行精確的控制,系統采用PID速度閉環控制算法對機器人的3個全向輪進行速度調節。
令采樣周期為TS,將連續PID公式離散化后可得到數字PID算法表達式:
式中:k為采樣序號;u(k)為第k個采樣時刻的計算機輸出值;e(k)為第k個采樣時刻的計算機輸入誤差值;e(k-1)為第k-1個采樣時刻的輸入誤差值;Kp為比例系數;KI為積分系數;KD為微分系數。
這種算法雖然比較直觀,但由于是全量輸出,所以每次輸出均與過去的所有狀態有關,計算時要對e(k)進行累加,計算機運算量大。
于是產生了增量式PID算法:
上述公式(7)為增量式PID控制算法。只輸出控制增量,誤動作影響較小,且控制增量只與最近幾次的采樣值有關,容易通過加權處理獲得比較好的控制效果。
根據以上公式推導,結合FPGA的工作特點,本文設計了適合FPGA的增量式PID實現結構。
由圖7可以看出,增量式PID控制算法程序結構,只要最近的3個誤差采樣值就可以加權計算。這在FPGA內部完全可以并行實現,移位部分結構類似FIR濾波器的實現結構,難點是FPGA設計時對有符號數的熟練操作和保證累加器不能溢出。
一種高效的硬件測試手段和系統測試方法,它能夠獲取并顯示可編程片上系統(SOPC)的實時信號,它可以隨設計文件一起下載到FPGA中,用于捕捉FPGA內部節點和I/0引腳的狀態,就如同使用真的邏輯分析儀一樣,對設計進行在線仿真,但又不影響硬件系統的工作。為了檢驗測得的全向輪實際速度值是否準確,對設計的測速模塊進行了在線仿真。設定每個全向輪以固定的速度轉動,對比測得的實際速度值和設定的速度值,如圖8所示。
在嵌入式邏輯分析儀中,對PID模塊也進行了在線測試。實驗條件:在空載條件下,頻繁變化電機的速度,通過嵌入式邏輯分析儀觀察FPGA內部PID調節后的速度值和設定值,圖9所示為一號全向輪的速度設定值與反饋速度值。
三輪全方位移動機器人與雙輪差速不同,具有很大的靈活性,況且由于3個全向輪的負載的不同,使得機器人不能走出精確的直線。而要實現機器人的精確控制,一個前提就是讓它能夠走出很直的直線。為檢驗機器人控制性能,設計了如下實驗:機器人以固定速度分別向前后左右4個方向行走,先觀察沒有加入PID控制算法時的情況,然后再觀察加入PID控制算法時的情況。實驗的結果如表1所示。
分析:由于機器人的3個全向輪所承受的負載不一樣,即在相同的占空比的PWM下,3個輪子的實際速度并不相同,這就使得三輪速度不可能準確合成機器人的速度,進而影響機器人的控制軌跡。根據圖1所示的機器人1號輪和3號輪負載相當,2號輪子承受的負載較大,沒有加入PID控制器時,前后運動雖然在一定范圍內近似直線,但是機器人運行的速度達不到預期設定的速度,左右運動軌跡就是一個圓,而且設定的機器人左右移動速度大小還決定了機器人是朝順時針方向還是逆時針方向轉圈。加入PID控制算法后,輪子的速度得到校正,機器人能夠以預期設定的速度前后左右運動,特別是左右運動在一定范圍內近似為直線,不再是圓圈??梢奝ID閉環控制算法明顯提高了機器人的控制性能。
5 結語
針對目前常見的以DSP為核心實現足球機器人底層運動控制系統的方案,提出了一種采用FPGA實現三輪全方位移動足球機器人的底層運動控制系統的方法。通過在三輪足球機器人上的應用實踐,發現這種采用FPGA實現的方案有很好的實時性,精確度較高,而且由于FPGA本身的引腳多特點,其可擴展性較強,比如可以通過串口配置數字羅盤等外圍信息傳感器等其他傳感器,同時,本設計對于研究多電機的機器人運動控制系統的實現方案有重要的參考價值和實用價值。
另外,由于全向輪的隨動性較強,且易打滑,在實行精確控制的時候方向容易受到影響,而且PID閉環控制算法反應時間較長,參數還需要更多時間的調試,在以后的研究中,我們將研究更為精確的控制算法,實現對機器人的精確控制。
歡迎轉載,本文來自電子發燒友網(http://www.qd573.com/)
評論
查看更多