本公開涉及機器人臂的領域。更具體地說,本公開涉及用于運輸負載的機器人臂的優化軌跡的計算。
背景技術:
1、機器人臂,也稱為鉸接臂,是使移動負載成為可能的機器人。為此,機器人臂具有幾個鉸接區段,在鉸接區段末端的是可以附接負載的執行器。因此,鉸接臂的相對移動允許執行器將負載從一點移動到另一點。執行器是用于夾持所討論的負載的機器人臂的夾持構件,通常由夾具或吸盤組成。
2、總的來說,期望以最大速率和加速度操作這種機器人臂,以便獲得盡可能短的周期時間。周期時間是機器人將負載從其起始點移動到其期望的最終目的地所花費的時間:例如,從一個存儲箱移動到另一存儲箱或包裝容器。周期時間的縮短伴隨著物流收益,且因此帶來財務收益。然而,尋找最大速率和加速度并非沒有一定數量的技術問題。
3、當移動負載時,施加到負載上的加速度導致力被施加到負載。這些力具有與機器人的末端區段的取向共線的法向分量,以及與機器人的末端區段的取向正交的切向分量。如果力大于執行器可以承受的最大力,那么向負載施加太大的力可導致執行器釋放負載。對于大多數執行器,特別是吸盤型執行器,切向力尤其難以承受。其它執行器可能具有特別難以承受的不同方向的力。
4、一般來說,施加到負載上的加速度越大且負載的質量越大,力就越大。因此,執行器可以承受的力的極限可以兩種方式限制機器人臂可以施加到負載的移動:
5、-可以限制要移動的負載的質量;
6、-可以限制施加到負載上的加速度,這會增加負載進行給定移動的行進時間。
7、為了克服這些限制,一種解決方案是使用具有更強大執行器的機器人臂,從而能夠支撐更大的力。然而,這種機器人臂和執行器可能更昂貴且更笨重。
8、因此,需要增加同一機器人臂可以移動的負載,和/或減少負載通過所述同一機器人臂在兩點之間的行進時間。這種需要也可以表示為在兩點之間更快地運輸相同質量的負載的需要。
9、還需要具有用于管理機器人臂的軌跡的曲線,所述曲線考慮到所述機器人的機械約束,諸如物理上可實現的最大加速度、操作約束等。
10、還需要具有用于管理機器人臂的軌跡以及加速度曲線的策略,以便優化行進時間,同時避免負載被拉離末端執行器。
11、此策略還需要能夠考慮到負載從其起始點到其最終目的地的路徑中障礙物的存在。
技術實現思路
1、本公開改善了這種情況。
2、提供一種用于通過機器人臂將負載從起始點移動到終點的方法,所述機器人臂包括多個區段以及在所述多個區段的末端處的至少一個能夠附接負載的末端執行器,所述方法包括:確定負載的質心在初始時間且零速度的起始點與最終時間且零速度的終點之間的軌跡,所述軌跡通過負載的質心垂直速度為零的至少一個高度局部極值,軌跡的所述確定包括:確定垂直加速度時間曲線,其包括在起始點、終點和高度局部極值之間的每個間隔中連續不間斷的垂直加速階段和垂直減速階段;以及確定水平加速度時間曲線,其包括在大于或等于初始時間的第四時間與小于或等于最終時間的第六時間之間的連續不間斷的至少一個水平加速階段和至少一個水平減速階段;向機器人臂的至少一個執行器發送控制指令,以用于應用負載的質心的軌跡曲線。
3、術語機器人臂的“末端”應理解為是指機器人臂的區段的可自由移動的移動端。因此,末端通常對應于相對于機器人的底座的最后區段的最后端,與執行器直接接觸。
4、術語“末端執行器”應理解為是指能夠附接負載并且位于機器人臂的末端處的執行器。在本公開的上下文中,末端執行器可以簡稱為“執行器”。
5、術語“高度局部極值”應理解為是指負載的質心在軌跡中的局部最小或最大高度。
6、術語“連續不間斷”應理解為是指沒有中間階段的一連串階段;因此,連續不間斷的垂直加速階段和垂直減速階段可以包括加速階段之后是減速階段,或者減速階段之后是加速階段,但是將不包括零加速階段。類似地,連續不間斷的至少一個水平加速階段和至少一個水平減速階段可以包括一個或多個水平加速和減速階段,但將不包括零水平加速階段(或恒定水平速度);零加速度點可能僅存在于兩個連續的加速和減速階段之間。
7、術語“垂直加速階段”應理解為是指負載的質心的垂直速度增大的時間階段。這可以是上升垂直加速階段,在此期間負載的質心上升得越來越快(垂直速度為正并且速度的絕對值增大),或者是下降垂直加速階段,在此期間負載的質心下降得越來越慢(垂直速度為負并且速度的絕對值減小)。
8、術語“垂直減速階段”應理解為是指負載的質心的垂直速度減小的時間階段。這可以是下降垂直減速階段,在此期間負載的質心下降得越來越快(垂直速度為負并且速度的絕對值增大),或者是上升垂直減速階段,在此期間負載的質心上升得越來越慢(垂直速度為正并且速度的絕對值減小)。
9、術語“水平加速階段”應理解為是指水平速度的絕對值增大的階段。
10、術語“水平減速階段”應理解為是指水平速度的絕對值減小的階段。
11、術語“控制指令”應理解為是指可以由機器人臂遵循或執行以便將所確定的軌跡應用于負載的質心的任何指令或信息。
12、因此,在第四與第六時間之間,負載的質心的垂直加速度曲線不包括任何零加速階段,并且水平加速度曲線不包括任何零加速階段。
13、這使得對于軌跡的給定行進時間,有可能在更長的持續時間內獲得更低的加速度,并且因此對于相同的行進時間向負載施加更小的力。因此,這使得有可能利用同一機器人臂運載更重的負載和/或受益于更快的軌跡,而沒有末端執行器釋放負載的風險。
14、由根據本發明的方法確定并應用于負載的軌跡的特征在于在零垂直速度和加速度的兩點之間的成對的垂直加速和減速階段,而不具有恒定垂直速度(且因此零加速度)的階段。
15、根據另一方面,提供了一種包括指令的計算機程序,所述指令用于在程序由處理器執行時實施根據本公開的其中一個實施例的方法。
16、根據另一方面,提供了一種非暫時性計算機可讀存儲介質,其上存儲有程序,所述程序在由處理器執行時用于實施根據本公開的其中一個實施例的方法。
17、根據另一方面,提供了一種能夠將負載從起始點移動到終點的機器人系統,其包括:至少一個機器人臂,其包括多個區段以及在所述多個區段的末端處的至少一個能夠附接負載的末端執行器;以及至少一個計算單元,其被配置成執行根據本公開的其中一個實施例的方法。
18、術語“計算單元”應理解為是指能夠執行電子或計算機計算以執行確定功能的電子組件。計算單元可以指能夠執行數值計算的任何類型的處理器或電子組件。例如,計算單元可以是集成電路、專用集成電路(asic)、微控制器、微處理器、數字信號處理器(dsp)、處理器或圖形處理單元(gpu)。根據本發明的計算單元不限于特定類型的計算架構。例如,處理器可以實施harvard或von?neumann類型的架構。
19、以下段落中闡述的特征可以可選地彼此獨立地或彼此組合地實施:
20、在本發明的一組實施例中,水平或垂直加速或減速階段以加速度的絕對值以預定義加加速度增大開始,直到階段中的加速度的最大絕對值,并以加速度的絕對值以預定義加加速度減小結束。
21、術語“加加速度”應理解為是指加速度的導數,例如以m.s-3表示,其可以由符號j表示。
22、預定義加加速度可以例如針對給定機器人臂根據其機械約束來預定義。加加速度對于所有階段可以是相同的,或者取決于加速階段而不同。例如,預定義加加速度對于水平或垂直加速度、對于加速度或減速度等可以是不同的。
23、這使得有可能獲得機器人在物理上可實現的軌跡,所述機器人通常不能突然從一個加速度切換到非常不同的加速度。
24、在本發明的一組實施例中,方法包括將階段中的加速度的最大絕對值計算為最大可能加速度值與階段的持續時間的一半乘以所述預定義加加速度之間的最小值。
25、術語“最大可能加速度值”應理解為是指最大可能絕對加速度值,其可以根據不同的約束來定義:具有物理上可實現的最大加速度的機器人機械約束、操作約束等。
26、因此,這使得有可能獲得機器人可實現的并且符合最大可能加速度的加速度曲線。
27、在本發明的一組實施例中,兩個連續的加速和減速階段使得減速階段結束時的速度等于加速階段開始時的速度。
28、在本發明的一組實施例中,兩個連續的加速和減速階段使得:連續加速階段中的加速度的最大絕對值(|az1|、|az4|、|ax1|)乘以連續加速階段的時間減去連續加速階段中的加速度的最大絕對值除以所述預定義加加速度等于連續減速階段中的加速度的最大絕對值(|az2|、|az3|、|ax2|)乘以連續減速階段的時間減去連續減速階段中的加速度的最大絕對值除以所述預定義加加速度
29、這使得有可能獲得在絕對值上等于兩個階段中的總減速度的總加速度,并且因此在加速和減速階段的初始時間與最終時間之間獲得相同的速度,例如零速度。
30、在本發明的一組實施例中,方法包括:將第四時間計算為水平移動開始的時間,使得負載的質心在其高度大于或等于起始點的高度加上第一垂直余量時最多水平移動第一水平距離;將第六時間計算為水平移動結束的時間,使得負載的質心在其高度大于或等于終點的高度加上第二垂直余量時最多與終點相距第二水平距離。
31、“水平移動的開始”應理解為是指負載的質心開始移動遠離起始點的時間。
32、“水平運動的結束”應理解為是指負載的質心在水平方向上到達終點上方的時間。
33、這允許從軌跡的起始點和終點上方的給定垂直距離開始執行水平移動,這使得有可能避開軌跡起點和終點處的障礙物。
34、在這種情況下,可以看到水平移動在垂直移動之后開始/在垂直移動之前結束,并且相關聯的延遲對應于垂直軌跡中的高度差。
35、在本發明的一組實施例中,方法包括:將第四時間計算為加速度的絕對值在第一垂直加速或減速階段中取最大值的第一時間;以及將第六時間計算為加速度的絕對值在第一垂直加速或減速階段中取最大值的第一時間。
36、這使得有可能避免在垂直加速度高(az1或az4)時、在上升開始時或在下降結束時增加水平加速度,并因此限制施加到負載的力。
37、在本發明的一組實施例中,負載的質心的軌跡包括最大高度點作為單個高度局部極值;垂直加速度時間曲線連續地包括從初始時間到第一時間的第一垂直加速階段、到通過最大高度點的第二時間的第一垂直減速階段、到第三時間的第二減速階段以及到最終時間的第二加速階段;并且水平加速度時間曲線連續地包括從大于或等于初始時間的第四時間到第五時間的水平加速階段,然后是從第五時間到小于或等于最終時間的第六時間的水平減速階段。
38、這使得有可能在起始點與終點之間獲得盡可能簡單且因此盡可能快的軌跡。
39、軌跡的特征在于先是上升階段然后是下降階段,在每個階段期間速度增大然后減小,而不是恒定的。以同樣的方式,垂直軌跡的特征在于先加速后減速。
40、在本發明的一組實施例中,方法包括:分別從第一預定義間隔、第二預定義間隔和第三預定義間隔中選擇第一時間、第二時間和第三時間;將第一垂直加速階段中的加速度的最大絕對值計算為以下各項之間的最小值:最大可能加速度值;以及第一時間與初始時間之差的一半乘以預定義加加速度;基于第一加速階段中的最大絕對值,計算第一減速階段中的加速度的最大絕對值;以及計算第二垂直減速階段中的加速度的最大絕對值、第二垂直加速階段中的加速度的最大絕對值和到達終點的最終時間。
41、這使得有可能在符合機器人臂的機械約束的同時獲得給定軌跡的所有水平和垂直加速度曲線。
42、在本發明的一組實施例中,方法包括將第五時間計算為第四時間與第六時間之間的中位時間。
43、這使得有可能獲得更長的水平加速和減速階段,從而限制水平加速度的幅度且因此限制執行器的角度。
44、在本發明的一組實施例中,負載的質心的軌跡限定在包括起始點和終點的垂直平面中;并且水平加速度曲線為一維加速度曲線。
45、這使得有可能在起始點與終點之間獲得更短且因此更快的軌跡。
46、在本發明的一組實施例中,負載的質心的軌跡以三維方式限定在起始點與終點之間,并且水平加速度曲線為二維加速度曲線。
47、這使得有可能在3d中獲得復雜的軌跡,例如為了避開障礙物。
48、在本發明的一組實施例中,方法包括:基于所述垂直加速度時間曲線、所述水平加速度時間曲線和重力加速度,確定允許最小化施加到負載的切向力的機器人臂的末端區段的取向的時間曲線;并且用于應用負載的質心的軌跡曲線的控制指令包括末端區段的取向的時間曲線。
49、術語“最小化切向力”應理解為是指使切向力盡可能小。這可以例如意味著使切向力在機器人臂的機械能力的極限內趨向于零和/或將切向力限制在最大絕對值以下。
50、因此,末端區段的取向使得有可能在很大程度上補償由重力引起的切向力和負載的質心的加速度。這使得有可能利用相同的執行器移動更重的負載(并因此產生更高的切向力)和/或利用相同的末端執行器增大負載的質心的移動速度,而沒有負載掉落的風險。
51、在這種情況下,可以看出,機器人臂施加移動以移動區段的起始端并取向末端區段。因此,存在允許取向末端區段的致動器。還可以看出,末端區段將傾向于沿著施加到負載的力的方向自我取向,使得力絕大多數是法向力。因此,可以觀察到施加到負載的力的方向與末端區段的取向之間的相關性。
52、在本發明的一組實施例中,確定允許最小化施加到負載的切向力的末端區段的取向的時間曲線包括:確定允許抵消施加到負載的切向力的末端區段的取向的目標時間曲線;以及根據末端區段的取向的目標時間曲線來確定末端區段的取向的時間曲線。
53、這使得有可能獲得盡可能接近目標曲線的末端區段的取向的時間曲線,所述時間曲線允許完全抵消切向力。
54、在本發明的一組實施例中,通過在初始時間與最終時間之間的所有時刻計算等于水平加速度的反正切除以垂直加速度和重力加速度之和的取向值,來確定允許抵消施加到負載的切向力的末端區段的取向的目標時間曲線。
55、這使得有可能在任何時間獲得施加到負載的總加速度的取向角度。如果將此取向的目標角度應用于負載,那么將因此僅存在法向力,而沒有切向力。
56、在本發明的一組實施例中,根據區段的取向的目標時間曲線來確定末端區段的取向的時間曲線包括:通過分別將取向的目標時間曲線加上和減去對應于最大切向力的角度,來確定末端區段的最大取向的時間曲線和最小取向的時間曲線。
57、這使得有可能在每個時刻獲得施加到負載的切向力符合末端執行器的能力的最小和最大角度。并且因此能夠應用滿足執行器的機械約束的取向的曲線。
58、在本發明的一組實施例中,根據區段的取向的目標時間曲線來確定末端區段的取向的時間曲線包括:生成末端區段的取向的一組候選時間曲線;刪除在至少一個時間處的取向小于取向的最小時間曲線的取向或大于取向的最大時間曲線的取向的末端區段的取向的所述組候選時間曲線;在剩余候選項中選擇取向的中位候選曲線。
59、這使得有可能獲得盡可能接近最佳曲線的取向的曲線,同時確保其符合關于負載取向的安全余量。