一種避障方法、避障裝置及無人駕駛機器的制造方法
【專利摘要】本發(fā)明提供了一種避障方法、避障裝置及無人駕駛機器,該方法包括:探測所述無人駕駛機器周圍是否存在障礙物;當(dāng)探測到障礙物時,判斷所述障礙物是否位于第一圓形區(qū)域內(nèi);當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述無人駕駛機器躲避所述障礙物的規(guī)避方向;及控制所述無人駕駛機器以所述規(guī)避方向進行避障運動,另外還在規(guī)避方向的計算中設(shè)定了第二圓形區(qū)域。通過設(shè)定第一圓形區(qū)域和第二圓形區(qū)域,在檢測到障礙物位于第一圓形區(qū)域內(nèi)時進行規(guī)避方向計算,規(guī)避方向是依據(jù)障礙物的邊緣位置點和第二圓形區(qū)域的幾何運算進行的,運算量小,系統(tǒng)負(fù)荷低,運算資源消耗少,能實時快速的計算得到可行的規(guī)避方向,實現(xiàn)無人駕駛機器自主避障和全方位避障。
【專利說明】
-種避障方法、避障裝置及無人駕駛機器
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及無人駕駛機器控制技術(shù)領(lǐng)域,具體設(shè)及一種避障方法、避障裝置及無 人駕駛機器。
【背景技術(shù)】
[0002] 自主避障是無人駕駛機器自主運行的關(guān)鍵技術(shù),無人駕駛機器通過自主避障可W 在飛行或行駛過程中躲避開影響運動的障礙物?,F(xiàn)有技術(shù)中的避障技術(shù)大多只能進行簡單 的單向避障,且需要通過神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等復(fù)雜的運算方法來實現(xiàn),運樣的避障技術(shù)所 需的系統(tǒng)硬件資源較大,不能快速且實時的實現(xiàn)全方位的避障。
【發(fā)明內(nèi)容】
[0003] 有鑒于此,本發(fā)明提供了一種避障方法、避障裝置及無人駕駛機器,能夠快速準(zhǔn)確 的實現(xiàn)對障礙物的避障。
[0004] 本發(fā)明提供的技術(shù)方案如下:
[0005] -方面,本申請?zhí)峁┝艘环N避障方法,應(yīng)用于無人駕駛機器,該方法包括:探測所 述無人駕駛機器周圍是否存在障礙物;當(dāng)探測到障礙物時,判斷所述障礙物是否位于第一 圓形區(qū)域內(nèi);當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述無人駕駛機器躲避所述 障礙物的規(guī)避方向;及控制所述無人駕駛機器W所述規(guī)避方向進行避障運動;其中,計算所 述無人駕駛機器躲避所述障礙物的規(guī)避方向的步驟包括:檢測所述障礙物在所述第一圓形 區(qū)域所在平面的邊緣位置點;確定包含所述無人駕駛機器的第二圓形區(qū)域,所述第二圓形 區(qū)域的半徑小于所述第一圓形區(qū)域的半徑,且與所述第一圓形區(qū)域共面并同屯、;從檢測到 的所述邊緣位置點中選取兩個目標(biāo)點,并計算從每個所述目標(biāo)點到所述第二圓形區(qū)域的切 線,其中,該切線與所述無人駕駛機器的當(dāng)前運動方向相交;計算所述切線與所述當(dāng)前運動 方向的夾角;及根據(jù)所述夾角確定所述規(guī)避方向。
[0006] 第二方面,本發(fā)明提供了一種避障裝置,該裝置包括:障礙物探測模塊,用于探測 所述無人駕駛機器周圍是否存在障礙物;并在當(dāng)探測到障礙物時,判斷所述障礙物是否位 于第一圓形區(qū)域內(nèi);規(guī)避方向計算模塊,用于當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計 算所述無人駕駛機器躲避所述障礙物的規(guī)避方向;及避障控制模塊,用于控制所述無人駕 駛機器W所述規(guī)避方向進行避障運動;其中,所述規(guī)避方向計算模塊計算所述無人駕駛機 器躲避所述障礙物的規(guī)避方向的方法包括:所述障礙物探測模塊還用于檢測所述障礙物在 第一圓形區(qū)域所在平面的邊緣位置點;確定包含所述無人駕駛機器的第二圓形區(qū)域,所述 第二圓形區(qū)域的半徑小于所述第一圓形區(qū)域的半徑,且與所述第一圓形區(qū)域共面并同屯、; 從所述檢測到的邊緣位置點選取兩個目標(biāo)點,并計算從每個所述目標(biāo)點到所述第二圓形區(qū) 域的切線,其中,該切線與所述無人駕駛機器的當(dāng)前運動方向相交;計算所述切線與所述當(dāng) 前運動方向的夾角;及根據(jù)所述夾角確定所述規(guī)避方向。
[0007] 第=方面,本發(fā)明還提供了一種無人駕駛機器,包括上述避障裝置。
[000引在本申請實施例中,在無人駕駛機器運動過程中,設(shè)定了第一圓形區(qū)域和第二圓 形區(qū)域,在檢測到障礙物位于第一圓形區(qū)域內(nèi)時啟動規(guī)避方向的計算,并且規(guī)避方向的計 算是依據(jù)障礙物的邊緣位置點和第二圓形區(qū)域的幾何運算進行雙環(huán)避障計算,運樣的計算 過程運算量小,系統(tǒng)計算負(fù)荷低,對運算資源消耗少,能夠?qū)崟r快速的針對障礙物計算得到 可行的規(guī)避方向,實現(xiàn)無人駕駛機器的自主避障運動,并能實現(xiàn)復(fù)雜環(huán)境中的全方位的自 主避障。
[0009] 為使本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例, 并配合所附圖示,作詳細說明如下。
【附圖說明】
[0010] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)運些附圖獲 得其他的附圖。通過附圖所示,本發(fā)明的上述及其它目的、特征和優(yōu)勢將更加清晰。在全部 附圖中相同的附圖標(biāo)記指示相同的部分。并未刻意按實際尺寸等比例縮放繪制附圖,重點 在于示出本發(fā)明的主旨。
[0011] 圖1為本發(fā)明實施例提供的無人駕駛機器的示意性結(jié)構(gòu)框圖。
[0012] 圖2示出了本發(fā)明實施例提供的避障方法的流程示意圖。
[0013] 圖3示出了本發(fā)明實施例中提供的避障方法的演示示意圖。
[0014] 圖4示出了本發(fā)明實施例中的步驟S103包括的子步驟的流程示意圖。
[0015] 圖5示出了本發(fā)明實施例中的步驟S1035包括的子步驟的流程示意圖。
[0016] 圖6示出了本發(fā)明實施例中的步驟S1033包括的子步驟的流程示意圖。
[0017] 圖7示出了用于描述圖6所示的流程圖中的多個障礙物的目標(biāo)點選取過程的示意 圖。
[0018] 圖8a示出了本發(fā)明實施例中計算避障方向的示意圖。
[0019] 圖8b示出了本發(fā)明實施例中另一種計算避障方向的示意圖。
[0020] 圖9示出了本發(fā)明實施例提供的避障方法的另一種流程示意圖。
[0021] 圖10示出了本發(fā)明實施例提供的在死胡同或類似地形中避障的示意圖。
[0022] 圖11示出了本發(fā)明實施例提供的在多個障礙物形成的縫隙中避障的示意圖。
[0023] 圖12示出了本發(fā)明實施例提供的在遇到窗口障礙時避障的示意圖。
[0024] 圖13示出了本發(fā)明實施例提供的避障方法的另一種流程示意圖。
[0025] 圖14示出了本發(fā)明實施例提供的避障裝置的示意性結(jié)構(gòu)框圖。
[00%]主要元件符號說明
【具體實施方式】
[0028] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整的描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0029] 應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一 個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的 描述中,術(shù)語"第一"、"第二"等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
[0030] 圖1示出了本發(fā)明實施例提供的一種無人駕駛機器100的示意性結(jié)構(gòu)框圖。如圖1 所示,無人駕駛機器100可W包括存儲器102、存儲控制器104、一個或多個(圖中僅示出一 個)處理器106、運動控制單元108、通信單元IlOW及避障裝置200。運些組件可W通過一條 或多條通訊總線或信號線116實現(xiàn)相互之間的數(shù)據(jù)交互或通訊。
[0031] 存儲器102可W存儲各種軟件程序W及模塊,如本發(fā)明實施例提供的避障方法及 避障裝置對應(yīng)的程序指令/模塊,處理器106通過存儲控制器104運行存儲在存儲器102內(nèi)的 軟件程序W及模塊,從而執(zhí)行各種功能應(yīng)用W及數(shù)據(jù)處理,如本發(fā)明實施例提供的避障方 法。
[0032] 存儲器102可W包括但不限于隨機存取存儲器(Random Access Memory, RAM),只 讀存儲器(Read Only Memoir ,ROM),可編程只讀存儲器(Programmable Read-Only Memoir, PROM),可擦除只讀存儲器化 rasable Programmable Read-Only Memoir ,EPROM), 電可擦除只讀存儲器巧Iectric Erasable Programmable Read-Only Memoir,EEPROM)等。 處理器106W及其他可能的組件對存儲器102的訪問可在存儲控制器104的控制下進行。
[0033] 處理器106可W是一種集成電路忍片,具有信號處理能力。上述處理器可W是通用 處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡稱NP)等;還可W是數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程 口陣列(FPGA)、微控制器(MCU)、維處理器(MPU)或者其他可編程邏輯器件、分立口或者晶體 管邏輯器件、分立硬件組件。其可W實現(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及 邏輯框圖。通用處理器可W是微處理器或者該處理器也可W是任何常規(guī)的處理器等。
[0034] 運動控制單元108可W控制無人駕駛機器100根據(jù)處理器106的指示進行運動。在 一些實施例中,運動控制單元108、處理器106W及存儲控制器104也可W在單個忍片中實 現(xiàn)。在其他一些實例中,他們可W分別由獨立的忍片實現(xiàn)。
[0035] 通信單元110可W利用無線傳輸方式與遙控器、控制臺或其他合適的設(shè)備傳輸各 種信息。本實施例中,所述通信單元110可W是無人駕駛機器100上自帶的用于向遙控器、控 制臺或其它設(shè)備傳輸所拍攝的高清圖像的高清圖傳模塊。
[0036] 可W理解,圖1所示的結(jié)構(gòu)僅為示意,無人駕駛機器100還可W包括比圖1中所示更 多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可W采用硬件、軟 件或其組合實現(xiàn)。
[0037] 第一實施例
[0038] 請參閱圖2和圖3,分別示出了本發(fā)明第一實施例提供的應(yīng)用于圖1所示的無人駕 駛機器100的避障方法的流程圖和避障方法演示圖。所述方法有關(guān)的流過程定義的方法步 驟可W由所述處理器106實現(xiàn),該方法包括如下步驟。
[0039] 步驟SlOl,探測所述無人駕駛機器100周圍是否存在障礙物。
[0040] 無人駕駛機器100可W包括無人駕駛汽車、無人駕駛飛行器或者無人駕駛艦船等, 運些無人駕駛機器100在運動過程中需要避開會對運動過程造成影響的障礙物。在本申請 實施例中,無人駕駛機器100上可W設(shè)置傳感器來對障礙物進行探測,例如可W設(shè)置電磁波 雷達、激光雷達、雙目攝像頭或T0F(Time Of Fli曲t,時間飛行)測距儀/攝像機等傳感器, 本申請實施例并不限定傳感器的具體形式。
[0041 ]本申請實施例中的障礙物一方面包括相對地面靜止的固定障礙物,例如無人駕駛 汽車在道路上行駛時遇到的固定障礙物,無人飛行器飛行過程中遇到的固定障礙物等。另 一方面,障礙物還可W包括相對地面運動的,并且會對無人駕駛機器100的運動造成障礙的 物體,在本申請實施例中,可W稱之為襲擊物。例如無人駕駛汽車行駛過程中道路上突然出 現(xiàn)的汽車或者行人,無人飛行器飛行過程中遇到的飛向機器的雜物等。無人駕駛機器100可 W在遙控者的遙控下進行運動,也可W根據(jù)預(yù)先設(shè)定的目的地位置進行自主運動。
[0042] 無人駕駛機器100可W通過設(shè)置在機器上不同方位的多個傳感器實現(xiàn)對四周障礙 物的探測,也可W通過設(shè)置在機器上的一個可W旋轉(zhuǎn)的傳感器實現(xiàn)對四周障礙物的探測。 當(dāng)然,為了減少無人駕駛機器100的傳感器成本,或者降低自主運動時系統(tǒng)的運算量,也可 W僅設(shè)置一固定的傳感器,僅檢測無人駕駛機器100運動時機器前方的障礙物。本申請并不 限定無人駕駛機器100上傳感器的設(shè)置形式。
[0043] 無人駕駛機器100還可W通過傳感器獲取傳感器周圍的環(huán)境情況,并通過預(yù)先設(shè) 定的規(guī)則判定是否存在障礙物,通過傳感器探測障礙物的技術(shù)是現(xiàn)有技術(shù),本申請不再寶 述。如圖3所示,WO為圓屯、最外側(cè)的圓為障礙物的探測區(qū)域,探測區(qū)域的大小與傳感器的具 體形式相關(guān),當(dāng)障礙物進入到探測區(qū)域即可被探測到。
[0044] 步驟S102,當(dāng)探測到障礙物時,判斷所述障礙物是否位于第一圓形區(qū)域內(nèi)。
[0045] 本實施例中,所述第一圓形區(qū)域是W所述無人駕駛機器100的當(dāng)前位置點為圓屯、, W第一距離為半徑的圓周區(qū)域。將無人駕駛機器100的當(dāng)前位置虛擬為一點,W該點形成第 一圓形區(qū)域,第一距離的長度為預(yù)先設(shè)置,應(yīng)設(shè)置為小于傳感器的探測距離。
[0046] 在探測到無人駕駛機器100周圍存在障礙物時,表明障礙物已經(jīng)進入到了傳感器 的探測區(qū)域內(nèi),此時通過傳感器檢測可W獲取障礙物上距離無人駕駛機器100最近的點與 無人駕駛機器100的當(dāng)前位置點之間的距離。障礙物上與無人駕駛機器100的當(dāng)前位置點距 離最近的點與當(dāng)前位置點之間的距離小于或者等于傳感器的探測距離時,傳感器即可探測 到障礙物。
[0047] 由于障礙物的形狀一般都是不規(guī)則的,本申請實施例中需要獲取障礙物距離無人 駕駛機器100最近的點的位置信息。判斷所述障礙物是否位于第一圓形區(qū)域內(nèi),實際上就是 判斷障礙物上的距離無人駕駛機器100最近的點與無人駕駛機器100的當(dāng)前位置點之間的 距離是否小于第一圓形區(qū)域的半徑(第一距離)。
[0048] 在本申請實施例中,障礙物的探測是由傳感器進行的,為了計算方便,將傳感器的 位置與無人駕駛機器100的當(dāng)前位置點設(shè)定為同一點,即認(rèn)為傳感器探測障礙物的信號是 W當(dāng)前位置點為起點發(fā)出的。
[0049] 步驟S103,當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述無人駕駛機器躲 避所述障礙物的規(guī)避方向。
[0050] 當(dāng)障礙物上距離無人駕駛機器100最近的點與無人駕駛機器100當(dāng)前位置點之間 的距離小于或者等于第一距離時,表明障礙物位于第一圓形區(qū)域內(nèi),此時,如果無人駕駛機 器100繼續(xù)沿當(dāng)前方向運動的話,就可能與障礙物發(fā)生碰撞,需要計算規(guī)避方向,W使無人 駕駛機器100能夠躲避障礙物。
[0051] 例如,如圖3所示,障礙物上的P點是障礙物上距離當(dāng)前位置點0最近的點,P點與第 一圓形區(qū)域接觸,即位于第一圓形區(qū)域內(nèi),此時就需要進行規(guī)避方向的計算。另外,若障礙 物位于探測區(qū)域,但是沒有位于第一圓形區(qū)域內(nèi),為了節(jié)省運算量,是可W不用進行規(guī)避方 向的計算的。
[0052] 步驟S104,控制所述無人駕駛機器W所述規(guī)避方向進行避障運動。
[0053] 通過計算獲得的規(guī)避方向是無人駕駛機器100規(guī)避障礙物需要運動的方向,無人 駕駛機器100上的運動控制單元108可W控制無人駕駛機器改變當(dāng)前的運動方向至規(guī)避方 向,使無人駕駛機器100沿規(guī)避方向繼續(xù)運動。
[0054] 為了實現(xiàn)所述規(guī)避方向的計算,如圖4所示,步驟S103具體還可W包括:
[0055] 步驟S1031,檢測所述障礙物在所述第一圓形區(qū)域所在平面的邊緣位置點。
[0056] 在本申請實施例中,預(yù)先設(shè)定了第一圓形區(qū)域,W檢測到障礙物處于第一圓形區(qū) 域的時間點作為計算規(guī)避方向的時間點。預(yù)設(shè)的第一圓形區(qū)域位于一平面上,第一圓形區(qū) 域所在的平面可W是包含無人駕駛機器100當(dāng)前位置點且平行于水平面的一個平面,也可 W是根據(jù)無人駕駛機器100的運動狀態(tài)動態(tài)變化的平面。在確定了第一圓形區(qū)域后,即確定 了第一圓形區(qū)域所在平面,計算得到的規(guī)避方向也是位于第一圓形區(qū)域所在平面的,即無 人駕駛機器100規(guī)避是在第一圓形區(qū)域所在平面上進行避障運動。
[0057] 第一圓形區(qū)域可W根據(jù)無人駕駛機器100上的傳感器的具體形式進行設(shè)定,在實 際工作中,無人駕駛機器100上的傳感器的探測范圍可W是立體的,但運一立體的探測范圍 的探測高度范圍較小,在本申請實施例中,將傳感器的探測范圍等同于一個平面,并可W將 傳感器的探測平面作為第一圓形區(qū)域所在平面。例如無人駕駛汽車一般都是在平行于地面 的位置進行運動,無人駕駛汽車上傳感器的探測范圍也是平行于地面的,探測到的障礙也 多是地面上的障礙,那么第一圓形區(qū)域就可W設(shè)定為平行于地面。而無人飛行器在運動過 程中,隨著無人飛行器飛行姿態(tài)的變化(如平飛、側(cè)飛等),傳感器的探測會隨飛行姿態(tài)動態(tài) 變化,那么第一圓形區(qū)域所在平面就會動態(tài)變化。本申請實施例并不限定第一圓形區(qū)域的 具體設(shè)定形式。
[0058] 在確定了第一圓形區(qū)域后,可W檢測障礙物在第一圓形區(qū)域所在平面上的邊緣位 置點。本申請實施例中是W無人駕駛機器100上的傳感器檢測到的障礙物的邊緣點作為邊 緣位置點,即W無人駕駛機器100的當(dāng)前位置點作為傳感器發(fā)射信號的起點時,傳感器發(fā)出 的信號所在直線與障礙物相切的切點即為邊緣位置點。在圖3中,從當(dāng)前位置點向障礙物做 兩條切線,與障礙物形成兩個切點A和B,切點A和B即為障礙物在第一圓形區(qū)域所在平面上 的邊緣位置點。在進行障礙物的探測時,不僅能夠探測到障礙物上距離無人駕駛機器100的 當(dāng)前位置點最近的點與當(dāng)前位置點之間的距離,還能夠探測到障礙物上的邊緣位置點,本 申請實施例中所述的邊緣位置點是在當(dāng)前位置點的位置探測到的障礙物的邊緣,一般情況 下,一個障礙物在第一圓形區(qū)域所在平面上可W得到兩個邊緣位置點。
[0059] 如圖3所示,其中的A點和B點是障礙物在第一圓形區(qū)域所在平面上的邊緣位置點, 為理解方便,圖3中僅示出了 一個障礙物的情況。
[0060] 步驟S1032,確定包含所述無人駕駛機器100的第二圓形區(qū)域,所述第二圓形區(qū)域 的半徑小于所述第一圓形區(qū)域的半徑,且與所述第一圓形區(qū)域共面并同屯、。
[0061] 所述第二圓形區(qū)域是預(yù)先設(shè)定的包含無人駕駛機器100的一個圓周區(qū)域,無人駕 駛機器100在第二圓形區(qū)域所在平面上的投影包含在該第二圓形區(qū)域內(nèi)。第二圓形區(qū)域可 W固定設(shè)定為比無人駕駛機器100的投影面積大一定數(shù)值,具體情況可W根據(jù)無人駕駛機 器100的具體結(jié)構(gòu)設(shè)定。
[0062] 另外,第一圓形區(qū)域與第二圓形區(qū)域共面并同屯、,圓屯、如圖3中的0點所示,本申請 實施例并不限制第一圓形區(qū)域和第二圓形區(qū)域的確定順序??蒞先確定第一圓形區(qū)域,也 可W先確定第二圓形區(qū)域。
[0063] 優(yōu)選的,所述第二距離為預(yù)設(shè)常數(shù),所述第一距離為
或預(yù)設(shè)常數(shù),其 中,Ri為所述第一距離,V為無人駕駛機器100的當(dāng)前運動速度,a為在所述當(dāng)前運動方向上 制動時的最大加速度,R2為所述第二距離。
[0064] 步驟S1033,從檢測到的所述邊緣位置點中選取兩個目標(biāo)點,并計算從每個所述目 標(biāo)點到所述第二圓形區(qū)域的切線,其中,該切線與所述無人駕駛機器100的當(dāng)前運動方向相 交。
[0065] 由于無人駕駛機器100運動過程中遇到的障礙物可能不止一個,如果檢測到某一 個障礙物位于第一圓形區(qū)域內(nèi),那么針對該單個障礙物會檢測到兩個邊緣位置點,此時將 運兩個邊緣位置點作為目標(biāo)點進行規(guī)避方向的計算。
[0066] 而如果同時檢測到多個障礙物位于第一圓形區(qū)域內(nèi),由于針對每個障礙物都會檢 測到兩個邊緣位置點,就需要從所有檢測到的邊緣位置點中選取兩個點作為目標(biāo)點,W最 終確定的目標(biāo)點進行規(guī)避方向的計算。
[0067] 在確定了目標(biāo)點后,計算從每個目標(biāo)點到第二圓形區(qū)域的切線,從一個圓形的圓 外一點向圓做切線會得到兩條切線,本申請中選擇的切線是與當(dāng)前運動方向相交的切線, 將沒有與當(dāng)前運動方向相交的切線排除。本申請實施例中所述的當(dāng)前運動方向是W無人駕 駛機器100的當(dāng)前位置點為起點的方向,計算過程中的當(dāng)前運動方向是一條射線,計算選定 的切線是與該射線相交的,一般情況下,每一個目標(biāo)點可W計算得到運樣的一條切線。
[0068] 在本申請實施例中,無人駕駛機器100運動的參照物可W是地面,無人駕駛機器 100如果相對地面發(fā)生了運動,就會具有"當(dāng)前運動方向"運一參數(shù),W進行上述計算。但如 果無人駕駛機器100相對地面是靜止的,但障礙物相對地面或相對無人駕駛機器100是運動 的,雖然無人駕駛機器100由于與地面相對靜止,沒有"當(dāng)前運動方向"運一參數(shù),但將無人 駕駛機器100的參照物轉(zhuǎn)變?yōu)檎系K物的話,無人駕駛機器100相對障礙物就是運動的,此時 就可W通過探測障礙物的運動方向,將障礙物的運動方向轉(zhuǎn)變?yōu)闊o人駕駛機器100的當(dāng)前 運動方向,從而同樣可W進行上述切線的確定,及后續(xù)規(guī)避方向的計算。
[0069] 在圖3中,由A、B兩點確定的與當(dāng)前運動方向相交的切線分別是AD和BC。
[0070] 步驟S1034,計算所述切線與所述當(dāng)前運動方向的夾角。
[0071] 在確定了切線后,還需要計算切線與當(dāng)前運動方向的夾角大小,切線與當(dāng)前運動 方向的夾角從零到90度,即需要計算圖3所示的a和如勺角度大小。
[0072] 步驟S1035,根據(jù)所述夾角確定所述規(guī)避方向。
[0073] 由于本申請實施例中選定的切線是與當(dāng)前運動方向相交的切線,兩個目標(biāo)點可W 分別選定一條切線,則可計算得到兩個夾角。需要確定其中的一個夾角對應(yīng)的方向作為規(guī) 避方向。
[0074] 因此,如圖5所示,根據(jù)所述夾角確定所述規(guī)避方向的步驟S1035具體可W包括:
[0075] 步驟S10351,判斷所述兩個目標(biāo)點是否位于所述當(dāng)前運動方向的同一側(cè)。
[0076] 由于兩個目標(biāo)點可W確定兩條與當(dāng)前運動方向相交且與第二圓形區(qū)域相切的切 線,需要先確定兩個目標(biāo)點與當(dāng)前運動方向的相對方位,確定兩個目標(biāo)點是位于當(dāng)前運動 方向的兩側(cè)還是同一側(cè)。
[0077] 在圖3中,即確定A點和B點的與當(dāng)前運動方向的相對位置。
[0078] 步驟S10352,若所述兩個目標(biāo)點位于所述當(dāng)前運動方向的同一側(cè),確定計算出的 所述夾角中的最大夾角,將沿著所述最大夾角所對應(yīng)的切線且遠離該最大夾角對應(yīng)的目標(biāo) 點的方向作為所述規(guī)避方向。
[0079] 當(dāng)確定兩個目標(biāo)點分別位于當(dāng)前運動方向的兩側(cè)時,兩個目標(biāo)點可W分別確定一 條與當(dāng)前運動方向相交且與第二圓形區(qū)域相切的切線,并可W計算得到該切線與當(dāng)前運動 方向的夾角。此時將數(shù)值較大的夾角對應(yīng)的切線作為規(guī)避方向所在直線,并且規(guī)避方向是 遠離該最大夾角對應(yīng)的目標(biāo)點的方向。此時,無人駕駛機器100就可W將當(dāng)前位置點作為避 障運動的起點,沿著規(guī)避方向做避障運動,W避開障礙物。
[0080] 步驟S10353,若所述兩個目標(biāo)點分別位于所述當(dāng)前運動方向的兩側(cè),確定計算出 的所述夾角中的最小夾角,將沿著所述最小夾角所對應(yīng)的切線且朝向該最小夾角對應(yīng)的目 標(biāo)點的方向作為所述規(guī)避方向。
[0081] 當(dāng)兩個目標(biāo)點位于當(dāng)前運動方向的兩側(cè)時,選擇夾角中數(shù)值較小的夾角對應(yīng)的切 線作為規(guī)避方向所在直線,并且規(guī)避方向是朝向該最小夾角對應(yīng)的目標(biāo)點,無人駕駛機器 100此時就可W沿確定的規(guī)避方向做避障運動。
[0082] 另外,當(dāng)兩個目標(biāo)點分別位于當(dāng)前運動方向的兩側(cè)時,可能會出現(xiàn)兩個夾角的數(shù) 值相等的情況,此時,最小夾角即為兩個,可W選擇任意一個夾角對應(yīng)的切線進行規(guī)避方向 的確定。
[0083] 在圖3中,A點和B點分別位于當(dāng)前運動方向的兩側(cè),就需要確定a和0兩個夾角中的 最小夾角,并將最小夾角對應(yīng)的朝向目標(biāo)點的方向作為所述規(guī)避方向。如果a的數(shù)值較小, 圖中OE與a對應(yīng)的切線AD平行,則將朝向目標(biāo)點A的方向作為避障方向,即沿OE方向做避障 運動。
[0084] 另外,在實際實施過程中,還可W W當(dāng)前運動方向為坐標(biāo)軸,設(shè)定當(dāng)前運動方向兩 側(cè)得到的夾角分別為正角度或負(fù)角度,運樣通過判斷得到的角度的正負(fù),確定目標(biāo)點與當(dāng) 前運動方向的相對位置。
[0085] 進一步的,在無人駕駛機器100運動的過程中可能存在同時檢測到多個障礙物處 于第一圓形區(qū)域內(nèi)的情況,那么檢測到的邊緣位置點的數(shù)量就會多于兩個,需要從多個邊 緣位置點中選擇兩個點作為目標(biāo)點進行計算。因此,如圖6所示,從檢測到的所述邊緣位置 點中選取兩個目標(biāo)點的步驟S1033具體包括如下步驟。
[0086] 步驟S10331,確定所述障礙物的數(shù)量。
[0087] 確定目標(biāo)點的前提是檢測到有障礙物位于第一圓形區(qū)域內(nèi),由于本申請實施例中 所述的障礙物位于第一圓形區(qū)域內(nèi)意即障礙物上距離當(dāng)前位置點最近的點與當(dāng)前位置點 之間的距離小于或者等于第一距離。
[0088] 障礙物位于第一圓形區(qū)域內(nèi)包括兩種情況:一是障礙物上的距離當(dāng)前位置點最近 的點與當(dāng)前位置點之間的距離等于第一距離,即障礙物上的一點與第一圓形區(qū)域的最外緣 接觸,障礙物的其他部分都位于第一圓形區(qū)域W外。另外一種情況就是障礙物上的距離當(dāng) 前位置點最近的點與當(dāng)前位置點之間的距離小于第一距離,表明障礙物已經(jīng)有一部分處于 第一圓形區(qū)域內(nèi)了。
[0089] 上述第一種情況一般出現(xiàn)在無人駕駛機器100自主運動時,運動初期沒有檢測到 障礙物,運動到一定位置后檢測到了障礙物,但檢測到障礙物時,障礙物上距離當(dāng)前位置點 最近的點與當(dāng)前位置點之間的距離還大于第一圓形區(qū)域的半徑(第一距離),此時不進行規(guī) 避方向的計算。隨著無人駕駛機器100的繼續(xù)運動,障礙物上距離當(dāng)前位置點最近的點與當(dāng) 前位置點之間的距離越來越小,在兩者之間的距離減小到等于第一圓形區(qū)域的半徑時,此 時,進行規(guī)避方向的計算。
[0090] 第二種情況一般是無人駕駛機器100在開始探測障礙物時,就已經(jīng)探測到障礙物, 并且障礙物上距離當(dāng)前位置點最近的點與當(dāng)前位置點之間的距離小于第一圓形區(qū)域的半 徑。此時,當(dāng)無人駕駛機器100和障礙物相對運動時,就會立即進行規(guī)避方向的計算,W使無 人駕駛機器100脫離障礙物的影響。
[0091 ]總之,在確定目標(biāo)點時,需要先確定障礙物的數(shù)量,需要確定數(shù)量的障礙物是處于 第一圓形區(qū)域外緣或者在其內(nèi)部的障礙物。通過無人駕駛機器100上的傳感器可W檢測到 障礙物的具體數(shù)量。
[0092] 步驟S10332,當(dāng)所述障礙物的數(shù)量為1時,將該障礙物的兩個邊緣位置點作為所述 兩個目標(biāo)點。
[0093] 步驟S10333,當(dāng)所述障礙物的數(shù)量大于1時,判斷相鄰兩個障礙物的最內(nèi)側(cè)的兩個 邊緣位置點之間的最小間距是否大于或等于所述第二圓形區(qū)域的直徑長度。
[0094] 本申請實施例中確定當(dāng)障礙物的數(shù)量大于一個時,就需要進一步的確定相鄰兩個 障礙物的邊緣位置點的最小間距。每一個障礙物可W確定兩個邊緣位置點,該最小間距是 指相鄰兩個障礙物的最內(nèi)側(cè)的兩個邊緣位置點之間的距離。通過比較該最小間距與第二圓 形區(qū)域的直徑之間的大小,可W確定無人駕駛機器100是否可W從兩個障礙物之間穿過。
[0095] 步驟S10334,若所述最小間距大于或等于所述第二圓形區(qū)域的直徑長度,將所述 障礙物中的任意一個障礙物的兩個邊緣位置點作為所述兩個目標(biāo)點。
[0096] 如果該最小間距大于或等于所述第二圓形區(qū)域的直徑長度,表明相鄰兩個障礙物 之間的間距是可W允許所述無人駕駛機器100通過的。此時,就可W選擇任意一個障礙物的 兩個邊緣位置點作為目標(biāo)點,進行規(guī)避方向的計算。
[0097] 步驟S10335,若所述最小間距小于所述第二圓形區(qū)域的直徑長度,將相鄰兩個障 礙物最外側(cè)的兩個邊緣位置點作為所述兩個目標(biāo)點。
[0098] 如果該最小間距小于所述第二圓形區(qū)域的直徑長度,表明相鄰兩個障礙物之間的 間距較小,無人駕駛機器100則不能在兩個障礙物之間穿過。因此,就可W將運樣的相鄰的 兩個障礙物視為一個障礙物,只選取最外側(cè)的兩個邊緣位置點作為目標(biāo)點進行計算。
[0099] 如圖7所示,圖7中示出了兩個障礙物,無人駕駛機器100的當(dāng)前運動方向為豎直向 上,我們假設(shè)運兩個障礙物上的點同時接觸到了第一圓形區(qū)域的邊緣,此時就需要進行避 障方向的計算,但由于位于第一圓形區(qū)域內(nèi)的障礙物的數(shù)量是多于兩個的。需要(可W W順 時針順序或者逆時針順序)依序先確定相鄰兩個障礙物的最內(nèi)側(cè)的兩個邊緣位置點之間的 間距,即確定M和Q之間的距離,并比較線段MQ的長度與第二距離的大小關(guān)系,如果MQ的長度 大于或等于第二距離,則選取任意一個障礙物進行避障方向的計算。如果MQ的長度小于第 二距離,則將運兩個障礙物視為一個障礙物,即選取W點和N點運兩個邊緣位置點作為目標(biāo) 點,進行避障方向的計算。
[0100] 通過上述目標(biāo)點的選取過程,可W在障礙物的數(shù)量為一個或更多時實現(xiàn)規(guī)避方向 的計算。
[0101] 下面如圖8所示,為計算上述切線與當(dāng)前運動方向的夾角的示意圖。無人駕駛機器 100向豎直向上的方向運動,障礙物上的一點接觸到了第一圓形區(qū)域,此時就需要進行規(guī)避 方向的計算。G點和H點是障礙物在第一圓形區(qū)域所在平面上的邊緣位置點,0點為當(dāng)前位置 點,由于只有一個障礙物,W該障礙物的兩個邊緣位置點作為目標(biāo)點。第一圓形區(qū)域的半徑 根據(jù)前述方法計算,或設(shè)定為一常數(shù),R2為預(yù)先設(shè)定的第二圓形區(qū)域的半徑,為描述方便, 圖中僅進行了從G點計算切線的圖示。由G點向第二圓形區(qū)域作切線,該切線與當(dāng)前運動方 向相交,交點為I,切線與第二圓形區(qū)域的切點為J。本申請實施例中所述的夾角即為切線AD 與當(dāng)前運動方向的夾角〇,計算得到a的數(shù)值即計算得到了目標(biāo)點A對應(yīng)的夾角大小,再根據(jù) 相同的方法計算H點對應(yīng)的夾角大小,該實施例中的G點和H點位于當(dāng)前運動方向的兩側(cè),同 時進行兩個夾角大小的比較,將沿著數(shù)值最小的最小夾角所對應(yīng)的切線且朝向該最小夾角 對應(yīng)的目標(biāo)點的方向作為規(guī)避方向。
[0102] 在圖8a中,可W從G點向當(dāng)前運動方向做一垂線,垂點為K,同時連接G點和0點,在 實際工作過程中,通過無人駕駛機器100上的傳感器可W檢測到G點與0點間的距離d,并且 可W檢測得到GO與OK之間的夾角a,設(shè)線段KI長度為Xi,線段IO長度為X2,線段GK長度計為1, 根據(jù)W下方程組可W計算得到X2的數(shù)值。
[0103]
[0104] 圖中
運樣就可W計算出a的數(shù)值
[0105] H點對應(yīng)的夾角的計算方法與上述相似,運里不再寶述。計算出上述兩個目標(biāo)點G 和H分別對應(yīng)的夾角大小后,需要確定最終的規(guī)避方向。由于兩個目標(biāo)點G、H分別位于當(dāng)前 運動方向的兩側(cè),需要確定計算出的所述夾角中的最小夾角,將沿著所述最小夾角所對應(yīng) 的切線且朝向該最小夾角對應(yīng)的目標(biāo)點的方向作為所述規(guī)避方向。
[0106] 為描述簡便,運里不進行具體數(shù)值的演算,我們假設(shè)目標(biāo)點G對應(yīng)計算出的夾角是 數(shù)值較小的,那么就W切線GJ并朝向G點的方向作為規(guī)避方向。如圖所示,射線化與GJ平行, 那么無人駕駛機器100就會沿化做避障運動,運動轉(zhuǎn)向的角度大小即為曰。
[0107] 上述計算過程是障礙物出現(xiàn)在無人駕駛機器100當(dāng)前運動方向的前方附近,如果 無人駕駛機器100的運動方向不變,但從其側(cè)后方出現(xiàn)了一襲擊物,該襲擊物進入到了傳感 器的探測范圍,并且與第一圓形區(qū)域相接觸,滿足位于第一圓形區(qū)域內(nèi)的條件,此時仍然需 要進行避障方向的計算。如圖8b所示,計算原理與上述計算過程相同,但具體計算過程有一 些差別。
[010引在圖8b中,仍WG點為例,線段KO長度為XI,線段IO長度為X2,線段GK的長度記為1。 此時,計算X2的方程組為:
[0109]
[0110] 圖8b中
同樣可W計算出a的數(shù)值
[0111] 此時,W同樣的計算方法計算另外一個目標(biāo)點對應(yīng)的切線與當(dāng)前運動方向的夾角 大小。再依據(jù)上述流程進行夾角對應(yīng)的切線的選擇,從而確定避障方向。
[0112] 在具體實施過程中,可W設(shè)定一坐標(biāo)系,通過檢測得到邊緣位置點在坐標(biāo)系中的 相應(yīng)坐標(biāo),再根據(jù)坐標(biāo)關(guān)系利用上述計算公式可W計算得到相應(yīng)的夾角大小。
[0113] 在實際實施過程中,無人駕駛機器100在運動過程中可能會遇到多種情況的障礙 物。
[0114] 例如,無人駕駛機器100在進入到死胡同或類似的地形中時,現(xiàn)有技術(shù)中的避障方 法只能控制無人駕駛機器100在原地靜止,不能從死胡同中脫離,利用本申請實施例中的避 障方法,如圖9所示,OS為當(dāng)前運動方向,死胡同的兩側(cè)接觸到了第一圓形區(qū)域,根據(jù)上述規(guī) 避方向的計算,計算到死胡同障礙的邊緣位置點與第二圓形區(qū)域的切線,使無人駕駛機器 100沿切線方向做避障運動,可W得到規(guī)避方向0T,最終實現(xiàn)從死胡同中脫離。
[0115] 無人駕駛機器100在遇到相對地面運動的襲擊物時,同樣可W依據(jù)上述規(guī)避方向 的計算過程計算得到規(guī)避方向,只需將襲擊物視為障礙物即可,可W實現(xiàn)對襲擊物的躲避。
[0116] 無人駕駛機器100在具有連續(xù)障礙的縫隙中穿行時,如圖10所示,現(xiàn)有技術(shù)中,無 人駕駛機器在遇到第一個障礙物時就會停止,不能繼續(xù)進行自主運動。利用本申請實施例 提供的避障方法,無人駕駛機器100在遇到障礙物時,可W連續(xù)的進行規(guī)避方向的計算,其 中,OU為當(dāng)前運動方向,根據(jù)第一處障礙物接觸到了第一圓形區(qū)域,根據(jù)上述規(guī)避方向的計 算,可W計算得到規(guī)避方向0Y,躲避開第一障礙物,后續(xù)的障礙物同樣可W規(guī)避,最終實現(xiàn) 從縫隙中穿過。
[0117] 在無人駕駛機器100面對窗口式的障礙物時,如圖11所示,假設(shè)窗口的寬度可W容 納第二圓形區(qū)域?qū)?yīng)的無人駕駛機器100通過,在現(xiàn)有技術(shù)中由于運動方向與窗口具有一 定角度,會認(rèn)為無人駕駛機器無法通過而進行繞行。但利用本申請實施例中的避障方法,當(dāng) 前運動方向為0X,無人駕駛機器100向窗口不斷靠近,并在接觸到窗口時進行障礙物的檢測 和規(guī)避方向的計算,得到規(guī)避方向OZ,最終通過窗口。
[0118] 在另一【具體實施方式】中,如圖12所示,在步驟S103之后,該方法可W包括W下步 驟。
[0119] 步驟S105,確定無人駕駛機器100躲避障礙物的規(guī)避速度。
[0120] 在計算得到無人駕駛機器100的規(guī)避方向后,還可W確定無人駕駛機器100的規(guī)避 速度。
[0121] 具體的,無人駕駛機器100在當(dāng)前運動方向W期望速度運動,所述期望速度可W為 控制所述無人駕駛機器100運動的控制指令所設(shè)定的速度,也即所述規(guī)避速度的大小與所 述期望速度的大小相同。
[0122] 步驟S106,控制所述無人駕駛機器100在所述規(guī)避方向上W所述規(guī)避速度進行避 障運動。
[0123] 在本申請實施例中,無人駕駛機器100在進行避障運動前可W是W期望速度運動, 遇到障礙物并進行避障運動后,可W仍然保持速度的大小不變,運動方向調(diào)整為規(guī)避方向 后即可。
[0124] 在本申請實施例中,由于無人駕駛機器100的運行環(huán)境可能較復(fù)雜,面對的障礙物 較多,還可W設(shè)定無人駕駛機器100在每進行一次避障運動后,W-預(yù)先設(shè)定的固定速度運 行預(yù)設(shè)時長,即運動一固定步長后再進行障礙物的檢測及規(guī)避方向的計算,保證無人駕駛 機器100的運動更順楊。
[0125] 通過確定無人駕駛機器100的規(guī)避速度,可W保證無人駕駛機器100在避障運動時 可W更快速的做出反應(yīng),實現(xiàn)對障礙物的及時避讓。
[0126] 在另一實施例中,如圖13所示,在控制所述無人駕駛機器100進行避障運動的步驟 后,該方法還包括:
[0127] 步驟S107,判斷所述第一圓形區(qū)域內(nèi)是否還存在障礙物。
[0128] 在無人駕駛機器100進行避障運動后,如果沒有障礙物位于第一圓形區(qū)域內(nèi)時,無 人駕駛機器100可W正常運動,而如果第一圓形區(qū)域內(nèi)仍然存在障礙物,則還需要重復(fù)進行 上面所述的規(guī)避方向計算,運里不再寶述。
[0129] 步驟S108,當(dāng)所述第一圓形區(qū)域內(nèi)沒有障礙物時,確定無人駕駛機器100的運動模 式,所述運動模式包括定向模式和定點模式。
[0130] 步驟S109,當(dāng)確定無人駕駛機器IOOW定向模式運動時,控制無人駕駛機器100進 行避障運動后仍W定向模式繼續(xù)運動。
[0131] 步驟S110,當(dāng)確定無人駕駛機器IOOW定點模式運動時,無人駕駛機器100進行避 障運動后,重新確定無人駕駛機器100與終點的運動方向,并控制無人駕駛機器IOOW重新 確定的運動方向繼續(xù)運動。
[0132] 無人駕駛機器100在運動時,受控制系統(tǒng)的控制可W是沿某一個固定的方向運動, 如固定向前,此時如果進行了避障運動,并且在探測到第一圓形區(qū)域內(nèi)沒有了障礙物,無人 駕駛機器100仍然可W保持原有的運動方向,即定向模式,使無人駕駛機器100避障運動前 后的運動方向不變。定向模式下,無人駕駛機器100并不會沿規(guī)避方向一直運動,而是沿規(guī) 避方向做出避障運動后,進一步將運動方向調(diào)整為原始的方向。定向模式下,無人駕駛機器 100進行避障運動的時間也可W預(yù)先設(shè)定,或預(yù)先設(shè)定進行避障運動的距離,在避障運動的 時間截止或避障運動的距離完成后,繼續(xù)W定向模式下的原始方向運動。
[0133] 而在定點模式時,無人駕駛機器100預(yù)先設(shè)定了終點,無人駕駛機器100需要規(guī)劃 到終點間的軌跡,并沿該軌跡運動,但如果定點模式運動時進行了避障運動,避障后無人駕 駛機器100就需要重新規(guī)劃到終點間的軌跡,并沿重新規(guī)劃的軌跡繼續(xù)運動,W最終到達預(yù) 設(shè)的終點,完成整個自主運動過程。
[0134] 通過在避障運動后確定無人駕駛機器100的運動模式后,再控制無人駕駛機器100 繼續(xù)運動,可W實現(xiàn)無人駕駛機器100完全自主的避障,并在避障后根據(jù)運動模式的不同進 行不同的運動。
[0135] 如圖14所示,本申請實施例還提供了一種避障裝置200,應(yīng)用于無人駕駛機器100, 該避障裝置200包括:障礙物探測模塊201、規(guī)避方向計算模塊202和避障控制模塊203。
[0136] 障礙物探測模塊201,用于探測無人駕駛機器100周圍是否存在障礙物;并在當(dāng)探 測到障礙物時,判斷所述障礙物是否位于第一圓形區(qū)域內(nèi)。該障礙物探測模塊201探測障礙 物的具體方式可參上述對步驟SlOl和S102的詳細描述。也即,上述步驟SlOl和S102可由該 障礙物探測模塊201執(zhí)行。
[0137] 規(guī)避方向計算模塊202,用于當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述 無人駕駛機器100躲避所述障礙物的規(guī)避方向。該規(guī)避方向計算模塊202計算規(guī)避方向的具 體方式可參上述對步驟S103及其子步驟的詳細描述。也即,上述步驟S103及其子步驟可由 該規(guī)避方向計算模塊202執(zhí)行。
[0138] 避障控制模塊203,用于控制所述無人駕駛機器100 W所述規(guī)避方向進行避障運 動。其中,所述障礙物探測模塊201可W檢測所述障礙物在第一圓形區(qū)域所在平面的邊緣位 置點。所述規(guī)避方向計算模塊202計算所述無人駕駛機器100躲避所述障礙物的規(guī)避方向的 方法參上述對步驟S103的詳細描述。
[0139] 進一步的,該裝置還包括規(guī)避速度確定模塊204,用于確定所述無人駕駛機器100 躲避所述障礙物的規(guī)避速度;所述避障控制模塊還用于控制所述無人駕駛機器100在所述 規(guī)避方向上W所述規(guī)避速度進行避障運動。優(yōu)選的,所述無人駕駛機器100在當(dāng)前運動方向 W期望速度運動,所述期望速度為控制所述無人駕駛機器100運動的控制指令所設(shè)定的速 度,所述規(guī)避速度的大小與所述期望速度的大小相同。該規(guī)避速度確定模塊204確定規(guī)避速 度的具體方式可參上述對步驟S105、S106的詳細描述。也即,上述步驟S105、S106可由該規(guī) 避速度確定模塊204執(zhí)行。
[0140] 在一種【具體實施方式】中,所述避障控制模塊控制所述無人駕駛機器IOOW所述規(guī) 避方向進行避障運動后,所述障礙物探測模塊還用于判斷所述第一圓形區(qū)域內(nèi)是否還存在 障礙物,該裝置還包括運動模式確定模塊205,用于當(dāng)確定所述第一圓形區(qū)域內(nèi)沒有障礙物 時,確定所述無人駕駛機器100的運動模式,所述運動模式包括定向模式和定點模式;所述 避障控制模塊203還用于當(dāng)確定所述無人駕駛機器IOOW定向模式運動時,控制所述無人駕 駛機器100進行避障運動后仍W定向模式繼續(xù)運動;所述避障控制模塊203還用于當(dāng)確定所 述無人駕駛機器IOOW定點模式運動時,所述無人駕駛機器100進行避障運動后,重新確定 所述無人駕駛機器100與終點的運動方向,并控制所述無人駕駛機器IOOW重新確定的運動 方向繼續(xù)運動。該運動模式確定模塊205確定運動模式的具體方式可參上述對步驟S107、 5108、5109、5110的詳細描述。也即,上述步驟5107、5108、5109、5110可由該運動模式確定模 塊205執(zhí)行。
[0141] 綜上所述,在本申請實施例中提供的避障方法、避障裝置及無人駕駛機器100中, 在無人駕駛機器100運動過程中,設(shè)定了第一圓形區(qū)域和第二圓形區(qū)域進行雙環(huán)避障計算, 在檢測到障礙物位于第一圓形區(qū)域內(nèi)時啟動規(guī)避方向的計算,并且規(guī)避方向的計算是依據(jù) 障礙物的邊緣位置點和第二圓形區(qū)域的幾何運算進行的,運樣的計算過程運算量小,系統(tǒng) 計算負(fù)荷低,對運算資源消耗少,能夠?qū)崟r快速的針對障礙物計算得到可行的規(guī)避方向,實 現(xiàn)無人駕駛機器100的自主避障運動,并能實現(xiàn)復(fù)雜環(huán)境中的全方位的自主避障。
[0142] 本發(fā)明的避障裝置的實施例可W是由軟件代碼實現(xiàn),此時,上述的各模塊可存儲 于無人駕駛機器100的存儲器102內(nèi)。W上各模塊同樣可W由硬件例如集成電路忍片實現(xiàn)。 所屬領(lǐng)域的技術(shù)人員可W清楚地了解到,為描述的方便和簡潔,上述描述的功能模塊的具 體描述,可W參考前述對應(yīng)方法步驟的具體描述,在此不再一一寶述。
[0143] 需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重 點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。 對于裝置類實施例而言,由于其與方法實施例基本相似,所W描述的比較簡單,相關(guān)之處參 見方法實施例的部分說明即可。
[0144] 在本申請所提供的幾個實施例中,應(yīng)該理解到,所掲露的裝置和方法,也可W通過 其它的方式實現(xiàn)。W上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖 顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、 功能和操作。在運點上,流程圖或框圖中的每個方框可W代表一個模塊、程序段或代碼的一 部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí) 行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)方式中,方框中所標(biāo)注的功能也可W W不同于 附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可W基本并行地執(zhí)行,它們有時也 可W按相反的順序執(zhí)行,運依所設(shè)及的功能而定。也要注意的是,框圖和/或流程圖中的每 個方框、W及框圖和/或流程圖中的方框的組合,可W用執(zhí)行規(guī)定的功能或動作的專用的基 于硬件的系統(tǒng)來實現(xiàn),或者可W用專用硬件與計算機指令的組合來實現(xiàn)。
[0145] 另外,在本發(fā)明各個實施例中的各功能模塊可W集成在一起形成一個獨立的部 分,也可W是各個模塊單獨存在,也可W兩個或兩個W上模塊集成形成一個獨立的部分。
[0146] 所述功能如果W軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可W 存儲在一個計算機可讀取存儲介質(zhì)中。基于運樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說 對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可WW軟件產(chǎn)品的形式體現(xiàn)出來,該計 算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用W使得一臺計算機設(shè)備(可W是個 人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。 而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memo巧)、隨機存取存 儲器(RAM,Random Access Memo巧)、磁碟或者光盤等各種可W存儲程序代碼的介質(zhì)。需要 說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與 另一個實體或操作區(qū)分開來,而不一定要求或者暗示運些實體或操作之間存在任何運種實 際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包 含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括 沒有明確列出的其他要素,或者是還包括為運種過程、方法、物品或者設(shè)備所固有的要素。 在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在包括所述要素 的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0147] W上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可W有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在 下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需 要對其進行進一步定義和解釋。
[0148] W上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明掲露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述W權(quán)利要求的保護范圍為準(zhǔn)。
【主權(quán)項】
1. 一種避障方法,應(yīng)用于無人駕駛機器,其特征在于,該方法包括: 探測所述無人駕駛機器周圍是否存在障礙物; 當(dāng)探測到障礙物時,判斷所述障礙物是否位于第一圓形區(qū)域內(nèi); 當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述無人駕駛機器躲避所述障礙物的 規(guī)避方向;及 控制所述無人駕駛機器以所述規(guī)避方向進行避障運動; 其中,計算所述無人駕駛機器躲避所述障礙物的規(guī)避方向的步驟包括: 檢測所述障礙物在所述第一圓形區(qū)域所在平面的邊緣位置點; 確定包含所述無人駕駛機器的第二圓形區(qū)域,所述第二圓形區(qū)域的半徑小于所述第一 圓形區(qū)域的半徑,且與所述第一圓形區(qū)域共面并同心; 從檢測到的所述邊緣位置點中選取兩個目標(biāo)點,并計算從每個所述目標(biāo)點到所述第二 圓形區(qū)域的切線,其中,該切線與所述無人駕駛機器的當(dāng)前運動方向相交; 計算所述切線與所述當(dāng)前運動方向的夾角;及 根據(jù)所述夾角確定所述規(guī)避方向。2. 根據(jù)權(quán)利要求1所述的避障方法,其特征在于,根據(jù)所述夾角確定所述規(guī)避方向的步 驟包括: 判斷所述兩個目標(biāo)點是否位于所述當(dāng)前運動方向的同一側(cè); 若所述兩個目標(biāo)點位于所述當(dāng)前運動方向的同一側(cè),確定計算出的所述夾角中的最大 夾角,將沿著所述最大夾角所對應(yīng)的切線且遠離該最大夾角對應(yīng)的目標(biāo)點的方向作為所述 規(guī)避方向; 若所述兩個目標(biāo)點分別位于所述當(dāng)前運動方向的兩側(cè),確定計算出的所述夾角中的最 小夾角,將沿著所述最小夾角所對應(yīng)的切線且朝向該最小夾角對應(yīng)的目標(biāo)點的方向作為所 述規(guī)避方向。3. 根據(jù)權(quán)利要求2所述的避障方法,其特征在于,從檢測到的所述邊緣位置點中選取兩 個目標(biāo)點的步驟包括: 確定所述障礙物的數(shù)量; 當(dāng)所述障礙物的數(shù)量為1時,將該障礙物的兩個邊緣位置點作為所述兩個目標(biāo)點; 當(dāng)所述障礙物的數(shù)量大于1時,依序判斷相鄰兩個障礙物的最內(nèi)側(cè)的兩個邊緣位置點 之間的最小間距是否大于或等于所述第二圓形區(qū)域的直徑長度; 若所述最小間距大于或等于所述第二圓形區(qū)域的直徑長度,將所述障礙物中的任意一 個所述障礙物的兩個邊緣位置點作為所述兩個目標(biāo)點; 若所述最小間距小于所述第二圓形區(qū)域的直徑長度,將相鄰兩個所述障礙物最外側(cè)的 兩個邊緣位置點作為所述兩個目標(biāo)點。4. 根據(jù)權(quán)利要求1所述的避障方法,其特征在于,所述第一圓形區(qū)域為以所述無人駕駛 機器的當(dāng)前位置點為圓心,以第一距離為半徑的圓周區(qū)域,所述第二圓形區(qū)域為以所述當(dāng) 前位置點為圓心,第二距離為半徑的圓周區(qū)域。5. 根據(jù)權(quán)利要求4所述的避障方法,其特征在于,所述第二距離為預(yù)設(shè)常數(shù),所述第一 距離為=^ + i?2或預(yù)設(shè)常數(shù),其中,Ri為所述第一距離,V為當(dāng)前速度,a為在所述當(dāng)前運 2a 動方向上制動時的最大加速度,R2為所述第二距離。6. 根據(jù)權(quán)利要求1所述的避障方法,其特征在于,該方法還包括: 確定所述無人駕駛機器躲避所述障礙物的規(guī)避速度; 控制所述無人駕駛機器在所述規(guī)避方向上以所述規(guī)避速度進行避障運動。7. 根據(jù)權(quán)利要求6所述的避障方法,其特征在于,所述無人駕駛機器在當(dāng)前運動方向以 期望速度運動,所述期望速度為控制所述無人駕駛機器運動的控制指令所設(shè)定速度,所述 規(guī)避速度的大小與所述期望速度的大小相同。8. 根據(jù)權(quán)利要求1所述的避障方法,其特征在于,在控制所述無人駕駛機器以所述規(guī)避 方向進行避障運動的步驟之后,該方法還包括: 判斷所述第一圓形區(qū)域內(nèi)是否還存在障礙物; 當(dāng)所述第一圓形區(qū)域內(nèi)沒有障礙物時,確定所述無人駕駛機器的運動模式,所述運動 模式包括定向模式和定點模式; 當(dāng)確定所述無人駕駛機器以定向模式運動時,控制所述無人駕駛機器進行避障運動后 仍以定向模式繼續(xù)運動; 當(dāng)確定所述無人駕駛機器以定點模式運動時,所述無人駕駛機器進行避障運動后,重 新確定所述無人駕駛機器與終點的運動方向,并控制所述無人駕駛機器以重新確定的運動 方向繼續(xù)運動。9. 一種避障裝置,應(yīng)用于無人駕駛機器,其特征在于,該裝置包括: 障礙物探測模塊,用于探測所述無人駕駛機器周圍是否存在障礙物,并在探測到障礙 物時,判斷所述障礙物是否位于第一圓形區(qū)域內(nèi); 規(guī)避方向計算模塊,用于當(dāng)所述障礙物位于所述第一圓形區(qū)域內(nèi)時,計算所述無人駕 駛機器躲避所述障礙物的規(guī)避方向;及 避障控制模塊,用于控制所述無人駕駛機器以所述規(guī)避方向進行避障運動; 其中,所述規(guī)避方向計算模塊計算所述無人駕駛機器躲避所述障礙物的規(guī)避方向的方 法包括: 所述障礙物探測模塊還用于檢測所述障礙物在所述第一圓形區(qū)域所在平面的邊緣位 置點; 確定包含所述無人駕駛機器的第二圓形區(qū)域,所述第二圓形區(qū)域的半徑小于所述第一 圓形區(qū)域的半徑,且與所述第一圓形區(qū)域共面并同心; 從檢測到的所述邊緣位置點中選取兩個目標(biāo)點,并計算從每個所述目標(biāo)點到所述第二 圓形區(qū)域的切線,其中,該切線與所述無人駕駛機器的當(dāng)前運動方向相交; 計算所述切線與所述當(dāng)前運動方向的夾角;及 根據(jù)所述夾角確定所述規(guī)避方向。10. 根據(jù)權(quán)利要求9所述的避障裝置,其特征在于,所述規(guī)避方向計算模塊根據(jù)所述夾 角確定所述規(guī)避方向的方法包括: 判斷所述兩個目標(biāo)點是否位于所述當(dāng)前運動方向的同一側(cè); 若所述兩個目標(biāo)點位于所述當(dāng)前運動方向的同一側(cè),確定計算出的所述夾角中的最大 夾角,將沿著所述最大夾角所對應(yīng)的切線且遠離該最大夾角對應(yīng)的目標(biāo)點的方向作為所述 規(guī)避方向; 若所述兩個目標(biāo)點分別位于所述當(dāng)前運動方向的兩側(cè),確定計算出的所述夾角中的最 小夾角,將沿著所述最小夾角所對應(yīng)的切線且朝向該最小夾角對應(yīng)的目標(biāo)點的方向作為所 述規(guī)避方向。11. 根據(jù)權(quán)利要求10所述的避障裝置,其特征在于,所述障礙物探測模塊還用于確定所 述障礙物的數(shù)量; 所述規(guī)避方向計算模塊還用于: 當(dāng)所述障礙物的數(shù)量為1時,將該障礙物的兩個邊緣位置點作為所述兩個目標(biāo)點; 當(dāng)所述障礙物的數(shù)量大于1時,依序判斷相鄰兩個障礙物的最內(nèi)側(cè)的兩個邊緣位置點 之間的最小間距是否大于或等于所述第二圓形區(qū)域的直徑長度; 若所述最小間距大于或等于所述第二圓形區(qū)域的直徑長度,將所述障礙物中的任意一 個所述障礙物的兩個邊緣位置點作為所述兩個目標(biāo)點; 若所述最小間距小于所述第二圓形區(qū)域的直徑長度,將相鄰兩個所述障礙物最外側(cè)的 兩個邊緣位置點作為所述兩個目標(biāo)點。12. 根據(jù)權(quán)利要求9所述的避障裝置,其特征在于,所述第一圓形區(qū)域為以所述無人駕 駛機器的當(dāng)前位置點為圓心,以第一距離為半徑的圓周區(qū)域,所述第二圓形區(qū)域為以所述 當(dāng)前位置點為圓心,第二距離為半徑的圓周區(qū)域。13. 根據(jù)權(quán)利要求12所述的避障裝置,其特征在于,所述第二距離為預(yù)設(shè)常數(shù),所述第 一距離為或預(yù)設(shè)常數(shù),其中,R1為所述第一距離,V為當(dāng)前速度,a為在所述當(dāng)前 運動方向上制動時的最大加速度,R2為所述第二距離。14. 根據(jù)權(quán)利要求9所述的避障裝置,其特征在于,該裝置還包括規(guī)避速度確定模塊,用 于確定所述無人駕駛機器躲避所述障礙物的規(guī)避速度; 所述避障控制模塊還用于控制所述無人駕駛機器在所述規(guī)避方向上以所述規(guī)避速度 進行避障運動。15. 根據(jù)權(quán)利要求14所述的避障裝置,其特征在于,所述無人駕駛機器在當(dāng)前運動方向 以期望速度運動,所述期望速度為控制所述無人駕駛機器運動的控制指令所設(shè)定速度,所 述規(guī)避速度的大小與所述期望速度的大小相同。16. 根據(jù)權(quán)利要求9所述的避障裝置,其特征在于,所述避障控制模塊控制所述無人駕 駛機器以所述規(guī)避方向進行避障運動后,所述障礙物探測模塊還用于判斷所述第一圓形區(qū) 域內(nèi)是否還存在障礙物,該裝置還包括運動模式確定模塊,用于當(dāng)確定所述第一圓形區(qū)域 內(nèi)沒有障礙物時,確定所述無人駕駛機器的運動模式,所述運動模式包括定向模式和定點 模式; 所述避障控制模塊還用于當(dāng)確定所述無人駕駛機器以所述定向模式運動時,控制所述 無人駕駛機器進行避障運動后仍以所述定向模式繼續(xù)運動; 所述避障控制模塊還用于當(dāng)確定所述無人駕駛機器以所述定點模式運動時,所述無人 駕駛機器進行避障運動后,重新確定所述無人駕駛機器與終點的運動方向,并控制所述無 人駕駛機器以重新確定的運動方向繼續(xù)運動。17. -種無人駕駛機器,其特征在于,包括權(quán)利要求9至16任意一項所述的避障裝置。
【文檔編號】G06K9/00GK106022274SQ201610349880
【公開日】2016年10月12日
【申請日】2016年5月24日
【發(fā)明人】程曉磊, 孫孟孟, 周炯, 楊建軍
【申請人】零度智控(北京)智能科技有限公司