機器人軌跡生成--基於《MODERN ROBOTICS》

機器人軌跡的定義是:機器人位置隨時間變化的規範稱爲軌跡。
有些情況下,機器人的軌跡完全由任務決定,例如,末端執行器需要跟蹤一個已知運動的物體;另一些情況下,任務只是簡單的要求機器人在一個給定的時間內從一個位置運動到另一個位置。
軌跡應該是關於時間平滑的函數,而且要滿足關節速度、加速度、力矩的要求。
這裏主要考慮三種情況的軌跡生成:在關節和任務空間點到點的直線軌跡、在給定時間通過點的軌跡、考慮關節驅動限制的時,通過給定路徑的最短時間軌跡。

一、定義

路徑:機器人完成的配置序列的純幾何描述。路徑θ(s),將標量路徑參數s(假設路徑開始時s爲零,結束時s爲一)映射到機器人配置空間Θ中的一個點,即θ : [0, 1] -> Θ。當s從0變到1,機器人即沿着路徑從起點運動到終點。

時間尺度:上個定義中的s就是時間尺度,是實際時間的函數,即s(t)。當這段軌跡使用的實際時間爲T,則t∈[0, T],s : [0, T] -> [0, 1]。

軌跡:軌跡(trajectory)由路徑(path)和時間尺度(time scaling)組成,即θ(s(t))或θ(t)。

二、點到點的軌跡

2.1 直線路徑
1.關節空間
在這裏插入圖片描述
2.用最小座標集表示的笛卡爾空間
最小座標集的意思是,在笛卡爾空間用三個變量表示位置,用三個變量表示姿態的方法。例如表示姿態的方法:固定角座標系、歐拉角、RPY角等都屬於最小座標集表示姿態的方法。
在這裏插入圖片描述
3.齊次變換矩陣表示的笛卡爾空間
在這裏插入圖片描述
其中X表示4x4齊次變換矩陣。
將位置和姿態解耦表示爲:
在這裏插入圖片描述
其中,p是表示位置的向量,R是表示姿態的3x3旋轉矩陣。
在這裏插入圖片描述
位置和姿態解耦之前和之後對比,可以看到姿態都是連續變化,但解耦之前位置不是直線而是螺旋軌跡。

笛卡爾空間插補需要注意兩個問題:
1.當路徑通過奇異點附近時,關節速度會變得非常大,以至於不可達;
2.由於機器人在任務空間可達的範圍不一定是凸面,所以有可能起始點和終止點都在可達範圍,但是中間插補點卻超出了範圍,如下圖:
在這裏插入圖片描述
圖中表示的是一個兩關節連桿,上圖是關節空間直線插補,在各關節都是直線運動,但是在任務空間卻不是直線。下圖表示的是笛卡爾空間直線插補,任務空間是直線,但在關節空間不是直線,而且起始點和終止點都在運動範圍內,但插補出的中間直線有一段不在運動範圍內。

2.2 直線路徑的時間尺度
1.三次多項式
在這裏插入圖片描述
如圖所示爲三次多項式時間尺度的
在這裏插入圖片描述
三次曲線的最常用形式如下:
在這裏插入圖片描述
在這裏插入圖片描述
在點到點的軌跡中,需要滿足的條件爲:
在這裏插入圖片描述
在這裏插入圖片描述
於是得到三次多項式的係數如下:
在這裏插入圖片描述
代入上述點到點直線路徑公式中得到:
在這裏插入圖片描述
由三次曲線的圖像可以看出,最大關節速度在t=T/2處得到,所以:
在這裏插入圖片描述
同樣,最大關節加速度和減速度分別在t=0和t=T時得到:
在這裏插入圖片描述
由此可以達到一個適當的運動時間T,以滿足關節速度或加速度的限制。
同樣的方法,可以得到五次多項式的曲線如下:
在這裏插入圖片描述
五次多項式增加了兩個變量,需要增加兩個限制條件:
在這裏插入圖片描述
同理可以得到梯形曲線:
在這裏插入圖片描述
以及S形曲線:
在這裏插入圖片描述

三、通過點的軌跡

假設關節軌跡需要通過k個點,通過第一個點的時間爲T1=0,通過最後一個點的時間爲Tk=T。對於每一個通過點 i∈{1,…,k},其期望的位置爲:
在這裏插入圖片描述
期望的速度爲:
在這裏插入圖片描述
軌跡共有k-1段,第 j∈{1,…,k-1}段的持續時間爲:
在這裏插入圖片描述
在第j段的關節軌跡用三次多項式表示爲:
在這裏插入圖片描述
其中
在這裏插入圖片描述
第j段的軌跡需要滿足如下四個條件:
在這裏插入圖片描述
由此可以求解出係數:
在這裏插入圖片描述
在這裏插入圖片描述
上圖表示了兩種通過四個點的曲線軌跡,通過點的路徑形狀取決於通過的點的指定速度大小和方向。選擇合適的時間和速度,可以使軌跡更加平滑。

