工控網首頁
>

應用設計

>

仙工智能技術專欄|識別專欄之形狀識別

仙工智能技術專欄|識別專欄之形狀識別

一、為什么要進行形狀識別?

貨架的擺放不是一直都能固定在某個位置上的,當AGV要對貨架進行一些拉取或者頂升等操作時,需要精準的知道貨架的位置,此時AGV自身在地圖上的定位是準確的,但是貨架的位置在地圖上卻是未知的,這樣我們需要對貨架進行識別來確定貨架的位置。而某些場景要求不能對貨架腿進行改造(如粘貼反光膜等),這個時候就需要對貨架腿的形狀做識別。

二、貨架腿形狀識別要求

1、一般情況下,貨架是有四條腿,要求四腿形成一個矩形;

2、貨架設計的其他部分都要求成軸對稱的形式,包含:和頂升機構配合的限位孔、貨架腿上支撐的貨架部分;

3、貨架內側寬度要比機器人最大寬度寬20cm,也就是左右各冗余10cm的鉆貨架調整空間;

4、貨架高度要求,根據頂升模塊的行程確定;

5、貨架腿的表面要求為光滑平整的;

6貨架腿的形狀最好為規則型的方體;

6、貨架腿的表面不能為呈鏡面反射的材料;

7、貨架腿的表面不能為半透明的材料;

8、貨架腿的表面不能為黑色的材料;

下圖為比較典型的可用的貨架腿。

圖片1.png

三、參數配置說明:

圖片2.png

上圖為激光雷達形狀識別示意圖,圖中藍色坐標系為AGV的車體坐標系,虛線方形為可配置的激光雷達識別區域,方形中的虛線為激光雷達掃描scan的示意圖。

在使用激光雷達形狀識別的時候,要保證激光雷達的識別范圍內存在待識別的貨架腿,識別區域可根據現場環境進行配置;

圖片3.png

如上圖所示的幾個參數表示激光雷達的識別區域,該參數需要根據現場實際環境進行配置, 

ValidShapeX:車體坐標系下的最大識別距離,單位為m;

ValidShapeBias:偏差量;

根據不同的識別方向,系統會自動計算識別范圍,如識別示意圖上所示的虛線框。

當detect_direction為x的時候,ValidShapeX為車體坐標系下x方向的最大距離,即: 0<x<validshapex,y方向識別的范圍為:-(distance 2="" +="" validshapebias)="" <="" y="" (distance="" validshapebias).<="" p="">

當detect_direction為-x的時候,ValidShapeX為車體坐標系下x方向的最大距離,即:  -ValidShapeX<x<0,y方向識別的范圍為:-(distance 2="" +="" validshapebias)="" <="" y="" (distance="" validshapebias).<="" p="">

當detect_direction為y的時候,ValidShapeX為車體坐標系下y方向的最大距離,即: 0<y<validshapex,x方向識別的范圍為:-(distance 2="" +="" validshapebias)="" <="" x="" (distance="" validshapebias).<="" p="">

當detect_direction為-y的時候,ValidShapeX為車體坐標系下y方向的最大距離,即:  -ValidShapeX<y<0,x方向識別的范圍為:-(distance 2="" +="" validshapebias)="" <="" x="" (distance="" validshapebias).<="" p="">

注:車體坐標系為右手坐標系,即正前方為X正方向,正左方為Y正方向。

ValidShapeDistanceThreshold:該值代表著識別算法內部計算出來的貨架腿之間的距離和實際距離之間的差值;

ValidShapeLineThreshold:該值代表著識別算法內部計算出來的貨架腿的長度和實際長度之間的差值。

ValidShapeLineSplidThreshold:該值代表著貨架腿對角線長度的一半,需要根據貨架腿大小更改。

ValidShapeValidShelfAngle:該值表示車身與貨架最大的傾斜角度,當識別方向為車頭和車尾的時候,表示車頭和車尾與貨架最大的傾斜角度,側向識別是表示為車身側邊與貨架的最大傾斜角度。

ValidShapeDetertorNum:該值表示連續識別的次數,當連續識別多少次的結果都很接近的時候,認為是識別到了,該參數僅對鉆貨架有效。

