CarSim和TruckSim包括駕駛員通常提供的所有控制:轉(zhuǎn)向,制動(dòng),油門(mén),變速和離合器控制。每個(gè)控件都有開(kāi)環(huán)和閉環(huán)操作選項(xiàng)。這些控件可以直接作為開(kāi)環(huán)控件提供,可以從外部軟件導(dǎo)入。
VS Math Models旨在在響應(yīng)駕駛員控制時(shí)提供對(duì)物理車(chē)輛的仿真。它還包括提供轉(zhuǎn)向,制動(dòng)等功能的閉環(huán)控制器。這些閉環(huán)控制器通常用于在以給定速度或以基本規(guī)則確定的速度遵循給定路徑的情況下模仿駕駛員的典型行為。適當(dāng)?shù)霓D(zhuǎn)向,油門(mén),制動(dòng),換擋,以及可能的離合器控制等。閉環(huán)控制器使用可配置函數(shù)來(lái)定義路徑和速度的目標(biāo)。駕駛員模型使用的目標(biāo)速度和橫向偏移可配置函數(shù)(分別為SPEED_TARGET和LTARG)還可用于控制運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng),以用于仿真交通車(chē)輛和ADAS傳感器的其他目標(biāo)。
開(kāi)環(huán)控制
VS數(shù)學(xué)模型中定義的開(kāi)環(huán)控件不受VS求解器內(nèi)置的任何控制器的影響。但是,這些控制變量可以替換為Simulink等外部軟件的閉環(huán)控制器中的值,也可以替換為運(yùn)行時(shí)處理VS命令。也可以使用駕駛模擬器測(cè)量控制變量(轉(zhuǎn)向,油門(mén)等)并將其替換為駕駛員的值,并將這些變量作為VS提供給VS數(shù)學(xué)模型。當(dāng)使用內(nèi)置速度控制器時(shí),開(kāi)環(huán)節(jié)氣門(mén)和制動(dòng)控件將保持激活狀態(tài),以支持干預(yù)駕駛員控制的高級(jí)安全系統(tǒng)的仿真。因此,如果創(chuàng)建一個(gè)在運(yùn)行過(guò)程中從開(kāi)環(huán)模式切換到閉環(huán)模式的過(guò)程(使用VS命令和事件),則可能需要將開(kāi)環(huán)控件設(shè)置為零,以防止不必要的交互。
配置函數(shù)
VS求解器中的每個(gè)開(kāi)環(huán)控件均帶有可配置函數(shù),可以將其設(shè)置為使用多種計(jì)算方法之一。例如,圖1顯示了用于開(kāi)環(huán)方向盤(pán)角度控制的庫(kù)界面。在這種情況下,函數(shù)類(lèi)型設(shè)置為L(zhǎng)inear interpolation,flat-lineextrapolation?①?? ? ? ? ? ? ? ? ? ? ? ? ? ? (線(xiàn)性插值,平線(xiàn)外推),并且基于方向盤(pán)角度與時(shí)間的值表②。界面上以圖形方式顯示數(shù)字表中的非線(xiàn)性關(guān)系。
圖 1. 轉(zhuǎn)向開(kāi)環(huán)控制界面
與特定可配置函數(shù)關(guān)聯(lián)的選項(xiàng)和參數(shù)的關(guān)鍵字可以在為每次仿真運(yùn)行生成的Echo文件中找到。GUI界面下部的文本表示,在Echo文件中包含基于根名稱(chēng)的關(guān)鍵字的開(kāi)環(huán)方向盤(pán)角度信息,例如“ STEER_SW③”.圖2顯示了在仿真運(yùn)行結(jié)束時(shí)寫(xiě)入的Echo文件的一部分,其中使用了來(lái)自圖1的STEER_SW波形,并在運(yùn)行期間重新調(diào)整了比例。列表頂部的注釋行描述了此特定可配置函數(shù)(常數(shù),線(xiàn)性系數(shù),時(shí)間的非線(xiàn)性函數(shù),自定義方程式等)支持的選項(xiàng)。所有可配置函數(shù)的選項(xiàng)都不相同;Echo文件提供了參考,以指示可用于每個(gè)特定函數(shù)的選項(xiàng).在文檔中,Echo文件列出了與該函數(shù)關(guān)聯(lián)的數(shù)據(jù)。在界面上選擇的函數(shù)類(lèi)型①(圖1)在parsfile中使用關(guān)鍵字STEER_SW_TABLE和LINEAR_FLAT定義,后跟與界面上顯示的數(shù)字匹配的數(shù)字表。在關(guān)鍵字END_TABLE之后,列出了四個(gè)參數(shù)(兩個(gè)比例因子和兩個(gè)偏移量),它們可以按如下所述變換函數(shù)的形狀.
參考波形比例
內(nèi)置的(native)開(kāi)環(huán)控制是通過(guò)可配置函數(shù)計(jì)算的:
圖2. Echo文件的一部分,顯示了方向盤(pán)角度的可配置函數(shù)
公式中f是使用用戶(hù)在界面上定義的方法(例如線(xiàn)性插值)的函數(shù)(例如STEER_SW);X是界面上顯示的自變量,用于計(jì)算f;X依次定義為時(shí)間和兩個(gè)參數(shù)的函數(shù):X = [t –tstart] / tscale,其中t是仿真時(shí)間,tstart是偏移控件時(shí)間軸的參數(shù)(例如TSTART_STEER),tscale 是用于縮放控件時(shí)間軸的參數(shù)(例如TSCALE_STEER);gain 是應(yīng)用于該函數(shù)的無(wú)量綱增益乘數(shù)(例如STEER_SW_GAIN);offset是應(yīng)用于函數(shù)的偏移量(例如STEER_SW_OFFSET).請(qǐng)注意,數(shù)據(jù)界面中的數(shù)字表顯示了從零開(kāi)始的波形,方向盤(pán)角度范圍限制為±1°。使用關(guān)鍵字STEER_SW_GAIN增加圖中所示波形的幅度。因此,在寫(xiě)入Echo文件時(shí),帶有駐留時(shí)間的正弦振幅不是如圖所示的1°,而是112.357°(圖2)。使用關(guān)鍵字TSTART_STEER將波形延遲到T = 43.9s開(kāi)始。因此,波形不是如圖所示在T = 0處開(kāi)始,而是在43.9s處開(kāi)始。在此運(yùn)行中未設(shè)置其他兩個(gè)參數(shù)(TSCALE_STEER和STEER_SW_OFFSET),并保留默認(rèn)值1(TSCALE_STEER)和0(STEER_SW_OFFSET)。重新調(diào)整參考波形后,通常會(huì)在與具有該波形的界面不同的界面上設(shè)置參數(shù)的值。通常,縮放參數(shù)來(lái)自Procedures界面,Events界面,或者對(duì)于快速更改,來(lái)自Run Control 界面。與往常一樣,如果在不同的數(shù)據(jù)集中指定了相同的參數(shù),則VS Solver讀取的最后一個(gè)值將覆蓋同一函數(shù)或參數(shù)的所有先前值。
用自定義控制器的輸出替換開(kāi)環(huán)變量
在本文檔中定義為開(kāi)環(huán)的控件不受VS求解器內(nèi)置的任何控制器的影響。但是,可以使用由外部軟件(例如Simulink)定義的閉環(huán)控制器或在運(yùn)行時(shí)處理的VS命令來(lái)設(shè)置控件?!?VS命令手冊(cè)》描述了幾種擴(kuò)展可配置函數(shù)的方法,這些方法適用于數(shù)學(xué)模型中使用的開(kāi)環(huán)控件:
可以定義事件,其中在仿真中達(dá)到條件時(shí)可以重新定義一些參數(shù)。
可以定義公式來(lái)計(jì)算每個(gè)時(shí)間步的現(xiàn)有參數(shù)或變量。
可以設(shè)置可配置函數(shù)以使用方程,該方程根據(jù)車(chē)輛模型中存在的具有關(guān)聯(lián)關(guān)鍵字的數(shù)千個(gè)變量中的任何一個(gè)來(lái)定義f。
除了內(nèi)置選項(xiàng)外,還可使用Simulink和LabVIEW等外部軟件來(lái)定義變量,這些變量將導(dǎo)入到VS Solver中,并在數(shù)學(xué)模型中應(yīng)用它們。可以使用四種可能的方法將導(dǎo)入的變量與內(nèi)部計(jì)算的值組合:1.導(dǎo)入的變量可以替換內(nèi)部值。2.導(dǎo)入的變量可以添加到內(nèi)部值中。3.導(dǎo)入的變量可以與內(nèi)部值相乘。4.導(dǎo)入的變量可以忽略。
開(kāi)環(huán)控制函數(shù)和變量總結(jié)
所有用于開(kāi)環(huán)控制的庫(kù)界面的布局都與圖1(第3頁(yè))所示的布局相似。表1總結(jié)了由用于指定控件的關(guān)鍵字定義的函數(shù)。表中的root關(guān)鍵字用于表函數(shù)(上述等式中的f),import變量標(biāo)識(shí)import。如前所述,每個(gè)函數(shù)還具有四個(gè)用于轉(zhuǎn)換計(jì)算值(例如STEER_SW)或時(shí)間的參數(shù)。該表還列出了用于繪制函數(shù)值的輸出變量。表2列出了開(kāi)環(huán)控制處于激活狀態(tài)的條件。僅當(dāng)閉環(huán)驅(qū)動(dòng)器模型未激活(OPT_DM = 0)時(shí),才應(yīng)用轉(zhuǎn)向控制的開(kāi)環(huán)控制。當(dāng)閉環(huán)速度控制器處于活動(dòng)狀態(tài)(OPT_SC> 0)時(shí),制動(dòng)和動(dòng)力總成控制不會(huì)禁用;為避免干擾,使用閉環(huán)速度控制時(shí),最好將開(kāi)環(huán)制動(dòng)和節(jié)氣門(mén)設(shè)置為零。
表 1. 用于開(kāi)環(huán)控制的配置函數(shù)總結(jié)
控制庫(kù)界面名稱(chēng) | Root 關(guān)鍵字 | 輸入變量 | 輸出 |
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.控制庫(kù)和模型的總結(jié)
庫(kù)名稱(chēng) | 激活時(shí)刻 |
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ù)線(xiàn)。即沒(méi)有尖角。路徑定義了一組兩個(gè)坐標(biāo),可用于描述路徑附近的位置:位移S(沿路徑的距離)和橫向坐標(biāo)L(點(diǎn)與路徑的距離,在與該點(diǎn)和路徑相交的線(xiàn)上測(cè)量),并且與相交點(diǎn)處的路徑垂直(圖3)。
圖 3. 參考路徑的坐標(biāo)S和L
VS數(shù)學(xué)模型中與路徑關(guān)聯(lián)的S和L坐標(biāo)的主要應(yīng)用是:
- 閉環(huán)轉(zhuǎn)向控制器通過(guò)嘗試通過(guò)可配置函數(shù)LTARG遵循目標(biāo)L定義為S的函數(shù)。道路高程和道路附著系數(shù)被定義為道路參考路徑的S和L的函數(shù)??梢允褂脜⒖悸窂胶蚅TARG數(shù)據(jù)集定位運(yùn)動(dòng)對(duì)象。
CarSim和TruckSim支持多達(dá)500條路徑,并包括幾種定義路徑的方法,如路徑和路面相關(guān)章節(jié)中所述。每個(gè)路面都需要一條路徑作為其定義的一部分。此外,可以定義不與道路關(guān)聯(lián)的多個(gè)參考路徑。當(dāng)使用路徑定義閉環(huán)控制器的目標(biāo)或指定運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng)時(shí),通常使用LTARG可配置函數(shù)將橫向目標(biāo)L指定為沿著路徑的S的函數(shù)。VS求解器最多支持500個(gè)LTARG數(shù)據(jù)集。用于轉(zhuǎn)向的閉環(huán)控制器需要路徑和LTARG數(shù)據(jù)集,而用于速度的閉環(huán)控制器可以選擇使用轉(zhuǎn)向控制器使用的同一對(duì)路徑和LTARG數(shù)據(jù)集。遵循駕駛員模型的路徑(即,閉環(huán)駕駛員模型)所使用的路徑可以是道路的一部分,或者僅作為控制車(chē)輛的方法而存在。
?定義參考路徑?
CarSim和TruckSim包含多個(gè)用于定義參考路徑的庫(kù)(表3)。這些庫(kù)可從VS瀏覽器的“Libraries”菜單中的“Pathsand Road Surfaces”子菜單中找到。
圖 3.定義參考路徑的數(shù)據(jù)庫(kù)
庫(kù)名稱(chēng) | 描述 | 道路? |
Path: Segment Builder |
從直線(xiàn),純圓弧,曲率,X-Y坐標(biāo)表和/或回旋曲線(xiàn)的線(xiàn)段構(gòu)建路徑 |
否 |
Path: X-Y Coordinates for Segment | 從X-Y表構(gòu)建路徑段,與Path: Segment ?Builder一起使用 | |
Path: X-Y Coordinates | 具有單個(gè)X-Y表的構(gòu)建路徑 | |
Path: X-Y ?Coordinates (Legacy) | ||
Path/Road: Segment Builder ?(Legacy) | 從直線(xiàn)和弧形線(xiàn)段構(gòu)建路徑和/或道路 | 可配置 |
Road: X-Y-Z Coordinates of
Reference Line |
從X-Y-Z表建立路徑和道路 |
是 |
Road: ?X-Y-Z Coordinates of Edges | 從兩個(gè)X-Y-Z表格構(gòu)建路徑和道路 | |
Scene: External Import | 從其他工具導(dǎo)入數(shù)據(jù) |
表3中的兩個(gè)庫(kù)的名稱(chēng)以“Road”開(kāi)頭,它們定義了一條道路參考線(xiàn)以及一些隨S以及可能隨S和L改變的高程信息。Path/Road: Segment Builder (Legacy)具有以下選項(xiàng):確定是僅定義參考路徑還是包含一些道路屬性,例如每個(gè)路段的路肩。表3中名稱(chēng)以“ Path”開(kāi)頭的庫(kù)均定義了參考路徑,該參考路徑可用作駕駛員模型或交通運(yùn)輸工具的輸入,而無(wú)需作為道路描述的一部分。這些路徑可用于定義道路,但這不是必需的?!癝cene: External Import”界面用于從其他來(lái)源導(dǎo)入路徑,可能的道路數(shù)據(jù)以及可能的動(dòng)畫(huà)形狀文件。表3中的庫(kù)與CarSim和TruckSim中的大多數(shù)其他庫(kù)之間存在重要區(qū)別。大多數(shù)庫(kù)具有VS數(shù)學(xué)模型中已經(jīng)存在的函數(shù)的屬性(輪胎,轉(zhuǎn)向系統(tǒng),開(kāi)環(huán)控制選項(xiàng)等)。例如,如果仿真運(yùn)行的設(shè)置中有兩個(gè)轉(zhuǎn)向系統(tǒng)鏈接,則VS Solver最后接收到的將覆蓋第一個(gè)鏈接在數(shù)據(jù)集中指定的屬性;最后讀取的參數(shù)值是仿真中使用的參數(shù)值。VS數(shù)學(xué)模型支持在運(yùn)行時(shí)使用命令DEFINE_PATHS和DEFINE_ROADS定義的多個(gè)參考路徑和道路。表3中的庫(kù)具有可以使用適當(dāng)?shù)拿钐砑有侣窂胶?或道路,然后設(shè)置該路徑或道路的屬性的數(shù)據(jù)集。如果用戶(hù)的設(shè)置具有指向路徑的四個(gè)鏈接,則可能會(huì)將四個(gè)路徑添加到模型中。
附加路徑的應(yīng)用包括引導(dǎo)交通車(chē)輛,仿真車(chē)道檢測(cè)或其他使用S-L坐標(biāo)系的情況。
路徑,道路和LTARG數(shù)據(jù)集具有用戶(hù)定義的ID號(hào)。這些函數(shù)允許將相同的ID號(hào)用于路徑,道路或側(cè)向目標(biāo),而不管其在仿真中何時(shí)定義。也就是說(shuō),ID為1001的路徑將是相同的ID號(hào),無(wú)論它是仿真中的唯一路徑,還是定義為15條路徑中的第五條。
分配給車(chē)輛的路徑和LTARG數(shù)據(jù)集
與駕駛員轉(zhuǎn)向控制器關(guān)聯(lián)的路徑和LTARG函數(shù)也用于定義車(chē)輛位置。
駕駛員模型部分的Echo文件
圖4顯示了Echo文件中該部分的頂部,該部分具有有關(guān)閉環(huán)轉(zhuǎn)向控制器的信息。無(wú)論是否使用駕駛員模型轉(zhuǎn)向控制器,圖4中列出的參數(shù)均可用。始終使用參數(shù)PATH_ID_DM將唯一的參考路徑分配給車(chē)輛(第719行)。如果駕駛員模型處于活動(dòng)狀態(tài),則這是用于控制轉(zhuǎn)向和可能的速度的路徑。即使未使用駕駛員模型,其ID與PATH_ID_DM匹配的路徑也將定義一些與路徑相關(guān)的輸出變量,例如Station和Lat_Veh。LTARG數(shù)據(jù)集是可選的,并且可以使用參數(shù)LTARG_ID_DM指定(第720行)。除了設(shè)置車(chē)輛的輸出變量之外,PATH_ID_DM和LTARG_ID_DM還可用于通過(guò)設(shè)置參數(shù)OPT_INIT_PATH = 1(線(xiàn)722)來(lái)設(shè)置車(chē)輛的初始位置。在這種情況下,VS求解器將車(chē)輛定位在駕駛員參考路徑的指定起點(diǎn)SSTART(線(xiàn)727)處,偏航角與該路徑平行。如果LTARG_ID_DM> 0,則位置和偏航角也會(huì)考慮指定的LTARG目標(biāo)。
圖4. Echo文件的Driver Model部分,帶有車(chē)輛初始化設(shè)置
車(chē)輛沿由參數(shù)OPT_DIRECTION設(shè)置的路徑指向方向(線(xiàn)724)。如果需要定義停止條件(當(dāng)系統(tǒng)參數(shù)OPT_STOP = 1時(shí)),則顯示SSTOP參數(shù)。參數(shù)OPT_INIT_PATH,OPT_DIRECTION和SSTART通常是從“Procedures”庫(kù)界面設(shè)置的。OPT_INIT_PATH的默認(rèn)值為1。為了提供一種禁用此參數(shù)以及其他與初始化有關(guān)的參數(shù)的方法,該界面上具有一個(gè)復(fù)選框,用于指定初始化詳細(xì)信息(圖5)。連同車(chē)輛位置參數(shù)OPT_INIT_PATH(車(chē)輛X,Y和橫擺角)一起,還顯示了復(fù)選框,用于車(chē)輛初始化參數(shù)OPT_INIT_SPEED(車(chē)輪速度)和OPT_INIT_CONFIG(彈簧撓度)。
圖5. Procedures界面上用于設(shè)置初始化詳細(xì)信息的部分
與“Procedures”庫(kù)中的數(shù)據(jù)集一樣,“Events”庫(kù)界面上有一個(gè)復(fù)選框,用于指定初始化詳細(xì)信息,默認(rèn)情況下也將其隱藏。如果選中該框以顯示初始化詳細(xì)信息,則OPT_INIT_PATH,OPT_INIT_SPEED和OPT_INIT_CONFIG的框最初未被選中(即,每個(gè)都設(shè)置為0)。如果運(yùn)行開(kāi)始后從事件庫(kù)加載了數(shù)據(jù)集,并且選中了這些框,則結(jié)果是初始化將在運(yùn)行開(kāi)始后進(jìn)行。通常,這是不需要的。但是,該函數(shù)用于在單次運(yùn)行中仿真一系列測(cè)試,或者重置車(chē)輛位置以開(kāi)始進(jìn)行測(cè)試。
鏈接順序
每個(gè)參考路徑數(shù)據(jù)集都有一行文本,這些文本將PATH_ID_DM設(shè)置為該數(shù)據(jù)集創(chuàng)建的路徑。假定所有參考路徑數(shù)據(jù)集都將PATH_ID_DM設(shè)置為數(shù)據(jù)集中的PATH_ID,則車(chē)輛PATH_ID_DM將始終由VS Solver掃描的最后一個(gè)數(shù)據(jù)集確定,除非在此之后將其重置。在涉及多個(gè)路徑的任何仿真中,最好將PATH_ID_DM設(shè)置為其它項(xiàng)的黃色字段,并在掃描完所有Path數(shù)據(jù)集之后對(duì)其進(jìn)行掃描。
使用事件更改路徑
VS事件用于在仿真過(guò)程中更改數(shù)學(xué)模型??梢栽O(shè)置事件以更改運(yùn)行期間駕駛員模型使用的路徑。這涉及更改單個(gè)參數(shù):駕駛員模型的路徑ID:PATH_ID_DM。此更改可能會(huì)導(dǎo)致的一個(gè)復(fù)雜情況是,新路徑上的位移定義可能與舊路徑上的位移不匹配。通常,目的是使車(chē)輛狀態(tài)保持“原樣”,而任何運(yùn)動(dòng)部件的位置或速度均不變。在這些情況下,求解器必須通過(guò)將車(chē)輛的全局X和Y坐標(biāo)值轉(zhuǎn)換為S和L路徑坐標(biāo)來(lái)確定車(chē)輛沿新路徑的位置。對(duì)于數(shù)學(xué)模型,從X-Y坐標(biāo)轉(zhuǎn)換為S-L坐標(biāo)有時(shí)會(huì)很復(fù)雜。一個(gè)主要的潛在困難是,可能存在許多對(duì)給定車(chē)輛位置有效的S-L坐標(biāo)解決方案。例如,圖6顯示了一條跑道(藍(lán)色)和車(chē)輛上的興趣點(diǎn)(紅色圓圈)的路徑。參考路徑上標(biāo)記為A,B等的任何點(diǎn)均通過(guò)垂直于路徑的線(xiàn)連接到該點(diǎn),因此是確定S和L的有效位置。(在這種情況下,點(diǎn)A可能是正確的位置)
圖6.路徑上的多個(gè)位置可能會(huì)為車(chē)輛提供有效的S-L坐標(biāo)
在內(nèi)部,數(shù)學(xué)模型會(huì)跟蹤每個(gè)興趣點(diǎn)的位移最新值。閉環(huán)控制器用于速度和轉(zhuǎn)向的station變量是一個(gè)狀態(tài)變量,可以使用其輸出名稱(chēng)Station進(jìn)行訪(fǎng)問(wèn)。如果將“Event”設(shè)置為在行駛過(guò)程中更改PATH_ID_DM,則最好同時(shí)將“Station”設(shè)置為接近車(chē)輛在新路徑上的位置的值。例如,假設(shè)在行駛過(guò)程中激活了圖6中所示的路徑,并且車(chē)輛將進(jìn)入A點(diǎn)附近。A點(diǎn)處的路徑站為2012 m,C點(diǎn)處的路徑站為1243 m,并且Station的當(dāng)前值是956 m。求解器很可能會(huì)確定路徑上的位置為點(diǎn)C(S = 1243),或者可能找不到值并停止運(yùn)行。為了提供清晰的過(guò)渡,觸發(fā)事件時(shí)加載的parsfile不僅應(yīng)加載新的路徑數(shù)據(jù)集,還應(yīng)將Station的值設(shè)置為2000附近,以使求解器能夠正確地在路徑上定位車(chē)輛的位置。
內(nèi)置的閉環(huán)控制駕駛員模型
CarSim和TruckSim包含一個(gè)內(nèi)置的駕駛員模型(DM)控制器,該控制器可用于遵循使用參數(shù)PATH_ID_DM和LTARG_ID_DM指定的路徑和目標(biāo)。
表4列出了與DM控制器相關(guān)的輸出變量。這些變量存在于CarSim和TruckSim中,即使在仿真過(guò)程中OPT_DM保持為零也是如此。DM控制器的正常結(jié)果是圖7顯示了從圖4開(kāi)始的Echo文件部分的延續(xù)。該部分從參數(shù)OPT_DM(第734行)開(kāi)始,該參數(shù)可以使用三種模式之一(值1,2或3表示)激活駕駛員模型。在任何一種情況下,模型都會(huì)計(jì)算方向盤(pán)角度Steer_DM。
表4.與DM控制器關(guān)聯(lián)的輸出變量
短名稱(chēng) | 單位 | 長(zhǎng)名稱(chēng) |
Lat_Targ | m | 目標(biāo)相對(duì)于路徑的橫向偏移 |
Lat_Veh | m | 車(chē)輛到路徑的橫向距離 |
LtrgIdDm | - | DM使用的LTARG數(shù)據(jù)集的ID |
M_SW | N-m | 方向盤(pán)轉(zhuǎn)向扭矩 |
PathIdDm | - | DM使用的路徑數(shù)據(jù)集的ID |
PtchPath | deg | 駕駛員路徑上的地面傾斜度 |
RhoPathY | 1/m | 路徑曲率(道路橫向) |
RhoPathZ | 1/m | 路徑曲率(道路法線(xiàn)) |
Rho_Road | 1/m | X-Y道路參考路徑的曲率 |
RollPath | deg | 在駕駛員路徑上向地面俯仰角 |
Station | m | 車(chē)輛起始點(diǎn)位置(路徑) |
Steer_DM | deg | DM控制器的轉(zhuǎn)向角 |
Steer_SW | deg | 方向盤(pán)轉(zhuǎn)角 |
X_Design | m | 參考路徑的X坐標(biāo) |
X_Target | m | 目標(biāo)路徑的X坐標(biāo) |
Y_Design | m | 參考路徑的Y坐標(biāo) |
Y_Target | m | 目標(biāo)路徑的Y坐標(biāo) |
圖7.使用單點(diǎn)預(yù)瞄的駕駛員模型參數(shù)
有經(jīng)驗(yàn)的用戶(hù)可以使用參數(shù)OPT_DRIVER_ACTION,以使DM計(jì)算方向盤(pán)角度以用于另一個(gè)控制器。當(dāng)OPT_DRIVER_ACTION的默認(rèn)值為0時(shí),方向盤(pán)角度Steer_SW設(shè)置為Steer_DM。但是,如果OPT_DRIVER_ACTION = 1,則不使用DM計(jì)算的轉(zhuǎn)向。它可用于輸出和/或?qū)С龅酵獠磕P汀?/p>
參數(shù)A_SW_MAX_DM和AV_SW_MAX_DM定義了Steer_DM和Steer_DM的導(dǎo)數(shù)范圍的限制。參數(shù)VLOW_DM定義了控制器行為取決于車(chē)速的最低速度。當(dāng)車(chē)速的絕對(duì)值小于該極限時(shí),控制器的行為使用車(chē)速是VLOW_DM。
轉(zhuǎn)向扭矩控制
參數(shù)OPT_STR_BY_TRQ確定是通過(guò)方向盤(pán)上的扭矩還是方向盤(pán)角度來(lái)控制車(chē)輛。當(dāng)OPT_STR_BY_TRQ = 1(通過(guò)轉(zhuǎn)矩轉(zhuǎn)向)時(shí),在駕駛員模型中使用了更多參數(shù)(圖8)。在這種情況下,將計(jì)算出所需的方向盤(pán)轉(zhuǎn)角Steer_DM。Steer_DM和Steer_SW之間的差異是使用彈簧(K_TRQ_CON_DM)和阻尼器(D_TRQ_DM),以用于方向盤(pán)扭矩M_SW扭矩控制,但要遵守最大限制M_TRQ_CON_MAX_DM。
轉(zhuǎn)向控制器的坐標(biāo)系
DM控制器將圖9所示的軸系與DM參考路徑和DM目標(biāo)路徑一起用于向前行駛的車(chē)輛。設(shè)置控制器以計(jì)算轉(zhuǎn)向,以嘗試將DM車(chē)輛參考點(diǎn)(以紅色顯示)相對(duì)于參考路徑(輸出變量Lat_Veh)的橫向位置與使用LTARG數(shù)據(jù)集(輸出變量)指定的目標(biāo)路徑進(jìn)行匹配 Lat_Targ)。
圖8.扭矩轉(zhuǎn)向時(shí)使用的其它參數(shù)
從DM控制器的角度來(lái)看,車(chē)輛的位置應(yīng)使車(chē)輛所的簧載質(zhì)量(以藍(lán)色顯示)的原點(diǎn)位于局部X = 0,局部Y =0。所述車(chē)輛的橫擺定義為零,使得局部X和Y軸與車(chē)輛的縱向和橫向軸,其由所述車(chē)輛橫擺角的慣性軸線(xiàn)旋轉(zhuǎn)對(duì)準(zhǔn)。
控制器考慮使用沿參考路徑的預(yù)覽距離?S定義的目標(biāo)點(diǎn)。沿參考路徑的車(chē)輛原點(diǎn)的當(dāng)前站點(diǎn)為So時(shí),用于確定目標(biāo)點(diǎn)的位移為:
圖9.轉(zhuǎn)向控制器的軸系統(tǒng)和一個(gè)預(yù)覽點(diǎn)
LTARG函數(shù)用于獲取目標(biāo)點(diǎn)Ltarg的相應(yīng)L坐標(biāo)。給定路徑坐標(biāo)Starg和Ltarg,可以使用VS API函數(shù)獲取目標(biāo)點(diǎn)的全局坐標(biāo)Xtarg和Ytarg。那些全局X-Y坐標(biāo)將轉(zhuǎn)換為局部X和Y控制器坐標(biāo),如下所述。在DM參考點(diǎn)預(yù)估車(chē)輛的橫向位置,該點(diǎn)以紅色顯示。參考點(diǎn)的局部Y坐標(biāo)為零,而X坐標(biāo)則在向前行駛時(shí)將其置于前懸架的中心(圖9),而向后行駛時(shí)則將其置于后懸架的中心。該點(diǎn)的局部X坐標(biāo)在Echo文件中用關(guān)鍵字XREF_DM列出(例如,圖8中的748行)。在許多情況下,DM參考點(diǎn)與彈簧上的質(zhì)量原點(diǎn)重合。但是,這不是必需的。從版本2019.1開(kāi)始,可以使用兩種替代方法來(lái)計(jì)算轉(zhuǎn)向控制。一種使用簡(jiǎn)單的幾何形狀,另一種使用帶有線(xiàn)性動(dòng)力學(xué)模型的最優(yōu)控制理論。
使用幾何和單個(gè)預(yù)覽點(diǎn)進(jìn)行轉(zhuǎn)向控制
當(dāng)OPT_DM = 3時(shí),使用單個(gè)預(yù)覽點(diǎn)。當(dāng)車(chē)輛向前行駛時(shí),前輪的轉(zhuǎn)角的計(jì)算為指向預(yù)覽點(diǎn)的方向。使用站增量?S將指定的預(yù)覽直接應(yīng)用于路徑位移?S:
其中Xref是DM參考點(diǎn)的局部X坐標(biāo),T是預(yù)覽時(shí)間,Vx是縱向車(chē)速(圖9)。目標(biāo)位移Starg(等式2)用于通過(guò)LTARG函數(shù)計(jì)算目標(biāo)L;然后將路徑坐標(biāo)Starg和Ltarg轉(zhuǎn)換為全局坐標(biāo)Xtarg和Ytarg。對(duì)于駕駛員模型XDM和YDM,將全局坐標(biāo)轉(zhuǎn)換為局部坐標(biāo):
從DM參考點(diǎn)到目標(biāo)點(diǎn)的角度是轉(zhuǎn)向控制uc:
向后行駛時(shí),轉(zhuǎn)向也會(huì)反轉(zhuǎn):
其中π的符號(hào)與atan2(YDM,XDM)的符號(hào)相同。將控制角乘以有效齒輪比即可從DM控制器獲得方向盤(pán)角:
其中比率是使用與轉(zhuǎn)向盤(pán)角度和方向盤(pán)角度相關(guān)的運(yùn)動(dòng)表在模型中動(dòng)態(tài)計(jì)算的。目標(biāo)點(diǎn)的全局X,Y和Z坐標(biāo)可以通過(guò)使用命令I(lǐng)NSTALL_DM_OUTPUTS提供(圖8中的第747行)作為輸出。如果VS Solver讀取命令時(shí),如果OPT_DM = 3,則將創(chuàng)建三個(gè)輸出,名稱(chēng)分別為X_DM_1,Y_DM_1和Z_DM_1。另外,添加了兩個(gè)導(dǎo)入變量:IMP_X_DM和IMP_Y_DM。這允許目標(biāo)點(diǎn)由外部軟件或VS命令提供。
使用線(xiàn)性動(dòng)力學(xué)和多點(diǎn)預(yù)瞄的轉(zhuǎn)向控制
當(dāng)OPT_DM = 1或2時(shí),使用的是基于線(xiàn)性動(dòng)態(tài)系統(tǒng)最佳控制的方法,該方法由UMTRI的Charles MacAdam在1980年開(kāi)發(fā)[1,2]。本文檔中介紹的算法已經(jīng)過(guò)簡(jiǎn)化和重新設(shè)計(jì),可以與CarSim和TruckSim中使用的參考路徑一起使用。隨著時(shí)間的流逝,控制器已經(jīng)擴(kuò)展到可解決懸架轉(zhuǎn)向效果(前后)和主動(dòng)后轉(zhuǎn)向的問(wèn)題。它也已擴(kuò)展為支持反向行駛。對(duì)通用控制方法進(jìn)行編程,以在車(chē)輛模型中生成方向盤(pán)角度。算法流程如圖10所示。給定目標(biāo)路徑后,轉(zhuǎn)向控制器會(huì)在給定車(chē)輛當(dāng)前狀態(tài)的情況下計(jì)算方向盤(pán)角度。
圖 10.邏輯流程圖
該算法計(jì)算最佳控制u,以使車(chē)輛參考點(diǎn)的路徑與目標(biāo)路徑的偏差最小,并從其它來(lái)源(運(yùn)動(dòng)學(xué)和柔度)中減去前后轉(zhuǎn)向(uf和ur)以獲得駕駛員所需的轉(zhuǎn)向uc。后面提供了該方法在轉(zhuǎn)向控制器中的理論和應(yīng)用。該算法假定多個(gè)預(yù)覽點(diǎn)在車(chē)輛X軸方向上均勻分布(圖11)。向前移動(dòng)(Vx> 0)時(shí),每個(gè)預(yù)覽點(diǎn)都有一個(gè)局部X坐標(biāo):
其中Xref是DM參考點(diǎn)的本地X坐標(biāo),i是間隔編號(hào),T是整體預(yù)覽時(shí)間,m是間隔數(shù)量。?相應(yīng)的位移大約是:
其中(車(chē)輛相對(duì)于參考路徑的航向角)假定在預(yù)瞄距離內(nèi)恒定。當(dāng)車(chē)輛指向增加位移的路徑方向時(shí)(參數(shù)OPT_DIRECTION = +1),是路徑航向角和車(chē)輛橫擺角Y之間的差。?但是,當(dāng)車(chē)輛沿路徑指向另一個(gè)方向時(shí)(朝減小位移方向,OPT_DIRECTION = –1),兩個(gè)角度之間的差調(diào)整為180°。
圖11.多個(gè)預(yù)瞄點(diǎn)的幾何
給定路徑位移Starg,LTARG函數(shù)用于獲取目標(biāo)Ltarg的相應(yīng)L坐標(biāo);然后,將路徑坐標(biāo)Starg和Ltarg轉(zhuǎn)換為每個(gè)目標(biāo)點(diǎn)的全局坐標(biāo)Xtarg和Ytarg。然后使用車(chē)輛橫擺角Y和航向角獲得局部Y坐標(biāo):
等式9和11基于以下假設(shè):參考路徑的航向在預(yù)瞄范圍內(nèi)是恒定的,并且目標(biāo)路徑和參考路徑是平行的。使用十個(gè)預(yù)覽點(diǎn)(m = 10),并且由于懸架運(yùn)動(dòng)學(xué)和柔順性,前輪的道路轉(zhuǎn)向是理論控制量u減去轉(zhuǎn)向:
公式12基于附錄中的公式31,公式12中的變量ytarg,i對(duì)應(yīng)于公式11中的YDM。
當(dāng)使用線(xiàn)性動(dòng)態(tài)控制器時(shí),Echo文件中將顯示另外兩個(gè)參數(shù)(圖12)。使用線(xiàn)性動(dòng)態(tài)控制器時(shí),參數(shù)TLAG(行745)可用;它為Steer_DM增加了純時(shí)間延遲。在之前的研究中,這種延遲被用來(lái)復(fù)制人類(lèi)駕駛員所觀(guān)察到的延遲。不過(guò),一般很少使用,除非需要包括延遲,否則建議值為0。在版本2019.1中,對(duì)駕駛員模型進(jìn)行了進(jìn)一步修訂,以包括上一小節(jié)中描述的單預(yù)瞄控制器,并包括向后驅(qū)動(dòng)時(shí)的控制。為此,對(duì)內(nèi)部方程式進(jìn)行了一些修改。參數(shù)OPT_DM_2019提供了一種使用舊的(2019.0及更早版本)方程式的方法,以支持版本到版本的測(cè)試。如果車(chē)輛行駛模式為-1(向后行駛)或使用單點(diǎn)方法(OPT_DM = 3),則此參數(shù)不適用。
圖12.具有10個(gè)預(yù)瞄點(diǎn)的線(xiàn)性模型的DM參數(shù)
當(dāng)設(shè)置為零(默認(rèn)值)時(shí),將使用本文檔中介紹的方程式。此外,在向后行駛或使用單點(diǎn)方法(OPT_DM = 3)時(shí),無(wú)論OPT_DM_2019參數(shù)的值如何,都會(huì)使用新的方程式。如果需要從舊版本中復(fù)制結(jié)果,請(qǐng)將此參數(shù)設(shè)置為1。這是新舊版本之間的主要區(qū)別:1. ?S的公式10不包含系數(shù):cos()。2. YDM的公式11不包含除數(shù):cos()。3.沒(méi)有使用B和H數(shù)組的第三個(gè)元素(等式33)。4.后轉(zhuǎn)向(主動(dòng)和懸掛)的影響降低了50%。5.車(chē)輛的初始橫擺角設(shè)置為與參考路徑平行,但不包括與指定的LTARG偏移量相關(guān)的任何角度。車(chē)輛的屬性用于計(jì)算附錄中所示的矩陣系數(shù);這些在Echo文件中作為計(jì)算的屬性提供(第748 – 753行)。
查看駕駛員轉(zhuǎn)向模型的預(yù)瞄點(diǎn)
駕駛員模型轉(zhuǎn)向控制器使用一個(gè)(OPT_DM = 3)或十個(gè)(OPT_DM = 1或2)預(yù)瞄點(diǎn)來(lái)確定方向盤(pán)角度。提供了一個(gè)命令I(lǐng)NSTALL_DM_OUTPUTS,以使高級(jí)用戶(hù)能夠生成該點(diǎn)的全局X,Y和Z坐標(biāo)。對(duì)于每個(gè)點(diǎn)i(i = 1、2,... 10),三個(gè)輸出變量分別命名為X_DM_i,Y_DM_i和Z_DM_i。將命令放在任何其他黃色字段中以創(chuàng)建這些輸出變量。
CarSim和TruckSim都包括示例數(shù)據(jù)集,這些數(shù)據(jù)集顯示了一個(gè)用于單點(diǎn)駕駛員預(yù)瞄的球體(圖13),并在駕駛員預(yù)瞄點(diǎn)顯示了具有之前控制選項(xiàng)的10個(gè)球體。
圖13.帶有動(dòng)畫(huà)球體的駕駛員模型的十個(gè)預(yù)瞄點(diǎn)
MultipleMovingObjects庫(kù)包含使用小球體顯示興趣點(diǎn)的多個(gè)數(shù)據(jù)集。圖14顯示了支持一個(gè)駕駛員預(yù)瞄點(diǎn)的設(shè)置。其他數(shù)據(jù)集顯示更多興趣點(diǎn)。
圖14.具有移動(dòng)對(duì)象的示例數(shù)據(jù)集,顯示駕駛員預(yù)瞄點(diǎn)
在此示例中,INSTALL_DM_OUTPUTS命令被寫(xiě)入其他黃色字段①。路徑ID設(shè)置為0④,指示每個(gè)對(duì)象的水平位置是具有全局X和Y坐標(biāo)的指定方向。VS Command EQ_OUT?③為每個(gè)運(yùn)動(dòng)對(duì)象提供了這些坐標(biāo)。將使用ID為CURRENT_ROAD_ID的車(chē)輛道路來(lái)計(jì)算每個(gè)對(duì)象的Z坐標(biāo)。但是,在加載此數(shù)據(jù)集時(shí),可能不知道CURRENT_ROAD_ID。因此,黃色字段設(shè)置為0⑤,并且初始化完成后,將使用EQ_INIT命令將對(duì)象的道路ID設(shè)置為CURRENT_ROAD_ID②。
將閉環(huán)駕駛員模型與外部模型一起使用
如果選擇了單點(diǎn)選項(xiàng)(OPT_DM = 3),還將創(chuàng)建兩個(gè)導(dǎo)入變量,以支持高級(jí)用戶(hù)使用VS命令或外部模型(例如Simulink)計(jì)算預(yù)瞄點(diǎn)的X和Y坐標(biāo)。假設(shè)駕駛員模型只是將轉(zhuǎn)向輪指向該點(diǎn),則可以通過(guò)提供預(yù)瞄點(diǎn)的X和Y坐標(biāo)來(lái)控制轉(zhuǎn)向。導(dǎo)入變量具有關(guān)鍵字IMP_X_DM和IMP_Y_DM。另一個(gè)選擇是使用參數(shù)OPT_DRIVER_ACTION(對(duì)于高級(jí)用戶(hù),通過(guò)在其他黃色字段中鍵入關(guān)鍵字和值來(lái)設(shè)置)。設(shè)置OPT_DRIVER_ACTION = 1(默認(rèn)值)會(huì)使駕駛員模型計(jì)算方向盤(pán)角度并將計(jì)算出的方向盤(pán)角度應(yīng)用于轉(zhuǎn)向系統(tǒng)。設(shè)置OPT_DRIVER_ACTION = 0會(huì)使駕駛員模型計(jì)算出用于輸出目的的方向盤(pán)角度,但是計(jì)算出的方向盤(pán)角度不會(huì)應(yīng)用于轉(zhuǎn)向系統(tǒng)。由駕駛員模型計(jì)算出的方向盤(pán)角度在變量Steer_DM中輸出。這可用于為外部定義的轉(zhuǎn)向控制系統(tǒng)(如線(xiàn)控轉(zhuǎn)向)提供控制輸入。(將其視為來(lái)自駕駛員的“轉(zhuǎn)向請(qǐng)求”。)計(jì)算出的駕駛員控制可作為導(dǎo)出,以供外部軟件(例如Simulink)或VS命令定義的方程式使用。
閉環(huán)控制駕駛員模型:GUI界面
閉環(huán)轉(zhuǎn)向控制通常使用圖15所示的庫(kù)界面進(jìn)行配置。界面頂部顯示與LTARG可配置函數(shù)相關(guān)的橫向偏移。底部顯示DM控制器的屬性。
橫向目標(biāo)
界面頂部的控件為DM控制器定義LTARG數(shù)據(jù)集,或指定移動(dòng)對(duì)象的運(yùn)動(dòng)。??①相對(duì)于參考路徑的目標(biāo),該參考路徑根據(jù)路徑位移S計(jì)算L。與大多數(shù)可配置函數(shù)一樣,這可以是常量,系數(shù)或非線(xiàn)性表,該表用一組數(shù)字以及選擇的插值和外推方法來(lái)指定。??②用于為此LTARG數(shù)據(jù)集設(shè)置用戶(hù)ID的下拉控件。此可配置函數(shù)包括用戶(hù)ID(關(guān)鍵字= LTARG_ID)。ID可以自動(dòng)設(shè)置,也可以指定為999或更高的ID。??③?選中此復(fù)選框可顯示自定義設(shè)置的其他字段。高級(jí)用戶(hù)可以輸入其他屬性或VS命令來(lái)擴(kuò)展模型。
圖15.閉環(huán)駕駛員模型控制的庫(kù)界面
閉環(huán)駕駛員模型轉(zhuǎn)向控制器
選中復(fù)選框④后,此界面將激活DM控制器,并提供DM控制器的設(shè)置。???④?Use closed-loop steeringand show parameters復(fù)選框. 如果未選中此框,則不會(huì)顯示所有控件和更高的控件⑤(界面下部的所有內(nèi)容)。如果要?jiǎng)?chuàng)建LTARG數(shù)據(jù)集而不影響內(nèi)置駕駛員模型,請(qǐng)取消選中此框。例如,LTARG數(shù)據(jù)集可用于控制運(yùn)動(dòng)對(duì)象的位置。選中后,將顯示路徑跟隨器控件,并且將參數(shù)LTARG_ID_DM設(shè)置為L(zhǎng)TARG數(shù)據(jù)集的LTARG_ID。?⑤控制設(shè)置預(yù)瞄時(shí)間。下拉控件用于在定義預(yù)瞄時(shí)間的不同選項(xiàng)之間進(jìn)行選擇(圖16)。
圖16.用于定義預(yù)瞄時(shí)間的選項(xiàng)
當(dāng)下拉列表設(shè)置為Constant(圖15)⑥?時(shí),預(yù)瞄時(shí)間是恒定的,如黃色字段中所指定。
當(dāng)下拉列表設(shè)置為Configurablefunction或Config.function+gain+offset在下拉控件下顯示一個(gè)鏈接(圖17)。鏈接的數(shù)據(jù)集用于名為T(mén)PREV的可配置函數(shù),該函數(shù)在內(nèi)部用于計(jì)算隨速度變化的預(yù)覽時(shí)間T。當(dāng)選項(xiàng)設(shè)置為Config. function + gain + offset,會(huì)在偏移量⑦和增益⑧處顯示其他黃色字段。
圖17.選擇可配置函數(shù)時(shí)的外觀(guān)
⑥?固定的預(yù)瞄時(shí)間(關(guān)鍵字= TPREV_CONSTANT)。僅當(dāng)下拉控件設(shè)置為Constant時(shí),才顯示此字段(圖15)。
預(yù)瞄時(shí)間通常設(shè)置為0.1到2.0秒之間。一些注意事項(xiàng):
1.如果使用單個(gè)預(yù)瞄點(diǎn)(選中了⑨復(fù)選框),則通常將預(yù)瞄時(shí)間設(shè)置為小于預(yù)瞄時(shí)間涵蓋十個(gè)間隔(不選中復(fù)選框)時(shí)的時(shí)間。
2.更長(zhǎng)的預(yù)瞄時(shí)間會(huì)帶來(lái)更穩(wěn)定的行為,同時(shí)跟蹤精度也會(huì)降低。
3.如果未選中該復(fù)選框⑨,則預(yù)瞄時(shí)間較短,可以提供更高的跟蹤精度,并且可能會(huì)失去穩(wěn)定性。
在低于指定限制的速度下?,預(yù)瞄是與在低速限制處應(yīng)用的預(yù)瞄時(shí)間相對(duì)應(yīng)的固定距離。
⑦從表格添加到預(yù)瞄時(shí)間的偏移量(關(guān)鍵字= TPREV_OFFSET)。僅當(dāng)下拉列表⑤設(shè)置為Config. function + gain + offset時(shí),此字段才可見(jiàn)。使用此選項(xiàng),可以定義標(biāo)準(zhǔn)形狀的標(biāo)準(zhǔn)化表格,并使用增益和偏移值對(duì)其進(jìn)行調(diào)整。
⑧?獲得變速駕駛員模型預(yù)瞄時(shí)間(數(shù)據(jù)庫(kù)關(guān)鍵字= TPREV_GAIN)。僅當(dāng)下拉列表⑤設(shè)置為Config. function + gain + offset時(shí),此字段才可見(jiàn)。使用它來(lái)設(shè)置比例因子以乘以表中的值。使用此選項(xiàng),可以定義標(biāo)準(zhǔn)形狀的標(biāo)準(zhǔn)化表格,并使用增益和偏移值對(duì)其進(jìn)行調(diào)整。
復(fù)選框以使用單個(gè)預(yù)瞄點(diǎn)。這在計(jì)算轉(zhuǎn)向角的方法之間進(jìn)行選擇。
選中(OPT_DM = 3)時(shí),將進(jìn)行轉(zhuǎn)向控制,將前輪指向距離Lprev?= Tprev?|Vfwd?|。在DM參考點(diǎn)的前面,其中Tprev是預(yù)瞄時(shí)間。向前行駛時(shí),參考點(diǎn)位于前懸架的中心,向后行駛時(shí),參考點(diǎn)位于后懸架的中心。
如果未選中(OPT_DM = 1或2),則會(huì)使用內(nèi)置的線(xiàn)性動(dòng)態(tài)車(chē)輛模型來(lái)計(jì)算轉(zhuǎn)向控制,以預(yù)測(cè)與覆蓋DM參考點(diǎn)前方距離Lprev的目標(biāo)路徑的要點(diǎn)相匹配的轉(zhuǎn)向。在這種情況下,將顯示更多控件:⑩,?和?(圖18)。
圖18.顯示更多選項(xiàng)并帶有多個(gè)預(yù)瞄點(diǎn)
單點(diǎn)方法(OPT_DM = 3)已添加到版本2019.1; 其他兩個(gè)選項(xiàng)在以前的版本中可用。單點(diǎn)方法更可靠,建議用于大多數(shù)仿真,尤其是那些涉及極限條件的仿真。單點(diǎn)的預(yù)瞄時(shí)間通常應(yīng)設(shè)置為不選中此框時(shí)用于十個(gè)點(diǎn)的預(yù)瞄時(shí)間的一半。
⑩復(fù)選框,帶有在使用線(xiàn)性動(dòng)態(tài)模型時(shí)使用舊方程式的選項(xiàng)(關(guān)鍵字= OPT_DM_2019)。僅當(dāng)未選中⑨單點(diǎn)框時(shí),此控件才可見(jiàn)。
行為上的差異通常很小。選中此框時(shí),將使用舊的公式(2019.0及更早版本),以支持版本間驗(yàn)證測(cè)試。
?帶有選項(xiàng)的復(fù)選框,可忽略后輪的運(yùn)動(dòng)學(xué)轉(zhuǎn)向效果(OPT_DM = 2)。僅當(dāng)未選中⑨單點(diǎn)框時(shí),此控件才可見(jiàn)。提供此功能是為了與VS Solvers的舊版本(2004年之前)兼容,但不建議這樣做.
?駕駛員轉(zhuǎn)向模型中對(duì)速度敏感度的低速限制(關(guān)鍵字= VLOW_DRIVER)。對(duì)于超過(guò)此限制的速度,預(yù)瞄距離與速度成比例。取消選中⑨單點(diǎn)復(fù)選框后,將使用取決于速度的內(nèi)部動(dòng)態(tài)車(chē)輛模型(二維動(dòng)態(tài)模型)。如果車(chē)速降至該限制以下,則預(yù)覽基于該速度。
當(dāng)速度小于0.1m / s(0.36 km / h)且未選中⑨單點(diǎn)框時(shí),來(lái)自控制器的方向盤(pán)角度將被凍結(jié)。
?駕駛員模型的最大方向盤(pán)角度(關(guān)鍵字= A_SW_MAX_DM)。這指定方向盤(pán)可以從中心向任一方向旋轉(zhuǎn)的最大角度。
??最大方向盤(pán)轉(zhuǎn)角率(關(guān)鍵字= AV_SW_MAX_DM)。這指定駕駛員模型可以在任一方向上轉(zhuǎn)動(dòng)方向盤(pán)的最大角速度。.
??復(fù)選框以包括駕駛員滯后。僅當(dāng)未選中⑨單點(diǎn)框時(shí),此控件才可見(jiàn)(圖18)。選中“駕駛員滯后”框時(shí),將顯示驅(qū)動(dòng)程序滯后的相鄰黃色字段(關(guān)鍵字= TLAG_DM)。由駕駛員模型生成的方向盤(pán)角度會(huì)延遲此時(shí)間量,以模擬人的神經(jīng)肌肉延遲。實(shí)際值約為0.15秒。較大的值可用于仿真受傷的駕駛員。
隨著滯后的增加,駕駛員-車(chē)輛系統(tǒng)趨于過(guò)度校正至不穩(wěn)定點(diǎn)。
如果用戶(hù)嘗試沿著一條路徑而不嘗試仿真駕駛員響應(yīng)動(dòng)力學(xué),則建議將其值設(shè)置為0.0。在這種情況下,只需取消選中該框。
?選中該復(fù)選框以使駕駛員模型通過(guò)扭矩轉(zhuǎn)向。選中后,將顯示另外三個(gè)字段:,和(圖19)。DM仍會(huì)計(jì)算目標(biāo)方向盤(pán)角度,但是,無(wú)論隱含扭矩如何,DM都不會(huì)應(yīng)用它,而是使用控制器根據(jù)需要生成方向盤(pán)扭矩,以生成控制器請(qǐng)求的角度。
圖19.當(dāng)駕駛員模型通過(guò)扭矩轉(zhuǎn)向時(shí),將使用更多參數(shù)
?DM可以應(yīng)用的最大方向盤(pán)扭矩(關(guān)鍵字= M_TRQ_CON_MAX_DM)。
?DM用來(lái)產(chǎn)生轉(zhuǎn)向扭矩的扭轉(zhuǎn)剛度(關(guān)鍵字= K_TRQ_CON_DM)
?DM使用扭轉(zhuǎn)阻尼來(lái)產(chǎn)生轉(zhuǎn)向扭矩(關(guān)鍵字= D_TRQ_CON_DM)。
VS Visualizer中目標(biāo)路徑的可視化
界面的右下部分具有用于在動(dòng)畫(huà)中目標(biāo)路徑的位置顯示虛線(xiàn)的控件。
?選中該框時(shí),將顯示其他控件以指定虛線(xiàn)的外觀(guān)。
為了顯示線(xiàn),將根據(jù)這些控件中設(shè)置的值自動(dòng)為VSVisualizer生成矩形對(duì)象。三個(gè)控件指定生成的虛線(xiàn)形狀的大?。阂阅繕?biāo)路徑為中心的以米為單位的線(xiàn)寬,每個(gè)虛線(xiàn)段的長(zhǎng)度(線(xiàn)段之間的間距與線(xiàn)段長(zhǎng)度相同)以及分辨率。每個(gè)片段由一個(gè)或多個(gè)形狀組成,其中每個(gè)片段都被分解為長(zhǎng)度=分辨率的形狀。較小的值可使顯示的線(xiàn)段更緊貼山坡和道路高程變化,但可能會(huì)大大增加VS Visualizer加載的數(shù)據(jù)量。參數(shù)“ dZ”指定虛線(xiàn)在3D路面上方“浮起”的高度。將形狀放置在相同的高度會(huì)導(dǎo)致紋理之間的干擾,從而導(dǎo)致圖像質(zhì)量下降和閃爍。垂直高度減少即可避免這種情況。通過(guò)在顏色字段中輸入RGB值或從調(diào)色板控件中選擇一種顏色來(lái)指定。如果駕駛員的參考路徑未循環(huán),則將生成形狀以覆蓋仿真中涵蓋的仿真位移的范圍。為了確定這一點(diǎn),VS瀏覽器讀取運(yùn)行開(kāi)始和結(jié)束時(shí)生成的Echo文件,并掃描關(guān)鍵字SSTART和SSTOP。這些關(guān)鍵字總是出現(xiàn)在兩個(gè)Echo文件中。第一個(gè)是SSTART,它定義了運(yùn)行開(kāi)始時(shí)的仿真位移;第二個(gè),SSTOP,定義運(yùn)行結(jié)束時(shí)的仿真位移。如果駕駛員的參考路徑已循環(huán),則會(huì)生成形狀以覆蓋整個(gè)循環(huán)。
運(yùn)行開(kāi)始時(shí)從數(shù)據(jù)中獲取用于生成形狀的路徑信息。如果在運(yùn)行過(guò)程中使用“事件”或“ VS命令”更改了路徑,則不會(huì)顯示這些更改。
使用LTARG數(shù)據(jù)集
可配置函數(shù)LTARG由駕駛員模型使用,也可用于控制模仿交通車(chē)輛或其他自定義應(yīng)用程序的運(yùn)動(dòng)對(duì)象。當(dāng)前活動(dòng)LTARG數(shù)據(jù)集的數(shù)量是帶有關(guān)鍵字N_LTARG的系統(tǒng)參數(shù)。在VS規(guī)劃求解讀取任何數(shù)據(jù)集Parsfile之前,N_LTARG的值為零。每次從該庫(kù)中獲取數(shù)據(jù)集時(shí)(控制:閉環(huán)驅(qū)動(dòng)模型),如果自動(dòng)設(shè)置ID或指定了新的自定義ID,都會(huì)添加一個(gè)新的數(shù)據(jù)集。如VS命令章節(jié)中所述,還可以使用VS命令SET_ILTARG_FOR_ID添加新的LTARG數(shù)據(jù)集。每個(gè)數(shù)據(jù)集都有一個(gè)由參數(shù)LTARG_ID指定的ID。例如,第一個(gè)數(shù)據(jù)集的ID為L(zhǎng)TARG_ID(1),對(duì)于第二個(gè)數(shù)據(jù)集是LTARG_ID(2),依此類(lèi)推。
LTARG_ID_DM是駕駛員模型使用的LTARG數(shù)據(jù)集的ID號(hào)。它的默認(rèn)值為1,可以設(shè)置為N_LTARG以下的任何正數(shù),也可以設(shè)置為與現(xiàn)有數(shù)據(jù)集的LTARG_ID匹配的任何值。如果設(shè)置為零,則距路徑的橫向偏移將保持為零。在創(chuàng)建多個(gè)LTARG數(shù)據(jù)集以將特定目標(biāo)分配給駕駛員模型之后,可以通過(guò)指定一個(gè)值來(lái)覆蓋LTARG_ID_DM值。VS事件中,LTARG_ID_DM也可能會(huì)更改。
(歡迎申請(qǐng)加入智能駕駛交流學(xué)習(xí)群,加小編微信號(hào)zhijiashexiaoming)