四、時間最優的時間尺度

4.1問題描述
這一節的目的是,找到一個時間尺度函數s(t),使得在滿足機器人各關節力矩限制的情況下,以最短時間沿給定的軌跡運動。
機器人的一般動力學模型如下:
在這裏插入圖片描述
機器人第i個關節力矩限制如下:
在這裏插入圖片描述
可見,第i個關節的最大最小力矩與關節的位置和速度都有關,這一點從動力學方程可以看出。
將上述動力學方程做如下改寫:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
得到
在這裏插入圖片描述
於是由動力學方程可以得到如下更緊湊的形式:
在這裏插入圖片描述
同樣將關節力矩限制改寫得到:
在這裏插入圖片描述
代入得:
在這裏插入圖片描述
在這裏插入圖片描述
令最小最大的s加速度分別爲:
在這裏插入圖片描述

在這裏插入圖片描述
定義:
在這裏插入圖片描述
則第i個關節驅動器的力矩限制可以寫成:
在這裏插入圖片描述
則時間最優的時間尺度問題可以改寫成如下:
給定一個θ(s),求一個兩次可微的單調遞增函數s(t):[0,T] -> [0,1],滿足:
在這裏插入圖片描述
以及沿着路徑運動的總時間最小,且要滿足上式的關節力矩限制。

4.2
在這裏插入圖片描述
在這裏插入圖片描述
如上圖所示,上述的時間最優時間尺度問題,就是要在該座標系中找到一條從(0,0)到(1,0)的曲線,由於s(t)必須單調遞增,所以:
在這裏插入圖片描述
所以該時間尺度曲線必須處於第一象限。
根據限制條件:
在這裏插入圖片描述
可以在該平面內畫出限制條件的邊界,如下圖黑色實線。
當:
在這裏插入圖片描述
屬於不可達區域,如下圖灰色區域。
而在可達區域的每個點都能找到一個滿足限制條件的錐形範圍,時間尺度曲線的切線必須處於該錐形範圍才能滿足關節限制條件。
在邊界上,只有一個方向可選,即邊界曲線的切線。
在這裏插入圖片描述
如上圖中右圖就不能滿足關節限制條件,因爲時間尺度曲線(半圓曲線)上的一點切線方向不處於錐形範圍內。
由上述分析可知,如果讓關節一直以最大或最小加速度運行,那麼運行的時間肯定是最短的,即讓時間尺度曲線的切線沿着錐形的上邊界或下邊界。
在這裏插入圖片描述
如上圖a所示,時間最優化和非時間最優化的時間尺度曲線對比。最優化時,曲線上每一點的切線都是錐形的上邊界或下邊界,而非最優時,曲線上每一點的切線都處於錐形中間。對於時間最優化問題最重要的是找到從最大加速度轉換成最小減速度的臨界點s*。如右圖所示,當曲線遇到邊界時,會出現不止一個臨界點的情況,所以尋找時間最優的時間尺度曲線問題變成了尋找臨界點的問題。
4.3時間尺度算法
時間尺度算法按如下步驟進行:
step 1. 初始化空的臨界點集合:
在這裏插入圖片描述
初始化臨界點計數:i=0,且:
在這裏插入圖片描述
step 2. 從(1,0)開始,令
在這裏插入圖片描述
反向推倒曲線,直到
在這裏插入圖片描述
(表示碰到邊界曲線)或s=0爲止,這條曲線叫做F,如下圖step 2所示。
step 3. 令
在這裏插入圖片描述

在這裏插入圖片描述
開始前向推倒曲線,直到
在這裏插入圖片描述
(表示碰到邊界曲線)。這條曲線叫做Ai,如果Ai與F相交,則遞增i,且
在這裏插入圖片描述
並且將si加入到臨界點集合S中。si就是最大加速度到最大減速度轉換的臨界點。那麼問題就已經解決了,集合S就是所有臨界點的集合。
如果Ai與F沒有交點,而是與邊界曲線相交,如下圖step 3所示,那麼交點設爲
在這裏插入圖片描述
進行下一步。
step 4. 如圖step 4所示,在
在這裏插入圖片描述
以二分法的方式搜索一個點
在這裏插入圖片描述

在這裏插入圖片描述
從起始點
在這裏插入圖片描述
前向推倒曲線,直到與邊界曲線相切,令切點爲
在這裏插入圖片描述
step 5. 令
在這裏插入圖片描述

在這裏插入圖片描述
開始反向推倒曲線,直到與Ai曲線相交,如圖step 5所示。將i遞增,將這段曲線命名爲Ai,將交點座標記錄到集合S中,作爲第i個臨界點。
step 6. 將i遞增,同時
在這裏插入圖片描述
將交點座標記錄到集合S中,如下圖step 6所示。然後重複step 3.
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章