機器人用深度攝像頭與超聲波結合的避障控制方法及系統(tǒng)的制作方法
【專利說明】機器人用深度攝像頭與超聲波結合的避障控制方法及系統(tǒng)
[0001]
技術領域
[0002]本發(fā)明涉及機器人技術領域,尤其涉及一種機器人用深度攝像頭與超聲波結合的避障控制方法及系統(tǒng)。
【背景技術】
[0003]智能機器人,例如掃地機器人等越來越廣泛的應用于家庭生活中,機器人要實現(xiàn)靈活、高效、智能的移動,就需要具有自主導航的功能。地圖創(chuàng)建、定位及路徑規(guī)劃是自主導航的三個關鍵要素,地圖創(chuàng)建與定位是相互依存的關系,缺少環(huán)境地圖則無法準確的標定機器人的位置,初始位置不確定,則創(chuàng)建的地圖就會缺少基準點,正因如此未知環(huán)境下的機器人的地位與地圖創(chuàng)建將以同時定位與地圖創(chuàng)建的方式實現(xiàn),即是移動機器人隨著對環(huán)境的探索,逐步擴大自身存儲的地圖的廣度,并實時的將未知信息定位在新創(chuàng)建的地圖中,這種技術一般稱之為同時定位與地圖生成。目前,較為常用的智能機器人的同時定位與地圖生成技術包括FastSLAM與vSLAM兩大類。其中FastSLAM系統(tǒng)一般使用激光測距儀或聲納來實現(xiàn),而vSLAM則使用視覺傳感器來實現(xiàn)。FastSLAM由于使用了激光、聲納等傳感器,對一些特殊的環(huán)境如線段、拐角等不能識別,因此需要通過改進算法來實現(xiàn)定位的準確性。
[0004]目前較為常見的移動智能機器人的定位技術主要是根據(jù)先驗的環(huán)境,結合當前機器人位置信息以及傳感器輸入信息,準確的確定機器人位姿的過程,主要包括相對定位與絕對定位,絕對定位主要使用導航信標,主動或被動識別、地圖匹配或衛(wèi)星導航技術進行定位,定位精確較高。但是相對于家用機器人而言成本較高,相對定位是通過測量機器人相對于初始位置的距離和方向來確定機器人的當前位置,通常也稱為導航推算法,常用的傳感器包括里程計及慣導系統(tǒng),例如速度陀螺、加速度計等。導航推算法的有點是機器人自己推算出來的,不需要對外界的感知信息,確定是漂移誤差會隨著時間的積累導致小誤差無限的增加,因此誤差較大。
[0005]綜合上述的描述,傳統(tǒng)機器人的定位避障方法只能避開距離機器人長距離的障礙物體,因此存在誤差、盲區(qū)和反射角度等局限性。
【發(fā)明內容】
[0006]針對上述技術中存在的不足之處,本發(fā)明提供一種機器人用深度攝像頭與超聲波結合的避障控制方法及系統(tǒng),實現(xiàn)了機器人對環(huán)境的無盲區(qū)探測,在行走過程中可有效避開障礙物體。
[0007]為實現(xiàn)上述目的,本發(fā)明提供一種機器人用深度攝像頭與超聲波結合的避障控制方法,包括以下步驟:
步驟I,機器人開始進行行走和探索;
步驟2,機器人上安設的深度數(shù)據(jù)攝像頭攝取當前體姿0.3-4m、拍攝角度為60度的深度圖像;若是遇到外障礙物體,則進入步驟3,若是未遇到外障礙物體,則返回步驟I ;
步驟3,獲取機器人到外障礙物體的深度信息Z,根據(jù)深度信息Z利用三角公式計算并獲得首次障礙信息的深度圖像的X和y,X表示外障礙物體到機器人原點的距離,y表示外障礙物體的高度;
步驟4,將獲取的首次障礙信息的深度圖像X和y按一定的比例映射到顯示屏的X軸和y軸上并保存;
步驟5,分多次旋轉深度數(shù)據(jù)攝像頭360度中的剩余角度,每旋轉一次深度數(shù)據(jù)攝像頭就根據(jù)上述的三角公式獲取一個新的障礙信息的深度圖像的X和1,直到轉完360度后則將所有障礙信息顯示在顯示屏上;
步驟6,由機器人上安設的超聲波測距模塊判斷距離機器人體姿0-0.3m以內是否有內障礙物體,若有內障礙物體,則計算出內障礙物體到機器人的距離并在顯示屏上進行顯示;若無內障礙物體,則跳出檢測;
步驟7,根據(jù)顯示屏上的顯示確定機器人行走避開內、外障礙物體的可行走路線。
[0008]其中,由于深度圖像的分辨率為320*200,并且深度數(shù)據(jù)攝像頭到分辨率最大值是的角度是60度;因此所述三角公式為α=(χ/320)*60,利用y=Z * cos ( a ),y表示以Z為斜邊,x=Z * sin ( α ) ο
[0009]其中,所述深度數(shù)據(jù)攝像頭首次旋轉后剩余的角度可分七次旋轉,如第一次旋轉角度為30度、第二次旋轉角度為60度、第三次旋轉角度為30度、第四次旋轉角度為60度、第五次旋轉角度為30度、第六次旋轉角度為60度和第七次旋轉角度為30度;由于每次旋轉的度數(shù)不同,則可避免采集到重復的圖像。
[0010]其中,所述步驟I之前還有一個步驟0,該步驟O具體為:打開機器人電源,初始化開始,給機器人發(fā)送聲音指令:開始探索。
[0011]其中,所述步驟6的具體步驟為:超聲波測距模塊觸發(fā)后,等待回聲引腳高電平的到來;回聲引腳高電平到來后,開始計時,開啟40ms超時溢出功能;i40mS內有低電平的到來,則檢測結束,并計算出內障礙物體到機器人的距離;g40mS內無低電平則跳出判斷,說明沒有檢測到內障礙物體,機器人體姿0-0.3m以內沒有內障礙物體。
[0012]其中,所述深度數(shù)據(jù)攝像頭的具體工作方法為:通過紅外傳感器投射隨機點陣,然后用帶紅外濾波器的CMOS傳感器來撲捉這些點陣,從而確定深度信息Z。
[0013]為實現(xiàn)上述目的,本發(fā)明提供一種機器人用深度攝像頭與超聲波結合的避障控制系統(tǒng),包括
安設在機器人上且用于判斷機器人體姿0.3-4m內是否有外障礙物體的深度數(shù)據(jù)攝像頭;
安設在機器人上且用于判斷距離機器人體姿0-0.3m內是否有內障礙物體的超聲波測距豐旲塊;
安設在機器人體內其用于對內、外障礙物體的障礙信息進行處理的控制模塊;
用于顯示障礙信息的顯示屏;
所述深度數(shù)據(jù)攝像頭和超聲波測距模塊分別與控制模塊的輸入端電連接,且所述控制模塊的輸出端與顯示屏電連接;所述深度數(shù)據(jù)攝像頭實時拍攝當前體姿0.3-4m、拍攝角度為60度的深度圖像并判定是否有外障礙物體;并由超聲波測距模塊判斷距離機器人體姿0-0.3m以內是否有內障礙物體;
若是遇到外障礙物體,則獲取機器人到外障礙物體的深度信息Z,根據(jù)深度信息Z利用三角公式計算并獲得首次障礙信息的深度圖像的X和y,X表示外障礙物體到機器人原點的距離,y表示外障礙物體的高度;將獲取的首次障礙信息的深度圖像X和I按一定的比例映射到顯不屏的X軸和y軸上并保存在顯不屏中;
然后深度數(shù)據(jù)攝像頭分多次旋轉深度360度中的剩余角度,每旋轉一次深度數(shù)據(jù)攝像頭就根據(jù)上述的三角公式獲取一個新的障礙信息的深度圖像的X和y ;到轉完360度后則將所有外障礙物體的障礙信息顯示在顯示屏上;
將由超聲波測距模塊反饋回來的低電平信號轉化為實際距離數(shù)值并在顯示屏上進行顯不;
根據(jù)顯示屏上的顯示確定機器人行走避開內、外障礙物體的可行走路線。
[0014]其中,所述機器人上還安設有用于偵測聲源并獲取聲音信號的陣列麥克風,所述陣列麥克風與控制模塊的輸入端電連接,所述陣列麥克風偵測到開始探索的指令后,傳輸給控制模塊處理后,機器人開始行走和探索。
[0015]其中,所述超聲波測距模塊包括單片機、定時單元和轉換單元,所述單片機上設有觸發(fā)端和回聲引腳,所述單片機的輸出端與定時單元電連接,所述回聲引腳通過轉換單元與控制模塊電連接;觸發(fā)端觸發(fā)后,回聲引腳得到高電平,定時單元開啟工作后,回聲引腳由高電平轉為低電平,則距離機器人體姿0-0.3m內有內障礙物體,且反饋回來的低電平信號通過轉換單元轉化為實際距離數(shù)值并在顯示屏上進行顯示;若無低電平,則機器人0-0.3m以內沒有內障礙物體。
[0016]其中,所述深度數(shù)據(jù)攝像頭包括用于投射隨機點陣的紅外傳感器和用于撲捉點陣的CMOS傳感器,且所述CMOS傳感器上帶有紅外濾波器;所述紅外傳感器通過紅外濾波器與CMOS傳感器電連接。
[0017]本發(fā)明的有益效果是:與現(xiàn)有技術相比,本發(fā)明提供的機器人用深度攝