使用我司Roboshop 軟件,點擊【識別文件】標簽頁進入配置界面,選擇一個【shelf】文件,在右側的屬性窗進行貨架描述文件的參數配置。如下圖所示:

圖片4.png

鉆入屬性參數說明:

1.align_depth:車頭識別(x方向)鉆貨架的深度;

2.anti_align_depth:車尾識別(-x方向)鉆貨架的深度;

3.y_align_depth:車頭側向識別(y方向)鉆貨架的深度;

4.y_anti_align_depth:車尾側向識別(-y方向)鉆貨架的深度;

5.continue_detect:是否開啟持續檢測

6.recDist:如果前置點距離貨架的位置比較遠,可以配置recDist,該值表示距離貨架多遠的距離開始識別,可以在一定程度上減緩地面不平、激光雷達安裝不水平等因素的影響,提高識別精度。

圖片5.png

圖片6.png

需要配置如圖上所示的5個參數:

1:rightStandardLength,右側貨架腿的長度;

2:rightVerticalLength,右側貨架腿的寬度

3:leftVerticalLength,左側貨架腿的寬度;

4:leftStandardLength,左側貨架腿的長度;

5:distance,貨架腿內側之間的距離;

6:use_optimization,默認勾選,代表使用優化。

此外,貨架腿長和寬之間的夾角默認為90°,也可以額外配置,當貨架腿的長寬大于6cm時,勾選use_optimization,可以提高識別精度。

四、使用說明:

圖片7.png

在完成上述反光膜或者形狀識別的配置之后,只需要在貨架點位對應的前置點屬性中配置識別模型文件,即shelf文件,然后將線路屬性中的ObsExpansion設置為0,避免鉆貨架過程中機器人停障。接著要進行執行動作的配置:

圖片8.png

1.需要識別貨架所在位置,并鉆入貨架頂升起來,需要勾選Recognize,點擊Load.

2.不需要識別貨架所在位置,開環的鉆入到一個固定位置上,并頂升起來,不需要勾選Recognize,直接點擊Load.

3.需要識別位置上有沒有貨架,并放置貨架,勾選Recognisze,點擊Unload,若有貨架占用的話,會報錯;不需要識別,直接開環放置,不用勾選Recognisze,直接點擊Unload.

4.需要點擊Wait的情況比較少,若勾選了Recognize,再點擊Wait,機器人就會識別貨架位置,鉆入貨架底部,然后結束任務,不會動作頂升模塊;若不勾選Recognize,直接點擊Wait,機器人就會固定路徑導航到工作站,然后結束任務,不會動作頂升。

圖片9.png

那么在執行路徑規劃的時候選擇執行動作,AGV在這個前置點上會自動切換到識別模式,根據識別到貨架腿的位置來推算出貨架的中心位置并自動生成到達此位置的路線。

針對車頭車尾都安裝激光雷達的全向車,還可以通過配置實現車頭、車尾、車左側和車右側各個方向的識別,配置如下圖所示:

圖片10.png

圖片11.png

五、其他說明:

為了減小誤識別的情況,使用激光識別料架時要求貨架的前面兩條腿中心距離和前置識別點的距離小于2m,中心點到識別位置激光的連線和車體的角度偏差小于10°,料架本身的角度和識別時的AGV的角度偏差小于20°.

使用激光點云形狀識別功能,需要將參數配置method_type配置為by_legShape,在激光雷達的識別區域要避免遮擋住貨架腿;

識別精度:x,y方向精度高于±1cm,角度精度高于1°.(識別距離越近、貨架腿越寬,識別越準,該精度為識別距離1m,長寬6cm處測得)

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

仙工智能展廳「零」空間線上講解系列第一期上線!

SRC-800 再獲獎!仙工智能控制器讓制造 AMR 沒有門檻

仙工智能入列,G20-智能制造峰會再添“虎將”

SRC-3000FS 到底有多強大?來看它如何打造一臺安全型 AMR !

攜手東北汽車零部件知名企業,仙工智能以智能物流創新汽車行業