郁大鵬



摘要:為了適應時代的發展,培養當代機器人產業所需的優秀人才,全國大學生機器人大賽RoboMaster應運而生。本文以RoboMaster競賽為背景,介紹了CAN總線技術在電機控制中的應用,并將CAN總線與無刷直流電機組合成性能良好的模塊用于機器人的底層驅動,建立了邁克納姆輪的運動分解模型,討論了嵌入式的PID算法控制。
關鍵詞:RoboMaster;CAN總線;無刷直流電機;PID控制;機器人運動控制
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2017)24-0060-05
作為共青團中央主辦的全國大學生機器人大賽中的賽事之一,全國大學生機器人大賽RoboMaster以機器人對抗射擊為主體,強調機器人的對抗性和技術性,鼓勵機器人自動化和智能技術的發展。同時,RoboMaster通過平衡比賽的技術難度和觀賞性,在全社會普及機器人知識和工程技術之美。
RoboMaster比賽強調工程技術和團隊合作能力,對青年工程師及科學家的創新意識、技術水平、溝通交流能力的培養起到了很好的作用。在賽場上,選手可以在團隊中展現技術實力與創新才華,通過合作獲得優異成績;觀眾能夠通過機器人的對抗體驗刺激的競技樂趣,感受人與科技的無縫銜接。
本文結合機器人的底盤驅動控制和兩軸云臺發射機構,主要介紹CAN總線在無刷直流電機控制中的應用以及PID算法控制。
● CAN總線簡介
CAN(Controller Area Network)是ISO國際標準化的串行通信協議。[1]在當前的汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發出來。[2]由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為滿足減少線束的數量、通過多個LAN進行大量數據的高速通信的需要,1986年德國電氣商博世公司開發出面向汽車的CAN通信協議。此后,CAN通過ISO11898及ISO11519進行了標準化,在歐洲已是汽車網絡的標準協議。[3]
CAN總線通信是通過數據幀、遙控幀、錯誤幀、過載幀和幀間隔五種類型的幀進行。數據幀是用于發送單元向接收單元傳送數據的幀;遙控幀是用于接收單元向具有相同ID的發送單元請求數據的幀;錯誤幀是用于當檢測出錯誤時向其他單元通知錯誤的幀;過載幀是用于接收單元通知其尚未做好接收準備的幀;幀間隔是用于將數據幀及遙控幀與前面的幀分離開來的幀。在本文中使用STM32F4單片機進行CAN通信,主要使用的是數據幀,一般由7個段構成,即幀起始、仲裁段、控制段、數據段、CRC段、ACK段和幀結束。
STM32F4自帶的是bxCAN,即基本擴展CAN。[4]它支持CAN協議2.0A和2.0B,能以最小的CPU負荷來高效處理大量收到的報文,支持報文發送的優先級要求。對于安全需求高的應用,bxCAN提供所有支持時間觸發通信模式所需的硬件功能。STM32F4的CAN發送流程包括程序選擇一個空置的郵箱,設置標識符、數據長度和發送數據,設置CAN_TIxR的TXRQ位為1,請求發送,郵箱掛號,預定發送,發送和郵箱空置。
CAN接收到的有效報文,被存儲在3級郵箱深度的FIFO中。FIFO完全由硬件來管理,從而節省CPU的處理負荷,簡化軟件并保證數據的一致性。應用程序只能通過讀取FIFO輸出郵箱,來讀取FIFO中最先收到的報文。這里的有效報文是指那些被接收的且通過了標識符過濾的報文。
CAN接收流程包括FIFO空、收到有效報文、掛號1、收到有效報文、掛號2、收到有效報文、掛號3、收到有效報文和溢出。FIFO接收到的報文數,可以通過查詢CAN_RFxR的FMP寄存器來得到,在FMP不為0時,可以從FIFO讀出收到的報文。
● CAN總線電機控制
1.無刷直流電機簡介
無刷直流電機被廣泛地用于日常生活用具、汽車工業、航空消費電子、醫學電子、工業自動化等裝置。無刷直流電機不使用機械結構的換向電刷而直接使用電子換向器。無刷直流電機屬于同步電機的一種,它的定子產生的磁場和轉子產生的磁場具有相同的頻率,所以無刷直流電機不會有普通感應電機的頻差現象。[5]本文主要介紹應用最為廣泛的三相無刷直流電機。
無刷直流電機的定子繞組可以分為梯形和正弦兩種。繞組形式的不同將影響電機的反電動勢波形,進而影響電機的性能。轉子的結構主要有表面粘貼式磁極、嵌入式磁極和環形磁極。無刷直流電機常用的位置傳感器有電磁式、光電式等。相對傳統的有刷電機、感應電機,無刷直流電機擁有更高的轉速扭矩比、良好的動態特性、高效率、長壽命、低噪聲、寬轉速范圍、制造容易等優良特性。
2.無刷直流電機與CAN電調
本文以大疆的C620電調為例進行說明,它采用32位定制電機驅動芯片,使用磁場定向控制技術,實現對電機轉矩的精確控制,與M3508無刷直流電機搭配,可以組成強大的動力套件。它支持CAN總線指令控制,最高支持20A的持續電流,支持對CAN總線上的電調快速設置ID,支持通過CAN總線獲取電機溫度、轉子位置和轉子轉速等信息,切換電機時無需進行位置傳感器參數校準。
如圖1所示,①為7-pin電機數據端口,連接M3508直流無刷減速電機進行數據交互。②為三相動力線接頭,與M3508直流無刷減速電機的三相輸入接頭相連。③為CAN終端電阻選擇開關。④為SET按鍵,可對電調進行配置。⑤為電源線。⑥為指示燈。⑦為CAN信號端口。⑧為PWM信號端口。
用7-pin數據線分別插入電調和電機的7-pin數據端口、連接電調和電機。將電機的三相輸入接頭與電調三相動力線接頭相連接,CAN信號線一頭接入CAN信號端口,另一頭接入目標接口。電調電源線連接至電源為電調供電,連接如圖2所示。endprint
● CAN總線在機器人底盤運動控制中的應用
機器人整個控制系統框圖如下頁圖3所示。
機器人運動要有滿足控制要求的車輪運動,實現單個電機的PID閉環控制,消除電機之間的差異,提高電機的性能。[6-7]以PID閉環控制的電機為基礎的全向運動理論能使機器人更好地適應復雜的場地環境。機器人的控制需要操作手下達指令,而任何控制信息都要通過通信系統傳遞給機器人的各個部件,然后各個部件做出響應動作,相互結合,加上傳感器以及控制算法才能最終實現機器人的靈活運動。
機器人以PID閉環控制理論為基礎實現單輪轉動后,開始進行全向運動分解。麥克納姆輪[8-9]由輪轂和安裝在輪轂外緣上與輪轂軸線呈一定角度的無動力輥子組成,無動力輥子不僅能繞輪轂軸公轉,還能在地面摩擦力作用下繞各自的支撐芯軸自轉,公轉與自轉的合運動速度與輪轂軸有一定夾角,使其可以全方位運動。
機器人要實現全向運動,對車輪分布有一定的要求。按照輥子軸線的分布將麥克納姆輪分為左旋和右旋兩種方式,機器人車體實際安裝中,需要兩對旋向不同的車輪,且要求機器人底盤斜向方向上的車輪旋向一致,右前輪和左后輪采用左旋方式,左前輪和右后輪采用右旋方式。[10-12]四個麥克納姆輪組成的機器人底座的受力分析如圖4所示,每個全向輪都由一臺直流無刷電機驅動,通過四個萬向輪轉速適當組合即可以實現機器人在平面上三個自由度的全方位移動。[13-14]圖中輪子上的斜線代表輥子軸線的方向,Fa為輪子滾動時小輥子受到軸向的摩擦力, Fr為輥子做從動滾動時受到的滾動摩擦力,為各輪轉動的角速度。通過運動學分析將機器人底盤的運動分解,可實現機器人進行任意角度的全向運動。[15]
通過CAN總線可以把機器人上所有CAN電機連起來,這比傳統的PWM控制更簡便。如圖5所示,在機器人平臺CAN總線上搭載多臺電機時,串接即可。CAN總線既能發信號,又能讀取電機轉子位置等狀態信息,在單片機中以數組的方式進行發送和接受。
以CH1、CH2、CH3、CH4標記四個電機、電調位置,本文機器人底盤麥克納姆輪的分布如下頁圖6所示。定義面向M3508電機軸時,電機軸逆時針旋轉方向為正轉。當CH1、CH3正轉,CH2、CH4反轉時,機器人向前移動;當CH1、CH3反轉,CH2、CH4正轉時,機器人向后移動;當CH1、CH3、CH2、CH4都正轉時,機器人左旋轉;當CH1、CH3、CH2、CH4都反轉時,機器人右旋轉;當CH1、CH2正轉,CH3、CH4反轉時,機器人向左平移;當CH1、CH2反轉,CH3、CH4正轉時,機器人向右平移。
● CAN總線在兩軸云臺控制中的應用
云臺控制板通過CAN通信協議和RM6025驅動板進行通信,控制信息以一個CAN消息幀的形式傳輸。其中,由云臺控制板到RM6025驅動板的CAN幀內容為三軸驅動電流大小。由RM6025驅動板到云臺控制板的CAN幀內容包括三軸實時驅動電流大小,以及三軸當前絕對角度值,本文會用到其中兩軸的相關數據。兩軸云臺的具體控制算法為位置式雙閉環PID控制算法。[16]
1.位置式PID控制算法
PID調節器是一種線性調節器,控制偏差定義為e(n)=r(n)-(n),并對該控制偏差作比例、積分、微分等運算,并將其各步運算結果作為控制量輸出,用于控制受控對象(如圖7)。本文系統采用數字式PID控制算法,其輸出變量的離散表達式為:
其中,kp、ki、kd分別稱為比例常數、積分常數、微分常數。實際利用位置式PID控制受控系統時,常采用經驗值法或試湊法來分別調整kp、ki、kd的大小,調整或改善系統控制性能。
PID運算結果u(n)直接控制執行機構,在本系統中,該值對應驅動兩軸云臺無刷電機的電流值大小,其缺點在于當前采樣時刻的輸出與過去的各個狀態有關,計算時要對各個時刻的e(n)進行累加,運算量大,且由于控制器的輸出u(n)對應的是直接驅動無刷電機的電流大小,因而若計算出現異常,u(n)的大幅度變化會引起云臺運動的極其不穩定。其優點在于適用性廣,易于實現且對于位置式控制方式的系統,系統適用性總體較強,控制效果較好。
2.增量式PID控制算法
相對于位置式PID,增量式PID控制器的輸出只是控制量的增量△u(n),對于位置式PID算法的轉化計算式為u(n)=u(n-1)+△u(n)。其輸出變量離散表達式如下:
其中,kp、ki、kd分別稱為比例常數、積分常數、微分常數,e(n)=r(n)-y(n)為目標與輸出量之差,稱為控制偏差。
增量式PID算法的優點在于,首先,不需要累加,輸出△u(n)的值僅與最近三次的采樣值有關,容易通過加權處理獲得較好的控制效果。其次,控制器每次只輸出控制增量,即對應執行機構的位置的變化量,所以當機器出現偶然性故障時,其影響范圍相對于位置式PID較小,不會嚴重影響系統的整體性能。最后,增量式PID控制可以做到手動至自動切換,沖擊效應小,當控制器從手動向自動切換時,可以做到無擾動切換。
3.棒棒控制算法
設定閾值,在誤差較大時采用大輸出控制電機,將誤差在最短時間內減小到所要求的范圍,這就是棒棒控制的思想,棒棒控制又稱時間最優控制。棒棒控制的優點在于,其在隨動系統調轉控制過程中能很好地滿足系統快速性的要求,達到階躍過程最小化,并且結合其他控制方法提高系統自適應能力和控制精度,有很好的推廣價值。其缺點在于,閾值選取不當,可能會出現超調或嚴重回擺的現象,常常需要與其他控制算法配合使用。
此外,基于遺傳算法的模糊PID算法[17]計算量過大,會給系統帶來較大的延時,不能滿足系統對實時性的要求,故不可用。兩軸云臺系統的工作環境并不會有太大的波動,根據比賽場景預測,單次轉動角度值應在30度以下,所以可以采用分段模式下的模糊PID算法。由于控制變量誤差范圍較小,分段可以滿足系統適應性要求,若采用加權平均求取實時性PID參數,就會加大系統的計算任務,過分提高系統參數的靈敏度,這反而容易降低系統的抗干擾性能。最后,微分先行、閾值控制方式可以有效抑制系統的超調,且調高系統的穩定性。本文選擇通過分段,微分先行、閾值控制等方式改進的PID算法作為系統最終的控制算法。endprint
● 結語
CAN總線技術與直流無刷電機的組合非常適用于高性能的機器人平臺,其體積小巧,設置簡單,帶有智能保護且動力強勁。它可內置多種傳感器,可自動感應溫度、斷線等異常狀況并及時報警,快速定位故障,使用更安全。在機器人平臺上,CAN總線可以搭載多臺電機,擴展性強,將是未來模塊化機器人發展的重要技術之一。希望CAN總線、無刷直流電機模塊等技術能運用到更多的機器人競賽和實踐項目中,培養更多的機器人技術人才。
參考文獻:
[1]輝亞男,冷文浩,劉培林.CAN總線應用層通信協議的設計與實現[J].計算機工程與設計,2008(3):669-671.
[2]楊建軍.CAN總線技術在汽車中的應用[J].上海汽車,2007(6):32-34.
[3]王小飛,向國權.車載CAN總線技術研究綜述[J].汽車零部件,2009(8):64-65.
[4]陳國偉,丁學明.基于CAN總線的無刷直流電機控制系統設計[J].電子科技,2017,30(3):153-156.
[5]史鵬飛,劉景林,謝映宏.基于CAN總線的測試用無刷直流電機控制器設計[J].測控技術,2012,31(2):68-71.
[6]劉慧博,王靜,吳彥合.無刷直流電機模糊自適應PID控制研究與仿真[J].控制工程,2014,21(4):583-587.
[7]石維亮,王興松,賈茜.基于Mecanum輪的全向移動機器人的研制[J].機械工程師,2007(9):18-21.
[8]王一治,常德功.Mecanum四輪全方位系統的運動性能分析及結構形式優選[J].機械工程學報,2009,45(5):307-310.
[9]海丹.全向移動平臺的設計與控制[D].長沙:國防科學技術大學,2005.
[10]盧浩文,謝佳洽,李澤寰,等.基于三維軟件的麥克納姆輪移動平臺懸架系統研究[J].數字技術與應用,2016(11).
[11]陳博翁,范傳康,賀驥.基于麥克納姆輪的全方位移動平臺關鍵技術研究[J].東方電氣評論,2013,27(4):7-11.
[12]Diegel O,Potgieter J,Badve A,et al.Tlale,Improved Mecanum Wheel Design for Omni-directional Robots[C].2012:117-121.
[13]Mohd Salih J E,Rizon M,Yaacob S,et al.Designing omni-directional mobile robot with mecanum wheel.[J].American Journal of Applied Sciences,2006,3(5).
[14]Peng T,Qian J,Zi B,et al.Mechanical Design and Control System of an Omni-directional Mobile Robot for Material Conveying [J]. Procedia Cirp,2016(56):412-415.
[15]胡桐.四輪獨立驅動和轉向移動機器人的設計與控制[D].合肥:合肥工業大學,2015.
[16]方煒,張輝,劉曉東.無刷直流電機雙閉環控制系統的設計[J].電源學報,2014(2):35-42.
[17]曹建秋,徐凱.遺傳算法優化的模糊+變論域自適應模糊PID復合控制策略[J].信息與控制,2011,40(1):44-49+60.endprint