加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 開環(huán)控制
    • 參考路徑
    • 內置的閉環(huán)控制駕駛員模型
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

CarSim仿真快速入門(十一)—駕駛員模型(1)

04/01 14:01
5578
閱讀需 54 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

CarSim和TruckSim包括駕駛員通常提供的所有控制:轉向,制動,油門,變速和離合器控制。每個控件都有開環(huán)和閉環(huán)操作選項。這些控件可以直接作為開環(huán)控件提供,可以從外部軟件導入。

VS Math Models旨在在響應駕駛員控制時提供對物理車輛的仿真。它還包括提供轉向,制動等功能的閉環(huán)控制器。這些閉環(huán)控制器通常用于在以給定速度或以基本規(guī)則確定的速度遵循給定路徑的情況下模仿駕駛員的典型行為。適當的轉向,油門,制動,換擋,以及可能的離合器控制等。閉環(huán)控制器使用可配置函數來定義路徑和速度的目標。駕駛員模型使用的目標速度和橫向偏移可配置函數(分別為SPEED_TARGET和LTARG)還可用于控制運動對象的運動,以用于仿真交通車輛和ADAS傳感器的其他目標。

開環(huán)控制

VS數學模型中定義的開環(huán)控件不受VS求解器內置的任何控制器的影響。但是,這些控制變量可以替換為Simulink等外部軟件的閉環(huán)控制器中的值,也可以替換為運行時處理VS命令。也可以使用駕駛模擬器測量控制變量(轉向,油門等)并將其替換為駕駛員的值,并將這些變量作為VS提供給VS數學模型。當使用內置速度控制器時,開環(huán)節(jié)氣門和制動控件將保持激活狀態(tài),以支持干預駕駛員控制的高級安全系統的仿真。因此,如果創(chuàng)建一個在運行過程中從開環(huán)模式切換到閉環(huán)模式的過程(使用VS命令和事件),則可能需要將開環(huán)控件設置為零,以防止不必要的交互。

配置函數

VS求解器中的每個開環(huán)控件均帶有可配置函數,可以將其設置為使用多種計算方法之一。例如,圖1顯示了用于開環(huán)方向盤角度控制的庫界面。在這種情況下,函數類型設置為Linear interpolation,flat-lineextrapolation?①?? ? ? ? ? ? ? ? ? ? ? ? ? ? (線性插值,平線外推),并且基于方向盤角度與時間的值表②。界面上以圖形方式顯示數字表中的非線性關系。

圖 1. 轉向開環(huán)控制界面

與特定可配置函數關聯的選項和參數的關鍵字可以在為每次仿真運行生成的Echo文件中找到。GUI界面下部的文本表示,在Echo文件中包含基于根名稱的關鍵字的開環(huán)方向盤角度信息,例如“ STEER_SW③”.圖2顯示了在仿真運行結束時寫入的Echo文件的一部分,其中使用了來自圖1的STEER_SW波形,并在運行期間重新調整了比例。列表頂部的注釋行描述了此特定可配置函數(常數,線性系數,時間的非線性函數,自定義方程式等)支持的選項。所有可配置函數的選項都不相同;Echo文件提供了參考,以指示可用于每個特定函數的選項.在文檔中,Echo文件列出了與該函數關聯的數據。在界面上選擇的函數類型①(圖1)在parsfile中使用關鍵字STEER_SW_TABLE和LINEAR_FLAT定義,后跟與界面上顯示的數字匹配的數字表。在關鍵字END_TABLE之后,列出了四個參數(兩個比例因子和兩個偏移量),它們可以按如下所述變換函數的形狀.

參考波形比例

內置的(native)開環(huán)控制是通過可配置函數計算的:

圖2. Echo文件的一部分,顯示了方向盤角度的可配置函數

公式中f是使用用戶在界面上定義的方法(例如線性插值)的函數(例如STEER_SW);X是界面上顯示的自變量,用于計算f;X依次定義為時間和兩個參數的函數:X = [t –tstart] / tscale,其中t是仿真時間,tstart是偏移控件時間軸的參數(例如TSTART_STEER),tscale 是用于縮放控件時間軸的參數(例如TSCALE_STEER);gain 是應用于該函數的無量綱增益乘數(例如STEER_SW_GAIN);offset是應用于函數的偏移量(例如STEER_SW_OFFSET).請注意,數據界面中的數字表顯示了從零開始的波形,方向盤角度范圍限制為±1°。使用關鍵字STEER_SW_GAIN增加圖中所示波形的幅度。因此,在寫入Echo文件時,帶有駐留時間的正弦振幅不是如圖所示的1°,而是112.357°(圖2)。使用關鍵字TSTART_STEER將波形延遲到T = 43.9s開始。因此,波形不是如圖所示在T = 0處開始,而是在43.9s處開始。在此運行中未設置其他兩個參數(TSCALE_STEER和STEER_SW_OFFSET),并保留默認值1(TSCALE_STEER)和0(STEER_SW_OFFSET)。重新調整參考波形后,通常會在與具有該波形的界面不同的界面上設置參數的值。通常,縮放參數來自Procedures界面,Events界面,或者對于快速更改,來自Run Control 界面。與往常一樣,如果在不同的數據集中指定了相同的參數,則VS Solver讀取的最后一個值將覆蓋同一函數或參數的所有先前值。

用自定義控制器的輸出替換開環(huán)變量

