劉靈敏,胡 婧,謝 倩
(武漢晴川學(xué)院 計(jì)算機(jī)學(xué)院, 武漢 430204)
隨著農(nóng)業(yè)勞動(dòng)力老齡化和勞動(dòng)力不足問題的逐漸加劇,各個(gè)國(guó)家開始重視對(duì)多用途農(nóng)業(yè)機(jī)器人的開發(fā)研究,也包括采摘機(jī)器人的研發(fā)。將采摘機(jī)器人應(yīng)用于新農(nóng)業(yè)生產(chǎn)模式,是未來解決勞動(dòng)力匱乏的重要手段。當(dāng)前,國(guó)外采摘機(jī)器人發(fā)展迅速,國(guó)內(nèi)同類產(chǎn)品迅速跟進(jìn),現(xiàn)已取得階段性成果。本文在此基礎(chǔ)上,結(jié)合計(jì)算機(jī)視覺技術(shù)與嵌入式智能控制技術(shù),提出了一種基于計(jì)算機(jī)視覺的采摘機(jī)器人智能避障系統(tǒng),實(shí)現(xiàn)前進(jìn)道路上的避障功能。
計(jì)算機(jī)視覺技術(shù)是采用一到多臺(tái)CCD工業(yè)攝像機(jī)代替眼球,作為圖像傳感器獲取環(huán)境信息,然后根據(jù)需求由圖像處理模塊進(jìn)行實(shí)時(shí)圖像處理分析,進(jìn)而交由智能控制系統(tǒng)進(jìn)行跟蹤控制。其中,計(jì)算機(jī)就是指在整個(gè)系統(tǒng)中負(fù)責(zé)智能控制的模塊,而視覺則是將周邊環(huán)境因素轉(zhuǎn)變?yōu)橛行У膶?duì)象描述,其核心問題是將環(huán)境信息轉(zhuǎn)換為圖像信息,從而導(dǎo)出周邊環(huán)境的結(jié)構(gòu)。視覺作為整個(gè)系統(tǒng)中的核心模塊,一般從獲取圖像開始,然后經(jīng)過特定模塊的格式轉(zhuǎn)換和處理,輸出給計(jì)算機(jī)使計(jì)算機(jī)具有認(rèn)識(shí)當(dāng)前環(huán)境的能力。視覺信息具有以下幾個(gè)特點(diǎn):
1)特征點(diǎn),可以準(zhǔn)確地對(duì)當(dāng)前整個(gè)環(huán)境或者特定的幾個(gè)對(duì)象進(jìn)行有效的信息描述,并結(jié)合指定的規(guī)則說明環(huán)境信息的特點(diǎn)。采用特定的結(jié)構(gòu)信息描述環(huán)境中具體的對(duì)象,那么這個(gè)結(jié)構(gòu)信息體就稱為該對(duì)象在當(dāng)前平臺(tái)特征點(diǎn)的具體描述。
2)控制處理,指將某些特定信息按照具體實(shí)現(xiàn)方式進(jìn)行有效轉(zhuǎn)換。視覺是指對(duì)整個(gè)環(huán)境信息進(jìn)行一個(gè)整體的獲取,并需要經(jīng)過多道步驟轉(zhuǎn)換的表面特征階段;而將一個(gè)特征點(diǎn)轉(zhuǎn)換為另外一個(gè)特征點(diǎn),就需要借助控制處理單元。
3)零交叉,表示圖像信息的明暗度突然發(fā)生顛覆性變化,是形成對(duì)象外觀輪廓和立體信息的條件。零交叉檢測(cè)就是計(jì)算機(jī)視覺系統(tǒng)對(duì)對(duì)象目標(biāo)外觀輪廓、邊界值和立體信息的檢測(cè)。計(jì)算機(jī)視覺圖像形成結(jié)構(gòu)如圖1所示。
圖1 計(jì)算機(jī)視覺圖像形成結(jié)構(gòu)圖
為了精準(zhǔn)地獲取環(huán)境圖形信息,本文設(shè)計(jì)的智能避障系統(tǒng)首先采用雙CCD攝像機(jī)獲取圖像信息,然后通過3D立體坐標(biāo)對(duì)環(huán)境障礙物進(jìn)行識(shí)別檢測(cè)。根據(jù)左右圖像信息間的視覺差計(jì)算障礙物離采摘機(jī)器人的距離,建立立體圖像信息。障礙物識(shí)別檢測(cè)的框架示意圖如圖2所示。
圖2 障礙物識(shí)別檢測(cè)框架圖
為了計(jì)算簡(jiǎn)單方便,在檢測(cè)過程中,將左CCD設(shè)置為世界坐標(biāo)系,右邊設(shè)為平面坐標(biāo)系。雙目CCC模型如圖3所示。
圖3 雙目CCC模型圖
根據(jù)雙目CCD模型可以得到
(1)
(2)
其中,sl和sr分別為平面坐標(biāo)系尺度因子;fl和fr分別是左右CCD的焦距。由式(1)和式(2)可以得到左右圖像的像點(diǎn)坐標(biāo)的對(duì)應(yīng)關(guān)系為
(3)
由此求出三維世界坐標(biāo)系坐標(biāo)對(duì)應(yīng)關(guān)系為
(4)
根據(jù)式(4)就可以求出障礙物的準(zhǔn)確位置。
采摘機(jī)器人智能避障系統(tǒng)在作業(yè)過程中,為了準(zhǔn)確無誤地進(jìn)行采摘操作,需要實(shí)時(shí)對(duì)圖像信息進(jìn)行處理,進(jìn)而判斷前方是否可以正常前行。因此,設(shè)計(jì)了基于STM32F103RCT6為核心的硬件平臺(tái),可以完成實(shí)時(shí)信息采集、圖像處理、路徑規(guī)劃和躲避障礙物等功能。本文主要介紹智能避障系統(tǒng)的最小系統(tǒng)和視頻圖像的獲取與解析兩部分的電路。
1)最小系統(tǒng)的設(shè)計(jì)。智能避障系統(tǒng)的最小系統(tǒng)主要包括微處理器、振蕩電路、JTAG和復(fù)位電路。其中,處理器采用意法半導(dǎo)體(ST)公司的Cortex-M3內(nèi)核的32位ARM微處理器STM32F103RCT6,該芯片具有256K Flash,48KRAM,板載晶振8MHz,擁有豐富的接口和外設(shè)資源。最小系統(tǒng)原理圖如圖4所示。
2)視頻圖像的獲取與解析。CCD攝像頭獲取到環(huán)境信息的圖像后,經(jīng)過圖像轉(zhuǎn)換芯片將模擬信號(hào)轉(zhuǎn)化為空間上數(shù)字信號(hào)。本文圖像轉(zhuǎn)化選用OmniVision 公司的OV7676圖像傳感器芯片,該芯片采用3μmOmniPixel3-HS技術(shù),實(shí)現(xiàn)了一流的低光靈敏度、信噪比、 滿阱容量、 量子效率和低功耗, 具有集成度高、圖像轉(zhuǎn)換效率高等特點(diǎn)。視頻圖像獲取與解析的接口電路如圖5所示。
圖4 最小系統(tǒng)原理圖
圖5 視頻圖像獲取與解析的接口電路
為了方便操作人員對(duì)采摘機(jī)器人進(jìn)行實(shí)時(shí)調(diào)整和控制,本文基于QT Creator進(jìn)行了采摘機(jī)器人Android上位機(jī)平臺(tái)控制的功能設(shè)計(jì)和模塊化實(shí)現(xiàn),并著重于無線通信模式下的機(jī)器人功能實(shí)現(xiàn)和上位機(jī)APP的界面設(shè)計(jì)。該上位機(jī)主要用于操作人員對(duì)采摘機(jī)器人發(fā)送控制指令,上位機(jī)首先發(fā)送指令到WIFI模塊,然后由路由器轉(zhuǎn)換發(fā)送給STM32F103RCT6微處理器,從未實(shí)現(xiàn)對(duì)采摘機(jī)器人的控制。同時(shí),路由端可以實(shí)時(shí)將機(jī)器人拍攝的視頻圖像信息解碼后實(shí)時(shí)回傳給上位機(jī),上位機(jī)在界面中顯示。上位機(jī)設(shè)計(jì)的框架如圖6所示。
上位機(jī)軟件的編寫采用TCP通信方式,用Socket連接把數(shù)據(jù)發(fā)送到路由端,在實(shí)際應(yīng)用過程中,上位機(jī)是Client模式,路由端是服務(wù)器模式。這樣就可以實(shí)現(xiàn)對(duì)采摘機(jī)器人的無線控制。上位機(jī)核心代碼如下:
public class MyVideo extends Activity
{
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
r =
(MySurfaceView)findViewById(R.id.mySurfaceViewVideo);
TakePhotos =
(Button)findViewById(R.id.TakePhoto);
ViewPhotos =
(Button)findViewById(R.id.ViewPhoto);
BtnForward =
(Button)findViewById(R.id.button_forward);
BtnBackward =
(Button)findViewById(R.id.button_backward);
BtnLeft =
(Button)findViewById(R.id.button_left);
BtnRight =
(Button)findViewById(R.id.button_right);
BtnStop=
(Button)findViewById(R.id.button_stop);
Intent intent = getIntent();
CameraIp =
intent.getStringExtra("CameraIp");
CtrlIp= intent.getStringExtra("ControlUrl");
CtrlPort=intent.getStringExtra("Port");
InitSocket();
}
圖6 上位機(jī)設(shè)計(jì)框架圖
當(dāng)CCD攝像機(jī)探測(cè)前方有障礙物時(shí),采摘機(jī)器人一般會(huì)選擇從障礙物的左邊繞行,但當(dāng)采摘機(jī)器人的位置相對(duì)于偏向于右邊時(shí),根據(jù)最優(yōu)路徑經(jīng)驗(yàn),應(yīng)該繞右邊前行,如圖7所示。因此,采摘機(jī)器人在實(shí)際躲避障礙物的過程中,應(yīng)先對(duì)自身位置進(jìn)行定位,判斷dOA和dOD的值后,再進(jìn)行繞行規(guī)劃。
圖7中:ABCD為障礙物;小車位置1~4是采摘機(jī)器人避障行走路徑;dOA和dOD分別是機(jī)器人中心點(diǎn)與障礙物之間的距離。通過直角三角形求邊長(zhǎng)公式可知
(5)
聯(lián)立求解可以得到dOA和dOD的值。
當(dāng)dOA>dOD時(shí),采摘機(jī)器人繞障礙物右邊前行。在計(jì)算過程中,假設(shè)采摘機(jī)器人的長(zhǎng)款分別是2l和2n,那么采摘機(jī)器人由位置1前進(jìn)到位置2時(shí),小車的前進(jìn)路線的長(zhǎng)度為
(6)
其中,λ為采摘機(jī)器人與障礙物之間的安全距離系數(shù)。
需要的時(shí)長(zhǎng)為
(7)
轉(zhuǎn)彎時(shí)的角度值為
(8)
采摘機(jī)器人由位置2前進(jìn)到位置3時(shí),小車的前進(jìn)路線的長(zhǎng)度為
s2=dCD
(9)
行駛時(shí)間為
(10)
采摘機(jī)器人由位置3前進(jìn)到位置4時(shí),回到原先處于位置1時(shí)的方向。轉(zhuǎn)彎角度為
θ2=-θ1
(11)
行駛的時(shí)間為
t3=t1
(12)
則在整個(gè)過程中,采摘機(jī)器人的避障路徑為:右轉(zhuǎn)向θ1,速度為v0/3,經(jīng)過時(shí)間t1行駛至位置2;再以速度為v0/3行駛t2至位置3;最后左轉(zhuǎn)向θ1,速度為v0/3,經(jīng)過時(shí)間t1行駛至位置4,即回到避障前的行駛路線上。
圖7 機(jī)器人避障示意圖(dl 為了驗(yàn)證采摘機(jī)器人智能避障系統(tǒng)的可行性及其有效性,本文利用MatLab仿真軟件對(duì)該系統(tǒng)進(jìn)行避障仿真實(shí)驗(yàn)。該實(shí)驗(yàn)不僅能夠?qū)τ?jì)算機(jī)視覺圖像采集和處理進(jìn)行驗(yàn)證,還可以對(duì)采摘機(jī)器人避障規(guī)劃進(jìn)行驗(yàn)證。仿真結(jié)果如圖8所示。 圖8 仿真結(jié)果圖 采摘機(jī)器人前方的圓柱體、菱形和立方體分別是障礙物1、2、3,虛圓形為采摘機(jī)器人S避障路徑。從仿真結(jié)果可以看出:采摘機(jī)器人從起點(diǎn)前行到了終點(diǎn),成功避開了3個(gè)障礙物;在避障過程中,由于采摘機(jī)器人更靠近障礙物1下方一點(diǎn),所以其選擇了繞障礙物1下方前行,實(shí)現(xiàn)了規(guī)劃路徑最優(yōu)化,證明該智能避障系統(tǒng)的有效性、準(zhǔn)確性和可行性。 首先分析了計(jì)算機(jī)視覺技術(shù)及障礙物檢測(cè)的特點(diǎn)、原理,然后對(duì)系統(tǒng)的軟硬件系統(tǒng)進(jìn)行了設(shè)計(jì),最后實(shí)現(xiàn)了采摘機(jī)器人的智能避障系統(tǒng)。該系統(tǒng)針對(duì)采摘機(jī)器人在作業(yè)過程中常常會(huì)碰到被障礙物擋住前行道路等問題,結(jié)合計(jì)算機(jī)視覺技術(shù)和嵌入式智能控制技術(shù),極大地加強(qiáng)了采摘機(jī)器人對(duì)環(huán)境的感知能力。對(duì)該系統(tǒng)進(jìn)行了MatLab仿真試驗(yàn),結(jié)果表明:系統(tǒng)能夠準(zhǔn)確無誤地避開障礙物,并能在動(dòng)態(tài)移動(dòng)中規(guī)劃局部最優(yōu)路徑,證明該智能避障系統(tǒng)的有效性、準(zhǔn)確性和可行性。 AbstractID:1003-188X(2018)09-0213-EA4 實(shí)驗(yàn)結(jié)果與分析
5 結(jié)論