欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于光流的無(wú)人機(jī)仿生智能避障方法與流程

文檔序號(hào):11827433閱讀:504來(lái)源:國(guó)知局
一種基于光流的無(wú)人機(jī)仿生智能避障方法與流程
本發(fā)明涉及一種單目視覺(jué)的基于光流的無(wú)人機(jī)智能仿生避障方法,特別是屬于人工智能以及計(jì)算機(jī)視覺(jué)領(lǐng)域。
背景技術(shù)
:無(wú)人機(jī)是一種由動(dòng)力驅(qū)動(dòng)、可以按照預(yù)定義軌跡自主控制飛行或者通過(guò)遠(yuǎn)程遙控實(shí)時(shí)操控的飛行器。在軍事和城市應(yīng)用中越來(lái)越廣泛,但在實(shí)際應(yīng)用中大都依賴專業(yè)操作人員實(shí)時(shí)遙控,使用成本居高不下,反應(yīng)速度慢,并且受制于通信信道的傳輸質(zhì)量。因此亟需無(wú)人機(jī)具有自主避障的能力來(lái)識(shí)別并規(guī)避障礙物,使無(wú)人機(jī)能及時(shí)準(zhǔn)確地到達(dá)目標(biāo)位置,完成預(yù)定的功能。避障技術(shù)的效率和精度直接決定了自動(dòng)化設(shè)備的運(yùn)行效率。相對(duì)于超聲波、激光雷達(dá),視覺(jué)避障技術(shù)更適用于無(wú)人機(jī),因?yàn)橐曈X(jué)傳感器不需要發(fā)射裝置,接收裝置也很簡(jiǎn)單,可以較好的滿足無(wú)人機(jī)對(duì)體積、重量和能耗的要求;并且視覺(jué)避障需要發(fā)射信號(hào),因此不存在輻射和信號(hào)干擾,不會(huì)受到地理?xiàng)l件和姿態(tài)的限制。無(wú)人機(jī)負(fù)載能力有限,決定了其只能攜帶輕量級(jí)的傳感設(shè)備和嵌入式計(jì)算系統(tǒng),因此計(jì)算能力有限;無(wú)人機(jī)在三維空間運(yùn)動(dòng)且速度很快,任何延時(shí)都可能被放大導(dǎo)致錯(cuò)誤,因此對(duì)實(shí)時(shí)性要求很高,目前的計(jì)算機(jī)視覺(jué)算法用于實(shí)現(xiàn)自主避障有很大的難度。昆蟲(chóng)體形小、重量輕(大腦重量不及十分一毫克且神經(jīng)元比人類大腦少四個(gè)數(shù)量級(jí))、神經(jīng)系統(tǒng)簡(jiǎn)單,卻擁有精確避障的能力。無(wú)人機(jī)在大小、質(zhì)量、計(jì)算能力、飛行環(huán)境等方面與昆蟲(chóng)相似,因此,昆蟲(chóng)視覺(jué)導(dǎo)航和避障方法成為國(guó)內(nèi)外的研究重點(diǎn)。國(guó)外對(duì)昆蟲(chóng)視覺(jué)導(dǎo)航及避障機(jī)理已做了大量的生物實(shí)驗(yàn),并進(jìn)行深入研究總結(jié),形成了大量可借鑒的研究成果。澳大利亞昆士蘭大學(xué)的Srinivasan對(duì)蜜蜂飛行進(jìn)行了多年的研究,得出蜜蜂根據(jù)飛行過(guò)程中感受到的視覺(jué)變化(光流),即視網(wǎng)膜上產(chǎn)生的圖像變化來(lái)執(zhí)行速度測(cè)定、著陸、避障等各種飛行任務(wù)。NicolasFranceschini等研究人員花了數(shù)年時(shí)間研究蒼蠅視覺(jué)系統(tǒng)和蒼蠅是如何檢測(cè)并利用光流的,然后在實(shí)驗(yàn)的基礎(chǔ)上研制出來(lái)能夠避開(kāi)障礙物且不斷接近目標(biāo)的輪式機(jī)器人“robotmouche”。Srinivasan所在研究小組發(fā)現(xiàn)蜜蜂是通過(guò)平衡兩側(cè)眼睛中光流來(lái)調(diào)節(jié)飛行方向的,因此他們?cè)谳喪綑C(jī)器人“Corridor-followingrobot”上安裝了一個(gè)攝像頭和兩面鏡子來(lái)驗(yàn)證光流平衡機(jī)制。JohnStowers等人設(shè)計(jì)了一種基于光流的生物啟發(fā)式無(wú)人機(jī)避障算法,并實(shí)際試飛測(cè)試驗(yàn)證了該算法可用于控制無(wú)人機(jī)避免走廊中迎面而來(lái)的障礙物。FabienExpert和FranckRuffier研發(fā)了一款基于光流的蜜蜂空中機(jī)器人BeeRobor,重80克、長(zhǎng)47厘米且利用24個(gè)光電二極管模擬個(gè)昆蟲(chóng)復(fù)眼,在未知環(huán)境無(wú)加速度計(jì)的情況下,僅僅通過(guò)視覺(jué)輸入即光流來(lái)判斷自身所處位置,從而控制其沿著高低不平的隧道避障移動(dòng)。無(wú)人機(jī)與飛行昆蟲(chóng)面臨相似的約束,比如最小限度的能量消耗、超輕的重量、實(shí)時(shí)快速的控制等。盡管飛行昆蟲(chóng)具有多種傳感裝備,但它們的行為主要還是受視覺(jué)控制,根據(jù)視覺(jué)反饋來(lái)穩(wěn)定飛行、控制飛行速度、感知深度信息、跟蹤目標(biāo)、著陸、檢測(cè)自運(yùn)動(dòng)和估測(cè)距離。目前,對(duì)飛行昆蟲(chóng)的行為模式和神經(jīng)結(jié)構(gòu)已經(jīng)有了較為清晰的認(rèn)識(shí),并且在模擬平臺(tái)以及地面移動(dòng)機(jī)器人上已經(jīng)有了一些嘗試,但是由于無(wú)人機(jī)的各種資源限制及實(shí)驗(yàn)的困難,在無(wú)人機(jī)上的應(yīng)用還處于起步階段,亟需進(jìn)行深入研究,仍存在著很大的挑戰(zhàn)和研究前景,具有很大的科學(xué)意義。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于:克服現(xiàn)有技術(shù)的不足,提供了一種基于光流的無(wú)人機(jī)智能仿生避障方法,針對(duì)無(wú)人機(jī)對(duì)重量、實(shí)時(shí)性等要求,從而實(shí)現(xiàn)無(wú)人機(jī)在未知雜亂環(huán)境中實(shí)時(shí)避障飛行。為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)是一種基于光流的無(wú)人機(jī)避障方法,如圖1所示,該方法是按照以下步驟實(shí)現(xiàn)的:步驟1:無(wú)人機(jī)進(jìn)行初始化后,控制無(wú)人機(jī)按照一定高度D、速度V飛行;步驟2:無(wú)人機(jī)按照控制指令飛行,利用單目攝像頭捕獲圖像幀,根據(jù)前后兩幀圖像I1、I2,利用LK(Lucas-Kanade)方法計(jì)算得到光流,過(guò)濾噪聲光流;步驟3:將圖像I2分為邊緣、左中、右中三部分,得到圖像左中部分Dleft、圖像右中部分Dright和圖像邊緣Dedge,因?yàn)樘幱趫D像邊緣的物體對(duì)于無(wú)人機(jī)避障飛行基本沒(méi)有影響,所以此處只考慮圖像中間部分出現(xiàn)的障礙物;步驟4:計(jì)算Dleft、Dright兩側(cè)光流水平標(biāo)量之和,記為L(zhǎng)S、RS,LS為Dleft區(qū)間光流水平標(biāo)量之和,RS為Dright區(qū)間光流水平標(biāo)量之和;LS=Σi∈Dleft|vi_x|,RS=Σi∈Dright|vi_x|]]>其中,|vi_x|為第i個(gè)像素點(diǎn)光流水平標(biāo)量;i表示圖像中第i個(gè)像素,x表示光流水平標(biāo)量方向;步驟5:通過(guò)SVM對(duì)訓(xùn)練集中的圖像特征進(jìn)行訓(xùn)練,得到大型障礙物分類器檢測(cè)前方是否為大型障礙物,即SVM大型障礙物分類器;提取圖像光流特征,帶入SVM分類器,根據(jù)分類結(jié)果分別判定Dleft、Dright是否為大型障礙物;大型障礙物是指無(wú)人機(jī)搭載的攝像頭捕獲的圖像幀中,障礙物所占圖像面積比較大,如果無(wú)人機(jī)距離障礙物很近時(shí),障礙物基本占了整個(gè)圖像幀,這時(shí)無(wú)人機(jī)需要旋轉(zhuǎn)角度避開(kāi)障礙物,此時(shí)的障礙物則為大型障礙物;步驟6:如果Dleft為大型障礙物,Dright不是大型障礙物,則控制無(wú)人機(jī)向右旋轉(zhuǎn)R度;如果Dright為大型障礙物,Dleft不是大型障礙物,則控制無(wú)人機(jī)向左旋轉(zhuǎn)角度R,轉(zhuǎn)向步驟2;步驟7:如果Dleft、Dright均為大型障礙物,若LS>RS,說(shuō)明無(wú)人機(jī)前方為大型障礙物,且無(wú)人機(jī)當(dāng)前姿態(tài)下離左側(cè)更近,則控制無(wú)人機(jī)向右旋轉(zhuǎn)角度krR,反之控制無(wú)人機(jī)向左旋轉(zhuǎn)角度krR,必須滿足kr>1,kr為旋轉(zhuǎn)量比例系數(shù),因?yàn)闊o(wú)人機(jī)前方為大型障礙物時(shí),避障需要旋轉(zhuǎn)量比一側(cè)為障礙物時(shí)的避障旋轉(zhuǎn)量大,kr>1,轉(zhuǎn)向步驟2;步驟8:如果左右兩側(cè)均不為大型障礙物,計(jì)算圖像每個(gè)像素點(diǎn)的TTC值,求每列TTC之和TTCcol以及平均TTCavg,對(duì)每列進(jìn)行標(biāo)記0和1,0代表free,指無(wú)障礙物區(qū)間,即無(wú)人機(jī)可以飛行的區(qū)間,1代表obstacle,指有障礙物區(qū)間,即無(wú)人機(jī)需要避開(kāi)的區(qū)間,標(biāo)記準(zhǔn)則為:0TTCcol>TTCavg1TTCcol≤TTCavg;]]>標(biāo)記完成后,再對(duì)free和obstacle區(qū)間進(jìn)行插值;步驟9:找出free的最大連通區(qū)間[freeleft,freeright],如果free區(qū)間整體在圖像左側(cè)區(qū)間,則控制無(wú)人機(jī)向左側(cè)平移T;如果均在圖像右側(cè)的區(qū)間,則控制無(wú)人機(jī)向右平移T,其中,km為比例系數(shù),用于調(diào)節(jié)無(wú)人機(jī)左右平移量,轉(zhuǎn)向步驟2;mid=width2]]>T=(mid-freeleft+freeright2)(3/width)*kmfreeright<3width(freeleft+freeright2-mid)(3/width)*kmfreeleft>3width]]>其中,width為圖像的寬度;步驟10:如果free區(qū)間整體不在圖像左側(cè)或右側(cè),則根據(jù)左右光流平衡策略控制無(wú)人機(jī)飛行,無(wú)人機(jī)運(yùn)動(dòng)方向和旋轉(zhuǎn)量rotation由下述公式確定,轉(zhuǎn)向步驟2;free區(qū)間表示圖像中連續(xù)標(biāo)記為0的區(qū)間,即無(wú)障礙物區(qū)間,gostraight1k<RSLS<kturnleftRSLS>kturnrightRSLS<1k]]>rotation=kd×|RS-LS|RS+LS]]>其中,k用于調(diào)節(jié)光流平衡策略的敏感度,kd為比例系數(shù),用于調(diào)節(jié)無(wú)人機(jī)左右旋轉(zhuǎn)量。所述步驟(2)中控制無(wú)人機(jī)飛行時(shí)采用PID控制。所述步驟(2)中單目攝像頭為無(wú)人機(jī)前置攝像頭,即安裝在無(wú)人機(jī)正前方,用于捕獲無(wú)人機(jī)前方環(huán)境的圖像幀,單目攝像頭分辨率大于640×320。所述步驟(2)中LK方法計(jì)算得到的光流為稠密光流場(chǎng),能夠得到所有像素點(diǎn)的光流;此處計(jì)算光流不局限于LK方法,Horn-Schunck(HS)方法也可以。所述步驟(2)中過(guò)濾噪聲光流方法采用閾值過(guò)濾和窗口平滑過(guò)濾兩步,閾值過(guò)濾會(huì)過(guò)濾光流大于某一閾值的所有光流,認(rèn)為大光流是由于噪聲點(diǎn)產(chǎn)生的;窗口平滑過(guò)濾則會(huì)將圖像分為n×n的窗口,計(jì)算窗口平均光流vavg,過(guò)濾大于k×vavg的光流。所述步驟(3)中,具體圖像分割如下:設(shè)整幅圖像大小為(0,0)到(1,1),則(Kedge,Kedge)到為圖像左中部分Dleft,到(1-Kedge,1-Kedge)為圖像右中部分Dright,其余為圖像邊緣Dedge,其中Kedge為圖像長(zhǎng)寬的比例系數(shù),用于分割圖像邊緣和圖像左中、圖像右中三部分,所述步驟(5)中通過(guò)SVM進(jìn)行訓(xùn)練得到大型障礙物分類器過(guò)程為:將圖像左中部Dleft、圖像右中部Dright以圖像中線為界分為上下兩部分,即分為2×2分為4個(gè)區(qū)域;整體光流和為4個(gè)區(qū)域的某一區(qū)域中每個(gè)像素點(diǎn)光流標(biāo)量之和,即水平方向光流標(biāo)量與垂直方向光流標(biāo)量的平方和開(kāi)根,水平光流和為4個(gè)區(qū)域的某一區(qū)域中每個(gè)像素點(diǎn)水平方向光流標(biāo)量之和;每幀圖像提取8個(gè)屬性,為每幀圖像分為2×2分為4部分,每部分提取整體光流和與水平光流和兩個(gè)屬性,共8個(gè)屬性;訓(xùn)練集人工標(biāo)記每幀圖像是否為大型障礙物,大型障礙物標(biāo)記為1,非大型障礙物可以直線飛行,無(wú)需避障標(biāo)記為-1,訓(xùn)練集中8個(gè)屬性標(biāo)準(zhǔn)化到[0,1]之間,訓(xùn)練得到SVM分類器。所述步驟(6)中,遇到一側(cè)為大型障礙物時(shí),無(wú)人機(jī)旋轉(zhuǎn)R之后再進(jìn)行探測(cè)前方是否為無(wú)障礙區(qū)間,是否可以行走,其中1<R<7,R指無(wú)人機(jī)進(jìn)行一次探測(cè)旋轉(zhuǎn)的角度,如果需要精確探測(cè),R取值越小越好。所述步驟(6)、(7)中控制無(wú)人機(jī)旋轉(zhuǎn)一定角度后,轉(zhuǎn)向步驟(2),探測(cè)前方是否有障礙物,然后根據(jù)相應(yīng)情況控制無(wú)人機(jī)避障飛行,但是這個(gè)過(guò)程中會(huì)出現(xiàn)無(wú)人機(jī)左右搖擺的情況。原因?yàn)椋罕热鐭o(wú)人機(jī)在當(dāng)前位置A1和姿態(tài)T1下,根據(jù)圖像幀檢測(cè)到Dleft為大型障礙物,Dright不是大型障礙物,控制無(wú)人機(jī)向右旋轉(zhuǎn)R度。無(wú)人機(jī)旋轉(zhuǎn)R度之后,位置A1姿態(tài)T2,檢測(cè)到Dright為大型障礙物,Dleft不是大型障礙物,則控制無(wú)人機(jī)向左旋轉(zhuǎn)角度R;無(wú)人機(jī)向左旋轉(zhuǎn)R度之后,重新回到原來(lái)位置A1和姿態(tài)T1,仍然會(huì)檢測(cè)到Dleft為大型障礙物,Dright不是大型障礙物,控制無(wú)人機(jī)向右旋轉(zhuǎn)R度,這樣無(wú)人機(jī)會(huì)在位置A1姿態(tài)T1和位置A1姿態(tài)T2之間循環(huán)變化,則會(huì)出現(xiàn)無(wú)人機(jī)左右搖擺的現(xiàn)象,為避免無(wú)人機(jī)在探測(cè)過(guò)程中出現(xiàn)左右搖擺現(xiàn)象,則檢測(cè)如果無(wú)人機(jī)上一個(gè)動(dòng)作為偏轉(zhuǎn)且與此次偏轉(zhuǎn)方向正好相反,則此次偏轉(zhuǎn)角度為上一次的2倍,如果此次偏轉(zhuǎn)角度大于90度,則恢復(fù)角度R。所述步驟(6)、(7)中控制無(wú)人機(jī)旋轉(zhuǎn)一定角度后,轉(zhuǎn)向步驟(2),探測(cè)前方是否有障礙物,然后根據(jù)相應(yīng)情況控制無(wú)人機(jī)避障飛行,但是這個(gè)過(guò)程中會(huì)出現(xiàn)無(wú)人機(jī)原路返回的情況。原因?yàn)椋簾o(wú)人機(jī)在當(dāng)前位置和姿態(tài)下根據(jù)圖像幀檢測(cè)到Dleft、Dright均為大型障礙物,且LS>RS,控制無(wú)人機(jī)向右旋轉(zhuǎn)角度krR,假設(shè)無(wú)人機(jī)一直檢測(cè)到Dleft、Dright均為大型障礙物,且這個(gè)過(guò)程中LS>RS,這樣無(wú)人機(jī)會(huì)一直向右旋轉(zhuǎn);而當(dāng)前位置無(wú)人機(jī)右側(cè)也為大型障礙物,當(dāng)無(wú)人機(jī)旋轉(zhuǎn)180度時(shí),表示無(wú)人機(jī)已經(jīng)掉頭,則前方無(wú)障礙物,無(wú)人機(jī)會(huì)原路返回,但是在在這種情況下可能無(wú)人機(jī)繼續(xù)向右旋轉(zhuǎn)90度時(shí)是前方是沒(méi)有障礙物的,無(wú)人機(jī)可以飛行新的避障路線,但是無(wú)人機(jī)卻原路返回了。所述步驟(8)中,對(duì)free和obstacle區(qū)間進(jìn)行插值方法為:計(jì)算某一free區(qū)間大小,記為free,此free區(qū)間左右兩側(cè)的obstacle區(qū)間,記為obsl,obsr,因?yàn)閒ree區(qū)間為連續(xù)標(biāo)記為0的區(qū)間,其左右側(cè)均標(biāo)記為1,因此free區(qū)間左右兩側(cè)必為obstacle區(qū)間;obstacle區(qū)間為連續(xù)標(biāo)記為1的區(qū)間;如果free>kf_o(obsl+obsr),則此free區(qū)間插值為obstacle區(qū)間,即free區(qū)間中0均標(biāo)記為1;計(jì)算某一obstacle區(qū)間大小,記為obs,此obstacle區(qū)間左右兩側(cè)的free區(qū)間,記為freel,freer,如果obs>ko_f(freel+freer),則此obstacle區(qū)間插值為free區(qū)間,即obstacle區(qū)間中1均標(biāo)記為0,其中kf_o<ko_f,因?yàn)閷bstacle區(qū)間處理為free區(qū)間,會(huì)給無(wú)人機(jī)發(fā)送錯(cuò)誤的控制命令。所述步驟(9)中比例系數(shù)km取值范圍為:1<km<5。所述步驟(10)中,即使在步驟(2)中過(guò)濾掉噪聲光流,在無(wú)需避障操作的場(chǎng)景下,左右光流也不可能嚴(yán)格相等,此處引入k用于調(diào)節(jié)光流平衡策略的敏感度,k的取值為,2<k<6。所述步驟(10)中,比例系數(shù)km和kd取值范圍0.3<kd<0.5。本發(fā)明的優(yōu)點(diǎn)在于:(1)本發(fā)明實(shí)現(xiàn)了無(wú)人機(jī)在未知雜亂環(huán)境中避障飛行。無(wú)人機(jī)有著飛行姿態(tài)靈活、操作簡(jiǎn)易、隱蔽性好等優(yōu)點(diǎn),而搭載單目攝像頭及相關(guān)設(shè)備且植入本發(fā)明涉及的相關(guān)方法的無(wú)人機(jī)可以在環(huán)境復(fù)雜的場(chǎng)景下順利完成任務(wù),特別是有利于無(wú)人機(jī)低空甚至超低空飛行。因此作為一種嶄新的發(fā)明技術(shù),它可以應(yīng)用的領(lǐng)域非常廣泛。無(wú)人機(jī)在飛行時(shí)常常會(huì)遇到障礙物,特別是低空飛行時(shí),而操作者的視野是有限的。無(wú)人機(jī)感知到障礙物之后,實(shí)現(xiàn)重新路徑規(guī)劃、自主避障,這樣可以避免無(wú)人機(jī)破損甚至墜毀的經(jīng)濟(jì)損失;并且無(wú)人機(jī)在低空飛行時(shí)遇到行人、汽車等能夠?qū)崟r(shí)自主避障,可以減少因路線規(guī)劃不當(dāng)造成不必要的人員傷亡。因此,將會(huì)大大提高無(wú)人機(jī)的安全性能,降低經(jīng)濟(jì)損失。(2)本發(fā)明基于單目攝像頭的具有光流避障能力的無(wú)人機(jī)的最基本功能就是在復(fù)雜環(huán)境中可避障飛行。利用這一特點(diǎn),可使無(wú)人機(jī)在未知環(huán)境中有效的處理各種突發(fā)事件,精確執(zhí)行任務(wù),實(shí)現(xiàn)自主飛行,有利于拓寬無(wú)人機(jī)應(yīng)用領(lǐng)域。如在城市交通監(jiān)控、生化污染取樣、危險(xiǎn)環(huán)境中(如火災(zāi)或地震)中的搜查和救援等。目前無(wú)人機(jī)一般只能在高空飛行作業(yè),采集到的信息比較粗糙模糊。本發(fā)明可實(shí)現(xiàn)無(wú)人機(jī)實(shí)現(xiàn)自主避障,可靈活自如的應(yīng)對(duì)高度不確定的環(huán)境變化。這樣將有利于無(wú)人機(jī)實(shí)現(xiàn)低空飛行,采集到更加精確全面的信息,從而對(duì)可以飛行環(huán)境精準(zhǔn)把握、判斷和決策,并且高空飛行的無(wú)人機(jī)進(jìn)入敵軍陣地,很容易被雷達(dá)等探測(cè)器檢測(cè)到,對(duì)其攻擊破壞,但是低空飛行的無(wú)人機(jī)不在雷達(dá)的檢測(cè)范圍,隱蔽性好。附圖說(shuō)明圖1為本發(fā)明無(wú)人機(jī)避障系統(tǒng)整體流程圖;圖2為發(fā)明中基于光流的PID控制框圖;圖3為發(fā)明基于光流的無(wú)人機(jī)自主避障方法流程圖;圖4系統(tǒng)硬件結(jié)構(gòu)圖。具體實(shí)施方式下面結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)說(shuō)明。圖1給出了本發(fā)明中涉及的無(wú)人機(jī)避障系統(tǒng)整體流程圖。開(kāi)始時(shí),無(wú)人機(jī)啟動(dòng)懸停,判斷當(dāng)前控制指令是否為著陸,如果為著陸指令,則結(jié)束。如果不是著陸指令,判斷當(dāng)前控制是否為手動(dòng)控制,如果為手動(dòng)控制則直接發(fā)送控制命令給無(wú)人機(jī),如果為光流控制,則捕獲圖像幀處理得到相應(yīng)的控制指令發(fā)送給無(wú)人機(jī)。圖2給出了本發(fā)明中涉及的無(wú)人機(jī)控制框圖。無(wú)人機(jī)控制模塊通過(guò)手動(dòng)模塊和自動(dòng)模塊兩部分組成。手動(dòng)控制模塊,直接發(fā)送控制指令給無(wú)人機(jī)控制無(wú)人機(jī)飛行。自動(dòng)控制模塊,通過(guò)單目攝像頭捕獲圖像幀,處理圖像幀計(jì)算光流控制量,發(fā)送給無(wú)人機(jī)控制無(wú)人機(jī)避障飛行。其中,控制部分使用PID控制無(wú)人機(jī)按照指定指令飛行。光流其中利用手動(dòng)控制和基于光流控制,通過(guò)PID控制無(wú)人機(jī)飛行。圖3給出了本發(fā)明所涉及的核心算法流程圖。無(wú)人機(jī)初始化,定高飛行,判斷當(dāng)前飛行是否為自主飛行,如果不是自主飛行,則結(jié)束。如果為自主飛行,則根據(jù)單目攝像頭捕獲的圖像序列,通過(guò)計(jì)算光流,大型障礙物檢測(cè)、計(jì)算最大free連通區(qū)間、左右光流平衡策略來(lái)得到控制平移量和旋轉(zhuǎn)量,發(fā)送給無(wú)人機(jī)控制無(wú)人機(jī)避障飛行。圖4給出了本發(fā)明中所涉及的硬件系統(tǒng)進(jìn)行整合搭建,在平臺(tái)搭建的過(guò)程中遵循載重最小原則以保證無(wú)人機(jī)能夠在低空平穩(wěn)、靈活飛行。無(wú)人機(jī)搭載的單目攝像頭捕獲的圖像幀通過(guò)無(wú)人機(jī)上的通信模塊發(fā)送給遠(yuǎn)程處理器,遠(yuǎn)程處理器處理視頻幀得到控制指令通過(guò)通信模塊發(fā)送給無(wú)人機(jī)上搭載的飛控板控制無(wú)人機(jī)避障飛行。如圖1所示,本發(fā)明基于光流的無(wú)人機(jī)避障方法的具體實(shí)施步驟如下:步驟1):無(wú)人機(jī)進(jìn)行初始化,控制無(wú)人機(jī)按照一定高度D(0.5m-1.2m)、速度V(0.1m/s-0.2m/s)(速度不可設(shè)置過(guò)大,否則違反光流計(jì)算時(shí)小運(yùn)動(dòng)的假設(shè))飛行。更優(yōu)選的,為了保證無(wú)人機(jī)避撞的實(shí)時(shí)性,使用FPGA+DSP的圖像處理系統(tǒng)加快圖像計(jì)算處理速度,保證實(shí)時(shí)避撞。步驟2):無(wú)人機(jī)上搭載的單目攝像頭以30fps的速度采集圖像序列。將圖像序列灰度化,像素處理為640×320。根據(jù)前后兩幀圖像I1、I2,利用LK(Lucas-Kanade)方法計(jì)算光流,過(guò)濾噪聲光流。光流過(guò)濾方法采用閾值過(guò)濾和窗口平滑過(guò)濾兩步:1)閾值過(guò)濾會(huì)過(guò)濾光流大于某一閾值的所有光流,認(rèn)為大光流是由于噪聲點(diǎn)產(chǎn)生的;2)窗口平滑過(guò)濾則會(huì)將圖像分為n×n的窗口,計(jì)算窗口平均光流vavg,過(guò)濾大于k×vavg的光流,此過(guò)濾法基于小窗口內(nèi)光流變化很小(或者基本一致)的假設(shè)。更優(yōu)選的,可以比較多種稠密光流計(jì)算方法的避障性能,如LK、HS、LDOF、SIFTFlow、EpicFlow等,選擇避障性能佳的光流避障方法。步驟3):將圖像I2分為邊緣、左中、右中三部分。具體圖像分割如下:設(shè)整幅圖像大小為(0,0)到(1,1),則(Kedge,Kedge)到為圖像左中部分Dleft,到(1-Kedge,1-Kedge)為圖像右中部分Dright,其余為圖像邊緣,其中Kedge取步驟4):計(jì)算Dleft、Dright兩側(cè)光流水平標(biāo)量之和,記為L(zhǎng)S、RS,LS=Σi∈Dleft|vi_x|,RS=Σi∈Dright|vi_x|]]>其中,|vi_x|為第i個(gè)像素點(diǎn)光流水平標(biāo)量。步驟5):分別判定Dleft、Dright是否為大型障礙物。提取光流特征,通過(guò)SVM進(jìn)行訓(xùn)練得到大型障礙物分類器進(jìn)行檢測(cè)大型障礙物。檢測(cè)大型障礙物過(guò)程為:1)將圖像中部,即(Kedge,Kedge)到(1-Kedge,1-Kedge)之間,按照2×2分為4部分,每部分提取整體光流和與水平光流和,即每張圖像提取8個(gè)屬性;2)訓(xùn)練集人工標(biāo)記每幀圖像是否為大型障礙物,大型障礙物標(biāo)記為1,非大型障礙物(即可以直線飛行,無(wú)需避障)標(biāo)記為-1;3)訓(xùn)練集中8個(gè)屬性標(biāo)準(zhǔn)化到[0,1]之間,訓(xùn)練得到SVM分類器;4)將左右兩側(cè)各分為4部分,分別提取8個(gè)屬性,標(biāo)準(zhǔn)化后使用SVM分類器進(jìn)行測(cè)試,得到1為大型障礙物,-1不是大型障礙物。更優(yōu)選的,可以將圖像幀分為更小的塊,提取更多的光流特征屬性,采用隨機(jī)森林方法得到各個(gè)屬性的權(quán)值。更優(yōu)選的,可以采用其他機(jī)器學(xué)習(xí)方法用于大型障礙物檢測(cè),如k-means、knn和BP神經(jīng)網(wǎng)絡(luò)等。步驟6):如果Dleft為大型障礙物,Dright不是大型障礙物,則控制無(wú)人機(jī)向右旋轉(zhuǎn)R度;如果Dright為大型障礙物,Dleft不是大型障礙物,則控制無(wú)人機(jī)向左旋轉(zhuǎn)R度。此處,R=5。轉(zhuǎn)向步驟2。步驟7):如果Dleft、Dright均為大型障礙物,若LS>RS,說(shuō)明前方為大型障礙物,且無(wú)人機(jī)當(dāng)前姿態(tài)下離左側(cè)更近,則控制其向右旋轉(zhuǎn)krR度,反之控制其向左旋轉(zhuǎn)krR度。兩側(cè)均為大型障礙物則說(shuō)明無(wú)人機(jī)面臨大型障礙物,需要偏轉(zhuǎn)大的角度才可以避開(kāi),因此需要滿足kr>1。此處,kr=3。轉(zhuǎn)向步驟2。更優(yōu)選的,為避免無(wú)人機(jī)左右搖擺現(xiàn)象,則檢測(cè)如果無(wú)人機(jī)上一個(gè)動(dòng)作為偏轉(zhuǎn)且與此次偏轉(zhuǎn)方向正好相反,則此次偏轉(zhuǎn)角度為上一次的2倍,如果此次偏轉(zhuǎn)角度大于90度,則恢復(fù)R度。更優(yōu)選的,為避免無(wú)人機(jī)沿某一方向連續(xù)偏轉(zhuǎn)180度,檢測(cè)沒(méi)有障礙物原路返回而沒(méi)有檢測(cè)另一測(cè)是否有路可走,則在無(wú)人機(jī)當(dāng)前位置首次連續(xù)偏轉(zhuǎn)160~200度時(shí),即使檢測(cè)前方可以飛行也忽略繼續(xù)檢測(cè)。步驟8):如果左右兩側(cè)均不為大型障礙物,則計(jì)算圖像計(jì)算圖像每個(gè)像素點(diǎn)的TTC值,求每列光流之和TTCcol以及平均TTCavg,對(duì)每列進(jìn)行標(biāo)記0(free)和1(obstacle):0TTCcol>TTCavg1TTCcol≤TTCavg]]>更優(yōu)選的,可以通過(guò)對(duì)多個(gè)場(chǎng)景下TTC列和進(jìn)行整理統(tǒng)計(jì),得到合理且通用的TTC閾值用于標(biāo)記free和obstacle。步驟9):對(duì)free和obstacle區(qū)間進(jìn)行插值。找出最大的連通free區(qū)間[freeleft,freeright]。如果free區(qū)間整體在圖像左側(cè)區(qū)間,則控制無(wú)人機(jī)向左側(cè)平移如果均在圖像右側(cè)的區(qū)間,則控制無(wú)人機(jī)向右平移其中,km為比例系數(shù),用于調(diào)節(jié)無(wú)人機(jī)左右平移量。轉(zhuǎn)向步驟2。free和obstacle區(qū)間插值算法為,計(jì)算某一free區(qū)間大小(free)和其左右的obstacle區(qū)間(obsl,obsr),如果free>kf_o(obsl+obsr),則此free區(qū)間插值為obstacle區(qū)間。同理,obstacle區(qū)間插值為free區(qū)間。其中kf_o<ko_f,因?yàn)閷bstacle區(qū)間處理為free區(qū)間,會(huì)給無(wú)人機(jī)發(fā)送錯(cuò)誤的控制命令。更優(yōu)選的,可以采用其他的插值算法進(jìn)行插值。步驟10):如果free區(qū)間整體不在圖像左側(cè)或右側(cè),則根據(jù)左右光流平衡策略控制無(wú)人機(jī)飛行。無(wú)人機(jī)運(yùn)動(dòng)方向和旋轉(zhuǎn)量rotation由下述公式確定。轉(zhuǎn)向步驟2。gostraight1k<RSLS<kturnleftRSLS>kturnrightRSLS<1k]]>rotation=kd×|RS-LS|RS+LS]]>其中,k用于調(diào)節(jié)光流平衡策略的敏感度,kd為比例系數(shù),用于調(diào)節(jié)無(wú)人機(jī)左右旋轉(zhuǎn)量。光流平衡策略假設(shè)的前提是光流是由平移運(yùn)動(dòng)引起的,但是實(shí)際中旋轉(zhuǎn)也會(huì)引起光流變化。更優(yōu)選的,可以考慮無(wú)人機(jī)旋轉(zhuǎn)引起的光流變化,得到旋轉(zhuǎn)補(bǔ)償量??傊?,本發(fā)明只需額外給無(wú)人機(jī)裝載單目攝像頭,然后根據(jù)攝像頭捕獲的前后兩幀圖像,計(jì)算光流并過(guò)濾噪聲光流,提取光流屬性特征通過(guò)SVM分類器判斷左右兩側(cè)是否為大型障礙物,計(jì)算TTC得到最大連通free空間,結(jié)合左右光流平衡策略得到控制平移量和旋轉(zhuǎn)量,從而引導(dǎo)無(wú)人機(jī)避障飛行??梢岳帽景l(fā)明所涉及的方法實(shí)現(xiàn)無(wú)人機(jī)在未知雜亂環(huán)境中實(shí)時(shí)避障飛行。本發(fā)明能實(shí)現(xiàn)無(wú)人機(jī)在未知雜亂環(huán)境中實(shí)時(shí)避障飛行。最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
岑溪市| 冕宁县| 汕尾市| 庐江县| 瑞丽市| 徐州市| 孟州市| 绩溪县| 普安县| 麦盖提县| 瑞金市| 浦东新区| 宿迁市| 桂东县| 漳浦县| 沧州市| 新沂市| 二手房| 古丈县| 宁陵县| 泗阳县| 宁南县| 苍山县| 罗山县| 高青县| 芒康县| 郧西县| 滨州市| 九江市| 清水河县| 乐安县| 航空| 都昌县| 临西县| 班玛县| 鹤岗市| 那曲县| 江西省| 高淳县| 凤翔县| 达州市|