本文作者:kaifamei

機器人的控制方法、裝置、計算機存儲介質以及機器人與流程

更新時間:2025-12-27 04:16:42 0條評論

機器人的控制方法、裝置、計算機存儲介質以及機器人與流程



1.本發明涉及機器人領域,具體而言,涉及一種機器人的控制方法、裝置、計算機存儲介質以及機器人。


背景技術:



2.目前移動機器人或者agv都具有人工遙控運動的功能。人工控制機器人可能存在一些安全隱患,例如剎車不及時、遙控預判不準確、控制人員精力不集中等,都有可能導致機器人或者agv碰撞障礙物,從而產生安全事故。
3.針對現有技術中人工遙控機器人容易發生碰撞導致生安全事故的問題,目前尚未提出有效的解決方案。


技術實現要素:



4.本發明實施例提供了一種機器人的控制方法、裝置、計算機存儲介質以及機器人,以至少解決現有技術中人工遙控機器人容易發生碰撞導致生安全事故的技術問題。
5.根據本技術實施例的一個方面,提供了一種機器人的控制方法,包括:獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制機器人按照安全運動速度移動。
6.根據本技術實施例的另一方面,還提供了一種機器人的控制方法,包括:獲取機器人在多個方向的遙控命令速度和障礙物對機器人在多個方向的虛擬推力;在第一方向的目標遙控命令速度和第一方向的目標虛擬推力均不為0的情況下,對機器人在第一方向進行減速控制,其中,第一方向為多個方向中的任意一個方向。
7.根據本技術實施例的另一方面,還提供了一種機器人的控制裝置,包括:獲取模塊,用于獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;確定模塊,用于在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制模塊,用于控制機器人按照安全運動速度移動。
8.根據本技術實施例的另一方面,還提供了一種計算機存儲介質,計算機存儲介質存儲有多條指令,指令適于由處理器加載并執行上述的方法步驟。
9.根據本技術實施例的另一方面,還提供了一種機器人,包括:處理器和存儲器;其中,存儲器存儲有計算機程序,計算機程序適于由處理器加載并執行上述的方法步驟。
10.在本發明實施例中,獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制機器人按照安全運動速度移動。上述方案在機器人移動的過程中檢測器遙控命令速度以及障礙物對機器人的虛擬推力,從而在其遙控命令速度和障礙物對機器人的虛擬推力均不為0的情況下,確定安全運動速度,以對機器人進行減速控制,避免機器人與障礙物發生碰撞,進而解決了現有技術中人工遙控機器人
容易發生碰撞導致生安全事故的技術問題。
附圖說明
11.此處所說明的附圖用來提供對本發明的進一步理解,構成本技術的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
12.圖1是根據本技術實施例的一種機器人的控制方法的流程圖;
13.圖2是根據本技術實施例的一種對機器人進行避障控制的示意圖;
14.圖3是根據本技術實施例的一種對機器人的線速度進行控制的示意圖;
15.圖4是根據本技術實施例的一種對機器人進行避障控制的流程;
16.圖5是根據本技術實施例的一種體素柵格的示意圖;
17.圖6是根據本技術實施例的另一種機器人的控制方法的流程圖;
18.圖7是根據本技術實施例的一種機器人的控制裝置的示意圖;
19.圖8是根據本技術實施例的另一種機器人的控制裝置的示意圖。
具體實施方式
20.為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
21.需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
22.實施例1
23.根據本技術實施例,提供了一種機器人的控制方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
24.圖1是根據本技術實施例的一種機器人的控制方法的流程圖,如圖1所示,該方法包括如下步驟:
25.步驟s102,獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力。
26.具體的,上述機器人可以為具有人工遙控功能的機器人或agv(automated guided vehicle,無人搬運車)。遙控命令速度為機器人的遙控器向機器人發送的控制速度,機器人的遙控器可以是任意用于對機器人進行控制的設備。
27.在上述方案中,將機器人周圍的環境理解為一種抽象的人造力場,在機器人的遙
控命令速度不為0的情況下,周圍的障礙物向機器人產生虛擬推力。
28.障礙物對機器人的虛擬推力,與障礙物與機器人之間的距離相關。可以設置一個安全距離,在障礙物與機器人之間的距離大于該安全距離的情況下,確定此時障礙物對機器人的虛擬推力為0,在障礙物與機器人之間的距離小于等于該安全距離的情況下,確定障礙物對機器人產生一定的虛擬推力。
29.步驟s104,在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度。
30.在遙控命令速度和虛擬推力均不為0的情況下,說明在以機器人為中心的安全范圍內出現了障礙物,且機器人仍然在根據遙控命令速度運動,也即機器人具有碰撞障礙物的風險,因此在這樣的情況下需要對機器人的運動進行調整。
31.在上述方案中,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度,可以是在機器人當前的實際運動速度的基礎上進行減速控制,且虛擬推力越大,說明障礙物距離機器人越近。例如,可以使用機器人的實際運動速度減去虛擬推力與預設的減速度參數的乘積,得到安全運動速度。
32.步驟s106,控制機器人按照安全運動速度移動。
33.由于機器人會持續檢測其遙控命令速度和障礙物對機器人的虛擬推力,因此在機器人的速度減小為0之前,其會不斷的計算安全運動速度,并控制機器人按照安全運動速度移動,因此機器人的實際運動速度會不斷減小,直至減小為0。因此在上述步驟中,控制機器人按照步驟s104中確定的安全運動速度移動,以使機器人能夠在與障礙物碰撞之前停止移動。
34.在一種可選的實施例中,以雙輪差速機器人為例,雙輪差速機器人的速度包括線速度v和角速度w。圖2是根據本技術實施例的一種對機器人進行避障控制的示意圖,結合圖2所示,獲取機器人的遙控命令速度(vm,wm),在遙控命令速度(vm,wm)和虛擬推力(f
x
,fy)均不為0的情況下,基于虛擬推力(f
x
,fy)、機器人當前的實際運動速度(vc,wc)以及預設的減速度參數,確定安全運動速度(vs,ws),其中,v表示線速度,ω表示角速度,(f
x
,fy)分別表示虛擬推力在機器人坐標系的x軸和y軸上的分力。
35.需要說明的是,在控制機器人將速度減小至0之后,如果障礙物排除,或向機器人發送了運動至其他方向(例如與障礙物所在方向相反的方向)的遙控命令,則機器人會重新開始運動。
36.本技術中的機器人自身不存在目標點,機器人的運動方向都是控制者的臨時方向。但是機器人在運動的過程中還是會存在障礙物,由于人控制會有反應時間,如果控制不及時就會碰撞障礙物。本技術上述實施例獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制機器人按照安全運動速度移動。上述方案在機器人移動的過程中檢測器遙控命令速度以及障礙物對機器人的虛擬推力,從而在其遙控命令速度和障礙物對機器人的虛擬推力均不為0的情況下,確定安全運動速度,以對機器人進行減速控制,避免機器人與障礙物發生碰撞,進而解決了現有技術中人工遙控機器人容易發生碰撞導致生安全事故的技術問題。
37.作為一種可選的實施例,基于虛擬推力、機器人當前的實際運動速度以及預設的
減速度參數,確定安全運動速度,包括:步驟s1041,獲取虛擬推力、減速度參數和預設時間差的乘積;步驟s1042,確定機器人當前的實際運動速度與乘積的差值為安全運動速度。
38.在一種可選的實施例中,可以通過如下公式確定安全運動速度:vs=vc
?△
t
·f·
α,其中,vs表示安全運動速度,vc為機器人當前的實際運動速度,

