本發(fā)明總體上涉及人機交互技術領域,更特別地,涉及一種可移動機器人以及設置該可移動機器人的巡邏路徑的方法。
背景技術:
智能機器人涉及諸多學科的交叉領域,例如包括人工智能、無線通信、半導體、計算機、機械工程、電氣工程等。隨著科學和技術的持續(xù)發(fā)展,已經(jīng)開發(fā)并且制造出了許多種類的智能機器人,服務于人類生產(chǎn)和生活的各個領域,例如,有掃地機器人、看護機器人、搬運機器人、安保巡邏機器人等。這些機器人可以在工作區(qū)域內自主地或者按照設定的路徑移動,以實現(xiàn)其所設計的功能。
在現(xiàn)有技術中,一般通過便攜設備例如手機、平板計算機等運行app程序來為可移動機器人設定移動路徑,也稱為巡邏路徑。以手機為例,其可以通過例如藍牙、無線局域網(wǎng)、因特網(wǎng)或者甚至通信網(wǎng)絡與可移動機器人建立通信連接。通過運行app程序,手機可以顯示可移動機器人上存儲的工作環(huán)境地圖,并且可以在該地圖上編輯可移動機器人的巡邏路徑。在完成巡邏路徑的編輯后,app程序可以將該巡邏路徑保存到可移動機器人所包括的存儲器中,以供可移動機器人執(zhí)行。
技術實現(xiàn)要素:
然而,上述傳統(tǒng)的巡邏路徑設置方法存在許多缺陷。首先,該傳統(tǒng)方法僅適合于可移動機器人已經(jīng)具有了其工作環(huán)境的地圖的情況,因為手機app應用程序需要在該地圖的基礎上編輯可移動機器人的巡邏路徑。其次,該傳統(tǒng)方法需要使用手機或平板計算機這樣的額外設備,而且要求例如手機具有較大的顯示屏幕,增加了系統(tǒng)成本。再者,用于設置巡邏路徑的app應用程序一般涉及復雜的操作,其對于不熟悉計算機操作的人,例如年長者而言,是困難的。
為了至少解決上述問題之一,本申請?zhí)岢隽艘环N新穎的用于可移動機器人的巡邏路徑設置方案,其通過使可移動機器人跟蹤人類用戶的移動來方便快捷地為可移動機器人設置巡邏路徑。
根據(jù)本申請的一個方面,提供一種用于可移動機器人的巡邏路徑設置方法,其可包括:響應于用戶的第一命令,進入巡邏路徑設置模式;鎖定所述用戶,并且跟蹤所述用戶的移動;在跟蹤所述用戶的移動的同時,確定移動路徑;以及將所確定的移動路徑存儲為巡邏路徑。
在一些實施例中,所述巡邏路徑設置方法還可包括:響應于所述用戶的第二命令,或者響應于跟蹤所述用戶返回至原點,完成所述巡邏路徑。
在一些實施例中,當所述第一命令是本地觸發(fā)命令或遠程通信命令時,鎖定所述用戶可包括基于圖像識別來鎖定所述用戶。在一些實施例中,基于圖像識別來鎖定所述用戶可包括:利用圖像傳感器捕獲環(huán)境圖像;識別所捕獲的環(huán)境圖像中的一個或多個潛在用戶;當識別了一個潛在用戶時,鎖定所述一個潛在用戶;以及當識別了多個潛在用戶時,則鎖定最接近的那個潛在用戶。在一些實施例中,當識別了多個潛在用戶時,則進一步判斷所示第一命令的類型,如果所述第一命令是本地觸發(fā)命令,則鎖定所述多個潛在用戶中的最接近的一個用戶,如果所述第一命令是遠程通信命令,則鎖定所述多個潛在用戶中的最先移動的那個用戶,如果有多個用戶都在移動,則鎖定最接近的那個移動的用戶。
在一些實施例中,當所述第一命令是語音命令時,鎖定所述用戶可包括基于圖像識別和聲源定位的組合來鎖定所述用戶。在一些實施例中,基于圖像識別和聲源定位的組合來鎖定所述用戶可包括:基于作為語音命令的所述第一命令確定聲源方向;將圖像傳感器旋轉至所述聲源方向上;利用所述圖像傳感器在所述聲源方向上捕獲環(huán)境圖像;識別并且鎖定所捕獲的環(huán)境圖像中的在所述聲源方向上的用戶。在一些實施例中,基于圖像識別和聲源定位的組合來鎖定所述用戶可包括:步驟a,基于作為語音命令的所述第一命令確定聲源方向;步驟b,將圖像傳感器旋轉至所述聲源方向上;步驟c,利用所述圖像傳感器在所述聲源方向上捕獲環(huán)境圖像;步驟d,基于所捕獲的環(huán)境圖像識別所述用戶;步驟e,如果基于所捕獲的環(huán)境圖像成功識別所述用戶,則鎖定所述用戶;步驟f,如果基于所捕獲的環(huán)境圖像未能成功識別所述用戶,則根據(jù)預設策略確定是否沿所述聲源方向前進;步驟g,如果根據(jù)預設策略確定沿所述聲源方向前進,則驅動所述可移動機器人沿所述聲源方向前進,然后返回至步驟c;以及步驟h,如果根據(jù)預設策略確定不沿所述聲源方向前進,則不驅動所述可移動機器人沿所述聲源方向前進,并且也返回至步驟c。
在一些實施例中,跟蹤所述用戶的移動可包括:獲得所述用戶的輪廓信息;以及跟蹤所述用戶的輪廓來進行移動。在一些實施例中,所述輪廓信息可包括整個人體輪廓、頭部輪廓或人體的其他局部輪廓中的一個或多個。
在一些實施例中,跟蹤所述用戶的移動還可包括:響應于來自所述用戶的第三命令,執(zhí)行相應的移動。所述第三命令可以是語音命令或遠程通信命令。
在一些實施例中,確定移動路徑可包括:確定所述可移動機器人經(jīng)過的各個路徑點相對于前一個路徑點的相對坐標。
在一些實施例中,將所確定的移動路徑存儲為巡邏路徑可包括:將所述可移動機器人經(jīng)過的所有路徑點存儲為巡邏路徑;或者將所述可移動機器人經(jīng)過的所有路徑點中的、由所述用戶的第四命令所指示的一個或多個路徑點存儲為巡邏路徑。所述第四命令可以是語音命令、本地觸發(fā)命令和遠程通信命令之一。
在一些實施例中,所述可移動機器人已經(jīng)具有工作環(huán)境的地圖。所存儲的巡邏路徑是位于所述工作環(huán)境的地圖中的路徑。
在一些實施例中,所述可移動機器人尚未具有工作環(huán)境的地圖。此時,所述巡邏路徑設置方法還可包括:在跟蹤所述用戶的移動的同時,運行SLAM算法以構建工作環(huán)境的地圖。所存儲的巡邏路徑是位于所構建的工作環(huán)境的地圖中的路徑。
在一些實施例中,所述巡邏路徑設置方法還可包括:響應于所述用戶的第五命令,設置所述巡邏路徑的巡邏時間和巡邏頻率中的一個或多個。所述第五命令可以是語音命令、本地觸發(fā)命令和遠程通信命令之一。在一些實施例中,設置所述巡邏路徑的巡邏時間和巡邏頻率中的一個或多個可以在所述可移動機器人跟蹤所述用戶完成了所述巡邏路徑時進行。在完成了巡邏時間和巡邏頻率的設置之后,所述可移動機器人可以退出所述巡邏路線設置模式。
根據(jù)本申請的另一個方面,提供一種可移動機器人,其可包括:用于使所述可移動機器人移動的驅動部件;用于捕獲圖像的至少一個圖像傳感器;用于捕獲聲音的至少一個傳聲器;以及與所述圖像傳感器和所述傳聲器通信的至少一個處理器,所述處理器配置為運行存儲在計算機可讀介質中的計算機指令以執(zhí)行上面所論述的方法。
在一些實施例中,所述至少一個傳聲器可以包括麥克風陣列。
根據(jù)本申請的又一個方面,提供一種計算機程序產(chǎn)品,其可包括計算機程序指令,所述計算機程序指令在被一個或多個處理器運行時使得所述處理器執(zhí)行上面所論述的方法。
根據(jù)本申請的再一個方面,提供一種計算機可讀介質,其可存儲有計算機程序指令,所述計算機程序指令在被一個或多個處理器運行時可使得所述處理器執(zhí)行上面論述的方法。
與現(xiàn)有技術相比,本申請?zhí)岢龅姆桨覆恍枰~外的設備,即可設置可移動機器人的巡邏路徑。而且,本申請的方案規(guī)避了復雜的app應用程序操作,操作簡單便捷,從而即使不熟悉計算機操作的人也能夠容易地利用本申請的方案來設置可移動機器人的巡邏路徑。此外,本申請的方案還可以適用于可移動機器人尚未具有工作環(huán)境的地圖的情況,因此應用范圍和場景更廣闊。
附圖說明
通過結合附圖對本申請的示例性實施例進行更詳細的描述,本申請的上述以及其他目的、特征和優(yōu)勢將變得更加明顯。附圖用來提供對本申請的示例性實施例的進一步理解,并且構成說明書的一部分,與本申請的示例性實施例一起用于解釋本申請,而不構成對本申請的限制。在附圖中,相同或相似的附圖標記通常代表相同或相似的部件或步驟。
圖1是示出根據(jù)本發(fā)明一示例性實施例的用于可移動機器人的巡邏路徑設置方法的流程圖。
圖2是示出根據(jù)本發(fā)明一示例性實施例的基于圖像識別來鎖定用戶的方法的流程圖。
圖3A是示出根據(jù)本發(fā)明一示例性實施例的基于圖像識別和聲源定位的組合來鎖定用戶的方法的流程圖。
圖3B是示出根據(jù)本發(fā)明另一示例性實施例的基于圖像識別和聲源定位的組合來鎖定用戶的方法的流程圖。
圖4A是示出根據(jù)本發(fā)明一示例性實施例的可移動機器人跟蹤用戶移動時的示例場景的示意圖。
圖4B是示出根據(jù)本發(fā)明另一示例性實施例的可移動機器人跟蹤用戶移動時的示例場景的示意圖。
圖5是示出根據(jù)本發(fā)明另一示例性實施例的可移動機器人的結構的框圖。
具體實施方式
下面,將參考附圖詳細地描述根據(jù)本申請的示例實施例。顯然,所描述的實施例僅僅是本申請的一部分實施例,而不是本申請的全部實施例,應理解,本申請不受這里描述的示例實施例的限制。
發(fā)明概述
如前所述,現(xiàn)有技術中為可移動機器人設置巡邏路徑時,需要使用諸如手機、平板計算機之類的便攜移動設備運行app應用程序來進行,并且app應用程序需要讀取可移動機器人上存儲的環(huán)境地圖,基于該地圖來繪制或編輯用于可移動機器人的巡邏路徑。這種傳統(tǒng)的巡邏路徑設置方法存在諸多缺陷,例如需要額外的設備,操作復雜,并且還需要預先知曉環(huán)境地圖。在例如動態(tài)環(huán)境的情況下,可移動機器人上存儲的環(huán)境地圖可能已經(jīng)與實際環(huán)境并不一致,導致在app應用程序中設置的巡邏路徑可能已經(jīng)不可巡邏。
本發(fā)明通過簡單的技術方案解決了上述問題。本發(fā)明的一個基本構思是,用戶可以帶領可移動機器人沿巡邏路徑巡邏一次,可移動機器人即可記住巡邏路徑,并且以后可以按該路徑執(zhí)行巡邏。這種方案也可以稱為“教導-重現(xiàn)(teach-playback)”模式。這樣,本發(fā)明避免了對手機以及app應用程序的需要,無需對app應用程序的復雜界面和功能進行操作,而只需要帶領可移動機器人沿巡邏路徑走一次,操作簡單快捷。本發(fā)明的方案不僅適用于可移動機器人已經(jīng)知曉環(huán)境地圖的情況,而且也還適用于可移動機器人尚不知曉環(huán)境地圖的情形。在后一種情況下,例如,可移動機器人可以在跟隨用戶沿巡邏路徑行進以設置巡邏路徑的同時,通過即時定位和地圖構建(SLAM)算法來建立環(huán)境地圖。由于本發(fā)明的巡邏路徑設置方法是在沿實際路徑巡邏的同時完成對巡邏路徑的設置,其保證了所設置的巡邏路徑與最新真實環(huán)境之間的一致性,從而避免了因例如手機app應用程序設置的巡邏路線與真實動態(tài)環(huán)境之間的矛盾而導致巡邏路徑不可用的問題。
在介紹了本申請的基本原理之后,下面將參考附圖來具體介紹本申請的各種非限制性實施例。
示例性實施例
圖1是示出根據(jù)本發(fā)明一示例性實施例的用于可移動機器人的巡邏路徑設置方法的流程圖。如圖1所示,用于可移動機器人的巡邏路徑設置方法100可以始于步驟110,可移動機器人接收到來自于用戶的第一命令而進入巡邏路徑設置模式。第一命令可以是任何形式的命令。例如,在一些實施例中,第一命令可以是本地觸發(fā)命令,諸如用戶通過按可移動機器人自身上的物理按鈕或者觸摸屏而觸發(fā)的命令;在一些實施例中,第一命令也可以是遠程通信命令,例如用戶使用專用于可移動機器人的遙控器發(fā)出的紅外信號命令,或者用于使用自己的手機發(fā)出的命令,手機可以通過無線局域網(wǎng)、因特網(wǎng)、或通信網(wǎng)等與可移動機器人建立通信連接,并且運行特定的app應用程序來控制可移動機器人。應理解的是,這里在用手機app應用程序控制可移動機器人以設置巡邏路徑時,可以不要求app應用程序讀取可移動機器人中存儲的環(huán)境地圖。優(yōu)選地,在一些實施例中,第一命令可以是來自用戶的語音命令。例如,用戶可以向可移動機器人發(fā)出語音命令“設置巡邏路徑”,可移動機器人上的傳聲器部件例如麥克風陣列拾取用戶語音并且通過語音識別算法提取出關鍵詞“設置巡邏路徑”,從而響應于該命令進入巡邏路徑設置模式。在正確響應第一命令而進入巡邏路徑設置模式之后,可移動機器人還可以向外提供一定的輸出以表示成功進入了該模式,例如可以利用其具有發(fā)光部件向外發(fā)射特定顏色的光或閃爍光以表示進入了該模式,或者可以利用揚聲器發(fā)出“已經(jīng)進入巡邏路徑設置模式”的聲音來表示已經(jīng)成功進入了該模式。
在進入巡邏路徑設置模式后,可移動機器人可以在步驟120判斷其所接收到的第一命令的形式,其是語音命令,還是非語音命令,例如前述本地觸發(fā)命令或遠程通信命令?;诘谝幻畹男问剑梢苿訖C器人可以執(zhí)行不同的處理方式。例如,當?shù)谝幻钍钦Z音命令時,可移動機器人則可以基于圖像識別和聲源定位的組合來識別并且鎖定用戶,如步驟140所示;當?shù)谝幻畈皇钦Z音命令時,可移動機器人則可以僅基于圖像識別來識別并且鎖定用戶,如步驟130所示。識別并且鎖定用戶的步驟,例如步驟130和步驟140,將在下面再進行詳細的說明。
在步驟130或步驟140成功鎖定用戶之后,可移動機器人則可以跟蹤用戶并且隨用戶而移動,如步驟150所示。用戶可以帶著可移動機器人在工作環(huán)境中沿想要設置的巡邏路徑行進??梢苿訖C器人除了利用跟蹤算法跟隨用戶移動之外,還可以接收來自用戶的第二命令來進行移動。例如,在某些特定應用場景,用戶可以希望可移動機器人巡邏人類用戶不能到達或者不適宜到達的區(qū)域,此時用戶可以用第二命令來使機器人移動到該區(qū)域,而自己不必移動到該區(qū)域。因此可理解,第二命令優(yōu)選是語音命令或遠程通信命令。
在隨用戶移動的同時,可移動機器人可以執(zhí)行定位算法以確定其移動路徑??梢苿訖C器人可以使用已有的多種定位方法,例如相對定位法,諸如航位推算法(Dead Reckoning)等,絕對定位法,諸如GPS定位、信標定位、地圖匹配定位和概率定位等,以及包括相對定位和絕對定位二者的組合定位法??梢苿訖C器人可以根據(jù)不同的應用場景來選擇不同的定位方法,例如室內機器人可以采用相對定位法,而室外機器人可以采用絕對定位法或組合定位等。
以適于室內機器人的相對定位法中的航位推算法為例,可移動機器人已知其初始位置,將其設置為原點。在機器人跟隨用戶移動時,其利用例如位移測量部件,諸如里程計和加速度計,航向傳感器,諸如角速率陀螺儀、磁羅盤和差動里程計等,確定其每個路徑點相對于上一個路徑點的位移矢量。這種相對于上一個路徑點的位移矢量也稱為相對坐標,而將所有路徑點的相對坐標累加起來,即可得到可移動機器人的當前位置相對于原點的位移矢量,其也稱為絕對坐標。在一些實施例中,可移動機器人可以采用航位推算法來確定其移動路徑上的各個路徑點的相對坐標。
可以理解的是,航位推算是一個累加過程,測量誤差和計算誤差會隨著時間而逐漸累積,導致定位精度隨時間不斷下降。因此,在一些實施例中,還可以將航位推算與其他傳感器信息相結合來進行定位。例如,在一些實施例中,當可移動機器人中已經(jīng)存儲有當前工作環(huán)境的地圖時,可移動機器人還可以利用例如激光傳感器、聲吶傳感器等來確定可移動機器人相對于其他地圖特征的距離,用于校正其當前位置的坐標。
當然應理解的是,本發(fā)明亦可應用到可移動機器人尚未具有工作環(huán)境的地圖的情況。在該情況下,可移動機器人可以在跟隨用于移動的同時,利用例如即時定位和地圖構建(SLAM)算法來構建工作環(huán)境的地圖,同時確定其在該地圖中的移動路徑。此時,可移動機器人可以采用多種算法來提高定位精度,例如用UMBmark校核來校正機器人的物理結構和慣性傳感器精度因素引起的系統(tǒng)誤差,用Gyrodometry算法來校正地面不平導致的方向誤差、用Scheding等人提出了傳感器融合信息來校正輪子打滑對定位的影響等等。這些算法都是本領域已知的,因此這里不再對其進行詳細描述。
雖然上面給出了較多的相對定位算法實施例,但是應理解,當可移動機器人處于適當?shù)膽脠鼍皶r,亦可使用絕對定位或組合定位。同樣,這些定位算法也是本領域已知的,因此這里不再對其進行詳細描述。
如上所述,可移動機器人在步驟160確定了其移動路徑(或者說,移動路徑上的各個路徑點的坐標)。當可移動機器人跟隨著用戶返回到原點時,可移動機器人可以確定已經(jīng)完成了整個移動路徑,從而將該移動路徑存儲為巡邏路徑,如步驟170所示。在另一些實施例中,也可以使可移動機器人在接收到用戶的第三命令時,才確定已經(jīng)完成了整個移動路徑,并且執(zhí)行巡邏路徑存儲步驟170。第三命令可以是任何形式的命令,例如前述語音命令、本地觸發(fā)命令或遠程通信命令等。例如,可移動機器人在接收到用戶的語音命令“巡邏結束”時,才確定完成了整個巡邏路徑。這有利于例如巡邏路徑不是閉環(huán),或者在經(jīng)過原點形成閉環(huán)之后還要繼續(xù)巡邏其他路徑的情形。
雖然圖1的流程圖中未示出,但是在一些實施例中,在確定完成了整個巡邏路徑之后,而在存儲巡邏路徑(步驟170)之前,還可以設置該巡邏路徑的巡邏參數(shù),例如巡邏時間、巡邏頻率等。例如,可移動機器人可以播放提示語音“請設置巡邏時間”等來提示用戶設置巡邏時間,用戶則發(fā)出語音命令例如“13點30分”、“22點到次日7點”等來設置巡邏時間??梢苿訖C器人還可以播放提示語音例如“請設置巡邏頻率”等來提示用戶設置巡邏頻率,可移動機器人也可以進一步播放一些選項例如“選項A,每天”來供用戶選擇。用戶可以語音地設置巡邏頻率,或者可以從所提供的選項中進行選擇。當然,用戶也可以在其他時間用其他方式來設置巡邏參數(shù)。例如,可以在進入巡邏路徑設置模式時首先就設置巡邏參數(shù),可以利用可移動機器人上的觸摸顯示屏等來設置巡邏參數(shù)。在所設置的巡邏參數(shù)例如時間與其他巡邏路徑相抵觸時,還可以提示用戶,讓用戶選擇優(yōu)先執(zhí)行哪個巡邏,或者放棄哪個巡邏。在完成了各種巡邏參數(shù)的設置之后,可移動機器人可以將帶有這些參數(shù)的移動路徑存儲為巡邏路徑。
最后,在完成了巡邏路徑的設置后,可移動機器人可以在步驟180退出巡邏路徑設置模式,并且可以通過例如提示音或燈光信號來告知用戶退出巡邏路徑設置模式。
如前面參照步驟130和140所述,可移動機器人可以基于第一命令的類型利用圖像識別或者圖像識別和聲源定位的組合來鎖定用戶。圖2示出了根據(jù)本發(fā)明一示例性實施例的基于圖像識別來鎖定用戶的方法的流程圖,其可用于例如圖1的步驟130。如圖2所示,基于圖像識別來鎖定用戶的方法200可始于首先捕獲環(huán)境圖像的步驟210。應理解,在本發(fā)明中提及捕獲圖像時,不僅涵蓋捕獲單幀圖像的情況,而且還涵蓋捕獲圖像序列的情況,即連續(xù)地或者以預定時間間隔捕獲多幀圖像,并且利用具有預定時間間隔的多幀圖像來實現(xiàn)預期目的。這種理解也適用于例如拾取環(huán)境聲音的情況。在步驟210中,可移動機器人可以進行旋轉以捕獲360度周圍環(huán)境的圖像。
接下來,在步驟220,可移動機器人可以基于所捕獲的環(huán)境圖像,利用圖像識別算法來識別潛在用戶。例如,可移動機器人可以利用人臉識別算法來識別潛在用戶,亦可以利用其他算法來識別潛在用戶,例如人體輪廓識別算法,人體特征部位輪廓識別算法例如頭部輪廓識別算法、軀干輪廓識別算法等等來識別潛在用戶。
然后,在步驟230可以檢查識別結果,以確定是識別了一個潛在用戶還是多個潛在用戶。在理想的情況下,只識別了一個潛在用戶時,可以判斷這個潛在用戶就是要帶領可移動機器人進行巡邏路徑設置的用戶,因此直接鎖定這個用戶,如步驟240所示。另一方面,當在步驟220識別了兩個或者更多個潛在用戶時,則還需要進一步從這多個潛在用戶中識別出向可移動機器人發(fā)出了第一命令的那個用戶。雖然在圖2的流程圖中未示出,但是在一些實施例中,可以直接鎖定這多個潛在用戶中的最接近的那個用戶。在另一些實施例中,也可以進展到步驟250以進一步判斷第一命令的類型是本地命令還是遠程命令。當確定第一命令是本地觸發(fā)命令,例如通過可移動機器人本身上的物理按鈕或觸摸屏觸發(fā)的命令時,可以判斷發(fā)出第一命令的那個用戶就在可移動機器人旁邊,因此可移動機器人鎖定最接近的那個用戶,如步驟260所示。當確定第一命令是遠程通信命令,例如通過手機或遙控器發(fā)出的命令時,則可以在步驟270中鎖定最先移動的那個潛在用戶,因為可以假設這個用戶在觸發(fā)了可移動機器人的巡邏路徑設置模式之后,會立刻帶領可移動機器人去進行巡邏。在一些特殊情況下,可能同時有多個潛在用戶都在移動,作為缺省策略,此時可以鎖定最接近的那個移動的用戶。通過這些步驟,完成了利用圖像識別來鎖定用戶的過程。
圖3A示出了根據(jù)本發(fā)明一示例性實施例的基于圖像識別和聲源定位的組合來鎖定用戶的方法的流程圖,圖3B示出了根據(jù)本發(fā)明另一示例性實施例的基于圖像識別和聲源定位的組合來鎖定用戶的方法的流程圖,圖3A和圖3B所示的方法可用于例如圖1的步驟140。
首先參照圖3A,基于圖像識別和聲源定位的組合來鎖定用戶的方法300可以始于步驟310,基于作為語音命令的第一命令來確定聲源方向。可移動機器人可以利用例如麥克風陣列來進行聲源定位步驟310。簡言之,由于麥克風陣列中的各個麥克風的排列位置不同,用戶發(fā)出的第一語音命令,即聲波,在空氣中傳輸后到達各個麥克風的相位也不同。根據(jù)各個麥克風對同一聲音采集時的相位差別,可以計算出同一聲音到達每對麥克風的時間差,則這個聲源就處于以這對麥克風所處位置為焦點,到達時間差所對應的聲音傳輸距離為參數(shù)的雙曲面上。使用多對麥克風得到多個時間差,也就得到了多個雙曲面,那么聲源位置就處于這些雙曲面的相交點上,這就是聲源定位的基本原理。在步驟310中,可以不需要確定聲源的準確位置(即,方向+距離),而只需要確定聲源方向即可。
然后在步驟320,可以將可移動機器人上的圖像傳感器旋轉至步驟310所確定的聲源方向上,并且在步驟330中捕獲聲源方向上的圖像。在步驟340,利用所捕獲的聲源方向上的圖像,識別并且鎖定用戶。捕獲圖像以及識別和鎖定用戶的步驟可以大體上如前面參照圖2所述,這里不再贅述。
在圖3A所示的方法中,由于采用了聲源定位來確定用戶的方向,因此能夠大大提高用戶鎖定的準確度,并且節(jié)省鎖定時間。例如,可以直接識別并且鎖定在聲源方向上的用戶,而不必關心在其他方向上的用戶。應理解,在圖3A所示的方法中,還可以利用前述第一命令之后的后續(xù)語音命令來不斷校正聲源方向,以進一步提高用戶鎖定的準確度。
在一些情況下,即使確定了正確的聲音方向,也有可能不能識別和鎖定用戶。圖3B所示的方法300'在一定程度上解決了該問題。圖3B的方法300'中的步驟310、320和330可以與圖3A的方法300相同,因此這里省略對其的重復描述。
參照圖3B,在步驟330捕獲圖像之后,進展到步驟350,確定是否成功識別了用戶。如果成功識別了用戶,則進展到步驟360,鎖定該用戶;否則進展到步驟370,基于預定策略判斷是否可以向聲源方向移動。所述預定策略例如包括是否已經(jīng)處于特定位置而無法繼續(xù)前進(例如已到墻邊等),或者因接收到新的語音命令而中斷當前處理等。如果在步驟370確定可以向聲源方向繼續(xù)移動,則在步驟380向聲源方向移動一距離,然后重復執(zhí)行步驟330的圖像捕獲操作。由于離聲源位置更近,所以捕獲圖像后成功識別用戶的幾率增大。另一方面,如果在步驟370確定不能繼續(xù)向聲源方向移動,那么該過程也返回到步驟330,重復圖像捕獲和識別的過程,以嘗試鎖定用戶。
雖然上面描述了基于圖像識別和聲源定位的組合來識別和鎖定用戶的實施例,但是本發(fā)明不限于這些特定實施例,而是也可以采用其他實施方式,例如本申請人的在先中國發(fā)明專利申請201610341566.X中公開的那些,該文獻的全部內容通過引用整體合并于此。
在上面描述的實施例中,用到了圖像識別和語音識別技術。應理解,本發(fā)明不僅可以利用已有的圖像和語音識別技術,而且還可以利用正在或未來開發(fā)的相關識別技術。還應理解,這里所述的圖像識別不僅包括可視圖像的識別,而且還可以包括例如紅外圖像、激光圖像、超聲波圖像等的識別技術。
圖4A示出了根據(jù)本發(fā)明一示例性實施例的可移動機器人跟蹤用戶移動時的示例場景。例如,可移動機器人10可以設置在工作環(huán)境400中,工作環(huán)境400中可具有若干不能到達的位置,例如402、404等。用于可移動機器人10的塢站410設置在工作環(huán)境400中的某位置處。不工作時,可移動機器人10可以??吭趬]站410處進行充電??梢苿訖C器人10已經(jīng)具有了整個工作環(huán)境400的地圖,并且可以將塢站410的位置設置為原點。
通過執(zhí)行前面描述的巡邏路徑設置方法,可移動機器人10可以跟隨用戶20移動,從而生成移動路徑420。雖然在前面描述的一些實施例中,可以將整個路徑420保存為巡邏路徑,但是在一些實施例中,也可以將路徑420上的一些路徑點,例如路徑點422、424、426和428保存為巡邏路徑。例如,當可移動機器人10到達某一路徑點例如路徑點422時,用戶20可以發(fā)出命令“設置巡邏點”以將該路徑點作為必須巡邏到的一個位置。在一些實施例中,用戶20甚至還可以設置應巡邏該位置的時間。類似地,用戶20可以在帶領機器人10移動時設置多個這樣的巡邏點,例如點424、426和428等。當完成了整個路徑時,可移動機器人10可以將這些點的序列保存為巡邏路徑。在以后執(zhí)行巡邏時,可移動機器人10按照該路徑,在預定的時間到達預定的巡邏點,而巡邏點之間的路徑可以由可移動機器人10自主地確定。
圖4B的示例場景與圖4A類似,除了可移動機器人10事先沒有工作環(huán)境400'的地圖之外。因此,在圖4B的情況中,可移動機器人10可以在跟隨用戶20移動的同時,執(zhí)行即時定位和地圖構建(SLAM)來生成工作環(huán)境的地圖。如圖4B所示,可移動機器人10已經(jīng)生成了沿著路徑420的一部分地圖。當完成巡邏路徑時,可移動機器人10可以先保存這一部分地圖,等以后合適的時機再完成整個工作環(huán)境的地圖。
上面描述了與用于可移動機器人的巡邏路徑設置方法相關的一些操作的實施例,下面參照圖5來描述可移動機器人的例子。圖5是示出根據(jù)本發(fā)明另一示例性實施例的可移動機器人的結構的框圖。如圖5所示,可移動機器人10可包括圖像傳感器11、傳聲器12、存儲器13、輸出部件14、驅動部件15以及處理器17,這些部件通過總線系統(tǒng)16彼此連接。
圖像傳感器11可以是例如一個或多個攝像頭,其可以是單目攝像頭、雙目攝像頭或者更多目的攝像頭。但是應理解,本發(fā)明不限于可見光成像,而是,圖像傳感器11也可以是例如紅外成像器件、超聲波成像器件、激光成像器件等,這樣這些器件可以捕獲能用于用戶識別的圖像即可。此外,圖像傳感器11還可以用于在巡邏過程中對工作環(huán)境進行監(jiān)視。
傳聲器12可以是例如麥克風,優(yōu)選是麥克風陣列,其用于接收語音命令,進行聲源定位等。
存儲器13可以存儲有供處理器17使用的數(shù)據(jù)或程序指令。例如,處理器17可以利用從圖像傳感器11和傳聲器12采集的數(shù)據(jù),并且利用存儲器13中存儲的數(shù)據(jù),執(zhí)行存儲器13中存儲的程序指令以實施上面所描述的那些方法和步驟。處理器17執(zhí)行的結果可以存儲于存儲器13中,或者通過輸出部件14輸出。輸出部件14可以是各種類型的輸出部件,例如揚聲器、打印機、顯示器、燈泡等。總線系統(tǒng)16確保了數(shù)據(jù)能夠在包括驅動部件15在內的這些部件之間傳輸。
驅動部件15可用于驅動可移動機器人10移動。例如,驅動部件15可包括電機以及受電機驅動的輪子或履帶等。電機的運行可由處理器17控制。
處理器17可包括一個或多個處理器,或者可包括封裝在一個處理器中的多個處理器核。除了常規(guī)的中央處理單元之外,處理器17也可以是所謂的協(xié)處理器,例如用于處理圖像或視頻信號的圖形協(xié)處理器,用于處理音頻信號的音頻協(xié)處理器等。處理器17也可包括專用于處理某個部件或者某種信號的所謂的控制器等。
雖然未示出,但是可移動機器人10亦可包括許多其他部件,例如諸如陀螺儀、激光器、聲吶之類的傳感器,執(zhí)行特定功能例如清掃、搬運、檢測等功能的執(zhí)行器,以及用于與外界建立無線通信連接的通信部件等。取決于可移動機器人10被設計來應用的領域,可移動機器人10可以具有各種各樣不同的部件。
應用場景示例
本發(fā)明的可移動機器人10可應用于各種場景。例如,機器人10可用于家庭的掃地機器人,用于可以利用上述方法來設置掃地機器人的清掃路線。機器人10也可以是例如工廠中的搬運機器人,其可以在指定的時間按照指定的路線將貨物從一處搬運到另一處。機器人10也可以是用于家庭、社區(qū)、工廠等處的安保巡邏機器人,其可以設置在在夜間沿固定路線巡邏,以確保家庭、社區(qū)和工廠的安全。這樣的機器人可以執(zhí)行例如傳統(tǒng)的守夜人的作用。機器人10還可以是用于例如家庭、養(yǎng)老院、醫(yī)院等的看護機器人,其可以按照預定路線巡邏以確保例如老人、病患等都處于正常的狀態(tài)。例如,當機器人10“看”到老人或患者躺在地上,或者“聽”到老人或患者的呼叫或呼救時,可以及時向相關的人或機構發(fā)出通知或警告等
應理解,上面描述的可移動機器人10及其相關方法還可以應用于需要使機器人10沿規(guī)定路徑移動的許多其他方面。
示例性計算機程序產(chǎn)品和計算機可讀存儲介質
除了上述方法和設備以外,本申請的實施例還可以是計算機程序產(chǎn)品,其包括計算機程序指令,所述計算機程序指令在被處理器運行時使得所述處理器執(zhí)行本說明書描述的根據(jù)本申請各種實施例的巡邏路徑設置方法中的各個步驟。
所述計算機程序產(chǎn)品可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本申請實施例操作的程序代碼,所述程序設計語言包括面向對象的程序設計語言,諸如Java、C++等,還包括常規(guī)的過程式程序設計語言,諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執(zhí)行、部分地在用戶設備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設備上部分在遠程計算設備上執(zhí)行、或者完全在遠程計算設備或服務器上執(zhí)行。
此外,本申請的實施例還可以是計算機可讀存儲介質,其上存儲有計算機程序指令,所述計算機程序指令在被處理器運行時使得所述處理器執(zhí)行本說明書描述的根據(jù)本申請各種實施例的巡邏路徑設置方法中的各個步驟。
所述計算機可讀存儲介質可以采用一個或多個可讀介質的任意組合。可讀介質可以是可讀信號介質或者可讀存儲介質。可讀存儲介質例如可以包括但不限于電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。
以上結合具體實施例描述了本申請的基本原理,但是,需要指出的是,在本申請中提及的優(yōu)點、優(yōu)勢、效果等僅是示例而非限制,不能認為這些優(yōu)點、優(yōu)勢、效果等是本申請的各個實施例必須具備的。另外,上述公開的具體細節(jié)僅是為了示例的作用和便于理解的作用,而非限制,上述細節(jié)并不限制本申請為必須采用上述具體的細節(jié)來實現(xiàn)。
本申請中涉及的器件、裝置、設備、系統(tǒng)的方框圖僅作為例示性的例子并且不意圖要求或暗示必須按照方框圖示出的方式進行連接、布置、配置。如本領域技術人員將認識到的,可以按任意方式連接、布置、配置這些器件、裝置、設備、系統(tǒng)。諸如“包括”、“包含”、“具有”等等的詞語是開放性詞匯,指“包括但不限于”,且可與其互換使用。這里所使用的詞匯“或”和“和”指詞匯“和/或”,且可與其互換使用,除非上下文明確指示不是如此。這里所使用的詞匯“諸如”指詞組“諸如但不限于”,且可與其互換使用。
還需要指出的是,在本申請的設備和方法中,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應視為本申請的等效方案。
雖然上面按照一定的順序描述了方法中的各個步驟,但是應理解,這些步驟也可以按照不同的順序進行,或者多個步驟可以同時進行?;蛘咴谝恍嵤├校承┎襟E可以一直持續(xù)地進行。本發(fā)明的方法涵蓋所有這些不同的執(zhí)行順序。
提供所公開的方面的以上描述以使本領域的任何技術人員能夠做出或者使用本申請。對這些方面的各種修改對于本領域技術人員而言是非常顯而易見的,并且在此定義的一般原理可以應用于其他方面而不脫離本申請的范圍。因此,本申請不意圖被限制到在此示出的方面,而是按照與在此公開的原理和新穎的特征一致的最寬范圍。
為了例示和描述的目的已經(jīng)給出了以上描述。此外,此描述不意圖將本申請的實施例限制到在此公開的形式。盡管以上已經(jīng)討論了多個示例方面和實施例,但是本領域技術人員將認識到其某些變型、修改、改變、添加和子組合。