冯铂凯, 张 阳
(沈阳建筑大学机械工程学院, 辽宁 沈阳 110168)
2020 全国乃至全世界都笼罩在新冠肺炎疫情的阴霾下,2020 年年初党中央国务院下达修建火神山、 雷神山的指令。但是在建设初期,大型机器及工程机械无法及时到位。 小型搬运机器人在此种场景下无疑会发挥极大的作用。
自主移动机器人的应用性日渐增强, 但由于应用领域与应用环境地形的多样性, 实际实验周期长且无法完全仿真可能遇见的情况, 所以采用软件模拟真实环境进行试验。
本文主要针对二维地图条件下, 将复杂地形拆分为子模块并通过创新的方法生成随机地图。 在随机地图中融合传感器数据构成可供路径规划仿真使用的环境。
在自主驾驶实现中, 需要用不同地图信息构建的数据集作为训练对象[1]。 普遍使用的方法是人工设置障碍物位置或使用随机数生成随机位置。 当环境复杂时,该方法效率较低。
在构建随机地图的需求下, 栅格地图具有同时满足多维度语义信息以及占用内存小的优点。 在此基础上,提出了一种有效提高栅格地图语义维度的方法, 该方法对于路径规划算法验证具有重要意义。
实际生活中有多种障碍物类型,依据机器人可通过性以及能量损耗性可将障碍物分为:无法通过、有向通过、损耗通过等三类如表1 中所示。 其中,无法通过障碍物常见的有墙、小溪或沟壑等;有向通过障碍物常见的有桥梁、隧道等;损耗通过障碍物常见的有草地或砂石路面等。
其中,在模型简化时采用上述模块表示,在实际地图生成时常使用特征颜色进行简化。
将无法通过类障碍物定义为A,且
表1 常见障碍物类型及模型简化
式中:n—同类障碍物编号;xk—障碍物横坐标;yk—障碍物纵坐标。
有向通过类障碍物定义为B,且
式中:n—同类障碍物编号;xk—障碍物横坐标;yk—为障碍物纵坐标;θk—障碍物与横坐标夹角;αk—障碍物可能存在的爬坡角度。
损耗通过类障碍物定义为C,且
式中:n—同类障碍物编号;xk—障碍物横坐标;yk—障碍物纵坐标;γk—路面能量损耗系数。
如上,为各子模块创建对象,针对其障碍物特征设置数组,将栅格地图每单元进行编号如图1 所示,通过映射及索引即可获取地图中障碍物信息。
图1 索引坐标局部
本文选用25×25 的栅格地图作为演示。 主要地图构建规则如下:
(1)生成25*25 的边界,并在其范围内随机生成互不重叠的满足最小长宽比的矩形 (本文以创建五个矩形块为例,矩形作为特殊任务房间)如图所示2(a)。
(2)标出坐标原点及各矩形块中心,利用三角剖分法[2,3]所有点连接获得如图2(b)的图像。
(3) 利用最小生成化树算法找出B 中连线的最短路径,如图2(c)所示,该路径保证所有任务房间机器人可达。
(4)由于在栅格地图中,像素级斜线无法保证障碍物特征的连续性,故将路径投影到X,Y 轴得到如图2(d)所示的红线。
(5)在地图随机生成过程中,易出现无障碍路径与无法通过障碍物的交叉,如图2(e)在地图中插入蓝线作为“河流”,因“河流”的无法通过特性,故将交叉点识别并转换为特定方向的有向障碍物。
(6)在剩余栅格单元中,随机放置三种类型子模块,并将其通过索引显示在栅格地图中完成地图构建, 最终效果如图2(f)所示。
图2 随机地图生成规则演示
机器人工作初期无法准确获取全局地图特征, 故地图整体对于机器人来说是未知的。 此处引入占据栅格地图概念。 机器人传感器扫过的栅格即可被认为地图状态已知,并与建立的随机地图局部特征匹配获得“真实”地图数据[4,5]。
如图3 所示, 每个栅格用二值数值0 和1 填充,0 表示该栅格被占用,1 表示该栅格没有被占用。 每个网格存储一个[0,1]之间的概率值,这个值越大,表示网格被占用的可能性越大;这个值越小,表示网格被占用的可能性越小。 对于单一栅格用p(s=1)表示无障碍状态的概率,用p(s=0)表示有障碍下的概率,引入测量值z,z∈{0,1}。
图3 局部栅格示意图
激光用于测量传感器到障碍物之间的位置关系,包含两个参数:激光角度和激光距离。 为简化模型,认为雷达发送激光后立即收到回波,不存在时间延迟。
本文主要涉及到三个坐标系:世界坐标系、机器人坐标系以及传感器坐标系,如图4(a)所示。 2D 激光雷达的测量结果都是相对于自身传感器中心的, 即以2D 激光雷达中心为坐标原点, 所有的测量结果最终都要转换到世界坐标系,完成计算。
当只考虑激光雷达其中一条激光检测状态时, 如图4(b)所示,假设机器人的位姿为(x,y,θ),测量的障碍物的距离为d,计算障碍物点的位置
再通过计算障碍物在栅格地图中的位置(i,j),进而获取障碍物栅格的集合。
图4 激光雷达建模
本文将使用基于人工势场法[6,7]的跟随机器人系统验证仿真平台的可用性和稳定性。 该算法将目标和障碍物分别看做对机器人有引力和斥力的物体, 机器人沿引力与斥力的合力来进行运动[8]。
其中,横向引力势场函数为:
式中:dob—机器人与静态障碍物的最小距离;B—斥力场增益;dsafe—单个障碍物的安全距离。
机器人通过自身传感器检测目标及障碍物信息,获得目标相对运动轨迹并通过坐标转换获得世界坐标系下的目标运动轨迹。
仿真结果如图5 所示。
图5 实验结果演示
其中栅格灰度值为226(如栅格编号59)的栅格为有向通过障碍物,灰度值为153(如栅格编号3)的栅格代表机器人未知环境。 为验证有向障碍物的物理特征,人为增加对照栅格,且根据障碍物特征参数标记方向(图5 中59、84 栅格中黑线代表方向)。 栅格60中圆点为跟随目标。当目标以图5 中灰度值为76 的细线轨迹运动时,机器人实时跟随结果路径如图6 所示。
图6 目标及机器人运动轨迹
由图6 可知, 机器人在跟随目标运动过程中因有向障碍物阻挡,自行规划出跟随路径。
本文提出一种基于栅格地图的低占用内存复杂地形下随机地图生成方法,并设置传感器数据建模。使用基于人工势场法的跟随机器人系统对该仿真环境进行验证。低内存的复杂地形地图, 在路径规划算法验证中可以提供更多测试数据, 并且地图随机生成特性更为积累测试数据集提供便利。