陳 玉,李聲晉,盧 剛
(西北工業大學,陜西西安710072)
目前,機器人已經廣泛應用于工業生產中,在其他領域的應用也逐漸增多[1]。四足機器人作為移動機器人的一種,自由度多,運動靈活,具有很強的環境適應能力,在星球探測、軍事偵察以及災后搜救等方面具有廣闊的應用前景,越來越受到各國研究者的關注。
本文以實驗室自行研制的四足機器人為對象,對四足機器人控制系統進行了軟硬件設計,并通過實驗驗證了控制系統的合理性與有效性。
本文使用的四足機器人以狗為仿生對象,對狗的骨骼結構進行了部分簡化,整體關節分布如圖1所示。三相無刷直流電動機作為關節驅動電機,采用仿生CPG控制算法作為四足機器人的運動控制算法。

圖1 四足機器人關節分布圖
1.1 控制方式
由于四足機器人控制系統要執行大量計算協調多關節的運動,并同時控制12個關節驅動電機動作,還要具備一定的擴展性,因此決定采用多CPU結構、分布式控制方式。控制系統的總體結構圖如圖2所示。

圖2 控制系統總體結構圖
圖2中,PC機處于最高層,用來完成機器人的導航和路徑規劃,確定機器人的行走路徑;主控制器處于中層,接收PC機的指令,并將指令轉化成多關節的協調步態,分解為關節信息并發送給各個關節控制器;關節控制器處于控制的最底層,接收主控制器的關節信息,完成對關節的驅動控制。
本文主要介紹主控制器和關節控制器的軟硬件設計。
1.2 通信方式
機器人控制系統主控制器與PC機之間的通信采用無線方式,這樣避免了通信雙方之間的線纜連接,可以實現遠距離通信。
主控制器與關節控制器之間的通信屬于多點通信,通信距離在60 cm左右,要求可靠性高,實時傳輸。CAN總線可以滿足這些要求,而且接口電路在DSP、單片機上容易實現,開發比較方便,因此選用CAN總線作為電控系統主控制器和關節控制器之間的通信總線。
2.1 主控制器硬件設計
主控制器硬件電路由主控芯片及其外圍接口電路、傳感器檢測電路、無線通訊電路、CAN總線通訊電路和串口通訊電路組成。其結構框圖如圖3所示。

圖3 主控器組成框圖
考慮到設計要求和開發的難易程度,主控芯片采用微星公司的dsPIC30F6014A。該控制器集成了高性能的運算單元、大容量的片上存儲器和豐富的外設電路,可以提供高運算速度、精度和強數據處理能力,完全滿足本控制系統的使用要求。
無線收發芯片采用Integration公司的IA4421。IA4421成本低、集成度高、調試簡單,包括RF部分、基帶放大過濾部分、數據處理單元和片上控制器。片上控制器通過SPI接口與外部通信,控制無線數據的接收和發送。
傳感器選用ADI公司的單軸角速度傳感器ADXRS300和雙軸加速度傳感器ADXL210E。將角速度傳感檢測電路和加速度傳感檢測電路分別做成容易安裝在機體上的小電路板,然后將兩個加速度檢測板分別安裝在與機體平面平行和垂直的兩個平面上,三個角速度檢測板安裝在三個相互垂直的平面上,組成機體的位姿檢測平臺。
CAN總線通訊電路中,dsPIC30F6014A片上帶有兩個CAN模塊,因此通過外擴CAN控制器和CAN收發器即可實現多個CAN接口。CAN控制器采用微星公司的MCP2510,使用SPI接口可以外擴4路MCP2510來實現4個CAN接口。CAN收發器選擇比較常用的PCA82C250。串行通信電路中,主控制器端采用RS485串行通信接口,外接RS485收發器SP491E,然后通過RS485-RS232轉換器連接到PC機的串口。
2.2 關節控制器硬件設計
關節控制器硬件電路主要由電源模塊、CPU模塊、驅動模塊、功率變換模塊、檢測模塊和通訊模塊組成。控制器原理框圖如圖4所示。
蓄電池提供的電壓為24 V,控制器的各個部分所需要的用電電壓不同,可分為三組:功率模塊為24 V,驅動模塊為15 V,CPU及其外圍電路需要5 V供電。分別使用線性穩壓器7815和7805,得到15 V和5 V電壓。

