無人車感知系統(雙目視覺+雷達)如何搭建平台(ROS還是自己在Linux搭)?

正在做一個無人車的感知系統項目,現在想做最後的系統融合,卻不知道如何下手。主要是兩個感測器,兩個攝像頭組成的stereo vision, 還有雷達。現在有的模塊有stereo vision, 目標檢測(caffe + ssd), tracking(caffe+ goturn),雷達那邊進展緩慢暫且不報太大希望,希望能得到物體的位置速度信息就好。想的是攝像頭每幀照片做目標檢測出來物體位置信息後送給tracking去track然後計算得到速度信息,送給stereo vision可以得到這個物體的距離信息,然後再跟雷達信息綜合之後給GUI顯示。 因為想做實時的系統,一開始沒有考慮ROS是因為ROS實時性不是很好,可不用ros實在是不知道如何下手。隊友們也沒有計算機背景,於是也都不太懂,希望各位大神不吝賜教。

如果用ROS的話不知道對於caffe什麼的兼容性怎麼樣,將子系統改寫成rosnode不知道工作量如何?


用不用 ROS 取決於你們做這個平台的目的:

如果你們處於技術探索期,只是希望有一個平台來試驗演算法、框架,那麼可以用 ROS,ROS 的通訊機制、各種調試工具、開源演算法,可以大大加速前期的平台搭建速度;

如果各項技術已經掌握、系統框架已經確定,目標是做產品,那麼,不建議用 ROS。

首先是兼容性:ROS 跟 Caffe 兼容性很好,你只需把目標檢測的程序寫成一個 ROS node 就行,這個參考 ROS 的基礎教程就好了。

其次是實時性:感覺題主對實時性的理解並不深入。對於一個無人系統,我們可以簡單地將其分為三部分:感知、規劃、控制。這三部分只有控制是強實時性要求的,感知和規劃只要求弱實時性。所以,用 ROS 的話,我們一般是把控制部分單獨放在實時系統上做;而 ROS 等模塊負責上層的感知、規劃部分,(這些部分放在實時系統里,也不一定能在一個控制周期內算完)。就算你不用 ROS,這部分內容也不可能在實時系統內做,所以實時性不是限制你用不用 ROS 的因素。

最後,為什麼不建議在產品上用 ROS,這個知乎上已經有不少討論了,主要是從 ROS 整體的穩定性上考慮吧。我不是 CS 專業的,這方面了解的不是很全面,但平時使用的時候,確實可能出現一些問題。


https://github.com/CPFL/Autoware

Autoware:open-source software for urban autonomous driving

你看看這個,是不是你想要的?


我自己做了一個符合你這個要求的無人車!雙目+imu+lidar+編碼器,底盤阿克曼結構,為了增加實時性考慮用百度的Apollo內核,搜群I-RC


是高校或者研究所嗎?如果是,還是用ROS。雖然基於的ubuntu不是實時系統,不過作為研究用足夠了。真做實時系統,也不適合科研人員上。

如果在城區環境,或者說複雜場景下,毫米波雷達幾乎可以放棄。

立體攝像頭一般來說有效檢測距離三十米左右吧,雞肋一般的存在。


我覺得還是在ROS下搭建你的無人車感知系統比較好:

首先,多資源整合:ROS本身就非常適合進行資源的整合工作,視覺,雷達,串口收發,電機的控制與狀態反饋等,比如說通過client/Service方式讀取視覺信息,subscriber/publisher進行串口數據發布與訂閱,Action通信發生請求電機控制服務。這三種通信機制很好的切合在實際應用中,頂層調度的需求。

其次,語言靈活,方便移植:ROS用來搭系統很簡單,python/c++語言隨意切換,使得很容易移植別人的代碼(目標檢測,目標跟蹤,姿態估計)。

最後,Debug方便:在ROS下rosnode實現功能特定的節點,roslaunch組裝多個節點和搭建參數伺服器,rostopic查看topic當前狀況,rosservice 查看後台服務,還有一些圖形化界面,rqt_graph,rviz可以很好地debug你的工程哪出問題了。

實時性我覺得還是先把系統整體跑通太說吧,說不定到時候某些模塊才是限制你實時性的問題,而不是ROS框架的問題。


我們做的是用opencv 進行人體檢測,然後跟蹤的話用的是kcf 樓主可以參考下。


做產品不聯建議用ROS,科研、技術驗證可以使用。


感覺答主是要參加無人車比賽吧?是國內那個吧?

直接上ros沒毛病,個人感覺實時性只是對控制系統的要求,底層嵌入式機械總控寫好了就行了,和ros關係不大。而且參加比賽,自己擼的話,太費時間了,先把檯子搭起來,其他的以後再說吧。


用的雷達是指的激光雷達嗎?激光雷達可以提供位姿和速度估計的啊,而且ROS有開源的東西可以用,我看一個師姐就在Ubuntu上用caffe做點雲目標分類


最近也在做類似的東西,一般做這個都會基於ros去搭建平台,比如BWM和因特爾做無人車都是那麼做的。至於ros的實時性的問題,到現在為止還沒有發現ros的實時性帶來問題,畢竟底層還有不帶系統的控制器工作。

修改---------------------------------------------------------

現如今在讀博士,研究方向為無人車定位和融合感知,基於做研究層面沒有發現ROS帶來的實時性問題。


推薦閱讀:

谷歌都沒完善的技術,長安竟然完成了?

TAG:機器人操作平台ROS | 無人車 |