成人做爰免费视频免费看_成人a级高清视频在线观看,成人a大片在线观看,成人a大片高清在线观看,成人av在线播放,一a一级片,一级黄 中国色 片,一级黄 色蝶 片,一级黄色 片生活片

產(chǎn)品推薦:氣相|液相|光譜|質(zhì)譜|電化學(xué)|元素分析|水分測(cè)定儀|樣品前處理|試驗(yàn)機(jī)|培養(yǎng)箱


化工儀器網(wǎng)>技術(shù)中心>工作原理>正文

歡迎聯(lián)系我

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

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

來(lái)源:廣州虹科電子科技有限公司   2024年07月10日 17:09  

在之前的兩篇文章中(文末往期回顧中可查看),我們主要介紹了功能模型接口FMI的主要組成部分和一些使用場(chǎng)景,今天就以康謀自動(dòng)駕駛仿真軟件aiSim為例,來(lái)展示一下如何建立一個(gè)FMU并實(shí)現(xiàn)基于UDP和FMI聯(lián)合仿真(co-simulation)數(shù)據(jù)通信。


一、相關(guān)配置

OS:Ubuntu22.05

仿真軟件:aiSim 5.2.0


首先是要構(gòu)建所需要的FMU,在一些動(dòng)力學(xué)仿真軟件上,如CarSim,可以直接導(dǎo)出動(dòng)力學(xué)模型對(duì)應(yīng)的FMU文件,但本次我們基于C++從零構(gòu)建FMU文件。


需要編輯的6份文件分別是:

  • fmi_simple_car.cpp:根據(jù)FMI2.0標(biāo)準(zhǔn)實(shí)現(xiàn)一個(gè)車輛模型

  • simple_car.h:車輛模型的頭文件

  • simple_car.cpp:車輛模型的實(shí)現(xiàn)文件

  • value_reference_ids.h:定義值應(yīng)用ID的頭文件

  • modelDescription.xml:定義FMU結(jié)構(gòu)的根文件

  • simple_car_fmu.json文件:用于將構(gòu)建的FMU文件映射到aiSim的車輛動(dòng)力學(xué)中(非構(gòu)建FMU所必須)


二、操作步驟

首先是fmi_simple_car.cpp文件主要包含了6個(gè)部分,最終實(shí)現(xiàn)為模擬控制一個(gè)簡(jiǎn)單的車輛模型,包括了實(shí)例化、設(shè)置參數(shù),執(zhí)行仿真步驟以及獲取和設(shè)置模型參數(shù)的功能。


頭文件:

  • include "fmi2Functions.h" (是FMI2.0標(biāo)準(zhǔn)的頭文件,請(qǐng)參考FMI)

  • include

  • include

  • include "simple_car.h"


1、實(shí)例化

實(shí)例化FMU,在之前的文章中我們以C語(yǔ)言為例,本次采用C++來(lái)做示范。

fmi2Component fmi2Instantiate(  

fmi2String /*實(shí)例名稱*/,

fmi2Type fmuType /*實(shí)例類型(ME/CO)*/,

fmi2String /*標(biāo)識(shí)符*/,

fmi2String /*資源位置*/,

const fmi2CallbackFunctions* /*回調(diào)函數(shù)*/,

fmi2Boolean /*是否可見*/,

fmi2Boolean /*是否啟用日志*/)

{/*此處可以與用判斷車輛實(shí)例是否在使用、檢查FMU的類型是ME模型交換還是CO聯(lián)合仿真、執(zhí)行實(shí)例化車輛*/

car_is_used = True; //預(yù)先設(shè)置的標(biāo)志變量,用于表示表示車輛是否正在使用

returen &only_one_car; //預(yù)先定義的全局SimpleCar對(duì)象only_one_car

}


2、FMU交互

實(shí)例化完成后,我們要實(shí)現(xiàn)一系列函數(shù)用于FMU交互的具體實(shí)現(xiàn),主要包含獲取和設(shè)置變量,執(zhí)行仿真步驟等。


① 獲取類型

獲取實(shí)數(shù),通過(guò)遍歷引用數(shù)組vr,獲取對(duì)應(yīng)的值并存儲(chǔ)。