在本文檔中定義為開環(huán)的控件不受VS求解器內置的任何控制器的影響。但是,可以使用由外部軟件(例如Simulink)定義的閉環(huán)控制器或在運行時處理的VS命令來設置控件?!?VS命令手冊》描述了幾種擴展可配置函數的方法,這些方法適用于數學模型中使用的開環(huán)控件:

可以定義事件,其中在仿真中達到條件時可以重新定義一些參數。

可以定義公式來計算每個時間步的現有參數或變量。

可以設置可配置函數以使用方程,該方程根據車輛模型中存在的具有關聯關鍵字的數千個變量中的任何一個來定義f。

除了內置選項外,還可使用Simulink和LabVIEW等外部軟件來定義變量,這些變量將導入到VS Solver中,并在數學模型中應用它們??梢允褂盟姆N可能的方法將導入的變量與內部計算的值組合:1.導入的變量可以替換內部值。2.導入的變量可以添加到內部值中。3.導入的變量可以與內部值相乘。4.導入的變量可以忽略。

開環(huán)控制函數和變量總結

所有用于開環(huán)控制的庫界面的布局都與圖1(第3頁)所示的布局相似。表1總結了由用于指定控件的關鍵字定義的函數。表中的root關鍵字用于表函數(上述等式中的f),import變量標識import。如前所述,每個函數還具有四個用于轉換計算值(例如STEER_SW)或時間的參數。該表還列出了用于繪制函數值的輸出變量。表2列出了開環(huán)控制處于激活狀態(tài)的條件。僅當閉環(huán)驅動器模型未激活(OPT_DM = 0)時,才應用轉向控制的開環(huán)控制。當閉環(huán)速度控制器處于活動狀態(tài)(OPT_SC> 0)時,制動和動力總成控制不會禁用;為避免干擾,使用閉環(huán)速度控制時,最好將開環(huán)制動和節(jié)氣門設置為零。

表 1. 用于開環(huán)控制的配置函數總結

控制庫界面名稱 Root 關鍵字 輸入變量 輸出
Control: ?Braking MC Pressure (Open Loop) PBK_CON IMP_PCON_BK Pbk_Con
Control: Braking Pedal ?Force (Open Loop) F_BRAKE_PEDAL IMP_FBK_PDL F_Pedal
Control: Clutch (Open Loop) CLUTCH_CONTROL IMP_CLUTCH ClutchTr
Control: ?Shifting (Open Loop) GEAR_TRANS IMP_GEAR_TRANS GearStat
Control: Steering (Open Loop) STEER_SW IMP_STEER_SW Steer_SW
Control: ?Steering Torque (Open Loop) M_STR_IN IMP_STEER_T_IN M_SW
Control: Throttle (Open Loop) THROTTLE_ENGINE IMP_THROTTLE_ENGINE Throttle

表 2.控制庫和模型的總結

庫名稱 激活時刻
Control: Braking MC Pressure (Open Loop) OPT_BK_PEDAL= 0
Control: Braking Pedal Force (Open Loop) OPT_BK_PEDAL= 1 or 2
Control: ?Clutch (Open Loop) OPT_CLUTCH_MODE =0
Control: ?Shifting (Open Loop) MODE_TRANS =1
Control: Steering (Open Loop) OPT_STR_BY_TRQ = 0and OPT_DM = 0
Control: Steering Torque (Open Loop) OPT_STR_BY_TRQ = 1 and OPT_DM = 0
Control: ?Throttle (Open Loop) OPT_PT > 0

參考路徑

VS參考路徑是一條存在于水平面中且位置和坡度連續(xù)的連續(xù)線。即沒有尖角。路徑定義了一組兩個坐標,可用于描述路徑附近的位置:位移S(沿路徑的距離)和橫向坐標L(點與路徑的距離,在與該點和路徑相交的線上測量),并且與相交點處的路徑垂直(圖3)。

圖 3. 參考路徑的坐標S和L

VS數學模型中與路徑關聯的S和L坐標的主要應用是:

    閉環(huán)轉向控制器通過嘗試通過可配置函數LTARG遵循目標L定義為S的函數。道路高程和道路附著系數被定義為道路參考路徑的S和L的函數??梢允褂脜⒖悸窂胶蚅TARG數據集定位運動對象。

CarSim和TruckSim支持多達500條路徑,并包括幾種定義路徑的方法,如路徑和路面相關章節(jié)中所述。每個路面都需要一條路徑作為其定義的一部分。此外,可以定義不與道路關聯的多個參考路徑。當使用路徑定義閉環(huán)控制器的目標或指定運動對象的運動時,通常使用LTARG可配置函數將橫向目標L指定為沿著路徑的S的函數。VS求解器最多支持500個LTARG數據集。用于轉向的閉環(huán)控制器需要路徑和LTARG數據集,而用于速度的閉環(huán)控制器可以選擇使用轉向控制器使用的同一對路徑和LTARG數據集。遵循駕駛員模型的路徑(即,閉環(huán)駕駛員模型)所使用的路徑可以是道路的一部分,或者僅作為控制車輛的方法而存在。

?定義參考路徑?

CarSim和TruckSim包含多個用于定義參考路徑的庫(表3)。這些庫可從VS瀏覽器的“Libraries”菜單中的“Pathsand Road Surfaces”子菜單中找到。

圖 3.定義參考路徑的數據庫

庫名稱 描述 道路?
 

Path: Segment Builder

從直線,純圓弧,曲率,X-Y坐標表和/或回旋曲線的線段構建路徑  

 

