91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳談自動駕駛汽車CAN總線數(shù)字孿生建模(二)

上??匕?/a> ? 來源:上??匕?/span> ? 作者:上??匕?/span> ? 2021-04-28 17:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

標注:本文來自本實驗室單超的研究成果。

整體思路:仿真模型通過python打開并運行之后,會啟動Carla, 使用Carla API 獲取汽車的相關(guān)數(shù)據(jù)之后,啟動matplotlib繪制線程,將Carla提供的數(shù)據(jù)輸進模型,再從matlab的worksapce通過接口獲取輸出結(jié)果并繪制。

python調(diào)用仿真模型

Matlab提供python API供外部調(diào)用,本文將需要使用的matlab功能封裝成類的形式進行調(diào)用。Matlab class用于連接Matlab軟件并對模型輸入數(shù)據(jù)獲取輸出結(jié)果,其中connectToMatlab方法通過Matlab命令行啟動Simulink運行仿真模型,simulate方法用于把數(shù)據(jù)輸入模型,之后將輸出結(jié)果以數(shù)組形式存入實例變量中。

python控制Carla客戶端

python腳本啟動的Carla客戶端以pygame庫作為媒介,實現(xiàn)用戶輸入和Carla服務(wù)端交互的各種功能,再將最新的結(jié)果渲染并繪制到pygame的用戶界面中。初始需要先將Carla服務(wù)端啟動,暴露本地2000端口用于客戶端連接。獲取到初始化的 pygame.display實例后進入循環(huán)渲染階段,此時鍵盤的輸入作為pygame的事件觸發(fā)parse_events方法調(diào)用

數(shù)據(jù)提取

建模部分提到,simulink CAN 仿真模型主要傳輸?shù)氖擒囁?、轉(zhuǎn)向角、檔位三種數(shù)據(jù)報文。所有的數(shù)據(jù)來源于以下三個實例:

車速:車速V(km/h)計算方式為 V = 3.6 * √(x^2 + y^2 + z^2 ) (其中x、y、z表示前/后、左/右、上/下方向的速度矢量,單位為m/s)。

檔位:檔位共分為R、P、D三檔,分別代表倒車、停車、直行,檔位的判斷依據(jù)汽車的行駛狀態(tài)來定,因此檔位的數(shù)據(jù)源需要汽車車速和倒車參數(shù)來判定。

轉(zhuǎn)向角度:轉(zhuǎn)向角可以直接從實例中獲取。

實時數(shù)據(jù)展示

上文已經(jīng)解決了模型實時輸入實時輸出問題,那么當獲取到仿真模型的輸出結(jié)果時,該結(jié)果是以數(shù)組的形式記錄從仿真開始到當前時間的所有結(jié)果,所以每次獲取到結(jié)果后都需要重新依據(jù)新的數(shù)據(jù)樣本進行繪制,由于python是Carla和Simulink數(shù)據(jù)傳輸?shù)拿浇?,因此最好的解決方案是基于python的繪圖工具實時繪制。本文采用python Matplotlib庫以實現(xiàn)該需求。

繪制代碼實現(xiàn)

由于繪制的是模型的輸出結(jié)果,現(xiàn)針對輸出的車速數(shù)據(jù)繪制相應的實時變化曲線,為了做到良好的代碼風格,增加代碼復用率,本文將一系列繪制相關(guān)的方法集中到Draw類里。

實時仿真并繪制

本部分將結(jié)合前面的實驗結(jié)果,將所有對接Carla的python模塊、對接Matlab/Simulink的python模塊、實時繪制相關(guān)的python模塊都組合起來運行。

車速實時變化

實時模擬時長為60秒,60秒內(nèi),汽車的速度變化曲線在圖像中持續(xù)不斷地刷新,直到60秒到為止。

從圖中可以看出,經(jīng)過仿真模型模擬出來的速度數(shù)據(jù)和原數(shù)據(jù)基本一致,說明模型的CAN報文解封裝過程順利執(zhí)行,但是在車速的轉(zhuǎn)折點存在模型的模擬結(jié)果比原數(shù)據(jù)更平滑的問題,很明顯是由于原數(shù)據(jù)輸入過于頻繁,兩個相鄰的輸入時間間隔小于模型最小采樣時間,而采樣時間不能進一步縮小,否則會導致該時間段內(nèi)無正確模擬結(jié)果輸出。

