本公開涉及機器人技術領域,尤其涉及一種機器人及其實現(xiàn)自主操控的方法、裝置。
背景技術:
具有自主操控能力的機器人,可以通過主動感知周邊環(huán)境,確定出自身的活動區(qū)域。由于活動區(qū)域較大,為了合理劃分線路、提升能效,可以將活動區(qū)域劃分為若干區(qū)塊后,分別行走至每一區(qū)塊,并在區(qū)塊內(nèi)自主完成預設操作。
然而,相關技術中的機器人在完成每一區(qū)塊內(nèi)的預設操作后,直接選擇最近的區(qū)塊作為下一區(qū)塊,并行走至下一區(qū)塊執(zhí)行預設操作,可能造成機器人的行走線路存在重疊、反復等現(xiàn)象,仍存在一定的優(yōu)化空間。
技術實現(xiàn)要素:
本公開提供一種機器人及其實現(xiàn)自主操控的方法、裝置,以解決相關技術中的不足。
根據(jù)本公開實施例的第一方面,提供一種具有自主操控功能的機器人,包括:
感知系統(tǒng),所述感知系統(tǒng)用于對機器人的周圍環(huán)境進行感知;
控制系統(tǒng),所述控制系統(tǒng)獲取所述感知系統(tǒng)的感知數(shù)據(jù),根據(jù)所述感知數(shù)據(jù)以及預置算法確定所述機器人的活動區(qū)域,此活動區(qū)域包含多個區(qū)塊,所述機器人能夠在所述多個區(qū)塊內(nèi)執(zhí)行預設操作;
所述控制系統(tǒng)在識別出所述機器人附近存在小型區(qū)塊時,控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作;其中,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊。
可選的,所述機器人附近的小型區(qū)塊包括以下至少之一:
與所述機器人所處的區(qū)塊相鄰的小型區(qū)塊;
與所述機器人所處的區(qū)塊之間的距離不大于預設距離的小型區(qū)塊;
與所述機器人到達過的所有區(qū)塊相鄰的小型區(qū)塊。
可選的,所述感知系統(tǒng)包括:測距裝置,用于檢測所述機器人與周圍障礙物之間的距離;其中,所述測距裝置測得的距離被作為所述感知數(shù)據(jù)。
可選的,所述預置算法包括即時定位與地圖構(gòu)建算法。
可選的,所述控制系統(tǒng)以機器人當前位置為起點,由近及遠地對所述多個區(qū)塊的塊邊界點進行遍歷,并對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計;當統(tǒng)計出的任一區(qū)塊的規(guī)格小于或等于所述預設規(guī)格時,所述控制系統(tǒng)確定所述任一區(qū)塊為所述機器人附近的小型區(qū)塊。
可選的,所述對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計,包括:
將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊;
統(tǒng)計每一區(qū)塊內(nèi)的所有空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述空白子塊是指相應區(qū)塊內(nèi)未執(zhí)行過所述預設操作的子塊。
可選的,所述對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計,包括:
將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊;
統(tǒng)計每一區(qū)塊內(nèi)的所有有效空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述有效空白子塊是指在相應區(qū)塊內(nèi)的所有子塊中,與該區(qū)塊內(nèi)的障礙物的最近距離大于法定距離且未執(zhí)行過所述預設操作的子塊。
可選的,所述控制系統(tǒng)在控制所述機器人在附近的小型區(qū)塊執(zhí)行所述預設操作之前,控制所述機器人在目前所處區(qū)塊內(nèi)完成所述預設操作。
可選的,所述感知系統(tǒng)還對每一區(qū)塊內(nèi)的預設特征參數(shù)進行感知;以及,所述控制系統(tǒng)根據(jù)所述預設特征參數(shù)的感知數(shù)值,將所述感知數(shù)值達到預設數(shù)值的區(qū)塊標記為高優(yōu)先級區(qū)塊;
其中,所述控制系統(tǒng)控制所述機器人在附近的小型區(qū)塊執(zhí)行所述預設操作之前,優(yōu)先控制所述機器人在附近的高優(yōu)先級區(qū)塊執(zhí)行所述預設操作。
可選的,當所述機器人為自主清潔設備時,所述預設操作為針對相應區(qū)塊的清潔操作。
根據(jù)本公開實施例的第二方面,提供一種控制機器人實現(xiàn)自主操控的方法,包括:
根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;
識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;
當識別出所述機器人附近存在小型區(qū)塊時,控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
可選的,所述識別所述機器人附近是否存在小型區(qū)塊,包括:
以機器人當前位置為起點,由近及遠地對所述多個區(qū)塊的塊邊界點進行遍歷;
對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計;
當統(tǒng)計出的任一區(qū)塊的規(guī)格小于或等于所述預設規(guī)格時,確定所述任一區(qū)塊為所述機器人附近的小型區(qū)塊。
可選的,所述對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計,包括:
將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊;
統(tǒng)計每一區(qū)塊內(nèi)的所有空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述空白子塊是指相應區(qū)塊內(nèi)未執(zhí)行過所述預設操作的子塊。
可選的,所述對所述塊邊界點所涉及的區(qū)塊進行規(guī)格統(tǒng)計,包括:
將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊;
統(tǒng)計每一區(qū)塊內(nèi)的所有有效空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述有效空白子塊是指在相應區(qū)塊內(nèi)的所有子塊中,與該區(qū)塊內(nèi)的障礙物的最近距離大于法定距離且未執(zhí)行過所述預設操作的子塊。
可選的,還包括:
當所述機器人附近存在高優(yōu)先級區(qū)塊時,在控制所述機器人在附近的小型區(qū)塊執(zhí)行所述預設操作之前,優(yōu)先控制所述機器人在附近的高優(yōu)先級區(qū)塊執(zhí)行所述預設操作;
其中,所述高優(yōu)先級區(qū)塊內(nèi)的預設特征參數(shù)的感知數(shù)值達到預設數(shù)值。
可選的,當所述機器人為自主清潔設備時,所述預設操作為針對相應區(qū)塊的清潔操作。
根據(jù)本公開實施例的第三方面,提供一種控制機器人實現(xiàn)自主操控的裝置,包括:
劃分單元,根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;
識別單元,識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;
第一控制單元,當所述識別單元識別出所述機器人附近存在小型區(qū)塊時,所述第一控制單元控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
可選的,所述識別單元,包括:
遍歷子單元,以機器人當前位置為起點,由近及遠地對所述多個區(qū)塊的塊邊界點進行遍歷;
統(tǒng)計子單元,對所述塊邊界點涉及的區(qū)塊進行規(guī)格統(tǒng)計;
區(qū)塊確定子單元,當統(tǒng)計出的任一區(qū)塊的規(guī)格小于或等于所述預設規(guī)格時,確定所述任一區(qū)塊為所述機器人附近的小型區(qū)塊。
可選的,所述統(tǒng)計子單元還將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊,統(tǒng)計每一區(qū)塊內(nèi)的所有空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述空白子塊是指相應區(qū)塊內(nèi)未執(zhí)行過所述預設操作的子塊。
可選的,所述統(tǒng)計子單元還將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊,統(tǒng)計每一區(qū)塊內(nèi)的所有有效空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述有效空白子塊是指在相應區(qū)塊內(nèi)的所有子塊中,與該區(qū)塊內(nèi)的障礙物的最近距離大于法定距離且未執(zhí)行過所述預設操作的子塊。
可選的,還包括:
第二控制單元,當所述機器人附近存在高優(yōu)先級區(qū)塊時,在控制所述機器人在附近的小型區(qū)塊執(zhí)行所述預設操作之前,優(yōu)先控制所述機器人在附近的高優(yōu)先級區(qū)塊執(zhí)行所述預設操作;
其中,所述高優(yōu)先級區(qū)塊內(nèi)的預設特征參數(shù)的感知數(shù)值達到預設數(shù)值。
可選的,當所述機器人為自主清潔設備時,所述預設操作為針對相應區(qū)塊的清潔操作。
根據(jù)本公開實施例的第四方面,提供一種控制機器人實現(xiàn)自主操控的裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;
識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;
當識別出所述機器人附近存在小型區(qū)塊時,控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
本公開的實施例提供的技術方案可以包括以下有益效果:
由上述實施例可知,本公開通過識別機器人附近的小型區(qū)塊,并優(yōu)先在該小型區(qū)塊內(nèi)執(zhí)行預設操作,可以幫助優(yōu)化機器人的行走線路,減少機器人的行走線路的重疊、反復等現(xiàn)象,尤其是對于存在多個房間的情況下,可以確保機器人在同一房間內(nèi)的所有區(qū)塊均完成預設操作后,才行走至其他房間的區(qū)塊處,有助于向用戶提供良好的使用體驗。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1-4是根據(jù)一示例性實施例示出的一種機器人的結(jié)構(gòu)示意圖。
圖5A是根據(jù)一示例性實施例示出的一種對空房間進行感知和區(qū)塊劃分處理的示意圖。
圖5B是根據(jù)一示例性實施例示出的一種對存在障礙物的房間進行感知和區(qū)塊劃分處理的示意圖。
圖5C是相關技術的一種在活動區(qū)域內(nèi)選擇區(qū)塊的示意圖。
圖5D是相關技術的另一種在活動區(qū)域內(nèi)選擇區(qū)塊的示意圖。
圖5E是根據(jù)一示例性實施例示出的一種在活動區(qū)域內(nèi)選擇區(qū)塊的示意圖。
圖6是根據(jù)一示例性實施例示出的一種控制機器人實現(xiàn)自主操控的方法的流程圖。
圖7是根據(jù)一示例性實施例示出的一種在清潔區(qū)域內(nèi)區(qū)塊規(guī)格統(tǒng)計的示意圖。
圖8是根據(jù)本公開一示例性實施例的一種控制機器人實現(xiàn)自主清潔的方法的流程圖。
圖9是邊界點的層級結(jié)構(gòu)示意圖。
圖10-12是根據(jù)一示例性實施例示出的一種控制機器人實現(xiàn)自主操控的裝置的框圖。
圖13是根據(jù)一示例性實施例示出的一種用于控制機器人實現(xiàn)自主操控的裝置的結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
圖1-4是根據(jù)一示例性實施例示出的一種機器人的結(jié)構(gòu)示意圖,如圖1-4所示,機器人100可以為掃地機器人、拖地機器人等自主清潔設備,該機器人100可以包含機器主體110、感知系統(tǒng)120、控制系統(tǒng)130、驅(qū)動系統(tǒng)140、清潔系統(tǒng)150、能源系統(tǒng)160和人機交互系統(tǒng)170。其中:
機器主體110包括前向部分111和后向部分112,具有近似圓形形狀(前后都為圓形),也可具有其他形狀,包括但不限于前方后圓的近似D形形狀。
感知系統(tǒng)120包括位于機器主體110上方的位置確定裝置121、位于機器主體110的前向部分111的緩沖器122、懸崖傳感器123和超聲傳感器(圖中未示出)、紅外傳感器(圖中未示出)、磁力計(圖中未示出)、加速度計(圖中未示出)、陀螺儀(圖中未示出)、里程計(圖中未示出)等傳感裝置,向控制系統(tǒng)130提供機器的各種位置信息和運動狀態(tài)信息。位置確定裝置121包括但不限于攝像頭、激光測距裝置(LDS)。下面以三角測距法的激光測距裝置為例說明如何進行位置確定。三角測距法的基本原理基于相似三角形的等比關系,在此不做贅述。
激光測距裝置包括發(fā)光單元和受光單元。發(fā)光單元可以包括發(fā)射光的光源,光源可以包括發(fā)光元件,例如發(fā)射紅外光線或可見光線的紅外或可見光線發(fā)光二極管(LED)。優(yōu)選地,光源可以是發(fā)射激光束的發(fā)光元件。在本實施例中,將激光二極管(LD)作為光源的例子。具體地,由于激光束的單色、定向和準直特性,使用激光束的光源可以使得測量相比于其它光更為準確。例如,相比于激光束,發(fā)光二極管(LED)發(fā)射的紅外光線或可見光線受周圍環(huán)境因素影響(例如對象的顏色或紋理),而在測量準確性上可能有所降低。激光二極管(LD)可以是點激光,測量出障礙物的二維位置信息,也可以是線激光,測量出障礙物一定范圍內(nèi)的三維位置信息。
受光單元可以包括圖像傳感器,在該圖像傳感器上形成由障礙物反射或散射的光點。圖像傳感器可以是單排或者多排的多個單位像素的集合。這些受光元件可以將光信號轉(zhuǎn)換為電信號。圖像傳感器可以為互補金屬氧化物半導體(CMOS)傳感器或者電荷耦合元件(CCD)傳感器,由于成本上的優(yōu)勢優(yōu)選是互補金屬氧化物半導體(CMOS)傳感器。而且,受光單元可以包括受光透鏡組件。由障礙物反射或散射的光可以經(jīng)由受光透鏡組件行進以在圖像傳感器上形成圖像。受光透鏡組件可以包括單個或者多個透鏡。
基部可以支撐發(fā)光單元和受光單元,發(fā)光單元和受光單元布置在基部上且彼此間隔一特定距離。為了測量機器人周圍360度方向上的障礙物情況,可以使基部可旋轉(zhuǎn)地布置在主體110上,也可以基部本身不旋轉(zhuǎn)而通過設置旋轉(zhuǎn)元件而使發(fā)射光、接收光發(fā)生旋轉(zhuǎn)。旋轉(zhuǎn)元件的旋轉(zhuǎn)角速度可以通過設置光耦元件和碼盤獲得,光耦元件感應碼盤上的齒缺,通過齒缺間距的滑過時間和齒缺間距離值相除可得到瞬時角速度。碼盤上齒缺的密度越大,測量的準確率和精度也就相應越高,但在結(jié)構(gòu)上就更加精密,計算量也越高;反之,齒缺的密度越小,測量的準確率和精度相應也就越低,但在結(jié)構(gòu)上可以相對簡單,計算量也越小,可以降低一些成本。
與受光單元連接的數(shù)據(jù)處理裝置,如DSP,將相對于機器人0度角方向上的所有角度處的障礙物距離值記錄并傳送給控制系統(tǒng)130中的數(shù)據(jù)處理單元,如包含CPU的應用處理器(AP),CPU運行基于粒子濾波的定位算法獲得機器人的當前位置,并根據(jù)此位置制圖,供導航使用。定位算法優(yōu)選使用即時定位與地圖構(gòu)建(SLAM)。
基于三角測距法的激光測距裝置雖然在原理上可以測量一定距離以外的無限遠距離處的距離值,但實際上遠距離測量,例如6米以上,的實現(xiàn)是很有難度的,主要因為受光單元的傳感器上像素單元的尺寸限制,同時也受傳感器的光電轉(zhuǎn)換速度、傳感器與連接的DSP之間的數(shù)據(jù)傳輸速度、DSP的計算速度影響。激光測距裝置受溫度影響得到的測量值也會發(fā)生系統(tǒng)無法容忍的變化,主要是因為發(fā)光單元與受光單元之間的結(jié)構(gòu)發(fā)生的熱膨脹變形導致入射光和出射光之間的角度變化,發(fā)光單元和受光單元自身也會存在溫漂問題。激光測距裝置長期使用后,由于溫度變化、振動等多方面因素累積而造成的形變也會嚴重影響測量結(jié)果。測量結(jié)果的準確性直接決定了繪制地圖的準確性,是機器人進一步進行策略實行的基礎,尤為重要。
機器主體110的前向部分111可承載緩沖器122,在清潔過程中驅(qū)動輪模塊141推進機器人在地面行走時,緩沖器122經(jīng)由傳感器系統(tǒng),例如紅外傳感器,檢測機器人100的行駛路徑中的一或多個事件(或?qū)ο?,機器人可通過由緩沖器122檢測到的事件(或?qū)ο?,例如障礙物、墻壁,而控制驅(qū)動輪模塊141使機器人來對所述事件(或?qū)ο?做出響應,例如遠離障礙物。
控制系統(tǒng)130設置在機器主體110內(nèi)的電路主板上,包括與非暫時性存儲器,例如硬盤、快閃存儲器、隨機存取存儲器,通信的計算處理器,例如中央處理單元、應用處理器,應用處理器根據(jù)激光測距裝置反饋的障礙物信息利用定位算法,例如SLAM,繪制機器人所在環(huán)境中的即時地圖。并且結(jié)合緩沖器122、懸崖傳感器123和超聲傳感器、紅外傳感器、磁力計、加速度計、陀螺儀、里程計等傳感裝置反饋的距離信息、速度信息綜合判斷掃地機當前處于何種工作狀態(tài),如過門檻,上地毯,位于懸崖處,上方或者下方被卡住,塵盒滿,被拿起等等,還會針對不同情況給出具體的下一步動作策略,使得機器人的工作更加符合主人的要求,有更好的用戶體驗。進一步地,控制系統(tǒng)130能基于SLAM繪制的即時地圖信息規(guī)劃最為高效合理的清掃路徑和清掃方式,大大提高機器人的清掃效率。
驅(qū)動系統(tǒng)140可基于具有距離和角度信息,例如x、y及θ分量的驅(qū)動命令而操縱機器人100跨越地面行駛。驅(qū)動系統(tǒng)140包含驅(qū)動輪模塊141,驅(qū)動輪模塊141可以同時控制左輪和右輪,為了更為精確地控制機器的運動,優(yōu)選驅(qū)動輪模塊141分別包括左驅(qū)動輪模塊和右驅(qū)動輪模塊。左、右驅(qū)動輪模塊沿著由主體110界定的橫向軸對置。為了機器人能夠在地面上更為穩(wěn)定地運動或者更強的運動能力,機器人可以包括一個或者多個從動輪142,從動輪包括但不限于萬向輪。驅(qū)動輪模塊包括行走輪和驅(qū)動馬達以及控制驅(qū)動馬達的控制電路,驅(qū)動輪模塊還可以連接測量驅(qū)動電流的電路和里程計。驅(qū)動輪模塊141可以可拆卸地連接到主體110上,方便拆裝和維修。驅(qū)動輪可具有偏置下落式懸掛系統(tǒng),以可移動方式緊固,例如以可旋轉(zhuǎn)方式附接,到機器人主體110,且接收向下及遠離機器人主體110偏置的彈簧偏置。彈簧偏置允許驅(qū)動輪以一定的著地力維持與地面的接觸及牽引,同時機器人100的清潔元件也以一定的壓力接觸地面10。
清潔系統(tǒng)150可為干式清潔系統(tǒng)和/或濕式清潔系統(tǒng)。作為干式清潔系統(tǒng),主要的清潔功能源于滾刷結(jié)構(gòu)、塵盒結(jié)構(gòu)、風機結(jié)構(gòu)、出風口以及四者之間的連接部件所構(gòu)成的清掃系統(tǒng)151。與地面具有一定干涉的滾刷結(jié)構(gòu)將地面上的垃圾掃起并卷帶到滾刷結(jié)構(gòu)與塵盒結(jié)構(gòu)之間的吸塵口前方,然后被風機結(jié)構(gòu)產(chǎn)生并經(jīng)過塵盒結(jié)構(gòu)的有吸力的氣體吸入塵盒結(jié)構(gòu)。掃地機的除塵能力可用垃圾的清掃效率DPU(Dust pick up efficiency)進行表征,清掃效率DPU受滾刷結(jié)構(gòu)和材料影響,受吸塵口、塵盒結(jié)構(gòu)、風機結(jié)構(gòu)、出風口以及四者之間的連接部件所構(gòu)成的風道的風力利用率影響,受風機的類型和功率影響,是個復雜的系統(tǒng)設計問題。相比于普通的插電吸塵器,除塵能力的提高對于能源有限的清潔機器人來說意義更大。因為除塵能力的提高直接有效降低了對于能源要求,也就是說原來充一次電可以清掃80平米地面的機器,可以進化為充一次電清掃180平米甚至更多。并且減少充電次數(shù)的電池的使用壽命也會大大增加,使得用戶更換電池的頻率也會增加。更為直觀和重要的是,除塵能力的提高是最為明顯和重要的用戶體驗,用戶會直接得出掃得是否干凈/擦得是否干凈的結(jié)論。干式清潔系統(tǒng)還可包含具有旋轉(zhuǎn)軸的邊刷152,旋轉(zhuǎn)軸相對于地面成一定角度,以用于將碎屑移動到清潔系統(tǒng)150的滾刷區(qū)域中。
能源系統(tǒng)160包括充電電池,例如鎳氫電池和鋰電池。充電電池可以連接有充電控制電路、電池組充電溫度檢測電路和電池欠壓監(jiān)測電路,充電控制電路、電池組充電溫度檢測電路、電池欠壓監(jiān)測電路再與單片機控制電路相連。主機通過設置在機身側(cè)方或者下方的充電電極與充電樁連接進行充電。
人機交互系統(tǒng)170包括主機面板上的按鍵,按鍵供用戶進行功能選擇;還可以包括顯示屏和/或指示燈和/或喇叭,顯示屏、指示燈和喇叭向用戶展示當前機器所處狀態(tài)或者功能選擇項;還可以包括手機客戶端程序。對于路徑導航型清潔設備,在手機客戶端可以向用戶展示設備所在環(huán)境的地圖,以及機器所處位置,可以向用戶提供更為豐富和人性化的功能項。
為了更加清楚地描述機器人的行為,進行如下方向定義:機器人100可通過相對于由主體110界定的如下三個相互垂直軸的移動的各種組合在地面上行進:橫向軸x、前后軸y及中心垂直軸z。沿著前后軸y的前向驅(qū)動方向標示為“前向”,且沿著前后軸y的后向驅(qū)動方向標示為“后向”。橫向軸x實質(zhì)上是沿著由驅(qū)動輪模塊141的中心點界定的軸心在機器人的右輪與左輪之間延伸。其中,機器人100可以繞x軸轉(zhuǎn)動。當機器人100的前向部分向上傾斜,后向部分向下傾斜時為“上仰”,且當機器人100的前向部分向下傾斜,后向部分向上傾斜時為“下俯”。另外,機器人100可以繞z軸轉(zhuǎn)動。在機器人的前向方向上,當機器人100向Y軸的右側(cè)傾斜為“右轉(zhuǎn)”,當機器人100向y軸的左側(cè)傾斜為“左轉(zhuǎn)”。
機器人100通過感知系統(tǒng)120對自身的周圍環(huán)境進行感知,而控制系統(tǒng)130可以根據(jù)感知系統(tǒng)120的感知數(shù)據(jù)以及預置算法確定該機器人100的活動區(qū)域,且該活動區(qū)域被劃分為多個區(qū)塊,使得機器人100能夠在這多個區(qū)塊內(nèi)執(zhí)行預設操作。其中,預置算法可以包括即時定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)算法,當然本公開并不對此進行限制。下面以SLAM算法為例,對機器人100感知和劃分得到多個區(qū)塊進行描述:
如圖5A所示,機器人100位于房間內(nèi),需要對該房間進行感知和區(qū)塊劃分處理。假定機器人100被配置為按照2d×2d的規(guī)格進行區(qū)塊劃分,那么機器人100首先通過對周圍環(huán)境的感知,確定是否能夠?qū)⒆陨碇糜谠?d×2d規(guī)格的虛擬塊的中心點處。在圖5A所示的實施例中,假定與機器人100間隔距離為d的范圍內(nèi)不存在障礙物,即機器人100可以作為一采用2d×2d規(guī)格的虛擬塊的中心點處,即圖5A中標記“A5”所處的虛擬塊(以虛線標示)的中心點處。
那么,機器人100按照2d×2d的規(guī)格劃分得到該標記“A5”所處的虛擬塊,然后按照該2d×2d規(guī)格沿該虛擬塊的上、下、左、右等各個邊沿向外延伸,得到圖5A中對房間形成覆蓋的9個虛擬塊。由于房間存在實際的邊界(以黑色加粗實線標示),而機器人100可以感知到房間邊界,因而由房間的實體邊界與虛擬塊的虛擬邊界共同劃分出圖5A所示的9個區(qū)塊,包括區(qū)塊A1、區(qū)塊A2、區(qū)塊A3……區(qū)塊A9等。
當然,機器人100并不總是能夠?qū)⒆陨碇糜谔摂M塊的中心處。如圖5B所示,當房間內(nèi)存在諸如障礙物1、障礙物2等時,若機器人100與障礙物1、障礙物2之間的間隔距離為a1、a2,且a1<d、a2<d,那么機器人100沿自身與障礙物1、障礙物2的反方向延伸(2d-a1)、(2d-a2),得到圖5B中標記“A5’”所處的、符合預定的2d×2d規(guī)格的虛擬塊。
然后,類似于圖5A所示的實施例,機器人100在圖5B中擴展得到9個虛擬塊,并根據(jù)房間的實體邊界、障礙物的實體邊界、和虛擬塊的虛擬邊界共同劃分得到圖5B所示的10個區(qū)塊,包括區(qū)塊A1’、區(qū)塊A2’、區(qū)塊A3’……區(qū)塊10’等。
控制系統(tǒng)130按照上述的區(qū)塊劃分結(jié)果,依次選擇每個區(qū)塊作為機器人100的行走目標,從而控制機器人100依次行走至各個區(qū)塊執(zhí)行預設操作。但是,在相關技術提供的技術方案中,控制系統(tǒng)130總是選擇距離機器人100最近的區(qū)域,以作為該機器人100的下一個行走目標,導致其行走線路存在一些缺陷。
圖5C是現(xiàn)有技術的的一種在活動區(qū)域內(nèi)選擇區(qū)塊的示意圖。如圖5C所示,假定機器人100將自身的活動區(qū)域劃分為區(qū)塊1、區(qū)塊2、區(qū)塊3等不同區(qū)塊,機器人100需要分別行走至各個區(qū)塊并執(zhí)行預設操作。假定機器人100首先在區(qū)塊1內(nèi)執(zhí)行預設操作,而當機器人100完成在區(qū)塊1內(nèi)的預設操作時,如果機器人100位于圖5C所示的A點處,那么由于A點與區(qū)塊2的距離較近、與區(qū)塊3的距離較遠,機器人100將區(qū)塊2選擇為下一個行走目標,從而由區(qū)塊1行走至區(qū)塊2并執(zhí)行預設操作。
那么,對于圖5C所示的實施例而言,即當區(qū)塊1與區(qū)塊2屬于同一房間時,通過由區(qū)塊1行走至區(qū)塊2,即機器人100依次在區(qū)塊1、區(qū)塊2內(nèi)執(zhí)行預設操作,可以首先完成對房間1的操作,然后才行走至房間2內(nèi)的區(qū)塊3處執(zhí)行預設操作。那么,機器人100的行為可以理解為:依次行走至每個房間,并在給房間內(nèi)執(zhí)行預設操作。
但是,如果機器人100完成在區(qū)塊1內(nèi)的預設操作時位于B點處,那么由于B點與區(qū)塊2的距離較遠、與區(qū)塊3的距離較近,機器人100會選擇區(qū)塊3為下一個行走目標,從而先由區(qū)塊1行走至房間2內(nèi)的區(qū)塊3并執(zhí)行預設操作,然后由區(qū)塊3返回房間1內(nèi)的區(qū)塊2。那么,機器人100的行為可以理解為:在多個房間之間重復行走,行為雜亂無章。因此,從用戶角度而言,其自身的行為方式往往貼合于前一種方式,即依次對每個房間進行處理,而不會在多個房間之間反復行走和處理,所以由此過渡到使用具有自動操控能力的機器人100時,其心理預期顯然也貼合于自身的上述習慣,所以當機器人100出現(xiàn)上述后一種情況時,用戶可能認為機器人100出現(xiàn)故障,或者懷疑機器人100的自動操控能力,從而極大地影響用戶的使用體驗。
為了更明顯地體現(xiàn)出本公開的優(yōu)點,如圖5D所示,現(xiàn)有技術中機器人在具有這種房間格局的室內(nèi)空間執(zhí)行預設操作時,采取的方式為依次行走至房間1的區(qū)塊1、房間2的區(qū)塊3、房間3的區(qū)塊4、房間4的區(qū)塊5等大型區(qū)塊內(nèi)執(zhí)行預設操作,然后從地圖上尋找剩余的區(qū)塊,從而回到房間1的區(qū)塊2等小型區(qū)塊進行清掃,這樣可以看出,機器人的無效行走距離增加,機器人的工作效能較低。而較為理想的一種方式,如圖5E所示,先清理房間1的區(qū)塊2等小型小塊,再依次清理房間1的區(qū)塊1、房間2的區(qū)塊3、房間3的區(qū)塊4、房間4的區(qū)塊5等大型區(qū)塊。通過對比可以看出,圖5E所示意的行走方式更為合理。并且從機器人100角度而言,在多個房間之間重復行走會導致驅(qū)動系統(tǒng)140的能耗增加、降低機器人100的續(xù)航能力,機器人100的工作效率也較低。
因此,本公開通過對控制系統(tǒng)130的功能改進,可以優(yōu)化機器人100的行走線路,提升其在活動區(qū)域內(nèi)完成預設操作的效率,避免上述后一種情形的發(fā)生。下面結(jié)合實施例進行詳細說明:
圖6是根據(jù)一示例性實施例示出的一種控制機器人實現(xiàn)自主操控的方法的流程圖,如圖6所示,該方法應用于機器人100的控制系統(tǒng)130中,可以包括以下步驟:
在步驟602中,根據(jù)對機器人100周圍環(huán)境的感知數(shù)據(jù)和預置算法,對機器人100的活動區(qū)域進行區(qū)塊劃分,該機器人100能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作。
在本實施例中,由機器人100的感知系統(tǒng)120對周圍環(huán)境進行感知,得到感知數(shù)據(jù),然后由控制系統(tǒng)130根據(jù)感知數(shù)據(jù)和預置算法,對機器人100的活動區(qū)域進行區(qū)塊劃分。
在本實施例中,控制系統(tǒng)130可以采用SLAM算法進行區(qū)塊劃分,當然本公開并不對此進行限制。
在步驟604中,識別所述機器人100附近是否存在小型區(qū)塊,所述小型區(qū)塊的規(guī)格小于或等于所述預設規(guī)格的區(qū)塊。
在本實施例中,控制系統(tǒng)130以機器人100當前位置為起點,由近及遠地對多個區(qū)塊的塊邊界點進行遍歷,并對塊邊界點涉及的區(qū)塊進行規(guī)格統(tǒng)計,在統(tǒng)計出的任一區(qū)塊的規(guī)格小于或等于預設規(guī)格時,確定該任一區(qū)塊為機器人100附近的小型區(qū)塊。
在一實施例中,如圖7所示,為了便于統(tǒng)計任一區(qū)塊的規(guī)格,可以按照預定義規(guī)格將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊,例如該預定義規(guī)格可以為5厘米×5厘米,則每一區(qū)塊均可以被劃分為若干個5厘米×5厘米的子塊,那么可以統(tǒng)計每一區(qū)塊內(nèi)的所有空白子塊的規(guī)格之和,并作為相應區(qū)塊的規(guī)格。其中,空白子塊是指相應區(qū)塊內(nèi)未執(zhí)行過所述預設操作的子塊。并且,為了進一步便于統(tǒng)計,可以假定每個子塊對應一個點,如果該子塊未執(zhí)行過預設操作,那么該點被標記為空白點(相應的子塊為空白子塊);這樣,只要統(tǒng)計每一區(qū)塊內(nèi)的空白點的數(shù)量,再乘以每個子塊的預定義規(guī)格,即可統(tǒng)計出該區(qū)塊的規(guī)格。其中,對于子塊以及子塊對應的點之間相互的位置,上述對應的點也可位于子塊的邊上任意位置、位于子塊的角上或者其他的位置(例如子塊的中央),只要能夠做到該點與該子塊對應,在統(tǒng)計該些點的數(shù)量便能夠統(tǒng)計出該區(qū)塊的規(guī)格即可。
在實際情況中,通常機器人100會在存在障礙物的環(huán)境中工作,請參考圖7,當障礙物對機器人100造成阻礙,使得機器人100不可達到障礙物所占用的區(qū)域時,一種較為有效的方式可以為:設定有效空白子塊。所述有效空白子塊是指在相應區(qū)塊內(nèi)的所有子塊中,與該區(qū)塊內(nèi)的障礙物的最近距離大于法定距離且未執(zhí)行過預設操作的子塊。例如,該法定距離可以為機器人100的機身距離,即塊邊界與障礙物之間應當能夠至少容納機器人100的機身,以確保機器人100能夠執(zhí)行預設操作。此處的法定距離僅為舉例之用,圖7中也并非嚴格按照比例進行繪制,僅為示意之用,也不應理解為對本發(fā)明保護范圍的限制。
在本實施例中,感知系統(tǒng)120可以采用廣度優(yōu)先方式或深度優(yōu)先方式掃描機器人100附近的塊邊界點,當然也可以采用其他方式進行掃描,本公開并不對此進行限制。
例如,控制系統(tǒng)130可以以機器人100所在的當前位置為起點,對機器人100周圍區(qū)塊的所有塊邊界點由近及遠地進行遍歷,對于每個塊邊界點,如果該塊邊界點未被遍歷,則將該塊邊界點標記為已遍歷,并執(zhí)行下述操作:
1、如果當前塊邊界點是找到的第一個點,那么控制系統(tǒng)130將該第一個點進行記錄;
2、以當前塊邊界點為起點,基于SLAM地圖進行廣度優(yōu)先搜索(或者深度優(yōu)先搜索和/或其他任意搜索方式):
2.1、尋找離障礙物至少一個機身(機器人100的機身,確保該塊邊界點與障礙物之間能夠至少容納該機器人100)的(未執(zhí)行預設操作)空白點;
2.2、將找到的空白點標記為已遍歷;
2.3、統(tǒng)計上述已遍歷的空白點對應子塊的面積;
這里,空白點的含義如下:如圖7所示,機器人100的控制系統(tǒng)130將待處理區(qū)塊劃分為若干子塊,以便于將來統(tǒng)計有效子塊的面積,從而統(tǒng)計未被障礙物占用的區(qū)塊面積。對應于每個子塊,都對應有一個空白點,統(tǒng)計空白點的數(shù)量,即能夠統(tǒng)計出區(qū)塊內(nèi)的有效面積是多少。
3、當上述統(tǒng)計的空白點面積≤預設面積時,判定該區(qū)塊為機器人100附近的小型區(qū)塊,記錄下該塊邊界點,并停止對其他塊邊界點的遍歷;
3.1、機器人100移動至該塊邊界點,開始對小型區(qū)塊執(zhí)行預設操作。
4、當上述統(tǒng)計的空白點面積均>預設面積時,判定機器人100附近不存在小型區(qū)塊,機器人100移動至上述第一個塊邊界點進行預設操作。
在步驟606中,當識別出機器人100附近存在小型區(qū)塊時,控制機器人100優(yōu)先選擇附近的小型區(qū)塊執(zhí)行預設操作。
在本實施例中,機器人100附近的小型區(qū)塊可以包括以下至少之一:與機器人100所處的區(qū)塊相鄰的小型區(qū)塊;與機器人100所處的區(qū)塊之間的距離不大于預設距離(其中,該預設距離可以為預設定的任意距離,例如機器人100所處房間的最大寬度等)的小型區(qū)塊;與機器人100到達過的所有區(qū)塊相鄰的小型區(qū)塊。
由上述實施例可知,本公開通過識別機器人100附近的小型區(qū)塊,并優(yōu)先在該小型區(qū)塊內(nèi)執(zhí)行預設操作,可以幫助優(yōu)化機器人100的行走線路,減少機器人100的行走線路的重疊、反復等現(xiàn)象,尤其是對于存在多個房間的情況下,可以確保機器人100在同一房間內(nèi)的所有區(qū)塊均完成預設操作后,才行走至其他房間的區(qū)塊處,使得機器人100即便位于圖5C所示的B點處,也能夠選擇首先對區(qū)塊2進行處理,有助于向用戶提供良好的使用體驗,并提高機器人100的工作效能。
本公開的技術方案可以應用于各種形式的機器人100,從而幫助優(yōu)化機器人100的行走線路。下面以機器人100為自主清潔設備為例,對本公開中控制系統(tǒng)130的區(qū)塊劃分邏輯進行詳細描述,以幫助理解本公開的技術方案。
圖8是根據(jù)本公開一示例性實施例的一種控制機器人實現(xiàn)自主清潔的方法的流程圖。如圖8所示,該方法可以包括以下步驟:
在步驟802中,機器人100確定清潔區(qū)域。
在步驟804中,機器人100對清潔區(qū)域進行區(qū)塊劃分。
在本實施例中,機器人100的感知系統(tǒng)120可以包括LDS等測距裝置,以檢測機器人100與周圍障礙物之間的距離,以作為感知系統(tǒng)120得到的感知數(shù)據(jù);然后,控制系統(tǒng)130可以采用即時定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)算法生成活動區(qū)域的地圖,即SLAM地圖,且該活動區(qū)域(即清潔區(qū)域)被劃分為若干區(qū)塊。為了便于理解,假定控制系統(tǒng)130對活動區(qū)域的劃分結(jié)果如圖5C所示,即劃分得到屬于房間1的區(qū)塊1、區(qū)塊2和屬于房間2的區(qū)塊3。
在本實施例中,機器人100按照預設規(guī)格的虛擬塊對清潔區(qū)域進行區(qū)塊劃分,但正如圖5A-5D所示,房間的實體邊界、障礙物的實體邊界會對虛擬塊的虛擬邊界造成限制,從而由實體邊界、虛擬邊界共同組合,將清潔區(qū)域劃分為符合該預設規(guī)格和小于該預設規(guī)格的若干區(qū)塊。
在本實施例中,根據(jù)機器人100在執(zhí)行完區(qū)塊劃分后所處的區(qū)塊,比如當機器人100處于圖5C所示的區(qū)塊2時,機器人100可以首先對該區(qū)塊2進行清潔操作,然后按照本公開的技術方案,對行走線路和清潔順序進行優(yōu)化。當然,機器人100也可以首先按照本公開的技術方案,尋找并清潔小型區(qū)塊,然后再對剩余區(qū)塊進行清潔操作,本公開并不對此進行限制。
在步驟806中,機器人100從其當前所處位置出發(fā),由近及遠地掃描周圍的塊邊界點。
在步驟808中,當掃描到某一塊邊界點時,將其標記為已遍歷。
在步驟810中,當被標記的是本次掃描過程掃描到的首個遍歷點時,轉(zhuǎn)入步驟812,否則轉(zhuǎn)入步驟814。
在步驟812中,記錄下首個遍歷點后,轉(zhuǎn)入步驟814。
在一示例性實施例中,機器人100可以采用廣度優(yōu)先方式掃描附近的塊邊界點。那么,以塊邊界點P1為起點,即廣度優(yōu)先下的第一層級節(jié)點,依次掃描得到與該塊邊界點P1相鄰的塊邊界點,并作為廣度優(yōu)先下的第二層級節(jié)點,可以參考圖9所示的塊邊界點P1與塊邊界點P21、塊邊界點P22、區(qū)別邊界點P23之間的層級關系。類似地,通過對塊邊界點的層級查找,機器人100還可以進一步掃描到塊邊界點P31、塊邊界點P32、區(qū)別邊界點P33等第三層級節(jié)點,以及塊邊界點P4等第四層級節(jié)點。
在另一示例性實施例中,機器人100還可以采用其他搜索方式,以掃描出附近的塊邊界點。舉例而言,機器人100可以采用深度優(yōu)先方式進行掃描,那么機器人100會首先掃描到一個第二層級節(jié)點如塊邊界點P21,然后機器人100會進一步掃描出該塊邊界點P21的所有子層級的節(jié)點,比如作為第三層級節(jié)點的塊邊界點P31和塊邊界點P32,以及進一步作為第四層級節(jié)點的塊邊界點P4等;然后,機器人100會繼續(xù)掃描其他第二層級節(jié)點,比如掃描到塊邊界點P22,并進一步確定該塊邊界點P22的所有子層級的節(jié)點,從而以此類推掃描到掃描范圍內(nèi)的所有塊邊界點。
在步驟814中,機器人100以掃描到的該塊邊界點為起點,分別統(tǒng)計每一區(qū)塊內(nèi)未清掃的空白點的面積之和。
在本實施例中,機器人100根據(jù)獲得到的遍歷點,即附近的塊邊界點,可以確定附近的區(qū)塊。然后,機器人100可以將每一區(qū)塊按照預定義規(guī)格進一步劃分為若干子塊,而其中尚未被清掃的子塊即空白子塊。為了便于統(tǒng)計,可以采用“點”來記錄相應的每一子塊,即每一子塊由相應的點來表示,那么空白子塊可以記錄為空白點,從而將空白點的總數(shù)乘以預定義規(guī)格對應的單位面積,即可得到每一區(qū)塊中所有空白點的面積之和,即每一區(qū)塊的面積。
在步驟816中,當存在面積小于等于預設面積的區(qū)塊,即小型區(qū)塊(小塊)時,轉(zhuǎn)入步驟818A,否則轉(zhuǎn)入步驟818B。
在步驟818A中,機器人100首先清潔小型區(qū)塊。
在本實施例中,如圖7所示,假定機器人100位于區(qū)塊1時,識別出附近存在區(qū)塊2、區(qū)塊3等,且區(qū)塊2為小型區(qū)塊,那么無論該機器人100位于任意點處,均會首先行走至區(qū)塊2的邊界點,然后對區(qū)塊2開始進行清潔,使得房間1被率先清潔完畢后,然后行走至區(qū)塊3進行清潔,那么對于用戶而言,其實際體驗為:機器人100首先完成了對房間1的清潔,然后去執(zhí)行對房間2的清潔,符合用戶自身的清潔習慣,以及對機器人100的心理預期,可以形成良好的用戶使用體驗。
在步驟818B中,如果遍歷后所有的區(qū)塊均不屬于小型區(qū)塊,則機器人100前往步驟812中記錄下的首個遍歷點處。
在本實施例中,由于機器人100附近并不一定存在小型區(qū)塊,因而通過記錄下首個遍歷點,使得當機器人100附近確實不存在小型區(qū)塊時,可以將該首個遍歷點為起點,依次對剩余的大型區(qū)塊進行清掃。
其中,由于機器人100的感知系統(tǒng)120具有一定的掃描范圍,因而機器人100需要通過主動行走至清潔區(qū)域的不同位置,并執(zhí)行多次掃描操作,以及相應的多次清潔過程;那么,可以理解為,機器人100由于掃描范圍的限制,使得清潔區(qū)域被分為多個部分,每個部分單獨通過圖8所示的實施例進行清潔,形成多次相對獨立的清潔過程。
而在每一次清潔過程中,由于掃描范圍有限,使得掃描到的區(qū)塊均在機器人100附近,即小型區(qū)塊位于機器人100附近;而對于后續(xù)可能出現(xiàn)的掃描能力比較強的機器人100,可以對確定出的小型區(qū)塊與機器人100之間的相對位置關系進行確定,以避免機器人100舍近求遠地對遠處的小型區(qū)塊進行首先清潔,例如機器人100附近的小型區(qū)塊可以包括以下至少之一:與機器人100所處的區(qū)塊相鄰的小型區(qū)塊;與機器人100所處的區(qū)塊之間的距離不大于預設距離的小型區(qū)塊等;與機器人100到達過的所有區(qū)塊相鄰的小型區(qū)塊。當然,除了此處的清潔操作之外,上述描述可以適用于其他任意類型的預設操作,此處不再贅述。
此外,在上述任一實施例的基礎上,機器人100還可以通過感知系統(tǒng)120對每一區(qū)塊內(nèi)的預設特征參數(shù)進行感知,且控制系統(tǒng)130可以根據(jù)該預設特征參數(shù)的感知數(shù)值,將感知數(shù)值達到預設數(shù)值的區(qū)塊標記為高優(yōu)先級區(qū)塊,那么即便機器人100周圍存在小型區(qū)塊時,控制系統(tǒng)130仍然可以控制機器人100更為優(yōu)先地在附近的高優(yōu)先級區(qū)塊執(zhí)行預設操作,然后再進入附近的小型區(qū)塊執(zhí)行該預設操作。
仍以上述的自主清潔設備為例。區(qū)塊內(nèi)的預設特征參數(shù)可以包括灰塵度,那么機器人100可以通過感知系統(tǒng)120中的聲學傳感器、光學傳感器等,對各個區(qū)塊內(nèi)的空氣灰塵度進行檢測和感知;那么,對于諸如廚房、玄關等灰塵度較大的區(qū)塊,其灰塵度可能大于預設灰塵度閾值,控制系統(tǒng)130可以將其標記為高優(yōu)先級區(qū)塊,即這些區(qū)塊需要被優(yōu)先、重點清潔。當然,控制系統(tǒng)130可以在任一區(qū)塊的灰塵度大于預設灰塵度閾值時,對該任一區(qū)塊進行計數(shù),并當該計數(shù)的數(shù)值達到預設數(shù)值(例如大于3次)時才將其標記為高優(yōu)先級區(qū)塊。
與前述的控制機器人實現(xiàn)自主操控的方法的實施例相對應,本公開還提供了控制機器人實現(xiàn)自主操控的裝置的實施例。
圖10是根據(jù)一示例性實施例示出的一種控制機器人實現(xiàn)自主操控的裝置框圖。參照圖10,該裝置可以包括:劃分單元1002、識別單元1004和第一控制單元1006。
劃分單元1002,被配置為根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;
識別單元1004,被配置為識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;
第一控制單元1006,被配置為當所述識別單元識別出所述機器人附近存在小型區(qū)塊時,所述第一控制單元控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
如圖11所示,圖11是根據(jù)一示例性實施例示出的另一種控制機器人實現(xiàn)自主操控的裝置的框圖,該實施例在前述圖10所示實施例的基礎上,識別單元1004可以包括:遍歷子單元1004A、統(tǒng)計子單元1004B和區(qū)塊確定子單元1004C。
遍歷子單元1004A,被配置為以機器人當前位置為起點,由近及遠地對所述多個區(qū)塊的塊邊界點進行遍歷;
統(tǒng)計子單元1004B,被配置為對所述塊邊界點涉及的區(qū)塊進行規(guī)格統(tǒng)計;
區(qū)塊確定子單元1004C,被配置為當統(tǒng)計出的任一區(qū)塊的規(guī)格小于或等于所述預設規(guī)格時,確定所述任一區(qū)塊為所述機器人附近的小型區(qū)塊。
可選的,所述統(tǒng)計子單元1004B還將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊,統(tǒng)計每一區(qū)塊內(nèi)的所有空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述空白子塊是指相應區(qū)塊內(nèi)未執(zhí)行過所述預設操作的子塊。另外,考慮到存在障礙物的情形,所述統(tǒng)計子單元1004B還將所述塊邊界點所涉及的每一區(qū)塊分別劃分為若干子塊,統(tǒng)計每一區(qū)塊內(nèi)的所有有效空白子塊的規(guī)格之和,以作為相應區(qū)塊的規(guī)格;其中,所述有效空白子塊是指在相應區(qū)塊內(nèi)的所有子塊中,與該區(qū)塊內(nèi)的障礙物的最近距離大于法定距離且未執(zhí)行過所述預設操作的子塊。。
如圖12所示,圖12是根據(jù)一示例性實施例示出的另一種控制機器人實現(xiàn)自主操控的裝置的框圖,該實施例在前述圖10所示實施例的基礎上,還可以包括:第二控制單元1008。
第二控制單元1008,被配置為當所述機器人附近存在高優(yōu)先級區(qū)塊時,在控制所述機器人在附近的小型區(qū)塊執(zhí)行所述預設操作之前,優(yōu)先控制所述機器人在附近的高優(yōu)先級區(qū)塊執(zhí)行所述預設操作;
其中,所述高優(yōu)先級區(qū)塊內(nèi)的預設特征參數(shù)的感知數(shù)值達到預設數(shù)值。
可選的,當所述機器人為自主清潔設備時,所述預設操作為針對相應區(qū)塊的清潔操作。
需要說明的是,上述圖12所示的裝置實施例中的第二清潔單元1006的結(jié)構(gòu)也可以包含在前述圖11的裝置實施例中,對此本公開不進行限制。
關于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本公開方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
相應的,本公開還提供一種控制機器人實現(xiàn)自主操控的裝置,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為:根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;當識別出所述機器人附近存在小型區(qū)塊時,控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
相應的,本公開還提供一種機器人,所述機器人包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:根據(jù)對機器人周圍環(huán)境的感知數(shù)據(jù)和預置算法,對所述機器人的活動區(qū)域進行區(qū)塊劃分,所述機器人能夠在劃分得到的多個區(qū)塊內(nèi)執(zhí)行預設操作;識別所述機器人附近是否存在小型區(qū)塊,所述小型區(qū)塊為規(guī)格小于或等于預設規(guī)格的區(qū)塊;當識別出所述機器人附近存在小型區(qū)塊時,控制所述機器人優(yōu)先選擇附近的小型區(qū)塊執(zhí)行所述預設操作。
圖13是根據(jù)一示例性實施例示出的一種用于控制機器人實現(xiàn)自主操控的裝置1300的框圖。例如,裝置1300可以是機器人,例如掃地機器人、拖地機器人等自主清潔設備等。
參照圖13,裝置1300可以包括以下一個或多個組件:處理組件1302,存儲器1304,電源組件1306,多媒體組件1308,音頻組件1310,輸入/輸出(I/O)的接口1312,傳感器組件1314,以及通信組件1316。
處理組件1302通??刂蒲b置1300的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關聯(lián)的操作。處理組件1302可以包括一個或多個處理器1320來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件1302可以包括一個或多個模塊,便于處理組件1302和其他組件之間的交互。例如,處理組件1302可以包括多媒體模塊,以方便多媒體組件1308和處理組件1302之間的交互。
存儲器1304被配置為存儲各種類型的數(shù)據(jù)以支持在裝置1300的操作。這些數(shù)據(jù)的示例包括用于在裝置1300上操作的任何應用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器1304可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件1306為裝置1300的各種組件提供電力。電源組件1306可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置1300生成、管理和分配電力相關聯(lián)的組件。
多媒體組件1308包括在所述裝置1300和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件1308包括一個前置攝像頭和/或后置攝像頭。當裝置1300處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
音頻組件1310被配置為輸出和/或輸入音頻信號。例如,音頻組件1310包括一個麥克風(MIC),當裝置1300處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器1304或經(jīng)由通信組件1316發(fā)送。在一些實施例中,音頻組件1310還包括一個揚聲器,用于輸出音頻信號。
I/O接口1312為處理組件1302和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件1314包括一個或多個傳感器,用于為裝置1300提供各個方面的狀態(tài)評估。例如,傳感器組件1314可以檢測到裝置1300的打開/關閉狀態(tài),組件的相對定位,例如所述組件為裝置1300的顯示器和小鍵盤,傳感器組件1314還可以檢測裝置1300或裝置1300一個組件的位置改變,用戶與裝置1300接觸的存在或不存在,裝置1300方位或加速/減速和裝置1300的溫度變化。傳感器組件1314可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件1314還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件1314還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件1316被配置為便于裝置1300和其他設備之間有線或無線方式的通信。裝置1300可以接入基于通信標準的無線網(wǎng)絡,如WiFi,2G、3G、4G或5G,或它們的組合。在一個示例性實施例中,通信組件1316經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關信息。在一個示例性實施例中,所述通信組件1316還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數(shù)據(jù)協(xié)會(IrDA)技術,超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現(xiàn)。
在示例性實施例中,裝置1300可以被一個或多個應用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器1304,上述指令可由裝置1300的處理器1320執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設備等。
本領域技術人員在考慮說明書及實踐這里公開的公開后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。