技術干貨 | 識別專欄之二維碼導航
識別專題二維碼導航
# 二維碼導航的使用場景
仙工智能的 AGV 支持多種導航方式,二維碼導航是其中一種。在狹窄的環境、環境空曠又或者是環境變化比較大的場景下,通過粘貼導航用的二維碼和安裝在 AGV 車身下的 PGV 讀頭,可以實現準確、穩定的定位和導航。PGV(Position Guided Vision):位置導引視覺,可以用于支持二維碼導航或色帶導航
仙工智能SEER,視頻號
快速了解戳視頻,詳細內容往下看
閱讀全文約 3 分鐘
# PGV 安裝和注意事項
PGV 在安裝的時候一般安裝在小車底部,且垂直照向地面,在安裝的時候,首先需要保證 PGV 的離地高度適中,保證當二維碼處于 PGV 正下方的時候,PGV 可以完整的看到二維碼;其次需要注意 PGV 的安裝方向和安裝角度,盡量保證 PGV 水平安裝。
# 模型配置
PGV 的 yaw (r) 角,需要通過將二維碼與車子平行,從 PGV 中讀取 angle 角,然后 PGV 配置中的 yaw 即為 -angle。
正確填寫 yaw 值后,執行 pgv 標定,在標定完之后可以看到如下圖所示的參數列表,單位 xUnit、yUnit 為 pgv 配置的坐標值,按照實際配置填寫;本文檔配置坐標單位為 0.1mm,所以填寫 0.0001m。
"func" 是指位置引導視覺系統的功能,請根據實際情況進行勾選。
adjust:調整;
localization:定位;
adjustLocalization:定位+到點角度調整。
配置完成后可在【運行狀態】-【PGV】一欄看到讀碼信息:
# PGV 的標定
仙工智能提供兩種 PGV 標定方式
PGV 標定和 PGV -里程計標定
1、PGV 標定:
PGV 標定適用于安裝有 PGV(上視或下視均可)設備的車輛,每個 PGV 設備都對應一個此類型的標定項。
PGV 標定需要采集:PGV 檢測到的二維碼位姿數據和里程計輸出。使機器人在初始狀態下能用待標定的 PGV 檢測到二維碼,機器人將執行如下動作:調整機器人位姿,使 PGV 對齊到二維碼中心;前進-后退若干次;圍繞(模型文件所描述的)PGV 中心旋轉一周。
2、PGV-里程計標定:
PGV-里程計標定適用于未裝備勾選了用于定位的激光雷達設備,同時裝備了下視 PGV 的雙輪差動車(這樣的車輛始終依靠檢測二維碼進行定位)。每個下視 PGV 都對應一個該類型的標定項。PGV-里程計標定需要采集:源自 PGV 的車輛定位數據和行走電機編碼器數據。鑒于 PGV-里程計標定過程中,需要盡可能多地獲取源自 PGV 檢測到的二維碼位姿信息的定位數據,因此需要一個二維碼密集的區域進行標定。該區域最簡單的形式為一個連續的條狀二維碼區域,如下圖所示:
此條狀二維碼區域同時還具有如下屬性(參見下圖)
二維碼坐標系的 x 軸對應于條狀區域的長邊;二維碼區域中,二維碼坐標系下 x負方向那一端的二維碼稱為起始二維碼,開始執行 PGV-里程計標定時機器人應位于 PGV 可檢測到此二維碼的范圍內。
使機器人在初始狀態下能用待標定的 PGV 檢測到起始二維碼,開始標定后機器人將執行如下動作:調整機器人位姿,使 PGV 對齊到起始二維碼中心;前進-后退若干次;原地逆時針-順時針旋轉若干次。
3、PGV 標定操作說明:
①將車輛移動至可使 PGV 檢測到二維碼的中心位置,且使得機器人原地旋轉過程中始終能夠檢測到二維碼;
②將車頭朝向可檢測到二維碼區域的中心位置,以使得車輛能在盡可能長的直行距離內檢測到二維碼;
③勾選標定執行標定,完成后設置標定結果
注:如果與里程計相關的標定項顯示為未標定,則執行相應標定并設置標定結果;目前 PGV 的標定要依賴激光,必須先標定激光后才能開始標定機器人。
# 二維碼粘貼要求
二維碼一般粘貼在地面上,在粘貼的時候,首先要保證二維碼粘貼平整,如果粘貼不平整會導致 PGV 識別失敗;二維碼上面的不可以出現打印不清晰或者有涂抹存在,這些都會導致 PGV 識別失敗。在貼二維碼的時候,需要保證二維碼的朝向一致且最好要沿著一條直線粘貼。貼?維碼前先規劃好路徑、特別是互斥區。張貼前線使?墨?打線、兩條平?線需保證絕對平? (不然地圖規劃將不好操作)。貼碼時先把二維碼中間的間距記錄?便建圖。
# 二維碼建圖說明
1、建圖在地圖邊緣??地?建圖(如圖),調整設置參數與地圖檢測參數。先建?維碼(間隔?于 ??,與實際貼碼情況?致)然后在建需要的點位,點位建在?維碼上(Roboshop Pro2.3.1.4 以上 可以直接復制坐標)。
2、確認機器人定位:使??級區域如圖設置,將地圖框起來,當地圖中機器?模型在?級區域且掃到了?維碼機器? 將?動找到定位。
# 二維碼導航設置教程
1、二維碼位置獲取:
在使用二維碼導航車輛之前務必保證機器人已經配置及標定完成;現場貼放完二維碼之后,在 Roboshop Pro 首頁選中機器人,然后在工具欄右側會出現開始識別按鈕。如下圖:
點擊開始識別,然后將機器人手動控制到二維碼下方,機器人停止運動后會顯示二維碼的位置,然后會在地圖上繪制二維碼,依次控制到所有二維碼下方直到所有二維碼識別完,然后點擊停止識別,這時候將當前地圖上傳,就成功記錄所有二維碼的世界坐標位置,如下圖所示:
2、在二維碼上增加站點:
在二維碼導航中,機器人通過讀取二維碼的信息確定機器人此時的位置,機器人通過地圖上站點(例,AP 點)及線路來確定下一步的行進方向;在地圖編輯模式,首選從左側工具欄選擇站點(例,AP),在靠近二維碼的的任意位置落下,然后再拖動此 AP 點,當 AP 點靠近二維碼時,AP 點會自動吸附至二維碼上,如下圖所示:
按照此步驟將所有二維碼上均吸附上 AP 點,并規劃路線,如下圖所示;
注意:地圖上二維碼的朝向一定要與實際地面上二維碼的朝向一致;AP 點的方向可以根據 .smap 的實際需要進行調整;
3、二維碼區域定位:
接下來選擇需要使用二維碼導航的區域,在地圖編輯中,選擇區域 ≥ 高級區域中選擇二維碼區域,覆蓋在需要二維碼導航的區域,如下圖所示:
該區域配置完成后保存推送,然后機器人運行到該區域后自動切換為二維碼定位,離開該區域后自動切換為激光定位;
4、二維碼導航注意事項:
①TagArea 區域務必覆蓋所有需要二維碼導航的站點及線路;
②在 .smap 上保證二維碼的編號與現實位置一一對應。③貼二維碼間隔一般要求在1m以內,(碼和碼之間走的是開環運動,理論上間距越小則到點精 度越準另外貼碼間距小的情況下AP站點可以不建立在二維碼上但到點精度也會有稍許影響)。 ④二維碼盡量要貼在一條直線上,如果貼歪可能會導致到點精度差和到此點后機器人減速。
⑤注意二維碼都有獨立的編號,使用的二維碼不要有同號的,掃描后面一個二維碼時會覆蓋前 面的二維碼。
# 相關參數說明
在機器人模型PGV配置界面,需要配置一些參數,下面對這些參數做出說明:
首先是basic下的:
onOpenTime:pgv 開機時間,配置 pgv 開機時間;
id:設備 id,位置引導視覺系統的編號;
x:在 x 軸位置,右手坐標系下的 x 位置,如小車模型中坐標;
y:在 y 軸位置,右手坐標系下的 y 位置,如小車模型中坐標;
z:在 z 軸位置,右手坐標系下的 z 位置,鏡頭到二維碼距離;
yaw:安裝角度,右手坐標系下朝向角,如小車模型中坐標(不清楚 PGV 朝向時,可將二維碼 x 方向與車體 x 方向對齊,并使其位于 PGV 視野中,讀取此時 PGV 返回的角度(為弧度制,注意轉換),取相反數填入模型文件);
upside:是否正裝,所配置位置引導視覺系統的安裝位置是否為正裝,若正裝則勾選該項,反裝則不勾選;
xUnit:x 單位,PGV 返回 X 數值單位,換算為 m 需要乘的系數;可通過查看 PGV 使用說明書方式獲得;
xRange:X 方向范圍,PGV 能看到的 X 方向的范圍,單位為 m,請根據實際情況進行填寫;
yUnit:y單位,PGV 返回 Y 數值單位,換算為 m 需要乘的系數;可通過查看 PGV 使用說明書方式獲得;
yRange:Y 方向范圍,PGV 能看到的 Y 方向的范圍,單位為 m,請根據實際情況進行填寫;
angleUnit:角度單位,PGV 返回角度信息的單位,換算為"°"時的單位;
然后是 func 下面的參數:
adjust:調整,AGV 到達目標點,會根據二維碼的位置做調整;
localization:定位;
adjustLocalization:調整加定位;
最后是 brand 下面的參數:
P+F-R4-485:品牌名稱,已適配可選用品牌;
MS-PGV-485:品牌名稱,已適配可選用品牌;
# 相關報警及 FAQ
"55503": "rbk_pgv_loc is not activated",pgv 沒有啟用;
"54070": "PGV cannot find codes",pgv 沒有識別到二維碼;
"52127": "PGV connection error",pgv 連接錯誤;
"52128": "PGV info with mismatched device id",pgv 與設備 id 不匹配。

提交
仙工智能數字化系統全面支持信創
仙工智能榮登「2024 上海中小企業最具成長品牌榜百佳企業」
展會直擊丨仙工智能機器人新品上線,閃耀 LET 廣州物流展
展會預告丨新品系列搶「仙」看,LET 即將驚喜揭秘
仙工智能 3D 特征定位:場景參考物限制更小,定位穩定性更高