siemens x
機(jī)器人

仙工智能 | 識別專欄之二維碼導(dǎo)航

2025China.cn   2021年11月25日

# 二維碼導(dǎo)航的使用場景

  仙工智能的 AGV 支持多種導(dǎo)航方式,二維碼導(dǎo)航是其中一種。在狹窄的環(huán)境、環(huán)境空曠又或者是環(huán)境變化比較大的場景下,通過粘貼導(dǎo)航用的二維碼和安裝在 AGV 車身下的 PGV 讀頭,可以實現(xiàn)準(zhǔn)確、穩(wěn)定的定位和導(dǎo)航。PGV(Position Guided Vision):位置導(dǎo)引視覺,可以用于支持二維碼導(dǎo)航或色帶導(dǎo)航

# PGV 安裝和注意事項

  PGV 在安裝的時候一般安裝在小車底部,且垂直照向地面,在安裝的時候,首先需要保證 PGV 的離地高度適中,保證當(dāng)二維碼處于 PGV 正下方的時候,PGV 可以完整的看到二維碼;其次需要注意 PGV 的安裝方向和安裝角度,盡量保證 PGV 水平安裝。

# 模型配置

  PGV 的 yaw (r) 角,需要通過將二維碼與車子平行,從 PGV 中讀取 angle 角,然后 PGV 配置中的 yaw 即為 -angle。

  正確填寫 yaw 值后,執(zhí)行 pgv 標(biāo)定,在標(biāo)定完之后可以看到如下圖所示的參數(shù)列表,單位 xUnit、yUnit 為 pgv 配置的坐標(biāo)值,按照實際配置填寫;本文檔配置坐標(biāo)單位為 0.1mm,所以填寫 0.0001m。

  "func" 是指位置引導(dǎo)視覺系統(tǒng)的功能,請根據(jù)實際情況進(jìn)行勾選。

  adjust:調(diào)整;

  localization:定位;

  adjustLocalization:定位+到點角度調(diào)整。

  配置完成后可在【運(yùn)行狀態(tài)】-【PGV】一欄看到讀碼信息:

# PGV 的標(biāo)定

  仙工智能提供兩種 PGV 標(biāo)定方式

  PGV 標(biāo)定和 PGV -里程計標(biāo)定

  1、PGV 標(biāo)定:

  PGV 標(biāo)定適用于安裝有 PGV(上視或下視均可)設(shè)備的車輛,每個 PGV 設(shè)備都對應(yīng)一個此類型的標(biāo)定項。

  PGV 標(biāo)定需要采集:PGV 檢測到的二維碼位姿數(shù)據(jù)和里程計輸出。使機(jī)器人在初始狀態(tài)下能用待標(biāo)定的 PGV 檢測到二維碼,機(jī)器人將執(zhí)行如下動作:調(diào)整機(jī)器人位姿,使 PGV 對齊到二維碼中心;前進(jìn)-后退若干次;圍繞(模型文件所描述的)PGV 中心旋轉(zhuǎn)一周。

  2、PGV-里程計標(biāo)定:

  PGV-里程計標(biāo)定適用于未裝備勾選了用于定位的激光雷達(dá)設(shè)備,同時裝備了下視 PGV 的雙輪差動車(這樣的車輛始終依靠檢測二維碼進(jìn)行定位)。每個下視 PGV 都對應(yīng)一個該類型的標(biāo)定項。PGV-里程計標(biāo)定需要采集:源自 PGV 的車輛定位數(shù)據(jù)和行走電機(jī)編碼器數(shù)據(jù)。鑒于 PGV-里程計標(biāo)定過程中,需要盡可能多地獲取源自 PGV 檢測到的二維碼位姿信息的定位數(shù)據(jù),因此需要一個二維碼密集的區(qū)域進(jìn)行標(biāo)定。該區(qū)域最簡單的形式為一個連續(xù)的條狀二維碼區(qū)域,如下圖所示:

  此條狀二維碼區(qū)域同時還具有如下屬性(參見下圖)

  二維碼坐標(biāo)系的 x 軸對應(yīng)于條狀區(qū)域的長邊;二維碼區(qū)域中,二維碼坐標(biāo)系下 x負(fù)方向那一端的二維碼稱為起始二維碼,開始執(zhí)行 PGV-里程計標(biāo)定時機(jī)器人應(yīng)位于 PGV 可檢測到此二維碼的范圍內(nèi)。

  使機(jī)器人在初始狀態(tài)下能用待標(biāo)定的 PGV 檢測到起始二維碼,開始標(biāo)定后機(jī)器人將執(zhí)行如下動作:調(diào)整機(jī)器人位姿,使 PGV 對齊到起始二維碼中心;前進(jìn)-后退若干次;原地逆時針-順時針旋轉(zhuǎn)若干次。

  3、PGV 標(biāo)定操作說明:

 ?、賹④囕v移動至可使 PGV 檢測到二維碼的中心位置,且使得機(jī)器人原地旋轉(zhuǎn)過程中始終能夠檢測到二維碼;

 ?、趯④囶^朝向可檢測到二維碼區(qū)域的中心位置,以使得車輛能在盡可能長的直行距離內(nèi)檢測到二維碼;

  ③勾選標(biāo)定執(zhí)行標(biāo)定,完成后設(shè)置標(biāo)定結(jié)果

  注:如果與里程計相關(guān)的標(biāo)定項顯示為未標(biāo)定,則執(zhí)行相應(yīng)標(biāo)定并設(shè)置標(biāo)定結(jié)果;目前 PGV 的標(biāo)定要依賴激光,必須先標(biāo)定激光后才能開始標(biāo)定機(jī)器人。

