摘 要:在仿人機器人研究領域,雙足步行控制一直是其難點。主要介紹基于TI的DSP芯片TMS320F2812設計雙足機器人的基本運動控制系統,圍繞機器人腿部無刷直流電機的驅動進行優化設計。系統采用PWM進行電機調速,輔助以補償參數,通過步態指令,驗證電機運轉的精確性、穩定性和系統的可操作性。電機調試為CCS仿真、步態規劃和獨立行走提供試驗平臺,使機器人能夠實現步行功能。
關鍵詞:雙足機器人; 運動控制; 無刷直流電機; DSP
中圖分類號:TP23 文獻標識碼:A
文章編號:1004-373X(2010)09-0145-03
Motion Control System of Biped Walking Robot Based on DSP
QU Ling
(Shanghai Jiaotong University, Shanghai 200240, China)
Abstract: Biped walking is one of the difficulties in humanoid robot research field. The design of biped humanoid robot′s basic motion control system based on DSP chip TMS320F2812 is introduced. The main content is to optimize the drive design of DC brushless motor on the humanoid robot′s legs. The system uses PWM to control the motor speed, together with compensation parameters and walking commands to validate the precision, stability and operable of the control system. The motor debugging can provide an experiment platform for CCS simulation, motor commissioning, walking programming and independent walking, the final target is to make the robot walking independently.
Keywords: biped walking robot; motion control; brushless motor; DSP
近年來,仿人機器人一直是自動控制領域研究的熱點。在模仿人類進行邁步行走時,由于仿人機器人的重心經常要處于中心線以外的區域,使得它的身體很難保持站姿平衡,能夠穩定地實現雙足行走是仿人機器人研究的重點也是難點[1-2]。人類需要大腦和肢體的相互配合來協調動作,機器人需要的則是運動控制器和驅動裝置的強大支持,尤其是運動控制器,需要有高效率的芯片為基礎,才能最迅速地采集數據、完成計算和發送指令。在本次設計中機器人關節使用的是大功率三相無刷直流電機,控制器采用TMS320F2812芯片,它是TI公司推出的一款針對控制領域做優化配置的數字信號處理器,器件上集成了多種先進的外設,為電機高速度和高精度控制提供了良好的平臺。
1 系統概述
雙足機器人每條腿設有5個自由度,這樣既可以實現基本的步行功能,又盡可能的簡化了控制變量[3],系統整體結構如圖1所示,L1~L5分別對應左腿髖側向、髖前向、膝前向、踝前向、踝側向關節電機,R1~R5對應右腿。考慮到成本因素和驅動性能,選用Maxon的EC-max系列三相無刷直流電機來驅動關節活動[4],其中1號和5號電機選用EC-max35型,其他均為EC-max30型。受安裝空間所限,每條腿的運動控制器都為獨立的個體[5],各運動控制器通過主控計算機進行協調控制并可基于運動指令單獨完成動作,類似于人類反射弧的原理,減輕主控計算機的工作量,加快反應速度,主控計算機和運動控制器之間通過CAN總線來傳遞數據。
圖1 系統結構圖
機器人雙足步行時,主控計算機根據運動周期向底層運動控制器發送運行和停止等指令,完成對行走狀態的監控和數據運算。單個運動控制器由DSP處理和電機控制兩部分組成:DSP處理電路負責與主控計算機和傳感器之間交換各類信息、分析接收到的數據并運算輸出相應關節電機的控制信號;電機控制電路根據控制信號驅動相應的電機動作,達到要求的速度和角度,并對光電編碼器信號進行處理,將執行結果反饋給DSP形成閉環控制,保證執行的精度。
數據處理器選用的是TMS320F2812,它擁有基于C/C++高效32位DSP內核,提高了運算的精度;時鐘頻率高達150 MHz,增強了系統的處理能力;集成了128 KB的FLASH存儲器、4 KB的引導ROM、數學運算表以及2 KB的OTP ROM,改善了芯片應用的靈活性;兩個事件管理器模塊為電機及功率變換控制提供了良好的控制功能;16通道高性能12位ADC單元提供了兩個采樣保持電路,可以實現雙通道信號同步采樣,適合整個運動控制器的開發需求,其代碼和指令與F24x系列完全兼容,更是保證了項目開發和產品設計的可延續性[6]。
2 電機調速原理
系統用PWM波形給出無刷直流電機的轉速信息,即利用電路一周期內的占空比變化,達到平均電壓值的改變,以對應電機不同的速度值。
在TMS320F2812中可以通過配置定時周期寄存器的周期值和比較單元的比較值來產生PWM[7],周期值用于產生PWM波的頻率,比較值用于產生PWM波的脈寬,改變比較值可以改變PWM波的占空比,改變周期值可以改變PWM波的頻率[8]。以事件管理器A為例,單路PWM信號的產生過程如下:
定時器1作為產生PWM信號的時基,通過控制寄存器T1CON和周期寄存器T1PR設置時鐘周期,通過寄存器COMCONA設置比較單元的各個參數,產生出三角波信號,在寄存器CMPR1和ACTRA中分別設置比較值和比較輸出方式,設定的比較值實時與三角波信號比較,得到相應占空比的PWM信號。將定時器計數器T1CNT設置為連續增計數方式時,產生非對稱PWM波形,設定為連續增減計數方式時,可以得到對稱的PWM波形[9]。
圖2所示是對稱PWM波形產生的原理:若PWM輸出為高電平有效,則當三角波的當前值小于比較值時輸出為低電平,當三角波的當前值大于比較值時輸出為高電平;低電平有效時,則反之。
圖2 PWM信號產生原理
如果在寄存器DBTCONx中設置了死區時間值,則相應事件管理器所有PWM輸出通道使用同一個死區值。由于加入了死區,PWM波高電平脈沖的寬度減少了一個死區時間,但是周期沒有變化,所以高有效和低有效的PWM波形的占空比可分別用式(1)和(2)來計算。
d=正脈寬PWM周期=周期值-比較值-死區值周期值
(1)
d=正脈寬PWM周期=比較值-死區值周期值
(2)
通過調節占空比,可以調節輸出電壓,用這種無級連續調節的輸出電壓可以給出速度信息,因此可以通過調整PWM信號有效電平的寬度達到控制轉速的目的。
3 硬件設計
整個硬件電路包括DSP芯片TMS320F2812、電源、JTAG仿真接口、通訊、RAM、PWM、A/D、I/O擴展、備用端口、電機驅動和光電信號處理等模塊,其控制系統結構如圖3所示。
圖3 控制器硬件設計結構圖
雙足機器人總電源采用24 V直流電源,為了滿足DSP及外圍電路的需要,需將電源轉換成5 V,3.3 V和1.8 V。首先使用DC-DC變換器將24 V轉換成5 V,再選用TPS767D318電源轉換芯片將5 V轉換成1.8 V和3.3 V。該芯片專門針對DSP設備提供穩壓電源,為雙電源輸出,每路電源的最大輸出電流為1 A,此外該芯片的電壓漂移非常低,在最大輸出電流為1 A的情況下為350 mV,每路輸出還有過熱保護、復位和監控輸出電壓等功能,能滿足系統對電源性能的要求。
系統特別留有JTAG接口電路,使控制器可以通過TDS510仿真器連接到計算機,其仿真信號采用JTAG標準IEEE1149.1,使用雙列14腳的插座,并將DSP上的EMU0和EMU1上拉連接至VCC[10]。
TMS320F2812自身集成CAN總線的控制模塊,所以在外圍電路中加入CAN總線收發器SN65HVD251D即可實現DSP與CAN總線的通信功能。為了確保在CAN總線傳輸信號的完整性,設計時在CAN總線的兩根傳輸線之間加上150 Ω的電阻進行阻抗匹配,可以提高CAN總線傳輸信號的精度。
利用XINTF的區域0和區域1擴展一塊存儲容量為(64K×16)b的RAM存儲器IS61LV6416-10T。其數據存取時間為10 ns,能滿足高速運行的需要,工作電壓為3.3 V,與DSP工作電壓一致,無需電平轉換電路。
此外,DSP控制系統中的I/O端口電壓絕大部分為3.3 V,而外部信號一般為5 V,因此需要將外部5 V信號轉換為符合DSP芯片要求的3.3 V信號,系統使用總線驅動器74LVX4245進行電平轉換。
電機驅動電路采用全橋驅動三相無刷直流電機的控制方式,由于要獨立控制5個電機,系統需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比給出轉速信息,該信息結合轉向、制動等信號通過控制電路轉換后進行電機的調速,這里使用三相無刷直流電機控制器MC33035。驅動電機時,MC33035的輸出信號施加到三相橋功率電路MPM3003上,決定功率開關器件開關頻度及換流器換相時機,使其產生出供電機正常運行所需的三相方波,根據速度電壓MC33035可改變底部半橋輸出脈沖寬度,相當于改變供給繞組的平均電壓,從而控制轉速。
4 軟件設計
運動控制系統軟件設計的關鍵是接收到主控計算機傳來的運動控制指令后,電機是否能夠達到要求的速度和角度,考慮到整個系統運行過程中不可避免的誤差,特別引入補償算法,實現速度和位置雙閉環PID控制,其具體的控制流程如圖4所示。
主控計算機根據步態規劃的數據,發出運動指令,生成下一個運動周期各個電機的轉動方向和角度等控制參數,運動控制器接收到新的數據之后,PWM控制根據數據計算出占空比信息并生成相應的PWM波,進而控制電機轉動,隨后將電機光電編碼器傳送回的信號轉換成關節位置和速度等信息,補償控制針對速度和位置誤差采用PID算法進行調節,計算需要的執行量,調整PWM波形,在每一個運動周期內使電機達到指定的速度,并使運動中的關節電機能夠克服機器人重力和外力的影響,保持在設定的角度。圖5是CCS仿真調試時,程序運行后在指定的擺動角度下監控到的單關節電機速度跟蹤曲線,其響應時間和穩定性基本滿足雙足步行的要求。
圖4 電機控制流程
圖5 1號電機速度跟蹤曲線
5 結 語
介紹了一種基于DSP的無刷直流電機運動控制系統,在控制方案的具體實現過程中,根據機器人腿部系統的自身特點,將控制器圍繞DSP處理和電機控制電路來分別設計,這樣既方便設計和調試,又增強了系統的靈活性和擴展性。電機驅動采用速度和位置雙閉環控制,保證運轉精度。經測試,系統基本滿足運動控制的要求,為雙足步行規劃提供了試驗平臺。
參考文獻
[1]包志軍,馬培蓀,姜山,等.從兩足機器人到仿人型機器人的研究歷史及其問題[J].機器人,1999,21(4):312-320.
[2]FUKUDA T, MICHELINI R, POTKONUAK V, et al. How far away is \"Artificial Man\"[J]. IEEE Robotics Automation Magazine, 2001:66-73.
[3]李允明.國外仿人機器人發展概況[J].機器人,2005,27(6):561-567.
[4]Brigitte Michel.火星上的探測車——有Maxon電動機的地方就有一條道路[J].現代制造,2006(26):52-53.
[5]陳健,雷旭升,蘇劍波.基于智能體的仿人機器人分層控制系統[J].高技術通訊,2007,17(6):586-590.
[6]谷海濤,顏湘武,于世濤.新型電機控制芯片TMS320F2812[J].微電機,2005,38(2):53-56.
[7]楊真,閆英敏.TMS320C2812型DSP在無刷直流電動機控制中的應用[J].國外電子元器件,2006(4):55-57.
[8]萬山明.TMS320F281xDSP原理及應用實例[M].北京:北京航空航天大學出版社,2007.
[9]孫立志.PWM與數字化電動機控制技術應用[M].北京:中國電力出版社,2008.
[10]龐麗娟,彭曉南,劉愛軍.基于DSP控制的無刷直流電機的設計[J].河南科技大學學報,2008,29(1):51-53.