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