Path: X-Y Coordinates for Segment 從X-Y表構建路徑段,與Path: Segment ?Builder一起使用
Path: X-Y Coordinates 具有單個X-Y表的構建路徑
Path: X-Y ?Coordinates (Legacy)
Path/Road: Segment Builder ?(Legacy) 從直線和弧形線段構建路徑和/或道路 可配置
Road: X-Y-Z Coordinates of

Reference Line

從X-Y-Z表建立路徑和道路  

Road: ?X-Y-Z Coordinates of Edges 從兩個X-Y-Z表格構建路徑和道路
Scene: External Import 從其他工具導入數據

表3中的兩個庫的名稱以“Road”開頭,它們定義了一條道路參考線以及一些隨S以及可能隨S和L改變的高程信息。Path/Road: Segment Builder (Legacy)具有以下選項:確定是僅定義參考路徑還是包含一些道路屬性,例如每個路段的路肩。表3中名稱以“ Path”開頭的庫均定義了參考路徑,該參考路徑可用作駕駛員模型或交通運輸工具的輸入,而無需作為道路描述的一部分。這些路徑可用于定義道路,但這不是必需的?!癝cene: External Import”界面用于從其他來源導入路徑,可能的道路數據以及可能的動畫形狀文件。表3中的庫與CarSim和TruckSim中的大多數其他庫之間存在重要區(qū)別。大多數庫具有VS數學模型中已經存在的函數的屬性(輪胎,轉向系統,開環(huán)控制選項等)。例如,如果仿真運行的設置中有兩個轉向系統鏈接,則VS Solver最后接收到的將覆蓋第一個鏈接在數據集中指定的屬性;最后讀取的參數值是仿真中使用的參數值。VS數學模型支持在運行時使用命令DEFINE_PATHS和DEFINE_ROADS定義的多個參考路徑和道路。表3中的庫具有可以使用適當的命令添加新路徑和/或道路,然后設置該路徑或道路的屬性的數據集。如果用戶的設置具有指向路徑的四個鏈接,則可能會將四個路徑添加到模型中。

附加路徑的應用包括引導交通車輛,仿真車道檢測或其他使用S-L坐標系的情況。

路徑,道路和LTARG數據集具有用戶定義的ID號。這些函數允許將相同的ID號用于路徑,道路或側向目標,而不管其在仿真中何時定義。也就是說,ID為1001的路徑將是相同的ID號,無論它是仿真中的唯一路徑,還是定義為15條路徑中的第五條。

分配給車輛的路徑和LTARG數據集

與駕駛員轉向控制器關聯的路徑和LTARG函數也用于定義車輛位置。

駕駛員模型部分的Echo文件

圖4顯示了Echo文件中該部分的頂部,該部分具有有關閉環(huán)轉向控制器的信息。無論是否使用駕駛員模型轉向控制器,圖4中列出的參數均可用。始終使用參數PATH_ID_DM將唯一的參考路徑分配給車輛(第719行)。如果駕駛員模型處于活動狀態(tài),則這是用于控制轉向和可能的速度的路徑。即使未使用駕駛員模型,其ID與PATH_ID_DM匹配的路徑也將定義一些與路徑相關的輸出變量,例如Station和Lat_Veh。LTARG數據集是可選的,并且可以使用參數LTARG_ID_DM指定(第720行)。除了設置車輛的輸出變量之外,PATH_ID_DM和LTARG_ID_DM還可用于通過設置參數OPT_INIT_PATH = 1(線722)來設置車輛的初始位置。在這種情況下,VS求解器將車輛定位在駕駛員參考路徑的指定起點SSTART(線727)處,偏航角與該路徑平行。如果LTARG_ID_DM> 0,則位置和偏航角也會考慮指定的LTARG目標。

圖4. Echo文件的Driver Model部分,帶有車輛初始化設置

車輛沿由參數OPT_DIRECTION設置的路徑指向方向(線724)。如果需要定義停止條件(當系統參數OPT_STOP = 1時),則顯示SSTOP參數。參數OPT_INIT_PATH,OPT_DIRECTION和SSTART通常是從“Procedures”庫界面設置的。OPT_INIT_PATH的默認值為1。為了提供一種禁用此參數以及其他與初始化有關的參數的方法,該界面上具有一個復選框,用于指定初始化詳細信息(圖5)。連同車輛位置參數OPT_INIT_PATH(車輛X,Y和橫擺角)一起,還顯示了復選框,用于車輛初始化參數OPT_INIT_SPEED(車輪速度)和OPT_INIT_CONFIG(彈簧撓度)。

圖5. Procedures界面上用于設置初始化詳細信息的部分

與“Procedures”庫中的數據集一樣,“Events”庫界面上有一個復選框,用于指定初始化詳細信息,默認情況下也將其隱藏。如果選中該框以顯示初始化詳細信息,則OPT_INIT_PATH,OPT_INIT_SPEED和OPT_INIT_CONFIG的框最初未被選中(即,每個都設置為0)。如果運行開始后從事件庫加載了數據集,并且選中了這些框,則結果是初始化將在運行開始后進行。通常,這是不需要的。但是,該函數用于在單次運行中仿真一系列測試,或者重置車輛位置以開始進行測試。

鏈接順序

