無人車系統模擬相關軟體介紹-dSPACE
來自專欄無人車技術學習及應用25 人贊了文章
首先謝謝大家對我的關注
沒想到推薦學習資源會這麼受歡迎
以後如果碰到好的資源也會分享給大家的
今天本來是想簡單的介紹一下dSPACE的Automotive simulation models(簡稱ASM),但是想想還是把dSPACE這個公司的整個開發流程寫一下。這樣也可以了解一下汽車的整個軟體開發流程是什麼樣子,開發過程中一般會用到什麼東西以及開發標準是什麼。
介紹順序如下
1 dSPACE公司簡介
2 dSPACE的工具鏈
3 dSPACE的優缺點
4 總結
1 dSPACE公司簡介
不知道大家是否知道dSPACE公司。他們自稱為embedded success,聽起來可厲害了。
下面是公司主頁
主頁 - dSPACE在主頁瀏覽一圈,然後再進入汽車相關產品介紹,就可以看到下面的畫面。
通過這個頁面的介紹,相信大家也可以看出他們公司是做什麼的。關鍵詞有模擬,硬體在環,數據記錄,AUTOSAR, 虛擬駕駛。最核心就是模擬。他們是參與整個V-cycle開發的。也就是說,他們除了不給你提供無人駕駛相關的控制演算法以外,其他所有開發所需要的硬體,開發軟體(工具)都給你提供。所以,只要購買相關產品,我們就可以方便的利用他們的軟體包。這個跟matlab的toolbox 很類似。比如上面圖片的最左下角有個ADASIS V2 Horizon, 這個東西是一個正在開發的高精地圖標準協議(或者說是正在變成標準)。那麼這個辭彙為什麼會出現在他們的產品介紹裡面? 因為ADASIS V2 Horizon既然是個協議,他就需要按標準編碼解碼,然後提取數據。這些都需要人力去做。但是,dSPACE就提供(賣)這個協議的SIMULINK blockset。需要用到這個協議的公司就可以直接通過購買減少開發成本。這類商品就是dSPACE的收入來源。同理,開發無人車駕駛中所需要的CAN通訊,無線通訊,LAN通訊等等標準協議,都會被他們拿來打包成一個blockset, 然後再出售。
2 dSPACE的工具鏈
他們為什麼賣這種服務?這種服務為什麼會有市場?為什麼他們的開發工具敢賣那麼貴?這就需要對他們的產品有整個理解。
簡單來說,他們的研究人員把很多汽車軟體研發相關的軟體打包,出售。賣出的產品是library,他們稱之為庫,也稱之為Block set。 Block set 意味著模塊,也就是說他們是MBD(Model based design)的開發方式。也就是所有的演算法都以SIMULINK的方式構建的。
下圖就是dSPACE公司的高自由度汽車模擬模型ASM的SIMULINK截圖。
(每個模塊裡面還有很多很多subsystems)
為什麼非要在SIMULINK上構建演算法?在已有的代碼裡面添加內容不就完了么,幹嘛費勁的在SIMULINK裡面做?據我所知,這是因為ISO26262 功能安全標準裡面,規定了要用MBD。下圖是汽車開發的V-cycle(就是一種解釋開發順序的圖)。
下面來看看他們的提供的主要服務。
https://www.dspace.com/en/inc/home/products/products.cfm#filterterms=term-344
上圖中都是分散開解釋的,所以會覺得有很多內容。但是這些東西都可以通過他們的核心軟體model desk, motion desk, control desk(還有很多,只不過我只用過這些)。
整個工具核心就是ASM。也就是車輛模擬模型。在車輛模擬模型構建好的情況下,通過他們自己的model desk可以修改ASM模型裡面的參數。也就是說不用到每個SIMULINK的subsystem 挨個找相關參數,就可以直接在model desk 配置車輛參數。相信我, ASM可調節的參數詳細到整車廠估計都拿不出所有數據。(PC端)
下圖就是model desk的主頁面。裡面可以看到可以調節environment,vehicle dynamics,trailer,soft ecu, engine,drivetrain,eletric components…等等。其中很多東西就是需要額外購買相關block set才能用。圖片中這個是滿狀態的ASM。(PC端)
Motion desk 是可以通過model desk 生成的模型將其可視化的工具。也就是把車輛,周邊環境,周邊車輛,交通情況,行人等都可視化的工具。可以生成很複雜的交通環境。這裡沒什麼特別要交代的。(PC端)
以上所有的東西都是基於PC完成的。而汽車是嵌入式的系統,所以要生成c代碼。在modeldesk,我們可以選擇按照特定標準的協議生成代碼,然後需要把這些代碼build到real time embedded 系統中。一直到build 都是由pc端的model desk完成。但是一旦build,並將整個系統放入嵌入式設備之後,就沒有model desk能做的事情了。
但是嵌入式設備中跑的系統我們想觀察,有些參數我想更改,也要log 數據。那麼這步驟就是由control desk完成的。這嵌入式設備當然dSPACE也會提供。比如Autobox,DS1006 (嵌入式設備)。設備價格也是相當的貴。
那麼有些人就好奇,演算法build好了,在嵌入式設備中開始運行了,so WHAT? 之後就是最重要的部分了。這部分就是硬體在環模擬。
想像一下,如果一個整車廠要開發新的車,新的控制演算法。但是整車廠不可能說新車的所有部件都做出來後才開始開發軟體代碼。那麼就需要有一個虛擬的車可以讓工程師按照新開發的車輛調節數據。只要數據調節好了,我們就可以把這個虛擬的車當作真車來進行軟體測試。理論上,如果ASM足夠好的話,參數足夠的話,ASM應該可以提供跟真車一樣的行為。那麼把這個虛擬的車載入到嵌入式系統中的話,嵌入式系統中跑的其實就是真車一樣的虛擬車(包括周邊環境,感測器,車道等等內容)。這時候,我們只要在嵌入式系統提取I/O並連接到整車廠開發的ECU,那麼對於開發的ECU來說,它就是接收到了跟真車行駛時候一樣的input。工程師就可以通過ECU的反饋來判斷開發的軟體是否有問題。
這就是dSPACE整個工具鏈。
所有的一切都是為了最後做硬體在環模擬。
但是!我們研究無人車的話,可以參考dSPACE的ASM學習車輛動力學相關知識。那真的詳細到不能再詳細了。我們可以理解車輛的每一步的控制邏輯。理解好了,再去配合場景構建+感測器的行駛環境,構建虛擬駕駛環境,演算法就直接可以在SIMULINK構建。且因為是基於SIMULINK開發,測試好的代碼可以直接拿到別的支持MBD的地方使用。
dSPACE的工具鏈對於無人車研究起到的作用跟prescan很類似,感測器+虛擬環境+汽車動力學模擬。但是prescan不提供硬體,block set(CAN block set,satellite block set, ADASIS v2 Horizon, Wireless communiation)這種東西。所以做試車實驗什麼的話,dSPACE會更加方便一些。也會更貴一些。
有時候感覺,光看他們的產品就可以知道汽車軟體開發要幹些什麼。。。
3 dSPACE的優缺點
優點:
複雜度很高,可以調節各種參數
軟體硬體延伸性很好
MBD可以讓每個邏輯的來龍去脈都變得很清晰
提供汽車相關產業的幾乎所有眼神服務
缺點:
貴,貴,貴,啥都得買
太複雜
學起來費勁
服務產品概念很抽象(理解他們為啥敢賣賣的這麼貴,就花了我很長時間)
4 總結
今天簡單講了下dSPACE的工具鏈。詳細的內容其實都在他們的官網裡。
對於無人車系統開發,其實和prescan的區別並不大。但是如果涉及到實車測試什麼的,dSPACE的工具鏈就要強大很多了。因為他們提供的是產業從頭到尾的解決方案,而prescan和carsim只是個軟體。這也是為什麼他們敢賣那麼貴的原因,因為從頭到尾的服務基本沒什麼公司在做。
謝謝支持,各位看官的關注就是持續更新的動力~
看完就別吝嗇點贊加關注啦~
同時也希望朋友往咱們專欄投稿,讓我們在無人車演算法的造詣上不停的成長~!
20180620 林明
推薦閱讀:
※AI與「色狼」的中場戰事
※人機對話的璀璨之光
※分類模型的評估(一)
※什麼是人工智慧?終於說明白了
※第一批被AI "變臉 "的人!