自主移動機器人的制作方法
【專利摘要】一種自主移動機器人(100)包含機器人主體(110)、驅(qū)動系統(tǒng)(120)、傳感器系統(tǒng)(500)及控制器(120)。所述驅(qū)動系統(tǒng)支撐所述機器人主體且在地板表面(10)上操縱所述機器人。所述傳感器系統(tǒng)包含用于測量所述機器人的姿勢的慣性測量單元(510d)且發(fā)布傳感器信號,所述傳感器信號包含具有關(guān)于所述機器人的姿勢的信息的數(shù)據(jù)。行為系統(tǒng)(210a)從所述傳感器系統(tǒng)接收所述傳感器信號且執(zhí)行行為(300)。所述行為系統(tǒng)響應于傳感器信號指示所述機器人受到約束而執(zhí)行防停滯行為(300a)以評估約束狀態(tài)。另外,所述行為系統(tǒng)響應于傳感器信號指示所述機器人相對于重力方向傾斜而執(zhí)行防傾斜行為(310b)以評估傾斜狀態(tài)。
【專利說明】
自主移動機器人
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及自主移動機器人停滯檢測。
【背景技術(shù)】
[0002]真空清潔器通常使用空氣栗來形成用于通常從地板且任選地也從其它表面提升灰塵及塵埃的部分真空。真空清潔器通常將塵埃收集于灰塵袋或旋風集塵器中以供稍后處置。在家庭中以及在工業(yè)中使用的真空清潔器以多種大小及型號存在,例如小型電池操作手持式裝置、家用中央真空清潔器、可在倒空之前處置數(shù)百公升灰塵的大型固定工業(yè)器具及用于回收大量溢出物或移除經(jīng)污染土壤的自推進真空卡車。
[0003]自主機器人真空清潔器在正常操作條件下通常導航通過居住空間及常見障礙物同時在地板上進行真空吸塵。自主機器人真空清潔器通常包含允許其避開例如墻壁、家具或樓梯等障礙物的傳感器。機器人真空清潔器可在其碰到障礙物時變更其驅(qū)動方向(例如,轉(zhuǎn)向或后退)。機器人真空清潔器還可在檢測到地板上的異常污點時變更驅(qū)動方向或驅(qū)動模式。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的一個方面提供一種自主移動機器人,其包含機器人主體、驅(qū)動系統(tǒng)、傳感器系統(tǒng)及控制器。所述機器人主體界定前向驅(qū)動方向。所述驅(qū)動系統(tǒng)支撐所述機器人主體且經(jīng)配置以在地板表面上操縱所述機器人。所述傳感器系統(tǒng)包含輪編碼器及用于測量所述機器人的姿勢的慣性測量單元且發(fā)布傳感器信號。所述傳感器信號指示所述機器人的所述姿勢。所述控制器與所述驅(qū)動系統(tǒng)及所述傳感器系統(tǒng)通信且具有執(zhí)行行為系統(tǒng)的計算處理器。所述行為系統(tǒng)從所述傳感器系統(tǒng)接收所述傳感器信號且基于所述傳感器信號而執(zhí)行至少一個行為。所述行為系統(tǒng)任選地響應于傳感器信號指示所述機器人受到約束而執(zhí)行防停滯行為以評估約束狀態(tài)。另外,所述行為系統(tǒng)任選地響應于傳感器信號指示所述機器人相對于重力方向傾斜而執(zhí)行防傾斜行為以評估傾斜狀態(tài)。在一些實例中,所述行為系統(tǒng)任選地響應于傳感器信號指示所述機器人擠住于障礙物下方而執(zhí)行防擠住行為。
[0005]本發(fā)明的實施方案可包含以下任選特征中的一或多者。在一些實施方案中,所述控制系統(tǒng)在計算處理器上執(zhí)行且包含向所述機器人的資源發(fā)布命令的控制仲裁系統(tǒng)。所述控制系統(tǒng)可致使執(zhí)行具有擺動角度的擺動命令。所述擺動命令包含沿以所述擺動角度相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。另外,如果所述控制器接收到指示所述機器人不執(zhí)行具有第一擺動角度的第一擺動命令的傳感器信號,那么所述控制器致使執(zhí)行具有大于所述第一擺動角度的第二擺動角度的第二擺動命令。另外,當所述慣性測量單元及/或所述輪編碼器的信號未處于用于指示機器人移動的可允許容限內(nèi)時,所述控制器向所述驅(qū)動系統(tǒng)發(fā)布防停滯命令。
[0006]在一些實例中,所述約束狀態(tài)包含所述機器人相對于物體進入或處于擠住位置。另外,所述傳感器信號可包含:碰撞信號,其指示所述機器人與所述物體接觸;及輪下落信號,其指示所述驅(qū)動系統(tǒng)的輪移動遠離所述機器人主體。
[0007]在一些實施方案中,所述防停滯行為致使執(zhí)行使所述機器人遠離阻礙物后退或使所述機器人遠離所述機器人的經(jīng)歷約束(例如,處于扭轉(zhuǎn)狀態(tài)中)的一側(cè)轉(zhuǎn)向的驅(qū)動命令。另外,所述防停滯行為可進一步致使執(zhí)行沿弧形軌跡驅(qū)動所述機器人的驅(qū)動命令。
[0008]在一些實施方案中,所述行為系統(tǒng)在所述機器人相對于所述重力方向傾斜達至少閾值時間周期時執(zhí)行傾斜行為。所述防傾斜行為可在所述機器人相對于所述重力方向及所述前向驅(qū)動方向上仰時致使執(zhí)行前向驅(qū)動命令。此外,所述防傾斜行為可在所述機器人相對于所述重力方向及所述前向驅(qū)動方向下俯時致使執(zhí)行反向驅(qū)動命令。
[0009]在一些實施方案中,所述行為系統(tǒng)在所述機器人相對于所述重力方向傾斜成大于閾值角度的角度時執(zhí)行所述防傾斜行為。所述防傾斜行為可在所述機器人相對于所述重力方向及所述前向驅(qū)動方向上仰時致使執(zhí)行前向驅(qū)動命令,且可在所述機器人相對于所述重力方向及所述前向驅(qū)動方向下俯時致使執(zhí)行反向命令。在一些實施方案中,所述傳感器系統(tǒng)包含以下各項中的至少一者:障礙物檢測障礙物避開(ODOA)傳感器、通信傳感器、導航傳感器、接近度傳感器、接觸傳感器、相機、聲納、雷達、LIDAR或LADAR。
[0010]在一些實施方案中,所述自主移動機器人進一步包含安置于所述機器人的底表面上且在所述驅(qū)動系統(tǒng)的驅(qū)動輪前向的機械開關(guān)。所述機械開關(guān)在與障礙物或物體接觸時即刻激活。所述行為系統(tǒng)可在所述機械開關(guān)被激活且所述傳感器系統(tǒng)檢測到固定不動的機器人時執(zhí)行停滯行為。
[0011 ]在一些實例中,所述自主移動機器人進一步包含用于清潔或處理所述地板表面的清潔系統(tǒng)。所述行為系統(tǒng)可在所述機械開關(guān)被激活且所述傳感器系統(tǒng)檢測到運動時執(zhí)行防攝入行為。所述防攝入行為致使發(fā)布用于停止清潔行為的清潔停止命令且發(fā)布具有擺動角度的擺動命令。所述擺動命令包含沿以所述擺動角度相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。另外或替代地,所述行為系統(tǒng)可在所述控制器從所述傳感器系統(tǒng)接收到指示所述機器人的所述輪以小于停轉(zhuǎn)閾值的停轉(zhuǎn)速率停轉(zhuǎn)的信號時執(zhí)行輪擠塞行為。所述輪擠塞行為致使發(fā)布用于釋放所述機器人的經(jīng)停轉(zhuǎn)輪的所述擺動命令。所述機器人可進一步包含驅(qū)動輥刷,所述驅(qū)動輥刷平行于橫向軸X延伸且由所述機器人主體以可旋轉(zhuǎn)方式支撐以接觸地板表面。所述驅(qū)動輥刷沿第一方向圍繞所述X軸旋轉(zhuǎn)。所述防攝入行為致使偏置所述輥刷以沿與所述第一方向相反的第二方向被動地旋轉(zhuǎn),舉例來說,以允許經(jīng)纏繞的繩在所述機器人后退離開或驅(qū)動離開時從所述輥刷退繞。
[0012]本發(fā)明的另一方面提供一種用于自主移動機器人的控制系統(tǒng)。所述控制系統(tǒng)包含控制仲裁系統(tǒng)、驅(qū)動系統(tǒng)、傳感器系統(tǒng)及控制器。所述控制仲裁系統(tǒng)在計算處理器上執(zhí)行且向所述機器人的資源發(fā)布命令。所述驅(qū)動系統(tǒng)包含右及左驅(qū)動輪。另外,所述驅(qū)動系統(tǒng)支撐所述機器人主體且經(jīng)配置以在地板表面上操縱所述機器人。所述傳感器系統(tǒng)包含跟蹤兩個驅(qū)動輪的旋轉(zhuǎn)的輪編碼器及測量所述機器人的姿勢的慣性測量單元。所述傳感器系統(tǒng)發(fā)布指示所述機器人的所述姿勢的傳感器信號。所述控制器與所述驅(qū)動系統(tǒng)及所述傳感器系統(tǒng)通信。另外,所述控制器具有執(zhí)行行為系統(tǒng)的計算處理器。所述行為系統(tǒng)從所述傳感器系統(tǒng)接收所述傳感器信號且基于所述傳感器信號而執(zhí)行至少一個行為。所述行為系統(tǒng)任選地響應于傳感器信號指示所述機器人受到約束而執(zhí)行防停滯行為以評估約束狀態(tài),且任選地響應于傳感器信號指示所述機器人相對于重力方向傾斜而執(zhí)行防傾斜行為以評估傾斜狀態(tài)。
[0013]本發(fā)明的另一方面提供一種操作自主移動機器人的方法。所述方法包含在計算處理器處從傳感器系統(tǒng)接收傳感器信號。所述傳感器信號包含所述機器人的慣性測量或角定向。所述方法還包含在所述計算處理器上執(zhí)行行為系統(tǒng)。所述行為系統(tǒng)從所述傳感器系統(tǒng)接收所述傳感器信號且基于所述傳感器信號而執(zhí)行至少一個行為。所述行為系統(tǒng)響應于傳感器信號指示所述機器人受到約束而執(zhí)行防停滯行為以評估狀態(tài)約束。另外,所述行為系統(tǒng)響應于傳感器信號指示所述機器人相對于重力方向傾斜而執(zhí)行防傾斜行為以評估傾斜狀態(tài)。
[0014]在一些實施方案中,所述防停滯行為包含發(fā)布具有擺動角度的擺動命令。所述擺動命令包含沿以所述擺動角度相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。所述方法可進一步包含在計算處理器處從所述傳感器系統(tǒng)接收第二傳感器信號。如果所述第二傳感器信號指示所述機器人為固定不動的、在執(zhí)行具有第一擺動角度的第一擺動命令之后不執(zhí)行,那么所述防停滯行為驅(qū)動系統(tǒng)發(fā)布具有大于所述第一擺動角度的第二擺動角度的第二擺動命令,且所述傳感器系統(tǒng)監(jiān)測機器人慣性姿勢及輪旋轉(zhuǎn)的傳感器。如果所述傳感器信號未處于容限內(nèi),那么所述機器人執(zhí)行防停滯行為。
[0015]在一些實例中,所述方法包含在所述機器人相對于所述重力方向傾斜達至少閾值時間周期時執(zhí)行所述防傾斜行為。所述方法可包含在所述機器人相對于所述重力方向及所述前向驅(qū)動方向上仰時執(zhí)行前向驅(qū)動命令,且在所述機器人相對于所述重力方向及所述前向驅(qū)動方向下俯時執(zhí)行反向驅(qū)動命令。
[0016]在一些實例中,所述方法包含在所述機器人相對于所述重力方向傾斜成大于閾值角度的角度時執(zhí)行所述防傾斜行為。所述方法可包含在所述機器人相對于所述重力方向及所述前向驅(qū)動方向上仰時執(zhí)行前向驅(qū)動命令,且在所述機器人相對于所述重力方向及所述前向驅(qū)動方向下俯時執(zhí)行反向命令。
[0017]在一些實施方案中,所述方法進一步包含激活安置于所述機器人的底表面上在驅(qū)動系統(tǒng)的輪前向的機械開關(guān),所述機械開關(guān)在障礙物接觸所述機械開關(guān)時被激活。另外,所述方法可包含在所述機械開關(guān)被激活且所述傳感器系統(tǒng)檢測到固定不動的機器人時執(zhí)行停滯行為。
[0018]在一些實施方案中,所述方法包含使用清潔系統(tǒng)清潔或處理所述地板表面。所述方法可包含在所述機械開關(guān)被激活且所述傳感器系統(tǒng)檢測到運動時執(zhí)行防攝入行為。所述防攝入行為致使發(fā)布用于停止清潔行為的清潔停止命令且發(fā)布具有擺動角度的擺動命令。所述擺動命令包含沿以所述擺動角度相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。在一些實例中,所述方法包含在所述控制器從信號系統(tǒng)接收到指示所述機器人的輪以小于停轉(zhuǎn)閾值的停轉(zhuǎn)速率停轉(zhuǎn)的信號時執(zhí)行輪擠塞行為。所述輪擠塞行為致使發(fā)布用于釋放所述機器人的經(jīng)停轉(zhuǎn)輪的所述擺動命令。
[0019]在附圖及以下說明中陳述本發(fā)明的一或多個實施方案的細節(jié)。依據(jù)說明及圖式且依據(jù)權(quán)利要求書,其它方面、特征及優(yōu)點將顯而易見。
【附圖說明】
[0020]圖1是示范性自主移動機器人的透視圖。
[0021 ]圖2是圖1中所展示的示范性自主移動機器人的側(cè)視圖。
[0022]圖3是圖1中所展示的示范性自主移動機器人的仰視圖。
[0023]圖4是用于清潔的示范性自主移動機器人的透視圖。
[0024]圖5是用于清潔的示范性自主移動機器人的透視圖。
[0025]圖6A是示范性自主移動機器人的防停滯行為的流程圖。
[0026]圖6B是執(zhí)行停滯狀況躲避行為的示范性自主機器人的透視圖。
[0027]圖6C是處于擠住狀態(tài)中的示范性自主機器人的側(cè)視圖。
[0028]圖7A及7B是圍繞Z軸擺動的示范性自主機器人的透視圖。
[0029]圖8是示范性自主移動機器人的防停滯行為的流程圖。
[0030]圖9A是示范性自主機器人在其橫越兩個不同地板時的前視圖。
[0031]圖9B是示范性自主機器人在其橫越空間時的俯視圖。
[0032]圖1OA是示范性自主移動機器人的防傾斜行為的流程圖。
[0033]圖1OB是示范性自主移動機器人的防傾斜行為的流程圖。
[0034]圖1IA是示范性自主清潔移動機器人的透視圖。
[0035]圖1IB是示范性自主清潔移動機器人的前視圖。
[0036]圖12是示范性自主移動機器人的防攝入行為的流程圖。
[0037]圖13是示范性自主移動機器人的輪擠塞行為的流程圖。
[0038]圖14是用于操作自主移動機器人的操作的示范性布置的示意圖。
[0039]在各圖式中,相似的參考符號指示相似的元件。
【具體實施方式】
[0040]以可移動方式支撐的自主機器人可導航通過地板表面。在一些實例中,自主機器人可在橫越表面的同時清潔所述表面。機器人可通過以下操作從表面移除碎肩:扇動碎肩及/或通過在表面上方施加負壓力(例如,部分真空)而從表面提升碎肩,及從表面收集碎肩。
[0041]參考圖1-3,在一些實施方案中,機器人100包含由驅(qū)動系統(tǒng)120支撐的主體110,驅(qū)動系統(tǒng)120可基于具有(舉例來說)1、7及0分量的驅(qū)動命令而操縱機器人100跨越地板表面
10。機器人主體110具有前向部分112及后向部分114。驅(qū)動系統(tǒng)120包含右驅(qū)動輪模塊120a及左驅(qū)動輪模塊120b。輪模塊120a、120b沿著由主體110界定的橫向軸X基本上對置且包含驅(qū)動相應輪124a、124b的相應驅(qū)動電動機122a、122b。驅(qū)動電動機122a、122b可以可釋放方式連接到主體110 (例如,經(jīng)由緊固件或免工具連接),其中驅(qū)動電動機122a、122b任選地基本上定位于相應輪124a、124b上方。輪模塊120a、120b可以可釋放方式附接到主體110且由相應彈簧迫使成與清潔表面10嚙合。在一些實例中,輪模塊120a、120b包含輪編碼器121a、121b,輪編碼器121a、121b將輪124a、124b的旋轉(zhuǎn)運動轉(zhuǎn)換為指示輪124a、124b的旋轉(zhuǎn)及/或位置的模擬或數(shù)字信號。在一些實例中,輪124a、124b分別以可釋放方式連接到輪模塊12(^、12013。輪1243、12413可具有偏置下落式(13丨38 6(1-1:0-(11'(^)懸掛系統(tǒng),其改進輪模塊120a、120b在光滑地板(例如,硬木材、濕地板)上的牽引。機器人100可包含經(jīng)安置以支撐機器人主體110的前向部分112的腳輪126。機器人主體110支撐用于給機器人100的任何電組件供電的電源102(例如,電池)。
[0042]機器人100可通過相對于由主體110界定的如下三個相互垂直軸的移動的各種組合而移動跨越清潔表面:橫向軸X、前后軸Y及中心垂直軸Z。沿著前后軸Y的前向驅(qū)動方向標示為F(下文中有時稱為“前向”),且沿著前后軸Y的向后驅(qū)動方向標示為A(下文中有時稱為“后向”)。橫向軸X基本上沿著由輪模塊120a、120b的中心點界定的軸在機器人100的右側(cè)R與左側(cè)L之間延伸。
[0043]機器人100可圍繞X軸傾斜。當機器人100傾斜到朝南位置時,其朝向后向部分114傾斜(下文中有時稱為“上仰”),且當機器人100傾斜到朝北位置時,其朝向前向部分112傾斜(下文中有時稱為改變“下俯”)。另外,機器人100圍繞Y軸傾斜。機器人100可向Y軸的東側(cè)傾斜(下文中有時稱為“右滾”),或機器人100可向Y軸的西側(cè)傾斜(下文中有時稱為“左滾”)。因此,機器人100圍繞X軸的傾斜的改變?yōu)槠涓┭龅母淖?,且機器人100圍繞Y軸的傾斜的改變?yōu)槠錆L動的改變。另外,機器人100可向右(S卩,東側(cè)位置)或向左(S卩,西側(cè)位置)傾斜。在一些實例中,機器人100圍繞X軸且圍繞Y軸傾斜,從而具有例如東北、西北、東南及西南等傾斜位置。在機器人100正橫越地板表面10時,機器人100可圍繞其Z軸進行左轉(zhuǎn)或右轉(zhuǎn)(下文中有時稱為偏轉(zhuǎn)的改變)O偏轉(zhuǎn)的改變致使機器人100在其正移動時進行左轉(zhuǎn)或右轉(zhuǎn)。因此,機器人100可同時具有其俯仰、滾動或偏轉(zhuǎn)中的一或多者的改變。
[0044]主體110的前向部分112承載緩沖器130,舉例來說,在于清潔例程期間輪模塊120a、120b推進機器人100跨越清潔表面時,緩沖器130檢測(例如,經(jīng)由一或多個傳感器)機器人100的驅(qū)動路徑中的一或多個事件。機器人100可通過響應于由緩沖器130檢測到的事件(例如,障礙物18、陡壁及/或墻壁20)而控制輪模塊120a、120b操縱機器人100 (例如,遠離障礙物18)來對所述事件做出響應。盡管本文中將一些傳感器描述為布置于緩沖器130上,但這些傳感器可另外或替代地布置于機器人100上的各種不同位置中的任一者處,包含但不限于機器人的底表面116(例如,機械開關(guān)530)。
[0045]機器人100可包含用于清潔或處理地板表面10的清潔系統(tǒng)160。清潔系統(tǒng)160可包含干式清潔系統(tǒng)160a及/或濕式清潔系統(tǒng)160b。干式清潔系統(tǒng)160a可包含驅(qū)動輥刷162(例如,具有刷毛及/或攪拌片),驅(qū)動輥刷162平行于橫向軸X延伸且由機器人主體110以可旋轉(zhuǎn)方式支撐以接觸地板表面10。驅(qū)動輥刷162扇動碎肩離開地板表面10且將經(jīng)扇動碎肩投擲或?qū)б绞占?63中。清潔系統(tǒng)160還可包含具有相對于地板表面10成角度的旋轉(zhuǎn)軸的側(cè)刷164以用于將碎肩移動到清潔系統(tǒng)160的清潔條帶區(qū)域中。濕式清潔系統(tǒng)160b可包含流體施涂器166,流體施涂器166沿著橫向軸X延伸且將清潔液體施配到表面上。干式清潔系統(tǒng)160a及/或濕式清潔系統(tǒng)160b可包含在清潔表面上進行真空吸塵的一或多個刮刷真空器件168(例如,其間具有經(jīng)由空氣栗施加的部分真空的間隔開的柔性葉片)。
[0046]安置于主體110的頂部部分上的用戶接口140接收一或多個用戶命令及/或顯示機器人100的狀態(tài)。用戶接口 140與由機器人100承載的機器人控制器150通信使得由用戶接口140接收的一或多個命令可起始機器人100對清潔例程的執(zhí)行??刂破?50包含與非暫時性存儲器154(例如,硬盤、快閃存儲器、隨機存取存儲器)通信的計算處理器152(例如,中央處理單元)。
[0047]機器人控制器150(執(zhí)行控制系統(tǒng)210)可執(zhí)行致使機器人100采取行動(例如以墻壁沿循方式、地板擦洗方式操縱或在檢測到障礙物18(例如,椅子18a、桌子18b、沙發(fā)18c等等)時改變其行進方向)的行為300。機器人控制器150可通過獨立地控制每一輪模塊120a、120b的旋轉(zhuǎn)速度及方向而沿任何方向操縱機器人100跨越清潔表面。舉例來說,機器人控制器150可沿前向方向F及反向(向后)方向A操縱機器人100,或者沿向右方向R或向左方向L使機器人100轉(zhuǎn)向。
[0048]參考圖4及5,為了實現(xiàn)可靠且穩(wěn)健的自主移動,機器人100可包含具有數(shù)個不同類型的傳感器510的傳感器系統(tǒng)500,所述傳感器可連同彼此一起使用以形成對機器人的環(huán)境的感知,其足以允許機器人100關(guān)于將在所述環(huán)境中采取的行動做出智能決策。傳感器系統(tǒng)500可包含由機器人主體110支撐的一或多個類型的傳感器510,其可包含障礙物檢測/障礙物避開(ODOA)傳感器、通信傳感器、導航傳感器等等。舉例來說,這些傳感器510可包含但不限于接近度傳感器、接觸傳感器、相機(例如,體積點云成像、三維(3D)成像或深度圖傳感器、可見光相機及/或紅外相機)、聲納、雷達、LIDAR(光檢測與測距,此可需要測量所散射光的性質(zhì)以得出遙遠目標的范圍及/或其它信息的光學遠程感測)、LADAR(激光檢測與測距)等等。在一些實施方案中,傳感器系統(tǒng)500包含測距聲納傳感器、接近度陡壁檢測器、接觸傳感器、激光掃描儀及/或成像聲納。
[0049]在一些實例中,傳感器系統(tǒng)500包含與控制器150通信以測量并監(jiān)測機器人100的加速度及機器人100相對于機器人100的總體重心CGr的定向的慣性測量單元(IMU)510d。IMU 510d包含用以測量機器人100在空間中的相對定向的一或多個陀螺儀(gyroscope,下文中“gyro”)及一或多個角加速度計及/或線性角加速度計。控制器150可監(jiān)測來自IMU510d的反饋中與對應于正常不受阻礙操作的閾值信號的任何偏差。舉例來說,如果機器人100開始俯仰遠離直立位置,那么其可被困住、中心變高、扭轉(zhuǎn)、被擠住或以其它方式被阻礙,或者某人可突然添加重的有效負荷。在這些實例中,采取緊急行動(包含但不限于回避操縱、重新校準及/或發(fā)布音頻/視覺警告)以便確保機器人100的安全操作可為必要的。
[0050]當從一次停止加速時,控制器150可從機器人100的總體重心CGr考量機器人100的慣性矩以防止機器人傾倒??刂破?50可使用機器人姿勢的模型,包含其當前慣性矩。當支撐有效負荷時,控制器150可測量對總體重心CGr的負荷沖擊且監(jiān)測機器人慣性矩的移動。如果此為不可能的,那么控制器150可將測試扭矩命令施加到驅(qū)動系統(tǒng)120且使用頂U 510d測量機器人100的實際線性加速度及角加速度,以便以實驗方式確定安全限制。
[0051 ] IMU 510d可基于相對值測量及監(jiān)測機器人100的俯仰、滾動及偏轉(zhuǎn)。在一些實施方案中且在一時間周期內(nèi),連續(xù)移動可致使MU 510d漂移??刂破?50執(zhí)行復位命令以重新校準頂U 510d且將其復位到零。在復位頂U 510d之前,控制器150確定機器人100是否傾斜且僅在機器人100在平坦表面上的情況下發(fā)布復位命令。
[0052]在一些實施方案中,機器人100包含導航系統(tǒng)600,導航系統(tǒng)600經(jīng)配置以允許機器人100導航通過地板表面10而不撞向障礙物18或從樓梯跌落,且智能地辨識相對臟的地板區(qū)域以進行清潔。此外,導航系統(tǒng)600可以確定性及偽隨機模式操縱機器人100跨越地板表面10。導航系統(tǒng)600可為在機器人控制器150上存儲及/或執(zhí)行的基于行為的系統(tǒng)。導航系統(tǒng)600可與傳感器系統(tǒng)500通信以確定驅(qū)動命令并向驅(qū)動系統(tǒng)120發(fā)布驅(qū)動命令。導航系統(tǒng)600影響并配置機器人行為300,因此允許機器人100以系統(tǒng)性預先計劃的移動而運轉(zhuǎn)。在一些實例中,導航系統(tǒng)600從傳感器系統(tǒng)500接收數(shù)據(jù)并計劃用于供機器人100橫越的所要路徑610。
[0053]在一些實施方案中,控制器150(例如,具有與非暫時性存儲器154通信的一或多個計算處理器152的裝置,所述存儲器能夠存儲可在所述計算處理器上執(zhí)行的指令)執(zhí)行控制系統(tǒng)210,控制系統(tǒng)210包含彼此通信的行為系統(tǒng)21 Oa及控制仲裁系統(tǒng)21 Ob??刂浦俨孟到y(tǒng)210b允許動態(tài)地向控制系統(tǒng)210添加及從控制系統(tǒng)210移除機器人應用程序220且促進允許應用程序220各自控制機器人100而不需要了解任何其它應用程序220。換句話說,控制仲裁系統(tǒng)210b提供應用程序220與機器人100的資源240之間的簡單優(yōu)先化控制機制。
[0054]應用程序220可存儲于機器人100的存儲器中或被傳遞到機器人100以在機器人100上(例如,在處理器上)并行地運行且同時控制機器人100。應用程序220可存取行為系統(tǒng)210a的行為300。經(jīng)獨立部署的應用程序220在運行時間動態(tài)地組合且用以共享機器人資源240(例如,驅(qū)動系統(tǒng)120及/或清潔系統(tǒng)160、160a、160b)。實施用于在運行時間在應用程序220當中動態(tài)地共享機器人資源240的低級策略。所述策略確定哪一應用程序220具有對機器人資源240的控制,這是按照所述應用程序220的需要(例如,應用程序220當中的優(yōu)先級層次)。應用程序220可動態(tài)地開始及停止且完全獨立于彼此而運行??刂葡到y(tǒng)210還允許可組合在一起以彼此輔助的復雜行為300。
[0055]控制仲裁系統(tǒng)210b包含與控制仲裁器260通信的一或多個應用程序220??刂浦俨孟到y(tǒng)210b可包含為應用程序220提供到控制仲裁系統(tǒng)210b的接口的組件。此類組件可抽象化并封裝掉驗證、分布式資源控制仲裁器、命令緩沖的復雜性,協(xié)調(diào)應用程序220的優(yōu)先化等等??刂浦俨闷?60從每個應用程序220接收命令、基于所述應用程序的優(yōu)先級而產(chǎn)生單個命令并為其相關(guān)聯(lián)資源240公布所述命令??刂浦俨闷?60從其相關(guān)聯(lián)資源240接收狀態(tài)反饋且可將其發(fā)送回到應用程序220。機器人資源240可為具有一或多個硬件控制器的功能模塊(例如,致動器、驅(qū)動系統(tǒng)及其群組)的網(wǎng)絡??刂浦俨闷?60的命令為資源240特有的以執(zhí)行特定行動??稍诳刂破?50上執(zhí)行的動力學模型230經(jīng)配置以計算機器人100的重心(CG)、慣性矩及各部分的慣性交叉積以用于評估當前機器人狀態(tài)。
[0056]在一些實施方案中,行為300為提供層次、狀態(tài)全評估功能的插入式組件,所述功能將來自多個源(例如傳感器系統(tǒng)500)的感測反饋與先驗極限及信息一起耦合到關(guān)于機器人100的可允許行動的評估反饋中。由于行為300可插入到應用程序220中(例如,駐存在應用程序220的內(nèi)部或外部),因此可在不必修改應用程序220或控制系統(tǒng)210的任何其它部分的情況下移除及添加行為300。每一行為300為獨立策略。為了使得行為300更強大,可將多個行為300的輸出一起附接到另一者的輸入中使得可具有復雜的組合功能。行為300既定實施機器人100的全部認知的可管理部分。
[0057]在所展示的實例中,行為系統(tǒng)210a包含用于基于由傳感器510感知的障礙物18而確定響應性機器人行動(例如,繞開;轉(zhuǎn)向;在障礙物18之前停止等等)的障礙物檢測/障礙物避開(ODOA)行為300f。另一行為300可包含用于鄰近所檢測到的墻壁20驅(qū)動(例如,以朝向及遠離墻壁20驅(qū)動的擺動模式)的墻壁沿循行為300g。其它行為300可包含塵埃搜尋行為300h(其中傳感器檢測到地板表面10上的污點且機器人100朝向所述點轉(zhuǎn)向以進行清潔)、點清潔行為300e(例如,機器人100沿循玉米條狀(cornrow)圖案以清潔特定點)、陸壁行為300j(例如,機器人100檢測到樓梯且避免從所述樓梯跌落)、防停滯行為300a、防傾斜行為300b、防攝入行為300c以及輪擠塞(wheel-jam)行為300d。
[0058]在一些實例中,行為系統(tǒng)210a包含狀態(tài)行為310,狀態(tài)行為310檢測機器人100的狀態(tài)且可觸發(fā)躲避行為300i以幫助機器人100克服吸入其真空器件168中的物體或者在機器人100被擠住且傾斜、被困住或扭轉(zhuǎn)時(例如,當一個輪124a或124b轉(zhuǎn)向而另一輪被鉤住時)幫助機器人100。在一些實例中,狀態(tài)行為310包含防停滯行為300a、防傾斜行為300b及防攝入行為300c。
[0059]參考圖6A,其展示用于執(zhí)行機器人100的防停滯行為300a的流程圖650。當機器人100橫越地板表面10時,由于控制器150在框652處執(zhí)行/發(fā)布驅(qū)動命令,因此機器人100在框654處有規(guī)律地從頂U 510d接收信號,從而確定機器人100的姿勢??刂破?50在決策框656處基于所接收MU信號而確定機器人100是正在移動還是被卡住且傾斜,且接著確定執(zhí)行哪一行為300。如果甚至在驅(qū)動命令之后機器人100仍不移動,那么控制器150在框658處執(zhí)行防停滯行為300a以嘗試釋放機器人100。如果機器人100不是固定不動的(S卩,正在移動)但傾斜,那么控制器150執(zhí)行防傾斜行為300b以使機器人100返回到其法向表面。在一些實例中,傳感器信號指示機器人100相對于重力方向傾斜。行為系統(tǒng)210a可執(zhí)行防傾斜行為300b以評估約束狀態(tài)。
[0060]機器人100監(jiān)測(例如,同時地或串行地)多個參數(shù)以檢測輪124a、124b的狀況,例如輪124a、124b是否正在不移動的情況下自旋或者機器人100是否被擠住。這些所監(jiān)測參數(shù)包含:I)所命令行進速率;2)編碼器輪旋轉(zhuǎn)速率;及3HMU(陀螺儀)旋轉(zhuǎn)速率。舉例來說,機器人100檢測控制器150是否向機器人100發(fā)布了沿前向驅(qū)動方向F驅(qū)動的命令及機器人100是否實際上正沿前向驅(qū)動方向F驅(qū)動。機器人100在框654處監(jiān)測陀螺儀及輪編碼器以確定哪一輪124a、124b未在旋轉(zhuǎn)。機器人100確定所述三個所監(jiān)測參數(shù)(命令速率、編碼器速率及相對于機器人100的定向的陀螺儀改變速率)是否處于容限內(nèi)。機器人100轉(zhuǎn)向越快,其允許的對所述三個所監(jiān)測參數(shù)當中的變化的容限越大。容限值還取決于陀螺儀及輪編碼器121a、121b的校準,以及機器人100的幾何形狀是否抵抗轉(zhuǎn)向及輪124a、124b的滑動。
[0061 ]舉例來說,如果機器人100正扭轉(zhuǎn),那么一個輪124a、124b可能被鉤住。機器人100的傳感器系統(tǒng)500確定控制器150是否向機器人100發(fā)布了沿前向驅(qū)動方向F驅(qū)動的命令及機器人100是否實際上正沿前向驅(qū)動方向F驅(qū)動。如果機器人100未按控制器150命令沿前向驅(qū)動方向F移動,那么機器人100確定輪124a、124b中的哪一者未在旋轉(zhuǎn)且以給定速率逆時針轉(zhuǎn)向,同時監(jiān)測編碼器12Ia、12Ib及頂U 51d的陀螺儀的旋轉(zhuǎn)速率。在決策框656處,機器人100將所命令旋轉(zhuǎn)速率(從控制器150接收)、編碼器旋轉(zhuǎn)速率及IMU旋轉(zhuǎn)速率進行比較以驗證機器人100的實際運動符合由控制器150發(fā)布的命令。如果所述三個參數(shù)值未處于與所命令運動一致的參數(shù)容限閾值內(nèi),那么機器人100檢測到停滯。因此,機器人在決策框656處確定與所命令行進速率相比,編碼器改變速率及MU改變速率是否處于容限改變速率內(nèi)。當與所命令行進速率相比編碼器改變速率及頂U改變速率處于容限改變速率內(nèi)時,機器人100在框658處通過遠離機器人100的受約束側(cè)沿弧線移動而執(zhí)行防停滯300a行為。然而,當與所命令行進速率相比編碼器改變速率及頂U改變速率未處于容限改變速率內(nèi)時,機器人在框652處繼續(xù)發(fā)布使機器人100圍繞地板表面10橫越的驅(qū)動命令。決策框660確定機器人100是否應在框652處繼續(xù)發(fā)布驅(qū)動命令。在一些實施方案中,為了躲避受約束狀態(tài),機器人100遠離阻礙物后退、遠離被卡住的輪(經(jīng)歷約束的一側(cè))轉(zhuǎn)向90度且接著沿前向方向F驅(qū)動,從而沿介于約-135度到+135度之間的弧線軌跡前向移動以防止系統(tǒng)性疏忽。如圖6B中所展示,弧線移動600a、600b具有沿任一方向相同的半徑,但所行進的距離通過在沿著弧線600a、600b的軌跡的各個隨機選擇的點605a到605j處中斷弧線移動600a、600b而改變。通過沿隨機范圍的走弧線軌跡600a、600b驅(qū)動,機器人100使覆蓋范圍最大化且使立即再次碰上障礙物18的可能性最小化。
[0062]在一些實施方案中,機器人100可米用額外傳感器510來在輪模塊120a、120b下落及/或壓在壓力傳感器上從而指示機器人100進入地板表面10與懸突部620之間的擠住狀態(tài)(如圖6C中所展示)時檢測緩沖器130碰上障礙物18??刂破?50監(jiān)測壓縮傳感器及/或輪下落傳感器以發(fā)現(xiàn)擠住,且發(fā)布防停滯命令以使機器人100遠離擠住狀況(例如櫥柜懸突部620)后退。因此,機器人100檢測被擠住的初始階段且在機器人100完全擠住并不能躲避之前執(zhí)行躲避行為。防停滯躲避行為300a包含在100機器人變得完全擠住且被固定住之前,使機器人100遠離阻礙物后退或使機器人100遠離機器人100的經(jīng)歷約束的一側(cè)轉(zhuǎn)向。在一些實例中,行為系統(tǒng)210a響應于傳感器信號指示機器人正擠住于障礙物下方而執(zhí)行防擠住行為。防擠住行為可包含向驅(qū)動系統(tǒng)120發(fā)布全功率反向驅(qū)動命令。此外,反向驅(qū)動命令可需要遠離機器人100的受約束側(cè)R、L轉(zhuǎn)向。
[0063]參考圖7A及7B,在一些實施方案中,控制器150執(zhí)行“卡住-檢查-轉(zhuǎn)彎”例程以確定機器人100是否被困住?!翱ㄗ?檢查-轉(zhuǎn)彎”例程實施沿相反方向的至少兩次后續(xù)“擺動”或轉(zhuǎn)向。圖7A展示具有圓形緩沖器130的機器人100,而圖7B展示具有正方形緩沖器130的機器人100。當機器人100基本上沿著前后軸Y移動時,機器人100可進行重復交替向右及向左轉(zhuǎn)向,使得機器人100圍繞中心垂直軸Z來回旋轉(zhuǎn)(下文中稱為擺動運動)。機器人100的擺動軌跡是非常小的弧線。在一些實例中,機器人100針對1cm的前向F驅(qū)動轉(zhuǎn)向約5度到10度。機器人100可周期性地擺動以檢查由困住導致的停滯。當機器人100第一次擺動時,控制器150在扭動期間監(jiān)測三個參數(shù):所命令行進速率;編碼器輪旋轉(zhuǎn)速率;及MU (陀螺儀)旋轉(zhuǎn)速率。在擺動運動期間,三個測量應一起跟蹤。如果所述三個參數(shù)在特定時間量內(nèi)未于其參數(shù)容限閾值內(nèi)跟蹤,那么控制器150接收指示機器人100未按命令(由控制器150發(fā)出)執(zhí)行第一擺動運動的信號。機器人100將其狀態(tài)改為“被懷疑困住”且執(zhí)行大于第一擺動角度Θ的第二擺動角度Θ(例如,更明顯弧角)。
[0064]當機器人100在“被懷疑困住”狀態(tài)中沿前向方向F驅(qū)動時,控制器150監(jiān)測頂U510d及輪編碼器121a、121b以發(fā)現(xiàn)經(jīng)增加擺動。如果頂U 510d及輪編碼器121a、121b的傳感器信號不確認機器人100正執(zhí)行第二擺動(大于第一擺動),那么機器人100未按命令執(zhí)行第二擺動且被困住。機器人100可接著起始躲避行為300i(舉例來說,原地自旋(spin-1n-place)),在一些實施方案中,其后續(xù)接著沿弧線軌跡行進沿著弧線的隨機選擇的行進長度。
[0065]在一些實施方案中,擺動運動由在機器人100正沿前向驅(qū)動方向F移動的同時的三個轉(zhuǎn)向組成。第一轉(zhuǎn)向使機器人100從前向行進軌跡偏向角度(1Θ。第二轉(zhuǎn)向使機器人100偏向-2d0,且第三轉(zhuǎn)向使機器人100在(1Θ的轉(zhuǎn)向的情況下與原始路徑重新對準。擺動運動可允許機器人100在清潔操作期間作為擦洗器操作。此外,擺動運動可由機器人控制器150用來檢測機器人停滯,如上文關(guān)于檢測困住狀態(tài)所描述。另外或替代地,舉例來說,機器人控制器150可操縱機器人100基本上原地旋轉(zhuǎn)使得機器人100可操縱離開拐角或遠離障礙物18。機器人控制器150可在機器人100橫越清潔表面10時在基本上隨機(例如,偽隨機)路徑上引導機器人100。機器人控制器150可對圍繞機器人100安置的一或多個傳感器510 (例如,碰撞傳感器、接近度傳感器、墻壁傳感器、停滯傳感器及陡壁傳感器)做出響應。機器人控制器150可響應于從傳感器510接收的信號而重新引導輪模塊120a、120b,從而致使機器人100在處理清潔表面時避開障礙物18及雜物。如果機器人100在操作期間被卡住或被纏住,那么機器人控制器150可通過一系列躲避行為300i向輪模塊120a、120b發(fā)布命令,使得機器人100可躲避且重新開始正常操作(例如,清潔操作)。
[0066]還參考圖8,防停滯行為300a的流程圖800確定機器人100是否被困住而致使其無運動。防停滯行為300a致使機器人100以可由頂U 510d檢測的方式驅(qū)動。困住在機器人100在提升足夠高的障礙物18 (例如,地毯I Ob、燈座)上向上驅(qū)動使得機器人100的輪124a、124b不具有足夠牽引來驅(qū)動機器人100(至少一個輪不接觸地板表面10)時發(fā)生。往回參考圖7A及7B,防停滯行為300a引導驅(qū)動系統(tǒng)120以使機器人100從其筆直路徑以擺動角度Θ轉(zhuǎn)向從而將機器人100的路徑改變?yōu)閺澢窂?2,且接著返回到其原始筆直路徑60。如圖8中所展示,防停滯行為300a在框802處設置擺動角度Θ、在框804處向驅(qū)動系統(tǒng)120發(fā)布具有擺動角度Θ的驅(qū)動命令以使機器人轉(zhuǎn)向,且在框806處接收MU 510d信號及編碼器信號121a、121b信號。在一些實例中,擺動運動包含在機器人100沿前向驅(qū)動方向F移動的同時的三個轉(zhuǎn)向。第一轉(zhuǎn)向使機器人100從前向驅(qū)動方向F偏向角度d0。第二轉(zhuǎn)向使機器人100從前向驅(qū)動方向F偏向-2d0,且第三轉(zhuǎn)向使機器人100在d0的轉(zhuǎn)向的情況下與原始路徑重新對準。擺動運動改變機器人100的前進方向,且因此,頂U 51Od檢測到移動。當擺動運動發(fā)生時,頂U 51Od檢測到移動且傳感器系統(tǒng)500發(fā)布由控制系統(tǒng)210接收的傳感器信號。控制系統(tǒng)210將所接收傳感器信號與對所發(fā)布防停滯行為300a的預期響應進行比較。當機器人100第一次擺動時,控制器150監(jiān)測所命令行進速率、編碼器輪旋轉(zhuǎn)速率及頂U (陀螺儀)旋轉(zhuǎn)速率。在擺動運動期間,三個測量應一起跟蹤。相應地,控制器150在決策框808處確定與所命令行進速率相比,編碼器改變速率及MU改變速率是否處于容限改變速率內(nèi)。如果所述三個參數(shù)在特定時間量內(nèi)在其參數(shù)容限或閾值內(nèi)跟蹤(例如,決策框808為“是”),那么控制器150在框820處接收指示機器人100不在停滯中的信號,且機器人100可在框822處繼續(xù)圍繞路徑操縱。如果所述三個參數(shù)在特定時間量內(nèi)未在其參數(shù)容限或閾值內(nèi)跟蹤(例如,決策框808為“否”),那么控制器150接收指示機器人100未按命令執(zhí)行第一擺動運動的信號。機器人100將其狀態(tài)改變?yōu)椤氨粦岩衫ё 鼻以诳?10處執(zhí)行具有大于第一擺動角度Θ的第二擺動角度Θ的第二擺動(例如,更明顯弧角)以驗證機器人100在停滯狀態(tài)中??刂破?50監(jiān)測所命令行進速率、編碼器輪旋轉(zhuǎn)速率及頂U(陀螺儀)旋轉(zhuǎn)速率,且如果在決策框812處所述三個值未處于其參數(shù)容限或閾值內(nèi)(例如,決策框812為“否”),那么機器人100在框814處執(zhí)行防停滯行為300a,例如后退、遠離機器人100的經(jīng)歷約束的一側(cè)轉(zhuǎn)向及沿走弧線軌跡或隨機范圍移動。然而,如果在決策框812處所述三個值未處于其參數(shù)容限或閾值內(nèi)(例如,決策框812為“是”),那么控制器150在框816處檢測到機器人100不在停滯中且機器人100可在框818處繼續(xù)沿著路徑操縱。
[0067]如上文所描述,在一些實施方案中,控制器150可繼續(xù)執(zhí)行防停滯行為300a直到其接收到來自頂U 510d的檢測到機器人100的移動的傳感器信號為止,且因此將機器人100從其停滯位置釋放。在一些實例中,角度Θ是預定的??刂葡到y(tǒng)210監(jiān)測機器人行為300及機器人100傾斜的頻率,且因此通過增加或減小角度Θ而調(diào)整所述角度。
[0068]在一些實施方案中,如果機器人100朝向北側(cè)、南側(cè)、東側(cè)、西側(cè)、東北、西北、東南或西南位置中的一者傾斜超過閾值角度(例如,大于15度)及超過閾值時間周期(例如,大于3秒),那么可觸發(fā)防傾斜行為300b。所述閾值時間可介于0.1秒與10秒之間。
[0069]參考圖9A、10A及11A,在一些實例中,機器人100從第一表面1a(例如,硬表面)向第二表面1b(例如,地毯)移動或反之亦然,其中每一地板表面10具有不同于另一地板表面10的高度。使用來自頂U 510d的信號,機器人100的后臺行為300監(jiān)測機器人100的傾斜及滾動,使得機器人100從不離開平面超過預定時間周期(傾斜周期閾值),例如,半秒。此傾斜周期閾值在一次運行的開始處以四分之一秒(0.25秒)的閾值開始且隨著機器人100越來越接近于所述運行的結(jié)束而增加,舉例來說,傾斜周期閾值增加到I秒。如果機器人100在不被卡住的情況下完成其任務(即,清潔運行),那么傾斜周期閾值在下一次運行時以較高值開始。舉例來說,傾斜周期閾值以I秒開始且停在此處。如果機器人100在一次運行期間被卡住(即,碰上停滯狀況),那么傾斜周期閾值在下一次運行中以較低值開始(舉例來說,八分之一秒)且在機器人100在無停滯狀況的情況下前進時貫穿所述運行增加。在其它實施方案中,如果機器人100是定時啟動的(S卩,無人看管的且經(jīng)調(diào)度的),那么機器人100的傾斜周期閾值可以較高值開始,且如果機器人100是通過來自用戶的按鈕按下而啟動以運行,那么所述傾斜周期閾值可以較低值開始。
[0070]在此類情況下,控制器150確定機器人100是否傾斜(例如,在經(jīng)提高入門閾值上)以便發(fā)布躲避行為300i從而致使機器人100返回到平坦表面10。當頂U 510d檢測到機器人100傾斜(俯仰或滾動)超過閾值角度ατ達特定時間周期(S卩,“傾斜周期閾值”)時可觸發(fā)防傾斜行為300b。閾值角度ατ可為可編程的。在一些實施方案中,控制器150監(jiān)測機器人性能且基于其性能而調(diào)整閾值角度ατ。類似地,如上文所描述,傾斜時間周期閾值還可為可基于機器人100的性能而調(diào)整的。
[0071]參考圖1OA的流程圖1000,在一些實例中,控制器150在框1002處從頂U 510d接收信號,且在決策框1004處確定所接收信號是否指示機器人100傾斜。如果機器人100未傾斜(例如,決策框1004為“否”),那么機器人100在框1006處繼續(xù)執(zhí)行其既定活動(例如,重新開始機器人活動)。然而,如果機器人100傾斜(例如,決策框1004為“是”),那么控制器150在決策框1008處確定傾斜角度α是否大于閾值傾斜角度ατ。如果傾斜角度α大于閾值傾斜角度ατ(例如,決策框1008為“是”),那么控制器150在框1012處執(zhí)行躲避行為300i以將機器人100從經(jīng)傾斜處境釋放且使其在平坦表面上重新開始其活動。然而,如果傾斜角度α小于閾值傾斜角度ατ(例如,決策框1008為“否”),那么控制器150在決策框1010處確定機器人100是否已傾斜達大于閾值時間周期T的時間周期t。如果機器人100已傾斜達比閾值時間周期短的時間量(例如,決策框1010為“否”),那么機器人100在框1014處重新開始其活動。但如果機器人100已傾斜達比閾值時間周期T大的時間t(例如,決策框1010為“是”),那么控制器150在框1012處執(zhí)行躲避行為300i以將機器人100從經(jīng)傾斜位置釋放。相應地,控制器150在以下條件下確定機器人是否傾斜:
[0072](!〈町且“^^無傾斜(I)
[0073]α〈ατ且t>T;機器人傾斜 (2)
[0074]機器人100可以圍繞X軸及Y軸的組合傾斜的方式傾斜,S卩,機器人100可俯仰且滾動。閾值傾斜角度ατ是圍繞X軸及Y軸的每一傾斜的向量的和。因此,如果機器人100僅俯仰,那么閾值角度ατ等于俯仰角度。類似地,如果機器人100僅滾動,那么閾值角度ατ等于滾動角度。
[0075]如圖9Α中所展示,機器人100可在硬地板1a(例如,瓷磚或硬木材)與地毯1b之間迀移,且在一些情形下,地毯1b與硬地板1a之間的過渡并非平滑過渡而是在從硬地板1a向地毯1b移動的情況下處于提升或者在從地毯1b向硬地板1a移動的情況下處于降低。因此,機器人100可最可能沿朝北位置(S卩,下俯)或朝南位置(S卩,上仰)經(jīng)歷傾斜,且機器人100可在短時間量中從傾斜位置過渡。在此情形下,控制系統(tǒng)210可不執(zhí)行防傾斜行為300b,這是因為所述時間量小于控制系統(tǒng)210使用來確定防傾斜行為300b的發(fā)布的閾值時間周期(即,傾斜周期閾值)。
[0076]參考圖9A及10B,在一些實施方案中,機器人100為清潔機器人100。如圖1OB的流程圖1050中所展示,控制器150在框1052處從MU 510d接收信號,且在框1054處確定所接收信號是否指示機器人100傾斜。如果機器人100未傾斜(例如,決策框1054為“否”),那么機器人100在框1082處繼續(xù)執(zhí)行其清潔活動。然而,如果機器人100傾斜(例如,決策框1054為“是”),那么控制器150在決策框1056處確定傾斜角度α是否大于閾值傾斜角度ατ。如果傾斜角度α大于閾值傾斜角度α(例如,決策框1056為“是”),那么控制器150在框1060處執(zhí)行躲避行為300i以將機器人100從經(jīng)傾斜處境釋放且在框1080處使其此后在平坦表面上重新開始其活動。然而,如果傾斜角度α小于閾值傾斜角度ατ(例如,決策框1056為“否”),那么控制器150在決策框1058處確定機器人100是否已傾斜達大于閾值時間周期的時間周期。如果機器人100已傾斜達比閾值時間周期短的時間周期(例如,決策框1058為“否”),那么機器人100在框1082處重新開始其清潔活動。但如果機器人100已傾斜達大于閾值時間(S卩,傾斜周期閾值)的時間周期(例如,決策框1058為“是”),那么控制器150在框1060處執(zhí)行躲避行為300i以將機器人100從經(jīng)傾斜位置釋放。躲避行為300i可包含在框1062處停止機器人100的刷162及真空器件168,接著如果機器人100在決策框1064處上仰(S卩,朝南傾斜),那么機器人100在框1066處遠離致使其傾斜的障礙物18后退。如果機器人100在決策框1068處下俯(即,朝北傾斜),那么機器人100在框1070處前向驅(qū)動。在其中機器人100滾動到一側(cè)(S卩,左或右)(例如,決策框1064、1068為“否”)的情況下,機器人100在框1072處遠離障礙物18轉(zhuǎn)向直到滾動處于閾值滾動角度(例如,I度到5度)或替代地閾值傾斜角度ατ內(nèi)為止,接著機器人100前向驅(qū)動且重新開始清潔。如果機器人100以大于閾值傾斜角度α的角度但小于執(zhí)行防傾斜行為300b的閾值時間周期傾斜,那么機器人100可能正從其間具有崎嶇不平的分離的兩個不同表面過渡且因此未碰上潛在停滯狀況。
[0077]在一些實例中,機器人100在真空吸塵時在機器人100攝入錨定(例如)到墻壁20的線或繩ISe(圖11A)(例如,百葉窗線、布簾線、窗簾線、遮陽簾線等等)時傾斜。當機器人100攝入線18e時,線18e可纏繞在驅(qū)動輥刷162上,此致使機器人100傾斜。MU510d檢測機器人100的傾斜且因此可觸發(fā)防傾斜行為300b??刂破?50可執(zhí)行防抽穗(ant1-tassel)行為300k,防抽穗行為300k對驅(qū)動輥刷162 (例如,輥刷)的電動機122a、122b設置輕微反向偏置,使得驅(qū)動輥刷162不主動沿反向方向旋轉(zhuǎn)(此可致使線ISe再次被纏住)而是在機器人100遠離所攝入線ISe后退時幫助驅(qū)動輥刷162反向旋轉(zhuǎn)。機器人100還可停止真空器件168且嘗試移動遠離導致傾斜處境的位置,從而允許機器人100松開線ISe且躲避。
[0078]參考圖9B,在一些實施方案中,控制系統(tǒng)210(例如)通過將道路點存儲于非暫時性存儲器154中而記錄機器人100的驅(qū)動路徑610??刂葡到y(tǒng)210可維持驅(qū)動路徑610的歷史達一時間周期(例如,0.5秒、I秒、2秒等等)。在一些實例中,當執(zhí)行防傾斜行為300b時,機器人100沿循其先前記錄的路徑612進入安全區(qū)域中以避免再次被卡住。在一些實例中,控制器150執(zhí)行向后橫越行為300m,向后橫越行為300m致使向機器人資源240發(fā)布從在時間上最后記錄的道路點開始沿循所存儲道路點的命令。向后橫越行為300m自主導航自主移動機器人100沿著互連各個先前橫越的坐標的返回路徑后退。在一些實例中,在躲避停滯狀態(tài)或防傾斜行為300b之后,機器人100不嘗試所執(zhí)行的最后操縱直到其處于距導致傾斜的障礙物18預界定距離為止。
[0079]參考圖1IA到12,在一些實施方案中,行為系統(tǒng)210a包含防攝入行為300c,防攝入行為300c防止機器人100拾取大的物體12(例如,襪子、圍巾)。往回參考圖3,在一些實施方案中,機器人100包含安置于機器人100的前底表面116部分上在驅(qū)動輪124a、124b前面的機械開關(guān)530。機械開關(guān)530檢測不應由機器人100拾取的物體12、18。開關(guān)530可彼此鄰近地安置或分離開一距離(例如,等距地)。機械開關(guān)530可沿著由主體110界定的橫向軸X基本上對置。機器人100具有從地板表面10到機器人100的底表面116的空隙距離C。機械開關(guān)530具有距機器人100的底表面116的距離CmXt是其中機器人100可橫越而不激活機械開關(guān)的空隙距離閾值。
[0080]C = Cm+Ct(3)
[0081]Cx=C-CM(4)
[0082]當機器人100橫越具有大于閾值高度Ct的高度Co的障礙物18時,物體12可物理上致動一或若干開關(guān)530。然而,如果障礙物18具有小于閾值高度Ct的高度Co,那么物體12不在物理上致動一或若干開關(guān)530。
[0083]舉例來說,與物體12接觸可致使電路閉合,從而激活開關(guān)530。當開關(guān)530被同時激活達大于閾值時間周期的時間周期時,行為系統(tǒng)210a可執(zhí)行防攝入行為300c。所述閾值時間周期可為可調(diào)整及/或可調(diào)諧的。防攝入行為300c可停止真空器件168及/或反向偏置輥刷162(例如,以沿反向方向被動地旋轉(zhuǎn)以允許纏繞在輥刷162上的繩在機器人100退離時退繞)。另外或替代地,機器人100通過以小角度圍繞其Z軸移動達特定時間周期(例如,0.5秒、0.6秒等等)而擺動。接著,控制器150發(fā)布停止輥刷162的旋轉(zhuǎn)的命令且命令機器人100擺動達另一時間周期(例如,1.8秒)。此后,機器人100重新開始行為300。
[0084]參考圖12的流程圖1200,在一些實例中,機械開關(guān)530在框1202處由需要被機器人100拾取的較大片的碎肩14激活。在此類實例中,控制器150確定碎肩檢測器510a是否被激活。如果如此,那么控制器150激活輥刷162以拾取碎肩14。然而,如果碎肩檢測器510a未被激活,那么控制器150在決策框1204處確定MU 510d及/或輪編碼器121a、121b是否檢測到慣性移動的改變。如果頂U 510d及/或輪編碼器121a、121b檢測到移動(例如,決策框1204為“是”),那么機器人100確定其是否處于停滯狀態(tài)中,且如果如此,那么在框1220處執(zhí)行防停滯行為310a,如先前參考圖8A及8B所描述。如果頂U 510d及/或輪編碼器121a、121b未檢測到慣性移動的任何改變(例如,決策框1204為“否”),那么行為系統(tǒng)210a在框1206處執(zhí)行防攝入行為300c。防攝入行為300c可包含停止機器人(框1208)、使刷反向(框1210)、使機器人擺動(框1212)、停止刷(框1214)及/或在停止刷之后在于框1218處重新開始清潔之前使機器人擺動(框1216)。因此,MU510d對機器人100傾斜的指示可越權(quán)控制防攝入行為。在一些實例中,控制器210在機械開關(guān)530被激活達閾值時間周期時起始防攝入行為300c。
[0085]參考圖13的流程圖1300,在一些實施方案中,行為系統(tǒng)210a包含輪擠塞行為300d。行為系統(tǒng)210a在輪模塊120a、120b的輪124a、124b由于物體12卡在輪124a、124b中而停轉(zhuǎn)時執(zhí)行輪擠塞行為300d??刂破?50在框1302處從傳感器系統(tǒng)500接收輪124a、124b以大于閾值的速率停轉(zhuǎn)的信號。行為系統(tǒng)210a可執(zhí)行躲避行為300i以重新開始機器人100的活動。例如,控制器150可在框1304處發(fā)布具有擺動角度的驅(qū)動命令,且在框1304處從頂U 510d及輪編碼器121a、121b接收信號以在決策框1308處確定機器人100是否正擺動。如果控制器150確定機器人100正擺動(例如,決策框1308為“是”),那么控制器150可在框1310處確定機器人100上無停滯。然而,如果控制器150確定機器人100不擺動(例如,決策框1308為“否”),那么控制器150可在框1312處確定機器人100上的停滯且在框1314處執(zhí)行躲避行為300i。在一些實例中,行為系統(tǒng)210a執(zhí)行擺動行為3001,擺動行為3001致使向右輪124a及左輪124b發(fā)布交替反向驅(qū)動命令直到移除物體18d(例如,襪子)且輪124a、124b不再停轉(zhuǎn)為止。
[0086]圖14提供用于操作自主移動機器人100的方法1400的操作的示范性布置。方法1400包含從傳感器系統(tǒng)500接收1410傳感器信號。所述傳感器信號包含慣性測量或角定向。方法1400進一步包含在計算處理器152上執(zhí)行1420行為系統(tǒng)210a。行為系統(tǒng)210a從傳感器系統(tǒng)500接收傳感器信號且基于所述傳感器信號而執(zhí)行至少一個行為300。如果傳感器信號指示1430機器人100是固定不動的,那么行為系統(tǒng)210a執(zhí)行防停滯行為300a以評估停滯狀態(tài)(例如,擠住、困住或扭動),且如果傳感器信號指示機器人100相對于支撐表面10(例如,地板)傾斜,那么行為系統(tǒng)210a執(zhí)行防傾斜行為300b以評估約束狀態(tài)。
[0087]在一些實施方案中,防停滯行為300a包含發(fā)布具有擺動角度Θ的擺動命令。所述擺動命令包含沿以擺動角度Θ相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。方法1400可進一步包含在計算處理器152處從傳感器系統(tǒng)500接收第二傳感器信號。如果第二傳感器信號指示在執(zhí)行具有第一擺動角度Θ的第一擺動命令之后機器人100是固定不動的,那么防停滯行為300a發(fā)布具有大于第一擺動角度Θ的第二擺動角度的第二擺動命令。
[0088]在一些實例中,方法1400包含在機器人100相對于重力方向傾斜達至少閾值時間周期T時執(zhí)行防傾斜行為300b。方法1400可包含在機器人100相對于重力方向及前向驅(qū)動方向F上仰時執(zhí)行前向驅(qū)動命令,且在機器人相對于重力方向及前向驅(qū)動方向F下俯時執(zhí)行反向驅(qū)動命令。
[0089]在一些實例中,方法1400包含在機器人100相對于重力方向傾斜成大于閾值角度ατ的角度時執(zhí)行防傾斜行為300b。方法1400可包含在機器人100相對于重力方向及前向驅(qū)動方向F上仰時執(zhí)行前向驅(qū)動命令,且在機器人100相對于重力方向及前向驅(qū)動方向F下俯時執(zhí)行反向命令。
[0090]在一些實施方案中,方法1400進一步包含激活安置于機器人100的底表面116上在驅(qū)動系統(tǒng)120a、120b的驅(qū)動輪124a、124b前向的機械開關(guān)530。機械開關(guān)530在障礙物18接觸機械開關(guān)530時激活。另外,方法1400可包含在機械開關(guān)530被激活且傳感器系統(tǒng)500檢測到固定不動的機器人100時執(zhí)行防停滯行為300a。往回參考圖11B,機械開關(guān)530具有距機器人100的底表面116的距離CmXt是其中機器人100可橫越而不激活機械開關(guān)530的空隙距離閾值(參見方程式3及方程式4)。當機器人100橫越具有大于閾值高度Ct的高度Co的障礙物18時,物體12可在物理上致動一或若干開關(guān)530。然而,如果障礙物18具有小于閾值高度Ct的高度Co,那么物體12不在物理上致動一或若干開關(guān)530。
[0091]在一些實施方案中,方法1400包含使用清潔系統(tǒng)160清潔或處理地板表面10。方法1400可包含在機械開關(guān)530被激活且傳感器系統(tǒng)500檢測到運動時執(zhí)行防攝入行為300c。防攝入行為300c致使發(fā)布用于停止清潔行為(例如,點清潔行為300e、塵埃搜尋行為300h)的清潔停止命令且發(fā)布具有擺動角度Θ的擺動命令。所述擺動命令包含沿以擺動角度Θ相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。擺動命令允許機器人100釋放導致輪124a、124b停轉(zhuǎn)的物體18d(例如,襪子)。在一些實例中,方法1400包含在控制器150從傳感器系統(tǒng)500接收到指示機器人100的輪124a、124b以小于停轉(zhuǎn)閾值的停轉(zhuǎn)速率停轉(zhuǎn)的信號時執(zhí)行輪擠塞行為300d,輪擠塞行為300d致使發(fā)布用于釋放機器人100的經(jīng)停轉(zhuǎn)輪124a、124b的擺動命令。
[0092]此處所描述的系統(tǒng)及技術(shù)的各種實施方案可以數(shù)字電子電路及/或光學電路、集成電路、專門設計的ASIC(專用集成電路)、計算機硬件、固件、軟件及/或其組合而實現(xiàn)。這些各種實施方案可包含可在可編程系統(tǒng)上執(zhí)行及/或解譯的一或多個計算機程序中的實施方案,所述可編程系統(tǒng)包含可為專用或通用的至少一個可編程處理器(其經(jīng)耦合以從存儲系統(tǒng)接收數(shù)據(jù)及指令且將數(shù)據(jù)及指令發(fā)射到存儲系統(tǒng))、至少一個輸入裝置及至少一個輸出裝置。
[0093]這些計算機程序(還稱為程序、軟件、軟件應用程序或代碼)包含用于可編程處理器的機器指令且可以高級程序及/或?qū)ο髮虻木幊陶Z言及/或以匯編/機器語言實施。如本文中所使用,術(shù)語“機器可讀媒體”及“計算機可讀媒體”是指用于將機器指令及/或數(shù)據(jù)提供到可編程處理器的任何計算機程序產(chǎn)品、非暫時性計算機可讀媒體、設備及/或裝置(例如,磁盤、光盤、存儲器、可編程邏輯裝置(PLD)),所述可編程處理器包含接收機器指令作為機器可讀信號的機器可讀媒體。術(shù)語“機器可讀信號”是指用于將機器指令及/或數(shù)據(jù)提供到可編程處理器的任何信號。
[0094]本說明書中所描述的標的物及功能性操作的實施方案可實施于數(shù)字電子電路中,或?qū)嵤┯诎菊f明書中所揭示的結(jié)構(gòu)及其結(jié)構(gòu)等效物的計算機軟件、固件或硬件中,或者實施于其中的一或多者的組合中。此外,本說明書中所描述的標的物可實施為一或多個計算機程序產(chǎn)品,即,經(jīng)編碼于計算機可讀媒體上的計算機程序指令的一或多個模塊,以供由數(shù)據(jù)處理設備執(zhí)行或用以控制數(shù)據(jù)處理設備的操作。所述計算機可讀媒體可為機器可讀存儲裝置、機器可讀存儲襯底、存儲器裝置、實現(xiàn)機器可讀所傳播信號的物質(zhì)的組合物或其中一或多者的組合。術(shù)語“數(shù)據(jù)處理設備”、“計算裝置”及“計算處理器”涵蓋用于處理數(shù)據(jù)的所有設備、裝置及機器,通過實例的方式,包含可編程處理器、計算機或者多個處理器或計算機。除硬件外,所述設備還可包含為所討論的計算機程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如,構(gòu)成處理器固件、協(xié)議堆疊、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或其中的一或多者的組合的代碼。所傳播信號為經(jīng)產(chǎn)生以編碼用于發(fā)射到適合接收器設備的信息的人工產(chǎn)生的信號,例如機器產(chǎn)生的電信號、光學信號或電磁信號。
[0095]類似地,盡管在圖式中以特定次序描繪操作,但不應將此理解為需要以所展示的特定次序或以按順序次序執(zhí)行此類操作,或執(zhí)行所有所圖解說明的操作以實現(xiàn)合意的結(jié)果。在特定情況下,多任務及并行處理可為有利的。此外,不應將在上文所描述的實施例中的各種系統(tǒng)組件的分離理解為在所有實施例中需要此分離,且應理解,通??蓪⑺枋龅某绦蚪M件及系統(tǒng)一起集成于單個軟件產(chǎn)品中或封裝到多個軟件產(chǎn)品中。
[0096]已描述若干個實施方案。不過,將理解,可在不背離本發(fā)明的精神及范圍的情況下做出各種修改。因此,其它實施方案也在所附權(quán)利要求書的范圍內(nèi)。舉例來說,權(quán)利要求書中所引用的行動可以不同次序來執(zhí)行且仍實現(xiàn)合意的結(jié)果。
【主權(quán)項】
1.一種自主移動機器人(100),其包括: 機器人主體(110),其界定前向驅(qū)動方向(F); 驅(qū)動系統(tǒng)(120),其支撐所述機器人主體(110)且經(jīng)配置以在地板表面(10)上操縱所述機器人(100); 傳感器系統(tǒng)(500),其包括輪編碼器(121a、121b)及用于測量所述機器人(100)的姿勢的慣性測量單元(510d),所述傳感器系統(tǒng)(500)發(fā)布指示所述機器人(100)的所述姿勢的傳感器(510)信號;及 控制器(150),其與所述驅(qū)動系統(tǒng)(120)及所述傳感器系統(tǒng)(500)通信且具有執(zhí)行行為系統(tǒng)(210a)的計算處理器(152),所述行為系統(tǒng)(210a)從所述傳感器系統(tǒng)(500)接收所述傳感器(510)信號且基于所述傳感器(510)信號而執(zhí)行至少一個行為(300); 其中所述行為系統(tǒng)(210a)響應于傳感器(510)信號指示所述機器人(100)受到約束而執(zhí)行防停滯行為(300a)以評估約束狀態(tài);且 其中所述行為系統(tǒng)(210a)響應于傳感器(510)信號指示所述機器人(100)相對于重力方向傾斜而執(zhí)行防傾斜行為(300b)以評估傾斜狀態(tài)。2.根據(jù)權(quán)利要求1所述的機器人(100),其中所述驅(qū)動系統(tǒng)(120)結(jié)合所述傳感器系統(tǒng)(500)通過執(zhí)行具有第一擺動角度(Θ)的第一擺動命令而評估所述約束狀態(tài),所述第一擺動命令包括沿以所述第一擺動角度(Θ)相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。3.根據(jù)權(quán)利要求2所述的機器人(100),其中當所述控制器(150)從所述慣性測量單元(510d)或所述輪編碼器(121a、121b)接收到指示所述機器人(100)未按命令展現(xiàn)擺動驅(qū)動運動的至少一個信號時,所述機器人(100)執(zhí)行具有大于所述第一擺動角度(Θ)的第二擺動角度(Θ)的第二擺動命令。4.根據(jù)權(quán)利要求3所述的機器人(100),其中當所述慣性測量單元(510d)及/或所述輪編碼器(121a、121b)的信號未處于用于指示機器人(100)移動的可允許容限內(nèi)時,所述控制器(150)向所述驅(qū)動系統(tǒng)(120)發(fā)布防停滯命令。5.根據(jù)權(quán)利要求1所述的機器人(100),其中所述約束狀態(tài)包括所述機器人(100)相對于物體(12)進入或處于擠住位置。6.根據(jù)權(quán)利要求5所述的機器人(100),其中所述傳感器(510)信號包括: 碰撞信號,其指示所述機器人(100)與所述物體(12)接觸;及 輪下落信號,其指示所述驅(qū)動系統(tǒng)(120)的輪(124a、124b)移動遠離所述機器人主體(110).7.根據(jù)權(quán)利要求1所述的機器人(100),其中所述防停滯行為(300a)致使執(zhí)行使所述機器人(100)遠離阻礙物后退或使所述機器人(100)遠離所述機器人(100)的經(jīng)歷約束的一側(cè)轉(zhuǎn)向的驅(qū)動命令。8.根據(jù)權(quán)利要求7所述的機器人(100),其中所述防停滯行為(300a)進一步致使執(zhí)行沿弧形軌跡(600a、600b)驅(qū)動所述機器人(100)的驅(qū)動命令。9.根據(jù)權(quán)利要求1所述的機器人(100),其中所述行為系統(tǒng)(210a)在所述機器人(100)相對于所述重力方向傾斜達至少閾值時間周期時執(zhí)行所述防傾斜行為(300b)。10.根據(jù)權(quán)利要求9所述的機器人(100),其中所述防傾斜行為(300b)在所述機器人(100)相對于所述重力方向及所述前向驅(qū)動方向(F)上仰時致使執(zhí)行前向驅(qū)動命令,且在所述機器人(100)相對于所述重力方向及所述前向驅(qū)動方向(F)下俯時致使執(zhí)行反向驅(qū)動命令。11.根據(jù)權(quán)利要求1所述的機器人(100),其中所述行為系統(tǒng)(210a)在所述機器人(100)相對于所述重力方向傾斜成大于閾值角度(ατ)的角度時執(zhí)行所述防傾斜行為(300b)。12.根據(jù)權(quán)利要求11所述的機器人(100),其中所述防傾斜行為(300b)在所述機器人(100)相對于所述重力方向及所述前向驅(qū)動方向(F)上仰時致使執(zhí)行前向驅(qū)動命令,且在所述機器人(100)相對于所述重力方向及所述前向驅(qū)動方向下俯時致使執(zhí)行反向命令。13.根據(jù)權(quán)利要求1所述的機器人(100),其進一步包括安置于所述機器人(100)的底表面(116)上在所述驅(qū)動系統(tǒng)(120)的驅(qū)動輪(124a、124b)前向的機械開關(guān)(530),所述機械開關(guān)(530)在障礙物(18)接觸所述機械開關(guān)(530)時被激活。14.根據(jù)權(quán)利要求13所述的機器人(100),其中所述行為系統(tǒng)(210a)在所述機械開關(guān)(530)被激活時執(zhí)行停滯行為(300、300m)以評估停滯狀態(tài)。15.根據(jù)權(quán)利要求14所述的機器人(100),其進一步包括用于清潔或處理所述地板表面(10)的清潔系統(tǒng)(160)。16.根據(jù)權(quán)利要求15所述的機器人(100),其中所述行為系統(tǒng)(210a)在所述機械開關(guān)(530)被激活且所述傳感器系統(tǒng)(500)檢測到運動時執(zhí)行防攝入行為(300c),所述防攝入行為(300c)致使發(fā)布用于停止清潔行為(300e)的清潔停止命令且發(fā)布具有擺動角度(Θ)的擺動命令,所述擺動命令包括沿以所述擺動角度(Θ)相對于彼此成角度的交替左及右驅(qū)動方向進行驅(qū)動的驅(qū)動命令。17.根據(jù)權(quán)利要求16所述的機器人(100),其中所述行為系統(tǒng)(210a)在所述控制器(150)從所述傳感器系統(tǒng)(500)接收到指示所述機器人(100)的所述輪(124a、124b)以小于停轉(zhuǎn)閾值速率的停轉(zhuǎn)速率停轉(zhuǎn)的信號時執(zhí)行輪擠塞行為(300d),所述輪擠塞行為(300d)致使發(fā)布用于釋放所述機器人(100)的經(jīng)停轉(zhuǎn)輪(124a、124b)的所述擺動命令。18.根據(jù)權(quán)利要求17所述的機器人(100),其進一步包含驅(qū)動輥刷(162),所述驅(qū)動輥刷(162)平行于橫向X軸延伸且由所述機器人主體(110)以可旋轉(zhuǎn)方式支撐以接觸地板表面(10),所述驅(qū)動輥刷(162)沿第一方向圍繞所述X軸旋轉(zhuǎn),其中所述防攝入行為(300c)致使偏置所述輥刷(162)以沿與所述第一方向相反的第二方向被動地旋轉(zhuǎn)。19.根據(jù)權(quán)利要求1所述的機器人(100),其中所述傳感器系統(tǒng)(500)包含以下各項中的至少一者:障礙物檢測障礙物避開傳感器(150)、通信傳感器(150)、導航傳感器(150)、接近度傳感器(150)、接觸傳感器(150)、相機(150)、聲納(150)、雷達(150)、LIDAR(150)或LADAR(150)。20.—種用于自主移動機器人(100)的控制系統(tǒng)(210),所述控制系統(tǒng)(210)包括: 控制仲裁系統(tǒng)(210b),其在計算處理器(152)上執(zhí)行且向所述機器人(100)的資源(240)發(fā)布命令; 驅(qū)動系統(tǒng)(120),其包括右驅(qū)動輪(124a)及左驅(qū)動輪(124b),所述驅(qū)動系統(tǒng)(120)支撐所述機器人主體(110)且經(jīng)配置以在地板表面(10)上操縱所述機器人(100); 傳感器系統(tǒng)(500),其包括跟蹤兩個驅(qū)動輪(124a、124b)的旋轉(zhuǎn)的輪編碼器(121a、121b)及測量所述機器人(100)的姿勢的慣性測量單元(510d),所述傳感器系統(tǒng)(500)發(fā)布指示所述機器人(100)的所述姿勢的傳感器(510)信號;及 控制器(150),其與所述驅(qū)動系統(tǒng)(120)及所述傳感器系統(tǒng)(500)通信,所述控制器(150)具有執(zhí)行行為系統(tǒng)(210a)的計算處理器(152),所述行為系統(tǒng)(210a)從所述傳感器系統(tǒng)(500)接收所述傳感器(510)信號且基于所述傳感器(510)信號而執(zhí)行至少一個行為(300); 其中所述行為系統(tǒng)(210a)響應于傳感器(510)信號指示所述機器人(100)受到約束而執(zhí)行防停滯行為(300a)以評估約束狀態(tài);且 其中所述行為系統(tǒng)(210a)響應于傳感器(510)信號指示所述機器人(100)相對于重力方向傾斜而執(zhí)行防傾斜行為(300b)以評估傾斜狀態(tài)。21.根據(jù)權(quán)利要求20所述的控制系統(tǒng)(210),其中當所述控制器(150)從所述慣性測量單元(510d)或所述輪編碼器(121a、121b)接收到指示所述機器人(100)未按命令展現(xiàn)擺動驅(qū)動運動的至少一個信號時,所述機器人(100)執(zhí)行具有大于第一擺動角度(Θ)的第二擺動角度(Θ)的第二擺動命令。22.一種操作自主移動機器人(100)的方法(1400),所述方法(1400)包括: 在計算處理器(152)處從所述機器人(100)的傳感器系統(tǒng)(500)接收傳感器(510)信號,所述傳感器(510)信號包含里程計信號及指示所述機器人(100)的姿勢的慣性測量信號;及 在所述計算處理器(152)上執(zhí)行行為系統(tǒng)(210a),所述行為系統(tǒng)(210a)從所述傳感器系統(tǒng)(500)接收所述傳感器(510)信號且執(zhí)行: 響應于傳感器(510)信號指示所述機器人(100)受到約束而做出防停滯行為(300a)以評估約束狀態(tài);及 響應于傳感器(510)信號指示所述機器人(100)相對于重力方向傾斜而做出防傾斜行為(300b)以評估傾斜狀態(tài)。
【文檔編號】A47L9/28GK105899112SQ201480072695
【公開日】2016年8月24日
【申請日】2014年12月30日
【發(fā)明人】M·施尼特曼, T·W·布什曼
【申請人】艾羅伯特公司