# 二维码导航的使用场景
仙工智能的 AGV 支持多种导航方式,二维码导航是其中一种。在狭窄的环境、环境空旷又或者是环境变化比较大的场景下,通过粘贴导航用的二维码和安装在 AGV 车身下的 PGV 读头,可以实现准确、稳定的定位和导航。PGV(Position Guided Vision):位置导引视觉,可以用于支持二维码导航或色带导航
# 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 不匹配。
(转载)