1. 摩托車虛擬樣機建模

摩托車相對於四輪汽車而言有其自身的獨特性,但在進行試驗分析工作時基本還是按照汽車標準規定的動力學、燃油經濟性、操縱性、制動性與平順性進行。在具體工程上,更多的分析工作是基於主觀評價方法,而非客觀評價,這樣造成樣車試驗結論的主觀性偏差,更爲現實的是試驗的成本與週期都居高不下。爲此,可仿照汽車工業,充分地利用虛擬樣機技術提升工作的效率,提高產品的性能。

作爲單軌跡車輛,其操縱穩定性不像四輪車輛那樣,但仍舊是最爲關心的一個環節,這時人和路的因素都需要考慮,因此摩托車車輛虛擬樣機技術首先要解決的也是人-車-路閉環系統問題。

在Adams中有多種方式來完成摩托車的相關標準建模與仿真工作。可以在Adams/View中進行摩托車的建模工作(包括輪胎與地面模型),利用Controls Toolkit進行控制系統的創建(主要模擬人的控制模型),再將兩者耦合起來形成閉環。當然,模擬人的控制系統也可以用第三方的控制軟件完成,如Easy5,Matlab等,再通過Adams/Controls將兩者關聯起來形成閉環進行仿真研究。另外,Adams有專門的摩托車仿真模塊VI-Motorcycle,在該模塊中基於模板,子系統與裝配的三層架構創建模型,在程序中還內涵了考慮駕駛員的函數(Adams的用戶自程序)直接就可實現考慮人-車-路的閉環系統,並且程序中還定製了專門針對摩托車行業經常進行的標準試驗類型。

2. VI-Motorcycle 功能介紹

Motorcycle是專業的摩托車運動學與動力學仿真工具,基於Adams軟件進行二次開發形成的專業工具。該模塊實現了快速建模與模型調整,快速實現標準規定的仿真類型,所有這一切都是基於Adams的參數化建模功能和模板、子系統與裝配三層架構而實現的。基於提供的功能,可在一下領域進行應用:

  • 摩托車動力學;

  • 平順性與舒適性;

  • 疲勞耐久性;

  • 有限操控性爲;

  • 試驗研究與優化;

  • 駕駛員-車耦合分析;

  • 軟件在環;

  • 硬件在環;

  • 動力系設計分析;

  • 路面研究;

軟件提供自帶的模板庫,根據角色的劃分有車身、動力系、轉向系、懸架、車輪、駕駛員等部分,當然,用戶也可以基於這一架構不斷地拓展,滿足自己的需要。更爲關鍵的是程序中提供了專門應用於摩托車行業的分析類型,如轉向力矩、8字繞行、制動、迂迴行(Weave)、轉向搖晃(Wobble)、直線加速、兩輪臺架等,當然,還可以根據需要進行分析類型的定製。

3. VI-Motorcycle 應用案例

下面進行繞8字的分析,直接調用對應工況,設置相關參數:

完成計算後,其後處理的動畫和曲線如下圖所示:

上述過程可以很迅速的完成,關鍵是要了解內部的運行過程,這時可以查看一下本次仿真的腳本命令:

output/nosep

preferences/solver=CXX

control/routine=vitools::vmc_initcon, &

function=user(1)

deactivate/jprim, id= 4

!

simulate/statics

control/routine=vitools::vsc_adjcon, &

function=user(900, 1)

!

string/6, string=Vehicle Setup

control/routine=vitools::vsc_reportcon, &

function=user(1205,2,1,1,1,5,6,19,1)

! update gyro location

control/routine=vitools::vsc_mmovecon, &

function=user(1215, 18, 19, 10, 0)

function=user(1215, 420, 18, 423, 0)

function=user(1215, 421, 18, 423, 1)

function=user(1215, 27, 18, 27, 0)

function=user(1215, 28, 18, 28, 0)

function=user(1215, 29, 18, 29, 0)

function=user(1215, 30, 18, 30, 0)

function=user(1215, 31, 18, 31, 0)

function=user(1215, 32, 18, 32, 0)

simulate/statics

!

deactivate/joint, id=5

simulate/statics

string/6, string=Running Condition

function=user(1205,2,2,1,1,5,6,18,1)

deactivate/jprim, id= 5

!

deactivate/jprim, id=3

! mass calc activity

function=user(1205,0,2,1,1,0,0,421,0)

control/routine=vitools::vsc_vhlipcon, &

function=user(1, 1, 2)

!-- Initialize VIdriver

control/ routine=vidriver_adams::vdrv_setcon, function=user(4, 4, 17, 0, 12, 24, 0)

control/ routine=vidriver_adams::vdrv_srvcon, function=user(1, 4, 3)

!-- Initialize vehicle states

control/ routine=vitools::vsc_admstartupcon, function=user(3, 4, 5, 10, 6)

simulate/dynamics, end=20.0, steps=2000

!

通過調用動態鏈接庫中CONSUB子程序完成不同階段模型的修改設置,完成初始條件設定與靜力學分析,並對駕駛員的對應子程序進行設定,而這些參數的設定都是在點擊繞8字分析框後,程序自動生成的,最後再進行相應的動力學計算。

也可對懸架進行單獨分析:

進行線性化分析,查看系統的Weave及Wobble振動模態:

兩輪臺架分析:

摩托車半實物仿真:

4. 總結

Adams作爲專業的多體動力學仿真工具,在其核心功能模塊基礎上針對不同行業開發了很多專業工具。就摩托車虛擬樣機的建模與仿真工作而言,既可以在Adams/View中實現也可在MotorCycle模塊中實現,因爲兩者本質上是相通的。

相關文章