梁明亮, 孫逸潔
(鄭州鐵路職業(yè)技術(shù)學(xué)院電子工程系,河南鄭州 450052)
教學(xué)機(jī)器人是指應(yīng)用于學(xué)校教學(xué)、創(chuàng)新教育和科研服務(wù)的機(jī)器人[1]。近年來,在全國高等教育教學(xué)實(shí)踐環(huán)節(jié)中,以教學(xué)機(jī)器人為平臺(tái)的創(chuàng)新教學(xué)活動(dòng)日益增多,針對(duì)機(jī)器人創(chuàng)新教育[2]、技能競賽和科研的需要,研究開發(fā)了一種基于四輪驅(qū)動(dòng)的智能教育機(jī)器人[3]。該機(jī)器人涉及ARM嵌入式技術(shù)、傳感器技術(shù)、控制技術(shù)、計(jì)算信息處理、電機(jī)驅(qū)動(dòng)、人工智能、無線網(wǎng)絡(luò)通信等多個(gè)學(xué)科和領(lǐng)域[4],控制系統(tǒng)工作穩(wěn)定可靠,能夠滿足創(chuàng)新教育實(shí)踐的需要。
以嵌入式為主要控制技術(shù)設(shè)計(jì)教學(xué)機(jī)器人,系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。系統(tǒng)主要由S3C2440A主控制器[5]、紅外線尋跡模塊、驅(qū)動(dòng)電路、直流電機(jī)、行走機(jī)構(gòu)、傳感器探測模塊、和電源組成。
主控制器以S3C2440A嵌入式處理器為核心,在機(jī)器人智能控制中起主導(dǎo)作用。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
紅外線尋跡模塊使用反射式紅外發(fā)射-接收一體管采集路面信息,尋跡信號(hào)傳送給S3C2440A主控制器,通過嵌入式軟件計(jì)算處理后,實(shí)現(xiàn)對(duì)黑線或白線的尋跡。CMOS攝像頭用于圖像的采集,處理器S3C2440A收到圖像后,進(jìn)行圖像分析、處理,通過無線網(wǎng)卡完成圖像的遠(yuǎn)程傳送、標(biāo)志物形狀和顏色的識(shí)別。傳感器檢測模塊用于完成溫度、溫度、距離、光照、光頻率的測量功能。
主控制器的控制軟件是基于ARM9嵌入式開發(fā)環(huán)境,在移植Linux操作系統(tǒng)的基礎(chǔ)上進(jìn)行C語言的應(yīng)用程序開發(fā)。機(jī)器人通過尋跡方式到達(dá)各地形標(biāo)志物,通過CMOS攝像頭對(duì)標(biāo)志物進(jìn)行拍照和物理量的探測,使用WiFi無線網(wǎng)卡以無線通訊方式向PC上位機(jī)發(fā)送溫度、距離、光強(qiáng)等探測數(shù)據(jù)和標(biāo)志物圖像。
驅(qū)動(dòng)電路實(shí)現(xiàn)對(duì)電機(jī)的驅(qū)動(dòng)和控制,主要由AVR單片機(jī)ATmega16L處理器、電機(jī)驅(qū)動(dòng)構(gòu)成;電機(jī)上安裝編碼器,用于檢測機(jī)器人速度,送給AVR單片機(jī)進(jìn)行分析和處理;行走機(jī)構(gòu)采用四輪結(jié)構(gòu),包括車架和四個(gè)車輪。機(jī)器人車架上固定有三層電路板,從上到下依次為S3C2440A核心板、主控制器主板和驅(qū)動(dòng)板。機(jī)器人供電為直流12V,采用鋰電充電電池,共2組。
主控制器由S3C2440A核心電路板和主板組成,核心板通過雙排插針與主板進(jìn)行電氣連接。核心板采用六層電路板設(shè)計(jì),元件排列緊湊。核心板上設(shè)計(jì)有微處理器(S3C2440A)、SDRAM 存儲(chǔ)電路(HY57V561620FTP)、SDRAM 存儲(chǔ)器、Nor Flash、Nand Flash、復(fù)位電路和1.25 V直流電源產(chǎn)生電路等。
軌跡控制的應(yīng)用成果很多[6],本系統(tǒng)使用反射式紅外發(fā)射-接收一體管進(jìn)行教學(xué)機(jī)器人的路面尋跡[7]。利用紅外線對(duì)不同顏色的反射能力不同的特性,采用紅外線光電傳感器采集尋跡信號(hào)[8]。本系統(tǒng)顏色信號(hào)主要是黑、白兩種情況。尋跡板中設(shè)計(jì)有8組相同的紅外傳感器,圖2為其中一組電路圖。
圖2 尋跡電路
當(dāng)紅傳感器 OPB10359檢測出的信號(hào)后,經(jīng)LM339電壓比較器進(jìn)行電壓比較和整形后,轉(zhuǎn)換為邏輯電平(高電平為+3.3 V),作為機(jī)器人運(yùn)動(dòng)時(shí)路面的探測信息輸出,8路信號(hào)分別為VOUT1到VOUT8。8路尋跡信號(hào)通過JP1插座送到主控制器S3C2440A的I/O口,經(jīng)控制器處理后,輸出指令控制機(jī)器人沿指定軌跡運(yùn)動(dòng)。
傳感器探測模塊包括測距、測光、測溫等各種傳感器電路,電路可擴(kuò)展,以適應(yīng)教學(xué)機(jī)器人在導(dǎo)航過程中具有自主避障[9]、智能探測和二次創(chuàng)新擴(kuò)展功能。
采用超聲波和PSD兩種測距法。超聲測距采用時(shí)差法:即通過檢測發(fā)射的超聲波與其遇到障礙物后產(chǎn)生回波之間的時(shí)間差Δt,求出障礙物的距離d=cΔt/2,其中 c=331.4+ΔT,為超聲波速度,ΔT 為與環(huán)境溫度相關(guān)的換算值。利用PSD的最大特性——位置傳感特性和三角測量法,構(gòu)成測距傳感器。采用GP2Y0A21YK傳感器,其內(nèi)置LED(紅外發(fā)光二極管)和位置檢測器(Position Sensitive Detector,PSD)的模塊,通過改變輸出直流電壓輸出傳感器前面放置物體的距離[10]。
采用熱電堆式(Thermopile)紅外溫度傳感器進(jìn)行溫度探測,選用TS118-3型紅外溫度傳感器。TS118-3變送的溫度信號(hào)送給LF347運(yùn)放芯片進(jìn)行處理,通過IIC接口芯片AD7955輸出標(biāo)準(zhǔn)IIC信號(hào),最后送到S3C2440A進(jìn)行處理。
S3C2440A處理器中集成有Camera接口,機(jī)器人的圖像采集器件選用OmniVision公司的CMOS圖像傳感器OV9650,直接與S3C2440A芯片的Camera接口連接。OV9650具有標(biāo)準(zhǔn)的 SCCB(Serial Camera Control Bus)接口,130萬像素,通過該接口可以設(shè)置輸出圖像像素的大小,輸出色度、YcbCr順序等參數(shù)。
選用高性能、低功耗的8位 AVR微處理器Atmega16L作為驅(qū)動(dòng)電路的處理器。
Atmega16L實(shí)現(xiàn)與S3C2440A的串行通信,實(shí)時(shí)接收S3C2440A的指令,進(jìn)行一定的分析和算法處理后發(fā)出PWM信號(hào),輸出給以L298N為主要器件構(gòu)成的電機(jī)驅(qū)動(dòng)電路。直流電機(jī)是機(jī)器人行走的動(dòng)力來源,直接決定機(jī)器人的速度,對(duì)機(jī)器人速度的控制就是對(duì)直流電機(jī)的控制[11]。設(shè)計(jì)中采用直流減速電機(jī),型號(hào)為Namiki 22CL-3501PG。如圖3為左輪電機(jī)驅(qū)動(dòng)電路,其中M1、M2為左輪的2個(gè)電機(jī)。
圖3 電機(jī)驅(qū)動(dòng)電路
采用 L298N作為直流電機(jī)驅(qū)動(dòng)芯片[12],L298N是內(nèi)含2個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器。圖3中,74HC245起信號(hào)放大和緩沖作用,L298進(jìn)行電流放大,Atmega16L單片機(jī)通過調(diào)節(jié)PWM信號(hào)的占空比實(shí)現(xiàn)對(duì)電機(jī)的調(diào)速與轉(zhuǎn)向。
為保證L298N驅(qū)動(dòng)芯片正常工作,在其與每個(gè)直流電機(jī)之間加入四支續(xù)流二極管(BR1、BR2),用以將電機(jī)中反向電動(dòng)勢(shì)產(chǎn)生的電流分流到地或電源正極,以免反向電動(dòng)勢(shì)對(duì)L298N產(chǎn)生損害。L298的第1和15腳接電流采樣電阻 R2、R3,形成 I1、I2電流傳感信號(hào),通過LM358運(yùn)算放大器放大后產(chǎn)生模擬電壓信號(hào)ADM1、ADM2,送到 Atmega16L中進(jìn)行電流的測量和分析,以動(dòng)態(tài)控制電機(jī)的電流及速度。
機(jī)器人運(yùn)行時(shí)不需交流電源,采用2組鋰充電電池供電,每組鋰電池的電壓約12 V,主控制器和電機(jī)驅(qū)動(dòng)電路所需的電源是相互獨(dú)立的。
主要有ARM9處理器Linux操作系統(tǒng)的移植、基于Linux的驅(qū)動(dòng)程序及應(yīng)用程序的開發(fā)、基于AVR單片機(jī)的電機(jī)控制程序的設(shè)計(jì)等。
(1)搭建基于linux系統(tǒng)的開發(fā)環(huán)境。
(2)BootLoader引導(dǎo)程序的配置和移植。主控制器采用ARM9嵌入式系統(tǒng),通過BootlLoader完成對(duì)主控制器電路板上的 S3C2440A、HY57V561620FTP(SDRAM)、K9F1208(Flash)、串行口等進(jìn)行初始化[13]。當(dāng)教育機(jī)器人啟動(dòng)時(shí),先運(yùn)行BootLoader,再運(yùn)行操作系統(tǒng)內(nèi)核,分配內(nèi)存空間的映射,將機(jī)器人系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),正確完成硬件系統(tǒng)的初始化和linux的引導(dǎo)。
(3)內(nèi)核和文件系統(tǒng)的裁剪、移植和下載。
(4)驅(qū)動(dòng)程序的開發(fā)。包括CMOS攝像頭驅(qū)動(dòng)、ADC驅(qū)動(dòng)、IIC驅(qū)動(dòng)、用于尋跡的GPIO驅(qū)動(dòng)等。
教學(xué)機(jī)器人通過無線網(wǎng)卡與PC機(jī)上位機(jī)采用無線網(wǎng)絡(luò)傳輸。無線網(wǎng)絡(luò)采用標(biāo)準(zhǔn)的802.11g標(biāo)準(zhǔn),無線接入點(diǎn)IP和網(wǎng)關(guān)由確定,如確定機(jī)器人的IP地址為 192.168.1.10,并配置好網(wǎng)關(guān)。
通信底層協(xié)議采用標(biāo)準(zhǔn)的TCP/IP協(xié)議完成PC機(jī)上位機(jī)和機(jī)器人通信,其中PC機(jī)作為TCP的服務(wù)器端,機(jī)器人作為TCP的客戶端。
在應(yīng)用層通信協(xié)議上,增加ACK確認(rèn)機(jī)制的通信模式來增加通信的可靠性。機(jī)器人向上位機(jī)發(fā)送數(shù)據(jù)報(bào)文,PC上位機(jī)收到數(shù)據(jù)報(bào)文后向機(jī)器人發(fā)送一個(gè)確認(rèn)數(shù)據(jù)供機(jī)器人處理。除傳輸圖片數(shù)據(jù)外,應(yīng)用層數(shù)據(jù)每次傳輸采用長度固定為40 Byte,數(shù)據(jù)不夠的用0x00補(bǔ)滿。圖像通過2次通信過程來完成,第一次機(jī)器人發(fā)出上傳圖像請(qǐng)求報(bào)文,上位機(jī)接受請(qǐng)求后返回接收請(qǐng)求數(shù)據(jù)報(bào),機(jī)器人收到接收請(qǐng)求數(shù)據(jù)報(bào)文后發(fā)送圖像數(shù)據(jù),圖像大小為高128像素、寬160像素。
系統(tǒng)主控制器不直接驅(qū)動(dòng)電機(jī),通過ARM9處理器S3C2440A以串行通信方式發(fā)送命令給AVR單片機(jī)ATmega16L,由AVR單片機(jī)控制電機(jī)和處理編碼器信息。采用AVR單片機(jī)的C語言進(jìn)行電機(jī)控制軟件設(shè)計(jì)。ATmega16L輸出脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號(hào)來改變電機(jī)的轉(zhuǎn)速。電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成比例,占空比越大,電機(jī)轉(zhuǎn)得越快。
AVR單片機(jī)在對(duì)直流電機(jī)的控制中,在采集電流反饋值和電機(jī)轉(zhuǎn)速的基礎(chǔ)上,采用了PID的控制算法,算式如下:
式中:Kp,Ki,Kd分別為調(diào)節(jié)器的比例、積分和微分系數(shù);e(t)是PID算法的輸入;u(t)是輸出[14]。
對(duì)電機(jī)速度的控制采用模糊PID控制[15],AVR單片機(jī)程序根據(jù)測速系統(tǒng)反饋回來的左、右輪電機(jī)當(dāng)前速度值和設(shè)定速度值進(jìn)行比較,針對(duì)不同情況適當(dāng)改變Kp,Ki,Kd參數(shù),進(jìn)而控制輸出2組PWM信號(hào)的占空比,實(shí)現(xiàn)調(diào)速和改變轉(zhuǎn)向作用,使系統(tǒng)始終處較好工作狀態(tài),達(dá)到加速、減速靈敏以及穩(wěn)定性好的目的。
教學(xué)機(jī)器人屬于典型的時(shí)變、非線性、模型不確定復(fù)雜系統(tǒng)。將機(jī)器人行駛的道路歸納為直道、大彎道、“S”型小彎道三種類型。利用教學(xué)機(jī)器人在相同的路況下其特性基本不變,可分別確定這3種道路參數(shù)下的最佳PID參數(shù)。研制過程中,根據(jù)多次實(shí)驗(yàn)、測試和分析,總結(jié)為:在直道上系統(tǒng)取Kp=3,Ki=5,Kd=0,測試環(huán)境為一條長度為4 m的長直道;在大彎道上系統(tǒng)取Kp=10,Ki=1,Kd=1,彎道半徑為 70-140 cm的弧線;在“S”型小彎道上系統(tǒng)取 Kp=7,Ki=4,Kd=3,測試環(huán)境為3個(gè)90°圓弧構(gòu)成的“S”型小彎道。
通過對(duì)教學(xué)機(jī)器人的測試和運(yùn)行,機(jī)器人能通過尋跡方式穩(wěn)定行駛,在到達(dá)各地形標(biāo)志物時(shí),能對(duì)不同標(biāo)志物進(jìn)行溫度、距離、光頻率的測量,并通過無線網(wǎng)絡(luò)向PC上位機(jī)發(fā)送數(shù)據(jù)或圖像,PC機(jī)上位機(jī)上顯示的溫度、距離數(shù)據(jù)準(zhǔn)確,標(biāo)志物圖片清晰。使用S3C2440A嵌入式處理器和Linux操作系統(tǒng)增強(qiáng)了機(jī)器人的智能化水平,確保了對(duì)系統(tǒng)的運(yùn)行速度和轉(zhuǎn)向控制的精確性。該機(jī)器人平臺(tái)在教育部全國職業(yè)院校技能大賽機(jī)器人賽項(xiàng)中控制準(zhǔn)確、運(yùn)行穩(wěn)定,獲得了全國一等獎(jiǎng)的好成績,系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn)驗(yàn)證了軟、硬件設(shè)計(jì)的可行性。該機(jī)器人系統(tǒng)具有技術(shù)先進(jìn)性和功能可擴(kuò)展性,以機(jī)器人技術(shù)為實(shí)踐教學(xué)平臺(tái),對(duì)于培養(yǎng)大學(xué)生的科技創(chuàng)新意識(shí)和能力[16]有著重要的意義。
(References):
[1] 郭 丹,陳興瑞,張國民.不同教育階段教育機(jī)器人功能設(shè)計(jì)分析研究[J].江蘇技術(shù)師范學(xué)院學(xué)報(bào),2010(12):45-47.
[2] 汪治華,劉 巖,白 軍,等.基于TMS320LF2407A的教育機(jī)器人硬件系統(tǒng)設(shè)計(jì)[J].電子技術(shù),2010(10):71-73.
[3] 劉延飛,李 琪,畢經(jīng)存,等.一種全自主移動(dòng)機(jī)器人實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與研究[J].實(shí)驗(yàn)技術(shù)與管理,2009(2):67-70.
[4] 宋 健.開放式4自由度教學(xué)機(jī)器人設(shè)計(jì)與開發(fā)[J].實(shí)驗(yàn)室研究與探索,2010(7):34-36.
[5] Samsung.S3C2440A 32-Bit RISC MICROPROCESSOR USER’S MANUAL[R].June 30,2004.
[6] Chih-Yang Chen,Tzuu-Hseng S.Li,Ying-Chieh Yeh.EP-based Kinematic Control andAdaptive FuzzySliding-modeDy-namic Control for Wheeled Mobile Robots[J].Information Sciences,2009,179(1-2):180-195.
[7] 張 偉,陳 迎,韓麗娜.智能小車系統(tǒng)的設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2011(9):53-61.
[8] 王 玲,孫 波.紅外光電傳感器自動(dòng)尋跡智能車的設(shè)計(jì)與實(shí)現(xiàn)[J].沈陽理工大學(xué)學(xué)報(bào),2010(2):58-59.
[9] 許恩江,吳 波,姚 斌,等.智能機(jī)器人的安防和服務(wù)功能系統(tǒng)設(shè)計(jì)及應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2010(11):341-344.
[10] 趙小川,劉培志,張 敏,等.一種適用于移動(dòng)機(jī)器人的障礙物快速檢測算法及其實(shí)現(xiàn)[J].機(jī)器人,2011(2):198-201.
[11] 楊桂林.基于AT89S52的智能小車的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2010(20):124-125.
[12] 李明河,王 偉,王 健,等.一種全方位移動(dòng)機(jī)器人的系統(tǒng)設(shè)計(jì)[J].安徽工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(1):51-54.
[13] 董宗祥,石紅瑞,楊 杰.嵌入式智能小車測控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2010(2):357-362.
[14] 祁志生,李啟光,王 瀟.基于MC9S12DG128的尋線智能車系統(tǒng)設(shè)計(jì)[J].北京信息科技大學(xué)學(xué)報(bào),2010(1):78-80.
[15] 江武志,許娜芬,孫 菁.基于STC12C5A60S2的教育機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].山西電子技術(shù),2011(4):32-34.
[16] 董翠敏,劉永強(qiáng).以機(jī)器人教育為平臺(tái)培養(yǎng)大學(xué)生創(chuàng)新意識(shí)和能力[J].實(shí)驗(yàn)室研究與探索,2011,30(9):243-244.