t為預設時間差,f為虛擬推力,α為減速度參數。
39.作為一種可選的實施例,機器人為雙輪差速機器人,遙控命令速度包括遙控命令線速度和遙控命令角速度,實際運動速度包括:實際運動線速度和實際運動角速度,虛擬推力由第一方向的第一虛擬推力和第二方向的第二虛擬推力合成得到,其中,第一方向為機器人的朝向,第二方向與第一方向垂直,安全運動速度包括:安全運動線速度和安全運動角速度。
40.對于雙輪差速機器人,其所有的速度參數都可以包括線速度和角速度,而障礙物對機器人的虛擬推力也可以劃分至第一方向和第二方向,得到兩個方向上的分力。
41.具體的,上述第一方向和第二方向可以為機器人坐標系中的方向。在機器人坐標系中,機器人所在位置為坐標原點,機器人所面對的方向為x軸的正向,與x軸垂直的另一方向為y軸,機器人的左側為y軸正向。也即上述第一方向可以為機器人坐標系中的x軸方向,第二方向可以為機器人坐標系中的y軸方向。
42.作為一種可選的實施例,在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度,包括:
43.在遙控命令線速度和第一虛擬推力均不為0的情況下,基于第一虛擬推力、機器人當前的實際運動線速度以及預設的減速度參數,確定安全運動線速度;以及在遙控命令角速度和第二虛擬推力均不為0的情況下,基于第二虛擬推力、機器人當前的實際運動角速度以及預設的減速度參數,確定安全運動角速度。
44.在上述方案中,對機器人在每個方向上是否具有碰撞風險進行單獨控制,如果遙控命令線速度和第一虛擬推力均不為0,則確定機器人在第一方向上具有發生碰撞的風險,則確定第一方向上的安全運動速度,即安全運動線速度;在該種情況下,機器人的安全運動角速度與這一方向的控制無關。
45.如果遙控命令角速度和第二虛擬推力均不為0,則確定機器人在第二方向上具有發生碰撞的風險,則確定第二方向上的安全運動速度,即安全運動角速度,類似的,在該種情況下,機器人的安全線速度與這一方向上的控制無法。
46.而安全運動線速度和安全運動角速度的確定方式可以是如上述步驟s041和步驟s1042所示。例如,在遙控命令線速度和第一虛擬推力均不為0的情況下,獲取第一虛擬推力、減速度參數和預設時間差的乘積,并確定機器人當前的實際運動線速度與乘積的差值為安全運動線速度,即vs=v
c-δtf
x
α,其中,vs用于表示安全運動線速度,vc用于表示實際運動線速度,δt用于表示預設時間差,f
x
用于表示第一虛擬推力,α用于表示減速度參數。圖3是根據本技術實施例的一種對機器人的線速度進行控制的示意圖,結合圖3所示,在f
x
和vm不為0時,確定vs=v
c-δtf
x
α,否則確定vs等于vm。
47.而在遙控命令角速度和第二虛擬推力均不為0的情況下,獲取第二虛擬推力、減速度參數和預設時間差的乘積;確定機器人當前的實際運動角速度與乘積的差值為安全運動角速度。即ωs=ω
c-δtfyα,其中,ωs用于表示安全運動線速度,ωc用于表示實際運動線速
度,δt用于表示預設時間差,fy用于表示第一虛擬推力,α用于表示減速度參數。
48.上述方案可以使得當機器人處于遙控狀態下,當遇到障礙物是,機器人可以自主的障礙物的方向減速,而不影響其它方向的運動,使得機器人在遙控狀態下更加靈活可靠。
49.作為一種可選的實施例,獲取障礙物對機器人的虛擬推力,包括:通過傳感器獲取預設避障范圍內的初始二維點云數據,其中,預設避障范圍以機器人為中心確定;對初始二維點云數據進行體素濾波,得到濾波后的目標二維點云數據;獲取目標二維點云數據中的每一點對機器人的推力場;基于每一點對機器人的推力場確定每一點對機器人的單位虛擬推力;基于單位虛擬推力確定預設避障范圍內的障礙物對機器人的虛擬推力。
50.具體的,上述傳感器可以為超聲傳感器、碰撞開關、激光雷達、雙目相機等,這些傳感器可以設置在機器人上,也可以設置在機器人運動的環境中。在一種可選的實施例中,可以將多個傳感器采集的數據進行數據融合,得到機器人周圍的三維點云數據,然后將三維點云數據映射至平面,得到上述的初始二維點云數據。
51.上述體素濾波用于減少運算時的數據量,從而減少機器人的數據處理壓力。
52.圖4是根據本技術實施例的一種對機器人進行避障控制的流程,結合圖4所示,通過機器人的避障傳感器進行數據采集,對多傳感器采集的數據進行數據融合,并計算出所有障礙物的推力和,即上述障礙物對機器人的虛擬推力。接收遙控命令速度,并根據步驟s102至s106計算安全運動速度,通過安全運動速度對機器人進行安全控制(控制機器人按照安全運動速度運動)。在對機器人進行安全控制的過程中,判斷是否結束對機器人的控制,如果判斷結果為是,則結束對機器人的控制,否則返回繼續通過避障傳感器進行數據采集。
53.下面對如何進行體素濾波、如何運算推力場,以及如何確定每個點的單位虛擬推薦進行詳細說明。
54.作為一種可選的實施例,對初始二維點云數據進行體素濾波,得到濾波后的目標二維點云數據,包括:將預設避障范圍按照預設的柵格大小進行柵格化處理,以使初始二維點云數據中的初始點云落入柵格內;獲取落入同一個柵格的多個初始點云,基于多個初始點云的坐標確定出一個目標點云,并通過目標點云表示落入同一個柵格的多個初始點云;確定每個柵格對應的目標點云構成目標二維點云數據。
55.在一種可選的實施例中,將所有傳感器采集到的數據轉換到機器人本體坐標,并且垂直投影到2d平面,生成2d點云這些2d點云數據即為上述初始二維點云數據。然后對該初始二維點云數據進行體素濾波。
56.首先以機器人為中心,確定一避障范圍q(上述預設避障范圍可以是以機器人為中心,以2q為邊長的方形),柵格大小r,將機器人周圍柵格化,如圖5所示。
57.柵格將初始二維點云數據劃分在不同的體素柵格內,然后用體素柵格內所有點的重心來表示該柵格的環境數據。對于一個含有n個點的二維體素,經過體素濾波器處理后得到表示環境數據的目標點的公式為:其中,(x,y)為目標點在機器人坐標系中的坐標,(xi,yi)用于表示同一柵格內第i個點在機器人坐標系中的坐標。
58.本技術上述方案將t時刻的進行體素濾波,最后得到ct,體素濾波如圖5所示。其中體素濾波的柵格大小為r,范圍是q。r和q可以根據需要求調節,q越
大機器人的安全距離越大,r越大控制精度越小,r越小計算量越大。
59.作為一種可選的實施例,獲取目標二維點云數據中的每一點對機器人的推力場,包括:根據預設避障范圍確定推力場的最大距離;在目標點與機器人之間的目標距離大于最大距離的情況下,確定推力場為0,其中,目標點為目標二維點云數據中的每一點;在目標點與機器人之間的目標距離小于或等于最大距離的情況下,獲取目標距離的第一平方值、最大距離與單位距離之比的第二平方值,以及四倍的目標距離與3的差值,獲取第二平方值與差值之間的比值,并確定第一平方值與比值之差為目標點對機器人的推力場,其中,單位距離用于表示柵格的大小。
60.在一種可選的實施例中,障礙物對機器人的推力場可以通過如下公式計算得到:
[0061][0062]
其中,q點表示上述目標點,u(q)表示目標點對機器人的推力場,q表示上述最大距離,在該示例中,2q為預設避障范圍的邊長,d(q)表示目標點與機器人之間的目標距離,r為上述單位距離,即柵格分辨率。
[0063]
作為一種可選的實施例,基于每一點對機器人的推力場確定每一點對機器人的單位虛擬推力,包括:獲取預設的推力場系數;確定每一點對機器人的推力場與推力場系數的乘積為每一點對機器人的單位虛擬推力。
[0064]
在一種可選的實施例中,單位虛擬推力可以通過如下公式計算得到:
[0065][0066]
其中,fq為q點的單位虛擬推力,η用于表示上述的推力場系數。
[0067]
作為一種可選的實施例,基于單位虛擬推力確定預設避障范圍內的障礙物對機器人的虛擬推力,包括:獲取預設避障范圍內的每一點對應的單位虛擬推力的和值;確定和值為預設避障范圍內的障礙物對機器人的虛擬推力。
[0068]
上述方案將t時刻所有的傳感器數據融合成c
t
后,計算出c
t
中的障礙物的推力和,推力的大小和方向決定了機器人減速度的大小和方向,下面進行詳細說明。
[0069]
作為一種可選的實施例,獲取預設避障范圍內的每一點對應的單位虛擬推力的和值,包括:獲取每一點對應的單位虛擬推力在第一方向的第一分力和在第二方向上的第二分力,其中,第一方向為機器人的朝向,第二方向與第一方向垂直;獲取預設避障范圍內的每一點的第一分力的和值;以及獲取預設避障范圍內的每一點的第二分力的和值。
[0070]
在一種可選的實施例中,上述第一方向為機器人坐標系中的x方向,上述第二方向為機器人坐標系中的y方向,q點單位虛擬推力為fq,表示q點的第一分力,表示q點的第二分力,i表示預設避障范圍內的第i個點,(q
x
,qy)表示q點在機器人坐標系中的坐標,f
x
,fy表示當前時刻機器人周圍所有障礙物在機器人x,y軸上的推力,可以通過如下公式計算單位虛擬推力的和值。
[0071][0072][0073]
實施例2
[0074]
為了防止人工控制移動機器人或agv帶來的安全隱患,還具有如下兩種方案:方案一,遇到障礙物就急停然后再通過人工搬移機器人到無障礙物的區域;方案二,遇到障礙物就自動后退到無障礙區域。上述方案一存在的缺陷是控制不靈活,需要人工搬移機器人;方案二存在的缺陷是控制效果不佳,在機器人自動后退的過程中可能帶來更多的安全隱患。為了解決這些問題,本發明又提供了一種機器人的控制方法的實施例,圖6是根據本技術實施例的另一種機器人的控制方法的流程圖,如圖6所示,該方法包括如下步驟:
[0075]
步驟s602,獲取機器人在多個方向的遙控命令速度和障礙物對機器人在多個方向的虛擬推力。
[0076]
具體的,上述機器人可以為具有人工遙控功能的機器人或agv(automated guided vehicle,無人搬運車)。遙控命令速度為機器人的遙控器向機器人發送的控制速度,機器人的遙控器可以是任意用于對機器人進行控制的設備。
[0077]
在一種可選的實施例中,在機器人為雙輪差速機器人的情況下,上述多個方向可以包括機器人坐標系中的x方向和y方向,x方向的速度參數為線速度,y方向的速度參數為角速度。對于其他機器人,可以具有對應的其他多個方向。
[0078]
在上述方案中,將機器人周圍的環境理解為一種抽象的人造力場,障礙物對機器人的虛擬推力包括多個方向的分力,也即上述多個方向的虛擬推力。
[0079]
步驟s604在第一方向的目標遙控命令速度和第一方向的目標虛擬推力均不為0的情況下,對機器人在第一方向進行減速控制,其中,第一方向為多個方向中的任意一個方向。
[0080]
上述第一方向為多個方向中,滿足遙控命令速度和虛擬推力均不為0的方向。某個方向滿足上述條件的情況下,則對上述這一方向的速度進行減速控制。
[0081]
在一種可選的實施例中,仍以上述雙輪差速機器人為例,如果機器人坐標系中x軸方向的目標遙控命令速度和同一方向的目標虛擬推力均不為0,則對x軸方向上的速度,即線速度進行減速控制;如果機器人坐標系中y軸方向的目標遙控命令速度和同一方向的目標虛擬推力均不為0,則對y軸方向上的速度,即角速度進行減速控制。
[0082]
由此可知,本技術上述實施例獲取機器人在多個方向的遙控命令速度和障礙物對機器人在多個方向的虛擬推力;在第一方向的目標遙控命令速度和第一方向的目標虛擬推力均不為0的情況下,對機器人在第一方向進行減速控制,其中,第一方向為多個方向中的任意一個方向。上述方案在對機器人的遙控過程中,控制機器人在受到障礙物的虛擬推力的方向進行減速控制,但在沒有受到障礙物的虛擬推力的方向繼續遙控運動,從而不僅解決了現有技術中人工遙控機器人容易發生碰撞導致生安全事故的技術問題,還使得機器人在遙控狀態下更加靈活可靠。
[0083]
作為一種可選的實施例,對機器人在第一方向進行減速控制,包括:獲取機器人當前在第一方向的目標實際運動速度以及預設的減速度參數;獲取目標虛擬推力、減速度參
數和預設時間差的乘積;確定機器人當前的目標實際運動速度與乘積的差值為機器人在第一方向的目標安全運動速度。
[0084]
在一種可選的實施例中,確定上述第一方向為機器人的x方向,通過vs=v
c-δtf
x
α確定上述目標完全移動速度,其中,vs用于表示目標安全運動速度,vc用于表示目標實際運動速度,δt用于表示預設時間差,f
x
用于表示目標虛擬推力,α用于表示減速度參數。
[0085]
需要說明的是,在不沖突的情況下,本實施例中的方法還可以包括實施例1中的其他方法步驟,此處不再贅述。
[0086]
實施例3
[0087]
本發明提供了一種機器人的控制裝置的實施例,圖7是根據本技術實施例的一種機器人的控制裝置的示意圖,如圖7所示,該裝置包括:
[0088]
獲取模塊70,用于獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;
[0089]
確定模塊72,用于在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;
[0090]
控制模塊74,用于控制機器人按照安全運動速度移動。
[0091]
作為一種可選的實施例,確定模塊包括:第一獲取子模塊,用于獲取虛擬推力、減速度參數和預設時間差的乘積;第一確定子模塊,用于確定機器人當前的實際運動速度與乘積的差值為安全運動速度。
[0092]
作為一種可選的實施例,機器人為雙輪差速機器人,遙控命令速度包括遙控命令線速度和遙控命令角速度,實際運動速度包括:實際運動線速度和實際運動角速度,虛擬推力由第一方向的第一虛擬推力和第二方向的第二虛擬推力合成得到,其中,第一方向為機器人的朝向,第二方向與第一方向垂直,安全運動速度包括:安全運動線速度和安全運動角速度。
[0093]
作為一種可選的實施例,在遙控命令速度和虛擬推力均不為0的情況下,確定模塊包括:第二確定子模塊,用于在遙控命令線速度和第一虛擬推力均不為0的情況下,基于第一虛擬推力、機器人當前的實際運動線速度以及預設的減速度參數,確定安全運動線速度;以及第三確定子模塊,用于在遙控命令角速度和第二虛擬推力均不為0的情況下,基于第二虛擬推力、機器人當前的實際運動角速度以及預設的減速度參數,確定安全運動角速度。
[0094]
作為一種可選的實施例,獲取模塊包括:第二獲取子模塊,用于通過傳感器獲取預設避障范圍內的初始二維點云數據,其中,預設避障范圍以機器人為中心確定;濾波子模塊,用于對初始二維點云數據進行體素濾波,得到濾波后的目標二維點云數據;第三獲取子模塊,用于獲取目標二維點云數據中的每一點對機器人的推力場;第四確定子模塊,用于基于每一點對機器人的推力場確定每一點對機器人的單位虛擬推力;第五確定子模塊,用于基于單位虛擬推力確定預設避障范圍內的障礙物對機器人的虛擬推力。
[0095]
作為一種可選的實施例,濾波子模塊包括:柵格化處理單元,用于將預設避障范圍按照預設的柵格大小進行柵格化處理,以使初始二維點云數據中的初始點云落入柵格內;表示單元,用于獲取落入同一個柵格的多個初始點云,基于多個初始點云的坐標確定出一個目標點云,并通過目標點云表示落入同一個柵格的多個初始點云;第六確定子模塊,用于確定每個柵格對應的目標點云構成目標二維點云數據。
[0096]
作為一種可選的實施例,第三獲取子模塊包括:第一確定單元,用于根據預設避障
范圍確定推力場的最大距離;第二確定單元,用于在目標點與機器人之間的目標距離大于最大距離的情況下,確定推力場為0,其中,目標點為目標二維點云數據中的每一點;第三確定單元,用于在目標點與機器人之間的目標距離小于或等于最大距離的情況下,獲取目標距離的第一平方值、最大距離與單位距離之比的第二平方值,以及四倍的目標距離與3的差值,獲取第二平方值與差值之間的比值,并確定第一平方值與比值之差為目標點對機器人的推力場,其中,單位距離用于表示柵格的大小。
[0097]
作為一種可選的實施例,第四確定子模塊包括:第一獲取單元,用于獲取預設的推力場系數;第四確定單元,用于確定每一點對機器人的推力場與推力場系數的乘積為每一點對機器人的單位虛擬推力。
[0098]
作為一種可選的實施例,第五確定子模塊包括:第二獲取單元,用于獲取預設避障范圍內的每一點對應的單位虛擬推力的和值;第五確定單元,用于確定和值為預設避障范圍內的障礙物對機器人的虛擬推力。
[0099]
作為一種可選的實施例,第二獲取單元包括:第一獲取子單元,用于獲取每一點對應的單位虛擬推力在第一方向的第一分力和在第二方向上的第二分力,其中,第一方向為機器人的朝向,第二方向與第一方向垂直;第二獲取子單元,用于獲取預設避障范圍內的每一點的第一分力的和值;以及第三獲取子單元,用于獲取預設避障范圍內的每一點的第二分力的和值。
[0100]
實施例4
[0101]
本發明提供了又一種機器人的控制裝置的實施例,圖8是根據本技術實施例的另一種機器人的控制裝置的示意圖,如圖8所示,該裝置包括:
[0102]
獲取模塊82,用于獲取機器人在多個方向的遙控命令速度和障礙物對機器人在多個方向的虛擬推力;
[0103]
控制模塊84,用于在第一方向的目標遙控命令速度和第一方向的目標虛擬推力均不為0的情況下,對機器人在第一方向進行減速控制,其中,第一方向為多個方向中的任意一個方向。
[0104]
作為一種可選的實施例,控制模塊包括:第一獲取子模塊,用于獲取機器人當前在第一方向的目標實際運動速度以及預設的減速度參數;第二獲取子模塊,用于獲取目標虛擬推力、減速度參數和預設時間差的乘積;確定子模塊,用于確定機器人當前的目標實際運動速度與乘積的差值為機器人在第一方向的目標安全運動速度。
[0105]
實施例5
[0106]
本發明提供了一種計算機存儲介質,所述計算機存儲介質存儲有多條指令,所述指令適于由處理器加載并執行如實施例1所述的方法步驟。
[0107]
實施例6
[0108]
本發明提供了一種機器人,包括:處理器和存儲器;其中,所述存儲器存儲有計算機程序,所述計算機程序適于由所述處理器加載并執行如實施例1所述的方法步驟。
[0109]
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0110]
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0111]
在本技術所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的
方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
[0112]
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0113]
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0114]
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、只讀存儲器(rom,read-only memory)、隨機存取存儲器(ram,random access memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0115]
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。