檔位實時變化

時長為60秒,手動控制汽車行駛,共嘗試兩個檔位,P和D、分別代表泊車和直行,對應參數(shù)為17和20,泊車后發(fā)送單個P檔位報文,到車輛開始直行這段時間不發(fā)送任何報文,直行后會依據(jù)汽車的速度反饋不斷發(fā)送D檔位報文。從圖中可以看出,由于原數(shù)據(jù)變化的不是非常頻繁,模型模擬出來的結(jié)果完全匹配了原數(shù)據(jù),說明輸入頻率遠小于模型采樣頻率會使模擬結(jié)果貼合預期結(jié)果。

轉(zhuǎn)向角度實時變化

時長60秒,手動控制汽車行駛,并控制輪胎左右轉(zhuǎn)向,向左角度為負,向右角度為正,值位于[-100, 100]區(qū)間內(nèi)。由圖可知,轉(zhuǎn)向角變化數(shù)據(jù)更新十分頻繁,仿真模型在處理大量的輸入時必然會卡頓并拋棄大量數(shù)據(jù),使得模擬結(jié)果沒有很好地貼合原數(shù)據(jù),因此在高頻輸入的前提下,模型模擬結(jié)果無法完全貼合預期。

小結(jié)

本文介紹了基于Carla自動駕駛模擬仿真平臺構(gòu)造Simulink CAN仿真模型并結(jié)合python API及其繪圖工具庫matplotlib的一整套實時仿真流程的設(shè)計和實現(xiàn)細節(jié),實際模擬了虛擬汽車車速,檔位、轉(zhuǎn)向角度三個信息在CAN中的解封裝和傳遞。發(fā)現(xiàn)在低頻的數(shù)據(jù)輸入場景下,模型能做到貼合實際結(jié)果,而在高頻輸入數(shù)據(jù)場景下,模型容易運行卡頓并在多個時間點輸出無效數(shù)據(jù),拋棄這些數(shù)據(jù)后模擬結(jié)果相對于預期結(jié)果顯得平滑,無法體現(xiàn)預期結(jié)果中的峰值。

fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 自動駕駛
    +關(guān)注

    關(guān)注

    794

    文章

    14928

    瀏覽量

    180614
  • 數(shù)字孿生
    +關(guān)注

    關(guān)注

    4

    文章

    1673

    瀏覽量

    14004
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何構(gòu)建適合自動駕駛的世界模型?

    [首發(fā)于智駕最前沿微信公眾號]世界模型經(jīng)歷了系統(tǒng)動力學階段(1960年~2000年)、認知科學階段(2001年~2017年)、深度學習階段(2018年至今),但將其應用到自動駕駛汽車上,還是近幾年才
    的頭像 發(fā)表于 02-18 08:14 ?1.1w次閱讀
    如何構(gòu)建適合<b class='flag-5'>自動駕駛</b>的世界模型?

    自動駕駛汽車如何完成超車?

    在我們?nèi)粘i_車時,別人想要超車,只要確認后方、旁邊有沒有車,打個燈、稍微加速、換個車道就完成了。這一動作乍一看非常簡單,但對自動駕駛汽車來說,這個過程需要多方協(xié)調(diào)。 自動駕駛車輛要完成超車動作,必須
    的頭像 發(fā)表于 02-16 17:37 ?1.7w次閱讀
    <b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>如何完成超車?

    自動駕駛汽車如何實現(xiàn)自動駕駛

    人類駕駛員而言是非常直觀且有效的指令,但對于自動駕駛汽車來說,則意味著需要一套極其復雜的感知、理解與決策鏈路。 自動駕駛如何看清文字? 自動駕駛
    的頭像 發(fā)表于 02-10 08:50 ?690次閱讀
    <b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>如何實現(xiàn)<b class='flag-5'>自動駕駛</b>

    2026年自動駕駛汽車發(fā)展趨勢前瞻

    自動駕駛汽車會使用人工智能嗎?答案是肯定的。人工智能(AI)是自動駕駛汽車運行的基石,它使車輛能夠平穩(wěn)、安全地在道路上正常行駛,適應實時交通狀況,并做出瞬間的決策,確保道路交通安全,是
    的頭像 發(fā)表于 02-05 09:38 ?3806次閱讀
    2026年<b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>發(fā)展趨勢前瞻

    CAN XL 技術(shù)解析:從協(xié)議演進到自動駕駛數(shù)據(jù)采集應用實踐

    汽車電子與工業(yè)自動化領(lǐng)域,CAN 總線技術(shù)始終是數(shù)據(jù)傳輸?shù)暮诵闹е?。隨著自動駕駛、車聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,傳統(tǒng)
    的頭像 發(fā)表于 12-22 17:39 ?761次閱讀
    <b class='flag-5'>CAN</b> XL 技術(shù)解析:從協(xié)議演進到<b class='flag-5'>自動駕駛</b>數(shù)據(jù)采集應用實踐

    汽車自動駕駛的太陽光模擬應用研究

    測試裝備,通過提供可控、可重復的測試環(huán)境,已成為汽車自動駕駛研發(fā)、驗證與標定過程中不可或缺的核心工具。汽車自動駕駛的光挑戰(zhàn)與測試需求luminbox
    的頭像 發(fā)表于 12-10 18:04 ?498次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>自動駕駛</b>的太陽光模擬應用研究

    自動駕駛汽車如何確定自己的位置和所在車道?

    [首發(fā)于智駕最前沿微信公眾號]我們平時開車時,判斷自己在哪條路、哪個車道,只需要看一眼導航、掃幾眼車道線、再聽聽提示就夠了。但對自動駕駛汽車來說,這件事既簡單又復雜。簡單在于自動駕駛汽車
    的頭像 發(fā)表于 11-18 09:03 ?961次閱讀
    <b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>如何確定自己的位置和所在車道?

    不同等級的自動駕駛技術(shù)要求上有何不同?

    談到自動駕駛,不可避免地會涉及到自動駕駛分級,美國汽車工程師學會(SAE)根據(jù)自動駕駛系統(tǒng)與人類駕駛員參與
    的頭像 發(fā)表于 10-18 10:17 ?2769次閱讀

    如何確保自動駕駛汽車感知的準確性?

    [首發(fā)于智駕最前沿微信公眾號]自動駕駛汽車想要自動駕駛,首先要做的就是能對周邊環(huán)境實現(xiàn)精準感知,也就是能“看”清道路,那自動駕駛汽車如何在復
    的頭像 發(fā)表于 08-23 15:06 ?1736次閱讀
    如何確保<b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>感知的準確性?

    塑造自動駕駛汽車格局的核心技術(shù)

    自動駕駛汽車長期以來一直是科幻小說中的情節(jié),但在如今的2025年,它似乎已經(jīng)離我們越來越近,智能輔助駕駛已經(jīng)出現(xiàn)在越來越多的新能源汽車中。但距離完全的
    的頭像 發(fā)表于 08-21 16:03 ?1006次閱讀

    自動駕駛汽車是如何準確定位的?

    [首發(fā)于智駕最前沿微信公眾號]隨著自動駕駛技術(shù)的快速發(fā)展,車輛的精準定位成為安全駕駛與路徑規(guī)劃的核心基礎(chǔ)。相比于傳統(tǒng)人類駕駛依賴路標和視覺判斷,自動駕駛
    的頭像 發(fā)表于 06-28 11:42 ?1352次閱讀
    <b class='flag-5'>自動駕駛</b><b class='flag-5'>汽車</b>是如何準確定位的?

    自動駕駛安全基石:ODD

    電子發(fā)燒友網(wǎng)綜合報道 自動駕駛ODD(Operational Design Domain)即設(shè)計運行域,是指自動駕駛系統(tǒng)被設(shè)計為安全、有效運行的具體條件范圍。它定義了自動駕駛汽車在哪些
    的頭像 發(fā)表于 05-19 03:52 ?6660次閱讀