技术干货 | 识别专栏之二维码导航


    二维码导航的使用场景
    仙工智能的 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 不匹配。