圖4 關節控制器原理框圖
CPU選用微星公司的16位高性能控制器dsPIC30F4012,它是專門為電機高速控制所設計的一種16位微處理器,集成了多種功能模塊,其中包括一個6通道的電機專用MCPWM控制器,通過編程可產生互補的三相6路PWM波形,大大簡化了產生脈寬調制(PWM)波形的控制軟件和外部硬件。同時,還可以通過編程設置死區時間防止同一橋臂上下兩個功率管發生直通造成短路。
驅動芯片采用美國國際整流器公司的多路驅動芯片IR2130,一個IR2130可驅動三相橋式電路的六個功率開關器件,內部設計有過電流、過電壓及欠電壓保護,輸出的最大正向峰值驅動電流為250 mA,而反向峰值驅動電流為500 mA,耐壓600 V,滿足系統的需要。其外圍電路主要包括驅動連接電路和高壓側的自舉電路。
功率變換電路采用三相全橋方式,功率器件選用N溝道的MOSFET IRF540,開關速度快、驅動功率小,額定電流為40 A,耐壓為100 V,導通電阻只有44 mΩ,工作結溫范圍為-55℃ ~175℃,滿足系統的使用要求。
針對過電流設計了故障保護電路,采用漏源極電壓探測的方式對三個下管進行檢測。將探測電壓與參考電壓進行比較,比較輸出信號接入IR2130的ITRIP引腳(高電平有效)。當發生過流時,ITRIP引腳被置高,IR2130封鎖PWM輸入信號,輸出全為低電平,保證6個功率管全部關斷。
角位移傳感器用于測量關節轉動的角度,選用了導電塑料電位計WDY-35D4-619,線性度0.1%,有效角度范圍0°~345°。
電控系統的軟件設計包括主控制器和關節控制器的軟件設計。采用模塊化編程方法,可將控制軟件分成多個獨立的功能模塊,軟件模塊框圖如圖5中所示。
3.1 主控制器軟件設計
主控制器的功能主要包括:進行CPG算法迭代計算,將計算得到的各關節指令發送給各關節控制器,同時接收各關節控制器的反饋信息;采集位姿傳感器的輸出,通過無線通訊方式發送給上位機,同時解包接收的上位機指令,其主程序流程圖如圖6所示。

圖5 軟件模塊框圖

圖6 主程序流程圖
3.2 關節控制器軟件設計關節控制器的功能主要包括:接收到主控制器的位置指令后,驅動電機轉動,利用積分分離PID控制算法對關節轉角進行閉環控制,定時讀取關節角度信息,通過CAN總線將關節角度信息回送給主控制器。
關節控制器主程序流程圖如圖7a所示,PID計算子程序流程圖如圖7b所示。

圖7 關節控制器主程序流程圖
4.1 單關節驅動實驗
關節用無刷直流電動機參數:24 V供電,額定功率52 W,額定電流2.55 A,額定轉速3 000 r/min,額定轉矩 0.16 N·m。
實驗測得dsPIC30F4012輸出PWM的死區時間值為500 ns,如圖8a所示,與設定值相符,該死區時間可在軟件中進行修改。電機穩態運行時三路PWM輸出和電機某一線電動勢波形如圖8b所示。實驗結果表明,關節控制器可以對關節電機進行準確有效的控制。

圖8 PWM死區時間與驅動信號波形圖
4.2 步行實驗

圖9 實地步行試驗圖
機器人樣機長75 cm、寬 50 cm、高 50 cm,重 14 kg,分別讓機器人進行了行走、小跑、溜步、奔跑步態的實驗。圖9為實地步行試驗圖。
實驗表明,當機器人處于行走步態時,同一時刻只有一條腿處于擺動相,重心變化范圍小,通過補償關節角,步行動作可持續進行。處于其他步態如小跑、溜步、奔跑時,重心變化范圍較大,關節角不能及時響應到達,容易造成跌絆和摔倒。為了提高機器人的行走速度,應該再對機械結構進行改進,使用性能更好的驅動器。
采用dsPIC30F6014A和dsPIC30F4012芯片設計了以狗為仿生對象的四足機器人電控系統,充分利用了芯片的高效運算處理能力和豐富的片內資源,使得系統硬件電路設計更為簡單可靠,軟件設計也易于實現。通過實驗可以看出,該控制系統設計合理,能夠對四足機器人在四種步態下的行為進行有效控制,并具有較強的擴展性,基本滿足自主移動機器人控制系統的要求。
[1]蔡自興.機器人學[M].北京:清華大學出版社,2006.
[2]陳學東,孫翊,賈文川.多足步行機器人運動規劃與控制[M].武漢:華中科技大學出版社,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]尹真.四足機器人電控系統研制[D].西北工業大學,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.