徐 勝,邢 強(qiáng),王 浩
(1.南通大學(xué)機(jī)械工程學(xué)院,江蘇 南通 226019;2.南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210026)
如今,機(jī)器人技術(shù)發(fā)展迅速。機(jī)器人已經(jīng)應(yīng)用到多個(gè)行業(yè),朝著高度智能化的方向發(fā)展。具有跟隨功能的移動(dòng)機(jī)器人是一種在復(fù)雜環(huán)境下自動(dòng)捕捉移動(dòng)目標(biāo)物,并且能夠?qū)崟r(shí)追蹤目標(biāo)物的機(jī)器人[1-5]。其中快速獲取移動(dòng)目標(biāo)物的空間位置是關(guān)鍵[6-11]。
許多學(xué)者對(duì)智能跟隨移動(dòng)機(jī)器人進(jìn)行了研究。包加桐等[12]將里程計(jì)與視覺相機(jī)相結(jié)合,設(shè)計(jì)了具有自主定位和導(dǎo)航功能的跟隨機(jī)器人,實(shí)現(xiàn)了對(duì)目標(biāo)的跟蹤。Srinivasa等[13]利用視覺相機(jī)成功實(shí)現(xiàn)了在不規(guī)則室內(nèi)環(huán)境中對(duì)目標(biāo)的精確識(shí)別和定位。目前,在很多復(fù)雜環(huán)境中可以通過視覺定位準(zhǔn)確識(shí)別目標(biāo),但是在圖像處理時(shí)須用處理器將采集到的大量數(shù)據(jù)進(jìn)行計(jì)算,這對(duì)微型控制器的處理速度提出了較高的要求。此外,謝德勝等[14]將GPS(global positioning system,全球定位系統(tǒng))與RTK(realtime kinematic,實(shí)時(shí)動(dòng)態(tài))技術(shù)融合,設(shè)計(jì)了軌跡跟隨機(jī)器人。杜華臻等[15]將激光雷達(dá)作為環(huán)境感知傳感器,來(lái)捕捉人腿的圓弧形特征,實(shí)現(xiàn)了對(duì)人體目標(biāo)的跟隨。上述研究主要依靠相機(jī)、激光雷達(dá)、慣性導(dǎo)航系統(tǒng)等來(lái)感知環(huán)境,從而實(shí)現(xiàn)對(duì)目標(biāo)的定位和跟隨。然而,將這些硬件設(shè)備應(yīng)用到智能車的成本十分高昂,這對(duì)智能車的普及帶來(lái)了阻礙。因此,研究低成本的傳感器方案并將其運(yùn)用于智能車的跟隨勢(shì)在必行。
為此,本文設(shè)計(jì)了一種基于測(cè)距羅盤的移動(dòng)機(jī)器人的目標(biāo)跟隨系統(tǒng)。借鑒于復(fù)眼昆蟲具有接近360°的視角,設(shè)計(jì)了一種具有環(huán)形大視場(chǎng)的測(cè)距傳感器。利用單個(gè)紅外傳感器體積小、成本低的優(yōu)點(diǎn)來(lái)模擬昆蟲小眼,對(duì)目標(biāo)進(jìn)行快速的距離測(cè)量和角度測(cè)量,以快速判斷目標(biāo)的位置,實(shí)現(xiàn)對(duì)目標(biāo)的精準(zhǔn)定位。并依據(jù)目標(biāo)的位置信息利用PD(proportion-differentiation,比例-微分)控制器控制跟隨機(jī)器人的移動(dòng),實(shí)現(xiàn)其對(duì)移動(dòng)目標(biāo)的自動(dòng)跟蹤。
針對(duì)室內(nèi)空曠環(huán)境,提出一種具有主動(dòng)式環(huán)形大視場(chǎng)的測(cè)距羅盤作為環(huán)境感知傳感器。通過該測(cè)距羅盤對(duì)移動(dòng)機(jī)器人周圍的未知環(huán)境進(jìn)行探測(cè);其主控芯片將采集到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),準(zhǔn)確地計(jì)算出其與目標(biāo)物之間的相對(duì)距離和相對(duì)角度,并運(yùn)用PD算法將此空間位置關(guān)系與預(yù)設(shè)位置關(guān)系進(jìn)行比較,通過控制跟隨車輛的差動(dòng)驅(qū)動(dòng)輪,實(shí)現(xiàn)移動(dòng)機(jī)器人的前進(jìn)、后退、轉(zhuǎn)動(dòng)、轉(zhuǎn)彎,使得機(jī)器人與目標(biāo)物保持在預(yù)定范圍;通過無(wú)線串口將測(cè)距羅盤采集到的數(shù)據(jù)傳輸給上位機(jī),進(jìn)行數(shù)據(jù)可視化分析。移動(dòng)機(jī)器人自動(dòng)跟隨系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
圖1 移動(dòng)機(jī)器人自動(dòng)跟隨系統(tǒng)的結(jié)構(gòu)框圖Fig.1 Structure block diagram of automatic following system of mobile robot
大視場(chǎng)測(cè)距模塊采用具有較強(qiáng)抗干擾能力的GP2Y0A21紅外測(cè)距傳感器。其有效探測(cè)距離為10~80 cm,主要由發(fā)射電路、接收電路和檢測(cè)電路三部分構(gòu)成。檢測(cè)電路用來(lái)將從障礙物反射回來(lái)的光的強(qiáng)度信號(hào)轉(zhuǎn)換為模擬電信號(hào),從而實(shí)現(xiàn)對(duì)傳感器與遮擋物體之間距離的測(cè)量[16-17]。為了實(shí)現(xiàn)接近360°的無(wú)死角視野,采用16個(gè)測(cè)距傳感器組成周向陣列。為了最大限度地降低傳感器之間的相互干擾,將16個(gè)同構(gòu)傳感器分為4組,每組4個(gè),各標(biāo)記為1,2,3,4,周向均勻間隔排列在測(cè)距羅盤上,構(gòu)成了基于傳感器陣列的測(cè)距模塊,如圖2所示。測(cè)量時(shí),序號(hào)相同的4個(gè)傳感器在同一時(shí)刻工作,并設(shè)置序號(hào)不同的傳感器延遲一定時(shí)間測(cè)量,避免各組不同序號(hào)的傳感器相互干擾。這樣的設(shè)計(jì)可以使各傳感器在互不干擾的條件下完成對(duì)周圍環(huán)境的檢測(cè)。
圖2 基于傳感器陣列的測(cè)距模塊Fig.2 Ranging module based on sensor array
紅外測(cè)量和采集模塊使用4組模擬開關(guān)對(duì)單片機(jī)上的模數(shù)轉(zhuǎn)換接口進(jìn)行拓展,使得單片機(jī)4路模數(shù)轉(zhuǎn)換通道拓展為16路模數(shù)轉(zhuǎn)換通道。每組紅外測(cè)量電路包含一個(gè)收發(fā)一體式紅外測(cè)量探頭、紅外發(fā)射電路、紅外接收電路和濾波放大電路,且4組紅外測(cè)量電路共享STM32控制內(nèi)核和nRF24L01無(wú)線通信模塊。nRF24L01無(wú)線通信模塊可以實(shí)現(xiàn)一對(duì)一、一對(duì)多、多對(duì)多設(shè)備間的數(shù)據(jù)傳輸。利用它可組成星形、樹形和蜂窩形網(wǎng)絡(luò)結(jié)構(gòu),并與上位機(jī)組成分布式測(cè)量控制系統(tǒng)。上位機(jī)用來(lái)接收和保存所測(cè)數(shù)據(jù),以便后續(xù)分析。
移動(dòng)機(jī)器人自動(dòng)跟隨系統(tǒng)以STM32為控制核心,4組紅外測(cè)距回路并行執(zhí)行。STM32同時(shí)選中4組電路的同一通道4052,紅外傳感器發(fā)射的紅外波遇到障礙物后返回,經(jīng)過各自的4052通道進(jìn)入放大濾波電路,然后進(jìn)入STM32的ADC(analog-to-digital converter,模數(shù)轉(zhuǎn)換器)通道,數(shù)模轉(zhuǎn)換后經(jīng)過計(jì)算得出距障礙物的距離,并同時(shí)保存?zhèn)鞲衅魉诘耐?,即可獲得障礙物的方位。上述過程進(jìn)行4次,即可完成16個(gè)傳感器的測(cè)距工作,獲得跟隨機(jī)器人與移動(dòng)目標(biāo)物之間的距離ρ和角度φ。
紅外測(cè)量和采集模塊的設(shè)計(jì)如圖3所示。
圖3 紅外測(cè)量和采集模塊設(shè)計(jì)示意Fig.3 Schematic of infrared measurement and acquisition module design
GP2Y0A21紅外測(cè)距傳感器能夠根據(jù)物體的距離輸出模擬電壓。距離越遠(yuǎn),其輸出的模擬電壓值越小,且電壓值與距離之間存在非線性關(guān)系。因此,須對(duì)測(cè)距傳感器的輸入輸出關(guān)系進(jìn)行參數(shù)標(biāo)定。
在傳感器10~80 cm的量程范圍內(nèi),每隔5 cm取一個(gè)測(cè)量點(diǎn),并在每一個(gè)測(cè)量點(diǎn)記錄其實(shí)際距離和傳感器輸出的模擬電壓值。為了減小在測(cè)量過程中產(chǎn)生的隨機(jī)誤差,進(jìn)行10次測(cè)量,取測(cè)量的平均值,并將數(shù)據(jù)全部輸入MATLAB軟件。利用冪擬合的方法對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合,擬合曲線如圖4所示。擬合結(jié)果表明,擬合的確定系數(shù)為0.999 3,殘差平方和為0.002 3,可見擬合效果較好。
圖4 實(shí)測(cè)距離與電壓值的擬合曲線Fig.4 Fitting curve of measured distance and voltage value
該擬合曲線的表達(dá)式為:
式中:U(ρ)為紅外測(cè)距傳感器輸出的模擬電壓值。
定位模型表示在跟隨機(jī)器人與移動(dòng)目標(biāo)物處于同一水平高度的條件下,移動(dòng)目標(biāo)物在測(cè)距羅盤坐標(biāo)系下的位置,如圖5所示。第i個(gè)測(cè)距傳感器檢測(cè)到的數(shù)據(jù)為(ρi,φi)(i=1,2,…,16)。當(dāng)跟隨機(jī)器人的周圍存在目標(biāo)物時(shí),其對(duì)應(yīng)方向上傳感器檢測(cè)到的距離信號(hào)值會(huì)小于其他傳感器檢測(cè)到的值。因此,在t時(shí)刻取最小信號(hào)值作為跟隨機(jī)器人對(duì)目標(biāo)物的定位結(jié)果(ρt,φt),即:
圖5 定位模型示意Fig.5 Schematic of positioning model
利用定位結(jié)果(ρt,φt)對(duì)車體兩側(cè)的差動(dòng)驅(qū)動(dòng)輪進(jìn)行控制,以實(shí)現(xiàn)移動(dòng)機(jī)器人的前進(jìn)、后退、轉(zhuǎn)動(dòng)、轉(zhuǎn)彎等運(yùn)動(dòng),最終使跟隨機(jī)器人與移動(dòng)目標(biāo)物保持設(shè)定的距離ρw和偏航角φw。
如圖5所示,假設(shè)兩輪差速驅(qū)動(dòng)跟隨機(jī)器人的質(zhì)心c位于跟隨機(jī)器人幾何中心位置,則機(jī)器人的質(zhì)心坐標(biāo)為(xc,yc),機(jī)器人的姿態(tài)向量P=(xc,yc,θ),其中θ為方向角。
根據(jù)剛體力學(xué)可得跟隨機(jī)器人的運(yùn)動(dòng)學(xué)方程為:
式中:v為跟隨機(jī)器人的線速度;ω為跟隨機(jī)器人的角速度;v1和vr分別為跟隨機(jī)器人左、右驅(qū)動(dòng)輪的線速度;l為跟隨機(jī)器人兩驅(qū)動(dòng)輪的輪距。
跟隨機(jī)器人的運(yùn)動(dòng)滿足如下約束:
則式(5)可改寫為:
將式(4)離散化,可得:
式中:T為采樣周期。
為了實(shí)現(xiàn)對(duì)跟隨機(jī)器人的快速控制,同時(shí)考慮場(chǎng)景控制所需的較強(qiáng)實(shí)時(shí)性,選擇適應(yīng)性強(qiáng)、控制簡(jiǎn)單的PD控制律。跟隨機(jī)器人的PD控制原理如圖6所示。
圖6 跟隨機(jī)器人PD控制原理示意Fig.6 Schematic of PD control principle of following robot
式中:kp為比例系數(shù);kd為微分系數(shù)。
以一階后向差分近似代替微分,則PD控制律的離散化方程為:
數(shù)據(jù)采集程序主要在LabVIEW軟件中編寫完成。利用串口技術(shù)[18-21]實(shí)現(xiàn)對(duì)測(cè)距羅盤數(shù)據(jù)和隨動(dòng)機(jī)器人路徑的可視化采集。下位機(jī)接收到測(cè)距羅盤的數(shù)據(jù)后,會(huì)將實(shí)時(shí)距離信號(hào)編碼成帶有校驗(yàn)碼的字符串傳送回上位機(jī);用于定位跟隨機(jī)器人的室內(nèi)定位系統(tǒng)[15]將實(shí)時(shí)記錄機(jī)器人的二維坐標(biāo),并通過串口上傳至上位機(jī)。上位機(jī)循環(huán)接收上述傳感器信號(hào),在其操作界面可以顯示在極坐標(biāo)和平面直角坐標(biāo)系下測(cè)距羅盤數(shù)據(jù)和機(jī)器人跟隨路徑,如圖7所示。
圖7 測(cè)距羅盤數(shù)據(jù)和機(jī)器人跟隨路徑的顯示界面Fig.7 Display interface of ranging compass data and robot following path
跟隨機(jī)器人如圖8所示。其采用差速輪,差速電機(jī)選用MG513BP30直流減速電機(jī),電機(jī)額定功率為7 W,空載轉(zhuǎn)速可達(dá)500 r/min。該型號(hào)電機(jī)自帶高精度AB雙相光電編碼器,尾部500線AB雙相輸出;減速比為1∶30的電機(jī)減速器的輸出軸旋轉(zhuǎn)1周,可以輸出15 000個(gè)完整脈沖。下位機(jī)中,選用基于ARM32位Cortex-M3內(nèi)核的STM32F103單片機(jī)作為整個(gè)系統(tǒng)的控制中心,協(xié)調(diào)和控制各個(gè)模塊的工作。下位機(jī)的主要任務(wù)是采集測(cè)距羅盤的模擬信號(hào)并將它轉(zhuǎn)換為距離信號(hào)以控制跟隨機(jī)器人的運(yùn)動(dòng),通過無(wú)線串口將數(shù)據(jù)傳輸給上位機(jī)中,通過LabVIEW軟件進(jìn)行可視化分析。
圖8 跟隨機(jī)器人Fig.8 Following robot
為觀察搭載測(cè)距羅盤的跟隨機(jī)器人在小范圍無(wú)障礙環(huán)境中的自動(dòng)跟隨效果,進(jìn)行移動(dòng)機(jī)器人自動(dòng)跟隨實(shí)驗(yàn)。
先將目標(biāo)物放置于跟隨機(jī)器人前方某處不動(dòng),引入全局平面坐標(biāo)系,用于描述機(jī)器人跟隨運(yùn)動(dòng)的軌跡。在初始時(shí)刻,全局平面坐標(biāo)系與測(cè)距羅盤初始坐標(biāo)系重合。設(shè)定相關(guān)參數(shù):ρw=0.2 m,φw=0 rad,l=0.4 m,跟隨機(jī)器人最大速度vmax=0.5 m/s。實(shí)驗(yàn)在平地上進(jìn)行,因此不考慮跟隨機(jī)器人和目標(biāo)物在垂直方向的位置變化。啟動(dòng)移動(dòng)機(jī)器人的自動(dòng)跟隨系統(tǒng),通過上位機(jī)實(shí)時(shí)記錄實(shí)驗(yàn)過程中測(cè)距羅盤的數(shù)據(jù)和跟隨機(jī)器人的運(yùn)動(dòng)軌跡。
讓目標(biāo)物以恒定線速度v=0.4 m/s進(jìn)行“8”字形運(yùn)動(dòng)和方形運(yùn)動(dòng),移動(dòng)機(jī)器人自動(dòng)跟隨效果如圖9所示。由圖可知,機(jī)器人跟隨軌跡連續(xù),在跟隨過程中未出現(xiàn)跟丟目標(biāo)物的情況。說(shuō)明跟隨機(jī)器人能夠執(zhí)行預(yù)期動(dòng)作,準(zhǔn)確跟隨目標(biāo)物,跟蹤效果穩(wěn)定。實(shí)驗(yàn)結(jié)果證實(shí)了測(cè)距羅盤和自動(dòng)跟隨系統(tǒng)的有效性和可靠性。
圖9 移動(dòng)機(jī)器人自動(dòng)跟隨效果Fig.9 Automatic following effect of following robot
本文設(shè)計(jì)了一種基于環(huán)形紅外陣列的移動(dòng)機(jī)器人自動(dòng)跟隨系統(tǒng)。受復(fù)眼昆蟲具有無(wú)死角視野的啟發(fā),利用具有主動(dòng)式環(huán)形大視場(chǎng)的測(cè)距羅盤作為環(huán)境感知傳感器。測(cè)距羅盤由數(shù)個(gè)紅外測(cè)距傳感器組成周向陣列。對(duì)紅外傳感器進(jìn)行參數(shù)標(biāo)定,使測(cè)距羅盤可以準(zhǔn)確、快速地確定其與移動(dòng)目標(biāo)物之間的距離和偏航角。依據(jù)目標(biāo)物的位置信息并利用PD控制器控制跟隨機(jī)器人的移動(dòng),使跟隨機(jī)器人保持與移動(dòng)目標(biāo)物的相對(duì)距離和相對(duì)角度,實(shí)現(xiàn)對(duì)目標(biāo)物的自動(dòng)跟隨。在上位機(jī)操作界面可以實(shí)時(shí)顯示跟隨機(jī)器人的運(yùn)動(dòng)軌跡及其對(duì)周圍未知環(huán)境的探測(cè)情況,方便實(shí)驗(yàn)結(jié)果的觀察與分析。進(jìn)行了跟隨機(jī)器人“8”字形和方形兩種軌跡的跟隨實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,機(jī)器人跟隨軌跡連續(xù),在跟隨過程中未出現(xiàn)跟丟目標(biāo)物的情況,跟蹤效果穩(wěn)定,證實(shí)了測(cè)距羅盤和自動(dòng)跟隨系統(tǒng)的有效性和可靠性。后續(xù)可以通過提高周向陣列傳感器的密度來(lái)實(shí)現(xiàn)更高分辨率的環(huán)境探測(cè),使移動(dòng)機(jī)器人的應(yīng)用更為廣泛。