每個參考路徑數據集都有一行文本,這些文本將PATH_ID_DM設置為該數據集創(chuàng)建的路徑。假定所有參考路徑數據集都將PATH_ID_DM設置為數據集中的PATH_ID,則車輛PATH_ID_DM將始終由VS Solver掃描的最后一個數據集確定,除非在此之后將其重置。在涉及多個路徑的任何仿真中,最好將PATH_ID_DM設置為其它項的黃色字段,并在掃描完所有Path數據集之后對其進行掃描。

使用事件更改路徑

VS事件用于在仿真過程中更改數學模型??梢栽O置事件以更改運行期間駕駛員模型使用的路徑。這涉及更改單個參數:駕駛員模型的路徑ID:PATH_ID_DM。此更改可能會導致的一個復雜情況是,新路徑上的位移定義可能與舊路徑上的位移不匹配。通常,目的是使車輛狀態(tài)保持“原樣”,而任何運動部件的位置或速度均不變。在這些情況下,求解器必須通過將車輛的全局X和Y坐標值轉換為S和L路徑坐標來確定車輛沿新路徑的位置。對于數學模型,從X-Y坐標轉換為S-L坐標有時會很復雜。一個主要的潛在困難是,可能存在許多對給定車輛位置有效的S-L坐標解決方案。例如,圖6顯示了一條跑道(藍色)和車輛上的興趣點(紅色圓圈)的路徑。參考路徑上標記為A,B等的任何點均通過垂直于路徑的線連接到該點,因此是確定S和L的有效位置。(在這種情況下,點A可能是正確的位置)

圖6.路徑上的多個位置可能會為車輛提供有效的S-L坐標

在內部,數學模型會跟蹤每個興趣點的位移最新值。閉環(huán)控制器用于速度和轉向的station變量是一個狀態(tài)變量,可以使用其輸出名稱Station進行訪問。如果將“Event”設置為在行駛過程中更改PATH_ID_DM,則最好同時將“Station”設置為接近車輛在新路徑上的位置的值。例如,假設在行駛過程中激活了圖6中所示的路徑,并且車輛將進入A點附近。A點處的路徑站為2012 m,C點處的路徑站為1243 m,并且Station的當前值是956 m。求解器很可能會確定路徑上的位置為點C(S = 1243),或者可能找不到值并停止運行。為了提供清晰的過渡,觸發(fā)事件時加載的parsfile不僅應加載新的路徑數據集,還應將Station的值設置為2000附近,以使求解器能夠正確地在路徑上定位車輛的位置。

內置的閉環(huán)控制駕駛員模型

CarSim和TruckSim包含一個內置的駕駛員模型(DM)控制器,該控制器可用于遵循使用參數PATH_ID_DM和LTARG_ID_DM指定的路徑和目標。

表4列出了與DM控制器相關的輸出變量。這些變量存在于CarSim和TruckSim中,即使在仿真過程中OPT_DM保持為零也是如此。DM控制器的正常結果是圖7顯示了從圖4開始的Echo文件部分的延續(xù)。該部分從參數OPT_DM(第734行)開始,該參數可以使用三種模式之一(值1,2或3表示)激活駕駛員模型。在任何一種情況下,模型都會計算方向盤角度Steer_DM。

表4.與DM控制器關聯的輸出變量

短名稱 單位 長名稱
Lat_Targ m 目標相對于路徑的橫向偏移
Lat_Veh m 車輛到路徑的橫向距離
LtrgIdDm - DM使用的LTARG數據集的ID
M_SW N-m 方向盤轉向扭矩
PathIdDm - DM使用的路徑數據集的ID
PtchPath deg 駕駛員路徑上的地面傾斜度
RhoPathY 1/m 路徑曲率(道路橫向)
RhoPathZ 1/m 路徑曲率(道路法線)
Rho_Road 1/m X-Y道路參考路徑的曲率
RollPath deg 在駕駛員路徑上向地面俯仰角
Station m 車輛起始點位置(路徑)
Steer_DM deg DM控制器的轉向角
Steer_SW deg 方向盤轉角
X_Design m 參考路徑的X坐標
X_Target m 目標路徑的X坐標
Y_Design m 參考路徑的Y坐標
Y_Target m 目標路徑的Y坐標

圖7.使用單點預瞄的駕駛員模型參數

有經驗的用戶可以使用參數OPT_DRIVER_ACTION,以使DM計算方向盤角度以用于另一個控制器。當OPT_DRIVER_ACTION的默認值為0時,方向盤角度Steer_SW設置為Steer_DM。但是,如果OPT_DRIVER_ACTION = 1,則不使用DM計算的轉向。它可用于輸出和/或導出到外部模型。

參數A_SW_MAX_DM和AV_SW_MAX_DM定義了Steer_DM和Steer_DM的導數范圍的限制。參數VLOW_DM定義了控制器行為取決于車速的最低速度。當車速的絕對值小于該極限時,控制器的行為使用車速是VLOW_DM。

轉向扭矩控制

參數OPT_STR_BY_TRQ確定是通過方向盤上的扭矩還是方向盤角度來控制車輛。當OPT_STR_BY_TRQ = 1(通過轉矩轉向)時,在駕駛員模型中使用了更多參數(圖8)。在這種情況下,將計算出所需的方向盤轉角Steer_DM。Steer_DM和Steer_SW之間的差異是使用彈簧(K_TRQ_CON_DM)和阻尼器(D_TRQ_DM),以用于方向盤扭矩M_SW扭矩控制,但要遵守最大限制M_TRQ_CON_MAX_DM。

轉向控制器的坐標系

