機(jī)器人模擬是每個機(jī)器人工具箱中的重要工具。精心設(shè)計(jì)的模擬器可以快速測試算法,設(shè)計(jì)機(jī)器人,執(zhí)行回歸測試,并使用逼真的場景訓(xùn)練AI系統(tǒng)。無人駕駛汽車作為輪型機(jī)器人,它的安全性和可靠性同樣需要通過海量的功能和性能測試來保證。本文概述了現(xiàn)在普遍被用來做自動駕駛仿真模擬/離線測試的軟件。
無人駕駛汽車真實(shí)上路后所要面臨的外部環(huán)境是復(fù)雜多變的。通過利用仿真模擬軟件可以檢查算法,也可以訓(xùn)練無人車面對不同場景下的感知、決策等算法。
模擬平臺有很多種,如果分類的話,可以分為兩種:開源和收費(fèi)的。從技術(shù)上分,也主要有兩種:第一種是基于合成數(shù)據(jù)對環(huán)境、感知以及車輛進(jìn)行模擬,這種模擬器主要用于控制與規(guī)劃算法的初步開發(fā)上;第二種是基于真實(shí)數(shù)據(jù)的回放以測試無人駕駛不同部件的功能及性能。
開源模擬平臺
Gazebo
Gazebo平臺可以提供在復(fù)雜的室內(nèi)和室外環(huán)境中準(zhǔn)確有效地模擬訓(xùn)練機(jī)器人的能力。它擁有一個強(qiáng)大的物理引擎,高品質(zhì)的圖形,方便的編程和圖形界面。最重要的是,Gazebo是一個充滿活力的社區(qū)免費(fèi)。三維機(jī)器人模擬器Gazebo一般結(jié)合機(jī)器人操作系統(tǒng)ROS來測試。
優(yōu)點(diǎn):
1.動力學(xué)仿真
可以連接多個高性能物理引擎,包括ODE,Bullet,Simbody和DART。
2.先進(jìn)的3D圖形
Gazebo利用OGRE提供逼真的渲染環(huán)境,包括高質(zhì)量的照明,陰影和紋理。
3.傳感器和噪音
從激光測距儀,2D / 3D攝像機(jī),Kinect風(fēng)格的傳感器,接觸式傳感器,力矩等等生成傳感器數(shù)據(jù),可選的噪音。
4.插件
可開發(fā)機(jī)器人,傳感器和環(huán)境控制的自定義插件。插件可直接訪問Gazebo的API。
5.機(jī)器人模型
提供了許多機(jī)器人,包括PR2,Pioneer2 DX,iRobotCreate和TurtleBot。 或者使用SDF構(gòu)建你自己的。
6.命令行工具
廣泛的命令行工具有利于模擬內(nèi)省和控制。
7.云模擬
通過運(yùn)用Gazebo的功能來整合現(xiàn)有的模型和傳感器。
應(yīng)用:
在無人駕駛車輛測試方面,github上有人用ROS動能和Gazebo 8做過一個Car Demo,車輛的油門、剎車、轉(zhuǎn)向和傳動都是通過一個ROS系統(tǒng)去控制。所有傳感器數(shù)據(jù)都是通過ROS發(fā)布,并且可以用RVIZ可視化。利用Gazebo功能整合現(xiàn)有的模型和傳感器,構(gòu)建城市模型和一個高速公路交互場景,垃圾箱、交通錐和加油站等都來自Gazebo模型庫。在車頂處搭載一個16線激光雷達(dá),8個超聲波傳感器,4個攝像頭和2個平面激光雷達(dá)。代碼可以從Github 網(wǎng)址得到。通過Nvidia-docker并從Docker Hub中提取osrt/car_demo進(jìn)行嘗試。該平臺基于C++開發(fā),系統(tǒng)要求ROS+Ubuntu環(huán)境。
相關(guān)鏈接:https://github.com/osrf/car_demo
EuroTruck Simulator 2
Euro Truck Simulator 2 本身是一個卡車模擬經(jīng)營類游戲,可以通過代碼訓(xùn)練和運(yùn)行自動駕駛汽車,。通過AI輸出的結(jié)果實(shí)現(xiàn)自動轉(zhuǎn)向、加速和剎車,可以用來強(qiáng)化學(xué)習(xí)訓(xùn)練車輛算法。它的缺點(diǎn)是只能控制上下左右四個方向鍵,不能設(shè)置方向盤的角度。
除了Euro Truck Simulator 2,還有The Open Racing Car Simulator游戲也可以被用來進(jìn)行自動駕駛汽車的訓(xùn)練。
應(yīng)用:gibbgub上有人做了Self-driving-truck項(xiàng)目,基本訓(xùn)練方法遵循接近原始的 Atri 論文中的強(qiáng)化學(xué)習(xí)標(biāo)準(zhǔn),此外該模型還試圖未來的狀態(tài)和獎勵。訓(xùn)練中還使用了一些手工創(chuàng)建的模型和自動生成的模型。
配置要求:
CPU: Core 2 Duo 2.2 GHz,
內(nèi)存:1 GB RAM (2 GB RAM - Vista/7)
顯卡:512 MB (GeForce 6800 or better)
硬盤:1.2 GB HDD
系統(tǒng):Windows、Mac OS X、SteamOS + Linux
編程:基于Python。
EuroTruck 下載地址:
鏈接:http://pan.baidu.com/s/1qXCb6o8 密碼:219x
Torcs
The Open Racing Car Simulator(TORCS)是一款開源3D賽車模擬游戲。是在Linux操作系統(tǒng)上廣受歡迎的賽車游戲。有50種車輛和20條賽道,簡單的視覺效果。用C和C++寫成,釋放在GPL協(xié)議下。
應(yīng)用:有人用深度學(xué)習(xí)框架Keras和深度強(qiáng)化學(xué)習(xí)算法DDPG去訓(xùn)練Torcs汽車。也有人使用gym_torcs庫,在python中直接調(diào)用torcs,接口類似于OpenAI的Gym。還有人做了基于DRL和TORCS的自動駕駛仿真系統(tǒng),
相關(guān)鏈接:
https://github.com/ugo-nama-kun/gym_torcs
https://www.jianshu.com/p/a3432c0e1ef2
https://www.cnblogs.com/Qwells/p/6379077.html
http://torcs.sourceforge.net/(數(shù)據(jù)集)
TORCS下載地址和安裝方法:
http://torcs.sourceforge.net/index.phpname=Sections&op=viewarticle&artid=3
Unity
自動駕駛汽車需要自動駕駛軟件來驅(qū)動,而在線教育公司Udacity(優(yōu)達(dá)學(xué)城)推出了面向自動駕駛開發(fā)的納米學(xué)位,來滿足目前汽車行業(yè)對自動駕駛軟件工程師旺盛的需求。近日,Udacity通過開源協(xié)議授權(quán)公開了它的自動駕駛汽車模擬器,有 Unity 技術(shù)背景的任何人都可以利用此模擬器的資源,載入軟件內(nèi)置場景或創(chuàng)建自己的虛擬測試路線。
該模擬器是為優(yōu)達(dá)自動駕駛,旨在教學(xué)生如何使用深度學(xué)習(xí)駕駛汽車,支持Linux、Mac、Windows環(huán)境,只需將數(shù)據(jù)庫復(fù)制到本地目錄,確保使用Git LFS 帶動大量的紋理和模型資源。
相關(guān)鏈接:
https://github.com/udacity/self-driving-car-sim
Carla
英特爾實(shí)驗(yàn)室聯(lián)合豐田研究院和巴塞羅那計(jì)算機(jī)視覺中心聯(lián)合發(fā)布CALRA,用于城市自動駕駛系統(tǒng)的開發(fā)、訓(xùn)練和驗(yàn)證的開源模擬器,支持多種傳感模式和環(huán)境條件的靈活配置,論文中詳細(xì)評估并比較了三種自動駕駛方法的性能。
CARLA的開發(fā)包括從最基礎(chǔ)的直到支持城市自動駕駛系統(tǒng)的開發(fā)、訓(xùn)練和驗(yàn)證。除了開源代碼和協(xié)議,CARLA還提供了為自動駕駛創(chuàng)建的開源數(shù)字資源(包括城市布局、建筑以及車輛),這些資源都是可以免費(fèi)獲取和使用的。
這個模擬平臺能夠支持傳感套件和環(huán)境條件的靈活配置。我們使用CARLA來研究三種自動駕駛方法的性能:傳統(tǒng)的模塊化流水線,通過模仿學(xué)習(xí)訓(xùn)練得到的端到端模型,通過強(qiáng)化學(xué)習(xí)訓(xùn)練得到的端到端模型。這三種方法在難度遞增的受控環(huán)境中做了評估,并用CARLA提供的指標(biāo)進(jìn)行性能測試,表明CARLA可以用來進(jìn)行自動駕駛的研究。
模擬器和配套的資源將會發(fā)布在官方網(wǎng)站:
http://carla.org
論文:
CARLA:An Open Urban Driving Simulator
論文鏈接:
https://arxiv.org/abs/1711.03938
代碼鏈接:
https://github.com/carla-simulator/carla
Apollo仿真模擬
關(guān)于百度Apollo平臺的內(nèi)容,這里不多講了,優(yōu)點(diǎn)是平臺開源,Apollo特點(diǎn)主要是真實(shí)高精地圖,豐富的真實(shí)場景。后續(xù)也會有動力學(xué)模型。
收費(fèi)模擬平臺
Prescan
PreScan是一個基于物理的仿真平臺,用于汽車行業(yè)開發(fā)基于雷達(dá),激光/激光雷達(dá),攝像頭和GPS等傳感器技術(shù)的先進(jìn)駕駛輔助系統(tǒng)(ADAS)。 PreScan還可用于設(shè)計(jì)和評估車輛到車輛(V2V)和車輛到基礎(chǔ)設(shè)施(V2I)的通信應(yīng)用以及自動駕駛應(yīng)用。PreScan可以從基于模型的控制器設(shè)計(jì)(MIL)用于軟件在環(huán)(SIL)和硬件在環(huán)(HIL)系統(tǒng)的實(shí)時測試。
主要分為四個步驟,搭建場景、添加傳感器、添加控制系統(tǒng)、運(yùn)行仿真。
場景搭建
專用預(yù)處理器(GUI)允許用戶使用路段,基礎(chǔ)設(shè)施組件(樹木,建筑物,交通標(biāo)志),演員(汽車,卡車,自行車和行人),天氣條件(如雨,雪和霧)以及光源(如太陽光,大燈和路燈)。通過從OpenStreetMap,Google Earth,Google 3D Warehouse和/或GPS導(dǎo)航設(shè)備讀取信息,可以快速表示真實(shí)道路。
模型傳感器
車輛模型可以配備不同的傳感器類型,包括雷達(dá),激光,攝像頭,超聲波,紅外線,GPS和車輛到X(V2X)通信的天線。通過簡單的交換和修改傳感器類型和傳感器特性,便于傳感器設(shè)計(jì)和基準(zhǔn)測試。
添加控制系統(tǒng)
Matlab / Simulink接口使用戶能夠設(shè)計(jì)和驗(yàn)證數(shù)據(jù)處理,傳感器融合,決策制定和控制的算法以及現(xiàn)有的Simulink模型(如CarSim,Dyna4或ASM的車輛動力學(xué)模型)的重復(fù)使用。
運(yùn)行實(shí)驗(yàn)
3D可視化查看器允許用戶分析實(shí)驗(yàn)的結(jié)果。它提供了多個視點(diǎn),直觀的導(dǎo)航控件以及圖片和電影生成功能。此外,使用ControlDesk和LabView的界面可以用來自動運(yùn)行實(shí)驗(yàn)批次的場景以及運(yùn)行硬件在環(huán)(HIL)模擬。
相關(guān)鏈接:
https://tass.plm.automation.siemens.com/prescan
http://www.cheyun.com/content/16897
(基于模型的智能駕駛性能開發(fā)和測試方法)
Panosim
PanoSim是一款集復(fù)雜車輛動力學(xué)模型、汽車三維行駛環(huán)境模型、汽車行駛交通模型、車載環(huán)境傳感模型(像機(jī)和雷達(dá))、無線通信模型、GPS和數(shù)字地圖模型、Matlab/Simulink仿真環(huán)境自動生成、圖形與動畫后處理工具等于一體的大型模擬仿真軟件平臺。它基于物理建模和精確與高效兼顧的數(shù)值仿真原則,利用先進(jìn)的虛擬現(xiàn)實(shí)技術(shù)逼真地模擬汽車駕駛的各種環(huán)境和工況,基于幾何模型與物理建模相結(jié)合的建模理念建立了高精度的像機(jī)、雷達(dá)和無線通信模型,以支持在高效、高精度的數(shù)字仿真環(huán)境下汽車動力學(xué)與性能、汽車電子控制系統(tǒng)、智能輔助駕駛與主動安全系統(tǒng)、環(huán)境傳感與感知、自動駕駛等技術(shù)和產(chǎn)品的研發(fā)、測試和驗(yàn)證。
PanoSim不僅包括復(fù)雜的車輛動力學(xué)模型、底盤(制動、轉(zhuǎn)向和懸架)、輪胎、駕駛員、動力總成(發(fā)動機(jī)和變速箱)等模型,還支持各種典型驅(qū)動型式和懸架形式的大、中、小型轎車的建模以及仿真分析。它提供了先進(jìn)的三維數(shù)字虛擬試驗(yàn)場景建模與編輯功能,支持對道路及道路紋理、車道線、交通標(biāo)識與設(shè)施、天氣、夜景等汽車行駛環(huán)境的建模與編輯。
PanoSim仿真實(shí)驗(yàn)操作流程簡單易懂,制作一個實(shí)驗(yàn)的三個步驟:
創(chuàng)建實(shí)驗(yàn):新建實(shí)驗(yàn)工程,選擇合適的道路場景,設(shè)置環(huán)境天氣和光照;
設(shè)置實(shí)驗(yàn)參數(shù):在道路上添加車輛,設(shè)置車輛橫向或縱向駕駛參數(shù),設(shè)置交通流和行人干擾,安裝車載傳感器(像機(jī)、雷達(dá)或V2X),配置交通元素(交通標(biāo)志牌、信號燈、障礙物);
分析實(shí)驗(yàn)結(jié)果:使用后處理工具對仿真后的數(shù)據(jù)進(jìn)行報表分析,或回放仿真動。
Carsim
CarSim 是 Mechanical Simulation Corporation 推出的一款整車仿真軟件,主要從整車角度進(jìn)行仿真。這個軟件比較“傻瓜化”,其本質(zhì)上是一個模型庫+參數(shù)庫+求解器+后處理工具+配置界面。也就是說,這個仿真軟件自身已經(jīng)自帶了相當(dāng)數(shù)量的模型,并且這些模型都有一些“比較靠譜”的參數(shù),用戶免去了繁雜建模和調(diào)參數(shù)的過程,只要將已有模型“拼”在一起,調(diào)整參數(shù)即可進(jìn)行仿真。
CarSim是專門針對車輛動力學(xué)的仿真軟件,CarSim模型在計(jì)算機(jī)上運(yùn)行的速度比實(shí)時快3-6倍,可以仿真車輛對駕駛員,路面及空氣動力學(xué)輸入的響應(yīng),主要用來預(yù)測和仿真汽車整車的操縱穩(wěn)定性、制動性、平順性、動力性和經(jīng)濟(jì)性,同時被廣泛地應(yīng)用于現(xiàn)代汽車控制系統(tǒng)的開發(fā)。CarSim可以方便靈活的定義試驗(yàn)環(huán)境和試驗(yàn)過程,詳細(xì)的定義整車各系統(tǒng)的特性參數(shù)和特性文件。CarSim軟件的主要適用于以下車型的建模仿真:轎車、輕型貨車、輕型多用途運(yùn)輸車及SUV。
圖片:轉(zhuǎn)自知乎 趙迪
因?yàn)镃arSim做的全是整車仿真,為了提升仿真的速度,所以CarSim里的模型都比較簡單,通常就是簡單的公式或者基于特性(查表)的模型,參數(shù)也比較少,但是從整車層面來看,其精度還是可以接受的。
應(yīng)用:龔建偉等人在《無人駕駛車輛模型預(yù)測控制》一書中,利用Simulink/CarSim聯(lián)合仿真平臺,構(gòu)建了車輛模擬進(jìn)行測試。
Pro-SiVIC
ESI集團(tuán)傳感器仿真分析解決方案Pro-SiVIC?可以幫助交通運(yùn)輸行業(yè)的制造商們對車載或機(jī)載的多種感知系統(tǒng)的運(yùn)行性能進(jìn)行虛擬測試,并且能夠準(zhǔn)確得再現(xiàn)出諸如照明條件、天氣以及其他道路使用者等影響因素。
Pro-SiVIC?可以用來建立高逼真、與實(shí)際場景相當(dāng)?shù)?D場景,并實(shí)現(xiàn)場景中的實(shí)時交互進(jìn)行仿真分析,削減物理樣機(jī)的需求。Pro-SiVIC?的使用者們可以快速并且精確地對各個嵌入系統(tǒng)在典型及極端操作環(huán)境下的性能進(jìn)行仿真分析,它可以提供基于多種技術(shù)的傳感器模型,例如:攝像機(jī)、雷達(dá)、激光雷達(dá)(激光掃描儀)、超聲波傳感器、GPS、里程表及通信設(shè)備等。
這就使得該解決方案可以在地面交通、航空航天以及船舶等有基于感知的控制系統(tǒng)的各種行業(yè)得到應(yīng)用。同時傳感器也可以集成到仿真的3D場景中,以汽車行業(yè)為例,Pro-SiVIC?提供了多個環(huán)境目錄,提供具有代表性的不同道路(城市道路、高速以及鄉(xiāng)村公路)、交通標(biāo)識及車道線標(biāo)記。
應(yīng)用:在2017年CES上,ESI集團(tuán)與汽車供應(yīng)商DURA聯(lián)合展示了通過ESI集團(tuán)Pro-SiVIC解決方案對汽車系統(tǒng)進(jìn)行創(chuàng)新型的虛擬測試。兩公司合作構(gòu)建了逼真的3D仿真環(huán)境,再現(xiàn)了拉斯維加斯的部分城市街景,包括實(shí)際道路布局、路標(biāo)和行人等,對駕駛輔助系統(tǒng)和自動駕駛系統(tǒng)進(jìn)行虛擬測試。
結(jié)論:除了上述這么軟件外,還有很多采集真實(shí)場景,基于真實(shí)交通場景多傳感數(shù)據(jù)來做離線測試。從訓(xùn)練到測試,虛擬環(huán)境正在讓自動駕駛變得越來越完善。在訓(xùn)練過程中,它能夠幫我們節(jié)省時間,提高效率,并且?guī)臀覀円?guī)避在真實(shí)世界中進(jìn)行測試時的風(fēng)險。
來源:智車科技