Professional Documents
Culture Documents
基于ROS的多AGV在交叉路口下协同控制策略 牛秦玉
基于ROS的多AGV在交叉路口下协同控制策略 牛秦玉
以激光雷达为主要环境感知传感器,应用激光即时定
0 引言
位与地图构建( Simultaneous Localization And Mapping,
随着计算机技术和人工智能学科的发展,移动机 SLAM) 算法进行室内智能移动机器人即时定位的方
[1]
器人技术突飞猛进 。 现阶段,移动机器人正朝着自 式被广泛应用。文献[3]对单个室内移动机器人定位
组织、自学习和自适应的智能化方向发展。 自动搬运 方式进行了详细的介绍与分析。 在大型仓储物流运
车( Automated Guided Vehicle,AGV) 作为智能移动机 输车间中,通常需要多辆自动搬运车协作完成任务,
器人的应用代表,越来越多地应用于智能生产线及各 以提高物料运输效率,因此多 AGV 协同工作就显得极
[2]
种自动化生产车间中 。AGV 导航的核心问题是定 其重要。文献[4]在机器人操作系统 ( Robot Operating
位,传统的室内 AGV 常用的导航定位方式主要有磁导 System,ROS) 下以 激 光 雷 达 为 核 心 传 感 器 设 计 了 多
航和激光导航。 磁导航因需要破坏地面环境铺设磁 AGV 定位导航系统。 在多 AGV 协同工作过程中,交
条,且磁条容易被穿梭车辆损坏,以及磁条磁性逐渐 叉路口的避让和最优顺序控制是影响工作效率的关
消失等问题,逐渐被激光导航所替代。 在激光导航中 键因素。对于交叉路口的避让控制策略,文献[5]针
33
2020 年第 10 期 现代制造工程( Modern Manufacturing Engineering)
1 环境建模与地图标定
1.1 环境地图构建
SLAM 算法是现阶段发展比较成熟的算法,根据
不同传感器种类可以分为激光 SLAM、视觉 SLAM( VS-
LAM) 和多传感器融合 SLAM。SLAM 算法可以在室
图1 AGV 工作区间环境地图及路径规划
内、室外、空 中 和 水 下 等 多 种 场 景 应 用。 对 于 视 觉
SLAM 来说,其应用场景更广,并且可以提取语义信 1.2 路径规划
息,但是其工作时受光影响大,运算量较大,在暗处和 对于单个 AGV 的路径规划,可以利用已经存在的
无纹理区域无法工作,构建的地图难以直接应用于路 比较成熟的算法快速求出最优路径; 但是如果多 AGV
径规划和导航,不适合用来进行室内 AGV 的定位与导 协同作业时仅按照单 AGV 路径最优求解,则会出现路
航。激光 SLAM 可靠性和建图精度较高,能够有效地 径冲突。因为外界的环境是复杂的,故依靠算法规划
解决室内 AGV 的即时定位与环境地图构建问题,其生 路径,存在着很大的不确定性。 为了提高稳定性以及
成的二维栅格地图可直接用于路径规划和导航。 由 限制车辆的自由度,本文在构建好的工作区间环境地
于激光 SLAM 和视觉 SLAM 各有优缺点,因此多传感 图上为车辆规划合理行驶路线( 见图 1) 。每一条路径
器融合的 SLAM 方案将是未来发展的必然趋势。 的转折点都对应一个 X、Y 坐标信息,每个 AGV 接到
[11] *
目前激光 SLAM 算法根据所采用的数学思想 运输任务后,根据起始点和目标点,利用 A 算法处理
可以分为 2 类,即 基 于 滤 波 器 和 基 于 图 优 化 的 激 光 思想,以已经规划好的路线连接点为采样节点,规划
SLAM。其中 Gmapping 作为目前使用最为广泛的二维 出一条最优的车辆行驶路径。
34
牛秦玉,等: 基于 ROS 的多 AGV 在交叉路口下协同控制策略 2020 年第 10 期
2 协同控制策略及算法流程
2.1 队列控制区的定义
基于十字交叉路口冲突模型,本文提出了一种交
叉路口队列控制区划分的协同控制思想。 队列控制
区划分示意图如图 3 所示。队列控制区主要是依据队
列先入先出这种特殊的数据结构,通过在每一个交叉
路口设置 Qin 区和 Qout 区,即入队区和出队区,来标
识每一辆 AGV 在到达和通过交叉路口时的状态。 其
中 Qin 区的长度 d in 标明了特定车体尺寸以及车载传
感器设定的安全刹车距离。 根据 AGV 的行驶速度选
择合理的 d 值,能够保证在 AGV 进入 Qin 区刹车后与
交叉路口有合适的距离,这样既避免了当 AGV 进入
Qin 区后因过早停车而导致继续通过交叉路口时花费
的时间过长、效率低的问题,也避免了因停车较迟而
造成其冲出 Qin 区影响其他 AGV 的行驶。Qout 区则
标定了 AGV 是否安全通过交叉路口,其长度 d out 表示
AGV 的长度,即车尾完全进入该区之后则代表该 AGV
通过交叉路口。L 1 表示十字交叉路口长度。
图3 队列控制区划分示意图
ik = { 0
1
第 k 个入队区无 AGV 进入
第 k 个入队区有 AGV 进入
( 2)
ok = { 1
0 第 k 个出队区无 AGV 进入
第 k 个出队区有 AGV 进入
( 3)
{
tin ksx <a ux <tin kex
( 4) 当有 AGV 到达交叉路口时,将该 AGV 信息存入
tin ksy <a uy <tin key
{
相应的队列内部结构体数组,队列控制算法流程如图
tout ksx <a ux <tout kex
( 5) 6 所示。
tout ksy <a uy <tout key
2.3 队列设计
队列是一 种 特 殊 的 线 性 表,由 队 首 指 针 控 制 入
队,由队尾指针控制出队,因最先进入队列的节点将
最先出队,所以队列具有先入先出的特征。 本文依靠
这个特征设计队列控制区,即一个队列控制区监管一
个交叉路口。 队列内部的每一个单元都是一个结构
体数组,其数据结构设计如图 4 所示,其中 Agvtask 结
构体中包含 7 个属性,即 agvId、x、y、path、currentPath、
qoutId 和 status,分别表示当前 AGV 的编号、X 坐标、Y
坐标、行走 路 径、当 前 所 在 路 段、Qout 区 编 号 和 行 车
状态。
图4 队列内部结构体数组数据结构设计
2.4
算法流程
AGV 在执行任务过程中每到达一个交叉路口都
会携带该 AGV 当前行驶的动态车辆信息以及此次任
务行驶路径信息,并且将其带入该交叉路口所对应的
图6 队列控制算法流程
队列里。每辆 AGV 到达交叉路口是否继续行驶由监
管该交叉路口的队列决定。 当 AGV 进入 Qin 区后会 第一辆 AGV 进入交叉路口 Qin 区时,不改变其行
36
牛秦玉,等: 基于 ROS 的多 AGV 在交叉路口下协同控制策略 2020 年第 10 期
表2 第 1 类互不约束模型数据库参数配置
agv_id p_x p_y t_path status
1 6.274 4.105 f-d-g-o-t-y 1
2 7.198 3.645 q-w-p-k-l 1
3 6.831 2.910 c-n-m-e-z 1
4 5.832 3.167 u-r-v-x 1
4 结语
本文提 出 的 基 于 队 列 控 制 的 交 叉 路 口 下 的 多
AGV 协同控制策略经过实验验证具有较强的实用性。
其采用激光 SLAM 的定位方式,避免了因铺设磁条而
导致车间地面 环 境 被 破 坏; 以 数 据 库 为 数 据 转 存 终
端,降低了程序模块之间的耦合度以及车辆调试的难
度; 应用队列控制思想,提高了多 AGV 运输的工作效
率,较好地解决了双车道十字交叉路口的避让问题, 作者简介: 牛秦玉,博士,教授,硕士生导师,主要研究方向为汽车电控
并且该队列控制思想可以应用于单车道路口避让以 和机电一体化控制。
畅科剑,通信作者,硕士研究生,主要研究方向为智能移动机
及其他路口避让问题; 为解决大型车间内多 AGV 协同
器人导航系统以及多车协同控制。
控制问题提供了研究基础。 李珍惜,硕士研究生,主要研究方向为汽车智能驾驶。
定位问题是多 AGV 协作的关键,本文仅以激光雷 E-mail: 1315129111@ qq.com
达作为主要定位传感器,多传感器融合的 SLAM 方法 收稿日期: 2020-01-09
38