相機和毫米波雷達資料融合1–流程架構
相機和毫米波雷達資料融合2–SocketCan編寫
相機和毫米波雷達資料融合3–Simulink解析Can信号
相機和毫米波雷達資料融合1
- 需要用到的工具
-
- 硬體方面
- 軟體方面
- 整體架構流程
- 總結
需要用到的工具
硬體方面
一台工控機,上面有多個通訊接口,通過這些通訊接口來獲得外部傳感器的資料,然後進行處理。
多個傳感器,傳感器的資料傳輸方式你需要很清楚,如何解析,如何打包發送都是你需要考慮的。
usbcan,由于本次的傳感器都是利用can通訊的,是以usbcan是很好的測試工具。最終的項目運作不需要它,但是開發過程中需要其來檢驗我們算法的可行性。而且他可以用來模拟傳感器的can發送,友善我們不斷進行測試。
軟體方面
ROS,一個機器人作業系統,安裝在工控機上,裡面提供很多庫,函數友善我們開發。我用ros用得很淺,主要使用的是他的資訊傳遞功能。
SocketCan,用來幫你接收特定can口上的資訊,或是向特定can口傳遞資訊。更重要的是你需要他幫你實作從軟體到硬體的資訊傳輸。
相容usbcan的can測試軟體(類似CanVector,可以自己去查),功能使用的不會太多,就記錄,解析,映射can信号差不多了。busmaster是一種常用的測試軟體,但是不好用,而且無法映射can到硬體通道上(也就是把記錄下來的can信号發送給其他接入到的硬體通道上)。本文使用的同星的TSmaster比較好用,推薦,中文教程也簡單。
Simulink,算法得到的控制資料需要轉化成對應的can封包發送到硬體上,而傳感器的can封包也需要被解析成具體的資訊輸入至算法。雖然可以在C++中編寫對應的解析函數,但是對于我這種新手還是太麻煩了。可以在simulink裡搭建UNPACK,PACK子產品,然後生成代碼。
C++,SocketCan,算法都是需要用C++編寫,需要有一定的C++基礎。本人基礎很差,寫這些隻是想提供具體的實作思路。
Linux的一點知識,所有的操作都是在Linux系統中進行,除了usbcan的使用。是以你需要熟悉Linux作業系統的一些基本知識。
整體架構流程
圖1是“一般性的”框圖,你可以參考這幫助你實作其他嵌入式的開發,圖2是這個多傳感器融合項目的框圖。
總結
想要看後續文章,最好是有前面提到的一點的工具基礎,或者你有擅長百度的好習慣你也可以硬着頭皮繼續看下去。