1. 程式人生 > >ADAMS運動學和動力學混合測量機械臂末端在空間任意位置的重力變化

ADAMS運動學和動力學混合測量機械臂末端在空間任意位置的重力變化

1、背景描述

現有一臺串聯力反饋裝置,因為杆件自重和末端自重的原因,導致人握住末端操作時,會感覺到很大的重力,不利於使用者的互動。需需要對該重力進行平衡,在平衡之前,需要弄清楚這個重力在空間各處的值是多少。想用ADAMS模擬出力反饋裝置在空間中若干位置點處重力值得大小。考慮到直接測力不好實現,轉為測量末端在重力原因下運動的加速度,從而間接表徵重力的大小。

2、遇到的技術難點

由於ADAMS在模型匯入進去後,無法像solidworks一樣拖動其中一個零件,其它零件跟隨移動。導致只能測量匯入時所處位姿下,末端運動的加速度資料。如果要測末端出在其它位置點處的運動加速度變化情況,就得重新匯入模型,操作十分麻煩。

3、解決辦法

可以通過給末端加一個Generation Motion的驅動,使用位置和時間函式來設定驅動,使得末端可以通過運動學模擬經過一段時間到達指定目標點,然後當末端點到達指定位置時,使驅動失效,啟動動力學模擬(無驅動下機構自身重力導致的運動),這樣就可以實現在不重新匯入模型情況下,實現末端在不同點處運動加速度的測量。而且後續還可以跟Matlab聯合,通過程式自動輸出不同點來進行模擬,而不用認為去更換目標位置點。具體步驟如下:

步驟1:選擇要測量的位置點,假定要測量(150,-10,0),則給末端加上Generation Motion的驅動。如下圖所示,


步驟2:編寫模擬指令碼。主要包括三個部分:運動學模擬+驅動失效+動力學模擬。(注:ADAMS裡面,有驅動就只能進行運動學模擬,沒有驅動才可以進行動力學模擬,不然會報錯,這就是為什麼需要把驅動給弄失效)

至此模擬結束,接下來,顯示末端運動加速度變化,並匯出資料。