文章目錄
-
- 一、定義
- 二、點到點的軌迹
- 三、通過點的軌迹
- 四、時間最優的時間尺度
機器人軌迹的定義是:機器人位置随時間變化的規範稱為軌迹。
有些情況下,機器人的軌迹完全由任務決定,例如,末端執行器需要跟蹤一個已知運動的物體;另一些情況下,任務隻是簡單的要求機器人在一個給定的時間内從一個位置運動到另一個位置。
軌迹應該是關于時間平滑的函數,而且要滿足關節速度、加速度、力矩的要求。
這裡主要考慮三種情況的軌迹生成:在關節和任務空間點到點的直線軌迹、在給定時間通過點的軌迹、考慮關節驅動限制的時,通過給定路徑的最短時間軌迹。
一、定義
路徑:機器人完成的配置序列的純幾何描述。路徑θ(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.