#1 仙工智能識別料籠需要依賴二維碼
為什么要使用二維碼識別?
視覺傳感器作為一種可以獲取豐富紋理和色彩的傳感器,在識別和定位方面可以起到很大的作用。如果直接去識別料籠,在不提升控制器計算性能的前提下難度較大。二維碼識別作為視覺傳感器的一種典型應(yīng)用,根據(jù)其顯著的特征,能夠做到快速、準確的識別。
仙工智能目前支持 AprilTag 種類中的 16h5,25h7 以及 36h11。
AprilTag 下圖左邊為 16h5,右邊為36h11:
16h5 相比于 36h11 的優(yōu)勢在于相同尺寸時分辨率更低,因此可被觀測距離更遠,但缺點是更容易被誤識別,因此需要根據(jù)需要選擇不同種類的 tag。
#2 料籠二維碼識別
識別文件配置說明
實際使用二維碼時,通常將兩個二維碼對稱貼在目標物體上,識別的位置為兩個二維碼的中點,因此需要指定二維碼與目標物體之間的空間關(guān)系。將坐標關(guān)系描述記錄在描述文件,后綴名為 .tag,存放于 Robokit /resource/objects/tag/ 目錄下,或在 Roboshop 識別文件中“tag”標簽下編輯。
打開 Roboshop 軟件,點擊【識別文件】標簽頁進入配置界面,選擇一個【tag】文件,在右側(cè)的屬性窗進行貨架描述文件的參數(shù)配置。如下圖所示:
其中,【屬性窗口】的各個參數(shù)釋義如下
X_Dis:二維碼中心在貨架坐標系中x方向的坐標;
Y_Dis:二維碼中心在貨架坐標系中y方向的坐標;
Z_Dis:二維碼中心在貨架坐標系中z方向的坐標;
goodsWidth:貨架寬度;
goodsLength:貨架長度;
tagDistance:兩二維碼中心的水平距離(默認在同一高度);
enable_cargoContacDI:默認勾選;
enable_back_dist:是否允許在識別之后后退調(diào)整;
back_dist:后退的距離;
blackBorder:最外層黑邊的層數(shù),默認為 1;
tag_rows:tag 列數(shù),默認為 1;
tag_cols:tag 行數(shù),默認為 1;
tagSize:二維碼大??;
tagSpacing:在其他識別中使用,這里不做說明。
Tagtype:二維碼種類。
#3 料籠二維碼識別
使用說明
將兩個二維碼對稱貼在待識別物體表面,如下圖所示:
在完成上述二維碼識別的配置之后,只需要在貨架點位對應(yīng)的前置點屬性中配置識別模型文件,即 tag 文件,然后將線路屬性中的 ObsExpansion 設(shè)置為 0,避免行進過程中機器人停障。接著要進行執(zhí)行動作的配置:
1. 需要識別料籠所在位置,并將料籠插取起來,需要勾選 Recognize,點擊 Load。
2. 不需要識別料籠所在位置,開環(huán)的插入到一個固定位置上,并插取起來,不需要勾選 Recognize,直接點擊 Load。
3. 需要識別位置上有沒有料籠,并放置料籠,勾選 Recognize,點擊 Unload,若有料籠占用的話,會報錯;不需要識別,直接開環(huán)放置,不用勾選 Recognize,直接點擊 Unload。
4. 需要點擊 Wait 的情況比較少,若勾選了 Recognize,再點擊 Wait,機器人就會識別料籠位置,插入料籠,然后結(jié)束任務(wù),不會動作插取模塊;若不勾選 Recognize,直接點擊 Wait,機器人就會固定路徑導航到工作站,然后結(jié)束任務(wù),不會動作插取。
那么在執(zhí)行路徑規(guī)劃的時候選擇執(zhí)行動作,AMR 在這個前置點上會自動切換到識別模式,根據(jù)識別到二維碼的位置來推算出料籠的中心位置并自動生成到達此位置的路線。
#4 料籠二維碼識別
其他說明
二維碼需要粘貼平整,其中二維碼應(yīng)垂直正確貼在目標物體表面,二維碼最好保持橫平豎直貼放,即有數(shù)字和 id 的需要朝下水平放置,方向如下:
對于二維碼識別而言,識別的位置精度隨著距離增加而減小,在二維碼離相機超過最大識別距離時,就無法識別到二維碼。在通常比較好的情況下,相機的 Z 方向垂直于二維碼平面,相機距離二維碼 2m 以內(nèi)時,測量出的位置在垂直方向的精度小于 2cm,水平方向的精度小于 1.5cm。
對于二維碼識別而言,識別的位置精度隨著距離增加而減小,在二維碼離相機超過最大識別距離時,就無法識別到二維碼。
對于 AprilTag 而言,其中每個模塊的大小為:S=t/r,其中 t 是二維碼的大小,r 是模塊的在 x 方向的數(shù)量。而在像素坐標系里,需要識別出每個 tag,每個模塊至少為 55 個像素, 因此最大觀測距離可以近似表示為:D=ft/u,其中 f 為相機的焦距,t 為 tag 的實際尺寸,u 為二維碼的最小像素數(shù)量。
如果二維碼的尺寸為 10cm*10cm,假設(shè)相機的焦距為 1075,對于不同種類的二維碼的最大觀測距離分別為:
(審核編輯: 小王子)
分享