技術特征:


1.一種機器人的控制方法,其特征在于,包括:獲取所述機器人的遙控命令速度和障礙物對所述機器人的虛擬推力;在所述遙控命令速度和所述虛擬推力均不為0的情況下,基于所述虛擬推力、所述機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制所述機器人按照所述安全運動速度移動。2.根據權利要求1所述的方法,其特征在于,基于所述虛擬推力、所述機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度,包括:獲取所述虛擬推力、所述減速度參數和預設時間差的乘積;確定所述機器人當前的實際運動速度與所述乘積的差值為所述安全運動速度。3.根據權利要求1所述的方法,其特征在于,所述機器人為雙輪差速機器人,所述遙控命令速度包括遙控命令線速度和遙控命令角速度,所述實際運動速度包括:實際運動線速度和實際運動角速度,所述虛擬推力由第一方向的第一虛擬推力和第二方向的第二虛擬推力合成得到,其中,所述第一方向為所述機器人的朝向,所述第二方向與所述第一方向垂直,所述安全運動速度包括:安全運動線速度和安全運動角速度。4.根據權利要求3所述的方法,其特征在于,在所述遙控命令速度和所述虛擬推力均不為0的情況下,基于所述虛擬推力、所述機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度,包括:在所述遙控命令線速度和所述第一虛擬推力均不為0的情況下,基于所述第一虛擬推力、所述機器人當前的實際運動線速度以及預設的減速度參數,確定所述安全運動線速度;以及在所述遙控命令角速度和所述第二虛擬推力均不為0的情況下,基于所述第二虛擬推力、所述機器人當前的實際運動角速度以及預設的減速度參數,確定所述安全運動角速度。5.根據權利要求1所述的方法,其特征在于,獲取障礙物對所述機器人的虛擬推力,包括:通過傳感器獲取預設避障范圍內的初始二維點云數據,其中,所述預設避障范圍以所述機器人為中心確定;對所述初始二維點云數據進行體素濾波,得到濾波后的目標二維點云數據;獲取所述目標二維點云數據中的每一點對所述機器人的推力場;基于每一點對所述機器人的推力場確定所述每一點對所述機器人的單位虛擬推力;基于所述單位虛擬推力確定所述預設避障范圍內的障礙物對所述機器人的虛擬推力。6.根據權利要求5所述的方法,其特征在于,對所述初始二維點云數據進行體素濾波,得到濾波后的目標二維點云數據,包括:將所述預設避障范圍按照預設的柵格大小進行柵格化處理,以使所述初始二維點云數據中的初始點云落入所述柵格內;獲取落入同一個柵格的多個初始點云,基于所述多個初始點云的坐標確定出一個目標點云,并通過所述目標點云表示落入同一個柵格的多個初始點云;確定每個柵格對應的目標點云構成所述目標二維點云數據。7.根據權利要求6所述的方法,其特征在于,獲取所述目標二維點云數據中的每一點對所述機器人的推力場,包括:
根據所述預設避障范圍確定所述推力場的最大距離;在目標點與所述機器人之間的目標距離大于所述最大距離的情況下,確定所述推力場為0,其中,所述目標點為所述目標二維點云數據中的每一點;在所述目標點與所述機器人之間的目標距離小于或等于所述最大距離的情況下,獲取所述目標距離的第一平方值、所述最大距離與單位距離之比的第二平方值,以及四倍的目標距離與3的差值,獲取所述第二平方值與所述差值之間的比值,并確定所述第一平方值與所述比值之差為所述目標點對所述機器人的推力場,其中,所述單位距離用于表示所述柵格的大小。8.根據權利要求5所述的方法,其特征在于,基于每一點對所述機器人的推力場確定所述每一點對所述機器人的單位虛擬推力,包括:獲取預設的推力場系數;確定所述每一點對所述機器人的推力場與所述推力場系數的乘積為所述每一點對所述機器人的單位虛擬推力。9.根據權利要求5所述的方法,其特征在于,基于所述單位虛擬推力確定所述預設避障范圍內的障礙物對所述機器人的虛擬推力,包括:獲取所述預設避障范圍內的每一點對應的單位虛擬推力的和值;確定所述和值為所述預設避障范圍內的障礙物對所述機器人的虛擬推力。10.根據權利要求9所述的方法,其特征在于,獲取所述預設避障范圍內的每一點對應的單位虛擬推力的和值,包括:獲取所述每一點對應的單位虛擬推力在第一方向的第一分力和在第二方向上的第二分力,其中,所述第一方向為所述機器人的朝向,所述第二方向與所述第一方向垂直;獲取所述預設避障范圍內的每一點的第一分力的和值;以及獲取所述預設避障范圍內的每一點的第二分力的和值。11.一種機器人的控制方法,其特征在于,包括:獲取所述機器人在多個方向的遙控命令速度和障礙物對所述機器人在所述多個方向的虛擬推力;在第一方向的目標遙控命令速度和所述第一方向的目標虛擬推力均不為0的情況下,對所述機器人在第一方向進行減速控制,其中,所述第一方向為所述多個方向中的任意一個方向。12.根據權利要求11所述的方法,其特征在于,對所述機器人在第一方向進行減速控制,包括:獲取所述機器人當前在第一方向的目標實際運動速度以及預設的減速度參數;獲取所述目標虛擬推力、所述減速度參數和預設時間差的乘積;確定所述機器人當前的目標實際運動速度與所述乘積的差值為所述機器人在所述第一方向的目標安全運動速度。13.一種機器人的控制裝置,其特征在于,包括:獲取模塊,用于獲取所述機器人的遙控命令速度和障礙物對所述機器人的虛擬推力;確定模塊,用于在所述遙控命令速度和所述虛擬推力均不為0的情況下,基于所述虛擬推力、所述機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;
控制模塊,用于控制所述機器人按照所述安全運動速度移動。14.一種計算機存儲介質,其特征在于,所述計算機存儲介質存儲有多條指令,所述指令適于由處理器加載并執行如權利要求1至11中任意一項的方法步驟。15.一種機器人,其特征在于,包括:處理器和存儲器;其中,所述存儲器存儲有計算機程序,所述計算機程序適于由所述處理器加載并執行如權利要求1至11中任意一項的方法步驟。

技術總結


本發明公開了一種機器人的控制方法、裝置、計算機存儲介質以及機器人。其中,該方法包括:獲取機器人的遙控命令速度和障礙物對機器人的虛擬推力;在遙控命令速度和虛擬推力均不為0的情況下,基于虛擬推力、機器人當前的實際運動速度以及預設的減速度參數,確定安全運動速度;控制機器人按照安全運動速度移動。本發明解決了現有技術中人工遙控機器人容易發生碰撞導致生安全事故的技術問題。碰撞導致生安全事故的技術問題。碰撞導致生安全事故的技術問題。


技術研發人員:

陳明建

受保護的技術使用者:

廣州視睿電子科技有限公司

技術研發日:

2021.06.21

技術公布日:

2022/12/22


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-63517-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-12-26 11:41:02

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論