?在上一篇文章 “康謀分享 | 自動駕駛聯合仿真——功能模型接口FMI(三)http://www.qldv.cn/d/3875615.html”,我們講述了在構建FMU中,如何通過fmi_simple_car.cpp來實現FMI2.0,即如何實現一個簡單的車輛模型來進行車輛動力學仿真。今天康謀接著展示如何通過simple_car.cpp和simple_car.h構建車輛模型本身。
一、操作步驟
首先simple_car.cpp主要構建了車輛所需的多個動力學參數,包括底盤的位姿、車輪的狀態等,而simple_car.h提供多個函數來實現基于FMI2.0標準將參數寫入到車輛中。
simple_car.cpp主要分為三部分:
- 初始化車輛動力學參數
- 計算參數并更新車輛的運動變化
- 根據車輛的位姿計算車輪的坐標
在頭文件中,除了定義相關函數外,還提供了車輛的一些靜態參數,用于協助動力學參數的計算,比如給定車輛的轉向傳動比、軸距、最大附著加速度、車輪半徑等。
![wKgaomaga4qAaTULAAFYZldGreo680.png](https://file1.elecfans.com/web2/M00/FE/FC/wKgaomaga4qAaTULAAFYZldGreo680.png)
1、實例化
我們來看一個simple_car.cpp中實現車輛狀態更新的簡單示例:
const double wheel_angle =val_refs[STEERING_ANGLE] / m_steer_transmission_ratio; const double curvature = wheel_angle / m_wheelbase const double yaw_rate = curvature * val_refs[CHASSIS_SPEED]
這三個分別計算了轉向角、曲率和偏航率。基于這個三個值,再結合車輛的靜態參數,我們可以計算并推算出其他的車輛運動姿態參數。
我們也會通過加速踏板和剎車踏板的狀態來計算車輛(底盤的縱向加速度),其中m_max_adh_acc為在頭文件中預先定義的最大附著加速度:
if val_refs[BRAKE_PEDAL_POSITION] < 0.0 { val_refs[CHASSIS_LONGITUDINAL_ACCELERATION] = val_refs[BRAKE_PEDAL_POSITION] * m_max_adh_acc; }
可以注意到我們使用了宏定義的[STEERING_ANGLE]、[CHASSIS_LONGITUDINAL_ACCELERATION]和[BRAKE_PEDAL_POSITION]。
使用這一方式的原因:一是為了計算不同參數時清晰明了,此外更重要的是這和FMU中的modelDescription.xml文件所對應,modelDescription.xml規定了FMU的結構,其結構可以參考FMI系列的第二篇文章:“康謀分享 | 自動駕駛聯合仿真——功能模型接口FMI(二)http://www.qldv.cn/d/3535805.html”。
2、關注參數
在XML文件中,需要關注的參數類型為name和valuReference,STEERING_ANGLE這一name對應的valuReference值為3,那么為了方便我們使用這些參數,可以把這些定義的宏寫入到value_reference_ids.h中,當然也可以寫入simple_car.h這一頭文件里。
![wKgZomagbGWAIYFqAAP_TDgDKig915.png](https://file1.elecfans.com/web2/M00/FE/14/wKgZomagbGWAIYFqAAP_TDgDKig915.png)
3、Cmake 編譯
在完成simple_car.cpp、simple_car.h和FMU描述文件modelDescription.xml文件的構建,最后一步就是要將其編譯成為所需FMU文件并生成我們的動態庫文件(.so/.dll)。
我們采用Cmake來進行編譯,除了定義源文件、添加庫、指定目錄、鏈接庫(主要是glm和fmi2_interface)以外,我們還需要針對FMI平臺進行配置:
![wKgaomagbHuAWYReAAHfZ6od84Y167.png](https://file1.elecfans.com/web2/M00/FE/FD/wKgaomagbHuAWYReAAHfZ6od84Y167.png)
以上就是基于FMI2.0構建FMU的全部內容,在下一期中我們將介紹在仿真軟件aiSim中通過車輛動力學API來實現和FMU的聯合仿真。
-
汽車行業
+關注
關注
0文章
313瀏覽量
15453 -
聯合仿真
+關注
關注
0文章
5瀏覽量
8346 -
自動駕駛
+關注
關注
785文章
13932瀏覽量
167012 -
功能模塊
+關注
關注
0文章
19瀏覽量
2760
發布評論請先 登錄
相關推薦
自動駕駛聯合仿真——功能模型接口FMI(終)
![<b class='flag-5'>自動駕駛</b><b class='flag-5'>聯合</b><b class='flag-5'>仿真</b>——<b class='flag-5'>功能</b><b class='flag-5'>模型</b><b class='flag-5'>接口</b><b class='flag-5'>FMI</b>(終)](https://file1.elecfans.com/web2/M00/01/DE/wKgaomay2wWAUDG5AACfnLYRVZo241.png)
谷歌的自動駕駛汽車是醬紫實現的嗎?
自動駕駛真的會來嗎?
自動駕駛的到來
AI/自動駕駛領域的巔峰會議—國際AI自動駕駛高峰論壇
自動駕駛汽車的處理能力怎么樣?
自動駕駛車的人車交互接口設計方案
自動駕駛線控底盤VCU功能介紹
康謀新聞丨走進康謀科技——您的自動駕駛解決方案合作伙伴
![<b class='flag-5'>康</b><b class='flag-5'>謀</b>新聞丨走進<b class='flag-5'>康</b><b class='flag-5'>謀</b>科技——您的<b class='flag-5'>自動駕駛</b>解決方案合作伙伴](https://file1.elecfans.com/web2/M00/BD/57/wKgZomWqGy2AAVKXABf-PYoTiC0929.png)
康謀分享 | 汽車仿真與AI的結合應用
![<b class='flag-5'>康</b><b class='flag-5'>謀</b>分享 | 汽車<b class='flag-5'>仿真</b>與AI的結合應用](https://file1.elecfans.com/web2/M00/05/F9/wKgZombg7x-AVNcYAAB-OPE5mbE476.png)
康謀分享 | 直面AD/ADAS快速開發挑戰:IVEX自動駕駛場景管理及分析平臺!
![<b class='flag-5'>康</b><b class='flag-5'>謀</b>分享 | 直面AD/ADAS快速開發挑戰:IVEX<b class='flag-5'>自動駕駛</b>場景管理及分析平臺!](https://file1.elecfans.com/web2/M00/08/C3/wKgaombzZTeAKOLSAABy_1eN69o992.png)
評論