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