DM控制器將圖9所示的軸系與DM參考路徑和DM目標路徑一起用于向前行駛的車輛。設置控制器以計算轉向,以嘗試將DM車輛參考點(以紅色顯示)相對于參考路徑(輸出變量Lat_Veh)的橫向位置與使用LTARG數據集(輸出變量)指定的目標路徑進行匹配 Lat_Targ)。

圖8.扭矩轉向時使用的其它參數

從DM控制器的角度來看,車輛的位置應使車輛所的簧載質量(以藍色顯示)的原點位于局部X = 0,局部Y =0。所述車輛的橫擺定義為零,使得局部X和Y軸與車輛的縱向和橫向軸,其由所述車輛橫擺角的慣性軸線旋轉對準。

控制器考慮使用沿參考路徑的預覽距離?S定義的目標點。沿參考路徑的車輛原點的當前站點為So時,用于確定目標點的位移為:

圖9.轉向控制器的軸系統和一個預覽點

LTARG函數用于獲取目標點Ltarg的相應L坐標。給定路徑坐標Starg和Ltarg,可以使用VS API函數獲取目標點的全局坐標Xtarg和Ytarg。那些全局X-Y坐標將轉換為局部X和Y控制器坐標,如下所述。在DM參考點預估車輛的橫向位置,該點以紅色顯示。參考點的局部Y坐標為零,而X坐標則在向前行駛時將其置于前懸架的中心(圖9),而向后行駛時則將其置于后懸架的中心。該點的局部X坐標在Echo文件中用關鍵字XREF_DM列出(例如,圖8中的748行)。在許多情況下,DM參考點與彈簧上的質量原點重合。但是,這不是必需的。從版本2019.1開始,可以使用兩種替代方法來計算轉向控制。一種使用簡單的幾何形狀,另一種使用帶有線性動力學模型的最優(yōu)控制理論。

使用幾何和單個預覽點進行轉向控制

當OPT_DM = 3時,使用單個預覽點。當車輛向前行駛時,前輪的轉角的計算為指向預覽點的方向。使用站增量?S將指定的預覽直接應用于路徑位移?S:

其中Xref是DM參考點的局部X坐標,T是預覽時間,Vx是縱向車速(圖9)。目標位移Starg(等式2)用于通過LTARG函數計算目標L;然后將路徑坐標Starg和Ltarg轉換為全局坐標Xtarg和Ytarg。對于駕駛員模型XDM和YDM,將全局坐標轉換為局部坐標:

從DM參考點到目標點的角度是轉向控制uc:

向后行駛時,轉向也會反轉:

其中π的符號與atan2(YDM,XDM)的符號相同。將控制角乘以有效齒輪比即可從DM控制器獲得方向盤角:

其中比率是使用與轉向盤角度和方向盤角度相關的運動表在模型中動態(tài)計算的。目標點的全局X,Y和Z坐標可以通過使用命令INSTALL_DM_OUTPUTS提供(圖8中的第747行)作為輸出。如果VS Solver讀取命令時,如果OPT_DM = 3,則將創(chuàng)建三個輸出,名稱分別為X_DM_1,Y_DM_1和Z_DM_1。另外,添加了兩個導入變量:IMP_X_DM和IMP_Y_DM。這允許目標點由外部軟件或VS命令提供。

使用線性動力學和多點預瞄的轉向控制

當OPT_DM = 1或2時,使用的是基于線性動態(tài)系統最佳控制的方法,該方法由UMTRI的Charles MacAdam在1980年開發(fā)[1,2]。本文檔中介紹的算法已經過簡化和重新設計,可以與CarSim和TruckSim中使用的參考路徑一起使用。隨著時間的流逝,控制器已經擴展到可解決懸架轉向效果(前后)和主動后轉向的問題。它也已擴展為支持反向行駛。對通用控制方法進行編程,以在車輛模型中生成方向盤角度。算法流程如圖10所示。給定目標路徑后,轉向控制器會在給定車輛當前狀態(tài)的情況下計算方向盤角度。

圖 10.邏輯流程圖

該算法計算最佳控制u,以使車輛參考點的路徑與目標路徑的偏差最小,并從其它來源(運動學和柔度)中減去前后轉向(uf和ur)以獲得駕駛員所需的轉向uc。后面提供了該方法在轉向控制器中的理論和應用。該算法假定多個預覽點在車輛X軸方向上均勻分布(圖11)。向前移動(Vx> 0)時,每個預覽點都有一個局部X坐標:

其中Xref是DM參考點的本地X坐標,i是間隔編號,T是整體預覽時間,m是間隔數量。?相應的位移大約是:

其中(車輛相對于參考路徑的航向角)假定在預瞄距離內恒定。當車輛指向增加位移的路徑方向時(參數OPT_DIRECTION = +1),是路徑航向角和車輛橫擺角Y之間的差。?但是,當車輛沿路徑指向另一個方向時(朝減小位移方向,OPT_DIRECTION = –1),兩個角度之間的差調整為180°。

圖11.多個預瞄點的幾何

給定路徑位移Starg,LTARG函數用于獲取目標Ltarg的相應L坐標;然后,將路徑坐標Starg和Ltarg轉換為每個目標點的全局坐標Xtarg和Ytarg。然后使用車輛橫擺角Y和航向角獲得局部Y坐標:

