本發明涉及機器人技術領域,尤其涉及一種機器人及其以深度攝像頭和避障系統構建地圖的方法。
背景技術:
智能機器人在生活中應用越來越廣泛,他能幫助人類完成生活與生產中的一些活動。然而,實現機器人靈活、高效、智能的移動,是機器人智能化重要的一步。所以,機器人自主導航功能能體現一款機器人的智能化程度。地圖創建、定位及路徑規劃式自主導航的三個關鍵要素。打個比方,你要從A第去往B地,那么,你首先要知道A地在哪里;其次,你要知道B地在哪里,以及A地和B地在周圍環境中的關系;最后,你才能根據信息實現從A地到達B地。目前,較為常見的智能機器人即時定位與地圖構建技術包括FastSLAM和VSLAM兩個大類。FastSLAM一般使用激光測距儀或者聲吶來實現,而VSLAM則使用視覺傳感器來實現。FastSLAM由于使用激光、聲吶等傳感器,在特殊的環境下機器人無法識別,只能通過預判來估計整個環境情況。VSLAM使用視覺傳感器,市面上有很多中視覺傳感器,原理也不盡相同,整體來說,用視覺傳感器來做自主導航能有效地客服FastSLAM中產生的問題。
我們簡述常見的機器人是如何實現自主導航的。首先,需要根據先驗的環境,結合當前機器人的位置信息以及傳感器輸入的信息,準確的描述機器人的位姿過程。其主要包括相對位置、絕對位置,絕對位置主要使用導航信標,主動或者被動識別,地圖匹配或者衛星導航技術進行定位,定位的精確度較高。但是家用機器人在家居環境下,我們跟需要的是相對位置。相對位置是通過測試機器人相對于初始位置的距離和方向來確定機器人的當前位置,通常,我們就稱之為導航算法。但現在自主導航算法中往往忽視了家居環境中的地面有懸空和家居障礙物這些復雜的情況,所以沒有考慮到這些復雜情況而構建了的室內地面上的環境地圖,在移動時會受到很大的限制。
技術實現要素:
針對現有技術的不足,旨在解決現有的機器人構建地圖方法時沒有考慮到地面有懸空和家居障礙物這些復雜問題,提供了一種機器人及其以深度攝像頭和避障系統構建地圖的方法,將紅外線地檢模塊和障礙物檢測模塊結合作為深度攝像頭的補充,而構建地圖,使得構建的地圖無盲區,更加完善。
為實現上述目的,本發明采用如下技術方案:
一種機器人,包括深度攝像頭和避障系統,還包括上位機、終端顯示器、下位機、紅外線地檢模塊、障礙物檢測模塊、里程計、陀螺儀。
所述上位機與所述下位機連接,用于處理所述上位機與所述下位機之間的數據。
所述深度攝像頭與所述上位機連接,用于攝取周圍環境信息。
所述終端顯示器與所述上位機連接,用于所述上位機處理后的數據顯示。
所述紅外線地檢模塊與所述下位機連接,用于檢查周圍環境的懸空數據信息。
所述障礙物檢測模塊與所述下位機連接,用于檢查周圍環境的邊緣數據信息。
所述里程計、陀螺儀與所述下位機連接,用于記錄機器人行程信息。
所述下位機包括判斷模塊,所述判斷模塊用于機器人判斷行走路徑中是否存在不可運動區域。
還包括無線模塊,所述無線模塊與所述上位機連接,用于所述上位機處理后的數據無線傳播出去與接收來自終端的控制信號。
為實現上述目的,本發明采用如下技術方案。
一種機器人以深度攝像頭和避障系統構建地圖的方法,包括以下步驟:
步驟一,機器人遍歷待行走空間,建立與行走空間相對應的地圖坐標系;
步驟二,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,依據所述行走周圍環境信息在所述地圖坐標系中建立行走空間的初步地圖;
步驟三,機器人判斷行走路徑中是否存在不可運動區域,若否,則返回步驟二,若是,則進入步驟四;
步驟四,機器人在初步地圖上標記不可運動區域的數據信息。
所述步驟二中,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,具體地,獲取機器人到外障礙物體的深度信息Z,根據深度信息Z利用三角公式計算并獲得首次障礙信息的深度圖像的x和y,x表示外障礙物體到機器人原點的距離,y表示外障礙物體的高度。
所述步驟三中,機器人判斷行走路徑中是否存在不可運動區域,包括機器人的紅外線地檢模塊根據獲取地檢信息判斷行走路徑中是否存在不可運動區域,若是,則在初步地圖上標記不可運動區域的懸空數據信息。
所述步驟三中,機器人判斷行走路徑中是否存在不可運動區域,包括機器人的障礙物檢測模塊根據獲取碰撞數據判斷行走路徑中是否存在不可運動區域,若是,則在初步地圖上標記不可運動區域的邊緣數據信息。
作為優選方案,還包括步驟四,判斷所述邊緣數據信息是否為封閉的環,若否,則返回步驟二,若是,則完成地圖構建。
作為優選方案,還包括步驟五,將構建的地圖信息由終端顯示器顯示出來。
作為優選方案,還包括步驟六,將構建的地圖信息由無線模塊無線傳播出去。
本發明所闡述的一種機器人及其以深度攝像頭和避障系統構建地圖的方法,其有益效果在于:
與現有技術相比,本發明的一種機器人用深度攝像頭、紅外線地檢模塊以及障礙物檢測模塊結合來構建地圖的方法,實現了機器人對環境的無盲區的地圖構建,使得機器人在根據構建的地圖行走時能有效避開障礙物體。
附圖說明
圖1是本發明實施例的機器人的結構框圖。
圖2是本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法的流程圖。
圖3是本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法的另一流程圖。
圖4是本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法的第三種流程圖。
圖5是本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法的第四種流程圖。
圖6是本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法時避開障礙物時運動方式的向量圖。
圖7是本發明攝像頭獲得深度圖像的結構圖。
圖8是深度攝像頭拍攝角度中截取有效角度及旋轉方式示意圖。
具體實施方式
下面結合附圖與具體實施例來對本發明作進一步描述。
參考圖1所示,本發明實施例提供了一種機器人,包括上位機1、深度攝像頭2、終端顯示器3、無線模塊4、下位機5、紅外線地檢模塊6、障礙物檢測模塊7、里程計8、陀螺儀9、避障系統10;
所述上位機1與所述下位機5連接,用于處理所述上位機1與所述下位機2之間的數據;
機器人的上位機與下位機采用串口做為通訊通道。
所述深度攝像頭2與所述上位機1連接,用于攝取周圍環境信息;
深度攝像頭2中的傳感器以每秒30幀的速度生成景深圖像流,我們通過opencv等已有的圖像處理算法分析景深圖像,找出景深圖像流中共同的特征點,將相同的特征點拼接建成實時的周圍環境圖像。這里指的特征點可以理解成直角、直線、圓弧等。
上位機1的處理器裝有linux等操作系統,操作系統安裝有SLAM程序,操作系統中也安裝有深度攝像頭2的驅動。
深度攝像頭2將景深圖像數據傳輸到上位機1中,SLAM程序讀取數據后,進行分析和使用。
具體地,獲取機器人到外障礙物體的深度信息Z,根據深度信息Z利用三角公式計算并獲得首次障礙信息的深度圖像的x和y,x表示外障礙物體到機器人原點的距離,y表示外障礙物體的高度。
參照圖7所示,本發明機器人的深度攝像頭2采用分辨率為320*200,并且深度攝像頭2到分辨率最大值時的角度是110度,因些三角公式為a=(x/320)×110,利用y=Z×cosa,y表示以Z為斜邊,x=Z×sina
參照圖8所示,本發明機器人分多次旋轉深度攝像頭2,不轉動時,能夠攝得的角度是110度,為了更精確,我們只讀取中間的90度的信息,360度中的剩余角度,我們分四次旋轉,每次旋轉90度,每旋轉一次,上述的三角公式獲取一次新的障礙物信息的深度圖像中的x和y的值,直到轉完了360度后則將所有圖像信息加入到構建的地圖當中。此過程中根據陀螺儀可以精確旋轉所需的角度。
所述終端顯示器3與所述上位機1連接,用于所述上位機1處理后的數據顯示;
上位機1中的Slam算法根據構建環境圖像去疊加成完整的室內地圖,現在我們就構建2D的地圖為例,當slam算法構建好地圖后,我們將地圖垂直投影成平面,所有邊緣用棕深色的點圍成,障礙物用紅色表示,空白的用淺灰色表示,那么這個室內就會出現以輪廓描述的地圖。顏色可以根據用戶自由去定義。
所述紅外線地檢模塊6與所述下位機5連接,用于檢查周圍環境的懸空數據信息;
紅外線地檢模塊6安裝在機器人底部,每個紅外線地檢模塊6由一個紅外發射管和一個或多個紅外接收管組成的電路,紅外線地檢模塊6通過控制紅外發送管發送紅外,紅外接收管接收AD值數據,再利用差分,均值等常見算法估算當時的有效值,再與實驗測得的固定設定值相比較,來判斷是否為懸空,如果是懸空,則標記懸空數據信息。
優選的,機器底部有多組紅外線地檢模塊6,通過標記懸空數據信息以及安裝的位置去判斷機器哪個方向出現懸空,懸空后我們將懸空數據信息通過串口上傳給下位機5。下位機5再傳給上位機1,上位機1再記下此時的坐標信息,并在地圖中標記懸空數據信息。
所述障礙物檢測模塊7與所述下位機5連接,用于檢查周圍環境的邊緣數據信息;
障礙物檢測模塊7分為兩個部分,紅外墻檢模塊和機械碰撞模塊。機械碰撞模塊在機器人的前外殼下面安裝有兩個微動開關,只要機器人被撞上,兩個微動開關就會被壓下,系統就會檢測到相應的邊緣數據信息。機械碰撞模塊是為了檢測橫向的凳腳等,在實際運行中檢測效果明顯。在檢測到碰撞時,下位機5立馬上發此邊緣數據信息,那么上位機1就會立馬記下此時的坐標信息,并將邊緣數據信息標記在地圖中。紅外墻檢模塊的工作原理和紅外線地檢模塊6是一樣,也是采用一個紅外發射管和多個紅外接收管,通過讀取的AD值來判斷是否發生事件,這里我就不再累述。紅外墻檢模塊可以檢測障礙物信息。機器人的周圍裝有多個紅外墻檢模塊,通過讀取紅外墻檢模塊的位置,可以識別機器在什么方位有障礙物,標記此邊緣數據信息,并上發給上位機1標記進地圖。
當上位機1判斷全部標記的邊緣數據信息為封閉的環時,則完成地圖構建。
所述里程計8、陀螺儀9與所述下位機5連接,用于記錄機器人行程信息。
在構建slam的算法中,一定需要的是里程計,里程計也就是測量機器行走的距離計數器,本發明機器人采用的是在電機上增加光電檢測電路。機器中包括左輪、右輪和前輪,我們通過檢測左右輪的脈沖數據再結合電機的脈沖數與輪子的變速箱參數可以精確的計算出機器行進的距離。里程計測量的距離是以毫米為單位,再通過串口上發左右輪里程數據,同時還將動態時間上發,下位機5才能分析出行進的狀態。加速度計和方位計集成在陀螺儀9中,陀螺儀9測量的實時數據能夠通過串口發給下位機5,下位機5經過判斷提取相關方位數據上發給上位機1。上位機1分析提取的方位數據一般都是角度信息,也就是機器所處與地磁的夾角。當上位機1接到方位數據后,通過結合里程數據就能實時的描述出機器的坐標。
參考圖6所示,里程計8、陀螺儀9組建的向量圖:
為起始位置與障礙物的向量;
為運動位置與障礙物的向量;
為機器人兩個位置的相對向量。
機器人在判斷到周邊有障礙物時,機器人采用如圖的運動方式來避開障礙物。
所述下位機5包括判斷模塊,所述判斷模塊用于機器人判斷行走路徑中是否存在不可運動區域。
判斷模塊根據懸空數據信息和邊緣數據信息來判斷行走路徑中是否存在不可運動區域。
機器人還包括無線模塊4,所述無線模塊4與所述上位機1連接,用于所述上位機1處理后的數據無線傳播出去。
無線模塊4是機器人連接互聯網的通道,在上位機1系統中安裝無線驅動,再將地圖數據上發到服務器,也可以接受終端發送的控制信息。在前面已經描述了地圖構建中的各類信息,地圖構建好要在終端顯示,上位機1將構建好的地圖通過圖片流的方式往服務器發送數據,服務器再轉發至終端,整個過程是非常快,那么客戶在終端就會觀看到機器的實時地圖,機器的實時位置。同樣,終端進行操作以后,會將相應的指令往機器人方向發送,機器人借助無線接收指令,然后解析并執行。
避障系統10與下位機5連接,用于避障系統10與下位機5之間的數據傳送。
本發明的機器人主要用于服務機器人,特別是掃地機器人,適合于室內,適合存在玻璃、強光、樓梯、凳腳等復雜室內環境,對于復式樓,只能單獨的構建每一樓層地圖。
參考圖2所示,本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法包括以下步驟:
步驟S101,機器人遍歷待行走空間,建立與行走空間相對應的地圖坐標系;
步驟S102,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,依據所述行走周圍環境信息在所述地圖坐標系中建立行走空間的初步地圖;
步驟S103,機器人判斷行走路徑中是否存在不可運動區域,若否,則返回步驟S102,若是,則進入步驟S104;
步驟S104,機器人在初步地圖上標記不可運動區域的數據信息。
參考圖3所示,本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法包括以下步驟:
步驟S201,機器人遍歷待行走空間,建立與行走空間相對應的地圖坐標系;
步驟S202,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,依據所述行走周圍環境信息在所述地圖坐標系中建立行走空間的初步地圖;
步驟S203,機器人判斷行走路徑中是否存在不可運動區域,若否,則返回步驟S202,若是,則進入步驟S204;
步驟S204,機器人在初步地圖上標記不可運動區域的數據信息;
步驟S205,將構建的地圖信息由終端顯示器顯示出來;
步驟S206,將構建的地圖信息由無線模塊無線傳播出去。
參考圖4所示,本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法包括以下步驟:
步驟S301,機器人遍歷待行走空間,建立與行走空間相對應的地圖坐標系;
步驟S302,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,依據所述行走周圍環境信息在所述地圖坐標系中建立行走空間的初步地圖;
步驟S303,機器人的紅外線地檢模塊根據獲取地檢信息判斷行走路徑中是否存在不可運動區域;若否,則返回步驟S302,若是,則進入步驟S304。
步驟S304,在初步地圖上標記不可運動區域的邊緣數據信息。
參考圖5所示,本發明實施例的機器人以深度攝像頭和避障系統構建地圖的方法包括以下步驟:
步驟S401,機器人遍歷待行走空間,建立與行走空間相對應的地圖坐標系;
步驟S402,機器人通過深度數據攝像頭攝取行走空間周圍環境信息,依據所述行走周圍環境信息在所述地圖坐標系中建立行走空間的初步地圖;
步驟S403,機器人的障礙物檢測模塊根據獲取碰撞數據判斷行走路徑中是否存在不可運動區域;若否,則返回步驟S402,若是,則進入步驟S404。
步驟S404,在初步地圖上標記不可運動區域的邊緣數據信息;
步驟S405,判斷所述邊緣數據信息是否為封閉的環,若否,則返回步驟二,若是,則進入下一步;
步驟S406,則完成地圖構建。
上述的本發明實施例的上述機器人以深度攝像頭和避障系統構建地圖的方法與上述的機器人是基于同一構思,這里就不再對每個部件一一解釋。
以上所述,僅是本發明較佳實施例而已,并非對本發明的技術范圍作任何限制,故凡是依據本發明的技術實質對以上實施例所作的任何細微修改、等同變化與修飾,均仍屬于本發明技術方案的范圍內。