在此描述了用于提供光學量程傳感器系統(tǒng)的系統(tǒng)和方法,光學量程傳感器系統(tǒng)用于捕捉供由移動機器人使用的量程數(shù)據(jù)。
背景技術:
許多機器人是機電機器,其由計算機控制。移動機器人具有在它們的環(huán)境中四處運動的能力并且不固定于一個物理地點。今天通常使用的移動機器人的示例是自動導引車或自主導引車(AGV)。AGV通常被認為是這樣的機器人:所述機器人遵循地面中標記物或?qū)Ь€,或者使用用于導航的視覺系統(tǒng)或激光器。移動機器人可以在工業(yè)、軍事和安防環(huán)境中發(fā)現(xiàn)。它們也作為消費者產(chǎn)品出現(xiàn)以用于娛樂或執(zhí)行特定任務,諸如真空清潔和家庭輔助。
為了實現(xiàn)完全自主,移動機器人需要擁有探索其環(huán)境而無需用戶介入的能力。移動機器人依賴于從各種不同傳感器收集的信息以便導航環(huán)境。許多移動機器人依賴于機輪量程計以便獲得量程數(shù)據(jù),所述量程數(shù)據(jù)可以包括有關移動機器人行進的距離的信息。機輪量程計通常測量機輪的累計旋轉(zhuǎn)以確定行進的距離。這樣的量程直接機械接觸方法在這樣的應用中是可靠的:在所述應用中在移動機器人(機輪、踏面等)與表面之間可靠地維持直接的無打滑機械接觸。然而,在移動機器人可能頻繁遭遇的某些類型的表面上維持這一無打滑接觸變得困難,所述某些類型的表面包括厚地毯、光滑表面、臟或沙土環(huán)境等其他相似類型的表面。
技術實現(xiàn)要素:
本發(fā)明提供了一種配置為導航操作環(huán)境的移動機器人,其包括:主體,所述主體包含:驅(qū)動,配置為在運動方向上平移所述機器人;至少一個處理器;包含導航應用程序的存儲器;光學量程傳感器系統(tǒng),定位在所述主體的底面上的凹進結(jié)構(gòu)內(nèi)并且配置為輸出光學量程數(shù)據(jù),其中,所述光學量程傳感器系統(tǒng)包括光學量程相機,所述光學量程相機包括遠心透鏡,所述遠心透鏡配置為捕捉在所述主體之下的跟蹤表面的圖像并且具有提供觀看距離范圍的景深,在所述觀看距離處,從所述凹進結(jié)構(gòu)內(nèi)的第一距離到所述移動機器人主體的底面下方的第二距離焦點對準地捕捉跟蹤表面;以及陀螺儀,配置為輸出陀螺儀測量數(shù)據(jù)。
在若干實施例中,所述導航應用程序引導所述處理器以:致動所述驅(qū)動機構(gòu)并且捕捉:來自所述光學量程傳感器系統(tǒng)的光學量程數(shù)據(jù);以及來自所述陀螺儀傳感器系統(tǒng)的陀螺儀測量數(shù)據(jù);使用所捕捉到的光學量程數(shù)據(jù)來估計行進的距離;使用所述陀螺儀測量數(shù)據(jù)來估計行進的方向;以及使用所估計的行進的距離和行進的方向來更新姿勢估計。
在若干實施例中,所述導航應用程序引導所述處理器以使用所捕捉到的機輪量程數(shù)據(jù)來估計行進的距離。
在多個實施例中,所述導航應用程序引導所述處理器,以將所述姿勢估計與使用由安裝在所述移動機器人的頂表面之下的相機檢測到的成像特征計算的VSLAM姿勢判定進行比較。
在某些實施例中,所述導航應用程序引導所述處理器,以如果所述VLSAM姿勢判定指示所述移動機器人已經(jīng)從航向偏移,則重置所述姿勢估計。
在若干實施例中,所述遠心透鏡具有這樣的景深,在所述景深中,對象在包括與機器人主體的底表面相距在負5至20mm之間的距離的距離處是焦點對準的。
在多個實施例中,所述移動機器人包括設置在所述遠心透鏡周圍并且包括用于照亮所述跟蹤表面的若干LED的多個照明元件。
在某些實施例中,所述若干LED中的每一個定位于相對于所述相機的光軸的銳角處。
在一些實施例中,所述若干LED包括定位于圍繞所述相機的不同位置處的至少四個LED。
在一些實施例中,多對LED定位于相對于所述相機的相對側(cè)。
在一些實施例中,所述多個LED以從所述相機的光軸偏離的螺旋圖案定位。
在若干實施例中,所述驅(qū)動機構(gòu)包括多個機輪,并且所述移動機器人還包括機輪量程傳感器系統(tǒng),所述機輪量程傳感器系統(tǒng)基于所述多個機輪中的每一個的旋轉(zhuǎn)而輸出機輪量程數(shù)據(jù)。
在一些實施例中,所述光學量程傳感器系統(tǒng)還輸出質(zhì)量測量,其中所述質(zhì)量測量指示光學量程數(shù)據(jù)的可靠性;以及所述導航應用程序引導所述處理器,以在質(zhì)量測量滿足閾值時使用所捕捉到的光學量程數(shù)據(jù)來估計行進的距離。
在某些實施例中,所述質(zhì)量測量基于圖像中檢測到的多個有效特征。
本發(fā)明的一些實施例提供了一種配置為導航操作環(huán)境的移動機器人,包括:主體,所述主體包含:驅(qū)動,配置為在運動方向上平移機器人;至少一個處理器;包含導航應用程序的存儲器;光學量程傳感器系統(tǒng),定位在所述主體的底面上的凹進結(jié)構(gòu)內(nèi)并且配置為輸出光學量程數(shù)據(jù),其中,光學量程傳感器系統(tǒng)包括定位于與地表面相距在40至60mm之間的高度處的光學量程相機,光學量程相機包括遠心透鏡,所述遠心透鏡配置為捕捉在所述主體之下的跟蹤表面的圖像并且具有這樣的景深,在所述景深中,對象在包括與機器人主體的底表面相距在負5至20mm之間的距離的距離處是焦點對準的;以及陀螺儀,配置為輸出陀螺儀測量數(shù)據(jù)。
在一些實施例中,凹進結(jié)構(gòu)具有直徑在10mm與40mm之間的開口。
在若干實施例中,主體包括與地表面相距至多110mm的頂表面。
在多個實施例中,光學量程相機的景深與光學量程相機的焦距成比例。
在某些實施例中,光學量程相機的焦距在15至25mm之間。
在一些實施例中,移動機器人還包括設置在遠心透鏡周圍用于照亮跟蹤表面的四個LED。
在某些實施例中,每個LED與垂直方向成10至20度之間的角度。
本發(fā)明的若干實施例提供了一種用于確定移動機器人在環(huán)境內(nèi)的位置的方法,所述方法包括:接收來自機輪量程傳感器系統(tǒng)、光學量程傳感器系統(tǒng)和慣性測量單元(IMU)傳感器系統(tǒng)的傳感器數(shù)據(jù);將來自機輪量程傳感器系統(tǒng)的數(shù)據(jù)與來自IMU傳感器系統(tǒng)的數(shù)據(jù)進行比較;將來自光學量程傳感器系統(tǒng)的數(shù)據(jù)與來自IMU傳感器系統(tǒng)的數(shù)據(jù)進行比較;基于比較來識別可靠的數(shù)據(jù)集;以及基于數(shù)據(jù)集來確定移動機器人的位置。
在一些實施例中,將來自機輪量程傳感器系統(tǒng)的數(shù)據(jù)與IMU傳感器系統(tǒng)進行比較包括:確定接收自機輪量程傳感器系統(tǒng)的數(shù)據(jù)是否與接收自IMU傳感器系統(tǒng)的數(shù)據(jù)沖突。
在某些實施例中,所述方法還包括在接收自機輪量程傳感器系統(tǒng)的數(shù)據(jù)與接收自IMU傳感器系統(tǒng)的數(shù)據(jù)沖突時,將來自機輪量程傳感器系統(tǒng)的數(shù)據(jù)識別為不可靠。
在一些實施例中,所述方法還包括確定來自IMU傳感器系統(tǒng)的數(shù)據(jù)是否指示偏移,并且在所述數(shù)據(jù)指示偏移時將來自機輪量程系統(tǒng)的數(shù)據(jù)識別為不可靠。
在某些實施例中,所述方法還包括確定來自IMU傳感器系統(tǒng)的數(shù)據(jù)是否指示偏移,以及在所述數(shù)據(jù)未指示偏移時,基于來自機輪量程傳感器系統(tǒng)和光學傳感器系統(tǒng)兩者的數(shù)據(jù)來確定移動機器人的位置。
在某些實施例中,將來自光學量程傳感器系統(tǒng)的數(shù)據(jù)與IMU傳感器系統(tǒng)進行比較包括:確定由光學量程傳感器系統(tǒng)提供的數(shù)據(jù)的SQUAL值是否在閾值之上。
在一些實施例中,確定移動機器人的位置包括使用VSLAM傳感器。
附圖說明
圖1是并入光學量程相機的移動機器人的正面透視圖。
圖2A是并入光學量程相機的移動機器人的仰視圖。
圖2B是并入多個光學量程相機的移動機器人的仰視圖。
圖3是并入凹進結(jié)構(gòu)的移動機器人的主體的部分的視圖,所述凹進結(jié)構(gòu)包含光學量程相機。
圖4是包含光學量程相機的凹進結(jié)構(gòu)的橫截面視圖。
圖5概念性地圖示相對于光學量程相機的LED安置。
圖6是包含光學量程相機的凹進結(jié)構(gòu)的橫截面視圖,其圖示了光學量程相機的景深。
圖7是包含光學量程相機的凹進結(jié)構(gòu)的橫截面視圖,其圖示了在移動機器人傾斜時關于特定高度處的平表面的光學量程相機的景深。
圖8是包含光學量程相機的凹進結(jié)構(gòu)的橫截面視圖,其圖示了在地毯絨頭侵入凹進結(jié)構(gòu)內(nèi)的情況下關于地毯表面的光學量程相機的景深。
圖9概念性地圖示了行為控制應用程序由機器人控制器的執(zhí)行。
圖10概念性地圖示了機器人控制器。
圖11是圖示用于使用由不同類型的量程傳感器捕捉的量程數(shù)據(jù)的過程的流程圖。
圖12是圖示用于使用由不同類型的量程傳感器捕捉的量程數(shù)據(jù)的過程的流程圖。
圖13A-13D是圖示在遠心透鏡周圍的LED配置的實施方式的示意圖。
具體實施方式
現(xiàn)轉(zhuǎn)到附圖,圖示了用于使用包含在移動機器人100的凹進結(jié)構(gòu)210內(nèi)的光學量程傳感器系統(tǒng)205來獲得量程數(shù)據(jù)的系統(tǒng)和方法。移動機器人100可以利用光學量程傳感器系統(tǒng)205來執(zhí)行航位推算。航位推算是涉及基于先前確定的有關移動機器人100的運動的位置和信息來計算移動機器人的當前位置的過程。移動機器人100可以使用光學量程傳感器系統(tǒng)205來獲得量程數(shù)據(jù),所述量程數(shù)據(jù)可以包括用于航位推算的不同類型的信息,包括(但不限于)行進距離、行進的方向、速度和/或加速度。光學量程傳感器系統(tǒng)205可以可選地包括一個或多個光學量程相機440(即,鼠標相機),一個或多個光學量程相機440捕捉移動機器人100在其上橫越的表面的圖像。在本發(fā)明的另一可選方面中,光學量程傳感器系統(tǒng)205包括一個或多個照明源,其照亮光學量程相機440可見的跟蹤表面。在本發(fā)明的進一步可選方面中,光學量程相機440可以以高于每秒一千幀的幀率操作,捕捉跟蹤表面的微小補丁的圖像。光學量程傳感器系統(tǒng)205連續(xù)地將由光學量程相機440捕捉的每個圖像與它之前的一個圖像進行比較,并且基于所觀察到的光流來估計移動機器人100的相對運動。
為了捕捉表面的圖像,一個或多個光學量程相機440可以位于移動機器人主體108的底面上,并且朝向移動機器人100下方的地表面瞄準。在通常應用中使用的光學量程傳感器(諸如在光學計算機鼠標中使用的光學量程系統(tǒng))通常假定光學量程相機440位于與跟蹤表面相距固定距離處,并且利用具有淺景深的光學量程相機440。在許多應用中,移動機器人100配置為在各種不同表面上導航,并且跟蹤表面保持在與光學量程相機440相距固定距離的假定是無效的。隨著移動機器人100在不同表面類型之間導航過渡,移動機器人主體108可能傾斜,從而增加光學量程相機440與跟蹤表面之間的距離。在移動機器人100在不平坦的表面上導航時也是如此。在移動機器人100跨諸如(但不限于)長絨地毯絨頭的可壓縮表面導航時,移動機器人100的機輪可能陷入可壓縮表面中并且減小光學量程相機440與跟蹤表面之間的距離。此外,移動機器人100的底面與諸如地毯絨頭的可壓縮表面之間的距離可以連續(xù)改變,其中地毯纖維通常相比于平地面更接近相機。因此,移動機器人100的主體108可以可選地包括在移動機器人主體108的底面中的凹進結(jié)構(gòu),所述凹進結(jié)構(gòu)包含光學量程相機440和相關聯(lián)的照明源。使光學量程相機440凹進使得能夠使用具有較寬景深的光學量程相機440,這使得光學量程相機能夠焦點對準地捕捉與光學量程相機440相距相對寬的距離范圍處的跟蹤表面的圖像,該距離范圍涵蓋在特定應用中移動機器人100的操作期間可能遭遇到跟蹤表面的距離范圍。相機配置的景深規(guī)定了仍然焦點對準時或者在可接受失焦范圍內(nèi)時可以捕捉的圖像之間的距離范圍。位于該可接受的范圍以外的對象對于用在計算量程數(shù)據(jù)中可能不是有用的。具體地,在圖像超出可接受的聚焦范圍時,光學量程傳感器系統(tǒng)205可能不能檢測圖像之間的可跟蹤特征的位移。在一個可選配置中,光學量程相機440的景深橫跨一距離范圍,所述距離范圍包括其中跟蹤表面的至少一部分延伸到包含光學量程相機440的凹進結(jié)構(gòu)內(nèi)的距離。
在若干應用中,移動機器人100配置為室內(nèi)清潔機器人100,其具有與地表面相距不大于4英寸(或大約110mm)的頂表面并且具有在地表面之上不大于大約半英寸(或大約10mm)的底表面107。機器人100的底表面107或底面位于相對接近移動機器人所倚靠的地表面。在這一配置中,移動機器人100可以使用具有遠心透鏡442的凹進光學量程相機440來配置,遠心透鏡442具有范圍從與相機相距從大致20毫米到40毫米的景深。這一距離范圍允許針對在類似于硬木地面的高度(例如,大致在相機下方20-30mm)處的表面以及在地毯的高度(例如,大致在相機下方5-20mm)處的表面捕捉焦點對準圖像。光學量程相機440的景深也可以接納光學量程相機440與地表面或跟蹤表面之間的距離增加,所述距離增加歸因于地表面的不平坦和/或移動機器人100在不同高度處的表面之間橫越過渡。
在移動機器人100的某些可選配置中,光學量程相機440使用遠心透鏡442來捕捉跟蹤表面的圖像。遠心透鏡的典型通過獨立于距離而提供對象的恒定放大來表征。遠心透鏡的使用使得光學量程傳感器系統(tǒng)205能夠以獨立于跟蹤表面與光學量程相機440的距離的方式,精確地確定跟蹤表面上的特征的光流。通過提供具有寬景深的遠心透鏡442,移動機器人100能夠精確地確定來自與移動機器人100相距各種深度的跟蹤表面的光流,而不必確定到跟蹤表面的距離。
在許多應用中,移動機器人100主要依賴于光學量程傳感器系統(tǒng)205來捕捉量程數(shù)據(jù),但是在出于包括(但不限于)噪聲和/或缺少跟蹤表面上的可跟蹤特征的原因,所獲得的光學量程數(shù)據(jù)低于某個精度閾值水平時,移動機器人可以使用由其他類型的量程傳感器捕捉的量程數(shù)據(jù)。在移動機器人100確定量程數(shù)據(jù)低于最小可靠性水平時(例如,基于最小SQUAL值和/或與IMU值沖突),移動機器人可以可選地配置為依賴于由另一傳感器(諸如機輪量程傳感器系統(tǒng))以高頻率采樣而捕捉的量程數(shù)據(jù)。機輪量程傳感器系統(tǒng)可以通過分析移動機器人100的機輪的旋轉(zhuǎn)來捕捉量程數(shù)據(jù)。在另一可選配置中,移動機器人100可以將由光學量程系統(tǒng)和/或機輪量程傳感器系統(tǒng)提供的量程數(shù)據(jù)與由慣性測量單元(IMU)捕捉的加速度計和陀螺儀數(shù)據(jù)進行比較,以再次確認量程數(shù)據(jù)的精度,例如在鼠標傳感器未看到移動時確認IMU感測到機器人100未在移動。通過比較由不同類型的傳感器裝置捕捉的量程數(shù)據(jù),移動機器人100可以基于來自不同裝置的數(shù)據(jù)的相似性來增加(或減?。┫鄬τ诠鈱W量程數(shù)據(jù)的精度的置信水平。在實施方式中,移動機器人100采用高頻率傳感器讀數(shù)來確定局部位置(例如,機輪量程和IMU和/或可選量程和IMU),并且使用由具有針對靜止地標的特定區(qū)瞄準的視場的成像傳感器捕捉的更慢地采樣的VSLAM定位數(shù)據(jù)來做出在環(huán)境內(nèi)的機器人姿勢的全局判定。
通過以全局傳感器讀數(shù)補充高頻率量程數(shù)據(jù),機器人100確定全局坐標系統(tǒng)和/或環(huán)境的持續(xù)地圖內(nèi)的準確姿勢,并且如果在姿勢判定中存在矛盾則忽略、調(diào)整和/或重置高頻率局部位置數(shù)據(jù)。某些傳感器可以在某些環(huán)境中以更好精度執(zhí)行,而在其他環(huán)境中以欠準確地執(zhí)行。例如,光學量程傳感器系統(tǒng)205在包含諸如木頭顆粒的許多可跟蹤特征的地表面上行進時提供準確數(shù)據(jù),但可能在幾乎沒有可跟蹤特征的平滑的瓷磚地面上行進時失去精度。同樣,機輪量程計可以在驅(qū)動機輪220具有良好附著摩擦力的諸如固體地面的地表面上提供準確讀數(shù),并且在厚地毯地面上進行時提供欠準確讀數(shù),這是因為在機器人100遭遇到摩擦阻力和/或地毯隨著地毯絨毛引導機輪離開直航向而偏移時機輪可能經(jīng)歷更大量的打滑。
在多個實施方式中,機器人100包括IMU,諸如將3軸加速度計與3軸陀螺儀(后文稱為“gyro”)組合的六軸IMU。通過將頻繁采樣的機輪量程和鼠標量程數(shù)據(jù)與IMU數(shù)據(jù)進行比較,機器人100確定機輪量程計和鼠標傳感器是否正確地報告運動。例如,如果機器人100在具有太少的用于光學傳感器跟蹤并且使用來準確地檢測運動的特征的平滑表面上行進,移動機器人100將忽略光學傳感器數(shù)據(jù)并且默認其他傳感器讀數(shù)中的一個或多個,以在環(huán)境中定位機器人100。
具有光學量程傳感器系統(tǒng)的移動機器人
如上所指出的,移動機器人100并入包括光學量程相機440的光學量程傳感器系統(tǒng)205,光學量程相機440用于收集可以用在移動機器人穿過環(huán)境的導航中的量程數(shù)據(jù)。圖1-2中圖示移動機器人100。具體地,圖1圖示移動機器人100的正面透視圖,并且圖2圖示移動機器人100的仰視圖,在該仰視圖中包含光學量程傳感器系統(tǒng)205的凹進結(jié)構(gòu)210是可見的。
在圖1中圖示的移動機器人100配置中,移動機器人100包括主體108,主體108由可以跨地表面操縱機器人100的驅(qū)動(位于主體108之下并且因此在本圖示中不可見)支持。在若干實施例中,移動機器人100配置為基于驅(qū)動命令來致動其驅(qū)動。在一些實施例中,驅(qū)動命令可以具有x、y和θ分量,并且命令可以由控制器電路發(fā)出。移動機器人主體108可以具有與主體108的前半部分對應的前向部分105以及與主體108的后半部分對應的后向部分110。在所圖示配置中,驅(qū)動系統(tǒng)包括可以向控制器電路提供量程的右和左驅(qū)動機輪模塊220。在所圖示實施例中,機輪模塊220沿著由主體108限定的橫向軸基本上相對,并且包括驅(qū)動各自機輪的各自驅(qū)動電機。驅(qū)動電機可以可釋放地連接至主體108(例如,經(jīng)由緊固件或無工具連接),其中驅(qū)動電機可選地基本上定位于各自機輪之上。機輪模塊220可以可釋放地附接于底盤并且通過彈簧強迫與清潔表面咬合。移動機器人可以包括設置為支持移動機器人主體108的一部分(在此是圓形主體108的前向部分)的腳輪機輪(未圖示)。在具有懸臂清潔頭的其他實施方式(諸如正方形前部或墓碑形機器人主體108)中,腳輪機輪設置在機器人主體108的后向部分中。移動機器人主體108支持用于向移動機器人的任何電部件供電的電源(例如電池)。雖然以上參照圖1描述了特定驅(qū)動機構(gòu),但移動機器人可以利用適合特定應用的要求的各種可選驅(qū)動機構(gòu)中的任一個。
在許多實施例中,主體108的前向部分105承載緩沖器115,緩沖器115可以被利用來檢測(例如,經(jīng)由一個或多個傳感器)事件,包括(但不限于)移動機器人的驅(qū)動路徑中的障礙物。取決于移動機器人的行為編程,控制器電路可以通過響應于事件來控制機輪模塊220以操縱機器人100(例如避開障礙物),來響應于由緩沖器檢測到的事件(例如,障礙物、懸崖、墻壁)。
如所圖示的,用戶接口130設置在主體108的頂部上,并且可以用于接收一個或多個用戶命令和/或顯示移動機器人100的狀態(tài)。用戶接口130與由移動機器人100承載的機器人控制器電路通信,使得由用戶接口接收的一個或多個命令可以發(fā)起移動機器人100執(zhí)行清潔例程。
移動機器人100也可以包括嵌入在移動機器人100的頂蓋內(nèi)的機器視覺系統(tǒng)120。機器視覺系統(tǒng)120可以包括捕捉周圍環(huán)境的圖像的一個或多個相機(例如,標準相機、體積點云成像相機、三維(3D)成像相機、具有深度地圖傳感器的相機、可見光相機和/或紅外相機)。在一些實施例中,相機120定位為其光軸與機器人100的頂表面成銳角,并且相機120具有在移動機器人100的方向運動上取向的視場。在這些實施例中,相機的透鏡與向上方向成一角度,使得其主要捕捉在典型室內(nèi)環(huán)境中圍繞移動機器人的墻壁和天花板的圖像。例如,在具有與地表面相距不大于4英寸的頂表面的機器人100的實施方式中,安裝在機器人100的頂表面下方的相機將檢測在總體3-14英尺高度處的環(huán)境中的特征,所述相機具有橫跨垂直方向上大致50度的平截頭體的視場以及在水平線之上成大致30度角的光軸。例如,具有這些相機設定的這些尺度的機器人將看到3英尺距離處的大致6英寸至4.5英尺高度處的對象、5英尺距離處的大致9英寸至7.5英尺高度處的對象、以及10英尺距離處的大致1.2英尺至14英尺高度處的對象。通過將相機120聚焦在其中特征(諸如在門框、相框和其他靜止家具和對象周圍成像的那些特征)未在改變的區(qū)域上,機器人100可以重復地識別可靠的地標,從而在環(huán)境中準確地定位和繪地圖。
由機器視覺系統(tǒng)120捕捉的圖像可以由VSLAM過程使用,以便做出有關基于移動機器人的操作環(huán)境采取的動作的智能決定。雖然機器視覺系統(tǒng)120在此描述為嵌入在移動機器人的頂部,然而相機120可以附加地或替代地布置在移動機器人上各種不同位置的任一處,包括在前緩沖器、底表面上和/或沿著移動機器人的周沿的位置處。
除了機器視覺系統(tǒng)120以外,移動機器人100還可以可選地包括各種傳感器系統(tǒng)以便實現(xiàn)可靠和魯棒的自主運動。附加的傳感器系統(tǒng)可以彼此結(jié)合使用,以創(chuàng)造足以允許移動機器人100做出有關在環(huán)境中采取的動作的智能決定的移動機器人對該環(huán)境的感知。如上所指出的,包括在移動機器人上的傳感器系統(tǒng)的其中之一是捕捉量程數(shù)據(jù)的光學量程傳感器系統(tǒng)205。在一些實施例中,光學量程傳感器包括一個或多個光學量程相機440,一個或多個光學量程相機440定位于移動機器人主體108的下方以捕捉移動機器人在其上行進的跟蹤表面的圖像。每個光學量程傳感器系統(tǒng)205包括定位為使得其直接指向移動機器人下方的跟蹤表面的相機。
在所圖示配置中,光學量程相機440定位于凹進結(jié)構(gòu)210內(nèi)與跟蹤表面相距大致40-60mm(例如45mm、50mm、60mm)的高度處。光學量程相機440包括遠心透鏡,所述遠心透鏡配置為在與相機相距橫跨大致負5至正15mm的焦距、或者大致總共20mm的距離范圍處捕捉圖像。光學量程相機440的景深與焦距成比例。使用由相機捕捉的跟蹤表面的焦點對準圖像以及可接受模糊圖像,光學量程傳感器系統(tǒng)205可以通過基于圖像被捕捉的時間分析圖像的光流,來計算移動機器人100行進的距離。量程數(shù)據(jù)可以用在各種導航過程中的任一個中,包括(但不限于)VSLAM過程。
移動機器人100也可以使用各種其他類型的傳感器來捕捉運動信息,所述傳感器除了其他能夠提供有關移動機器人在環(huán)境內(nèi)運動的信息的傳感器之外,還包括機輪量程傳感器、陀螺儀、加速度計、全球定位系統(tǒng)(GPS)、指南針。由不同運動傳感器提供的運動信息可以包括新類型的信息(例如,移動機器人的運動方向、取向、加速度、GPS坐標等)和/或通過不同機構(gòu)捕捉的相同類型的信息(例如,機輪和光學量程計可以均提供有關行進的距離的信息)。
此外,各種傳感器系統(tǒng)也可以包括由機器人主體108支持的一個或多個類型的傳感器,包括但不限于:障礙物檢測障礙物避免(ODOA)傳感器、通信傳感器、導航傳感器、測距傳感器、接近傳感器、接觸傳感器、雷達、LIDAR(光檢測和測距,其可以實現(xiàn)測量散射光的屬性以找出遠距離目標的范圍和/或其他信息的光學遙感)和/或LADAR(激光檢測和測距)。在移動機器人的一些可選配置中,傳感器系統(tǒng)包括測距聲納傳感器、接近懸崖檢測器、接觸傳感器、激光掃描儀和/或成像聲納。
在將傳感器安置在機器人平臺上時涉及有若干挑戰(zhàn)。首先,傳感器通常安置為使得它們具有在移動機器人周圍的感興趣區(qū)域的最大覆蓋。其次,傳感器通常以機器人本身對傳感器造成絕對最小阻擋的這樣的方式來安置;本質(zhì)上,傳感器不應安置為使得它們被機器人本身遮蔽。因此,傳感器應該以不干擾正常機器人操作(例如,受障礙物阻礙)的方式安裝。關于光學量程傳感器系統(tǒng)的具體安置,移動機器人100可以配置為使得光學量程傳感器系統(tǒng)205位于形成在移動機器人主體108的底面內(nèi)的凹進結(jié)構(gòu)210內(nèi)。通過使用凹進結(jié)構(gòu),光學量程相機440能夠(1)捕捉移動機器人下方的表面的圖像,(2)避免與可能損壞相機的對象接觸,以及(3)具有能夠在各種不同距離處捕捉焦點對準圖像的光學系統(tǒng)。
圖2A-2B中圖示根據(jù)本發(fā)明實施例的一個或多個光學量程傳感器系統(tǒng)相對于移動機器人100的底面的安置。圖2A圖示凹進結(jié)構(gòu)210,凹進結(jié)構(gòu)210包含定位在圓形移動機器人主體108底面的右前區(qū)中的光學量程傳感器系統(tǒng)205。圖2A還圖示可以可選地包括在移動機器人100上的各種其他部件,包括右和左機輪模塊220、邊刷230和清潔組件240。
圖2B圖示位于移動機器人100底面的相對側(cè)的兩個光學量程傳感器系統(tǒng)205、250。利用兩個或更多個光學量程傳感器系統(tǒng)來配置移動機器人100可以增加量程數(shù)據(jù)的精度。使用兩個光學量程傳感器系統(tǒng)205、250允許交叉檢查由每個個體光學量程傳感器系統(tǒng)生成的量程數(shù)據(jù)。此外,如果光學量程傳感器系統(tǒng)205、250的其中之一未正確起作用,移動機器人100可以依賴另一個光學量程傳感器系統(tǒng)205、250以收集量程數(shù)據(jù)。
圖3更詳細地圖示包含光學量程傳感器系統(tǒng)的凹進結(jié)構(gòu)210。如所圖示,光學量程相機440定位于移動機器人主體的底面中的圓形凹進結(jié)構(gòu)210內(nèi)。凹進結(jié)構(gòu)210可以具有大到足以使人類手指能夠伸進其中以去除異物或碎片(FOD)的直徑211。在一些實施方式中,凹進結(jié)構(gòu)210的直徑在0.5與1.5英寸之間(例如,0.5至1英寸、0.75至1.5英寸、0.5至0.75英寸、0.75至1英寸)。光學量程相機440的光軸向外指向,使得相機可以在移動機器人100沿著跟蹤表面運動時捕捉跟蹤表面的圖像。
光學量程傳感器系統(tǒng)結(jié)構(gòu)
如上所述,光學量程傳感器系統(tǒng)可以包括光學量程相機440,其捕捉表面的圖像并且使用這些圖像來計算量程數(shù)據(jù)。光學量程相機440可以以超過每秒一千幀的幀率運行,從而捕捉跟蹤表面的微小補丁的圖像。在諸如圖13D圖示的實施方式中,圖像補丁1330大致為1mm×1mm(例如,0.5mm×0.5mm、0.5mm×0.75mm、0.5mm×1mm、0.75mm×1mm、1.5mm×1.5mm)。光學量程傳感器系統(tǒng)205連續(xù)地將由光學量程相機440捕捉的每個圖像中的可跟蹤特征的位移與它之前的一個圖像進行比較,從而使用光流來估計移動機器人的相對運動。為了光學量程相機440捕捉焦點對準圖像以供在確定光流中使用,跟蹤表面必須位于與相機相距保持在光學量程相機440的光軸的景深內(nèi)的可接受變焦范圍內(nèi)的距離。例如,可接受的變焦范圍是包括延伸到凹進結(jié)構(gòu)210中的地毯以及具有峰和谷的瓷磚(諸如石板)的變焦范圍。在實施方式中,圖像補丁1330是22像素×22像素,并且光學量程相機440的可接受景深通過使圖像補丁1330模糊直到一個像素滲透到相鄰像素中為止來確定??山邮艿哪:靠梢允抢缭趫D像補丁1330中的像素之間沒有滲透或者圖像補丁1330內(nèi)高至兩個相鄰像素的滲透的情況下,模糊像素的景深。
在一個可選配置中,光學量程相機440配置有相對寬的景深,使得其能夠捕捉定位于與光學量程相機440相距各種距離處的跟蹤表面的焦點對準和/或可接受的模糊圖像。在另一可選配置中,移動機器人可以使用移動機器人主體108下方的凹進結(jié)構(gòu),以允許使用具有寬景深的光學量程相機440。圖4中圖示了可以用于容納凹進的光學量程系統(tǒng)的凹進結(jié)構(gòu)210的示例。
圖4概念性地圖示移動機器人100的可選配置的橫截面視圖,其中光學量程相機440安裝在移動機器人主體108內(nèi)的凹進結(jié)構(gòu)210內(nèi)。如所圖示,光學量程相機440包含在移動機器人主體108下方的凹進結(jié)構(gòu)內(nèi)。凹進結(jié)構(gòu)210包括開口410。光學量程相機440的傳感器430和光學元件440位于凹進結(jié)構(gòu)210內(nèi),以通過凹進結(jié)構(gòu)中的開口410捕捉圖像。凹進結(jié)構(gòu)210可以可選地配置為在相機440的光學元件與開口410之間形成腔室。如以下進一步討論的,某些表面(諸如(但不限于)地毯)可能侵入到腔室內(nèi)。如以下討論的,移動機器人100可以可選地配置有光學量程相機440,其具有在包括凹進結(jié)構(gòu)210內(nèi)的距離以及超過凹進結(jié)構(gòu)210的開口410的距離的距離范圍上延伸的景深。凹進結(jié)構(gòu)210的全部表面是失焦的,使得相機440將那些表面上收集的任意灰塵成像到傳感器430。在一個可選配置中,凹進結(jié)構(gòu)210具有大到足以使人類手指伸進其中以去除異物或碎片(FOD)的直徑211。在一些實施方式中,凹進結(jié)構(gòu)210的直徑211在0.5與1.5英寸之間或者大致10mm至40mm(例如,0.5至1英寸、0.75至1.5英寸、0.5至0.75英寸、0.75至1英寸)。
移動機器人100的許多實施例使用凹進結(jié)構(gòu),以將光學量程相機440安置顯著在跟蹤表面之上以便在移動機器人100行進穿過環(huán)境時消除對象損壞相機(包括相機440的透鏡蓋441)的可能性。如可以容易意識到的,將光學量程相機440定位在可能避免接觸跟蹤表面和/或位于跟蹤表面上的對象的高度處可以顯著地減小對于光學量程相機440的損壞的可能性。
此外,在實施方式中,凹進結(jié)構(gòu)210的開口410與機器人100的底表面對準并且與機器人100下方的地表面相距大致10mm。凹進結(jié)構(gòu)210接納光學量程相機440,光學量程相機440具有大致15-25mm焦距(例如,17mm、18mm、19mm、20mm)、針孔口徑以及40-60mm的景深(例如,45mm、50mm、55mm)。在實施方式中,光學量程相機440因此配置為收集來自定位于例如負5mm至15mm的可接受變焦范圍、例如總共20mm變焦范圍內(nèi)移動機器人下方各種不同距離處的表面的量程數(shù)據(jù)。在示例中,光學量程相機440定位于在凹進結(jié)構(gòu)內(nèi)與機器人的底部相距大致40-60mm(例如45mm、50m、55mm)距離處,以便獲得用于負5mm至15mm的變焦范圍的必要景深。具體地,相機配置提供捕捉硬地表面(例如硬木地面)以及接近地表面(例如長絨毛地毯)的焦點對準圖像的景深,這些表面可能在與相機相距的距離方面大致變化20-25mm。
在一些實施方式中,光學量程相機440使用遠心透鏡442,其允許光學量程傳感器系統(tǒng)205獨立地根據(jù)對象在相機440的視場內(nèi)的深度來確定它們的精確尺寸。遠心透鏡具有獨立于對象距離的對象的恒定放大率。通過利用具有恒定放大率的光學量程相機440,光學量程傳感器系統(tǒng)205可以根據(jù)光流來確定運動的量值而不必確定至跟蹤表面的距離,以便縮放光流的量值。
光學量程傳感器系統(tǒng)可以使用LED或激光器來照亮由光學量程相機440成像的跟蹤表面。通過將光學量程相機440定位在凹進結(jié)構(gòu)內(nèi),許多實施例也能夠指定提供跟蹤表面的均勻照明的LED設計。以下討論可以被利用來照亮跟蹤表面的各種可選的LED配置。
并入多個LED的光學量程傳感器系統(tǒng)
許多光學量程傳感器系統(tǒng)使用單個LED來照亮跟蹤表面。然而,通過使用僅僅一個LED,表面的照明常常是不均勻的,而是可能基于被照亮表面的輪廓而包含陰影。例如,如果地毯被一個LED照亮,則基于LED相對于特定股被照亮的地毯的位置,陰影可能是可見的。被更加均勻地照亮的圖像可以提供更加精確的量程數(shù)據(jù)。
轉(zhuǎn)到圖4和5,為了提供跟蹤表面的均勻照明,在實施方式中,光學量程傳感器系統(tǒng)205包括由定位在相機透鏡442周圍的至少兩個LED圍繞的光學量程相機440。圖5中圖示具有定位為圍繞相機透鏡442的四個LED的光學量程相機440的示例。具體地,圖5圖示包括定位在系統(tǒng)的光學量程相機透鏡442周圍的四個LED 510的光學量程相機440。通過使用四個LED 510,表面520的圖像可以利用更均勻的光量來捕捉,更均勻的光量減少了在所捕捉的圖像中可能可見的陰影。附加地,通過重疊四個小LED 510的發(fā)射中的一些或全部,圖4和5的配置提供了充分組合的照明以對地面成像。此外,表面的更多的紋理和可跟蹤特征現(xiàn)在可以變得在所捕捉的圖像中可見,以供在確定光流中使用。在許多實施例中,每個LED 510成一角度以增加跟蹤表面的照明的均勻性。在一些實施例中,每個LED 510與垂直方向成大致10-20度(例如,12度、15度、17度)的角度,以提供基于保持相機的凹進結(jié)構(gòu)410的表面的最優(yōu)照明(例如,地表面520上的可跟蹤特征的照明而沒有陰影)。在一些實施方式中,為了組合照明,LED的發(fā)射錐體511在表面上重疊,并且在其他實施方式中,發(fā)射錐體未會聚。
如圖13A-13B所圖示,在一個示例中,四個LED 1310、1315、1320、1325成一角度,使得它們的發(fā)射會聚在光學量程相機440的遠心透鏡的光軸上、處于視場中中間距離d2處。在這一中間距離d2處,來自四個LED 1310、1315、1320、1325的照明以圓形重疊,并且可使用的圖像補丁1330被限制在會聚圓形內(nèi)的區(qū)域,這是因為亮度在被照亮的圓形的外邊緣處下降,這可能使被照亮區(qū)域的僅僅一部分對于跟蹤有用。在圖13C和13D的實施方式中,四個LED 1310、1315、1320、1325的每一個被瞄準,使得它們的發(fā)射從遠心光學量程相機透鏡442的光軸1305偏離。來自四個LED 1310、1315、1320、1325的發(fā)射因此未會聚于單個圓形處。相反,如圖13D所指示,每個發(fā)射與其他兩個發(fā)射在重疊補丁1335a-1335d處重疊,使得由四個LED 1310、1315、1320、1325照亮的可跟蹤區(qū)域大于完全會聚的實施方式。這一螺旋照明圖案提供較小的亮度下降區(qū)域以及較大的被照亮會聚區(qū)域,用于檢測圖像補丁內(nèi)的可跟蹤特征。更關鍵地,圖13C-D的螺旋照明圖案提供了相機400下方表面的均勻照明,而沒有將充滿相機并且毀掉成像區(qū)域的剩余部分的任何亮斑。圖13C-D的螺旋圖案因此提供了比全部四個光發(fā)射重疊在一個位置中少的照明。通過在任意一個區(qū)域中重疊來自兩個LED的不多于兩個的光發(fā)射,相機440下方表面上的照明被維持在將占據(jù)圖像并且毀掉強亮斑周圍的原本可感知細節(jié)的亮度閾值水平之下的光強度。
供不同表面使用的光學量程傳感器系統(tǒng)
在移動機器人跨可能處于移動機器人的底面下方的不同距離處的不同類型表面行進時,可以捕捉在距離范圍內(nèi)焦點對準的圖像的光學量程相機440可以特別有用。圖6-8概念性地圖示了具有寬景深的光學量程相機440可以在移動機器人100配置為在地表面上方大致10mm處行駛的房屋清潔機器人時,尤其可能遭遇到的真實世界狀況的范圍中捕捉精確光學量程數(shù)據(jù)的方式。
圖6概念性地圖示使用光線620的、圖4中所圖示的光學量程相機440的景深601。景深601從在具有遠心透鏡442的光學量程相機440前方的凹進結(jié)構(gòu)210形成的腔室內(nèi)的第一距離630延伸到超過凹進結(jié)構(gòu)210的開口410的第二距離640。因此,定位于這一范圍內(nèi)的表面通常將由光學量程相機440焦點對準地捕捉并且因此可以用于探明光學量程數(shù)據(jù)。圖7和圖8中概念性地圖示位于與光學量程系統(tǒng)相距不同距離處的不同類型表面的示例。
圖7概念性地圖示了跨硬表面(諸如硬木地面或瓷磚地面)行進的移動機器人100。此外,移動機器人100相對于地面傾斜。移動機器人100可能出于各種原因中的任一種而傾斜,所述原因包括(但不限于)在地面不平坦時在對象上行進,和/或橫越不同高度處的地表面之間的過渡。即使在移動機器人100傾斜時導致的移動機器人與跟蹤表面之間的距離增加的情況下,光學量程相機440的景深601也足夠大,以便繼續(xù)捕捉通過包含光學量程傳感器系統(tǒng)的凹進結(jié)構(gòu)210中的開口410可見的跟蹤表面的部分的焦點對準圖像和/或可接受失焦圖像。
圖8概念性地圖示了在地毯表面上行進的移動機器人100。地毯纖維810通過開口410侵入到凹進結(jié)構(gòu)210中,如地毯的高度超過移動機器人的底面與機輪底部之間的距離時將出現(xiàn)的。即使在光學量程相機440與跟蹤表面之間的距離減小的情況下,光學量程相機440的景深601也足夠大,以便使得能夠捕捉地毯的焦點對準和可接受的模糊圖像。因此,通過使用特定的光學量程相機440配置,光學量程傳感器系統(tǒng)205能夠針對可能位于移動機器人下方不同距離處的各種不同類型表面捕捉量程數(shù)據(jù)。以下進一步討論根據(jù)本發(fā)明各種實施例的機器人控制器配置的移動機器人的概念性操作。
移動機器人行為控制系統(tǒng)
移動機器人100可以可選地使用行為控制應用程序來配置,行為控制應用程序基于移動機器人100的周圍環(huán)境和/或狀態(tài)來確定移動機器人的行為。在一個可選配置中,移動機器人可以包括由特定傳感器輸入激活的一個或多個行為,并且仲裁器確定哪個行為應該被激活。在另一可選配置中,傳感器輸入可以包括移動機器人100周圍的環(huán)境的圖像,并且可以響應于根據(jù)一個或多個所捕捉到的圖像探明的環(huán)境的特性而激活行為。
圖9中概念性地圖示移動機器人100的可選配置,其中行為控制應用程序基于(但不限于)VSLAM過程而使能環(huán)境內(nèi)的導航。移動機器人100行為控制應用程序910可以接收來自一個或多個傳感器的有關其周圍環(huán)境的信息,所述一個或多個傳感器包括機輪量程傳感器920、光學量程傳感器系統(tǒng)921、陀螺儀922以及機器視覺系統(tǒng)923。雖然未圖示,一個或多個其他傳感器(例如,碰撞、接近、墻壁、停滯和/或懸崖傳感器)可以由移動機器人100承載。機輪量程傳感器920基于移動100的機輪的旋轉(zhuǎn)來捕捉量程數(shù)據(jù)。這一量程數(shù)據(jù)的精度可以基于移動機器人100在其上橫越的特定類型的表面而變化。例如,在厚地毯表面中,機輪可能打滑,從而減少量程數(shù)據(jù)的精度。
如以上詳細討論的,在移動機器人100跨環(huán)境的表面橫越時,光學量程傳感器系統(tǒng)921使用由相機440捕捉的圖像來搜集量程數(shù)據(jù)。由光學量程相機440捕捉的量程數(shù)據(jù)可以包括有關移動機器人100行進的平移距離和方向的信息。然而,在一些配置中,這一量程數(shù)據(jù)可以不包括有關移動機器人100的運動方向的信息。運動方向信息可以從若干不同類型的傳感器來搜集,包括陀螺儀、指南針、加速度計以及能夠提供這一信息的各種其他傳感器。
陀螺儀傳感器922在移動機器人100行進穿過環(huán)境時捕捉移動機器人100的取向數(shù)據(jù)。從各種傳感器920-923捕捉的數(shù)據(jù)可以組合,以便探明有關移動機器人100的運動和姿勢的各種信息。
移動機器人行為控制應用程序910可以響應于接收自傳感器960的信息而控制機器人資源925(例如,機輪模塊220)的利用,從而使移動機器人100致動行為,所述行為可以基于周圍環(huán)境。所編程的行為930可以包括可以用于致動移動機器人100的不同行為的各種模塊。具體地,所編程的行為730可以包括VSLAM模塊940和相應的VSLAM數(shù)據(jù)庫944、導航模塊942以及多個附加行為模塊943。移動機器人行為控制應用程序910可以使用與存儲器通信的一個或多個處理器來實施,所述存儲器包含配置(多個)處理器以實施所編程的行為系統(tǒng)930和控制仲裁器950的非暫時性機器可讀指令。
在所圖示配置中,VSLAM模塊940管理移動機器人100在其中操作的環(huán)境的地圖繪制以及移動機器人相對于該地圖繪制的定位。VSLAM模塊940可以將有關環(huán)境的地圖繪制的數(shù)據(jù)存儲在VSLAM數(shù)據(jù)庫944中。數(shù)據(jù)可以包括:環(huán)境的地圖,以及包括例如包含障礙物的區(qū)、包含可橫越地面的其他區(qū)、已經(jīng)橫越了的區(qū)、還未橫越的區(qū)的不同地圖區(qū)的特性,描述特定區(qū)的信息的日期和時間,和/或可以適合特定應用的要求的附加信息。在許多實例中,VSLAM數(shù)據(jù)庫還包括有關環(huán)境的邊界的信息,包括樓梯、墻壁和/或門的位置。如可以容易意識到的,根據(jù)本發(fā)明實施例,許多其他類型的數(shù)據(jù)可以被存儲并且由VSLAM模塊940利用,以便如適合特定應用的要求那樣對移動機器人100的操作環(huán)境繪制地圖。
在若干實施例中,導航模塊942致動移動機器人100用于基于環(huán)境的特性而導航穿過環(huán)境的方式。導航模塊942可以引導移動機器人100改變方向、以某個速度驅(qū)動、以某種方式驅(qū)動(例如,用于擦洗地面的擺動方式、用于清潔側(cè)墻的推抵墻壁方式等)、導航到家庭充電站以及各種其他行為。
其他行為943也可以被指定用于控制移動機器人的行為。此外,為了使行為940-943更加有力,有可能將多個行為的輸出一起鏈接到另一行為模塊的輸入以提供復雜的組合功能。行為940-943旨在實施移動機器人的總體認知的可管理部分,并且如可以容易意識到的,移動機器人可以并入適合特定應用的要求的各種行為中的任一個。
再次參照圖9,控制仲裁器950促進允許所編程的行為930的模塊940-943各自地控制移動機器人100,而無需知道任意其他行為。換言之,控制仲裁器950在移動機器人100的所編程行為930與資源925之間提供簡單的優(yōu)先級化的控制機制。控制仲裁器950可以在運行時間時訪問所編程行為930的行為940-943并且控制行為940-943當中對機器人資源960的訪問。控制仲裁器950確定哪個模塊940-943具有如該模塊所要求的機器人資源960的控制(例如,模塊當中的優(yōu)先級等級)。行為940-943可以動態(tài)地開始和停止并且完全獨立于彼此來運行。所編程行為930還允許可以組合到一起以彼此輔助的復雜行為。
機器人資源960可以是具有一個或多個硬件控制器的功能模塊(例如,致動器、驅(qū)動系統(tǒng)及它們的組)的網(wǎng)絡??刂浦俨闷?50的命令通常特定于資源以實行給定動作。以下進一步討論在由機器人控制器電路配置時移動機器人的概念性操作。
機器人控制器電路
在由機器人控制器電路配置時的移動機器人100的行為通?;谝苿訖C器人的周圍操作環(huán)境的特性和/或移動機器人100的狀態(tài)而從多個行為中選擇。在許多實施例中,環(huán)境的特性可以根據(jù)由機器視覺系統(tǒng)捕捉的圖像來探明,并且可以使用由光學量程相機440捕捉的圖像來跟蹤穿過環(huán)境的運動。所捕捉到的圖像可以由一個或多個VSLAM過程用于對移動機器人100周圍的環(huán)境繪制地圖以及定位移動機器人100在環(huán)境內(nèi)的位置。
圖10中圖示可以用于使用機器視覺系統(tǒng)和光學量程傳感器系統(tǒng)來執(zhí)行VSLAM的移動機器人控制器電路。機器人控制器電路1005包括與存儲器1025和輸入/輸出接口1020通信的處理器1010。處理器1010可以是單個微處理器、多個微處理器、多核處理器、微控制器、和/或可以由軟件和/或固件配置的任意其他通用計算系統(tǒng)。存儲器1025包含視覺測量應用程序1030、VSLAM應用程序1035、地標的地圖1040、行為控制應用程序1045以及地標數(shù)據(jù)庫1050。
視覺測量應用程序1030識別輸入圖像集內(nèi)的特征并且基于在輸入圖像中識別的特征集合的相似性來識別來自地標數(shù)據(jù)庫1050的地標,以將特征集合與來自地標數(shù)據(jù)庫1050的所識別地標相關聯(lián)的特征進行匹配。視覺測量應用程序也可以通過識別一系列捕捉到的圖像內(nèi)的特征集、分析特征集的差異信息以確定特征的3D結(jié)構(gòu)、以及將3D特征存儲為地標數(shù)據(jù)庫1050內(nèi)的新地標,來生成新地標。
VSLAM應用程序1035基于先前的定位估計、量程數(shù)據(jù)以及接收自視覺測量應用程序的至少一個視覺測量,來估計移動機器人100在地標地圖內(nèi)的位置。如上所指出的,圖像可以由VSLAM應用程序1035利用。在某些實施例中,特征從新獲得的圖像中提取,并且特征與先前檢測到并且存儲在地標數(shù)據(jù)庫1050內(nèi)的特征進行比較。VSLAM應用程序1035基于移動機器人100的所估計的位置、量程數(shù)據(jù)和至少一個視覺測量,來更新地標地圖。
地標地圖1040可以包括移動機器人100周圍的環(huán)境的地圖以及地標相對于移動機器人100在環(huán)境內(nèi)的位置的位置。地標地圖1040可以包括描述地圖中的每個地標的各種信息片段,包括(但不限于)對于描述地標數(shù)據(jù)庫內(nèi)的地標的數(shù)據(jù)的引用。
行為控制應用程序1030基于移動機器人100的周圍環(huán)境和狀態(tài)來控制移動機器人100的不同行為的致動。在一些實施例中,隨著圖像被VSLAM應用程序1035捕捉和分析,行為控制應用程序1045確定移動機器人100應該如何基于對于移動機器人100周圍的環(huán)境的理解而運轉(zhuǎn)。行為控制應用程序1045可以基于環(huán)境的特定特性和/或移動機器人100的狀態(tài)來從多個不同行為中選擇。行為可以包括但不限于:墻壁跟隨行為、障礙物避開行為、逃避行為,以及可以由機器人致動的許多其他原語行為。
在若干實施例中,輸入/輸出接口向諸如(但不限于)傳感器的裝置提供與處理器和/或存儲器通信的能力。在其他實施例中,輸入/輸出接口向移動機器人提供經(jīng)由有線和/或無線數(shù)據(jù)連接與遠程計算裝置通信的能力。雖然以上參照圖10描述了各種機器人控制器配置,但是移動機器人100可以使用適合特定應用的要求的各種機器人控制器的任一個來配置,包括這樣的機器人控制器:所述機器人控制器配置為使得機器人行為控制器應用程序位于盤或者某種其他存儲形式上、并且在運行時間時加載到存儲器中和/或使用各種軟件、硬件和/或固件實施機器人行為控制器應用程序的位置處。
量程數(shù)據(jù)的誤差減少
由光學量程傳感器系統(tǒng)205提供的量程數(shù)據(jù)的可靠性可能基于各種因素而變化,所述因素包括(但不限于)被橫越的表面的類型、表面的照明、跨表面的移動機器人的速度和/或光學量程相機440的幀率。移動機器人100可以使用包括(但不限于)一個或多個機輪量程傳感器的一個或多個不同類型的傳感器,來獲得附加量程數(shù)據(jù)。在一個可選配置中,移動機器人100可以將由光學量程傳感器系統(tǒng)205捕捉的量程數(shù)據(jù)與由機輪量程傳感器捕捉的量程數(shù)據(jù)進行比較,以便探明光學量程數(shù)據(jù)的可靠性和/或?qū)⒏涌煽康牧砍虜?shù)據(jù)提供給其他過程。
在某些實施例中,移動機器人可以主要依賴于光學量程傳感器系統(tǒng)205來捕捉量程數(shù)據(jù)。然而,在光學量程傳感器系統(tǒng)205無法捕捉具有令人滿意的可靠性水平的量程數(shù)據(jù)時,移動機器人100也可以使用機輪量程傳感器系統(tǒng)來搜集量程數(shù)據(jù)。例如,如果移動機器人100跨具有太少的可跟蹤特征的陶瓷瓷磚地面行進而無法獲取可靠的SQUAL值,光學量程數(shù)據(jù)可能不會與由包括例如機輪量程傳感器的其他類型的傳感器捕捉的數(shù)據(jù)一樣準確。圖11和12中圖示可以可選地由移動機器人100利用來使用由不同類型的傳感器捕捉的信息來獲得量程數(shù)據(jù)的過程。
在圖11的實施方式中,過程1100接收(1102)來自一個或多個不同傳感器的傳感器數(shù)據(jù)。傳感器可以包括(但不限于)光學量程傳感器系統(tǒng)和/或機輪量程傳感器、機器視覺傳感器。移動機器人100確定(1104)由光學量程傳感器系統(tǒng)205捕捉的光學量程數(shù)據(jù)是否滿足質(zhì)量閾值。在一些實施例中,光學量程傳感器系統(tǒng)205提供具有量程數(shù)據(jù)的質(zhì)量度量,其提供數(shù)據(jù)可靠性的估計。質(zhì)量度量可以基于移動機器人在其上橫越的表面的質(zhì)量,基于例如傳感器是否具有用于跟蹤的特征。
如果光學量程數(shù)據(jù)滿足質(zhì)量閾值,移動機器人100可以使用(1106)光學量程數(shù)據(jù)來估計行進的距離。如果光學量程數(shù)據(jù)不滿足質(zhì)量閾值,移動機器人100可以使用(1108)光學量程數(shù)據(jù)以及來自一個或多個附加傳感器的數(shù)據(jù)來估計行進的距離。附加傳感器可以是機輪量程傳感器,其基于移動機器人100的機輪跨環(huán)境的旋轉(zhuǎn)來捕捉量程數(shù)據(jù)。在一個配置中,機輪量程數(shù)據(jù)用于驗證光學量程數(shù)據(jù),并且光學量程數(shù)據(jù)在被機輪量程數(shù)據(jù)確認時被利用。在機輪量程數(shù)據(jù)未確認光學量程數(shù)據(jù)時,過程隨后放棄全部量程數(shù)據(jù)和/或依賴于適合特定應用的要求的機輪量程數(shù)據(jù)。
在所圖示過程中,移動機器人100使用(1110)陀螺儀和/或附加傳感器來估計移動機器人100穿過環(huán)境的運動的方向,并且基于所估計的平移程度以及運動的方向來更新(1112)移動機器人姿勢。
在示出用于融合兩個或更多傳感器讀數(shù)以確定機器人100在操作環(huán)境內(nèi)的位置的過程1200的圖12的實施方式中,移動機器人100接收S1205來自機輪量程的高頻率傳感器讀數(shù)和IMU和/或光學量程和IMU。在實施方式中,機器人100包括IMU,諸如組合3軸加速度計和3軸陀螺儀(后文稱為“gyro”)的6軸IMU。通過將頻繁采樣的機輪量程和鼠標量程數(shù)據(jù)與IMU數(shù)據(jù)比較S1210、S1215,機器人100確定機輪量程計和鼠標傳感器是否準確地報告運動,以及在確定在操作環(huán)境內(nèi)的機器人位置中是否可以被考慮。例如,如果機器人100在對于光學傳感器而言具有太少特征而無法跟蹤以準確地檢測運動的平滑表面上行進,傳感器將產(chǎn)生低SQUAL值。過程1200確定S1220 SQUAL值是否低于閾值,如果是,則機器人100將忽略S1225 光學傳感器數(shù)據(jù)并且默認其他傳感器讀數(shù)中的一個或多個以在環(huán)境內(nèi)定位機器人100。在實施方式中,如果SQUAL值低,機器人100向用戶發(fā)出FOD可能妨礙光學量程相機440的透鏡的可聽和/或視覺信號并且提示用戶清潔凹進210。
類似地,如果IMU傳感器數(shù)據(jù)和機輪量程數(shù)據(jù)兩者都未能指示運動,或者如果傳感器沖突以及在機輪量程計指示運動時IMU數(shù)據(jù)指示機器人100未在運動(例如,當機輪在具有低附著摩擦力的表面上打滑或者當機器人擱淺或空轉(zhuǎn)時),機器人100在做出定位的判定時忽略S1230機輪量程數(shù)據(jù)。如果IMU和機輪量程計兩者都指示機器人100在運動,機器人100檢查S1235 IMU是否指示從初始機器人航向偏移。
如果IMU指示偏移,對于基于行進的距離來計算位置而言機輪量程數(shù)據(jù)將是不可靠的。機器人100忽略S1240機輪量程數(shù)據(jù)和光學傳感器數(shù)據(jù),并且利用使用更慢采樣的VSLAM數(shù)據(jù)對環(huán)境內(nèi)的機器人姿勢的全局判定來調(diào)整該定位。在許多實施方式中,機器人100具有配置為收集用于VSLAM的圖像的成像傳感器,成像傳感器是具有瞄準在與地表面相距3-8英尺的高度范圍中的靜止地標的特定區(qū)的視場的相機120。通過以全局傳感器讀數(shù)補充高頻率量程數(shù)據(jù),機器人100確定S1245全局坐標系統(tǒng)內(nèi)的準確姿勢和/或環(huán)境的持續(xù)地圖,并且如果一旦姿勢被確定時存在定位的差異,則忽略、調(diào)整和/或重置S1250高頻率局部位置數(shù)據(jù)。過程1200隨后檢查S1225機器人任務(例如,清潔行程)是否完成并且返回到監(jiān)測機輪量程傳感器數(shù)據(jù)、光學量程數(shù)據(jù)和IMU數(shù)據(jù)。
如果在跟蹤地表面上足夠數(shù)量的跟蹤特征時確定機輪量程計正確地指示運動并且光學傳感器指示運動之后IMU指示S1235無偏移,機器人100上運行的過程1200將使用機輪量程數(shù)據(jù)和光學傳感器數(shù)據(jù)兩者來定位S1260機器人100。在一些實施方式中,過程1200包括斷續(xù)的全局定位檢查以確保盡管有來自IMU的輸入,機器人也未顯著偏移。全局定位檢查首先確定S1265是否已經(jīng)經(jīng)過閾值持續(xù)時間。如果否,過程檢查S1225機器人任務(例如,清潔行程)是否完成并且返回到監(jiān)測機輪量程傳感器數(shù)據(jù)、光學量程數(shù)據(jù)和IMU數(shù)據(jù)。如果已經(jīng)經(jīng)過閾值持續(xù)時間,過程1200使用VSLAM傳感器來確定S1270機器人100的姿勢,如上所述的那樣。如果過程確定基于量程的定位和VSLAM姿勢被對準,則過程1200隨后檢查S1225機器人任務(例如,清潔行程)是否完成并且返回到監(jiān)測機輪量程傳感器數(shù)據(jù)、光學量程數(shù)據(jù)和IMU數(shù)據(jù)。如果過程1200確定基于量程的定位和VSLAM姿勢未對準,則機器人100忽略、調(diào)整和/或重置S1250高頻率局部位置數(shù)據(jù)。
雖然以上包含了本發(fā)明的許多具體可選方面的描述,但這些不應解釋為對于本發(fā)明的范圍的限制,而是應解釋為其不同配置的示例。因此,本發(fā)明的范圍不應由所說明示例來確定,而由所附權(quán)利要求和它們的等同物來確定。