基于DSP的雙足機(jī)器人運(yùn)動控制系統(tǒng)設(shè)計
近年來,仿人機(jī)器人一直是自動控制領(lǐng)域研究的熱點(diǎn)。在模仿人類進(jìn)行邁步行走時,由于仿人機(jī)器人的重心經(jīng)常要處于中心線以外的區(qū)域,使得它的身體很難保持站姿平衡,能夠穩(wěn)定地實現(xiàn)雙足行走是仿人機(jī)器人研究的重點(diǎn)也是難點(diǎn)。人類需要大腦和肢體的相互配合來協(xié)調(diào)動作,機(jī)器人需要的則是運(yùn)動控制器和驅(qū)動裝置的強(qiáng)大支持,尤其是運(yùn)動控制器,需要有高效率的芯片為基礎(chǔ),才能最迅速地采集數(shù)據(jù)、完成計算和發(fā)送指令。在本次設(shè)計中機(jī)器人關(guān)節(jié)使用的是大功率三相無刷直流電機(jī),控制器采用TMS320F2812芯片,它是TI公司推出的一款針對控制領(lǐng)域做優(yōu)化配置的數(shù)字信號處理器,器件上集成了多種先進(jìn)的外設(shè),為電機(jī)高速度和高精度控制提供了良好的平臺。
1 系統(tǒng)概述
雙足機(jī)器人每條腿設(shè)有5個自由度,這樣既可以實現(xiàn)基本的步行功能,又盡可能的簡化了控制變量,系統(tǒng)整體結(jié)構(gòu)如圖1所示,L1~L5分別對應(yīng)左腿髖側(cè)向、髖前向、膝前向、踝前向、踝側(cè)向關(guān)節(jié)電機(jī),R1~R5對應(yīng)右腿??紤]到成本因素和驅(qū)動性能,選用Maxon的EC-max系列三相無刷直流電機(jī)來驅(qū)動關(guān)節(jié)活動,其中1號和5號電機(jī)選用EC-max35型,其他均為EC-max30型。受安裝空間所限,每條腿的運(yùn)動控制器都為獨(dú)立的個體,各運(yùn)動控制器通過主控計算機(jī)進(jìn)行協(xié)調(diào)控制并可基于運(yùn)動指令單獨(dú)完成動作,類似于人類反射弧的原理,減輕主控計算機(jī)的工作量,加快反應(yīng)速度,主控計算機(jī)和運(yùn)動控制器之間通過CAN總線來傳遞數(shù)據(jù)。
機(jī)器人雙足步行時,主控計算機(jī)根據(jù)運(yùn)動周期向底層運(yùn)動控制器發(fā)送運(yùn)行和停止等指令,完成對行走狀態(tài)的監(jiān)控和數(shù)據(jù)運(yùn)算。單個運(yùn)動控制器由DSP處理和電機(jī)控制兩部分組成:DSP處理電路負(fù)責(zé)與主控計算機(jī)和傳感器之間交換各類信息、分析接收到的數(shù)據(jù)并運(yùn)算輸出相應(yīng)關(guān)節(jié)電機(jī)的控制信號;電機(jī)控制電路根據(jù)控制信號驅(qū)動相應(yīng)的電機(jī)動作,達(dá)到要求的速度和角度,并對光電編碼器信號進(jìn)行處理,將執(zhí)行結(jié)果反饋給DSP形成閉環(huán)控制,保證執(zhí)行的精度。
數(shù)據(jù)處理器選用的是TMS320F2812,它擁有基于C/C++高效32位DSP內(nèi)核,提高了運(yùn)算的精度;時鐘頻率高達(dá)150 MHz,增強(qiáng)了系統(tǒng)的處理能力;集成了128 KB的FLASH存儲器、4 KB的引導(dǎo)ROM、數(shù)學(xué)運(yùn)算表以及2 KB的OTP ROM,改善了芯片應(yīng)用的靈活性;兩個事件管理器模塊為電機(jī)及功率變換控制提供了良好的控制功能;16通道高性能12位ADC單元提供了兩個采樣保持電路,可以實現(xiàn)雙通道信號同步采樣,適合整個運(yùn)動控制器的開發(fā)需求,其代碼和指令與F24x系列完全兼容,更是保證了項目開發(fā)和產(chǎn)品設(shè)計的可延續(xù)性。
2 電機(jī)調(diào)速原理
系統(tǒng)用PWM波形給出無刷直流電機(jī)的轉(zhuǎn)速信息,即利用電路一周期內(nèi)的占空比變化,達(dá)到平均電壓值的改變,以對應(yīng)電機(jī)不同的速度值。
在TMS320F2812中可以通過配置定時周期寄存器的周期值和比較單元的比較值來產(chǎn)生PWM,周期值用于產(chǎn)生PWM波的頻率,比較值用于產(chǎn)生PWM波的脈寬,改變比較值可以改變PWM波的占空比,改變周期值可以改變PWM波的頻率。以事件管理器A為例,單路PWM信號的產(chǎn)生過程如下:
定時器1作為產(chǎn)生PWM信號的時基,通過控制寄存器T1CON和周期寄存器TlPR設(shè)置時鐘周期,通過寄存器COMCONA設(shè)置比較單元的各個參數(shù),產(chǎn)生出三角波信號,在寄存器CMPRl和ACTRA中分別設(shè)置比較值和比較輸出方式,設(shè)定的比較值實時與三角波信號比較,得到相應(yīng)占空比的PWM信號。將定時器計數(shù)器T1CNT設(shè)置為連續(xù)增計數(shù)方式時,產(chǎn)生非對稱PWM波形,設(shè)定為連續(xù)增減計數(shù)方式時,可以得到對稱的PWM波形。
圖2所示是對稱PWM波形產(chǎn)生的原理:若PWM輸出為高電平有效,則當(dāng)三角波的當(dāng)前值小于比較值時輸出為低電平,當(dāng)三角波的當(dāng)前值大于比較值時輸出為高電平;低電平有效時,則反之。
如果在寄存器DBTCONx中設(shè)置了死區(qū)時間值,則相應(yīng)事件管理器所有PWM輸出通道使用同一個死區(qū)值。由于加入了死區(qū),PWM波高電平脈沖的寬度減少了一個死區(qū)時間,但是周期沒有變化,所以高有效和低有效的PWM波形的占空比可分別用式(1)和(2)來計算。
通過調(diào)節(jié)占空比,可以調(diào)節(jié)輸出電壓,用這種無級連續(xù)調(diào)節(jié)的輸出電壓可以給出速度信息,因此可以通過調(diào)整PWM信號有效電平的寬度達(dá)到控制轉(zhuǎn)速的目的。
3 硬件設(shè)計
整個硬件電路包括DSP芯片TMS320F2812、電源、JTAG仿真接口、通訊、RAM、PWM、A/D、I/O擴(kuò)展、備用端口、電機(jī)驅(qū)動和光電信號處理等模塊,其控制系統(tǒng)結(jié)構(gòu)如圖3所示。
雙足機(jī)器人總電源采用24 V直流電源,為了滿足DSP及外圍電路的需要,需將電源轉(zhuǎn)換成5 V,3.3 V和1.8 V。首先使用DC-DC變換器將24 V轉(zhuǎn)換成5 V,再選用TPS767D318電源轉(zhuǎn)換芯片將5 V轉(zhuǎn)換成1.8 V和3.3 V。該芯片專門針對DSP設(shè)備提供穩(wěn)壓電源,為雙電源輸出,每路電源的最大輸出電流為1 A,此外該芯片的電壓漂移非常低,在最大輸出電流為1 A的情況下為350 mV,每路輸出還有過熱保護(hù)、復(fù)位和監(jiān)控輸出電壓等功能,能滿足系統(tǒng)對電源性能的要求。
系統(tǒng)特別留有JTAG接口電路,使控制器可以通過TDS510仿真器連接到計算機(jī),其仿真信號采用JTAG標(biāo)準(zhǔn)IEEEll49.1,使用雙列14腳的插座,并將DSP上的EMU0和EMU1上拉連接至Vcc。
TMS320F2812自身集成CAN總線的控制模塊,所以在外圍電路中加入CAN總線收發(fā)器SN65HVD251D即可實現(xiàn)DSP與CAN總線的通信功能。為了確保在CAN總線傳輸信號的完整性,設(shè)計時在CAN總線的兩根傳輸線之間加上150 Ω的電阻進(jìn)行阻抗匹配,可以提高CAN總線傳輸信號的精度。
利用XINTF的區(qū)域O和區(qū)域1擴(kuò)展一塊存儲容量為(64K×16)b的RAM存儲器IS61LV6416-10T。其數(shù)據(jù)存取時間為10 ns,能滿足高速運(yùn)行的需要,工作電壓為3.3 V,與DSP工作電壓一致,無需電平轉(zhuǎn)換電路。
此外,DSP控制系統(tǒng)中的I/0端口電壓絕大部分為3.3 V,而外部信號一般為5 V,因此需要將外部5 V信號轉(zhuǎn)換為符合DSP芯片要求的3.3 V信號,系統(tǒng)使用總線驅(qū)動器74LVX4245進(jìn)行電平轉(zhuǎn)換。
電機(jī)驅(qū)動電路采用全橋驅(qū)動三相無刷直流電機(jī)的控制方式,由于要獨(dú)立控制5個電機(jī),系統(tǒng)需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比給出轉(zhuǎn)速信息,該信息結(jié)合轉(zhuǎn)向、制動等信號通過控制電路轉(zhuǎn)換后進(jìn)行電機(jī)的調(diào)速,這里使用三相無刷直流電機(jī)控制器MC33035。驅(qū)動電機(jī)時,MC33035的輸出信號施加到三相橋功率電路MPM3003上,決定功率開關(guān)器件開關(guān)頻度及換流器換相時機(jī),使其產(chǎn)生出供電機(jī)正常運(yùn)行所需的三相方波,根據(jù)速度電壓MC33035可改變底部半橋輸出脈沖寬度,相當(dāng)于改變供給繞組的平均電壓,從而控制轉(zhuǎn)速。
4 軟件設(shè)計
運(yùn)動控制系統(tǒng)軟件設(shè)計的關(guān)鍵是接收到主控計算機(jī)傳來的運(yùn)動控制指令后,電機(jī)是否能夠達(dá)到要求的速度和角度,考慮到整個系統(tǒng)運(yùn)行過程中不可避免的誤差,特別引入補(bǔ)償算法,實現(xiàn)速度和位置雙閉環(huán)PID控制,其具體的控制流程如圖4所示。
主控計算機(jī)根據(jù)步態(tài)規(guī)劃的數(shù)據(jù),發(fā)出運(yùn)動指令,生成下一個運(yùn)動周期各個電機(jī)的轉(zhuǎn)動方向和角度等控制參數(shù),運(yùn)動控制器接收到新的數(shù)據(jù)之后,PWM控制根據(jù)數(shù)據(jù)計算出占空比信息并生成相應(yīng)的PWM波,進(jìn)而控制電機(jī)轉(zhuǎn)動,隨后將電機(jī)光電編碼器傳送回的信號轉(zhuǎn)換成關(guān)節(jié)位置和速度等信息,補(bǔ)償控制針對速度和位置誤差采用PID算法進(jìn)行調(diào)節(jié),計算需要的執(zhí)行量,調(diào)整PWM波形,在每一個運(yùn)動周期內(nèi)使電機(jī)達(dá)到指定的速度,并使運(yùn)動中的關(guān)節(jié)電機(jī)能夠克服機(jī)器人重力和外力的影響,保持在設(shè)定的角度。圖5是CCS仿真調(diào)試時,程序運(yùn)行后在指定的擺動角度下監(jiān)控到的單關(guān)節(jié)電機(jī)速度跟蹤曲線,其響應(yīng)時間和穩(wěn)定性基本滿足雙足步行的要求。
5 結(jié)語
介紹了一種基于DSP的無刷直流電機(jī)運(yùn)動控制系統(tǒng),在控制方案的具體實現(xiàn)過程中,根據(jù)機(jī)器人腿部系統(tǒng)的自身特點(diǎn),將控制器圍繞DSP處理和電機(jī)控制電路來分別設(shè)計,這樣既方便設(shè)計和調(diào)試,又增強(qiáng)了系統(tǒng)的靈活性和擴(kuò)展性。電機(jī)驅(qū)動采用速度和位置雙閉環(huán)控制,保證運(yùn)轉(zhuǎn)精度。經(jīng)測試,系統(tǒng)基本滿足運(yùn)動控制的要求,為雙足步行規(guī)劃提供了試驗平臺。