當(dāng)代機(jī)器人研究的領(lǐng)域已經(jīng)從結(jié)構(gòu)環(huán)境下的定點(diǎn)作業(yè)中走出來,,向非結(jié)構(gòu)環(huán)境下的自主 作 業(yè)方面發(fā)展,。而機(jī)器人靈巧手相當(dāng)于安裝在機(jī)器人臂上的可獨(dú)立實(shí)現(xiàn)精細(xì)操作運(yùn)動的一組機(jī)器人,,是真正擬人化并能實(shí)現(xiàn)靈活操作的機(jī)器人手,。他對于提高空間機(jī)器人的工作能力具有重要意義,,并且將來還可以嘗試將機(jī)器人靈巧手用于戰(zhàn)場探雷和排雷、核工業(yè)設(shè)備的檢測和修理等危險(xiǎn)作業(yè)[1],。在機(jī)器人靈巧手控制方面的研究在國內(nèi)只有少數(shù)的科研機(jī)構(gòu)進(jìn)行,,而且成本較高。在本文尋求采用一種較為合適的單片機(jī)來作為實(shí)現(xiàn)控制的核心,,基于PIC單片機(jī)的強(qiáng)大功能所以采用PIC系列單片機(jī),。
1 PIC單片機(jī)特點(diǎn)
PIC系列單片機(jī)是美國Microchip公司出品的8 b微處理器,但是他的速度與功能卻比現(xiàn)在 一些普通8 b的51單片機(jī)強(qiáng)很多,,因?yàn)樗捎昧薘ISC結(jié)構(gòu),,有別于過去的一般CISC結(jié)構(gòu),RISC結(jié)構(gòu)采用Harward雙總線結(jié)構(gòu),,將地址總線與數(shù)據(jù)總線分開,,因此數(shù)據(jù)與地址可以同時(shí)傳輸,提高了運(yùn)算速度[2],。PIC單片機(jī)的體積小,,功耗低,,而且內(nèi)部集成了多種外圍電路,使設(shè)計(jì)更加方便,,無需在單片機(jī)的設(shè)計(jì)中再添加一些外圍電路,在控制系統(tǒng)中這一點(diǎn)很重要,。本文中采用的PIC16C77單片機(jī),他有8 k的程序存貯器,;368 B RAM,;2個(gè)PWM口;內(nèi)部集成了一個(gè)5通道的8 b A/D,,具有掉電復(fù)位功能,,這些特點(diǎn)使得硬件的設(shè)計(jì)非常方便。在機(jī)器人靈巧手的控制中對于微小電機(jī)的驅(qū)動需要PWM信號來驅(qū)動,,在傳統(tǒng)的設(shè)計(jì)中是利用晶 體管組成的電路來實(shí)現(xiàn)的,,普通的51系列單片機(jī)中必須利用定時(shí)器來產(chǎn)生,而在PIC單片機(jī)中內(nèi)部包含了2個(gè)PWM信號輸出端為設(shè)計(jì)提供了方便,。
2 控制系統(tǒng)的整體硬件設(shè)計(jì)
靈巧手在抓取和操作前,,要進(jìn)行被抓物接觸點(diǎn)位置確定、抓取構(gòu)形分析判斷,、三指手正逆 解求解,、軌跡規(guī)劃等復(fù)雜運(yùn)算。這需要很長時(shí)間,。在抓取和操作過程中,,要進(jìn)行電機(jī)轉(zhuǎn)速控制、關(guān)節(jié)位置檢測控制,、指端力覺檢測等,,其中有的控制必須同時(shí)進(jìn)行,因此,,本文所設(shè)計(jì)的靈巧手采用圖1所示的按層次劃分的分級式控制系統(tǒng),。上位機(jī)為PC機(jī)主要從事主控制作用, 進(jìn)行抓取軌跡規(guī)劃,還有對下位機(jī)發(fā)出操作指令。下位機(jī)為3個(gè)控制單元與上位機(jī)進(jìn)行多機(jī)通訊, 接收指令并對反饋信號進(jìn)行PID調(diào)節(jié), 控制電機(jī)轉(zhuǎn)動,。每個(gè)單片機(jī)控制一個(gè)手指的運(yùn)動 ,。采用該控制體系的優(yōu)點(diǎn)是控制方案整體思路比較清晰, 控制靈活,達(dá)到了設(shè)計(jì)的要求。
2.1 下位機(jī)軟件設(shè)計(jì)
對于單片機(jī)在這個(gè)系統(tǒng)中的主要作用是接收上位機(jī)的指令,,控制電機(jī)的運(yùn)轉(zhuǎn)和手指關(guān)節(jié)的運(yùn)動以及對反饋的信號進(jìn)行PID調(diào)節(jié)將結(jié)果送往上位機(jī),,并將采集來的信號送往上位機(jī)準(zhǔn)備下一次指令的接收。主要流程如圖2所示,。
2.2 串口通信模塊
對于串口通信主要是采用異步串行傳輸模式,,數(shù)據(jù)的傳輸格式是RS232協(xié)議,。對于PIC單片機(jī)來說對于串口的操作主要是對下面幾個(gè)寄存器的操作:TXSTA發(fā)送狀態(tài)與控制,、RCSTA接收狀態(tài)與控制寄存器、TXREGUSART發(fā)送寄存器、RCREGUSART接收寄存器和SPBRG波特率產(chǎn)生寄存器,。
2.3 電機(jī)驅(qū)動模塊
靈巧手的運(yùn)動主要通過關(guān)節(jié)處的電機(jī)的運(yùn)動來控制,。三指靈巧手的每個(gè)手指有3個(gè)自由度也就說一個(gè)手指的運(yùn)動需要3個(gè)電機(jī)來驅(qū)動。驅(qū)動方式采用繩索與滑輪的方式傳動,,電機(jī)選用了瑞士Maxon公司生產(chǎn)的REmax21直流伺服電機(jī)以及與其配套的減速器和編碼盤,。
電機(jī)的驅(qū)動需要PWM信號來驅(qū)動,利用PIC單片機(jī)本身帶有的PWM信號口,,配以功率放大器便 可進(jìn)行電機(jī)的驅(qū)動,。PWM信號主要是對其內(nèi)部Time2和2個(gè)寄存器的設(shè)定:一個(gè)是存貯PWM 周期的PR2寄存器,一個(gè)是存貯工作周期的寄存器CCPRXL[3],。PWM信號輸出示意圖如圖3所示,。
當(dāng)Time2剛開始工作時(shí),PWM輸出端為高電平,,此后Time2會和PR2,,CCPRXL兩個(gè)寄存器比較 ,當(dāng)Time2等于CCPRXL中的設(shè)定值時(shí)引腳輸出變?yōu)榈碗娖?,?dāng)Time2計(jì)數(shù)到與PR2中的數(shù)相等 時(shí),,此時(shí)引腳輸出變?yōu)楦唠娖剑琓ime2便會歸零重新計(jì)數(shù),,這就是PWM信號的輸出過程,。在PWM信號的輸出端連接功放電路,采用L298芯片實(shí)現(xiàn)單極性可逆驅(qū)動,,單片機(jī)生成的PWM脈寬調(diào)制信號直接由L298雙H橋PWM驅(qū)動器驅(qū)動,,L298是一種高電壓大電流功率放大芯片。驅(qū)動電壓可達(dá)46V,,直流電流總和可達(dá)4 A,,直接采用TTL邏輯電平控制。
2.4 A/D模塊
對于信號的采集部分,,由于PIC單片機(jī)內(nèi)部集成了一個(gè)5通道的8 b A/D,,因此無需外接A/D ,直接應(yīng)用即可。內(nèi)部A/D的使用主要是對ADCON0,,ADCON1,,ADRES三個(gè)寄存器的設(shè)定。
3 控制算法
在工業(yè)控制中PID算法是一種很常用的算法,,一般的8 b單片機(jī)運(yùn)行該算法時(shí)速度會受到穎響,,對于系統(tǒng)的控制有著一定的時(shí)延特性,但是基于PIC單片機(jī)的結(jié)構(gòu)和高速特性,,這一點(diǎn)可以克服[4],。對于PID在本系統(tǒng)中對于該算法的軟件流程圖如圖4所示,。
4 結(jié)語
采用PIC單片機(jī)設(shè)計(jì)的三指靈巧手較好地完成了抓取實(shí)驗(yàn),所有的硬件設(shè)計(jì)比普通的8 b 單片機(jī)更為簡潔,,系統(tǒng)更為穩(wěn)定,,操作簡單。相比較利用專用的集成驅(qū)動電路和高性能的數(shù)字信號處理器組成的系統(tǒng),,采用該方案成本更小,,整體的性能也相當(dāng)好。
參考文獻(xiàn)
[1] Okada T.An artificial finger equipped with adaptability to an object Bullelectrotechlab, 1974,37 (2):1078-1090.
[2]武鋒.PIC系列單片機(jī)的開發(fā)應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版 社,,2000.
[3]何信龍,,李雪銀.PIC16C7X入門與應(yīng)用范例[M].北京:清華大學(xué)出 版社,2001.
[4]王曉明.電動機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,,2002.