如何用樹莓派製作數字信號圖傳的3D-FPV飛行器?

打算做一個用Oculus rift頭戴顯示器實時顯示3D第一人稱畫面的四軸或直升機(以後會嘗試固定翼)
實現3D FPV 需要在飛行器上搭載兩個攝像頭
普遍的辦法是搭載兩個模擬信號的攝像頭+兩個圖傳
可是這樣傳輸過來的視頻畫質不高(白瞎Oculus了吧)

在網上看了一個用WIFI網橋+樹莓派實現數字圖傳的帖子
(因為要給視頻編碼,編碼效率決定延遲,樹莓派有H.264硬編碼功能)
用了樹莓派官方的攝像頭模塊配件 畫質還不錯 延遲在200毫秒左右 距離聽說網橋配網橋可達10KM
可以說非常完美

然而樹莓派只能裝一個攝像頭模塊(只有一個CSI2介面)
我對硬體一點也不了解
查了半天攝像頭資料
也不知道怎麼給類似樹莓派這樣的板子 裝兩個720p解析度以上的攝像頭(用USB攝像頭不好吧)
求指教

也不是必須要樹莓派,能帶兩個攝像頭並且H264編碼的板子 應該都可以吧


現有的嵌入式開發板以SoC的角度大多都是支持兩個攝像頭的。樹莓派的CPU就可以。但是要真的接兩個攝像頭,則需要用其計算模塊,搭配對應的擴展板,再接2個攝像頭。支持樹莓派的官方攝像頭。

其他開發板如Cubieboard,原則上引出了兩個攝像頭的介面,CSI0和CSI1,但其中一路沒有PCLK,所以是廢的。

2路視頻壓縮則是個麻煩事。在嵌入式開發板中,視頻壓縮都是用SoC內置硬體模塊來做的,一般叫VPU。但通常只有一個VPU。所以也就只能同一時間壓縮一路視頻。至於靠CPU來壓縮。想要做到接近實時的話,解析度會比模擬視頻還差。所以這事基本不靠譜。

時延也是個大問題。Linux下v4l2介面就會搞上4幀以上的時延。再加上網路,如果再考慮網路中轉,1秒以上的時延是妥妥的。這個時延用在FPV上就是個悲劇,沒準飛機都炸了,你還看著好好的呢。

還有就是別看不起USB攝像頭,現在有不少USB攝像頭做到了720p解析度,甚至還內置了JPEG壓縮。可惜大部分軟體並不會讀取JPEG輸出,而是走YUV。我為此很抓狂的寫了個開源項目 pyv4l2。可以底層直接拿到攝像頭的內置JPEG壓縮的圖片。另外要注意JPEG是用於圖片壓縮的。不像H.264還有視頻的幀間壓縮。所以壓縮率並不好。一般經驗數據QVGA在JPEG壓縮是30KB左右,H.264的一幀大約10KB。而原始的YUV數據則是150KB。

gashero的pyv4l2: https://github.com/gashero/pyv4l2 ,支持包括x86、x86-64、ARM Cortex-A在內的各種Linux發行版。可以用python簡單的獲取攝像頭的各種底層功能。

我曾經花費一些精力去研究各種嵌入式開發板的視頻採集和壓縮,燒了20萬進去,所得部分經驗如上。如果有哪位土豪仍然想要此功能,可以聯繫我。


用usb攝像頭以及
http://github.com/xuhao1/oliviavideo
這個我寫好的圖傳


考慮視頻壓縮部分外掛,用這個。
WRTnode Hi

全球第一款H.265 5MP開源硬體H.265提供超過H.264一倍以上的壓縮效率

WRTnode攜手海思呈現的WRTnodeHi

採用全球第一顆H.265硬編碼晶元Hi3516A

提供在視頻採集與處理領域前所未有的2560*1920(5MP五百萬像素)/30fps/約4Mbps碼流的極致參數

配合全面的介面引出與便利的開發框架

讓您在視頻相關智能設備的創意可以源源不斷
WRTnode 開源硬體


沒想到居然還能挖出這麼個墳出來.

據我所知. 現在不論是LINUX還是ANDROID都不支持實時的雙CAM.

現在不論是LINUX還是ANDROID都不支持實時的雙CAM.

現在不論是LINUX還是ANDROID都不支持實時的雙CAM.

先說ANDROID.

現在ANDROID手機雙CAM很火. 但不是系統支持的. 而是加ISP晶元. 處理計算完. 轉成單圖,再發送給ANDROID.

前後攝像頭也不是一起工作的. 要切換.


再說LINUX.

全志的LINUX-SUNXI號稱支持CSI. 我全代碼閱讀下來. 它的CSI是(CAMERA SENSOR, INTERFACE),不是MIPI-CSI2. 它其實是DVP.

RPI只支持官方兩個攝像頭. 因為GPU是閉源的. 而且它只有一個CSI2介面.

現在想用雙攝.

只能用雙USB,或者FPGA.

只能用雙USB,或者FPGA.

只能用雙USB,或者FPGA.


Zynq功耗頗大,採用fpga加mac,攝像頭走乙太網,radio部分採用rfic,即可實現1080p,乃至4k傳輸


挖墳挖到這個,題主還在研究嗎?
我能想到的是雙目USB攝像頭。價格大概400多,一個dsp負責把兩個sensor的畫面合成為左右格式,mjpg格式的。解析度1280,480畫質還不錯。
圖傳這部分我沒考慮高清,因為成本太高買不起。
但題主說的3D FPV的效果我是做出來了,延遲大約估計了一下,不是高清,可能有0.16秒左右吧。最近想買htc focus把這個功能做進去。但是FOCUS價格好貴啊


深圳矽海達提供Sihid COFDM高清數字無線圖傳開發套件,Hi3516A可做1080P 60幀壓縮, 開放設計資料。


建議使用Zynq,裡面有FPGA部分(PL),理論上可掛多個Camera。


上兩個樹莓派吧


兄弟由進展嗎 我也在研究這方面
我想做到的是通過2個圖傳把視頻傳到樹莓派,然後樹莓派合併成一個VR視頻,通過wifi熱點傳給暴風魔鏡裡面的手機播放,主要就實現了基於手機的FPV


推薦閱讀:

如何通俗並儘可能詳細解釋卡爾曼濾波?
怎樣DIY一個簡單的四旋翼?
如何看待三星申請的無人機專利?
如何評價王孟秋團隊的Hover Camera?其最大的創新點在哪?值他在節目上所說的600美金嗎?
大疆 DJI 更應該怕誰,是 Parrot 還是 3D Robotics還是GoPro等?

TAG:通信 | 嵌入式系統 | 航模 | 樹莓派RaspberryPi | 四軸飛行器 |