結(jié)合模塊導(dǎo)航方案,使用深度攝像頭時,應(yīng)該將深度攝像頭安裝在上位機(jī)上。用戶自行編寫攝像頭的驅(qū)動程序,在獲取其深度數(shù)據(jù)后,再通過我們SDK中提供的publishDepthCamFrame接口將傳輸給模塊,至此Slamware Core才能將深度數(shù)據(jù)用于避障。
配置
同添加其它傳感器類似,在安裝深度攝像頭后,需通過RoboStudio中的Slamware配置工具將深度攝像頭的具體安裝位姿等相關(guān)信息進(jìn)行配置,然后將配置好的文件導(dǎo)出,重新放到底盤MCU中進(jìn)行Make,再將生成的新的hex文件燒錄至底盤。
開啟濾波:高度濾波開關(guān),只處理相應(yīng)高度范圍內(nèi)的障礙物測距信息,主要應(yīng)用于濾除地面噪聲和高于機(jī)器人高度的障礙物信息。
開啟形態(tài)學(xué)濾波:利用形態(tài)學(xué)運(yùn)算主要采用態(tài)學(xué)開、閉運(yùn)算進(jìn)行濾波操作,用來過濾孤立噪點(diǎn)。(可能會影響性能,客戶自行取舍是否勾選)
倒裝:攝像頭是否倒置,一般不勾選。
最小濾波高度:以地面為基準(zhǔn),高度小于該值的障礙物測距信息將被忽略,單位為m。
最大濾波高度:以地面為基準(zhǔn),高度大于該值的障礙物測距信息將被忽略,單位為m。
相關(guān)文檔:
KBSW180147 機(jī)器人底盤傳感器位置坐標(biāo)及底盤配置工具的使用
注意:配置深度攝像頭前,請先確保使用的固件版本至少需要2.6.7及以上,否則配置的濾波相關(guān)信息無法被讀出。
接口調(diào)用
sensorId:使用Slamware配置工具配置時,設(shè)置的Id.
DepthCameraFrame:需要傳入一個DepthCameraFrame類型的結(jié)構(gòu)體變量,代表的是一幀數(shù)據(jù)。
DepthCameraFrame的成員:
深度攝像頭有自己的屬性參數(shù),如分辨率,深度視角(FOV)等。定義DepthCameraFrame類型的結(jié)構(gòu)體變量時,可以把深度攝像頭的屬性參數(shù)賦值給成員。另外,請注意如下幾點(diǎn):
注意各個成員的單位,距離為米,角度為弧度。
maxValidDistance建議在2米,否則可能存在噪點(diǎn)。
cols和rows,建議為320x240,不要大于這個值。如果一定要設(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就是具體的一幀里面每個像素的值,需要把完整的一幀的深度數(shù)據(jù)全傳進(jìn)去。
代碼描述
上述代碼僅傳輸了一幀數(shù)據(jù)。實(shí)際在調(diào)用接口傳遞數(shù)據(jù)時,需要注意以下幾點(diǎn):
1.深度攝像頭的數(shù)據(jù)是要持續(xù)發(fā)送的。為了防止數(shù)據(jù)傳輸堵塞,調(diào)用publishDepthCamFrame的頻率不要超過一秒鐘10次。
2.得到深度數(shù)據(jù)后,模式是實(shí)時處理的,為了防止有延遲,請選擇性能好的上位機(jī),獲取一幀深度數(shù)據(jù)到調(diào)用publishDepthCamFrame接口總的時長應(yīng)該在100ms以下。
3.對于深度攝像頭的規(guī)格型號,并無特殊要求,只需要在調(diào)用接口時傳送符合要求的數(shù)據(jù)即可。注意,需要的深度信息單位是米,如果您的攝像頭的單位與此不同,需要轉(zhuǎn)換。
4.對于不同品牌型號的深度攝像頭,驅(qū)動攝像頭的SDK不同,若對此需要幫助,建議您咨詢攝像頭品牌的支持工程師以獲得專業(yè)的支持。
檢驗(yàn)效果
當(dāng)成功傳輸了正確符合要求的深度數(shù)據(jù)后,如果深度攝像頭測距范圍內(nèi)有障礙物,可以通過RoboStudio或者Web portal看到深度信息。
depthcam是一個非常簡單的示例文件,DepthCameraFrame中用到的data是人為構(gòu)造填充的一個vector,用戶可以自行下載,在VS2010中打開,查看檢測到深度數(shù)據(jù)的效果。
1.通過RoboStudio查看
在此之前,需先獲取下載Slamware Sensor Map插件(參考RoboStudio用戶手冊)。點(diǎn)擊工作區(qū)的顯示設(shè)置圖標(biāo),在彈出的圖層面板中選中傳感器視野(深度攝像頭)。
2.通過Web Portal查看
訪問Web portal,開啟Slamware Core診斷模式,具體步驟請參考KBSW180153 SLAMWARE Web Portal Function Overview
關(guān)鍵字:思岚科技