遇到乙個具體的六軸機械臂,對其時間最優軌跡規劃演算法進行設計需要考慮哪些問題?

時間 2021-06-03 19:24:58

1樓:Mr.Bo

Time-Optimal Time Scaling:

在路徑 是由任務完全指定的或者由避開障礙的路徑規劃器指定的情況下,路徑規劃問題簡化成了尋找time scaling 的問題,如下圖:

機械人繞開圓盤障礙物的路徑規劃

可以通過選擇time scaling,在滿足時間限制的情況下將能量消耗最小化,或者以任務為驅動,比如防止機械人端著的一杯水濺出來。

最有用的乙個time scaling就是讓沿路徑運動的時間最小,但會受到機械人驅動器的限制。這種time scaling能使機械人的生產效率最大化。

雖然我們上節提到的的梯形time scaling可以產生時間最優軌跡,但僅限於在恆定最大加速度a和最大速度v的直線運動中。對於大多數機械人,要用下式的動力學來描述:

最大速度和加速度是沿路徑變化的,那麼這樣問題就是尋找最短的time scaling 滿足機械人驅動器的約束,這個約束條件寫為:

關節扭矩通常是當前關節速度的函式,例如,對於給定的直流電機的最大電壓,電機的最大轉矩隨電機的速度線性下降。

這裡又需要第八章的知識,有:

這樣,改寫一下 , ,這樣動力學方程就變成了:

簡化成向量方程,就為:

式中, 當機械人在路徑 上的慣量矩陣, 包含二次速度項, 為重力力矩。

驅動約束方程也可以表示為s的函式:

綜合起來,就有:

設 和 為滿足上式第i個分量的最小和最大加速度 ,就有:

定義:那麼約束條件就變成了:

這樣,time-optimal time-scaling problem就表述為:

給定乙個path ,初狀態 ,末狀態 ,找到乙個單調遞增的二次可微的time scaling ,滿足:

(1) 以及

(2)在滿足約束條件的情況下,使沿路徑的總時間最小

上面的推導也很容易推廣到初速度和末速度非0的情況,即 0" eeimg="1"/>, 0" eeimg="1"/>

上述問題就很容易的在受到路徑約束的機械人的 相平面上視覺化,如下圖:

因為 是單調遞增的, 對於時間t和 均成立,那麼在相平面內的路徑的time scaling就是如上圖所示從 到 的任意曲線,然而,並非所有這些曲線都滿足我們上面推導出的約束條件。

那麼上面推導出的約束條件有什麼用呢?在相平面上的每個點 處,我們都可以畫出約束條件的向量三角形,如果 ,那麼向量三角形就消失了,也意味著機械人無法在這個路徑上運動,這種狀態在下圖中用灰色表示,對於任意的s,都存在乙個極限速度,機械人的運動無法超過極限速度 ,這個函式就叫做速度極限曲線,在速度極限曲線上 ,向量三角形就變成乙個單一向量。

對於滿足約束條件的time scaling曲線,time scaling曲線的切線必須位於曲線上所有點的約束條件的向量三角形內。

下圖展示了乙個不可行的例子,即速度極限曲線的切線並不在約束條件的向量三角形內。

為了達到時間最優的目的,那麼就意味著速度要在滿足各種約束條件的情況下足夠快,因此,將時間寫為:

處理一下:

這樣時間最優就意味著 要在滿足各種約束條件下盡可能小,即 要在滿足各種約束條件下盡可能大。

這就要求 time scaling要在極限值 和 的情況下工作,唯一的選擇就是在這些極限之間切換。

一種常見的解決方法被稱為bang-bang trajectory:先使用最大加速度運動然後轉換至最小加速度運動,利用數值積分的方法,對 從 開始積分, 從 開始積分,找到曲線的交點,那麼轉換的位置就在交點處,如下圖:

在某些情況下,速度極限曲線會使上述方法不可行,這些情況需要乙個演算法來找到多個速度切換點,如下圖:

經過上面的介紹,The Time-Scaling Algorithm就很明了了:

要使時間最優,就要找到速度切換點,讓曲線在 相平面上足夠「高」。

Time-Scaling Algorithm的流程為:

(1)初始化乙個交換集合 和乙個轉換次數計數器 ,讓

(2)在時間上積分 從 後向積分直到 U(s,\dot s)" eeimg="1"/>或者 ,稱其為相平面曲線F。

(3)在時間上積分 從 開始直到穿過相平面曲線F或者,記為相平面曲線 ,如果 穿過F,則 ,當交點出現時,讓為 的值,同時將 記錄進S之中。這是從最大加速度到最大減速的轉換,如果交點的值大於速度極限曲線的值,則用 作為轉換點並進入下一步。

(4)對 中的速度進行二分查詢,找到速度 滿足 從前向積分不超過速度極限曲線。二分查詢的 , ,步驟為:

(a)令 ,該點記為

(b)如果曲線從測試點穿過速度極限曲線,設定 ,反之,如果測試點的值為 ,就讓 ,返回(a)。

直到二分查詢達到指定的精度,讓 為生成的曲線與速度極限曲線相切(或最接近速度極限曲線)的點

(5) 從後向積分直到和 相交

(6) ,讓為 的值,同時將 記錄進S之中。這是從最大加速度到最大減速的轉換。回到步驟(3)。

演算法步驟如下圖:

上述演算法還可以進行改進,我們可以利用速度極限曲線,即上述演算法的步驟4改為表達出速度極限曲線去尋找滿足條件的點,如下圖:

最後,要強調時間最優演算法的一些假設(這裡的假設實在不好翻譯,就貼原汁原味的英文了)

(1)Static posture maintenance.

(2)Inadmissible states.

(3)Zero-inertia points.

現代機械人學:力學,規劃,控制(chapter9 Ⅱ)軌跡生成之時間最優法

2樓:「已登出」

電機能提供的力矩上限,

如果軌跡上有加速度的點超過力矩,電機會被機械臂的慣性力拉著走,不光產生振動,最後的精度也會受影響。

如果我想做一個基於視覺的機械臂物料抓取,我需要準備些什麼,大致思路還有哪些資料可以去看?

利益相關 做過一段時間基於ros機械臂的抓取這是我一些比較淺顯的想法,跟題主分享一下。1.視覺獲取目標物體 2.確定物體的在機械臂座標系的座標 3.控制機械手到目標物體附近 4.對物體進行抓取 5.將物體移動到目標位置 先從這五個方面思考,每一步都對應著大量的演算法,明天再補充 天馬微雲 I can...

嫁給乙個離異帶孩子的男人會遇到哪些具體問題?有辦法克服嗎?

小丑魚 我現在認識的男朋友 離異,和前妻各帶乙個女兒 他父母已經去世,意味著沒人給看孩子 她前妻和他乙個城市,還很近,雖然我不想讓他見前妻帶的女兒,但是他本人提要求要見,放心不下 他自己帶的女兒快要上學了,沒有相處過,將來打算一起生活,但是可能多數時間要我帶,他本人工作性質基本單位常住。我本人未婚,...

在乙個錯誤的時間遇到乙個對的人,是何種體驗?

王春豔能量調香 對沒有絕對,只不過以你現階段的需求和認知,這個人比較符合你當下對愛情的想象。有多少人過了很多年再回去看初戀,發現TA怎麼會成為我的初戀?又有多少人深情愛過之後,回過頭來看,發現自己愛的只不過是乙個人渣。時間是不會錯的,錯的只是人。你現在身處當下的時間是真實的,是對的。但既然不能在一起...