黄色视频不卡_午夜福利免费观看在线_亚洲国产精品999在线_欧美绝顶高潮抽搐喷水_久久精品成人免费网站_晚上一个人看的免费电影_国产又色又爽无遮挡免费看_成人国产av品久久久

    1. <dd id="lgp98"></dd>
      • <dd id="lgp98"></dd>
        1. 產(chǎn)品推薦:氣相|液相|光譜|質譜|電化學|元素分析|水分測定儀|樣品前處理|試驗機|培養(yǎng)箱


          化工儀器網(wǎng)>技術中心>其他文章>正文

          歡迎聯(lián)系我

          有什么可以幫您? 在線咨詢

          康謀分享 | 自動駕駛聯(lián)合仿真——功能模型接口FMI(四)

          來源:廣州虹科電子科技有限公司   2024年07月24日 13:46  

          在上一篇文章:,我們講述了在構建FMU中,如何通過fmi_simple_car.cpp來實現(xiàn)FMI2.0,即如何實現(xiàn)一個簡單的車輛模型來進行車輛動力學仿真。今天康謀接著展示如何通過simple_car.cpp和simple_car.h構建車輛模型本身。


          一、操作步驟

          首先simple_car.cpp主要構建了車輛所需的多個動力學參數(shù),包括底盤的位姿、車輪的狀態(tài)等,而simple_car.h提供多個函數(shù)來實現(xiàn)基于FMI2.0標準將參數(shù)寫入到車輛中。



          simple_car.cpp主要分為三部分:

          • 初始化車輛動力學參數(shù)

          • 計算參數(shù)并更新車輛的運動變化

          • 根據(jù)車輛的位姿計算車輪的坐標

          在頭文件中,除了定義相關函數(shù)外,還提供了車輛的一些靜態(tài)參數(shù),用于協(xié)助動力學參數(shù)的計算,比如給定車輛的轉向傳動比、軸距、最大附著加速度、車輪半徑等。


          圖1 (1).png


          1、實例化

          我們來看一個simple_car.cpp中實現(xiàn)車輛狀態(tài)更新的簡單示例:

          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]


          這三個分別計算了轉向角、曲率和偏航率?;谶@個三個值,再結合車輛的靜態(tài)參數(shù),我們可以計算并推算出其他的車輛運動姿態(tài)參數(shù)。



          我們也會通過加速踏板和剎車踏板的狀態(tài)來計算車輛(底盤的縱向加速度),其中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]。



          使用這一方式的原因:一是為了計算不同參數(shù)時清晰明了,此外更重要的是這和FMU中的modelDescription.xml文件所對應,modelDescription.xml規(guī)定了FMU的結構,其結構可以參考FMI系列的第二篇文章。



          2、關注參數(shù)

          在XML文件中,需要關注的參數(shù)類型為name和valuReference,STEERING_ANGLE這一name對應的valuReference值為3,那么為了方便我們使用這些參數(shù),可以把這些定義的宏寫入到value_reference_ids.h中,當然也可以寫入simple_car.h這一頭文件里。

          圖2 (1).png


          3、Cmake 編譯


          在完成simple_car.cpp、simple_car.h和FMU描述文件modelDescription.xml文件的構建,最后一步就是要將其編譯成為所需FMU文件并生成我們的動態(tài)庫文件(.so/.dll)。




          我們采用Cmake來進行編譯,除了定義源文件、添加庫、特定目錄、鏈接庫(主要是glm和fmi2_interface)以外,我們還需要針對FMI平臺進行配置:


          圖3 (1).png


          以上就是基于FMI2.0構建FMU的全部內(nèi)容,在下一期中我們將介紹在仿真軟件aiSim中通過車輛動力學API來實現(xiàn)和FMU的聯(lián)合仿真。


          免責聲明

          • 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-化工儀器網(wǎng)合法擁有版權或有權使用的作品,未經(jīng)本網(wǎng)授權不得轉載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權使用作品的,應在授權范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
          • 本網(wǎng)轉載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權等法律責任。
          • 如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
          企業(yè)未開通此功能
          詳詢客服 : 0571-87858618
          海安县| 乌拉特前旗| 玉山县| 潜山县| 登封市| 平塘县| 元朗区| 育儿| 札达县| 新巴尔虎左旗| 宣汉县| 隆尧县| 集贤县| 盐津县| 赤峰市| 安泽县| 平舆县| 石狮市| 南靖县| 日照市| 阳新县| 汕尾市| 昌都县| 喀什市| 沙河市| 广元市| 乳源| 隆子县| 荆州市| 奉节县| 新兴县| 剑河县| 岫岩| 元朗区| 全州县| 禹州市| 沁阳市| 绥芬河市| 太仆寺旗| 洮南市| 同江市|