昝立宇 茍江純 曾曉玉 沈發林 程渭東 徐慧平
(1.成都理工大學核技術與自動化工程學院 四川成都 610059;2.成都中醫藥大學外語學院 四川成都610075;3.四川福祥建設工程有限公司 四川眉山 620360)
機器人作為一個集成化的復雜整體,為便于檢修與維護,設計開發采用了模塊化的思想。[1]我們采用STM32F407IGT6工控板為主控制器,來進行定位數據分析與解算、無線數據的收發和基于CAN總線的電機驅動控制等操作。定位模塊對自身位置信息進行自校準,把相關數據實時送至單片機內部的特定儲存區,等待控制器取用。主控制器還通過CAN總線傳輸方式,驅動控制三個電機。考慮到機器人的人機交互性,定位信息會同步更新于客戶端無線路由器下的串口屏上,也可通過串口屏手動設置目標位置。同時,為了控制的穩定可靠,工控板與各模擬量輸入端口均有相關屏蔽措施,在各個主要模塊上也加有過流保護裝置。機器人控制系統總體組成如圖1所示:

圖1 控制系統組成圖
機器人采用等邊三角形形狀設計,在底部鋁板每條邊的中心點各安裝一個全向輪,使輪子之間互相間隔120°,選用由RoboModule電機驅動調節器控制的1:20減速比無刷電機,構成硬件驅動部分。機器人中間安置定位模塊,由模塊中的正交碼盤進行坐標的校準,并在周圍安置三芯屏蔽線以隔斷電磁干擾信號。團隊采用24V/20AH或15AH磷酸鐵鋰電池,為機器人提供穩定電能,再由單極式可逆PWM波變換器構成的H橋電路與24V濾波電路等構成驅動電路,組成自定位硬件部分。

圖2 機器人位姿分析圖
由此,我們在空間中定義絕對坐標系(即二維垂直坐標系)XOY,設機器人坐標系為xoy,再令機器人在絕對坐標系中的姿態角為θ,即其自身坐標系相對于絕對坐標系的旋轉角度,可搭建起機器人的簡易模型并置于絕對坐標系中,構建起機器人位姿分析圖如圖2所示。考慮到高精度無刷電機單線串聯或集散式并聯供電工作時會產生較大電流負荷與機械抖動,我們便采用了多線屏蔽下的區位化供電方案,φ即為機器人分區控制的區位角,令φ=2/3π,area為分區邊緣長度。設Vx、Vy、W 為機器人在絕對坐標系下的速度,W為機器人自轉的角速度,vs、vy、w為機器人在自身坐標系中的速度。則可根據位姿分析圖得到其兩系三相速度的關系表達式,用矩陣排列表示并記作式①。隨后,將式①中機器人自身坐標系下的速度分解到輪子方向,規定的輪子正方向如箭頭所示,記各輪線速度為v1、v2、v3。此時可得新的矩陣表達式,記作式②。把式②代入式①之中,可近似理解為做矩陣的約項乘法,再進行化解之后可得下式:

此表達式便實現了絕對坐標系下兩軸速度分量及自轉速度與機器人各輪線速度的轉化,根據此思路可將場地坐標系的移動速度轉化為相應輪子的移動速度,再通過控制算法的編寫即可實現機器人往任意方向的移動控制。[2]
我們對運動控制系統進行軟件編程設計,整個編程和調試工作都是在MDK 5集成開發環境與艾克申導航模塊開發公司提供的統一集成開發環境下完成。軟件代碼主要包括運動控制部分代碼及定位解算相關代碼。運動控制部分流程圖如圖3所示,其中系統初始狀態包括定位模塊參數的初始化,中斷指令處理的是定位碼盤發布的控制目標位置的解析。定位解算相關代碼設計完成后,還可通過EKshen-form軟件進行人機界面交互,使得我們可以更加穩定、經濟、高效地實現對機器人位置狀態的實時監測與運動狀態的精確控制。[3]

圖3 控制程序流程圖
機器人底盤驅動輪半徑為82mm,三個全向輪中分面距離機器人坐標系中心距離分別是 438.4mm、329.5mm、333.6mm,底盤總重10.2kg,測試時在長15m、寬15m的區域內按定位沿直線或者曲線運動。其無刷電機工作由相應PID模式進行限制,分為:位置PID-低速、電流PID-中速、位置及電流PID-高速。經相關實驗分析,三環PID控制時電機支流峰值電流最大不可超8.5A,且預定轉差率與視在誤差均需符合實際應用要求,結合上述需求,選擇出三環PID的最終調節數據。
本文從三輪全向機器人設計的總體理念出發,論述了機器人硬件構成的合理性,推導了其運動方程,構建起控制系統的初步框架。隨后,在軟件設計部分陳列了程序的整體設計思路,并給出工作流程圖,具有相當高的科學合理性。同時,團隊成員也在搭建的三輪全向機器人樣機上,對該運動控制系統進行了實際測試,得到了符合機器人自身機械特性的控制數據。該自定位移動三輪全向機器人已參加2019年機器人大賽,并在賽場上有不錯的運動控制效果,滿足了比賽的自定位、運動需求,具備良好的穩定性和控制精度。