# 二維碼粘貼要求

  二維碼一般粘貼在地面上,在粘貼的時候,首先要保證二維碼粘貼平整,如果粘貼不平整會導(dǎo)致 PGV 識別失敗;二維碼上面的不可以出現(xiàn)打印不清晰或者有涂抹存在,這些都會導(dǎo)致 PGV 識別失敗。在貼二維碼的時候,需要保證二維碼的朝向一致且最好要沿著一條直線粘貼。貼?維碼前先規(guī)劃好路徑、特別是互斥區(qū)。張貼前線使?墨?打線、兩條平?線需保證絕對平? (不然地圖規(guī)劃將不好操作)。貼碼時先把二維碼中間的間距記錄?便建圖。

# 二維碼建圖說明

  1、建圖在地圖邊緣??地?建圖(如圖),調(diào)整設(shè)置參數(shù)與地圖檢測參數(shù)。先建?維碼(間隔?于 ??,與實際貼碼情況?致)然后在建需要的點位,點位建在?維碼上(Roboshop Pro2.3.1.4 以上可以直接復(fù)制坐標(biāo))。

  2、確認(rèn)機(jī)器人定位:使??級區(qū)域如圖設(shè)置,將地圖框起來,當(dāng)?shù)貓D中機(jī)器?模型在?級區(qū)域且掃到了?維碼機(jī)器? 將?動找到定位。

