SCI论文(www.lunwensci.com)
摘要:随着无人配送的推广与应用, 自动导引运输车 (AGV) 的导航方法成为了研究的热点 。主要针对校园配送 AGV 的地图构建 和路径规划展开研究, 地图构建由即时定位与地图构建 (SLAM) 来实现, 路径规划则根据已构建好的地图, 在点与点之间计算好 最优路线 。采用基于 LOAM 的算法, 将 SLAM 问题分为高频的运动估计和低频的环境建图 。在运动估计中通过曲率计算提取平面点 和边缘点两种特征, 采用 scan-to-scan 方式进行特征匹配, 并建立误差模型 。在环境建图中采用 map-to-map 方式匹配, 运用 PCA 算法提取点云中的特征点, 利用 LM算法来求解 。再结合 A*算法和 DWA 算法获得最优路径, 并提高了对环境的适应能力 。实验结 果表明, 提供的地图构建及路径规划方法能够满足AGV 在校园环境多种不同模拟场景中的定位导航需求, 具有一定的可行性和可靠性。
关键词 :AGV,SLAM,地图构建,路径规划
Research on Mapping and Path Planning of the AGV for Campus Delivery Based on SLAM
Zhu Weizhi, Xie Juanhong, Lu Zirong
(Guangdong Technology College, Zhaoqing, Guangdong 526100. China)
Abstract: With the popularization and application of unmanned delivery, the method of AGV navigation has become a research hot spot. Focusing on the mapping and path planning of the AGV for campus delivery, the mapping is realized by SLAM, and the path planning calculates the optimal route between points according to the mapping . Using the algorithm based on LOAM, the SLAM problem was divided into high-frequency motion estimation and low-frequency environment mapping . In motion estimation, two kinds of features, plane point and edge point, were extracted by curvature calculation, and the scan to scan method was used for feature matching, and then the error model was established. In the environmental mapping, map to map matching was adopted, PCA algorithm was used to extract the feature points in the point cloud, and LM algorithm was used to solve the problem. Combined with A* algorithm and DWA algorithm, the optimal path was obtained, and the adaptability to the environment was improved. The experimental results show that the mapping and path planning methods provided can meet the AGV positioning and navigation requirements in a variety of different simulation scenes in the campus environment , and have certain feasibility and reliability.
Key words: AGV; SLAM; mapping; path planning
0 引言
随着科技的发展, 无接触配送 、无人配送等多个热 门词汇开始进入我们的视线[1] 。无人配送是指物品流通环 节中没有或是少量人工参与, 用机器替代人工或者人机协 作的配送方式, 达到提高效率、减少成本的目的。无人配 送方式需求场景众多, 包括快递、外卖、B2C 零售、商超 便利 、生鲜宅配 、餐馆/KTV 配送 、C2C 配送需求等, 为 生产生活需求提供了相当大的便利性[2] 。在国内外疫情防 控形势依然严峻的情况下, 无人配送无疑是最安全、最有 效率的一种配送方式, 在未来将成为主流趋势。
在无人配送方面, 国内外都做了许多研究与实践 。 Nasri 等[3]讨论了在不确定交通条件下, 如何优化无人驾 驶车辆的路线和速度 。张明雨[4]利用代价地图的 cost 信息来构建状态空间, 结合 Q-earning 算法以达到修改全局路 径实现机器人的动态导航 。2018 年, 阿里菜鸟物流无人 车实现了支持用户扫码和刷脸功能 。2021 年, 美团发布 了新一代自研 L4 级别无人驾驶车, 并投入到了买菜服务 配送中。
在当今大学校园里, 学生人数众多, 学校可以说是 传染病突发公共事件的高发场所[5] 。基于此, 本文提供 一种校园 AGV (Automated Guided Vehicle) 地图构建及 路径规划设计方案 。AGV 是一辆自动导引运输车, 其搭 载的激光雷达会实时扫描周边环境, 采集周围的环境信 息, 对环境监测信息发出反应, 识别移动与非移动信号, 从而映射到 AGV 系统的传动机构, 实现避障, 并根据设 定地点进行路线规划及导航。
1 AGV小车总体设计
1.1 控制部分
小车的控制部分由一块树莓派 4B作为主控, Ardui⁃ no 作为编码电机控制器 。在树莓派 4B 上烧录好 Ubuntu 系统, 并安装 ROS机器人操作平台 。电脑可通过树莓派 上的蓝牙和 WiFi 串口上传或下载相关驱动和数据, 通过 Rviz 观察 SLAM 建图情况并监控小车实时动态 。Arduino 通过电脑端的 Arduino IDE将编码电机的驱动程序下载下 来, 并通过 USB线及相应串口通信驱动连接至树莓派 。
1.2 动力部分
小车的动力部分由一对 12 V带编码器的有刷直流电 机 、一套 34 ∶ 1 的齿轮减速器 、一对轮胎 、一个导向轮 以及一块 12 V 蓄电池组成 。小车通过 Arduino 可以接收 到电机上的编码器传达的传动数据, 通过齿轮减速箱可 以有效地放大扭矩。
1.3 雷达部分
小车搭载的激光雷达型号是思岚 RPLIDAR A1. 采 用激光三角测距技术, 扫描频率 5.5 Hz, 采样频率 8 k/s, 扫描范围最远 12 m, 测距核心顺时针旋转, 可实现对周 围环境的 360°扫描测距检测, 从而获得周围环境的轮廓 图[6] 。该激光雷达对 ROS 系统具有良好的整合适配性, 让机器人能更快速 、精确地建图。
2 基于SLAM 的全局地图扫描
2.1 定位导航
定位导航包括定位 、建图和路径规划 。定位和建图 通常由 SLAM (Simultaneous Localization and Mapping) 来 实现, 而路径规划则是根据现有的地图, 在点与点之间 计算好最优路线[7] 。SLAM 和运动规划是 AGV 的两个核心 技术, SLAM 技术可以得到稀疏的定位地图, 结合后处 理可以得到稠密的三维点云地图[8] 。此时再将其转化为 栅格化地图, AGV就可以在这个地图的基础上, 结合传 感器获取外部环境信息进行运动规划, 找到一条适合自 身行走的最佳路径。
2.2 基于 LOAM算法的地图构建
2.2.1 特征提取
LOAM (Lidar Odometry and Mapping) 算法[9]的两个 核心模块为特征提取 (Lidar Registration) 和里程计解算 (Odometry and Mapping)。 本文提取的两种特征分别为平 面点和边缘点 。提取特征点的常用方法有 3 种: 特征向 量法 、直方图法和旋转图像法 。然而, 虽然这些方法能 够准确地覆盖一帧的大部分信息, 但是由于计算量大, 很难用于激光 SLAM 的相邻帧匹配, 因此本文引用曲率 计算方法, 公式如下:
c = j ∈
≠ i ‖XL(k, i) - XL(k,j) ‖=
X~L(k + 1. i) = R ⋅ XL(k + 1. i) + t
经过运动补偿后为:
X~L(k + 1. i) = R ⋅ XL(k + 1. i) + T(k(L) + 1. i)
式中: R 是满足罗德里格斯变换的旋转矩阵; TL(k + 1. i)是 k + 1 帧中第 i点相对于 tk + 1时刻的平移。
R 变换得:
R = eω者 θ = I + ω者 sin θ + ω者2 (1 - cos θ) ( 6)
这里将欧拉角转换为旋转矩阵, 其中 θ = [ θx , θy , θz ],T(k(L) + 1. i)
T(k(L) + 1. i)采用线性值后得到:
ti - tk + 1 T(k(L) + 1.i) = t - tk + 1 Tk(L)+ 1
式中: Tk(L)+ 1 是 k + 1 帧起始时刻点在雷达坐标系中的平 移, 即:
Tk(L)+ 1 = [ tx ,ty ,tz , θx , θy , θz ]T
设函数:
loss = D (X~L(k + 1. i) ) = D (G (XL(k + 1. i) , Tk(L)+ 1)) = d
采用列文伯格-马夸特法 ( LM) 算法求解, 迭代过 程为:
Tk(L)+ 1 ← Tk(L)+ 1 - (JT J + λ diag (JT J))- 1 JT d
式中: J 为雅可比矩阵。
将上述式子不断匹配求解, 直到收敛, 可以获得雷 达坐标系 L 下的结果, 实现相邻帧之间的变换 。而为了 定位和建图, 还需要转化到全局地图坐标系 W 下 。本文 在环境建图中采用 map-to-map方式匹配, 并运用 PCA 主 成分思想提取点云中的边缘点和平面点, 再结合式 ( 2) 和 ( 3), 利用 LM法来求解。
3 路径规划
3.1 全局路径规划
全局路径规划[10]主要有三种基本算法: 贪婪算法 、 Dijkstra 算法和 A*算法[11] 。贪婪算法在规划路径时寻找 的是离目标节点最近的节点作为下一次搜索的起点, 但 不能保证能找到最优路径 。Dijkstra算法考虑的是当前节 点与其周围节点之间的距离, 遍历完所有节点才可以找 到最优路径 。而 A*算法是结合了贪婪算法和 Dijkstra 算 法的思想, 综合了两种算法的优点, 是目前应用最广泛 的路径规划算法之一[12]。
A*算法是一种典型的启发式搜索算法, 用路径优劣评价公式表示:
f (n) = g (n) + h(n) ( 11)
式中: f (n) 为节点 n 的估价函数; g (n) 为初始节点到当 前节点 n 的实际代价; h(n)为从节点 n 到目标节点最佳路 径的估计代价。
算法基本实现过程: 从起始点开始计算其每一个子 节点的f (n) 值, 从中选择f (n) 值最小的子节点作为搜索 的下一点, 往复迭代, 直到下一子节点为目标节点[13]。
3.2 局部路径规划
AGV在获得目的地信息后, 已经通过全局路径规划 获得一条最优路径, 但是环境一旦发生变化, 未及时更 新地图时, AGV 就未必能做出相应的行动策略 。 因此, 为了应对突发事件, 需要 AGV 能够实时获取环境障碍物 的信息, 即局部路径规划[14], 以提高对环境的适应能力。 本 文 采 用 动 态 窗 口 法 (Dynamic Window Approach, DWA) [15]来实现 AGV 的局部路径规划。
DWA算法的原理是在线速度 v 和角速度 ω 构成的速度空间 (v, ω ) 中不断采样, 模拟 AGV 在采样得到的速度下的运动轨迹, 并针对这些轨迹进行评价, 从而选取最 优的轨迹来驱动 AGV运动。
4 实验与测试
4.1 上位机算法装载与调试
本文所采用的算法分别为 LOAM-Slam 建图算法 、 A*全局路径规划算法和 DWA 局部避障算法 。其中, A* 算法和 DWA 算法已经集成在 ROS 功能包中, 因此只需 要搭建 LOAM算法并完成算法切换。
本文选用的系统与依赖库的搭配是 Ubuntu 20.04+ ROS+PCL1.12.1 编译器+Ceres 依赖库, 其中, PCL1.12.1 编译器和 Ceres依赖库都是开源社区的 C++库 。PCL用于 在 AGV 扫描建图中编译平滑的映射数据, Ceres 用于解 决地图建模时的大型复杂的优化问题, 两者相辅相成, 适合在大型开放场景中进行地图扫描与建模, 并能够在 较低的功耗中实现算法。
当配置好系统环境, 并下载安装好 Ceres 依赖库和 LOAM算法之后, 还需要配置重定向测试文件 。测试文 件 Bag 由 LOAM 算法社区提供, 可以实现无实体小车的 模拟场景测试。
运行 LOAM 时, 通过 roslaunch命令启动雷达进行扫 描 。在地图创建完成后, 退出终端命令窗, 系统会自动 将 4个代表地图不同数据的 pcd 文件保存在/tmp 目录下, 而每次重启系统, /tmp 目录下的文件都会被清空 。 因此 在退出系统前, 要注意在 Rviz 中将 Map Cloud 勾选, 才 能在测试包运行完毕暂停后, 将最终的地图扫描数据保 存到 PCL编译器目录下层。
4.2 Gazebo环境搭建
Gazebo是 ROS 系统中的一个动态环境模拟软件, 通 常用来测试在复杂环境下的多机器人协同运作实验 。Ga⁃ zebo 提供了高保真的物理引擎测试环境, 以及一整套的 传感器模型, 能够无限贴近现实地模拟出机器人在实际 场景中的运作方式。
如图 1所示, 采集一张某高校的卫星俯瞰图, 并勾 勒标注好需要进行测试的主要配送道路 。在 Gazebo 中打 开场景绘制器, 根据卫星俯瞰图勾勒出的轮廓, 在场景 绘制器中使用 Wall工具绘制出需要测试的封闭道路并保存场景 。如图 2 所示, 在相应的轮廓线条上双击编辑每 堵 Wall 的参数, 并对每堵不同高度位置的 Wall 进行填色 以作区分。
在搭建完仿真环境后, 将模拟的小车放入地图当中, 小车可以是 Gazebo 仿真库提供的模型, 也可以是通过建 模外部导入的 Urdf模型 。本次选用 Gazebo 仿真库的模型 小车, 并在其上添加激光雷达 、相机等传感器, 如图 3 所 示 。在 Gazebo 终端不关闭的情况下, 再开启一个终端来 打开 Rviz 可视化界面。配置 LOAM 算法后, 将雷达和深度 相机的传感关系建立, 在 Rviz 界面中将地图添加进去 。 当小车加载完后, 通过巡逻整张地图进行建图 。通过 LOAM 算法优化并进行灰化处理后的地图模型如图4 所示。
在建完地图模型后, 通过 roscore 命令切换出2DSlam 来运行 A*和 DWA 算法 。通过plan_node.cpp 函数构建好 Global 全局环境变量, 运行后的效果如图 5 所示, 为配送 道路某转角处的路径处理 。 同理, 在 A*算法的基础上, 切换至 DWA 动态窗口算法后, 小车对路径的选择会明显 更加谨慎 。 由于没有回环检测, 对噪点的过滤效果也不 如前者, 但是在局部避障方面, DWA 算法因为评分机制的存在, 能够让其在近距离内有效的测算出移动障碍物 的相对位姿并及时优化路径来避开。
4.3 室内场景模拟
AGV 小车的开启步骤与在 Gazebo 环境下配置流程大 致相同 。在正式开启前, 需要启动安装在工作环境中的 激光雷达 ROS 驱动, 并发出 tf, 以转换 Arduino 端发送过 来的车轮里程计中的坐标系信息 。而 APM 驾驶仪是与 Arduino 直连的, 可以在树莓派上通过 COMP 串口通信获 取数据 。完成以上流程后, 就可以编辑启动文件来开启 AGV 小车了 。图 6 所示为室内环境下 AGV 小车模拟实际 场景的定位导航及运动规划效果。
5 结束语
本文提供了一种可适用于校园 AGV配送的定位导航 设计方案, 就该方案展开了地图构建和路径规划两大步 骤的研究 。地图构建部分采用基于 LOAM 的算法, 将复 杂的 SLAM 问题分为高频的运动估计和低频的环境建图。 在运动估计中通过曲率计算提取平面点和边缘点两种特 征, 再采用 scan-to-scan 方式对连续特征帧进行匹配, 并建立误差模型 。在环境建图中采用 map-to-map方式匹 配, 运用 PCA主成分思想提取点云中的特征点, 再利用 LM 法来求解 。路径规划部分先采用 A*算法获得一条最 优的全局路径规划路径, 再采用 DWA算法对局部进行规 划, 以提高对环境的适应能力 。实验证明, 本文搭建的 AGV 配送小车能够满足在校园环境多种不同模拟场景中 的定位导航需求, 为校园 AGV配送系统的设计及相关产 业的发展提供了一定的技术支持。
参考文献:
[1] 高琦琦 . 无人配送在疫情下的现状分析[J]. 中国储运,2021(4):90-91.
[2] 梁昌毅 . 新冠疫情下的无人配送优化研究[J]. 中国储运,2021 (3):187-188.
[3] Nasri M. I., Tolga Bektas, Laporte G. Route and Speed Optimiza⁃ tion for Autonomous Trucks[J]. Computers & Operations Re⁃ search,2018(100):89-101.
[4] 张明雨 . 移动机器人建图与路径规划方法研究[D].哈尔滨:哈 尔滨工业大学,2018.
[5] 陈耀斌,黄利玲,苏为琛 .校园无人配送路径规划与应用研究 [J].物流工程与管理,2021.43(11):26-28.
[6] 王建,王吴桐 .基于 LoRa 的远程激光雷达数据串口采集[J]. 工 业控制计算机,2020.33(11):34-35.
[7] 李博 . GP-SLAM:基于激光雷达的新型同时定位与建图算法 [D].杭州:浙江大学,2020.
[8] 范海廷,杜云刚 .基于激光 SLAM 的移动机器人导航算法研究 [J].机床与液压,2021.49(14):41-46.
[9] ZHANG, JI, SINGH, SANJIV. Low-drift and Real-time Lidar Odometry and Mapping[J]. Autonomous robots,2017.41(2):401- 416.
[10] 王梓强,胡晓光,李晓筱,等 .移动机器人全局路径规划算法综 述[J].计算机科学,2021.48(10):19-29.
[11] 贾浩 .基于 Cartographer 算法的 SLAM 与导航机器人设计[D]. 济南:山东大学,2019.
[12] 李志帅,熊刚,沈震 .教育用路径可规划智能车研发[J]. 软件, 2018.39(9):1-8.
[13] 张广帅,韦建军,刘检权,等 .移动机器人导航的路径规划策略 [J].机电工程技术,2021.50(4):14-24.
[14] 王迪,李彩虹,郭娜,等 .基于模糊势场法的移动机器人局部路 径规划[J].计算机工程与应用,2021.57(6):212-218.
[15] 常新新,胡为,姬书得,等 .基于改进动态窗口法的移动机器人避障研究[J].组合机床与自动化加工技术,2021(7):33-36.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/ligonglunwen/56777.html