等式9和11基于以下假設:參考路徑的航向在預瞄范圍內是恒定的,并且目標路徑和參考路徑是平行的。使用十個預覽點(m = 10),并且由于懸架運動學和柔順性,前輪的道路轉向是理論控制量u減去轉向:

公式12基于附錄中的公式31,公式12中的變量ytarg,i對應于公式11中的YDM。

當使用線性動態(tài)控制器時,Echo文件中將顯示另外兩個參數(圖12)。使用線性動態(tài)控制器時,參數TLAG(行745)可用;它為Steer_DM增加了純時間延遲。在之前的研究中,這種延遲被用來復制人類駕駛員所觀察到的延遲。不過,一般很少使用,除非需要包括延遲,否則建議值為0。在版本2019.1中,對駕駛員模型進行了進一步修訂,以包括上一小節(jié)中描述的單預瞄控制器,并包括向后驅動時的控制。為此,對內部方程式進行了一些修改。參數OPT_DM_2019提供了一種使用舊的(2019.0及更早版本)方程式的方法,以支持版本到版本的測試。如果車輛行駛模式為-1(向后行駛)或使用單點方法(OPT_DM = 3),則此參數不適用。

圖12.具有10個預瞄點的線性模型的DM參數

當設置為零(默認值)時,將使用本文檔中介紹的方程式。此外,在向后行駛或使用單點方法(OPT_DM = 3)時,無論OPT_DM_2019參數的值如何,都會使用新的方程式。如果需要從舊版本中復制結果,請將此參數設置為1。這是新舊版本之間的主要區(qū)別:1. ?S的公式10不包含系數:cos()。2. YDM的公式11不包含除數:cos()。3.沒有使用B和H數組的第三個元素(等式33)。4.后轉向(主動和懸掛)的影響降低了50%。5.車輛的初始橫擺角設置為與參考路徑平行,但不包括與指定的LTARG偏移量相關的任何角度。車輛的屬性用于計算附錄中所示的矩陣系數;這些在Echo文件中作為計算的屬性提供(第748 – 753行)。

查看駕駛員轉向模型的預瞄點

駕駛員模型轉向控制器使用一個(OPT_DM = 3)或十個(OPT_DM = 1或2)預瞄點來確定方向盤角度。提供了一個命令INSTALL_DM_OUTPUTS,以使高級用戶能夠生成該點的全局X,Y和Z坐標。對于每個點i(i = 1、2,... 10),三個輸出變量分別命名為X_DM_i,Y_DM_i和Z_DM_i。將命令放在任何其他黃色字段中以創(chuàng)建這些輸出變量。

CarSim和TruckSim都包括示例數據集,這些數據集顯示了一個用于單點駕駛員預瞄的球體(圖13),并在駕駛員預瞄點顯示了具有之前控制選項的10個球體。

圖13.帶有動畫球體的駕駛員模型的十個預瞄點

MultipleMovingObjects庫包含使用小球體顯示興趣點的多個數據集。圖14顯示了支持一個駕駛員預瞄點的設置。其他數據集顯示更多興趣點。

圖14.具有移動對象的示例數據集,顯示駕駛員預瞄點

在此示例中,INSTALL_DM_OUTPUTS命令被寫入其他黃色字段①。路徑ID設置為0④,指示每個對象的水平位置是具有全局X和Y坐標的指定方向。VS Command EQ_OUT?③為每個運動對象提供了這些坐標。將使用ID為CURRENT_ROAD_ID的車輛道路來計算每個對象的Z坐標。但是,在加載此數據集時,可能不知道CURRENT_ROAD_ID。因此,黃色字段設置為0⑤,并且初始化完成后,將使用EQ_INIT命令將對象的道路ID設置為CURRENT_ROAD_ID②。

將閉環(huán)駕駛員模型與外部模型一起使用

如果選擇了單點選項(OPT_DM = 3),還將創(chuàng)建兩個導入變量,以支持高級用戶使用VS命令或外部模型(例如Simulink)計算預瞄點的X和Y坐標。假設駕駛員模型只是將轉向輪指向該點,則可以通過提供預瞄點的X和Y坐標來控制轉向。導入變量具有關鍵字IMP_X_DM和IMP_Y_DM。另一個選擇是使用參數OPT_DRIVER_ACTION(對于高級用戶,通過在其他黃色字段中鍵入關鍵字和值來設置)。設置OPT_DRIVER_ACTION = 1(默認值)會使駕駛員模型計算方向盤角度并將計算出的方向盤角度應用于轉向系統。設置OPT_DRIVER_ACTION = 0會使駕駛員模型計算出用于輸出目的的方向盤角度,但是計算出的方向盤角度不會應用于轉向系統。由駕駛員模型計算出的方向盤角度在變量Steer_DM中輸出。這可用于為外部定義的轉向控制系統(如線控轉向)提供控制輸入。(將其視為來自駕駛員的“轉向請求”。)計算出的駕駛員控制可作為導出,以供外部軟件(例如Simulink)或VS命令定義的方程式使用。

閉環(huán)控制駕駛員模型:GUI界面

閉環(huán)轉向控制通常使用圖15所示的庫界面進行配置。界面頂部顯示與LTARG可配置函數相關的橫向偏移。底部顯示DM控制器的屬性。

橫向目標

