本發(fā)明涉及電器控制技術(shù)領(lǐng)域,尤其涉及一種機器人避障方法及裝置。
背景技術(shù):
近年來,隨著機器人技術(shù)的發(fā)展和人工智能研究不斷深入,智能移動機器人在人類生活中扮演越來越重要的角色,在迎賓引導(dǎo)等諸多領(lǐng)域得到廣泛應(yīng)用。
智能移動機器人是一類能夠通過檢測器感知環(huán)境和自身狀態(tài),實現(xiàn)在有障礙物的環(huán)境中面向目標(biāo)的自主導(dǎo)航運動,從而完成預(yù)定任務(wù)的機器人系統(tǒng)。因此,避障功能是智能移動機器人必備的要素。
一般地,避障是基于智能移動機器人上配置的傳感器來檢測障礙物而實現(xiàn)的。而現(xiàn)有技術(shù)中,由于傳感器的視角普遍較小,在智能移動機器人上配置單個傳感器并不能滿足對各個方向障礙物的探測,因此智能移動機器人上一般會安裝有多個傳感器。當(dāng)部署在同一智能移動機器人上的多個傳感器同時工作時,不同的傳感器之間可能存在相互干擾,比如一個傳感器的檢測信號被其他傳感器接收,影響障礙物檢測結(jié)果的準(zhǔn)確性。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種機器人避障方法及裝置,通過控制各個避障傳感器的工作時間,減少不同傳感器之間存在的信號干擾,提高機器人障礙物識別的準(zhǔn)確性。
本發(fā)明實施例提供一種機器人避障方法,包括:
獲取配置在機器人身上的n個避障傳感器的位置關(guān)系,其中,n>1;
根據(jù)所述位置關(guān)系對所述n個避障傳感器進(jìn)行分組;
分別控制各分組中的避障傳感器在不同的工作時段內(nèi)工作;
根據(jù)接收到的所述n個避障傳感器在對應(yīng)的工作時段內(nèi)發(fā)送的探測數(shù)據(jù)識別障礙物。
可選地,所述方法還包括:若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,則在預(yù)設(shè)時長內(nèi)調(diào)整所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者,調(diào)整所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,所述在預(yù)設(shè)時長內(nèi)調(diào)整所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者調(diào)整所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量,包括:
根據(jù)所述運算資源占用率大于所述預(yù)設(shè)閾值的程度,確定所述預(yù)設(shè)時長內(nèi)允許從所述n個避障傳感器接收的實際探測數(shù)據(jù)量上限;
根據(jù)所述預(yù)設(shè)時間內(nèi)允許從所述n個避障傳感器接收的理論最大探測數(shù)據(jù)量和所述實際探測數(shù)據(jù)量上限,確定待減少探測數(shù)據(jù)量;
根據(jù)所述待減少探測數(shù)據(jù)量延長所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者降低所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,所述方法還包括:
根據(jù)所述n個避障傳感器的預(yù)設(shè)優(yōu)先級,按照優(yōu)先級從低到高的順序,從所述n個避障傳感器中選擇出所述至少一個避障傳感器,所述預(yù)設(shè)優(yōu)先級與障礙物分布情況相關(guān)。
可選地,所述在預(yù)設(shè)時長內(nèi)調(diào)整所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者調(diào)整所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量,包括:
根據(jù)所述至少一個避障傳感器的優(yōu)先級,確定所述至少一個避障傳感器的工作時段間隔,或者確定所述至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
本發(fā)明實施例提供一種機器人避障裝置,包括:
獲取模塊,用于獲取配置在機器人身上的n個避障傳感器的位置關(guān)系,其中,n>1;
分組模塊,用于根據(jù)所述位置關(guān)系對所述n個避障傳感器進(jìn)行分組;
控制模塊,用于分別控制各分組中的避障傳感器在不同的工作時段內(nèi)工作;
識別模塊,用于根據(jù)接收到的所述n個避障傳感器在對應(yīng)的工作時段內(nèi)發(fā)送的探測數(shù)據(jù)識別障礙物。
可選地,所述裝置還包括:
調(diào)整模塊,用于若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,則在預(yù)設(shè)時長內(nèi)調(diào)整所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者,調(diào)整所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,所述調(diào)整模塊具體包括:
確定單元,用于根據(jù)所述運算資源占用率大于所述預(yù)設(shè)閾值的程度,確定所述預(yù)設(shè)時長內(nèi)允許從所述n個避障傳感器接收的實際探測數(shù)據(jù)量上限,以及根據(jù)所述預(yù)設(shè)時間內(nèi)允許從所述n個避障傳感器接收的理論最大探測數(shù)據(jù)量和所述實際探測數(shù)據(jù)量上限,確定待減少探測數(shù)據(jù)量;
調(diào)整單元,用于根據(jù)所述待減少探測數(shù)據(jù)量延長所述n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者降低所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,所述裝置還包括:
選擇模塊,用于根據(jù)所述n個避障傳感器的預(yù)設(shè)優(yōu)先級,按照優(yōu)先級從低到高的順序,從所述n個避障傳感器中選擇出所述至少一個避障傳感器,所述預(yù)設(shè)優(yōu)先級與障礙物分布情況相關(guān)。
可選地,所述調(diào)整模塊還用于:根據(jù)所述至少一個避障傳感器的優(yōu)先級,確定所述至少一個避障傳感器的工作時段間隔,或者確定所述至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
本發(fā)明實施例提供的機器人避障方法及裝置,處理器對配置在機器人身上的n個避障傳感器按照位置關(guān)系進(jìn)行分組,并使屬于不同分組的各個避障傳感器在不同的工作時間內(nèi)工作,實現(xiàn)n個避障傳感器的分時工作。n個避障傳感器通過分時工作的方式可以避免不同傳感器發(fā)出信號之間的相互干擾,使處理器可以接收到不存在干擾的、由在不同工作時間工作的避障傳感器采集到的探測數(shù)據(jù),處理器通過分析此探測數(shù)據(jù)實現(xiàn)對障礙物的準(zhǔn)確識別。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的機器人避障方法實施例一的流程圖;
圖2為本發(fā)明實施例提供的機器人避障方法實施例二的流程圖;
圖3為本發(fā)明實施例提供的機器人避障方法實施例三的流程圖;
圖4為本發(fā)明實施例提供的機器人避障裝置實施例一的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的機器人避障裝置實施例二的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。
應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
應(yīng)當(dāng)理解,盡管在本發(fā)明實施例中可能采用術(shù)語第一、第二、第三等來描述xxx,但這些xxx不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將xxx彼此區(qū)分開。例如,在不脫離本發(fā)明實施例范圍的情況下,第一xxx也可以被稱為第二xxx,類似地,第二xxx也可以被稱為第一xxx。
取決于語境,如在此所使用的詞語“如果”、“若”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時”或“響應(yīng)于確定”或“當(dāng)檢測(陳述的條件或事件)時”或“響應(yīng)于檢測(陳述的條件或事件)”。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
圖1為本發(fā)明實施例提供的機器人避障方法實施例一的流程圖,本實施例提供的該機器人避障方法的執(zhí)行主體可以為設(shè)置在機器人內(nèi)的一處理器,比如工控處理器。如圖1所示,該方法包括如下步驟:
s101,獲取配置在機器人身上的n個避障傳感器的位置關(guān)系,其中,n>1。
為實現(xiàn)機器人對所處場景的近乎全角度的障礙物檢測,一般在機器人機身上設(shè)置多個避障傳感器??蛇x地,本發(fā)明實施例中的避障傳感器可以為深度傳感器、紅外傳感器、激光傳感器、超聲波傳感器等等。
在一可選的避障傳感器設(shè)置方案中,可以基于各避障傳感器發(fā)射的探測信號的覆蓋范圍,通過精確設(shè)置每個避障傳感器的安裝角度和位置,來盡量避免多個傳感器相互之間的干擾問題。此時,對于各避障傳感器的安裝精度提出了更高的要求。
在另一可選的避障傳感器設(shè)置方案中,可以不必追求各避障傳感器之間的完全無干擾的目標(biāo),此時,對各避障傳感器的安裝精度的要求大大降低,而為了避免多個避障傳感器間的相互干擾問題,可以采用本發(fā)明實施例提供的方法。
上述位置關(guān)系是指多個避障傳感器在機器人機身上的相互位置關(guān)系,可以通過如下可選方式獲得:
當(dāng)這多個避障傳感器被設(shè)置在機器人機身上后,工作人員可以在機器人上顯示的某操作界面中輸入該多個避障傳感器在機器人機身上的大致安裝位置,比如在該操作界面中顯示機器人三維圖像,工作人員可以對該圖像進(jìn)行編輯,在其上定位各避障傳感器的安裝位置,并可以輸入各避障傳感器的標(biāo)識。從而,處理器基于對該圖像的分析可以獲得多個避障傳感器的位置關(guān)系,比如,從豎直方向上來看,自上而下依次安裝的避障傳感器。
s102,根據(jù)位置關(guān)系對n個避障傳感器進(jìn)行分組。
以按照豎直方向配置在機器人身上的n個避障傳感器為例,可以按照它們的位置關(guān)系進(jìn)行分組,將探測范圍存在重合的避障傳感器分至不同的組內(nèi)。在進(jìn)行分組時,還可以預(yù)設(shè)一分組容量,一方面可以進(jìn)一步降低避障傳感器間的干擾,另一方面,也可以降低處理器同時處理的避障探測數(shù)據(jù)的數(shù)據(jù)量。對n個避障傳感器進(jìn)行分組可以保證處理器不會同時接收到探測范圍重合多個避障傳感器發(fā)送的探測數(shù)據(jù)。例如,在機器人身體的豎直方向上分別設(shè)置有a、b、c、d、e,5個避障傳感器,一般認(rèn)為相鄰兩個避障傳感器之間存在探測范圍的重合,并且假設(shè)分組容量為3,因此,可以將避障傳感器a、c、e分至一組,避障傳感器b、d分至另一組。
需要說明的是,同樣的分組方法也適用于配置在水平方向上的n個避障傳感器。
s103,分別控制各分組中的避障傳感器在不同的工作時段內(nèi)工作。
基于對n個避障傳感器的分組,處理器以組為單位控制不同分組內(nèi)的避障傳感器在不同的工作時段內(nèi)工作,實現(xiàn)n個避障傳感器的分時工作。仍以上述舉例來說,處理器可以控制處于一分組內(nèi)的避障傳感器a、c、e在t1-t2時間段內(nèi)工作,處于另一分組內(nèi)的避障傳感器b、d在t3-t4時間段內(nèi)工作。
值得說明的是,處理器在控制各分組中的避障傳感器在不同的工作時段內(nèi)工作時,針對任一分組來說,可以通過輸入給該分組內(nèi)的各避障傳感器相應(yīng)的起始工作時段以及相鄰工作時段的時間間隔來實現(xiàn)對該分組內(nèi)避障傳感器的工作時段的控制。
s104,根據(jù)接收到的n個避障傳感器在對應(yīng)的工作時段內(nèi)發(fā)送的探測數(shù)據(jù)識別障礙物。
每個避障傳感器在自身的工作時段內(nèi)會采集探測數(shù)據(jù),處理器接收每個避障傳感器在對應(yīng)的工作時段內(nèi)發(fā)送的探測數(shù)據(jù),通過分析探測數(shù)據(jù)來進(jìn)行障礙物的識別。實際中,可以根據(jù)使用的避障傳感器的種類不同采取不同的探測數(shù)據(jù)分析手段。
可選地,當(dāng)使用的避障傳感器為激光傳感器時,探測數(shù)據(jù)可以為由脈沖激光器發(fā)出的脈沖激光信號以及照射到障礙物后返回的激光信號,通過計算兩路激光信號之間的時間間隔來識別障礙物。
可選地,當(dāng)使用的避障傳感器為超聲波傳感器時,探測數(shù)據(jù)可以為發(fā)出的超聲波信號以及遇到障礙物后返回的超聲波信號,根據(jù)兩超聲波信號接收時間差以及聲速計算出障礙物的位置,以實現(xiàn)障礙物的識別。
本實施例中,處理器對配置在機器人身上的n個避障傳感器按照位置關(guān)系進(jìn)行分組,并使屬于不同分組的各個避障傳感器在不同的工作時間內(nèi)工作,實現(xiàn)n個避障傳感器的分時工作。n個避障傳感器通過分時工作的方式可以避免不同傳感器發(fā)出信號之間的相互干擾,使處理器可以接收到不存在干擾的、由在不同工作時間工作的避障傳感器采集到的探測數(shù)據(jù),處理器通過分析此探測數(shù)據(jù)實現(xiàn)對障礙物的準(zhǔn)確識別。
圖2為本發(fā)明實施例提供的機器人避障方法實施例二的流程圖,機器人在工作時,除了需要判斷行進(jìn)過程中道路的障礙物分布情況,往往還需要執(zhí)行其他多種任務(wù)。因此處理器除了需要處理避障任務(wù)對應(yīng)的探測數(shù)據(jù)外,還需要處理其他任務(wù)對應(yīng)的其他數(shù)據(jù),這就很容易出現(xiàn)處理器因處理其他任務(wù)而導(dǎo)致其他任務(wù)對處理器的運算資源使用率過高的情況。針對此情況,如圖2所示,可選地,在圖1所示實施例基礎(chǔ)上,步驟s103之后,該方法還可以包括如下步驟:
s201,若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,則在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器的工作時段間隔。
處理器處理任何類型的任務(wù)都需要占用運算資源,若除避障任務(wù)外的其他任務(wù)對運算資源的占用率已經(jīng)大于預(yù)設(shè)閾值,說明此時其他任務(wù)的處理負(fù)載較重,此時為了保證其他任務(wù)的正常處理,則需要降低避障任務(wù)對運算資源的占用率。
值得說明的是,本實施例中,當(dāng)需降低避障任務(wù)對處理器的運算資源的占用率時,不是通過停止n個避障傳感器中的部分或全部的工作來實現(xiàn)的,因為這樣對于避障效果將產(chǎn)生嚴(yán)重的影響。本實施例中,降低避障任務(wù)對處理器的運算資源的占用率,是通過降低處理器在一定預(yù)設(shè)時長內(nèi)能夠從n個避障傳感器接收到的探測數(shù)據(jù)量的方式來實現(xiàn)的。
可選地,該降低預(yù)設(shè)時長內(nèi)接收到的探測數(shù)據(jù)量可以通過在該預(yù)設(shè)時長內(nèi)延長至少一個避障傳感器的工作時段間隔來實現(xiàn)。
其中,該預(yù)設(shè)時長的設(shè)置,相當(dāng)于給定了每次調(diào)整的有效時長,以避免后續(xù)當(dāng)其他任務(wù)的處理負(fù)載較輕時避障傳感器還一直以經(jīng)調(diào)整后的工作時段間隔來執(zhí)行??梢岳斫獾氖牵?dāng)該預(yù)設(shè)時長達(dá)到時,可以觸發(fā)對其他任務(wù)對處理器的運算資源占用率的檢測,如果仍舊大于上述閾值,則可以將對上述至少一個避障傳感器的工作時段間隔的調(diào)整繼續(xù)再延長執(zhí)行一個預(yù)設(shè)時長,以此類推。該預(yù)設(shè)時長一般設(shè)置為m倍的工作時段,m大于1,一般地,該m的取值可以使得覆蓋n個避障傳感器都至少經(jīng)過一個工作時段的長度。該工作時段是指未調(diào)整的工作時段,一般實際應(yīng)用中,初始情況下,每個避障傳感器的工作時段長度相等。
可選地,可以通過以下方式來實現(xiàn)在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器的工作時段間隔。
首先,處理器根據(jù)其他任務(wù)的運算資源占用率大于預(yù)設(shè)閾值的程度,確定預(yù)設(shè)時長內(nèi)允許從n個避障傳感器接收的實際探測數(shù)據(jù)量上限。并且,根據(jù)預(yù)設(shè)時間內(nèi)允許從n個避障傳感器接收的理論最大探測數(shù)據(jù)量和該實際探測數(shù)據(jù)量上限,確定預(yù)設(shè)時間內(nèi)的待減少探測數(shù)據(jù)量。
其中,其他任務(wù)的運算資源占用率大于預(yù)設(shè)閾值的程度可以根據(jù)該運算資源占用率與預(yù)設(shè)閾值的差值確定。
具體地,可以根據(jù)各避障傳感器額定的采集速率,確定各避障傳感器在其對應(yīng)的工作時段內(nèi)能夠采集的最大探測數(shù)據(jù)量,進(jìn)而,基于該預(yù)設(shè)時長與一工作時段之間的倍數(shù)關(guān)系以及n個避障傳感器的個數(shù),可以確定n個避障傳感器在該預(yù)設(shè)時長內(nèi)能夠采集的理論最大探測數(shù)據(jù)量,該理論最大探測數(shù)據(jù)量與上述預(yù)設(shè)閾值對應(yīng),也就是說,當(dāng)其他任務(wù)的運算資源占用率不大于該預(yù)設(shè)閾值時,認(rèn)為n個避障傳感器都可以以其額定的采集速率采集探測數(shù)據(jù)。另外,可以預(yù)先設(shè)定其他任務(wù)的運算資源占用率與預(yù)設(shè)閾值的差值區(qū)間與n個避障傳感器的探測數(shù)據(jù)量的遞減比例的對應(yīng)關(guān)系?;诖?,根據(jù)當(dāng)前其他任務(wù)的運算資源占用率與預(yù)設(shè)閾值的差值所處的差值區(qū)間,確定對應(yīng)的遞減比例,基于該遞減比例和理論最大探測數(shù)據(jù)量,可以確定出當(dāng)前允許從n個避障傳感器接收的實際探測數(shù)據(jù)量上限。n個避障傳感器在預(yù)設(shè)時長內(nèi)能夠采集的理論最大探測數(shù)據(jù)量與實際探測數(shù)據(jù)量上限之間的差值即為n個避障傳感器在預(yù)設(shè)時長內(nèi)需要減少采集的探測數(shù)據(jù)量,稱為待減少探測數(shù)據(jù)量。
進(jìn)而,處理器根據(jù)待減少探測數(shù)據(jù)量延長n個避障傳感器中至少一個避障傳感器的工作時段間隔。
可選地,可以首先根據(jù)待減少探測數(shù)據(jù)量確定出需要延長多少個工作時段,即確定出需要多少個工作時段能夠采集到該待減少探測數(shù)據(jù)量。由于在調(diào)整前,n個避障傳感器的工作時段長度相等,且采集速率相等,因此,可以根據(jù)待減少探測數(shù)據(jù)量與一個避障傳感器在一個工作時段內(nèi)能夠采集的最大探測數(shù)據(jù)量之間的倍數(shù)關(guān)系,確定完成該待減少探測數(shù)據(jù)量的采集需要的工作時段個數(shù)。進(jìn)而,可以根據(jù)確定出的工作時段個數(shù),確定需要延長多少個避障傳感器的工作時段間隔??蛇x地,當(dāng)該工作時段個數(shù)小于n時,可以令工作時段個數(shù)與需要延長工作時段間隔的避障傳感器的數(shù)量相等。最后,可以從n個避障傳感器中選擇出相應(yīng)數(shù)量的避障傳感器,以延長其工作時段間隔。比如,假設(shè)工作時段個數(shù)與確定出的避障傳感器數(shù)量相等,此時,可以將選出的避障傳感器的工作時段間隔在原有間隔基礎(chǔ)上,再延長一個工作時段的長度。
當(dāng)然,從n個避障傳感器中選擇出的避障傳感器的數(shù)量也可以不與上述確定出的工作時段個數(shù)相等,該選出的避障傳感器的數(shù)量可以預(yù)先設(shè)定,假設(shè)為某預(yù)設(shè)數(shù)量,此時,該預(yù)設(shè)數(shù)量的避障傳感器中的每個避障傳感器的工作時段間隔在原有間隔基礎(chǔ)上延長的長度可以為:(工作時段個數(shù)*工作時段長度)/預(yù)設(shè)數(shù)量,此時,相當(dāng)于是該預(yù)設(shè)數(shù)量的避障傳感器均分了待減少探測數(shù)據(jù)量。
可選地,在確定出需要延長工作時段間隔的避障傳感器的數(shù)量后,可以采用隨機選取的方式從n個避障傳感器選出上述數(shù)量的避障傳感器。
可選地,還可以為n個避障傳感器設(shè)置優(yōu)先級,根據(jù)優(yōu)先級從低到高的順序選出上述數(shù)量的避障傳感器。具體地,由于不同的工作環(huán)境對應(yīng)的障礙物的分布情況是不同的,因此可以根據(jù)機器人所處工作環(huán)境中障礙物的分布情況為n個避障傳感器設(shè)置優(yōu)先級。例如,依據(jù)避障傳感器探測范圍內(nèi)障礙物的數(shù)目為n個避障傳感器設(shè)置優(yōu)先級,障礙物越多,該探測范圍所對應(yīng)的避障傳感器的優(yōu)先級越高。
可選地,還可以根據(jù)選出的上述數(shù)量的避障傳感器的優(yōu)先級,為不同優(yōu)先級的避障傳感器延長不同的工作時段間隔。例如,優(yōu)先級越高的避障傳感器,其延長的工作時段間隔越短。由于避障傳感器的優(yōu)先級越高表明該避障傳感器所對應(yīng)的探測范圍內(nèi)障礙物的數(shù)目越多,因此避障傳感器的優(yōu)先級越高,為其延長的工作時段間隔越短,可以保證即使延長避障傳感器的工作時段間隔也能保證避障任務(wù)的處理。
本實施例中,當(dāng)出現(xiàn)處理器因處理其他任務(wù)而導(dǎo)致其他任務(wù)對處理器運算資源占用率大于預(yù)設(shè)閾值時,通過延長n個避障傳感器中至少一個避障傳感器的工作時段間隔從而降低在一定時間內(nèi)處理器從n個避障傳感器處接收到的探測數(shù)據(jù)量,使得處理器用充足的運算資源來處理重要級高于避障任務(wù)的其他任務(wù),保證機器人可以正常運行。
圖3為本發(fā)明實施例提供的機器人避障方法實施例三的流程圖,當(dāng)出現(xiàn)處理器因處理其他任務(wù)而導(dǎo)致其他任務(wù)對處理器的運算資源使用率過高的情況,除了可以采用延長避障傳感器的工作時段間隔的方式來降低處理器從n個避障傳感器接收到的探測數(shù)據(jù)量外,還可以采用降低至少一個避障傳感器在工作時段內(nèi)采集的數(shù)據(jù)量的方式來降低處理器從n個避障傳感器接收到的探測數(shù)據(jù)量?;诖耍鐖D3所示,可選地,在圖1所示實施例基礎(chǔ)上,步驟s103之后,該方法還可以包括如下步驟:
s301,若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,則在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
與實施例二相似的,若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,可以通過降低預(yù)設(shè)時長內(nèi)接收到的探測數(shù)據(jù)量來保證其他任務(wù)的正常處理,具體地,還可以通過在預(yù)設(shè)時長內(nèi)降低至少一個避障傳感器在工作時段內(nèi)采集的探測數(shù)據(jù)量來實現(xiàn)。
可選地,可以通過以下方式來實現(xiàn)在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
首先,根據(jù)運算資源占用率大于預(yù)設(shè)閾值的程度,確定預(yù)設(shè)時長內(nèi)允許從n個避障傳感器接收的實際探測數(shù)據(jù)量上限。并且,根據(jù)預(yù)設(shè)時間內(nèi)允許從n個避障傳感器接收的理論最大探測數(shù)據(jù)量和該實際探測數(shù)據(jù)量上限,確定預(yù)設(shè)時間內(nèi)的待減少探測數(shù)據(jù)量。
具體執(zhí)行過程可以參見實施例二中的相關(guān)描述,在此不贅述。
進(jìn)而,根據(jù)待減少探測數(shù)據(jù)量在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
由于各個避障傳感器的工作時段長度相等,且工作時段間隔相等,因此,降低至少一個避障傳感器在工作時段內(nèi)采集的探測數(shù)據(jù)量也就是降低至少一個避障傳感器在每個工作時段內(nèi)的探測數(shù)據(jù)采集速率。
可選地,可以首先確定出該預(yù)設(shè)時長內(nèi)包含了多少個工作時段,進(jìn)而可以根據(jù)待減少探測數(shù)據(jù)量與該工作時段個數(shù),確定出平均每個工作時段需要減少的探測數(shù)據(jù)量。從而,對于工作于該預(yù)設(shè)時長內(nèi)的每個避障傳感器來說,一種情況下,其在一個工作時段內(nèi)需采集的探測數(shù)據(jù)量為:額定探測數(shù)據(jù)量與該需減少的探測數(shù)據(jù)量的差值,其中,額定探測數(shù)據(jù)量是指以額定采集速率工作時,一個工作時段可以采集到的探測數(shù)據(jù)量。此時,可以根據(jù)每個避障傳感器在一個工作時段內(nèi)需采集的探測數(shù)據(jù)量和一個工作時段的時長,確定出每個避障傳感器的采集速率,通過控制相應(yīng)的避障傳感器采用該采集速率即可降低預(yù)設(shè)時長內(nèi)接收到的探測數(shù)據(jù)量。
上述舉例的情況中,是假設(shè)對工作于上述預(yù)設(shè)時長內(nèi)的各避障傳感器都進(jìn)行了在各工作時段內(nèi)需采集的探測數(shù)據(jù)量的降低處理。但是,實際上,也可以不用對全部避障傳感器都進(jìn)行該處理,可以僅對其中的部分避障傳感器進(jìn)行該處理。
此時,該部分避障傳感器的數(shù)量可以預(yù)設(shè)定,也可以根據(jù)如下規(guī)則確定:
假設(shè)每個避障傳感器在一個工作時段內(nèi)都被預(yù)先設(shè)置有需采集的最小探測數(shù)據(jù)量。從而,可以根據(jù)待減少探測數(shù)據(jù)量與該最小探測數(shù)據(jù)量的商,確定出需要降低采集到的探測數(shù)據(jù)量的工作時段個數(shù)。進(jìn)而,可以根據(jù)確定出的工作時段個數(shù),確定需要降低多少個避障傳感器在該預(yù)設(shè)時長內(nèi)的各工作時段中需采集的探測數(shù)據(jù)量,假設(shè)為k個。比如,當(dāng)工作時段個數(shù)小于工作于該預(yù)設(shè)時長內(nèi)的避障傳感器的個數(shù)時,可以確定k=該工作時段個數(shù)?;蛘?,如果一個避障傳感器在該預(yù)設(shè)時長內(nèi)的工作時段個數(shù)就等于確定出的工作時段個數(shù),那么k=1,也就是說,可以根據(jù)確定出的工作時段個數(shù)與工作于該預(yù)設(shè)時長內(nèi)的各避障傳感器在該預(yù)設(shè)時長內(nèi)對應(yīng)的工作時段個數(shù),確定k的取值。
另外,當(dāng)確定出k的取值之后,可選地,可以根據(jù)避障傳感器的優(yōu)先級,選定出具體的k個避障傳感器。另外,可選地,還可以根據(jù)選出的避障傳感器的優(yōu)先級,差別控制各避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
但值得說明的是,本實施例中只涉及了通過降低至少一個避障傳感器在工作時段內(nèi)所要采集的探測數(shù)據(jù)量來降低在一定時間內(nèi)處理器從n個避障傳感器處接收到的探測數(shù)據(jù)量。在實際應(yīng)用中,也可以將本實施例中的調(diào)整方式與實施例二中的調(diào)整方式相結(jié)合,即同時調(diào)整n個避障傳感器中至少一個避障傳感器的工作時段間隔以及工作時段內(nèi)需要采集的探測數(shù)據(jù)量來保證處理器可以有足夠的運算資源來處理其他任務(wù),保證機器人的正常工作。
本實施例中,當(dāng)出現(xiàn)處理器因處理其他任務(wù)而導(dǎo)致其他任務(wù)對處理器的運算資源占用率大于預(yù)設(shè)閾值時,通過降低n個避障傳感器中至少一個避障傳感器的工作時段內(nèi)所需采集的探測數(shù)據(jù)量從而降低在一定時間內(nèi)處理器從n個避障傳感器處接收到的探測數(shù)據(jù)量,使得處理器用充足的運算資源來處理重要級高于避障任務(wù)的其他類型任務(wù),保證機器人可以正常運行。
圖4為本發(fā)明實施例提供的機器人避障裝置實施例一的結(jié)構(gòu)示意圖,如圖4所示,該機器人避障裝置包括:獲取模塊11、分組模塊12、控制模塊13、識別模塊14。
獲取模塊11,獲取配置在機器人身上的n個避障傳感器的位置關(guān)系,其中,n>1。
分組模塊12,用于根據(jù)位置關(guān)系對n個深度傳感器進(jìn)行分組。
控制模塊13,用于分別控制各分組中的深度傳感器在不同的工作時段內(nèi)工作。
識別模塊14,用于根據(jù)接收到的n個深度傳感器在對應(yīng)的工作時段內(nèi)發(fā)送的探測數(shù)據(jù)識別障礙物。
圖4所示裝置可以執(zhí)行圖1所示實施例的方法,本實施例未詳細(xì)描述的部分,可參考對圖1所示實施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖1所示實施例中的描述,在此不再贅述。
圖5為本發(fā)明實施例提供的機器人避障裝置實施例二的結(jié)構(gòu)示意圖,如圖5所示,在圖4所示實施例基礎(chǔ)上,該機器人避障裝置還包括:調(diào)整模塊21。
調(diào)整模塊21,用于若處理其他任務(wù)導(dǎo)致的運算資源占用率大于預(yù)設(shè)閾值,則在預(yù)設(shè)時長內(nèi)調(diào)整n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者,調(diào)整所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,所述調(diào)整模塊21包括:確定單元211,調(diào)整單元212。
確定單元211,用于根據(jù)運算資源占用率大于預(yù)設(shè)閾值的程度,確定預(yù)設(shè)時長內(nèi)允許從n個避障傳感器接收的實際探測數(shù)據(jù)量上限,以及根據(jù)預(yù)設(shè)時間內(nèi)允許從n個避障傳感器接收的理論最大探測數(shù)據(jù)量和實際探測數(shù)據(jù)量上限,確定待減少探測數(shù)據(jù)量。
調(diào)整單元212,用于根據(jù)待減少探測數(shù)據(jù)量延長n個避障傳感器中至少一個避障傳感器的工作時段間隔,或者降低所述n個避障傳感器中至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
可選地,該裝置還包括:選擇模塊22。
選擇模塊22,用于根據(jù)n個避障傳感器的預(yù)設(shè)優(yōu)先級,按照優(yōu)先級從低到高的順序,從n個避障傳感器中選擇出至少一個避障傳感器,預(yù)設(shè)優(yōu)先級與障礙物分布情況相關(guān)。
相應(yīng)地,所述調(diào)整模塊21,還用于根據(jù)至少一個避障傳感器的優(yōu)先級,確定至少一個避障傳感器的工作時段間隔,或者確定所述至少一個避障傳感器在各工作時段內(nèi)需采集的探測數(shù)據(jù)量。
圖5所示裝置可以執(zhí)行圖2或圖3所示實施例的方法,本實施例未詳細(xì)描述的部分,可參考對圖2或圖3所示實施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖2或圖3所示實施例中的描述,在此不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以產(chǎn)品的形式體現(xiàn)出來,該計算機產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)裝置等)執(zhí)行各個實施例或者實施例的某些部分的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。