【導(dǎo)讀】使用 MATLAB 和 Simulink 設(shè)計(jì)和構(gòu)建 Rivian 車(chē)輛仿真界面平臺(tái)幫助我們實(shí)現(xiàn)了關(guān)鍵目標(biāo)。我們?yōu)楣こ處熀头枪こ處焺?chuàng)建了統(tǒng)一平臺(tái),用于運(yùn)行整車(chē)仿真、后處理結(jié)果和創(chuàng)建報(bào)告。
使用 MATLAB 和 Simulink 設(shè)計(jì)和構(gòu)建 Rivian 車(chē)輛仿真界面平臺(tái)幫助我們實(shí)現(xiàn)了關(guān)鍵目標(biāo)。我們?yōu)楣こ處熀头枪こ處焺?chuàng)建了統(tǒng)一平臺(tái),用于運(yùn)行整車(chē)仿真、后處理結(jié)果和創(chuàng)建報(bào)告。
整個(gè)汽車(chē)行業(yè)的工程師越來(lái)越依賴(lài)仿真來(lái)評(píng)估操控性能、加速性能、續(xù)航里程和其他關(guān)鍵性能指標(biāo)。與物理測(cè)試相比,通過(guò)仿真來(lái)評(píng)估車(chē)輛性能速度更快,成本也更低。整車(chē)仿真還有助于設(shè)計(jì)工作在原型硬件可用之前在開(kāi)發(fā)過(guò)程中盡早進(jìn)行。然而,隨著車(chē)輛仿真的成本和效率優(yōu)勢(shì)在組織內(nèi)日趨明顯,仿真需求的增加使得車(chē)輛仿真面臨一系列挑戰(zhàn)。
考慮到與商業(yè)仿真軟件對(duì)接和運(yùn)行整車(chē)仿真所帶來(lái)的復(fù)雜性,需要擁有一支專(zhuān)門(mén)的仿真工程師團(tuán)隊(duì),他們具備必要的專(zhuān)業(yè)知識(shí)。然而,該團(tuán)隊(duì)可能很快會(huì)因各利益相關(guān)者的要求而不堪重負(fù),這些利益相關(guān)者包括屬性工程師、性能工程師、動(dòng)力學(xué)工程師、續(xù)航里程和效率工程師以及高級(jí)管理人員。簡(jiǎn)單地執(zhí)行這些團(tuán)隊(duì)要求的多個(gè)仿真也可能成為瓶頸,特別是當(dāng)這些仿真連續(xù)地在商業(yè)軟件上運(yùn)行時(shí)更是如此。最后,由于缺乏標(biāo)準(zhǔn)化的車(chē)輛數(shù)據(jù),加上對(duì)仿真結(jié)果的臨時(shí)后處理,這使得工程師爭(zhēng)相獲取黃金源數(shù)據(jù)和采用獲準(zhǔn)的方法來(lái)報(bào)告結(jié)果,從而加劇了這些困難。
在 Rivian,我們的團(tuán)隊(duì)開(kāi)發(fā)了可擴(kuò)展、易于使用的平臺(tái),用于配置、運(yùn)行和后處理大量整車(chē)仿真。此車(chē)輛仿真界面(VSI)平臺(tái)是使用 MATLAB? 和 Simulink? 開(kāi)發(fā)的,有助于減少冗余,提高復(fù)用性,并通過(guò)并行處理提高仿真吞吐量。借助使用 App 設(shè)計(jì)工具構(gòu)建的直觀用戶(hù)界面,該平臺(tái)還讓整個(gè)公司的工程團(tuán)隊(duì)都能輕松實(shí)現(xiàn)仿真,從而消除了仿真請(qǐng)求瓶頸(圖 1)。
圖 1.VSI 用戶(hù)界面。
本文介紹我們?nèi)绾问褂妹嫦驅(qū)ο蟮脑瓌t設(shè)計(jì) VSI,如何利用它來(lái)使仿真更平等普及,以及如何使用并行處理來(lái)擴(kuò)展仿真工作量。
VSI 的面向?qū)ο蟮脑O(shè)計(jì)
當(dāng)我們開(kāi)始設(shè)計(jì) VSI 平臺(tái)時(shí),面向?qū)ο蟮姆椒@然是實(shí)現(xiàn)靈活性、可擴(kuò)展性和復(fù)用性等目標(biāo)的最直接方法。我們首先明確定義了幾個(gè)基本對(duì)象:Vehicle、Load Case 和 Simulation。在這種情形下,Vehicle 對(duì)象用于表示 Rivian 車(chē)輛,例如 Rivian R1T、Rivian R1S 或 Rivian EDV(我們的電動(dòng)貨車(chē))。此對(duì)象還表示車(chē)輛的配置,用于定義特定的電池組、動(dòng)力總成系統(tǒng)、輪胎、前后驅(qū)動(dòng)裝置和其他組件。Load Case 對(duì)象用于定義仿真場(chǎng)景,包括速度曲線(xiàn)、環(huán)境條件和駕駛工況。而 VSI Simulation 對(duì)象只是 Vehicle 實(shí)例與特定 Load Case 的組合(圖 2)。
圖 2.VSI 仿真包括特定車(chē)輛配置和預(yù)定義的測(cè)試場(chǎng)景。
從編程的角度來(lái)看,可將 Simulation 的概念視為構(gòu)成 VSI 平臺(tái)基礎(chǔ)框架的超類(lèi)。此超類(lèi)的屬性包括可以通過(guò)用戶(hù)界面選擇的車(chē)輛配置和測(cè)試場(chǎng)景屬性,以及一組用于創(chuàng)建模型、運(yùn)行仿真、執(zhí)行后處理、提取度量和共享結(jié)果的方法(圖 3)。借助 MATLAB 的面向?qū)ο蟮木幊坦δ?,我們可以輕松地針對(duì) VSI 平臺(tái)創(chuàng)建這種類(lèi)結(jié)構(gòu)體的實(shí)現(xiàn)。MATLAB 句柄對(duì)象尤其適用于封裝仿真中包含的所有信息(不僅包括車(chē)輛和測(cè)試場(chǎng)景,還包括用戶(hù)設(shè)置、結(jié)果和度量),并在 VSI 內(nèi)高效傳輸這些信息,而無(wú)需復(fù)制數(shù)據(jù)。這些對(duì)象隨后可以轉(zhuǎn)換為元數(shù)據(jù)文本文件并進(jìn)行存檔,使我們能夠通過(guò)從元數(shù)據(jù)重新構(gòu)造對(duì)象來(lái)重新創(chuàng)建任何歷史仿真。
圖 3.VSISim 超類(lèi),包括仿真輸入和執(zhí)行方法。
使仿真更平等普及和最大化復(fù)用
我們已將 VSI 部署為 MATLAB 工具箱和獨(dú)立可執(zhí)行文件(用 MATLAB Compiler? 編譯),可供未安裝 MATLAB 的同事使用。由于可以輕松訪(fǎng)問(wèn) VSI,團(tuán)隊(duì)不再需要等待 Simulink 工程師來(lái)運(yùn)行仿真并獲得結(jié)果。
VSI 界面的左側(cè)(如圖 1 所示)用于選擇車(chē)輛配置和測(cè)試場(chǎng)景,而界面的右側(cè)顯示用不同顏色表示的仿真列表。紅色表示尚未運(yùn)行的仿真,綠色表示已完成的仿真,琥珀色表示已完成的仿真以及過(guò)期結(jié)果(例如,當(dāng)新組件數(shù)據(jù)可用或模型修訂時(shí),可能會(huì)發(fā)生這種情況)。值得注意的是,VSI 的仿真結(jié)果是共享的;工程師可能會(huì)發(fā)現(xiàn)他們要運(yùn)行的仿真已由本團(tuán)隊(duì)或完全不同的團(tuán)隊(duì)中的某個(gè)人完成。工程師可以利用已有的仿真結(jié)果,避免運(yùn)行相同且不必要的仿真,從而節(jié)省時(shí)間和計(jì)算資源。
在定義并選擇了要運(yùn)行的仿真后,工程師可點(diǎn)擊標(biāo)有 Run&Post-Process 的按鈕(如圖 1 所示)。仿真是結(jié)合使用 Simulink 和商業(yè)仿真軟件在后臺(tái)通過(guò) MATLAB API 啟動(dòng)的(圖 4)。
圖 4.集群仿真的工作流程圖,以及顯示五個(gè)調(diào)度仿真的 VSI 界面(以藍(lán)色突出顯示)。紫色狀態(tài)表示仿真正在進(jìn)行中;紅色狀態(tài)則表示仿真已完成。
在單個(gè)仿真完成后,記錄的數(shù)據(jù)會(huì)發(fā)送回 MATLAB 工作區(qū)進(jìn)行處理,然后轉(zhuǎn)換為 Apache? Parquet 數(shù)據(jù)文件格式,并最終存檔在共享目錄中。我們還開(kāi)發(fā)了一套 MATLAB 腳本,用于匯總結(jié)果以生成關(guān)鍵度量,根據(jù)我們的需求管理系統(tǒng)中設(shè)置的目標(biāo)報(bào)告仿真狀態(tài),并生成自動(dòng)報(bào)告來(lái)概括關(guān)鍵性能指標(biāo),以供 Rivian 高級(jí)管理層參考。
通過(guò)并行處理實(shí)現(xiàn)擴(kuò)展
在 VSI 用戶(hù)界面中,工程師可以選擇使用本地計(jì)算機(jī)上的多個(gè)內(nèi)核來(lái)并行運(yùn)行仿真,也可以選擇使用遠(yuǎn)程 Amazon? Web Services(AWS?)集群來(lái)執(zhí)行此操作(圖 5)。本地方法利用了 Parallel Computing Toolbox?,它是工程師在測(cè)試模型更新和更改時(shí)最常選用的方法。遠(yuǎn)程方法基于運(yùn)行 MATLAB Parallel Server? 的 AWS EC2 實(shí)例,適用于具有已經(jīng)過(guò)測(cè)試和驗(yàn)證的模型的生產(chǎn)環(huán)境。
圖 5.用于并行處理的 VSI 選項(xiàng)。
在遠(yuǎn)程并行工作流中,MATLAB Parallel Server 和 MATLAB 作業(yè)調(diào)度器發(fā)揮著重要作用。VSI 先從 MATLAB Parallel Server 調(diào)用 parcluster 函數(shù),以根據(jù)我們所定義的 AWS EC2 配置文件創(chuàng)建一個(gè)集群對(duì)象。在為要并行運(yùn)行的每個(gè)仿真創(chuàng)建了一個(gè)仿真對(duì)象后,VSI 將在集群上創(chuàng)建一個(gè)作業(yè),并為每個(gè)仿真創(chuàng)建一個(gè)單獨(dú)的任務(wù)。該作業(yè)及其任務(wù)通過(guò) MATLAB 作業(yè)調(diào)度器提交到 AWS EC2 實(shí)例。該調(diào)度器可協(xié)調(diào)作業(yè)的執(zhí)行,并將任務(wù)分配給各個(gè)集群工作進(jìn)程。當(dāng)仿真完成時(shí),MATLAB 后處理函數(shù)會(huì)在集群上運(yùn)行,然后結(jié)果再進(jìn)行存檔和共享。對(duì)于大型作業(yè),例如涉及 14 個(gè)冗長(zhǎng)仿真的作業(yè),遠(yuǎn)程并行方法要快得多,在 68 分鐘內(nèi)即可完成作業(yè),而依序方法需要 9 個(gè)多小時(shí)(圖 6)。
圖 6.依序(黃色)、本地并行(藍(lán)色)和遠(yuǎn)程并行(紅色)方法的基準(zhǔn)仿真時(shí)間。
在過(guò)去的六個(gè)月里,我們?cè)?nbsp;Rivian 的同事已使用 VSI 進(jìn)行了 9,000 多次整車(chē)仿真,總共模擬行駛了大約 200 萬(wàn)英里。
計(jì)劃的改進(jìn)
使用 MATLAB 和 Simulink 設(shè)計(jì)和構(gòu)建 VSI 平臺(tái)幫助我們實(shí)現(xiàn)了關(guān)鍵目標(biāo)。我們?yōu)楣こ處熀头枪こ處焺?chuàng)建了統(tǒng)一平臺(tái),用于運(yùn)行整車(chē)仿真、后處理結(jié)果和創(chuàng)建報(bào)告。我們消除了仿真請(qǐng)求瓶頸,減少了仿真任務(wù)中的冗余,并提高了仿真復(fù)用性。此外,我們還通過(guò)支持在 AWS 集群或本地工作站的多個(gè)內(nèi)核上并行運(yùn)行仿真,最大程度地提高了吞吐量。
我們計(jì)劃對(duì) VSI 做出大量改進(jìn),包括將該平臺(tái)部署為 Web 應(yīng)用,為關(guān)鍵性能指標(biāo)添加儀表板,以及簡(jiǎn)化從用戶(hù)界面使用試驗(yàn)設(shè)計(jì)(DOE)的過(guò)程。與此同時(shí),我們還在繼續(xù)開(kāi)發(fā)和擴(kuò)展 Rivian 的 MATLAB Minimart,這是內(nèi)部構(gòu)建的 MATLAB 工具箱集合,用于數(shù)據(jù)轉(zhuǎn)換和查看、啟動(dòng)和制動(dòng)分析,以及各種其他經(jīng)常需要的功能。
(來(lái)源:MathWorks,作者:Adithya Vignesh Jayaraman,Rivian)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀:
半導(dǎo)體創(chuàng)新如何塑造邊緣 AI 的未來(lái)
E頻段無(wú)線(xiàn)射頻鏈路為5G網(wǎng)絡(luò)提供高容量回程解決方案-第一部分
如何快速而經(jīng)濟(jì)高效地將藍(lán)牙 5.3 添加至邊緣物聯(lián)網(wǎng)設(shè)計(jì)