界面頂部的控件為DM控制器定義LTARG數據集,或指定移動對象的運動。??①相對于參考路徑的目標,該參考路徑根據路徑位移S計算L。與大多數可配置函數一樣,這可以是常量,系數或非線性表,該表用一組數字以及選擇的插值和外推方法來指定。??②用于為此LTARG數據集設置用戶ID的下拉控件。此可配置函數包括用戶ID(關鍵字= LTARG_ID)。ID可以自動設置,也可以指定為999或更高的ID。??③?選中此復選框可顯示自定義設置的其他字段。高級用戶可以輸入其他屬性或VS命令來擴展模型。

圖15.閉環(huán)駕駛員模型控制的庫界面

閉環(huán)駕駛員模型轉向控制器

選中復選框④后,此界面將激活DM控制器,并提供DM控制器的設置。???④?Use closed-loop steeringand show parameters復選框. 如果未選中此框,則不會顯示所有控件和更高的控件⑤(界面下部的所有內容)。如果要創(chuàng)建LTARG數據集而不影響內置駕駛員模型,請取消選中此框。例如,LTARG數據集可用于控制運動對象的位置。選中后,將顯示路徑跟隨器控件,并且將參數LTARG_ID_DM設置為LTARG數據集的LTARG_ID。?⑤控制設置預瞄時間。下拉控件用于在定義預瞄時間的不同選項之間進行選擇(圖16)。

圖16.用于定義預瞄時間的選項

當下拉列表設置為Constant(圖15)⑥?時,預瞄時間是恒定的,如黃色字段中所指定。

當下拉列表設置為Configurablefunction或Config.function+gain+offset在下拉控件下顯示一個鏈接(圖17)。鏈接的數據集用于名為TPREV的可配置函數,該函數在內部用于計算隨速度變化的預覽時間T。當選項設置為Config. function + gain + offset,會在偏移量⑦和增益⑧處顯示其他黃色字段。

圖17.選擇可配置函數時的外觀

⑥?固定的預瞄時間(關鍵字= TPREV_CONSTANT)。僅當下拉控件設置為Constant時,才顯示此字段(圖15)。

預瞄時間通常設置為0.1到2.0秒之間。一些注意事項:

1.如果使用單個預瞄點(選中了⑨復選框),則通常將預瞄時間設置為小于預瞄時間涵蓋十個間隔(不選中復選框)時的時間。

2.更長的預瞄時間會帶來更穩(wěn)定的行為,同時跟蹤精度也會降低。

3.如果未選中該復選框⑨,則預瞄時間較短,可以提供更高的跟蹤精度,并且可能會失去穩(wěn)定性。

在低于指定限制的速度下?,預瞄是與在低速限制處應用的預瞄時間相對應的固定距離。

⑦從表格添加到預瞄時間的偏移量(關鍵字= TPREV_OFFSET)。僅當下拉列表⑤設置為Config. function + gain + offset時,此字段才可見。使用此選項,可以定義標準形狀的標準化表格,并使用增益和偏移值對其進行調整。

⑧?獲得變速駕駛員模型預瞄時間(數據庫關鍵字= TPREV_GAIN)。僅當下拉列表⑤設置為Config. function + gain + offset時,此字段才可見。使用它來設置比例因子以乘以表中的值。使用此選項,可以定義標準形狀的標準化表格,并使用增益和偏移值對其進行調整。

復選框以使用單個預瞄點。這在計算轉向角的方法之間進行選擇。

選中(OPT_DM = 3)時,將進行轉向控制,將前輪指向距離Lprev?= Tprev?|Vfwd?|。在DM參考點的前面,其中Tprev是預瞄時間。向前行駛時,參考點位于前懸架的中心,向后行駛時,參考點位于后懸架的中心。

如果未選中(OPT_DM = 1或2),則會使用內置的線性動態(tài)車輛模型來計算轉向控制,以預測與覆蓋DM參考點前方距離Lprev的目標路徑的要點相匹配的轉向。在這種情況下,將顯示更多控件:⑩,?和?(圖18)。

圖18.顯示更多選項并帶有多個預瞄點

單點方法(OPT_DM = 3)已添加到版本2019.1; 其他兩個選項在以前的版本中可用。單點方法更可靠,建議用于大多數仿真,尤其是那些涉及極限條件的仿真。單點的預瞄時間通常應設置為不選中此框時用于十個點的預瞄時間的一半。

 

⑩復選框,帶有在使用線性動態(tài)模型時使用舊方程式的選項(關鍵字= OPT_DM_2019)。僅當未選中⑨單點框時,此控件才可見。

行為上的差異通常很小。選中此框時,將使用舊的公式(2019.0及更早版本),以支持版本間驗證測試。

?帶有選項的復選框,可忽略后輪的運動學轉向效果(OPT_DM = 2)。僅當未選中⑨單點框時,此控件才可見。提供此功能是為了與VS Solvers的舊版本(2004年之前)兼容,但不建議這樣做.

?駕駛員轉向模型中對速度敏感度的低速限制(關鍵字= VLOW_DRIVER)。對于超過此限制的速度,預瞄距離與速度成比例。取消選中⑨單點復選框后,將使用取決于速度的內部動態(tài)車輛模型(二維動態(tài)模型)。如果車速降至該限制以下,則預覽基于該速度。

當速度小于0.1m / s(0.36 km / h)且未選中⑨單點框時,來自控制器的方向盤角度將被凍結。

?駕駛員模型的最大方向盤角度(關鍵字= A_SW_MAX_DM)。這指定方向盤可以從中心向任一方向旋轉的最大角度。

??最大方向盤轉角率(關鍵字= AV_SW_MAX_DM)。這指定駕駛員模型可以在任一方向上轉動方向盤的最大角速度。.