# 二維碼導(dǎo)航設(shè)置教程

  1、二維碼位置獲取:

  在使用二維碼導(dǎo)航車輛之前務(wù)必保證機(jī)器人已經(jīng)配置及標(biāo)定完成;現(xiàn)場貼放完二維碼之后,在 Roboshop Pro 首頁選中機(jī)器人,然后在工具欄右側(cè)會出現(xiàn)開始識別按鈕。如下圖:

  點擊開始識別,然后將機(jī)器人手動控制到二維碼下方,機(jī)器人停止運(yùn)動后會顯示二維碼的位置,然后會在地圖上繪制二維碼,依次控制到所有二維碼下方直到所有二維碼識別完,然后點擊停止識別,這時候?qū)?dāng)前地圖上傳,就成功記錄所有二維碼的世界坐標(biāo)位置,如下圖所示:

  2、在二維碼上增加站點:

  在二維碼導(dǎo)航中,機(jī)器人通過讀取二維碼的信息確定機(jī)器人此時的位置,機(jī)器人通過地圖上站點(例,AP 點)及線路來確定下一步的行進(jìn)方向;在地圖編輯模式,首選從左側(cè)工具欄選擇站點(例,AP),在靠近二維碼的的任意位置落下,然后再拖動此 AP 點,當(dāng) AP 點靠近二維碼時,AP 點會自動吸附至二維碼上,如下圖所示:

  按照此步驟將所有二維碼上均吸附上 AP 點,并規(guī)劃路線,如下圖所示;

  注意:地圖上二維碼的朝向一定要與實際地面上二維碼的朝向一致;AP 點的方向可以根據(jù) .smap 的實際需要進(jìn)行調(diào)整;

  3、二維碼區(qū)域定位:

  接下來選擇需要使用二維碼導(dǎo)航的區(qū)域,在地圖編輯中,選擇區(qū)域 ≥ 高級區(qū)域中選擇二維碼區(qū)域,覆蓋在需要二維碼導(dǎo)航的區(qū)域,如下圖所示:

  該區(qū)域配置完成后保存推送,然后機(jī)器人運(yùn)行到該區(qū)域后自動切換為二維碼定位,離開該區(qū)域后自動切換為激光定位;

  4、二維碼導(dǎo)航注意事項:

 ?、賂agArea 區(qū)域務(wù)必覆蓋所有需要二維碼導(dǎo)航的站點及線路;

 ?、谠?.smap 上保證二維碼的編號與現(xiàn)實位置一一對應(yīng)。③貼二維碼間隔一般要求在1m以內(nèi),(碼和碼之間走的是開環(huán)運(yùn)動,理論上間距越小則到點精 度越準(zhǔn)另外貼碼間距小的情況下AP站點可以不建立在二維碼上但到點精度也會有稍許影響)。 ④二維碼盡量要貼在一條直線上,如果貼歪可能會導(dǎo)致到點精度差和到此點后機(jī)器人減速。

  ⑤注意二維碼都有獨(dú)立的編號,使用的二維碼不要有同號的,掃描后面一個二維碼時會覆蓋前 面的二維碼。

# 相關(guān)參數(shù)說明

  在機(jī)器人模型PGV配置界面,需要配置一些參數(shù),下面對這些參數(shù)做出說明:

  首先是basic下的:

  onOpenTime:pgv 開機(jī)時間,配置 pgv 開機(jī)時間;

  id:設(shè)備 id,位置引導(dǎo)視覺系統(tǒng)的編號;

  x:在 x 軸位置,右手坐標(biāo)系下的 x 位置,如小車模型中坐標(biāo);

  y:在 y 軸位置,右手坐標(biāo)系下的 y 位置,如小車模型中坐標(biāo);

  z:在 z 軸位置,右手坐標(biāo)系下的 z 位置,鏡頭到二維碼距離;

  yaw:安裝角度,右手坐標(biāo)系下朝向角,如小車模型中坐標(biāo)(不清楚 PGV 朝向時,可將二維碼 x 方向與車體 x 方向?qū)R,并使其位于 PGV 視野中,讀取此時 PGV 返回的角度(為弧度制,注意轉(zhuǎn)換),取相反數(shù)填入模型文件);

  upside:是否正裝,所配置位置引導(dǎo)視覺系統(tǒng)的安裝位置是否為正裝,若正裝則勾選該項,反裝則不勾選;

  xUnit:x 單位,PGV 返回 X 數(shù)值單位,換算為 m 需要乘的系數(shù);可通過查看 PGV 使用說明書方式獲得;

  xRange:X 方向范圍,PGV 能看到的 X 方向的范圍,單位為 m,請根據(jù)實際情況進(jìn)行填寫;

  yUnit:y單位,PGV 返回 Y 數(shù)值單位,換算為 m 需要乘的系數(shù);可通過查看 PGV 使用說明書方式獲得;

  yRange:Y 方向范圍,PGV 能看到的 Y 方向的范圍,單位為 m,請根據(jù)實際情況進(jìn)行填寫;

  angleUnit:角度單位,PGV 返回角度信息的單位,換算為"°"時的單位;

  然后是 func 下面的參數(shù):

  adjust:調(diào)整,AGV 到達(dá)目標(biāo)點,會根據(jù)二維碼的位置做調(diào)整;

  localization:定位;

  adjustLocalization:調(diào)整加定位;

  最后是 brand 下面的參數(shù):

  P+F-R4-485:品牌名稱,已適配可選用品牌;

  MS-PGV-485:品牌名稱,已適配可選用品牌;

# 相關(guān)報警及 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 與設(shè)備 id 不匹配。

(轉(zhuǎn)載)

標(biāo)簽:仙工智能 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會
專題報道