設計仿真 | Adams Action Only 函數的工程應用
01
概 述
進行建模時,總會涉及到與實際工程的對比,所建立的模型與實際情況越相近,那仿真出的結果越有工程意義。但是,有時為了某種目的,也需要人為的控制建模元素與實際情況的相似程度,甚至要切斷所建立元素與模型的某些關聯,達到某種理想狀況,雖然與實際工程有一定差別,但是可以實現仿真目的。總之,一切建模的目的必須滿足于本次仿真的需要,根據實際情況所需,確定選擇什么樣的手段。
02
Action Only函數的功能描述
Action only函數在約束方程中具備隔離標量表達式某些部分與約束反力的功能。通過對受約束系統的拉格朗日方程進行研究,可以很好地理解Action only函數的作用。
其中:
- L為系統能量;
- Q為廣義坐標;
- C為約束;
- λ 為拉格朗日乘子;
通過拉格朗日方程可知,基于約束雅可比矩陣將約束反力投影到廣義運動方程中,而基于Action only函數的機制,可以使某些選定的廣義坐標免受約束反力的作用,從而實現數學上的隔離。
該函數只能用于約束方程表達式中,其形式很簡單,AO(exp),表達式將標明哪些量同約束反力隔離。比如下面的示例:
描述Marker_1和Marker_2之間的約束方程如下所示:
GCON/1, FUN=DX(1) - AO(DX(2))
GCON/2, FUN=DY(1) - AO(DY(2))
GCON/3, FUN=DZ(1) - AO(DZ(2))
通過上述三條約束方程,實現兩個點的平動位移綁定,如果不用AO函數,將實現同球鉸一樣的效果,但是這里使用了AO函數,表現出的效果為,約束反力僅會作用到Marker_1上,而不會作用到Marker_2上,從作用效果上看,就是實現了將Marker_1推向Marker_2,而不會有將Marker_2推向Marker_1的效果。相對比而言,不能使用下面的方式:
GCON/1, FUN=AO(DX(1,2))
GCON/2, FUN=AO(DY(1,2))
GCON/3, FUN=AO(DZ(1,2))
如果這樣設置,在沒有AO函數的情況下是可以的,但是使用AO函數的本質在于原本一個相互的效果要被隔離成單向的效果,所以會造成不能計算的現象。因為從DX(1,2)的角度要保持兩個點的位移綁定,但是使用了AO函數,造成不能達到這個目的,因為約束反力不能施加于任何一個Marker點上,約束方程不能被嚴格滿足,因此出現計算發散的問題。
03
工程應用
比如飛行器飛行過程中,其姿態角度的獲取,雖然有很多方法,這里我們采用AO函數的隔離效果進行檢測。
圖1 Adams2023.1建模設置界面
這里采用Adams最新版本2023.1完成實例說明,但是AO函數已經存在較長時間,前面的版本也適用。建模內容包括:
- 圓柱體和圓錐體兩個部件,之間使用固定副約束;
- 在圓錐體質心上施加了側向干擾脈沖信號,在給定時間完成作用;
- 在圓柱體的底端圓心施加推力,方向沿圓柱軸線;
- 在圓柱上再施加一個繞圓柱軸線的點驅動,轉速30度每秒;
- 創建一個點質量,位于圓柱質心處,同時,施加自定義約束保證點質量與圓柱質心重合。
自定義約束如下:
dX(POINT_MASS_1.cm)-ao(dX(PART_2.cm))
dY(POINT_MASS_1.cm)-ao(dY(PART_2.cm))
dZ(POINT_MASS_1.cm)-ao(dZ(PART_2.cm))
之所以定義為上述形式,目的在于將點質量始終與圓柱體也就是part_2的質心重合。這樣就可以使用點質量位置與圓柱體上的局部坐標系進行測量,方便測繪出其飛行過程中的所需角度值。
圖2 測試模型
這里為了說明問題,仿真時將重力先關閉。對其進行了如下的測量:
圖 3繞圓柱軸線轉動角度的測量
上圖為基于AO函數實現的測量,測出的結果與實際施加的相同,30度每秒*3秒=90度。說明了該種方法的正確性。
圖4 基于全局坐標系的角度測量
上圖為直接通過AY函數對質心的簡單測量,最終值為86度,明顯與實際有差別。當然,該種簡單方式,可應對單自由度作動狀況下的角度測量,因為其基于全局坐標系完成。而本模型設定的為多自由度驅動,該方法不適用。如果約束方程不用AO函數,而是直接改寫為如下狀態:
dX(POINT_MASS_1.cm)-dX(PART_2.cm)
dY(POINT_MASS_1.cm)-dY(PART_2.cm)
dZ(POINT_MASS_1.cm)-dZ(PART_2.cm)
如前所述,這樣類似于球鉸,兩個物體之間的相互作用力是完備的,從拉格朗日方程角度看,點質量對圓柱體的約束反力和圓柱體對點質量的約束反力都同時存在,兩者之間有正常的力學作用效果,要實現兩者廣義坐標的同步運行,需要耗費更多的能量。如果是AO模式,則僅需要對圓柱體的廣義坐標進行做功,雖然從動畫上看,圓柱帶動點質量一并運動,但是,由于AO函數的特殊機制,截斷了圓柱體對點質量的力學影響,這一過程并不需要能量,完全是數學的機制而非力學機制。兩種工況仿真結果的差別也可以在模型中表現出來,如下圖所示:
圖5 有無AO函數效果差別
上圖左側為有AO的狀態,右側為沒有AO的狀態,僅僅這一個差別,造成模型最終的仿真狀態有明顯的差異,主要體現在圓柱體質心點的豎直位移上,這兩幅圖的白色軌跡線是完全相同的,即圓柱質心點的軌跡。問題的根源還在于AO函數的作用機制:沒有AO的模型,由于點質量前面設置為10Kg(故意設置較重,效果更明顯),此時約束反力相互作用下,推力相同,在3秒內完成相同的做功,其豎直方向的位移勢必要小于有AO的模型。相當于,有AO的模式推動的質量為圓柱18Kg,圓錐2Kg,共計20Kg,而沒有AO的模式還要再加上點質量的10Kg,共計30Kg。從圖上也可看出,沒有AO的模式圓柱質心點大約在軌跡線豎直方向的2/3處。
04
總 結
基于AO函數的特殊機制,結合自定義約束可以實現非常靈活的應用,當然,其應用更多不是為了模擬模型,而是為了其他目的,比如這里描述的測量或者其他,但其本質相同,就是要截斷為了完成特殊目的而建立的元素對模型的影響,但是又能直接獲取模型中的有用信息。Adams中還有許多類似的功能函數,僅僅通過一些簡單的設置即可完成工程中非常實用的功能。因此,在Adams的使用過程中,對各種函數的掌握以及靈活使用,是一個不斷積累的過程,可能一個很小的軟件功能點,卻可以解決實際工程中的一個關鍵問題。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















