您的位置:首页 >> 新闻中心 >> 机器人新闻

机器人新闻

  • NAO 机器人在特殊迷宫环境行走导航

  • 迷宫解谜是古老而富有趣味的问题, 随着机器人技术的不断发展, 仿人机器人走迷宫这一问题因 兼具科研、竞技、展示意义, 而受到越来越多的关注。

    迷宫场景中路口 特征相似度高且交叉路口 较多, 部分学者采用预先布置路标的方式,仅通过识别特定的路标完成自 身的定位,降低了对硬件系统的要求。 George 使用常用的条形码作为路标 , 条形码返回的位置信息为NAO 机器人提供精准的室内导航能力,并且条形码识别过程迅速,提高了导航效率。 魏长云等人在室内不同场景张贴相对应路标  , 采用 sift 的图像特征识别方法对多个路标进行区分, 实现室内多场景导航。 但上述方法要求路标的识别不能错误或遗漏。 李超采用 Camshift/Kalman/PF 算法优化对路标识别中常见的问题 , 实际自主行走实验验证了识别的可靠性。 Julio 在不使用任何路标条件下 ,利用wall-following算法对类似迷宫场景中的墙体和地面进行了区分, 但是单目摄像头返回的图像信息无法感知机器人与墙体间的距离, 从安全的角 度考虑, 若 NAO 在行走过程中与迷宫中的墙壁发生碰撞,易导致机器人跌倒并导致迷宫解密任务失败。 为了解决该问题,Faragasso 将轮式移动机器人视觉伺服导航方法运用 在 NAO机器人中 , 控制 NAO 在长廊场景的道路中央安全行走。

    参考上述类迷宫场景导航方法的优缺点, 在外部环境和机器人内置行走、感知等核心功能不确定的前提下, 本文重点研究如何成功实现 NAO 走出 迷宫, 为 NAO 机器人的其它系统应用提供参考。


    导航系统设计

    1.1 NAO 机器人与迷宫环境

    本文采用 NAO 机器人作为实验的硬件平台, 由 法国 Alde-baran 公司 研发的一种小型仿人机器人, 实验采用的是 3.2 版本, 它高 57.4cm , 宽 27.5cm , 有 25 个自 由 度。 该版本采用 AMD研发的 Geode 系列集成处理器, 主频 499MHz , 缓存 128kb , 提供 C++ 等多种语言 Python 、环境下的开发接口 。 如图 1 所示, 迷宫场景由 地面和无标记的墙壁组成, 地面覆盖绿色短绒地毯, 墙面为纯白 色, 墙壁之间的宽度仅为 NAO 机器人宽度的 1.8 倍,墙高 60cm , 并在“ T ”型交叉路口 张贴直径约 20cm 的圆形标记物, 迷宫可增设多个入口 和出 口 , 例如, 图 1 中的 A 、 B 口 可任意设定为出 入口 。 除此之外, 迷宫中无其它辅助设备, 环境感知依靠 NAO 机器人内置的摄像头和声呐传感器, 所有导航程序均由NAO 集成处理器实时执行。

    图 1 NAO 在迷宫场景的步行导航


    1.2 导航系统框架

    NAO 头部单目 摄像头采集图像, 然后对采集的图像信息进行图像处理与图像特征提取, 通过图像特征获取机器人在迷宫中的相对位置信息, 并识别出 迷宫中的路口 类型, 最后根据路口类型制定相应行走策略, 通过当前路口 。


    2 迷宫场景的视觉导航方法

    2.1 视觉图像处理与图像特征提取

    视觉图像处理与图像特征提取是从采集的图像信息中提取墙壁与道路间的边界线和圆形标记物轮廓, 定义 NAO 左侧墙体与道路间的边界线称为左边界线, 同理 NAO 右侧和前侧与道路间的边界线称为右边界线和前边界线。 设定提取直线的斜率范围筛选出 符合边界线特征的线条, 标记物轮廓由 Hough 圆检测得到。 边界线特征提取方法是基于 OpenCV 库实现的, 处理过程如图 2 所示: ①NAO 在长廊场景中拍摄的图像信息, 如图 2a所示; ②Canny 算法进行边缘检测 得到 图 2b 中 的 白 色轮廓;③ 基于概率的 Hough 变换提取线段, 线段为图 2c 所有的虚线条; ④ 根据斜率和 y 轴截距对图 2c 中虚线段进行分组, 剔除斜率大于设定阈值的线段, 得到符合相应边界线特征的线段集合,接着获取每个集合中所包含线段端点的横坐标值并对其排序,寻找出 最大和最小两个横坐标值, 最后将这两个横坐标对应的端点首尾相连完成直线的拼接, 图 2d 中的两条实线段为直线拼接后得到左边界线和右边界线。

    图 2 图像处理与特征提取过程


    2.2 偏航矫正

    NAO 在迷宫内 行走依赖双腿, 而双腿行走由 于摩擦与碰撞易产生前进方向的位置偏移, 且行走过程中身体的摇摆会影响到传感器准确感知环境。 从安全的角 度, 需实现 NAO 行走时的自 主偏航矫正, 避免与墙壁发生碰撞。 偏航矫正主要的过程为:根据提取的边界线特征判断 NAO 与墙壁的相对位置, 若当前边界线特征只有左边线, 则 NAO 向 右小角 度转动, 若只有右边线则向 左小角 度转动, 若同时存在则向 前直行, 以 使得 NAO 保持在道路中央行走。


    2.3 L 型路口

    当 NAO 机器人行走至转角 处时如图 3a 所示, 提取的边界线特征如图 3b 所示, 若仅通过前边界线和左右边界线存在的组合情况控制机器人在路口 转向 会存在如下问题:

    1 )如图 3b 所示, NAO 向路口 前行时,左边界线会逐渐变短,在 NAO 未到达路口 时图像处理已无法提取出 左边界线特征, 触发机器人提前转向 , 提升与左侧墙壁碰撞的机率, 故转弯时机无法精确控制。

    2 )相 对于 NAO 的 体积, 迷宫路口 的 空 间 有 限, 综 合考虑NAO 转弯半径和转向时的偏移和打滑, 转弯过程中 NAO 与墙壁可能发生碰撞。

    为保证 NAO 在路口 转向时与墙壁保持安全距离, 本文利用NAO 机器人的声呐传感器提出 一种声呐校正算法, 控制机器人躯干与正前方墙体之间的距离和自 身姿态。 NAO 自 身安装有两组声呐, 位于胸口 处, 检测角 度范围为 120° 扇 形区域, 检测距离为 0.20m~0.8m , 精度在 1cm~4cm , 探测 距离越小, 精度越高。根据以上硬件特性, 声呐满足在转角处校正自 身姿态的需求。

    声呐校正算法是指仅在图像信息提取到前边界线特征时,启 动并获取声呐信息, 测量与正前方墙体的距离, 若左右两组数值小于设定的安全阈值范围 d 1 , 则 NAO 保持当前运动状态, 若大于 d 1 则调整 NAO 与正前方墙壁的距离至设定的安全值 d 2 ,重新读取左右两组声呐信息并计算所测距离的差值, 若该差值小于预先设定阈值范围 d 3 , 则表明 NAO 身体朝向 与前方墙壁保持平行, 校正结束, 否则左右小幅度转动, 直至该差值处于预先设定阈值范围 d 3 内。

    声呐校正结束后, NAO 会处在路口 的中央位置, 接着向 左向 右 90° 转动头部, 采集身体左右两侧的场景图像, 采用均值哈希算法计算并比较两张图像的哈希值, 若汉明距离超过设定阈值, 则说明图像中包含非墙壁区域, 进一步计算图像的灰度值参数, 非墙壁区域背景杂色多, 图像灰度值相对于纯色的墙壁偏小, 从而识别出 无墙壁一侧, 控制 NAO 向 无墙壁一侧转弯行走90° 角 , 以通过“ L ”型路口 。

    图 3 靠近“ L ”型路口 图像特征提取结果


    2.4 封闭路口

    提前预判到封闭路口 后, NAO 可以直接转向 离开, 提高行走效率, 图 4a 为在靠近封闭 路口 NAO 的位置信息, 提取边界线特征如 4b 所示。 NAO 识别到前边界线后, 利用声呐校正算法调整自 身与正前方墙体之间的相对距离和相对朝向 , 调整完毕后拍摄左右两侧照片, 利用均值哈希法比较两张照片的相似性,若汉明距离小于设定阈值, 则判定左右两侧均为墙体, 直接转动180° 反向离开封闭路口 。

    图 4 靠近封闭路口 图像特征提取结果


    2.5 “ T ”型路口

    机器人靠近“ T ”路口 时, 识别到标记物轮廓后, 利用标记物反馈的位置信息调整 NAO 的身体姿态, 使 NAO 的头部和躯干指向标记物的圆心, 接着利用单目 测距模型计算 NAO 在地面投影与标记物间的距离, 控制 NAO 走至标记物的正上方, 随后应用摄像头分别拍 摄 NAO 正前方、左侧、右侧的场景图 像, 运用“ L ”型路口 识别墙壁的方法判断正前方是否有墙壁, 若有则向右转动, 反之继续前行。


    上文所述的单目 测距原理下:

    1 )计算标记物反馈的位置信息。 位置信息为 NAO 头部的摄像头相对于标记物圆心的水平张角 α 和垂直张角 β ,利用提供的 API接口可直接获得 α 与 β 数值,也可根据标记物圆心坐标计算得到,如图 5a 所示,圆心坐标 P ( x , y )由 Hough 圆检测直接获得, C 为摄像机镜头,镜头的水平视角 α 1 =60.97° ,垂直视角 β 1 =47.64° ,在像素坐标系 o o 中,图像坐标系 o 1 的原点( u 1 , v 1 )位于其中心处, 采集的图像尺寸为 320* 240px ,图像中心的像素坐标即为( 160 , 120 ),由 三角 变换关系计算 α 与 β 等式如下:

    α/(α 1 ×π+180°)=(x-160)/320

    β/(β 1 ×π+180°)=(x-120)/240


    2 )根据 α 和 β 调整 NAO 头部的姿态, 使摄像头光轴通过标记物的圆心。
    3 )头部姿态调整结束后, 摄像头与标记物构成一个平面三角 形的单目 测距模型, 简化了计算, 原理如图 5b 所示。摄像头离地面的距离 H 和头部的俯仰角 度值 φ 可调用 API 获得, θ 值是摄像头与水平方向 安装夹角 为 39.7° , 由 此 NAO 在地面投影与标记物间的距离 s 为:

    s=H/tan ( θ×π÷180°+φ )

    图 5 NAO 单目 测距模型


    2.6 迷宫导航算法

    现综合考虑上述的所有路口 类型, 将 NAO 放在迷宫任意位置, 若检测到出 口 位置则结束导航, 组合不同路口 的行走策略得到的迷宫导航算法如图 6 所示, 用于指导 NAO 机器人在迷宫场景中安全行走。

    别计算标记物与 NAO 的相对距离, 测量和计算数据对比如表 1所示, 从表 1 可以看出 , NAO 与标记物相对位置较远时, 利用图像坐标系模型计算的距离值比调用内 置 API 的方法更接近真实值, 在近距离时, 调用内置 API 返回的水平张角 α 和垂直张角 β计算的距离值 s 更加准确。 两种方法计算结果与真实值的最大误差值为 1.4cm , 均满足单目 测距的要求。


    3.2 迷宫环境导航实验

    图 7 NAO 在迷宫环境中的导航实验现综合考虑长直线通道、“ L ”型路口 、“ T ”型路口 、封闭 路口构建如图 1 所示的迷宫环境, 运用 2.6 节所述的迷宫导航算法实现 NAO 从 A 口 走至 B 口 , 实际行走过程如图 7 所示, 虚线为NAO 期望行走轨迹, 实线为实际行走路线, 图 片的右上角 为实时图 像处理识别的路口 特征, 实验选用 NAO 嘴部位摄像头,NAO 头部初始姿态偏转角 设为 0° , 俯仰角 为 23° 。 左边界线集合中线段的斜率提取范围设为 -8.0~-2.0 , 右边界线集合中线段的斜率提取范围设为 1.5~5.5 , 0~14s 为利用偏航校正策略保持在长直线通道中央行走的过程, 抵达“ T ”型路口 后, 识别到圆 形标记物轮廓, 经单目 测距测量距离控制 NAO 精准走到标记物上。 在 t=43s 时, 比较正前方、左侧和右侧的图像基本参数值识别出“ T ”型路口 的无墙壁一侧并向 右侧转向 ; 在 t=58s 时识别到封闭路口 特征, 开启 声呐调整至与墙壁合适的位姿, 接着反向 离开封闭路口 ; 在 t=58~96s , NAO 重复执行“ T ”型路口 导航策略,识别到前方无墙壁继续直行; 在 t=96s 时, 识别到“ L ”路口 , 利用声呐校正算法调整自 身姿态并比较左右两侧的图像基本参数值识别出 无墙壁一侧, 并在 t=121s 时顺利抵达 B 路口 。 整个行走过程无人为修正机器人运动方向 , NAO 与墙壁始终保持安全距离, 未发生接触摔倒现象, 说明该方法可实现 NAO 机器人自 主、可靠的迷宫导航运动。


    4 结束语

    今后的工作如下:

    1 ) NAO 在地毯上连续行走很容易 摔倒, 改进步态, 提升行走能力;
    2 )补充迷宫中 4 通口 类型导航策略。



客户服务热线

13602858842

在线客服