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