fmi2Status fmi2GetReal(fmi2Component /*c*/, const fmi2ValueReference vr[], size_t nvr, fmi2Real value[]){

for (size_t i = 0; i<nvr; ++i)    {

value[i] = only_one_car.GetValue(vr[i]);  

}  

return fmi2OK;

}

同樣還能夠?qū)崿F(xiàn)獲取整數(shù)、布爾值和字符串值。


② 設(shè)置類型

設(shè)置實(shí)數(shù),同樣通過(guò)only_one_car.SetValue(vr[i], value[i])設(shè)置對(duì)應(yīng)的值。

fmi2Status fmi2SetReal(fmi2Component /*c*/, const fmi2ValueReference vr[], size_t nvr, const fmi2Real value[]){

for (size_t i = 0; i<nvr; ++i)    {

only_one_car.SetValue(vr[i], value[i]);

}

return fmi2OK;

}

同樣還能夠?qū)崿F(xiàn)獲取整數(shù)、布爾值和字符串值。


③ 執(zhí)行仿真

獲取實(shí)聯(lián)合仿真函數(shù)(CO),可以是根據(jù)之前實(shí)數(shù)和證書引入導(dǎo)數(shù)計(jì)算,又或是引入仿真步驟的執(zhí)行和取消數(shù),通過(guò)遍歷引用數(shù)組vr,獲取對(duì)應(yīng)的值并存儲(chǔ)。

比如執(zhí)行仿真步驟,其中DoStep將會(huì)在Simple_car.cpp中實(shí)現(xiàn):

fmi2Status fmi2DoStep(fmi2Component /*c*/, fmi2Real /*currentCommunicationPoint*/, fmi2Real communicationStepSize, fmi2Boolean /*newStep*/){    

log_to_file("fmi2DoStep()");    only_one_car.DoStep(communicationStepSize); 

return fmi2OK;

}

同樣還能夠?qū)崿F(xiàn)獲取整數(shù)、布爾值和字符串值。


3、初始化和釋放

除此之外,我們還需要注意在仿真過(guò)程中FMU實(shí)例的初始化和釋放。


比如我們可以簡(jiǎn)單的通過(guò)設(shè)置car_is_used= false實(shí)現(xiàn)實(shí)例的釋放,可以通過(guò)only_one_car = SimplerCar()來(lái)實(shí)現(xiàn)FMU的重置,其中SimplerCar類的具體實(shí)現(xiàn)在simple_car.cpp中。


以上就是基于FMI2.0實(shí)現(xiàn)車輛模型時(shí)所需的基本內(nèi)容,剩余的內(nèi)容我們將在后續(xù)的文章中進(jìn)行分享。

免責(zé)聲明

  • 凡本網(wǎng)注明“來(lái)源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來(lái)源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其他來(lái)源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
企業(yè)未開通此功能
詳詢客服 : 0571-87858618
主站蜘蛛池模板: 麻豆AV传媒蜜桃天美传媒| 国产精品1234久久久久久| 色婷婷综合中文久久一本| 色悠久久久久久久综合网| 99久久热这里只有精品| 日韩欧美三级理论片| 一个色综合久久| 久久青草亚洲AV无码麻豆| 欧美日韩精品一区在线不卡| 色综合91久久精品中文字幕| 一本大道熟女人妻中文字幕在线| 国产欧美精品亚洲日本一区| 第一次挺进苏雨瑶的身体电影| 麻豆视传媒高清完整版| 电影 国产 偷窥 亚洲 欧美| A欧美爰片久久毛片A片| 性做久久久久久中文字幕| 久久久国产精品va麻豆| 太子低喘闷哼顶弄H皇上| 国产日韩a在线观看| 男人天堂三级网| 男人天堂av在线国产| 精品久久久爽爽久久久AV| 韩日午夜在线资源一区二区| 精品人妻无码一区二区三区葡京| 国产人妻人伦AV又粗又一长| 影音先锋av资源库中文| 国产亚洲av网站| 国产你懂的视频在线观看| 无码色AV一二区在线播放| 国产精品久久久久久久午夜片| 热の综合热の国产热の潮在线| 欧美mv日韩mv国产mv网站| 欧美亚洲一区二区不卡| 美国av免费观看| 国产 亚洲 av| 亚洲成在人天堂网| A级无遮挡超级高清-在线观看| 男人和女人做爽爽视频免费| 亚洲成色A片77777在线小说| 波多野结衣无码在线视频|