王春平,潘海鵬
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,杭州 310018)
機(jī)器人技術(shù)自上個(gè)世紀(jì)中葉問世以來,經(jīng)歷50多年發(fā)展已經(jīng)取得長(zhǎng)足進(jìn)步,成為提升產(chǎn)業(yè)競(jìng)爭(zhēng)力方面極為重要的戰(zhàn)略技術(shù)。隨著全球環(huán)境的變化,工作、生活中發(fā)生的意外事故增多,各種危險(xiǎn)區(qū)域的人工監(jiān)控活動(dòng)逐漸由機(jī)器人代替,促使了監(jiān)控機(jī)器人的誕生。眾多學(xué)者與科研機(jī)構(gòu)對(duì)機(jī)器人技術(shù)的不斷深入研究使得機(jī)器人的應(yīng)用領(lǐng)域日益廣泛,工作環(huán)境和任務(wù)也日益復(fù)雜,而單體機(jī)器人應(yīng)對(duì)能力是有限的,很多任務(wù)僅靠單機(jī)器人不能完成或很難完成[1,2]。
科學(xué)家們從自然界蜂群、鳥群、狼群等物種通過群體協(xié)作完成復(fù)雜任務(wù)的行為受到啟發(fā),提出群機(jī)器人系統(tǒng)的概念[3]。設(shè)計(jì)成本較低、功能較為單一、結(jié)構(gòu)相對(duì)簡(jiǎn)單的個(gè)體機(jī)器人,通過編隊(duì)技術(shù)使多個(gè)機(jī)器人相互協(xié)作,組成群體機(jī)器人系統(tǒng)[4]。目前,多機(jī)器人協(xié)同控制系統(tǒng)受到機(jī)器人、數(shù)學(xué)、物理、生物等相關(guān)領(lǐng)域?qū)<业膹V泛關(guān)注[5]。為了提高監(jiān)控機(jī)器人系統(tǒng)的高效性、靈活性以及魯棒性,本文對(duì)基于領(lǐng)導(dǎo)者和跟隨者編隊(duì)的監(jiān)控機(jī)器人系統(tǒng)進(jìn)行設(shè)計(jì)研究。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要由領(lǐng)導(dǎo)者監(jiān)控機(jī)器人、跟隨者監(jiān)控機(jī)器人、控制中心和通信網(wǎng)絡(luò)組成??刂浦行耐ㄟ^通信網(wǎng)絡(luò)控制領(lǐng)導(dǎo)者監(jiān)控機(jī)器人運(yùn)動(dòng),跟隨者監(jiān)控機(jī)器人通過攝像頭識(shí)別領(lǐng)導(dǎo)者監(jiān)控機(jī)器人上攜帶的標(biāo)識(shí)物,實(shí)現(xiàn)跟隨的目的。
圖1 監(jiān)控機(jī)器人系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)中有兩個(gè)機(jī)器人,一個(gè)是領(lǐng)導(dǎo)者監(jiān)控機(jī)器人,另一個(gè)是跟隨者監(jiān)控機(jī)器人。領(lǐng)導(dǎo)者監(jiān)控機(jī)器人主要由控制器模塊、運(yùn)動(dòng)機(jī)構(gòu)模塊、電源模塊、監(jiān)測(cè)模塊、通信模塊、人機(jī)交互模塊以及識(shí)別物模塊組成。跟隨者監(jiān)控機(jī)器人的大部分組成模塊和領(lǐng)導(dǎo)者監(jiān)控機(jī)器人差不多,不同之處是跟隨者監(jiān)控機(jī)器人沒有攜帶標(biāo)識(shí)模塊,但是攜帶了攝像頭模塊,負(fù)責(zé)獲取領(lǐng)導(dǎo)者監(jiān)控機(jī)器人的位置。
系統(tǒng)使用STM32F103C8T6芯片作為控制器,STM32F103C8T6芯片實(shí)物圖,如圖2所示,其采用Cortex-M3作為內(nèi)核架構(gòu)。該芯片工作主頻為72MHz,F(xiàn)LASH大小為64KB,SRAM大小為20KB,具有2個(gè)SPI,3個(gè)USART,2個(gè)I2C,1個(gè)CAN總線,36個(gè)普通IO口,1個(gè)USB,2個(gè)ADC,3個(gè)普通定時(shí)器,1個(gè)高級(jí)定時(shí)器,工作電壓為2V~3.6V。
圖2 STM32F103C8T6芯片
控制器、人機(jī)交互模塊、各種傳感器和ZigBee模塊等模塊的工作電壓都在5V左右,不能承受11V的電壓,如果不想增加電池?cái)?shù)量,而加重機(jī)器人的負(fù)載,可以使用降壓模塊。降壓模塊通過內(nèi)部的BUCK電路,可以降低輸入電壓,并通過輸出口輸出降低后的電壓,供其他模塊使用[6]。為使機(jī)器人獲得周圍環(huán)境的信息,在機(jī)器人上搭載了多種傳感器,包括熱釋電傳感器,溫度傳感器和煙霧氣敏傳感器。系統(tǒng)采用HC-SR501熱釋電紅外傳感器作為生命檢測(cè)傳感器,如圖3所示。有人進(jìn)入時(shí),輸出高電平,反之輸出低電平。
圖3 熱釋電紅外傳感器HC-SR501
該傳感器上安裝了菲涅爾光學(xué)透鏡,使傳感器感應(yīng)距離更遠(yuǎn),感應(yīng)角度越大,其感應(yīng)角度<100°錐角,感應(yīng)距離<7米,如圖4所示,工作電壓為5V~20V,使用時(shí)不需外加外圍電路。
溫度傳感器采用DS18B20型號(hào),該傳感器采用單總線方式通信,通過一根信號(hào)線和單片機(jī)相連,就可實(shí)現(xiàn)相互通信。其最高可測(cè)125℃,最低可測(cè)-55℃,分辨率為±0.5℃,工作電壓為3V~5V,使用時(shí)不需外加外圍電路。煙霧傳感器型號(hào)為MQ-2,該傳感器可對(duì)液化氣、丙烷、氫氣等氣體進(jìn)行檢測(cè),常用于廠房和家庭氣體泄露檢測(cè)裝置。其檢測(cè)濃度范圍100~20000ppm,靈敏度Rs(in air)/Rs(1000ppm異丁烷)5,工作電壓為5V,使用時(shí)不需外加外圍電路。
圖4 熱釋電紅外傳感器檢測(cè)范圍
系統(tǒng)使用ZigBee模塊作為機(jī)器人和控制中心的通信模塊,該模塊工作電壓范圍為:3.0V~5.5V,波特率最高可達(dá)115200,具有16個(gè)信道。本系統(tǒng)使用廣播工作模式,這樣領(lǐng)導(dǎo)者監(jiān)控機(jī)器人、跟隨者監(jiān)控機(jī)器人和控制中心之間就能通過ZigBee網(wǎng)絡(luò)實(shí)現(xiàn)相互通信。為提高開發(fā)效率,本文為機(jī)器人增加了人機(jī)交互模塊,其主要由OLED顯示屏和按鍵組成。該OLED顯示屏尺寸為0.96寸,分辨率為128×64,使用SPI方式通信,工作電壓范圍為3.3V~5V??梢栽陲@示屏上顯示機(jī)器人的當(dāng)前狀態(tài),獲得的指令和電池電壓等數(shù)據(jù),便于及時(shí)發(fā)現(xiàn)問題,快速解決問題。
為使跟隨者監(jiān)控機(jī)器人更易獲得領(lǐng)導(dǎo)者監(jiān)控機(jī)器人的位置,在領(lǐng)導(dǎo)者監(jiān)控機(jī)器人上還安裝了識(shí)別模塊,主要由繼電器組成,由于紅外信號(hào)燈的功率較大,不能使用控制器的IO口直接驅(qū)動(dòng),故需要在控制器和紅外信號(hào)燈之間加一個(gè)繼電器。繼電器依靠電生磁原理制作,常用于小電流控制大電流的場(chǎng)所。
系統(tǒng)選用了OV7725型號(hào)的鷹眼攝像頭,可檢測(cè)領(lǐng)導(dǎo)者監(jiān)控機(jī)器人標(biāo)識(shí)物發(fā)出的紅外信號(hào),為降低外界其他物體的干擾,在攝像頭鏡頭上加了紅外濾光片。鷹眼攝像頭最大的特點(diǎn)就是具有硬件二值化,通過硬件將圖像二值化,直接輸出二值化后的圖像,這樣攝像頭一次就可以傳輸8個(gè)像素點(diǎn),比普通的攝像頭快了8倍,大大減少了傳輸時(shí)間,加快了圖像處理速度,減輕單片機(jī)的負(fù)擔(dān)。而且該攝像頭的閾值是可變的,從而使系統(tǒng)適應(yīng)環(huán)境能力更強(qiáng)。
跟隨者監(jiān)控機(jī)器人采用麥克納姆輪,作為一種全向輪,通過控制四個(gè)電機(jī)的運(yùn)動(dòng)方式,可控制機(jī)器人進(jìn)行上下左右移動(dòng),控制方式如圖5所示[7]。通過使用麥克納姆輪可對(duì)左右方向和上下方向基于PID算法進(jìn)行解耦,使機(jī)器人更加容易控制。最終搭建的領(lǐng)導(dǎo)者監(jiān)控機(jī)器人如圖6(a)所示,跟隨者監(jiān)控機(jī)器人如圖6(b)所示。
圖5 麥克納姆輪運(yùn)動(dòng)方式
圖6 監(jiān)控機(jī)器人實(shí)物圖
跟隨者監(jiān)控機(jī)器人為了實(shí)現(xiàn)跟隨領(lǐng)導(dǎo)者監(jiān)控機(jī)器人的目的,首先要獲得領(lǐng)導(dǎo)者監(jiān)控機(jī)器人的位置。本系統(tǒng)采用攝像頭定位。攝像頭獲得的原始圖像如圖7所示,因?yàn)镺V7725是硬件二值化攝像頭,所以獲得的圖像一開始就是黑白色的,這對(duì)于獲得領(lǐng)導(dǎo)者監(jiān)控機(jī)器人的位置已經(jīng)足夠了,且濾除了其他干擾物,便于圖像的后期處理。
圖7 攝像頭獲得的原始圖像
在處理完圖像后就是加入控制算法實(shí)現(xiàn)跟隨。閉環(huán)負(fù)反饋控制系統(tǒng)主要包括控制器,執(zhí)行器,被控對(duì)象和測(cè)量變送器等部分[8]。本系統(tǒng)中,控制器為PID,執(zhí)行器是跟隨者監(jiān)控機(jī)器人的電機(jī),被控對(duì)象是跟隨者監(jiān)控機(jī)器人,測(cè)量變送器為攝像頭,預(yù)期值是領(lǐng)導(dǎo)者監(jiān)控機(jī)器人和跟隨者監(jiān)控機(jī)器人之間的距離和方位,被控變量為PWM的輸出值。
PID控制器具有結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、調(diào)整方便等優(yōu)點(diǎn)[9,10],結(jié)構(gòu)如圖8所示。
圖8 PID控制器結(jié)構(gòu)圖
控制公式如下:
其中Ti為積分時(shí)間常數(shù),Td為微分時(shí)間常數(shù),Kp為比例系數(shù)。為了能用ARM控制器表示該公式,需要對(duì)其進(jìn)行離散化,離散化后的公式為:
Kp為比例系數(shù),Ki為積分系數(shù),Kd為微分系數(shù)。本系統(tǒng)是一個(gè)多輸入單輸出系統(tǒng),輸入為兩個(gè)機(jī)器人之間的距離d和方向θ,輸出為機(jī)器人的運(yùn)動(dòng)狀態(tài)。為便于控制,將距離d和方向θ分解為橫坐標(biāo)x和縱坐標(biāo)y。其中x和y值如下所示:
系統(tǒng)控制器的結(jié)構(gòu)如圖9所示,通過橫向PID控制x達(dá)到預(yù)期值,通過縱向PID控制y達(dá)到預(yù)期值,當(dāng)x和y都達(dá)到預(yù)期值時(shí),兩個(gè)機(jī)器人之間的距離d和方向也達(dá)到預(yù)期值??刂破鞅磉_(dá)式如下:
其中u1,u2,u3,u4分別為電機(jī)1,2,3,4輸出的PWM波的占空比。
圖9 系統(tǒng)控制器結(jié)構(gòu)圖
為維持機(jī)器人之間的預(yù)期相對(duì)位置,在設(shè)計(jì)好控制算法后,還需要通過實(shí)驗(yàn)選擇一組合適的參數(shù),實(shí)現(xiàn)編隊(duì)跟隨快、準(zhǔn)、穩(wěn)的目標(biāo)。據(jù)此設(shè)計(jì)PID控制算法,有三個(gè)參數(shù)需要調(diào)節(jié),分別為比例系數(shù)Kp,積分系數(shù)Ki,微分系數(shù)Kd,本文根據(jù)經(jīng)驗(yàn)法提出了參數(shù)調(diào)節(jié)的步驟如下:
1)將Ki和Kd設(shè)為0,在輸出不震蕩的前提下,增大Kp;
2)維持Kp不變,在輸出不震蕩的前提下,增大Ki;
3)維持Kp和Ki不變,在輸出不震蕩的前提下,增大Kd。
當(dāng)Kp=225,Ki=0,Kd=0時(shí),編隊(duì)效果如圖10所示。此時(shí)系統(tǒng)有穩(wěn)態(tài)誤差e=(80-77)/80=0.0375。
當(dāng)Kp=225,Ki=2,Kd=0時(shí),編隊(duì)效果如圖11所示。此時(shí)系統(tǒng)沒有穩(wěn)態(tài)誤差。
當(dāng)Kp=225,Ki=2,Kd=10時(shí),編隊(duì)效果如圖12所示。此時(shí)系統(tǒng)沒有穩(wěn)態(tài)誤差,且超調(diào)量較小,調(diào)整時(shí)間較短。
圖10 只有Kp時(shí)的編隊(duì)輸出效果
圖11 有Kp和Ki時(shí)的編隊(duì)輸出效果
圖12 有Kp,Ki和Kd時(shí)的編隊(duì)輸出效果
為提高機(jī)器人應(yīng)對(duì)復(fù)雜環(huán)境的能力,本文提出一種基于領(lǐng)導(dǎo)者和跟隨者編隊(duì)的監(jiān)控機(jī)器人系統(tǒng)設(shè)計(jì)。給出了監(jiān)控機(jī)器人系統(tǒng)的整體設(shè)計(jì),并對(duì)機(jī)器人編隊(duì)展開介紹,搭建了監(jiān)控機(jī)器人系統(tǒng)并對(duì)系統(tǒng)進(jìn)行調(diào)試,實(shí)現(xiàn)了通過控制中心控制領(lǐng)導(dǎo)者監(jiān)控機(jī)器人和跟隨者監(jiān)控機(jī)器人自主跟隨目標(biāo),對(duì)同類機(jī)器人的設(shè)計(jì)和開發(fā)具有一定的參考和推廣價(jià)值。