基於末端六維力感測器的拖動示教是如何完成的?

現在比較火的拖動示教是怎麼實現的?只基於末端六維力感測器的拖動示教又該如何實現?


1.拖動示教的實現原理有多種,樓上@師雲雷-許三多 說的很詳細,可以參考國內一篇文章《面向直接示教的機器人零力控制》。拖動示教關鍵在於建立機器人系統的動力學方程及系統辨識,當你這兩部分弄得很清楚時,你會發現拖動示教只是一個小小的策略遊戲而已;而這兩部分弄不清楚,做拖動示教感覺就是花拳繡腿。

2.通過力感測器做拖動示教,只是理論上非常容易做,基本原理是阻抗/導納控制,樓上的說的很詳細。但實際應用中也有不少難點,特別是工業上:

質量不好的力感測器零點容易漂,會有安全隱患;

質量稍微好點的力感測器價格貴的要死,基本比機器人本上還貴。

所以工業中更傾向於只用電流環做拖動示教,而此時,就更需要對機器人動力學與系統辨識有較深的認識。


在工業上的做法很多取決於你能夠控制機器人的哪一層了。基本的核心原理都是假想機器人末端是一個virtual dynamics。

但是要完全實現virtual dynamics,首先就需要對機器人本身的dynamics 完全的補償掉,不是每一個機器人都能這麼準確的去做這個的。目前市面上的就KUKA iiwa,LWR能夠有這個效果。FRANKA據說有,但是一直沒有面向市場,這種做法標定是個坑,不是那麼容易。

如果不能完全實現virtual dynamics,退而求其次,我們在運動學層面,保證速度的一致性,但是這樣會有一些阻力的感覺,因為加速度項畢竟沒有考慮了。這些是工業上用的最多的,一個力感測器加上一個可以位置控制的機器人。直接用電流,有一定的安全風險,除非是機器人廠家許可,一般不建議這麼做。

上面說的都是公式層面的東西,一行公式都解決了,實際中比這個要麻煩一點。力感測器本身噪音非常大,人的手還有一個20hz左右的抖動,這些都要靠濾波,濾波的參數也是需要一個個去調試的。


謝邀。

這個問題不算複雜,我建議你應該去搜下論文看看,我簡單回答一下。

一般情況下6維力感測器安裝在機器人末端,那麼人手握持著力感測器去用力就能測量出來3個力和3個扭矩,對應機械臂笛卡爾末端的力和力矩即F=(FX,FY,FZ,TX,TY,TZ),用這個期望的F去做控制有幾個思路:

1,用機械臂雅克比的轉置右乘F就得到了關節的期望力矩,你可以把這個關節力矩作為控制力矩發出去,當然前饋力矩要加上(重力補償,摩擦補償,適當的阻尼等等);這種方法風險比較高安全性差了點,,但是非常符合物理直覺,如果各項參數精確,效果是最好的;

2,用機械臂雅克比的轉置右乘F得到關節的期望力矩,得到關節力矩後不要直接用,乘以一個係數(變換)得到期望的關節角加速度,然後積分得到速度和位置,去做PID控制,比第一個好的是你可以自己限制一下加速度的量,安全一些,但是關節力矩映射到關節加速度最好是用慣量矩陣算一下,不算的話也可以直接當成E矩陣·····也能用,但是操作手感不會太輕盈;

3,用機械臂雅克比的轉置右乘F得到關節的期望力矩,得到關節力矩後不要直接用,乘以一個係數(變換)得到期望的關節角速度,積分得到期望位置,然後去給各個關節做PID,這個方法更簡單,甚至你可以去限制關節速度也會更安全;這個思路類似第二個,但是沒有太明顯的物理意義,畢竟直接關節力矩映射到關節速度不是很有物理道理,但是it works,手感也不太好.


最近做的實驗供您參考:GgRobotics的自頻道-優酷視頻。包括了單機器人的牽引、阻抗、恆力跟蹤、動態力跟蹤、雙臂牽引和阻抗、變姿態等。


把反饋的力乘個係數,計算結果下發給末端期望速度,完成


推薦閱讀:

機器人運動學與動力學在控制上的區別與聯繫?
機器人球關節的DH參數中d是怎麼定義的?
機器人運動學反解怎麼開發?
強化學習 Reinforcement Learning 在控制系統中的應用現狀與前景展望如何?
Jimu 機器人,米兔機器人,wedo,mindstorm,makeblock,針對兒童,該選擇哪個?

TAG:機器人 | 控制理論 | 機器人控制 | 機器人編程 | 牽引力控制 |