在最近的機器人比賽和電子設計競賽中,較多參賽題目要求機器人沿場(chǎng)地內白色或黑色指引線(xiàn)行進(jìn)。一些研究人員提出了基于尋線(xiàn)的機器人設計策略,主要是關(guān)注指引線(xiàn)的檢測,但對于機器人的整體設計未做說(shuō)明。本文在總結此類(lèi)賽事的基礎上,提出了一種將DSP(Digital Signal Processor)和CPLD(Complex Programmable Logic Device)作為核心處理器,采用模糊控制策略處理來(lái)自檢測指引線(xiàn)傳感器信號的機器人行走機構的通用性設計方法。 1 車(chē)體機械設計 由于機器人比賽對參賽機器人有嚴格的尺寸限制,需要在有限的空間內合理安排各個(gè)機構。本文給出車(chē)體最小尺寸時(shí)驅動(dòng)輪、光電傳感器以及控制芯片之間的相對位置,如圖1所示。 機器人采用雙直流步進(jìn)電機驅動(dòng)方式,其額定電壓為24V。車(chē)體的前后端分別安裝光電傳感器檢測板實(shí)現指引線(xiàn)的檢測。相鄰光電傳感器距離略小于指引線(xiàn)寬度,保證同時(shí)有兩個(gè)傳感器可以檢測到指引線(xiàn)。 2 硬件電路設計 這部分主要介紹核心控制器DSP與功能擴展芯片CPLD的連接,簡(jiǎn)要介紹其它功能模塊的硬件實(shí)現。系統整體結構如圖2所示。 2.1 核心控制器設計 目前,機器人核心控制器多選用單片機。筆者考慮到單片機指令周期長(cháng)、可用資源少,難以滿(mǎn)足機器人實(shí)時(shí)控制的要求,在綜合性?xún)r(jià)比、開(kāi)發(fā)周期等因素后,核心控制器選用TI公司的電機數字控制專(zhuān)用DSP——TMS320F240(以下簡(jiǎn)稱(chēng)′F240)。它具有運動(dòng)控制非常有效的事件管理器,其中包括12路比較/PWM通道,可以非常方便地控制直流電機轉速;利用其片內的3個(gè)可以工作于6種模式的16位通用定時(shí)器,可以完成機器人絕大部分動(dòng)作的控制;16個(gè)10位A/D轉換器可以方便地讀取模擬信號。由于機器人指引線(xiàn)檢測模塊返回信號可看作反饋信號,因此機器人驅動(dòng)電機選用步進(jìn)電機。通過(guò)設置′F240定時(shí)器,利用I/O端口輸出設定脈沖信號,該信號經(jīng)步進(jìn)電機驅動(dòng)電路使步進(jìn)電機行進(jìn)設定距離。具體實(shí)現在軟件設計部分介紹!銯240的其他片內I/O、PWM端口、A/D都引出輸入輸出線(xiàn),方便擴展功能的實(shí)現。 從′F240的特點(diǎn)可以看出,′F240可用于實(shí)現復雜控制算法和進(jìn)行復雜的機器人動(dòng)作控制。然而根據車(chē)體設計方案,需要在車(chē)體上安裝20個(gè)光電檢測傳感器,占用控制器的20個(gè)I/O端口。這樣,′F240可用于擴展功能的I/O端口大大減少。機器人在比賽中會(huì )有比較劇烈的撞擊,如設計各種功能數字電路會(huì )嚴重降低控制板的可靠性。此處選用Altera公司的EPM7128作為核心處理器的擴展、模糊控制的輸入。為滿(mǎn)足DSP與CPLD之間的協(xié)同處理,′F240與EPM7128可采用如圖2所示的電路連接!銯240的16根數據線(xiàn)和A12~A15共4根地址線(xiàn)連到EPM7128,通過(guò)選擇信號、寫(xiě)信號和讀信號完成對EPM7128的讀寫(xiě)操作。EPM7128的I/O端口主要在MAX+PlusⅡ編程環(huán)境下通過(guò)軟件和硬件管腳設置實(shí)現。這種DSP+CPLD的結構可以在充分擴展系統功能的同時(shí),使DSP更能發(fā)揮其運算功能強大的特點(diǎn)。 穩壓電路主要由LM7805芯片組成;信號輸入電路由微動(dòng)開(kāi)關(guān)經(jīng)反相器71HC14后再送往DSP,微動(dòng)開(kāi)關(guān)輸入電路有去耦電路,輸出信號加上拉電阻;顯示模塊采用MAX7219芯片驅動(dòng),八位LED數碼管,每個(gè)LED對應三個(gè)I/O端口。 2.2 光電檢測模塊 光電檢測模塊的功能是將指引線(xiàn)準確地檢測出來(lái)。此處主要借助反射式光藕TCRT5000。這是一種自帶發(fā)光二極管和光敏三極管的器件,其集電極電流Ic與反射距離d之間有圖3所示關(guān)系。 TCRT5000的應用電路見(jiàn)如4所示。當檢測到綠色地面時(shí),由于反射率不高,Ic1太小,三極管T2截止而輸出高電平。當檢測到白色地面時(shí),由于反射率較高,Ic1較大,三極管T2飽和而輸出低電平,從而實(shí)現了白線(xiàn)的檢測。555構成了施密特觸發(fā)器,用于去除反射性光耦產(chǎn)生的噪聲和波形的整形。 2.3 動(dòng)作電機控制電路 在機器人尋線(xiàn)行走過(guò)程中,需要完成規定的動(dòng)作。這些動(dòng)作的完成不需要控制相應動(dòng)作電機的轉速,本文直接利用I/O輸出控制信號驅動(dòng)固態(tài)繼電器進(jìn)而使直流電機動(dòng)作。固態(tài)繼電器選用松下電器公司雙刀雙擲(DPDT)型,型號為DS2Y-S-DC5V。盡管此繼電器控制電壓為5V,可與TTL的邏輯電平相兼容,但一般TTL芯片的輸出電流還達不到其輸入電流40mA。集電極開(kāi)路的門(mén)電路(Open Collector Gate,簡(jiǎn)稱(chēng)OC門(mén))可增大輸出電流,并且繼電器兩控制端的輸入電阻剛好可以作為OC門(mén)電路輸出需要的上拉電阻。具體選用具有OC門(mén)結構的芯片ULN2003,它是由7個(gè)NPN達林頓管組成的高電壓、高電流達林頓驅動(dòng)器。 因為每個(gè)DS2Y-S-DC5V提供兩組常開(kāi)端口,因此如果在兩組端口的N.O.端口上分別連上電機電源的正極和地,則可以用兩個(gè)繼電器實(shí)現電機的正反轉。由于繼電器在切換電壓時(shí),繼電器線(xiàn)圈會(huì )產(chǎn)生大的反電動(dòng)勢,需要在繼電器切換電壓的兩端加續流二極管,以消除切換時(shí)的電火花,避免出現大的浪涌電流,減少繼電器產(chǎn)生的電磁干擾。 機器人的設計思想是利用光電檢測傳感器檢測車(chē)體偏離指引線(xiàn)的大小來(lái)調整左右驅動(dòng)步進(jìn)電機的行進(jìn)速度,使機器人沿指引線(xiàn)行進(jìn)。這恰好符合模糊控制的思想。 把前后光電檢測板上的光電檢測傳感器編號,將檢測到指引線(xiàn)的編號最大的光電檢測傳感器的編號作為車(chē)體偏離的距離,編號方法如表1。這樣,模糊控制器有兩個(gè)輸入:前后光電檢測板的輸入編號;模糊控制器有兩個(gè)輸出:左右步進(jìn)電機驅動(dòng)脈沖數。 模糊控制器的輸入量的語(yǔ)言值模糊子集選取為:{LB,LS,ZO,RS,RB}。其中:LB=左大;LS=左;ZO=中心;RS=右;RB=右大。輸出量的語(yǔ)言值模糊子集選取為:{NB,NM,NS,ZO,PS,PM,PB}。其中:NB=負大;NM=負中;NS=負;ZO=零;PS=正;PM=正中;PB=正大。 根據隸屬函數的定義和選取規則,輸入變量前部位置iF 和后部位置iB的隸屬度選擇相同,如圖5所示。輸出變量左輪轉速OUL和右輪轉速OUR的隸屬度選擇相同,如圖6所示。 根據多次的實(shí)驗和修正,得到如表2的左輪轉速控制規則表(右輪的轉速控制規則表內容與左輪的轉速控制規則表對應,例如iF為RB、iB為L(cháng)B時(shí)對應的OUL為NB,類(lèi)似可得到右輪轉速控制規則表)。模糊推理采用Mamdani法。反模糊化采用重心法,最終得到如表3所示的左輪轉速控制信號輸出表(右輪轉速控制信號輸出表可用類(lèi)似于右輪轉速控制規則表推導的方法得到)。在′F240存儲空間中以表格的形式存儲表3,根據輸入可得到相應輸出。 上述模糊信號的獲取通過(guò)EPM7128用VHDL語(yǔ)言編程實(shí)現,此部分的編程相對簡(jiǎn)單,不再贅述。由于光電傳感器信號的改變可以實(shí)時(shí)反映在CPLD的輸出上,′F240只需定時(shí)讀取此信號并做相應從處理即可。假設前光電檢測板和后光電檢測板的信號分別保存在RE_CPLD字節的高半字節、低半字節中,若這兩個(gè)信號大于10則保持原數據不變,否則根據信號的大小計算此值在轉速控制信號輸出表中的偏移量: 其中#04h為保存轉速表的頁(yè)面,#MATRIXL為轉速表起始地址在頁(yè)面中的偏移量,ADDER_PS為查表值相對轉速表起始地址的偏移量。若將查表得到的值變化后保存為控制步進(jìn)電機轉速的定時(shí)器的周期,則可以實(shí)時(shí)改變步進(jìn)電機的轉速: 4 步進(jìn)電機調速的實(shí)現 步進(jìn)電機是純粹的數字控制電動(dòng)機。它將電脈沖信號轉換成角位移,即給一個(gè)脈沖信號,電機轉一定角度。步進(jìn)電機控制器的輸入端口有:VDD——電機電源正極;GND——電源地線(xiàn);OPTO——控制信號的公共陽(yáng)極;DIR——電機方向控制端;FREE——脫機輸入端;CP——脈沖輸入端(CP停止施加脈沖時(shí),要保證CP為高電平,使內部光耦截止)。此處給DIR端加高電平,使機器人只向前行進(jìn),在程序中只需對CP端進(jìn)行處理。 脈沖的產(chǎn)生通過(guò)控制I/O端口的電平變化實(shí)現。在設定了定時(shí)中斷的各種參數后,在定時(shí)器中斷處理程序中使一個(gè)標志字不停地加1: 在主程序中可以設定行走距離,定時(shí)中斷的時(shí)間間隔決定脈沖的頻率,也即決定步進(jìn)電機的運動(dòng)速度: 其中,數值2 000代表機器人行走的距離單位。利用模糊控制策略,改變控制兩個(gè)步進(jìn)電機的定時(shí)器定時(shí)周期的長(cháng)短以及行進(jìn)的距離,可以實(shí)現機器人的尋線(xiàn)行進(jìn)。 在總結近期參加的機器人比賽和電子設計競賽的基礎上,針對機器人尋線(xiàn)行走的普遍要求,提出了一種基于DSP+CPLD和模糊控制策略的機器人實(shí)現方法。利用該方法設計的機器人參加了多種不同的機器人比賽(如全國大學(xué)生機器人電視大賽、足球機器人比賽子項和電子設計競賽等),運行狀況良好,取得了較理想的成績(jì),進(jìn)而證實(shí)了此設計的有效性。 |