陳 玉,李聲晉,盧 剛
(西北工業(yè)大學(xué),陜西西安710072)
目前,機器人已經(jīng)廣泛應(yīng)用于工業(yè)生產(chǎn)中,在其他領(lǐng)域的應(yīng)用也逐漸增多[1]。四足機器人作為移動機器人的一種,自由度多,運動靈活,具有很強的環(huán)境適應(yīng)能力,在星球探測、軍事偵察以及災(zāi)后搜救等方面具有廣闊的應(yīng)用前景,越來越受到各國研究者的關(guān)注。
本文以實驗室自行研制的四足機器人為對象,對四足機器人控制系統(tǒng)進行了軟硬件設(shè)計,并通過實驗驗證了控制系統(tǒng)的合理性與有效性。
本文使用的四足機器人以狗為仿生對象,對狗的骨骼結(jié)構(gòu)進行了部分簡化,整體關(guān)節(jié)分布如圖1所示。三相無刷直流電動機作為關(guān)節(jié)驅(qū)動電機,采用仿生CPG控制算法作為四足機器人的運動控制算法。
圖1 四足機器人關(guān)節(jié)分布圖
1.1 控制方式
由于四足機器人控制系統(tǒng)要執(zhí)行大量計算協(xié)調(diào)多關(guān)節(jié)的運動,并同時控制12個關(guān)節(jié)驅(qū)動電機動作,還要具備一定的擴展性,因此決定采用多CPU結(jié)構(gòu)、分布式控制方式。控制系統(tǒng)的總體結(jié)構(gòu)圖如圖2所示。
圖2 控制系統(tǒng)總體結(jié)構(gòu)圖
圖2中,PC機處于最高層,用來完成機器人的導(dǎo)航和路徑規(guī)劃,確定機器人的行走路徑;主控制器處于中層,接收PC機的指令,并將指令轉(zhuǎn)化成多關(guān)節(jié)的協(xié)調(diào)步態(tài),分解為關(guān)節(jié)信息并發(fā)送給各個關(guān)節(jié)控制器;關(guān)節(jié)控制器處于控制的最底層,接收主控制器的關(guān)節(jié)信息,完成對關(guān)節(jié)的驅(qū)動控制。
本文主要介紹主控制器和關(guān)節(jié)控制器的軟硬件設(shè)計。
1.2 通信方式
機器人控制系統(tǒng)主控制器與PC機之間的通信采用無線方式,這樣避免了通信雙方之間的線纜連接,可以實現(xiàn)遠距離通信。
主控制器與關(guān)節(jié)控制器之間的通信屬于多點通信,通信距離在60 cm左右,要求可靠性高,實時傳輸。CAN總線可以滿足這些要求,而且接口電路在DSP、單片機上容易實現(xiàn),開發(fā)比較方便,因此選用CAN總線作為電控系統(tǒng)主控制器和關(guān)節(jié)控制器之間的通信總線。
2.1 主控制器硬件設(shè)計
主控制器硬件電路由主控芯片及其外圍接口電路、傳感器檢測電路、無線通訊電路、CAN總線通訊電路和串口通訊電路組成。其結(jié)構(gòu)框圖如圖3所示。
圖3 主控器組成框圖
考慮到設(shè)計要求和開發(fā)的難易程度,主控芯片采用微星公司的dsPIC30F6014A。該控制器集成了高性能的運算單元、大容量的片上存儲器和豐富的外設(shè)電路,可以提供高運算速度、精度和強數(shù)據(jù)處理能力,完全滿足本控制系統(tǒng)的使用要求。
無線收發(fā)芯片采用Integration公司的IA4421。IA4421成本低、集成度高、調(diào)試簡單,包括RF部分、基帶放大過濾部分、數(shù)據(jù)處理單元和片上控制器。片上控制器通過SPI接口與外部通信,控制無線數(shù)據(jù)的接收和發(fā)送。
傳感器選用ADI公司的單軸角速度傳感器ADXRS300和雙軸加速度傳感器ADXL210E。將角速度傳感檢測電路和加速度傳感檢測電路分別做成容易安裝在機體上的小電路板,然后將兩個加速度檢測板分別安裝在與機體平面平行和垂直的兩個平面上,三個角速度檢測板安裝在三個相互垂直的平面上,組成機體的位姿檢測平臺。
CAN總線通訊電路中,dsPIC30F6014A片上帶有兩個CAN模塊,因此通過外擴CAN控制器和CAN收發(fā)器即可實現(xiàn)多個CAN接口。CAN控制器采用微星公司的MCP2510,使用SPI接口可以外擴4路MCP2510來實現(xiàn)4個CAN接口。CAN收發(fā)器選擇比較常用的PCA82C250。串行通信電路中,主控制器端采用RS485串行通信接口,外接RS485收發(fā)器SP491E,然后通過RS485-RS232轉(zhuǎn)換器連接到PC機的串口。
2.2 關(guān)節(jié)控制器硬件設(shè)計
關(guān)節(jié)控制器硬件電路主要由電源模塊、CPU模塊、驅(qū)動模塊、功率變換模塊、檢測模塊和通訊模塊組成??刂破髟砜驁D如圖4所示。
蓄電池提供的電壓為24 V,控制器的各個部分所需要的用電電壓不同,可分為三組:功率模塊為24 V,驅(qū)動模塊為15 V,CPU及其外圍電路需要5 V供電。分別使用線性穩(wěn)壓器7815和7805,得到15 V和5 V電壓。
圖4 關(guān)節(jié)控制器原理框圖
CPU選用微星公司的16位高性能控制器dsPIC30F4012,它是專門為電機高速控制所設(shè)計的一種16位微處理器,集成了多種功能模塊,其中包括一個6通道的電機專用MCPWM控制器,通過編程可產(chǎn)生互補的三相6路PWM波形,大大簡化了產(chǎn)生脈寬調(diào)制(PWM)波形的控制軟件和外部硬件。同時,還可以通過編程設(shè)置死區(qū)時間防止同一橋臂上下兩個功率管發(fā)生直通造成短路。
驅(qū)動芯片采用美國國際整流器公司的多路驅(qū)動芯片IR2130,一個IR2130可驅(qū)動三相橋式電路的六個功率開關(guān)器件,內(nèi)部設(shè)計有過電流、過電壓及欠電壓保護,輸出的最大正向峰值驅(qū)動電流為250 mA,而反向峰值驅(qū)動電流為500 mA,耐壓600 V,滿足系統(tǒng)的需要。其外圍電路主要包括驅(qū)動連接電路和高壓側(cè)的自舉電路。
功率變換電路采用三相全橋方式,功率器件選用N溝道的MOSFET IRF540,開關(guān)速度快、驅(qū)動功率小,額定電流為40 A,耐壓為100 V,導(dǎo)通電阻只有44 mΩ,工作結(jié)溫范圍為-55℃ ~175℃,滿足系統(tǒng)的使用要求。
針對過電流設(shè)計了故障保護電路,采用漏源極電壓探測的方式對三個下管進行檢測。將探測電壓與參考電壓進行比較,比較輸出信號接入IR2130的ITRIP引腳(高電平有效)。當發(fā)生過流時,ITRIP引腳被置高,IR2130封鎖PWM輸入信號,輸出全為低電平,保證6個功率管全部關(guān)斷。
角位移傳感器用于測量關(guān)節(jié)轉(zhuǎn)動的角度,選用了導(dǎo)電塑料電位計WDY-35D4-619,線性度0.1%,有效角度范圍0°~345°。
電控系統(tǒng)的軟件設(shè)計包括主控制器和關(guān)節(jié)控制器的軟件設(shè)計。采用模塊化編程方法,可將控制軟件分成多個獨立的功能模塊,軟件模塊框圖如圖5中所示。
3.1 主控制器軟件設(shè)計
主控制器的功能主要包括:進行CPG算法迭代計算,將計算得到的各關(guān)節(jié)指令發(fā)送給各關(guān)節(jié)控制器,同時接收各關(guān)節(jié)控制器的反饋信息;采集位姿傳感器的輸出,通過無線通訊方式發(fā)送給上位機,同時解包接收的上位機指令,其主程序流程圖如圖6所示。
圖5 軟件模塊框圖
圖6 主程序流程圖
3.2 關(guān)節(jié)控制器軟件設(shè)計關(guān)節(jié)控制器的功能主要包括:接收到主控制器的位置指令后,驅(qū)動電機轉(zhuǎn)動,利用積分分離PID控制算法對關(guān)節(jié)轉(zhuǎn)角進行閉環(huán)控制,定時讀取關(guān)節(jié)角度信息,通過CAN總線將關(guān)節(jié)角度信息回送給主控制器。
關(guān)節(jié)控制器主程序流程圖如圖7a所示,PID計算子程序流程圖如圖7b所示。
圖7 關(guān)節(jié)控制器主程序流程圖
4.1 單關(guān)節(jié)驅(qū)動實驗
關(guān)節(jié)用無刷直流電動機參數(shù):24 V供電,額定功率52 W,額定電流2.55 A,額定轉(zhuǎn)速3 000 r/min,額定轉(zhuǎn)矩 0.16 N·m。
實驗測得dsPIC30F4012輸出PWM的死區(qū)時間值為500 ns,如圖8a所示,與設(shè)定值相符,該死區(qū)時間可在軟件中進行修改。電機穩(wěn)態(tài)運行時三路PWM輸出和電機某一線電動勢波形如圖8b所示。實驗結(jié)果表明,關(guān)節(jié)控制器可以對關(guān)節(jié)電機進行準確有效的控制。
圖8 PWM死區(qū)時間與驅(qū)動信號波形圖
4.2 步行實驗
圖9 實地步行試驗圖
機器人樣機長75 cm、寬 50 cm、高 50 cm,重 14 kg,分別讓機器人進行了行走、小跑、溜步、奔跑步態(tài)的實驗。圖9為實地步行試驗圖。
實驗表明,當機器人處于行走步態(tài)時,同一時刻只有一條腿處于擺動相,重心變化范圍小,通過補償關(guān)節(jié)角,步行動作可持續(xù)進行。處于其他步態(tài)如小跑、溜步、奔跑時,重心變化范圍較大,關(guān)節(jié)角不能及時響應(yīng)到達,容易造成跌絆和摔倒。為了提高機器人的行走速度,應(yīng)該再對機械結(jié)構(gòu)進行改進,使用性能更好的驅(qū)動器。
采用dsPIC30F6014A和dsPIC30F4012芯片設(shè)計了以狗為仿生對象的四足機器人電控系統(tǒng),充分利用了芯片的高效運算處理能力和豐富的片內(nèi)資源,使得系統(tǒng)硬件電路設(shè)計更為簡單可靠,軟件設(shè)計也易于實現(xiàn)。通過實驗可以看出,該控制系統(tǒng)設(shè)計合理,能夠?qū)λ淖銠C器人在四種步態(tài)下的行為進行有效控制,并具有較強的擴展性,基本滿足自主移動機器人控制系統(tǒng)的要求。
[1]蔡自興.機器人學(xué)[M].北京:清華大學(xué)出版社,2006.
[2]陳學(xué)東,孫翊,賈文川.多足步行機器人運動規(guī)劃與控制[M].武漢:華中科技大學(xué)出版社,2006.
[3]Hohl L,Tellez R,Michel O,et al.Aibo and Webots:simulation,wireless remote control and controller transfer[J].Robotics and Autonomous Systems,2006,54:472-485.
[4]尹真.四足機器人電控系統(tǒng)研制[D].西北工業(yè)大學(xué),2008.
[5]Hernandez-Guzman V M,Santibanez V,Campa R.PID control of rigid robots actuated by brushless DC motors[C]//American Control Conferrence.Seattle,WA.2008:1430-1435.