??復選框以包括駕駛員滯后。僅當未選中⑨單點框時,此控件才可見(圖18)。選中“駕駛員滯后”框時,將顯示驅動程序滯后的相鄰黃色字段(關鍵字= TLAG_DM)。由駕駛員模型生成的方向盤角度會延遲此時間量,以模擬人的神經肌肉延遲。實際值約為0.15秒。較大的值可用于仿真受傷的駕駛員。

隨著滯后的增加,駕駛員-車輛系統趨于過度校正至不穩(wěn)定點。

如果用戶嘗試沿著一條路徑而不嘗試仿真駕駛員響應動力學,則建議將其值設置為0.0。在這種情況下,只需取消選中該框。

?選中該復選框以使駕駛員模型通過扭矩轉向。選中后,將顯示另外三個字段:,和(圖19)。DM仍會計算目標方向盤角度,但是,無論隱含扭矩如何,DM都不會應用它,而是使用控制器根據需要生成方向盤扭矩,以生成控制器請求的角度。

圖19.當駕駛員模型通過扭矩轉向時,將使用更多參數

?DM可以應用的最大方向盤扭矩(關鍵字= M_TRQ_CON_MAX_DM)。

?DM用來產生轉向扭矩的扭轉剛度(關鍵字= K_TRQ_CON_DM)

?DM使用扭轉阻尼來產生轉向扭矩(關鍵字= D_TRQ_CON_DM)。

VS Visualizer中目標路徑的可視化

界面的右下部分具有用于在動畫中目標路徑的位置顯示虛線的控件。

?選中該框時,將顯示其他控件以指定虛線的外觀。

為了顯示線,將根據這些控件中設置的值自動為VSVisualizer生成矩形對象。三個控件指定生成的虛線形狀的大?。阂阅繕寺窂綖橹行牡囊悦诪閱挝坏木€寬,每個虛線段的長度(線段之間的間距與線段長度相同)以及分辨率。每個片段由一個或多個形狀組成,其中每個片段都被分解為長度=分辨率的形狀。較小的值可使顯示的線段更緊貼山坡和道路高程變化,但可能會大大增加VS Visualizer加載的數據量。參數“ dZ”指定虛線在3D路面上方“浮起”的高度。將形狀放置在相同的高度會導致紋理之間的干擾,從而導致圖像質量下降和閃爍。垂直高度減少即可避免這種情況。通過在顏色字段中輸入RGB值或從調色板控件中選擇一種顏色來指定。如果駕駛員的參考路徑未循環(huán),則將生成形狀以覆蓋仿真中涵蓋的仿真位移的范圍。為了確定這一點,VS瀏覽器讀取運行開始和結束時生成的Echo文件,并掃描關鍵字SSTART和SSTOP。這些關鍵字總是出現在兩個Echo文件中。第一個是SSTART,它定義了運行開始時的仿真位移;第二個,SSTOP,定義運行結束時的仿真位移。如果駕駛員的參考路徑已循環(huán),則會生成形狀以覆蓋整個循環(huán)。

運行開始時從數據中獲取用于生成形狀的路徑信息。如果在運行過程中使用“事件”或“ VS命令”更改了路徑,則不會顯示這些更改。

使用LTARG數據集

可配置函數LTARG由駕駛員模型使用,也可用于控制模仿交通車輛或其他自定義應用程序的運動對象。當前活動LTARG數據集的數量是帶有關鍵字N_LTARG的系統參數。在VS規(guī)劃求解讀取任何數據集Parsfile之前,N_LTARG的值為零。每次從該庫中獲取數據集時(控制:閉環(huán)驅動模型),如果自動設置ID或指定了新的自定義ID,都會添加一個新的數據集。如VS命令章節(jié)中所述,還可以使用VS命令SET_ILTARG_FOR_ID添加新的LTARG數據集。每個數據集都有一個由參數LTARG_ID指定的ID。例如,第一個數據集的ID為LTARG_ID(1),對于第二個數據集是LTARG_ID(2),依此類推。

LTARG_ID_DM是駕駛員模型使用的LTARG數據集的ID號。它的默認值為1,可以設置為N_LTARG以下的任何正數,也可以設置為與現有數據集的LTARG_ID匹配的任何值。如果設置為零,則距路徑的橫向偏移將保持為零。在創(chuàng)建多個LTARG數據集以將特定目標分配給駕駛員模型之后,可以通過指定一個值來覆蓋LTARG_ID_DM值。VS事件中,LTARG_ID_DM也可能會更改。

(歡迎申請加入智能駕駛交流學習群,加小編微信號zhijiashexiaoming)

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
TLE6209RAUMA2 1 Infineon Technologies AG Brush DC Motor Controller, 7A, NMOS, PDSO20, GREEN, PLASTIC, SOP-20
暫無數據 查看
EM4095HMSO16B+ 1 EM Microelectronic-Marin SA Analog Circuit, 1 Func, CMOS, PDSO16, ROHS COMPLIANT, PLASTIC, SOIC-16
$5.15 查看
L6470PDTR 1 STMicroelectronics Fully integrated microstepping motor driver with motion engine and SPI

ECAD模型

下載ECAD模型
$10.39 查看

相關推薦

電子產業(yè)圖譜

智能駕駛行業(yè)從業(yè)者,專注于整車仿真與智能駕駛開發(fā)。B站個人主頁: https://space.bilibili.com/407007820/