主页
产品
应用案例
新闻动态
购买渠道
下载与支持
关于我们
生态合作
联系我们
主页
产品
新闻动态
购买渠道
下载与支持
关于我们
加入我们
联系我们
  • 中文|
  • Eng
  • 结合思岚模块导航方案如何添加深度摄像头?

     

    結(jié)合模塊導(dǎo)航方案,使用深度攝像頭時(shí),應(yīng)該將深度攝像頭安裝在上位機(jī)上。用戶(hù)自行編寫(xiě)攝像頭的驅(qū)動(dòng)程序,在獲取其深度數(shù)據(jù)后,再通過(guò)我們SDK中提供的publishDepthCamFrame接口將傳輸給模塊,至此Slamware Core才能將深度數(shù)據(jù)用于避障。

    配置

    同添加其它傳感器類(lèi)似,在安裝深度攝像頭后,需通過(guò)RoboStudio中的Slamware配置工具將深度攝像頭的具體安裝位姿等相關(guān)信息進(jìn)行配置,然后將配置好的文件導(dǎo)出,重新放到底盤(pán)MCU中進(jìn)行Make,再將生成的新的hex文件燒錄至底盤(pán)。

    如何添加深度攝像頭

    開(kāi)啟濾波:高度濾波開(kāi)關(guān),只處理相應(yīng)高度范圍內(nèi)的障礙物測(cè)距信息,主要應(yīng)用于濾除地面噪聲和高于機(jī)器人高度的障礙物信息。

    開(kāi)啟形態(tài)學(xué)濾波:利用形態(tài)學(xué)運(yùn)算主要采用態(tài)學(xué)開(kāi)、閉運(yùn)算進(jìn)行濾波操作,用來(lái)過(guò)濾孤立噪點(diǎn)。(可能會(huì)影響性能,客戶(hù)自行取舍是否勾選)

    倒裝:攝像頭是否倒置,一般不勾選。

    最小濾波高度:以地面為基準(zhǔn),高度小于該值的障礙物測(cè)距信息將被忽略,單位為m。

    最大濾波高度:以地面為基準(zhǔn),高度大于該值的障礙物測(cè)距信息將被忽略,單位為m。

    相關(guān)文檔:

    KBSW180147 機(jī)器人底盤(pán)傳感器位置坐標(biāo)及底盤(pán)配置工具的使用 

    KBSW180158 Breakout kit 燒寫(xiě)固件

    注意:配置深度攝像頭前,請(qǐng)先確保使用的固件版本至少需要2.6.7及以上,否則配置的濾波相關(guān)信息無(wú)法被讀出。

    接口調(diào)用

    接口調(diào)用

    sensorId:使用Slamware配置工具配置時(shí),設(shè)置的Id.

    DepthCameraFrame:需要傳入一個(gè)DepthCameraFrame類(lèi)型的結(jié)構(gòu)體變量,代表的是一幀數(shù)據(jù)。

    DepthCameraFrame的成員:

     如何添加深度攝像頭

    深度攝像頭有自己的屬性參數(shù),如分辨率,深度視角(FOV)等。定義DepthCameraFrame類(lèi)型的結(jié)構(gòu)體變量時(shí),可以把深度攝像頭的屬性參數(shù)賦值給成員。另外,請(qǐng)注意如下幾點(diǎn):

    注意各個(gè)成員的單位,距離為米,角度為弧度。

    maxValidDistance建議在2米,否則可能存在噪點(diǎn)。

    cols和rows,建議為320x240,不要大于這個(gè)值。如果一定要設(shè)置為更小的分辨率,需先確認(rèn)所用的攝像頭是否支持。

    minFovPitch和maxFovPitch涉及到深度攝像頭的VFOV(垂直視角)。假設(shè)VFOV=a(rad),則minFovPitch=-a/2,maxFovPitch=a/2。

    minFovYaw和maxFovYaw涉及到深度攝像頭的HFOV(水平視角)。假設(shè)HFOV=b(rad),則minFovPitch=-b/2,maxFovPitch=b/2。

    data就是具體的一幀里面每個(gè)像素的值,需要把完整的一幀的深度數(shù)據(jù)全傳進(jìn)去。

    需要把完整的一幀的深度數(shù)據(jù)全傳進(jìn)去

    代碼描述

    代碼描述

    上述代碼僅傳輸了一幀數(shù)據(jù)。實(shí)際在調(diào)用接口傳遞數(shù)據(jù)時(shí),需要注意以下幾點(diǎn):

    1.深度攝像頭的數(shù)據(jù)是要持續(xù)發(fā)送的。為了防止數(shù)據(jù)傳輸堵塞,調(diào)用publishDepthCamFrame的頻率不要超過(guò)一秒鐘10次。

    2.得到深度數(shù)據(jù)后,模式是實(shí)時(shí)處理的,為了防止有延遲,請(qǐng)選擇性能好的上位機(jī),獲取一幀深度數(shù)據(jù)到調(diào)用publishDepthCamFrame接口總的時(shí)長(zhǎng)應(yīng)該在100ms以下。

    3.對(duì)于深度攝像頭的規(guī)格型號(hào),并無(wú)特殊要求,只需要在調(diào)用接口時(shí)傳送符合要求的數(shù)據(jù)即可。注意,需要的深度信息單位是米,如果您的攝像頭的單位與此不同,需要轉(zhuǎn)換。

    4.對(duì)于不同品牌型號(hào)的深度攝像頭,驅(qū)動(dòng)攝像頭的SDK不同,若對(duì)此需要幫助,建議您咨詢(xún)攝像頭品牌的支持工程師以獲得專(zhuān)業(yè)的支持。

    檢驗(yàn)效果

    當(dāng)成功傳輸了正確符合要求的深度數(shù)據(jù)后,如果深度攝像頭測(cè)距范圍內(nèi)有障礙物,可以通過(guò)RoboStudio或者Web portal看到深度信息。

    depthcam是一個(gè)非常簡(jiǎn)單的示例文件,DepthCameraFrame中用到的data是人為構(gòu)造填充的一個(gè)vector,用戶(hù)可以自行下載,在VS2010中打開(kāi),查看檢測(cè)到深度數(shù)據(jù)的效果。

    1.通過(guò)RoboStudio查看

    在此之前,需先獲取下載Slamware Sensor Map插件(參考RoboStudio用戶(hù)手冊(cè))。點(diǎn)擊工作區(qū)的顯示設(shè)置圖標(biāo),在彈出的圖層面板中選中傳感器視野(深度攝像頭)。

    無(wú)深度信息與有深度信息對(duì)比

    2.通過(guò)Web Portal查看

    訪問(wèn)Web portal,開(kāi)啟Slamware Core診斷模式,具體步驟請(qǐng)參考KBSW180153 SLAMWARE Web Portal Function Overview 

    通過(guò)Web Portal查看

    關(guān)鍵字:思岚科技

    top