一種自動(dòng)制圖裝置及方法
【專利摘要】本發(fā)明實(shí)施例提供的自動(dòng)制圖裝置及方法,涉及機(jī)器人制圖領(lǐng)域。本發(fā)明的自動(dòng)制圖裝置及方法,將未知環(huán)境信息,轉(zhuǎn)換為機(jī)器人識(shí)別的二維動(dòng)態(tài)柵格地圖,機(jī)器人運(yùn)動(dòng),柵格地圖也跟著運(yùn)動(dòng)與更新,避免了機(jī)器人人為制圖帶來(lái)的多次調(diào)整與跟蹤機(jī)器人的運(yùn)動(dòng)姿態(tài)帶來(lái)的繁瑣工作,大大減少了機(jī)器人制圖所用的時(shí)間,并且通過(guò)建立四叉樹(shù)模型,明確運(yùn)動(dòng)目標(biāo)點(diǎn),第一次在局部柵格地圖上進(jìn)行路徑規(guī)劃,全部過(guò)程可以自動(dòng)完成,計(jì)算效率高,編程實(shí)現(xiàn)簡(jiǎn)單,同時(shí)機(jī)器人能夠采集充分的點(diǎn)云數(shù)據(jù),保證了地圖的清晰度。
【專利說(shuō)明】
_種自動(dòng)制圖裝置及方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及機(jī)器人制圖領(lǐng)域,具體而言,涉及一種自動(dòng)制圖裝置及方法。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)科學(xué)技術(shù)與人工智能,計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,智能自主移動(dòng)機(jī)器人 同時(shí)定位與地圖創(chuàng)建已經(jīng)成為機(jī)器人領(lǐng)域的研究熱點(diǎn),其目的是研究應(yīng)用計(jì)算機(jī)視覺(jué)技 術(shù),在復(fù)雜環(huán)境下機(jī)器人能高效率高精度的實(shí)現(xiàn)自主定位和地圖創(chuàng)建,體現(xiàn)了計(jì)算機(jī)視覺(jué) 與機(jī)器人技術(shù)的最新成果。
[0003] 機(jī)器人在未知環(huán)境中從一個(gè)未知位置開(kāi)始移動(dòng),在移動(dòng)過(guò)程中利用里程計(jì),輪式 碼盤,深度攝像頭進(jìn)行位置估計(jì)和傳感器數(shù)據(jù)采集實(shí)現(xiàn)自身定位,同時(shí)建造增量式地圖。在 SLAM中,機(jī)器人利用自身攜帶的傳感器識(shí)別未知環(huán)境中的特征標(biāo)志,然后根據(jù)機(jī)器人與特 征標(biāo)志之間的相對(duì)位置和里程計(jì)的讀數(shù)估計(jì)機(jī)器人與特征標(biāo)志的全局坐標(biāo)。目前移動(dòng)機(jī)器 人的地圖創(chuàng)建過(guò)程不能夠?qū)崿F(xiàn)自動(dòng)化,一般的創(chuàng)建流程如下:機(jī)器人通過(guò)視覺(jué)系統(tǒng)采集未 知環(huán)境的深度信息,操作者通過(guò)外部設(shè)備,比如手機(jī),Google Tango或者鍵盤控制機(jī)器人的 運(yùn)動(dòng),機(jī)器人在移動(dòng)的過(guò)程中,一邊采集數(shù)據(jù),同時(shí)完成對(duì)未知環(huán)境的地圖創(chuàng)建,這樣,在人 為的控制移動(dòng)機(jī)器人運(yùn)動(dòng)姿態(tài)下,機(jī)器人采集完整個(gè)未知環(huán)境信息后,通過(guò)里程傳感器和 閉環(huán)檢測(cè)算法自動(dòng)實(shí)現(xiàn)了對(duì)整個(gè)未知環(huán)境的場(chǎng)景建模,最終生成未知環(huán)境對(duì)應(yīng)的點(diǎn)云圖, 該方法能滿足機(jī)器人三維地圖創(chuàng)建的精度要求。但是對(duì)于復(fù)雜環(huán)境的地圖創(chuàng)建,機(jī)器人的 運(yùn)動(dòng)軌跡,姿態(tài)調(diào)整等需要人一直控制,即使對(duì)操作經(jīng)驗(yàn)豐富的工程師,也需要多次實(shí)踐才 能建立整個(gè)未知環(huán)境的地圖。這個(gè)過(guò)程往往要花費(fèi)大量的時(shí)間,而且一張完整的地圖當(dāng)中, 對(duì)機(jī)器人來(lái)說(shuō),也有可能存在盲區(qū)(機(jī)器人掃描不到的位置),很難保證與真實(shí)環(huán)境的一致 性??偟膩?lái)說(shuō),通過(guò)人為控制的機(jī)器人制圖在復(fù)雜環(huán)境移動(dòng)過(guò)程中通?;ㄙM(fèi)大量的時(shí)間和 成本。
[0004] 在人為的控制機(jī)器人制圖的過(guò)程中,機(jī)器人與周圍障礙物的任何一次碰撞都會(huì)對(duì) 地圖的創(chuàng)建產(chǎn)生很大的匹配誤差,每一次的碰撞很有可能導(dǎo)致整個(gè)地圖創(chuàng)建失敗,綜合考 慮各種因素,現(xiàn)行的機(jī)器人地圖創(chuàng)建需要更進(jìn)一步優(yōu)化。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種自動(dòng)制圖裝置及方法。
[0006] 本發(fā)明實(shí)施例提供的一種自動(dòng)制圖裝置,應(yīng)用于計(jì)算機(jī)裝置,所述計(jì)算機(jī)裝置與 一安裝有視覺(jué)系統(tǒng)且可移動(dòng)的機(jī)器人連接,所述自動(dòng)制圖裝置包括:
[0007] 地圖模型建立模塊,用于建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī)器 人的初始位置作為機(jī)器人在所述二維坐標(biāo)系中的初始坐標(biāo);
[0008] 局部地圖建立模塊,用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐標(biāo)處 的局部地圖;
[0009] 移動(dòng)控制模塊,用于根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按 照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng);
[0010] 所述地圖模型建立模塊還用于記錄所述機(jī)器人移動(dòng)后在所述二維坐標(biāo)系中的節(jié) 點(diǎn)坐標(biāo);
[0011] 所述局部地圖建立模塊還用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié)點(diǎn) 坐標(biāo)處的局部地圖;
[0012] 所述移動(dòng)控制模塊還用于根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路 徑,按照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng),直到所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo) 的局部地圖全部建立。
[0013] 優(yōu)選地,所述局部地圖建立模塊建立局部地圖的方式具體為:
[0014] 對(duì)所述二維坐標(biāo)系進(jìn)行柵格化;
[0015] 在以所述機(jī)器人的當(dāng)前坐標(biāo)為中心的預(yù)設(shè)大小的局部地圖模型中,根據(jù)所述圖像 信息獲取圖像中障礙物在該局部地圖模型中的位置,將障礙物所在的網(wǎng)格標(biāo)記為障礙物網(wǎng) 格,將沒(méi)有障礙物的網(wǎng)格標(biāo)記為自由空間網(wǎng)格;
[0016] 其中,所述當(dāng)前坐標(biāo)為初始坐標(biāo)或者節(jié)點(diǎn)坐標(biāo)。
[0017] 優(yōu)選地,所述局部地圖建立模塊標(biāo)記網(wǎng)格的方式具體為:
[0018] 對(duì)于包括有障礙物的網(wǎng)絡(luò),如果在該網(wǎng)格中障礙物所占的空間超過(guò)一半,則將該 網(wǎng)格標(biāo)記為障礙物網(wǎng)格,如果在該網(wǎng)格中障礙物所占的空間小于一半,則將該網(wǎng)格標(biāo)記為 自由空間網(wǎng)格。
[0019] 優(yōu)選地,所述移動(dòng)控制模塊計(jì)算所述機(jī)器人的移動(dòng)路徑的方式具體為:
[0020] 以所述機(jī)器人的當(dāng)前坐標(biāo)為中心,將所述局部地圖模型劃分為四個(gè)區(qū)域;
[0021] 分別查找每個(gè)區(qū)域中由連續(xù)的自由空間網(wǎng)格組成的可移動(dòng)區(qū)域的中心位置;
[0022]建立四叉樹(shù)模型,以所述當(dāng)前坐標(biāo)為對(duì)應(yīng)的位置為當(dāng)前節(jié)點(diǎn),以每個(gè)區(qū)域的可移 動(dòng)區(qū)域的中心位置為所述當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn);
[0023] 采用預(yù)設(shè)的移動(dòng)路徑算法,根據(jù)所述機(jī)器人的當(dāng)前坐標(biāo)、各個(gè)區(qū)域中的障礙物網(wǎng) 格計(jì)算機(jī)器人從所述當(dāng)前坐標(biāo)移動(dòng)到每個(gè)子節(jié)點(diǎn)的移動(dòng)路徑。
[0024] 優(yōu)選地,所述預(yù)設(shè)的移動(dòng)路徑算法包括用于規(guī)劃全局路徑的迪杰斯特拉算法和用 于完成局部避障功能的動(dòng)態(tài)窗口法。
[0025] 優(yōu)選地,所述移動(dòng)控制模塊按照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng)的方式具體 為:
[0026] 對(duì)比各個(gè)區(qū)域中可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量;
[0027] 按照從大到小的順序控制所述機(jī)器人依次遍歷每個(gè)所述子節(jié)點(diǎn)。
[0028] 優(yōu)選地,所述移動(dòng)控制模塊按照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng)的方式還包 括為:
[0029] 當(dāng)每個(gè)區(qū)域中的可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量均小于預(yù)設(shè)的閾值時(shí), 控制所述機(jī)器人返回到在四叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn)。
[0030] 優(yōu)選地,所述移動(dòng)控制模塊按照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng)的方式還包 括為:
[0031 ]當(dāng)檢測(cè)到所述機(jī)器人移動(dòng)到達(dá)的節(jié)點(diǎn)坐標(biāo)已經(jīng)被記錄時(shí),判斷當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn) 是否已經(jīng)全部遍歷,如果是,控制所述機(jī)器人返回到在四叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié) 點(diǎn)。
[0032] 優(yōu)選地,所述移動(dòng)控制模塊判斷所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖 是否全部建立的方式為:
[0033] 當(dāng)所述機(jī)器人返回到初始坐標(biāo)對(duì)應(yīng)的根節(jié)點(diǎn)時(shí),判斷根節(jié)點(diǎn)的子節(jié)點(diǎn)是否已經(jīng)全 部遍歷,如果是,如果則說(shuō)明所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖已經(jīng)全部建 立。
[0034] 本發(fā)明實(shí)施例提供的一種自動(dòng)制圖方法,應(yīng)用于與一安裝有視覺(jué)系統(tǒng)且可移動(dòng)的 機(jī)器人連接的計(jì)算機(jī)裝置,所述自動(dòng)制圖方法包括:
[0035] 建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī)器人的初始位置作為機(jī)器人 在所述二維坐標(biāo)系中的初始坐標(biāo);
[0036] 根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐標(biāo)處的局部地圖;
[0037] 根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按照預(yù)設(shè)的策略控制所 述機(jī)器人進(jìn)行移動(dòng);
[0038] 記錄所述機(jī)器人移動(dòng)后在所述二維坐標(biāo)系中的節(jié)點(diǎn)坐標(biāo);
[0039] 根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié)點(diǎn)坐標(biāo)處的局部地圖;
[0040] 根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按照預(yù)設(shè)的策略控制所 述機(jī)器人進(jìn)行移動(dòng)并建立局部地圖,直到所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖 全部建立。
[0041] 與現(xiàn)有技術(shù)相比,本發(fā)明的自動(dòng)制圖裝置及方法,將未知環(huán)境信息,轉(zhuǎn)換為機(jī)器人 識(shí)別的二維動(dòng)態(tài)柵格地圖,機(jī)器人運(yùn)動(dòng),柵格地圖也跟著運(yùn)動(dòng)與更新,避免了機(jī)器人人為制 圖帶來(lái)的多次調(diào)整與跟蹤機(jī)器人的運(yùn)動(dòng)姿態(tài)帶來(lái)的繁瑣工作,大大減少了機(jī)器人制圖所用 的時(shí)間,并且通過(guò)建立四叉樹(shù)模型,明確運(yùn)動(dòng)目標(biāo)點(diǎn),第一次在局部柵格地圖上進(jìn)行路徑規(guī) 劃,全部過(guò)程可以自動(dòng)完成,計(jì)算效率高,編程實(shí)現(xiàn)簡(jiǎn)單,同時(shí)機(jī)器人能夠采集充分的點(diǎn)云 數(shù)據(jù),保證了地圖的清晰度。
[0042]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合 所附附圖,作詳細(xì)說(shuō)明如下。
【附圖說(shuō)明】
[0043] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附 圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì) 范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這 些附圖獲得其他相關(guān)的附圖。
[0044] 圖1為本發(fā)明較佳實(shí)施例提供的計(jì)算機(jī)裝置與機(jī)器人進(jìn)行交互的示意圖。
[0045] 圖2為本發(fā)明較佳實(shí)施例提供的機(jī)器人的方框示意圖。
[0046] 圖3為本發(fā)明實(shí)施例提供的自動(dòng)制圖裝置的功能模塊示意圖。
[0047] 圖4為本發(fā)明實(shí)施例提供的劃分局部地圖模型的示意圖。
[0048] 圖5為本發(fā)明實(shí)施例提供的建立四叉樹(shù)模型的示意圖。
[0049] 圖6為本發(fā)明實(shí)施例提供的自動(dòng)制圖方法的流程圖。
[0050] 主要元件符號(hào)說(shuō)明
【具體實(shí)施方式】
[0052]下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整 地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在 此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因 此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的 范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做 出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0053] 應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一 個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的 描述中,術(shù)語(yǔ)"第一"、"第二"等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。 [0054]如圖1所示,是本發(fā)明較佳實(shí)施例提供的計(jì)算機(jī)裝置100與機(jī)器人200進(jìn)行交互的 示意圖。所述計(jì)算機(jī)裝置100與機(jī)器人200有通信連接,相互之間可以進(jìn)行信息的傳輸和交 互。
[0055]所述機(jī)器人200為安裝有視覺(jué)系統(tǒng)且可移動(dòng)的機(jī)器人200。通過(guò)所述視覺(jué)系統(tǒng),機(jī) 器人200可以獲得其周邊環(huán)境的圖像信息,所述視覺(jué)系統(tǒng)可以是但不限于紅外傳感器、攝像 頭等。
[0056] 所述計(jì)算機(jī)裝置100可以安裝于機(jī)器人200內(nèi)部,通過(guò)電學(xué)器件與機(jī)器人200的控 制系統(tǒng)相連接。也可以是獨(dú)立的設(shè)備,如個(gè)人電腦(personal computer,PC)、服務(wù)器等具有 數(shù)據(jù)處理功能的設(shè)備,與機(jī)器人200的控制系統(tǒng)通過(guò)無(wú)線網(wǎng)絡(luò)連接。所述機(jī)器人200的控制 系統(tǒng)接收由計(jì)算機(jī)裝置100發(fā)送的數(shù)據(jù)信息,并以此對(duì)機(jī)器人200進(jìn)行控制,如控制機(jī)器人 200移動(dòng)和開(kāi)啟視覺(jué)系統(tǒng)獲得圖像信息。同時(shí)機(jī)器人200內(nèi)部的信息和由視覺(jué)視覺(jué)系統(tǒng)獲得 圖像信息,也由機(jī)器人200的控制系統(tǒng)發(fā)送到計(jì)算機(jī)裝置100進(jìn)行處理,以實(shí)現(xiàn)建立二維地 圖模型的操作。
[0057]如圖2所示,是所述計(jì)算機(jī)裝置100的方框示意圖。所述計(jì)算機(jī)裝置100包括自動(dòng)制 圖裝置10、存儲(chǔ)器20以及處理器30。
[0058]所述存儲(chǔ)器20和處理器30之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交 互。例如,可通過(guò)一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述自動(dòng)制圖裝置10包括至 少一個(gè)可以軟件或固件(f irmware)的形式存儲(chǔ)于所述存儲(chǔ)器20中或固化在所述計(jì)算機(jī)裝 置100的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。所述處理器30用于執(zhí)行存儲(chǔ) 器20中存儲(chǔ)的可執(zhí)行模塊,例如所述自動(dòng)制圖裝置10包括的軟件功能模塊或計(jì)算機(jī)程序。 [0059] 其中,存儲(chǔ)器20可以是,但不限于,隨機(jī)存取存儲(chǔ)器(Random Access Memory, RAM),只讀存儲(chǔ)器(Read Only Memory,R0M),可編程只讀存儲(chǔ)器(Programmable Read-Only Memory,PROM),可擦除只讀存儲(chǔ)器(Erasable Programmable Read-Only Memory,EPROM), 電可擦除只讀存儲(chǔ)器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。 其中,存儲(chǔ)器20用于存儲(chǔ)程序,所述處理器30在接收到執(zhí)行指令后,執(zhí)行所述程序,下述本 發(fā)明實(shí)施例任一實(shí)施例揭示的流過(guò)程定義的計(jì)算機(jī)裝置100所執(zhí)行的方法可以應(yīng)用于處理 器30中,或者由處理器30實(shí)現(xiàn)。
[0060]處理器30可能是一種集成電路芯片,具有信號(hào)的處理能力。上述的處理器可以是 通用處理器,包括中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)等;還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程 門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢?實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處 理器或者該處理器也可以是任何常規(guī)的處理器等。
[0061]請(qǐng)參閱圖3,是本發(fā)明較佳實(shí)施例提供的圖2所示的自動(dòng)制圖裝置10的功能模塊示 意圖。所述自動(dòng)制圖裝置10包括地圖模型建立模塊101、局部地圖建立模塊102、移動(dòng)控制模 塊 103〇
[0062] 地圖模型建立模塊101,用于建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī) 器人200的初始位置作為機(jī)器人200在所述二維坐標(biāo)系中的初始坐標(biāo)。
[0063] 在開(kāi)始建立機(jī)器人200所在環(huán)境的地圖模型時(shí),對(duì)于該空間的所有信息都是未知 的,因此,在建立用于生成二維地圖模型的二維坐標(biāo)系之后,以所述機(jī)器人200的初始位置 作為機(jī)器人200在所述二維坐標(biāo)系中的初始坐標(biāo)。在本實(shí)施例中,可以將初始坐標(biāo)設(shè)為原 點(diǎn),以初始坐標(biāo)為中心,開(kāi)始對(duì)該空間的建立地圖模型。
[0064] 局部地圖建立模塊102,用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐 標(biāo)處的局部地圖。
[0065]機(jī)器人200所使用的視覺(jué)系統(tǒng)的探測(cè)距離是有限的,因此以某個(gè)坐標(biāo)為中心進(jìn)行 探測(cè)后,可以獲得該坐標(biāo)處一定大小的局部地圖。局部地圖的大小和視覺(jué)系統(tǒng)的探測(cè)距離 相關(guān),根據(jù)視覺(jué)系統(tǒng)獲得的圖像信息,即可建立該坐標(biāo)出的局部地圖。機(jī)器人200所處的初 始位置為初始坐標(biāo),因此首先建立初始坐標(biāo)處的局部地圖。
[0066]移動(dòng)控制模塊103,用于根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200的移動(dòng)路 徑,按照預(yù)設(shè)的策略控制所述機(jī)器人200進(jìn)行移動(dòng)。
[0067]在建立了初始坐標(biāo)處的局部地圖之后,以初始坐標(biāo)為起點(diǎn),控制機(jī)器人200向其他 位置移動(dòng),機(jī)器人200移動(dòng)的軌跡是根據(jù)已經(jīng)建立的局部地圖中的障礙物300確定的。
[0068]所述地圖模型建立模塊101還用于記錄所述機(jī)器人200移動(dòng)后在所述二維坐標(biāo)系 中的節(jié)點(diǎn)坐標(biāo)。
[0069]機(jī)器人200從初始位置離開(kāi)之后,對(duì)其停留的位置的進(jìn)行記錄,并根據(jù)該位置與初 始位置之間的相對(duì)距離和方向獲得停留的位置對(duì)應(yīng)的節(jié)點(diǎn)坐標(biāo)。
[0070]所述局部地圖建立模塊102還用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié) 點(diǎn)坐標(biāo)處的局部地圖。
[0071 ]機(jī)器人200每移動(dòng)到一個(gè)節(jié)點(diǎn)坐標(biāo),就建立該節(jié)點(diǎn)坐標(biāo)處的局部地圖。建立節(jié)點(diǎn)坐 標(biāo)出的局部地圖的方法與建立初始坐標(biāo)處的相同。
[0072]所述移動(dòng)控制模塊103還用于根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200的 移動(dòng)路徑,按照預(yù)設(shè)的策略控制所述機(jī)器人200進(jìn)行移動(dòng),直到所述機(jī)器人200所在環(huán)境的 所有節(jié)點(diǎn)坐標(biāo)的局部地圖全部建立。
[0073]隨著機(jī)器人200不斷地移動(dòng)到新的節(jié)點(diǎn)坐標(biāo),建立了越來(lái)越多的局部地圖,逐漸構(gòu) 成了一個(gè)完整的機(jī)器人200所在環(huán)境的二維地圖模型。當(dāng)記錄的節(jié)點(diǎn)坐標(biāo)不再增加時(shí),則所 機(jī)器人200所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖全部建立,將建立的所述局部地圖按照初 始坐標(biāo)和節(jié)點(diǎn)坐標(biāo)組合起來(lái),即可得到機(jī)器人200所在環(huán)境的二維地圖模型。
[0074]在本實(shí)施例中,所述局部地圖建立模塊102建立初始坐標(biāo)處和節(jié)點(diǎn)坐標(biāo)處的局部 地圖的方法是相同的,是基于機(jī)器人200的視覺(jué)系統(tǒng)在需要建立局部地圖的坐標(biāo)處獲得的 圖像信息。機(jī)器人200的視覺(jué)系統(tǒng)在該坐標(biāo)處進(jìn)行水平方向上360°的探測(cè),獲得其探測(cè)范圍 內(nèi)所有障礙物300的位置。為了方便對(duì)障礙物300的位置進(jìn)行準(zhǔn)確的描述,首先對(duì)二維坐標(biāo) 系進(jìn)行柵格化,根據(jù)障礙物300的位置對(duì)視覺(jué)系統(tǒng)范圍內(nèi)的網(wǎng)格進(jìn)行標(biāo)記,將障礙物300所 在的網(wǎng)格標(biāo)記為障礙物300網(wǎng)格,將沒(méi)有障礙物300的網(wǎng)格標(biāo)記為自由空間網(wǎng)格。通常,在柵 格化時(shí),一個(gè)網(wǎng)格對(duì)應(yīng)實(shí)際大小為邊長(zhǎng)0.1米的正方形。具體地,在對(duì)網(wǎng)格進(jìn)行標(biāo)記時(shí),對(duì)于 一些處于障礙物300邊緣、包括有障礙物300的網(wǎng)絡(luò),其標(biāo)記的方法是如果在該網(wǎng)格中障礙 物300所占的空間超過(guò)一半,則將該網(wǎng)格標(biāo)記為障礙物300網(wǎng)格,如果在該網(wǎng)格中障礙物300 所占的空間小于一半,則將該網(wǎng)格標(biāo)記為自由空間網(wǎng)格。對(duì)探測(cè)范圍內(nèi)的所有網(wǎng)格都標(biāo)記 完成后,即得到該坐標(biāo)處的局部地圖。
[0075]在本實(shí)施例中,移動(dòng)控制模塊103根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200 的移動(dòng)路徑的方式和根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200的移動(dòng)路徑的方式是 相同的。在完成對(duì)某個(gè)坐標(biāo)處的局部地圖的建立之后,基于所標(biāo)記的網(wǎng)格,對(duì)機(jī)器人200的 移動(dòng)路徑進(jìn)行計(jì)算,具體的方式為:
[0076]以所述機(jī)器人200的當(dāng)前坐標(biāo)為中心,將所述局部地圖模型劃分為四個(gè)區(qū)域。
[0077] 分別查找每個(gè)區(qū)域中由連續(xù)的自由空間網(wǎng)格組成的可移動(dòng)區(qū)域的中心位置。
[0078] 建立四叉樹(shù)模型,以所述當(dāng)前坐標(biāo)為對(duì)應(yīng)的位置為當(dāng)前節(jié)點(diǎn),以每個(gè)區(qū)域的可移 動(dòng)區(qū)域的中心位置為所述當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。
[0079]采用預(yù)設(shè)的移動(dòng)路徑算法,根據(jù)所述機(jī)器人200的當(dāng)前坐標(biāo)、各個(gè)區(qū)域中的障礙物 300網(wǎng)格計(jì)算機(jī)器人200從所述當(dāng)前坐標(biāo)移動(dòng)到每個(gè)子節(jié)點(diǎn)的移動(dòng)路徑。
[0080]如圖4所示,本發(fā)明實(shí)施例提供的劃分局部地圖模型的示意圖。以所述機(jī)器人200 的當(dāng)前坐標(biāo)為中心,將局部地圖劃分為A、B、C、D四個(gè)區(qū)域。然后查找每個(gè)區(qū)域中由連續(xù)的自 由空間網(wǎng)格組成的可移動(dòng)區(qū)域,如果機(jī)器人200所在位置的四周存在連續(xù)的多個(gè)自由空間 網(wǎng)格,說(shuō)明有可以供機(jī)器人200移動(dòng)的空間??紤]的機(jī)器人200本身的體積,在本實(shí)施例中, 設(shè)置有一預(yù)設(shè)的閾值,當(dāng)某個(gè)區(qū)域中的可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量均小于該 閾值時(shí),說(shuō)明該區(qū)域內(nèi)不存在可以供機(jī)器人200移動(dòng)的空間。同時(shí),在確定每個(gè)區(qū)域是否存 在包括的自由空間網(wǎng)格的數(shù)量大于閾值的可移動(dòng)區(qū)域后,對(duì)于存在可移動(dòng)區(qū)域的區(qū)域,將 可移動(dòng)區(qū)域中心位置作為機(jī)器人200移動(dòng)時(shí)的目標(biāo)位置。
[0081 ]在此基礎(chǔ)上建立四叉樹(shù)模型,以所述當(dāng)前坐標(biāo)為對(duì)應(yīng)的位置為當(dāng)前節(jié)點(diǎn),以每個(gè) 區(qū)域的可移動(dòng)區(qū)域的中心位置為所述當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。每個(gè)當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)量,與 局部地圖包括的自由空間網(wǎng)格的數(shù)量閾值的可移動(dòng)區(qū)域相同,因此子節(jié)點(diǎn)數(shù)量小于等于4。 如果當(dāng)前節(jié)點(diǎn)的局部地圖不包括的自由空間網(wǎng)格的數(shù)量閾值的可移動(dòng)區(qū)域,說(shuō)明該位置周 圍都是障礙物300,在完成局部地圖的建立后,執(zhí)行歸遞操作,即控制機(jī)器人200返回到在四 叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn)。由于機(jī)器人200每到一個(gè)節(jié)點(diǎn),都會(huì)對(duì)該節(jié)點(diǎn)的節(jié)點(diǎn)坐 標(biāo)進(jìn)行記錄,當(dāng)檢測(cè)到所述機(jī)器人200移動(dòng)到達(dá)的節(jié)點(diǎn)坐標(biāo)已經(jīng)被記錄時(shí),所述機(jī)器人200 不是首次到達(dá)該節(jié)點(diǎn),此時(shí)需要判斷當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)是否已經(jīng)全部遍歷,如果是,同樣執(zhí) 行歸遞操作,控制所述機(jī)器人200返回到在四叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn)。
[0082] 要建立完整的二維地圖模型,需要建立所有節(jié)點(diǎn)處的局部地圖。因此,需要對(duì)所有 當(dāng)前節(jié)點(diǎn)及其子節(jié)點(diǎn)進(jìn)行遍歷,即控制機(jī)器人200移動(dòng)到每一個(gè)節(jié)點(diǎn),建立其對(duì)應(yīng)的局部地 圖。在進(jìn)行遍歷時(shí),需要按一定的順序進(jìn)行移動(dòng)。在本實(shí)施例中,采用的方式是對(duì)比各個(gè)區(qū) 域中可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量,按照從大到小的順序控制所述機(jī)器人200 依次遍歷每個(gè)所述子節(jié)點(diǎn),即先從對(duì)應(yīng)的可移動(dòng)區(qū)域較大的節(jié)點(diǎn)開(kāi)始,并按照可移動(dòng)區(qū)域 從大到小的順序進(jìn)行。
[0083] 如圖5所示,本發(fā)明實(shí)施例提供的建立四叉樹(shù)模型的示意圖。a表示根節(jié)點(diǎn),屬于根 節(jié)點(diǎn)有4個(gè)子節(jié)點(diǎn)b、c、d、e,對(duì)節(jié)于點(diǎn)b,其對(duì)應(yīng)的子節(jié)點(diǎn)有f、g、h、i,節(jié)點(diǎn)c、d不存在子節(jié)點(diǎn), 對(duì)節(jié)于點(diǎn)e,其對(duì)應(yīng)的子節(jié)點(diǎn)有」、1^、1、111,對(duì)于節(jié)點(diǎn)」,其對(duì)應(yīng)的子節(jié)點(diǎn)有11、 〇、?^。機(jī)器人200 的初始位置為a,首先建立a的局部地圖,根據(jù)a的局部地圖確定a的存在四個(gè)子節(jié)點(diǎn)。假設(shè)四 個(gè)子節(jié)點(diǎn)對(duì)應(yīng)所在可移動(dòng)區(qū)域包括的自由空間網(wǎng)格的數(shù)量的關(guān)系為c〈d〈b〈e,按照上述的 遍歷規(guī)則,機(jī)器人200首先確定移動(dòng)的目標(biāo)為e。計(jì)算出對(duì)應(yīng)路徑到達(dá)e后,建立e的局部地 圖,根據(jù)e的局部地圖確定e的存在四個(gè)子節(jié)點(diǎn)。假設(shè)四個(gè)子節(jié)點(diǎn)對(duì)應(yīng)所在可移動(dòng)區(qū)域包括 的自由空間網(wǎng)格的數(shù)量的關(guān)系為m〈l〈k〈j,按照遍歷規(guī)則,機(jī)器人200確定下一個(gè)移動(dòng)的目 標(biāo)為j。計(jì)算出對(duì)應(yīng)路徑到達(dá)j后,建立j的局部地圖,根據(jù)j的局部地圖確定j的還存在四個(gè) 子節(jié)點(diǎn)。假設(shè)四個(gè)子節(jié)點(diǎn)對(duì)應(yīng)所在可移動(dòng)區(qū)域包括的自由空間網(wǎng)格的數(shù)量的關(guān)系為q〈P〈〇〈 n,按照遍歷規(guī)則對(duì)四個(gè)子節(jié)點(diǎn)依次遍歷,遍歷的過(guò)程中,每移動(dòng)到一個(gè)子節(jié)點(diǎn)后,沒(méi)有確定 新的子節(jié)點(diǎn),執(zhí)行歸遞操作返回四叉樹(shù)模型中n、o、p、q的上一層節(jié)點(diǎn)j。當(dāng)從子節(jié)點(diǎn)q返回節(jié) 點(diǎn)j后,判斷j的所有子節(jié)點(diǎn)已經(jīng)遍歷,執(zhí)行歸遞操作返回四叉樹(shù)模型中j、k、l、m的上一層節(jié) 點(diǎn)e,繼續(xù)遍歷節(jié)點(diǎn)e的其他幾個(gè)子節(jié)點(diǎn)。以此類推,當(dāng)機(jī)器人200回溯到根節(jié)點(diǎn)a,且判斷節(jié) 點(diǎn)a的4個(gè)子節(jié)點(diǎn)已經(jīng)全部遍歷之后,說(shuō)明機(jī)器人200所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖 已經(jīng)全部建立。
[0084] 在上述的遍歷過(guò)程中,確定了機(jī)器人200的移動(dòng)的目標(biāo)后,采用預(yù)設(shè)的移動(dòng)路徑算 法,根據(jù)所述機(jī)器人200的當(dāng)前坐標(biāo)、各個(gè)區(qū)域中的障礙物300網(wǎng)格計(jì)算機(jī)器人200從所述當(dāng) 前坐標(biāo)移動(dòng)到目標(biāo)節(jié)點(diǎn)的移動(dòng)路徑。在本實(shí)施例中,采用的移動(dòng)路徑算法包括用于規(guī)劃全 局路徑的迪杰斯特拉(Dijkstrala)算法和用于完成局部避障功能的動(dòng)態(tài)窗口法(Dynamic Window Approach,DWA)。其中,通過(guò)迪杰斯特拉算法確定機(jī)器人200移動(dòng)的全局方向,而通 過(guò)DWA完成機(jī)器人200的在移動(dòng)過(guò)程中對(duì)障礙物300的躲避和對(duì)移動(dòng)速度的規(guī)劃,即局部路 徑規(guī)劃。根據(jù)這兩種算法,即可得到從當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的曲線路徑。
[0085]在本實(shí)施例中,機(jī)器人200從初始位置出發(fā),最后返回初始位置,結(jié)合中途所遍歷 的所有節(jié)點(diǎn)的局部地圖,輸出一張二維地圖模型,完成整個(gè)自動(dòng)制圖過(guò)程。
[0086]請(qǐng)參閱圖6,是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖3所示的自動(dòng)制圖裝置10的自動(dòng) 制圖方法的流程圖。下面將對(duì)圖6所示的具體流程進(jìn)行詳細(xì)闡述。
[0087]步驟S101,建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī)器人200的初始位 置作為機(jī)器人200在所述二維坐標(biāo)系中的初始坐標(biāo)。
[0088]步驟S102,根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐標(biāo)處的局部地圖。 [0089] 步驟S103,根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200的移動(dòng)路徑,按照預(yù)設(shè) 的策略控制所述機(jī)器人200進(jìn)行移動(dòng)。
[0090] 步驟S104,記錄所述機(jī)器人200移動(dòng)后在所述二維坐標(biāo)系中的節(jié)點(diǎn)坐標(biāo)。
[0091] 步驟S105,根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié)點(diǎn)坐標(biāo)處的局部地圖。 [0092]步驟S106,判斷機(jī)器人200所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖是否全部建立,如 果是,則結(jié)束本方法流程,如果否,執(zhí)行步驟S107、S104和S105。
[0093] 步驟S107,根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人200的移動(dòng)路徑,按照預(yù)設(shè) 的策略控制所述機(jī)器人200進(jìn)行移動(dòng)。
[0094]步驟S101和步驟S104由自動(dòng)制圖裝置10的地圖模型建立模塊101執(zhí)行,關(guān)于步驟 S101和步驟S104的具體描述,參照上述對(duì)地圖模型建立模塊101的描述。
[0095]步驟S102和步驟S105由自動(dòng)制圖裝置10的局部地圖建立模塊102執(zhí)行,關(guān)于步驟 S10 2和步驟S105中建立局部地圖方法的具體描述,參照上述對(duì)局部地圖建立模塊102的描 述。
[0096] 步驟S103、步驟S106以及步驟S107由自動(dòng)制圖裝置10的移動(dòng)控制模塊103執(zhí)行,關(guān) 于步驟S103和步驟S107中計(jì)算所述機(jī)器人200的移動(dòng)路徑的方法以及控制所述機(jī)器人200 進(jìn)行移動(dòng)的方法,參照上述對(duì)移動(dòng)控制模塊103的描述,關(guān)于步驟S106中判斷機(jī)器人200所 在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖是否全部建立的方法,參照上述對(duì)移動(dòng)控制模塊103的 描述。
[0097] 本發(fā)明實(shí)施例以移動(dòng)機(jī)器人在室內(nèi)進(jìn)行二維自動(dòng)制圖的路徑規(guī)劃為例,說(shuō)明了機(jī) 器人進(jìn)行制圖模式下的基于柵格化局部地圖,四叉樹(shù)模型的路徑規(guī)劃方法,可以為機(jī)器人 二維自動(dòng)制圖規(guī)劃處高地清晰度的地圖。本發(fā)明也可以運(yùn)用到移動(dòng)機(jī)器人的室外未知環(huán)境 的地圖創(chuàng)建,同時(shí)適用復(fù)雜的地形環(huán)境的地圖創(chuàng)建。
[0098] 綜上所述,本發(fā)明的自動(dòng)制圖裝置及方法,將未知環(huán)境信息,轉(zhuǎn)換為機(jī)器人識(shí)別的 二維動(dòng)態(tài)柵格地圖,機(jī)器人運(yùn)動(dòng),柵格地圖也跟著運(yùn)動(dòng)與更新,避免了機(jī)器人人為制圖帶來(lái) 的多次調(diào)整與跟蹤機(jī)器人的運(yùn)動(dòng)姿態(tài)帶來(lái)的繁瑣工作,大大減少了機(jī)器人制圖所用的時(shí) 間,并且通過(guò)建立四叉樹(shù)模型,明確運(yùn)動(dòng)目標(biāo)點(diǎn),第一次在局部柵格地圖上進(jìn)行路徑規(guī)劃, 全部過(guò)程可以自動(dòng)完成,計(jì)算效率高,編程實(shí)現(xiàn)簡(jiǎn)單,同時(shí)機(jī)器人能夠采集充分的點(diǎn)云數(shù) 據(jù),保證了地圖的清晰度。
[0099] 在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過(guò) 其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖 顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、 功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一 部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí) 行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于 附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也 可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每 個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基 于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0100]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部 分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。 [0101]所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以 存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō) 對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì) 算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè) 人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。 而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(R0M,Read-0nly Memory)、隨機(jī)存取存 儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要 說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與 另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí) 際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包 含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括 沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。 在沒(méi)有更多限制的情況下,由語(yǔ)句"包括一個(gè)......"限定的要素,并不排除在包括所述要 素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0102] 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在 下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需 要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
[0103] 以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種自動(dòng)制圖裝置,應(yīng)用于計(jì)算機(jī)裝置,所述計(jì)算機(jī)裝置與一安裝有視覺(jué)系統(tǒng)且可 移動(dòng)的機(jī)器人連接,其特征在于,所述自動(dòng)制圖裝置包括: 地圖模型建立模塊,用于建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī)器人的 初始位置作為機(jī)器人在所述二維坐標(biāo)系中的初始坐標(biāo); 局部地圖建立模塊,用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐標(biāo)處的局 部地圖; 移動(dòng)控制模塊,用于根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按照預(yù) 設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng); 所述地圖模型建立模塊還用于記錄所述機(jī)器人移動(dòng)后在所述二維坐標(biāo)系中的節(jié)點(diǎn)坐 標(biāo); 所述局部地圖建立模塊還用于根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié)點(diǎn)坐標(biāo) 處的局部地圖; 所述移動(dòng)控制模塊還用于根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按 照預(yù)設(shè)的策略控制所述機(jī)器人進(jìn)行移動(dòng),直到所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部 地圖全部建立。2. 根據(jù)權(quán)利要求1所述的自動(dòng)制圖裝置,其特征在于,所述局部地圖建立模塊建立局部 地圖的方式具體為: 對(duì)所述二維坐標(biāo)系進(jìn)行柵格化; 在以所述機(jī)器人的當(dāng)前坐標(biāo)為中心的預(yù)設(shè)大小的局部地圖模型中,根據(jù)所述圖像信息 獲取圖像中障礙物在該局部地圖模型中的位置,將障礙物所在的網(wǎng)格標(biāo)記為障礙物網(wǎng)格, 將沒(méi)有障礙物的網(wǎng)格標(biāo)記為自由空間網(wǎng)格; 其中,所述當(dāng)前坐標(biāo)為初始坐標(biāo)或者節(jié)點(diǎn)坐標(biāo)。3. 根據(jù)權(quán)利要求2所述的自動(dòng)制圖裝置,其特征在于,所述局部地圖建立模塊標(biāo)記網(wǎng)格 的方式具體為: 對(duì)于包括有障礙物的網(wǎng)絡(luò),如果在該網(wǎng)格中障礙物所占的空間超過(guò)一半,則將該網(wǎng)格 標(biāo)記為障礙物網(wǎng)格,如果在該網(wǎng)格中障礙物所占的空間小于一半,則將該網(wǎng)格標(biāo)記為自由 空間網(wǎng)格。4. 根據(jù)權(quán)利要求2所述的自動(dòng)制圖裝置,其特征在于,所述移動(dòng)控制模塊計(jì)算所述機(jī)器 人的移動(dòng)路徑的方式具體為: 以所述機(jī)器人的當(dāng)前坐標(biāo)為中心,將所述局部地圖模型劃分為四個(gè)區(qū)域; 分別查找每個(gè)區(qū)域中由連續(xù)的自由空間網(wǎng)格組成的可移動(dòng)區(qū)域的中心位置; 建立四叉樹(shù)模型,以所述當(dāng)前坐標(biāo)為對(duì)應(yīng)的位置為當(dāng)前節(jié)點(diǎn),以每個(gè)區(qū)域的可移動(dòng)區(qū) 域的中心位置為所述當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn); 采用預(yù)設(shè)的移動(dòng)路徑算法,根據(jù)所述機(jī)器人的當(dāng)前坐標(biāo)、各個(gè)區(qū)域中的障礙物網(wǎng)格計(jì) 算機(jī)器人從所述當(dāng)前坐標(biāo)移動(dòng)到每個(gè)子節(jié)點(diǎn)的移動(dòng)路徑。5. 根據(jù)權(quán)利要求4所述的自動(dòng)制圖裝置,其特征在于,所述預(yù)設(shè)的移動(dòng)路徑算法包括用 于規(guī)劃全局路徑的迪杰斯特拉算法和用于完成局部避障功能的動(dòng)態(tài)窗口法。6. 根據(jù)權(quán)利要求4所述的自動(dòng)制圖裝置,其特征在于,所述移動(dòng)控制模塊按照預(yù)設(shè)的策 略控制所述機(jī)器人進(jìn)行移動(dòng)的方式具體為: 對(duì)比各個(gè)區(qū)域中可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量; 按照從大到小的順序控制所述機(jī)器人依次遍歷每個(gè)所述子節(jié)點(diǎn)。7. 根據(jù)權(quán)利要求6所述的自動(dòng)制圖裝置,其特征在于,所述移動(dòng)控制模塊按照預(yù)設(shè)的策 略控制所述機(jī)器人進(jìn)行移動(dòng)的方式還包括為: 當(dāng)每個(gè)區(qū)域中的可移動(dòng)區(qū)域所包括的自由空間網(wǎng)格的數(shù)量均小于預(yù)設(shè)的閾值時(shí),控制 所述機(jī)器人返回到在四叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn)。8. 根據(jù)權(quán)利要求6所述的自動(dòng)制圖裝置,其特征在于,所述移動(dòng)控制模塊按照預(yù)設(shè)的策 略控制所述機(jī)器人進(jìn)行移動(dòng)的方式還包括為: 當(dāng)檢測(cè)到所述機(jī)器人移動(dòng)到達(dá)的節(jié)點(diǎn)坐標(biāo)已經(jīng)被記錄時(shí),判斷當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)是否 已經(jīng)全部遍歷,如果是,控制所述機(jī)器人返回到在四叉樹(shù)模型中當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn)。9. 根據(jù)權(quán)利要求7或8所述的自動(dòng)制圖裝置,其特征在于,所述移動(dòng)控制模塊判斷所述 機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖是否全部建立的方式為: 當(dāng)所述機(jī)器人返回到初始坐標(biāo)對(duì)應(yīng)的根節(jié)點(diǎn)時(shí),判斷根節(jié)點(diǎn)的子節(jié)點(diǎn)是否已經(jīng)全部遍 歷,如果是,如果則說(shuō)明所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖已經(jīng)全部建立。10. -種自動(dòng)制圖方法,應(yīng)用于與一安裝有視覺(jué)系統(tǒng)且可移動(dòng)的機(jī)器人連接的計(jì)算機(jī) 裝置,其特征在于,所述自動(dòng)制圖方法包括: 建立用于生成二維地圖模型的二維坐標(biāo)系,以所述機(jī)器人的初始位置作為機(jī)器人在所 述二維坐標(biāo)系中的初始坐標(biāo); 根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述初始坐標(biāo)處的局部地圖; 根據(jù)初始坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按照預(yù)設(shè)的策略控制所述機(jī) 器人進(jìn)行移動(dòng); 記錄所述機(jī)器人移動(dòng)后在所述二維坐標(biāo)系中的節(jié)點(diǎn)坐標(biāo); 根據(jù)所述視覺(jué)系統(tǒng)獲得的圖像信息建立所述節(jié)點(diǎn)坐標(biāo)處的局部地圖; 根據(jù)節(jié)點(diǎn)坐標(biāo)處的局部地圖計(jì)算所述機(jī)器人的移動(dòng)路徑,按照預(yù)設(shè)的策略控制所述機(jī) 器人進(jìn)行移動(dòng)并建立局部地圖,直到所述機(jī)器人所在環(huán)境的所有節(jié)點(diǎn)坐標(biāo)的局部地圖全部 建立。
【文檔編號(hào)】G05D1/02GK105911988SQ201610266803
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2016年4月26日
【發(fā)明人】戴雄明, 李洪
【申請(qǐng)人】湖南拓視覺(jué)信息技術(shù)有限公司