基于PC/104與單片機的仿人機器人控制系統設計
0 引 言
機器人作為一個(gè)各學(xué)科交叉的復雜系統,越來(lái)越多的科研者采用機器人作為實(shí)驗平臺,因為它包括機械結構的設計,控制系統的構建,信息的采集與處理,運動(dòng)學(xué)和動(dòng)力學(xué)分析,人工智能等多方面知識的融合。仿人機器人從最初簡(jiǎn)單模擬人的外形、動(dòng)作、行走等,逐漸向人的思維、視覺(jué)、觸覺(jué)、智能等方面轉變,這就對機器人整個(gè)系統提出了更高的要求,不但要進(jìn)一步完善機器人的機械結構和安裝,而且要增強控制系統的功能和處理能力。
對于控制系統而言,目前在仿人機器人上常用的控制芯片有DSP,ARM或其他一些單片機等,為了進(jìn)一步增強機器人的可擴展性,這里采用嵌入式系統PC/104作為機器人的主控制計算機,它具有實(shí)時(shí)性好,成本低,小型化的優(yōu)點(diǎn),克服了傳統的基于單片機控制系統功能不足和基于PC控制系統非實(shí)時(shí)性的缺點(diǎn),在仿人機器人應用中具有廣泛前景。
1仿人機器人結構及控制系統
該機器人共有21個(gè)自由度,其中頭部2個(gè)自由度,可以實(shí)現頭部的俯仰和左右偏轉,在頭上裝有一個(gè)CCD攝像機,并且帶有視覺(jué)采集卡以及視覺(jué)處理計算機,能夠實(shí)現目標的識別和定位,為主控計算機直接提供目標信息。每個(gè)手臂3個(gè)自由度,能夠完成伸展和彎曲等動(dòng)作,在機器人摔倒后可以提供支撐力,讓機器人可以自行起立。腰上1個(gè)自由度,實(shí)現仿人機器人軀干的前傾和后仰,便于機器人在行走或執行手上動(dòng)作時(shí)重心的調節,增強機器人的可控性和穩定性。下肢6個(gè)自由度,其中踝關(guān)節處2個(gè)自由度,髖關(guān)節處3個(gè)自由度,與人的腿部結構相似,能夠靈活的完成下肢的各種動(dòng)作。仿人機器人的整個(gè)結構采用框架式結構,有利于減輕機器人結構上的重量,提高機器人的承載能力,為機器人控制系統的改進(jìn)提供了更大的空間。如圖1所示為仿人機器人實(shí)物圖。
仿人機器人控制系統以ACS一4051VEPC/104主板模塊作為主控制器,通過(guò)USB直接連接攝像頭,一個(gè)RS 232串行口與關(guān)節控制器相連,實(shí)現主控制計算機與關(guān)節控制器的通信。驅動(dòng)模塊和關(guān)節控制器集成在一個(gè)PC板上,主要實(shí)現PWM波的產(chǎn)生,驅動(dòng)電機轉動(dòng)。ACS一4051VE主板集成了Intel 82559ERl0/100 Mb/s以太網(wǎng)卡,外接一個(gè)無(wú)線(xiàn)網(wǎng)卡可以實(shí)現與外部無(wú)線(xiàn)網(wǎng)絡(luò )的通信。仿人機器人控制系統總體上主要分為2個(gè)部分:主控制器模塊和關(guān)節控制器模塊。它的總體結構實(shí)物圖如圖2所示。
主要特性有:
(1)高速、流水線(xiàn)結構的8051兼容的CIP一51內核(可達25 MIPS),70%的指令的執行時(shí)間為1個(gè)或2個(gè)系統時(shí)鐘周期,能滿(mǎn)足關(guān)節控制器的需要。
(2)有4個(gè)通用16位計數器/定時(shí)器,以及16位可編程計數器/定時(shí)器陣列,5個(gè)捕捉/比較模塊,29個(gè)端口I/O。通過(guò)對片內進(jìn)行編程,以及合理地分配比較器與I/O口,實(shí)現在C8051F310芯片上產(chǎn)生21路PWM波。由于單片機輸出的是數字形式的控制量,必須經(jīng)過(guò)D/A轉換變成模擬控制量,經(jīng)伺服放大器驅動(dòng)電機。
在此采用MAXIIM的12位串行D/A芯片MAX531作為數/模轉換芯片,將MAX531工作在雙極性電壓方式下,其輸出模擬量的范圍在一2.048~+2.048 V,精度為1 mV。輸出的模擬量經(jīng)過(guò)運算放大器進(jìn)行放大,進(jìn)入伺服放大器驅動(dòng)電機。
C8051F310作為關(guān)節控制器控制核心,它主要負責21路PWM的產(chǎn)生,在C8051F310芯片中集成了4個(gè)通用的16位計數器/定時(shí)器,5個(gè)捕捉/比較模塊,運用1個(gè)計數器/定時(shí)器和1個(gè)比較模塊控制6路I/0端口,其他3個(gè)計數器/定時(shí)器和3個(gè)比較器控制15路I/O口,來(lái)實(shí)現21路PWM波的產(chǎn)生。這里以6路PWM波的產(chǎn)生來(lái)說(shuō)明運用C8051F310實(shí)現電路,其電路圖如圖4所示:CEXn引腳產(chǎn)生脈寬調制PWM輸出,PWM輸出的頻率取決于PCA計數器/定時(shí)器的時(shí)基,使用模塊的捕捉/比較寄存器PCA0CPLn改變PWM輸出信號的占空比。當關(guān)節控制器接收給定的6個(gè)電機轉動(dòng)角度序列數據后.由軟件將6個(gè)數據從小到大排列,并依次求出相鄰2個(gè)數的差值,按照最小的數、前2個(gè)數的差值到最后兩個(gè)數的差值排列好,并將從小到大的數據對映的交叉開(kāi)關(guān)的地址依次對映。
程序將第一個(gè)最小角度數放入比較寄存器的低8位PCA0CPLn中,當PCA計數器/定時(shí)器的低字節(PCAOL)與PCA0CPLn中的值相等時(shí),CEXn引腳上的輸出被置“1”;同時(shí)程序將第二個(gè)數據即差值放入比較寄存器的PCA0CPLn中,PCA計數器/定時(shí)器清零,并將交叉開(kāi)關(guān)置位到相應的輸出腳,當PCA計數器/定時(shí)器的低字節(PCAOL)與PCA0CPLn中的值再次相等時(shí),CEXn引腳上的輸出被置“1”,直到這組數據完畢。PCAOL中的計數值溢出,CEXn輸出被復位,準備第二輪的PWM波的產(chǎn)生。
3 實(shí) 驗
3.1 圖像采集處理
為了使機器人能夠達到預定目標,必須對軟件系統進(jìn)行設計規劃。主控計算機上安裝了WIN98系統,圖像采集與處理采用VC進(jìn)行編程,下面是圖像采集處理的程序運行界面如圖5所示。
3.2 仿人機器人穩定步行
運用這種控制系統來(lái)實(shí)現DF一1仿人機器人行走的控制,通過(guò)實(shí)驗表明,此系統能夠完成仿人機器的動(dòng)態(tài)穩定行走,圖6是一系列行走連續行走的截圖。
4 結 語(yǔ)
基于PC/104嵌入式計算機和C8051F310芯片設計了仿人機器人的控制系統,實(shí)現了機器人的圖像采集和處理,以及機器人的穩定步行。PC/104嵌入式計算機功能齊備,運算能力強,可擴展性好,作為仿人機器人控制系統有它獨特的優(yōu)點(diǎn)。單片機實(shí)現仿人機器人的關(guān)節控制,由于其計算能力有限,難以實(shí)現復雜的控制,因此這種控制系統可以用來(lái)作為實(shí)驗用和教學(xué)用機器人。
評論