APP下载

基于Bézier曲线的差速驱动机器人混合避障路径规划算法

2021-07-15

吉林大学学报(理学版) 2021年4期
关键词:障碍物适应度遗传算法

甘 新 基

(北华大学 机械工程学院, 吉林 吉林 132021)

目前, 移动机器人广泛应用于工业、 航空等领域, 其中差速驱动机器人可在道路及野外进行持续、 实时地自主运动, 是一种集环境感知、 动态决策与执行等多功能于一体的智能化机器系统[1]. 在机器人工作中, 难免会遇到不同的障碍环境, 为顺利完成作业内容, 对避障路径规划的研究尤为重要. 避障路径规划是在有障碍物环境下, 为机器人探寻一条从初始点至目标点的安全路径[2]. 根据对环境数据了解状况的不同, 可使用相应的算法寻找最合适的路径, 从而快速通过前方全部障碍物, 顺利完成运动任务[3]. 目前关于机器人路径规划的方法已有许多: 许凯波等[4]提出了一种基于双层蚁群算法和动态环境的规划方法, 采用凸化处理栅格法建立环境模型, 加快了机器人路径规划速度, 并针对环境中不同动态障碍物的体积和速度, 提出3种避障策略, 完成路径避障; 王雷等[5]在研究移动机器人避障时, 提出了一种改进的蚁群算法, 通过对信息素启发因子及期望启发因子实时调节, 自适应改变挥发因素, 以免陷入局部最优, 实现了快速避障. 但上述两种方法均存在路径规划耗时较长的缺点. 基于此, 本文提出一种基于Bézier曲线的差速驱动机器人混合避障路径规划算法. 通过分析差速驱动机器人运动规律, 了解机器人的运动原理及实时状态, 用Bézier曲线增强机器人路径平滑性能, 并引入遗传算法, 使机器人尽快脱离局部极小解, 以最快速率成功避障并到达目标点.

1 差速驱动机器人运动规律分析

本文以双轮差速驱动机器人为例, 其模型如图1所示. 如果机器人两个驱动轮轴线的中心方位质心为O、 坐标为(x0,y0)、 驱动轮半径为R, 则双轮差速驱动机器人运动方向可描述为

图1 双轮差速驱动机器人模型Fig.1 Two wheel differential drive robot model

按刚体力学原理[6], 将机器人运动学公式表示为

(2)

(3)

其中θ表示机器人运动方向与x轴的夹角,v表示质心O位置的线速率,ω表示转向角速率,l表示驱动轮之间的轮距,vl表示左驱动轮线速率,vr表示右驱动轮线速率.在车轮运动无滑动且保持纯滚动状态[7-8]下, 应符合下列收敛条件:

(4)

u=(v,ω),

(5)

(6)

s(q)=(-sinθ,cosθ,0),

(7)

(8)

则可得

(9)

(10)

双轮差速驱动机器人在运动时, 可采用依次操控左右两个驱动轮的线速率完成移动机器人的转弯及其余非匀速运动[9], 所以假设采样周期是T, 则将式(2)离散化后获得的方程组为

(11)

2 基于Bézier曲线的机器人混合避障路径规划方法

Bézier曲线的定义依赖于某段曲线控制点的明确数量[10], (N+1)个顶点可描述成N次多项式的曲线.Bézier曲线内每个点的参数方程表示为

(12)

其中:Pi为第i个顶点的坐标值; 基函数Bi(t)为Bernstein多项式, 表示为

(13)

P(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3.

(14)

当t在区间(0,1)内变动时, 会产生三次Bézier曲线. Bézier曲线性质为: 曲线的初始点与终点和特征多边形的起点与终点重叠[11]; 一阶持续的Bézier曲线可通过较低次的Bézier曲线相连组成[12-14], 如图2所示.

图2 Bézier曲线路径示意图Fig.2 Schematic diagram of Bézier curve path

由图2可见, 该曲线由两端三次Bézier曲线构成, 其中: 一段曲线包含P0,P1,P2,P3四个点,P0为起点,P3为终点,P1和P2为控制点; 另一段曲线包含Q0,Q1,Q2,Q3四个点,Q0为起点,Q3为终点,Q1和Q2为控制点.为确保相连后的曲线为一阶持续关系, 需满足下列条件:

P3-P2=Q1-Q0,P3=Q0.

(15)

使用n条三次Bézier曲线描述路径状态, 因为轨线初始点与终点已知[15], 且符合一阶持续条件, 因此使用(4×n)个参量进行路径规划.由式(14),(15)可得粒子参数路径内每个点的公式:

(16)

其中P0为初始点,P1为终点,n为路径的三次Bézier曲线个数.当t在区间(0,1)内变化时, 会产生第i段的三次Bézier曲线.最终产生的n段三次Bézier曲线即组成了全部路径曲线, 从而增强机器人路径平滑性能.

在Bézier曲线基础上, 引入遗传算法进一步提高差速驱动机器人混合避障路径规划的可靠性[16]. 遗传算法是一种基于自然选择与遗传的全局优化方法, 该方法通过选择、 遗传操作挑选算子, 对参数编码字符串实施遗传操作, 各字符串均对应一个可行解. 该遗传操作是关于多个可行解构成的群体实施的, 因此在进化时能并行地对解空间不同范围进行搜索, 令搜索结果接近于全局最佳解, 不会陷入局部极小解[17].

在遗传算法中, 针对固定的适应度函数, 在线计算时长取决于编码长度与搜索空间大小. 所以, 本文使用简化编码长度的方法, 即将路径的二维编码化简成一维编码[18], 编码技术如图3所示. 图3中, 初始点就是差速驱动机器人目前的方位, 目标点是机器视觉预瞄区域中的局部路径目标点, 规划的路径就是初始点与目标点之间, 即图内的路边约束范围. 在地面坐标系XOY内, 路径点序列坐标是二维坐标, 为减少编码长度, 对坐标系实施转换.设新坐标为xoy, 其中x轴是初始点与目标点相连的线段, 将x轴均匀划分为x1,x2,…,xn, 则优化的路径点即化简为一维y坐标编码优化问题.使用浮点数编码方式, 其编码格式如图4所示.

图3 路径编码方法Fig.3 Path coding method

图4 路径编码方式Fig.4 Path coding mode

适应度函数是影响遗传算法收敛性与平稳性的关键因素, 本文基于Bézier曲线, 对遗传算法混合避障路径规划的要求为: 路径在路边约束内可以动态避障及路径最短[19]. 所以在构造适应度函数中, 应尽可能使适应度函数的项数较少, 同时将路径规划的3个要求融入遗传优化算法中.

使用图3的折线模式即能求解出每个折线的方程表达式. 路边收敛制约了解空间的区域范围, 即每个yi值仅能在路边收敛区域中进行取值, 每个点的yi值取值范围计算方法为: 首先推算每个xi方位和x轴垂直的各直线与路两旁折线交叉的两个y坐标值, 再依次向路中心进行收缩.收缩值以机器人远离路边的安全距离为准, 安全距离要高于机器人的最大半径.若yi的取值范围是(yi1,yi2), 则路边收敛适应度函数为

(17)

其中i表示路径内的全部点数.由式(17)可知, 若每个路径点在路边安全距离内, 则其适应度为1, 否则为0.

混合避障是较重要的收敛条件.加入障碍物数量、 位置与速度信息可通过机器视觉与激光雷达确认.在局部路径规划中, 设机器人以当前的速度行走, 每个障碍物也用当前测量的速度进行匀速直线运动[20].此外, 路径跟踪控制会自行操控机器人行走速度的改变, 在进行路径规划时, 不需考虑机器人与障碍物行走速度的改变.混合避障的基础条件是: 关于某个路径, 构成路径的点与障碍物间的最小距离一定大于机器人和障碍物的半径总和.

若差速驱动机器人从当前点P0至Pi(xi,yi)所需时间是ti, 从Pi-1(xi-1,yi-1)到Pi(xi,yi)所需时间是Ti-1, 则可得

(18)

其中V表示差速驱动机器人的当前速率.如果差速驱动机器人位于ti时段, 第k个障碍物的方位是Obk(xbk(ti),ybk(ti)), 则

(19)

其中(xbk(t0),ybk(t0))为第k个障碍物的初始坐标,Vkx和Vky分别为第k个障碍物的当前速度Vk在xoy坐标系内的分量.假设在ti时段, 路径点Pi(xi,yi)与第k个障碍物的距离为dik:

(20)

则关于随机一条路径, 路径内的点与障碍物的最小距离为

Dmin=min{dik}.

(21)

继而得到混合避障的适应度函数为

(22)

由式(22)可知, 路径每个点与每个障碍物的最小距离高于机器人与障碍物的安全半径总和, 机器人就会安全规避障碍物, 因此适应度是1, 反之是0.将路径最短适应度函数记为

(23)

最终获得综合适应度函数为

fit=fit1×fit2×fit3.

(24)

综合适应度函数将3个收敛条件进行有机结合, 使计算更便捷, 同时可防止发生3项加权求和引起的优化不稳定问题, 最后使机器人能尽快地脱离局部极小值, 并成功绕过障碍物到达目标点.

3 仿真实验

在MATLAB 2018 b软件中进行仿真实验, 实验设备处理器为Intel(R)CoreTMi5-4590 CPU@3.30 GHz, 服务器内存大小为32 GB, 系统类型为Windows 10, 64位处理器. 设置避障栅格地图场景大小为20×20, 并在地图中加入障碍物, 验证本文方法的避障性能. 设机器人的最大线速度为2 m/s, 最大角速度为20°/s. 将基于双层蚁群算法和动态环境的机器人路径规划方法[4]与改进蚁群算法在移动机器人避障中的应用[5]这两种方法作为对照组. 实验分为避障路径规划效果、 相对步数对比、 避障用时对比三部分, 以验证本文方法避障路径规划的优势.

3.1 避障路径规划效果对比

为验证本文方法避障路径规划的效果, 在仿真平台中模拟障碍物, 设差速驱动机器人运行初始阶段在环境内没有任何数据信息, 其使用传感器即能监测到自身周边4 m区域内的障碍物, 机器人从初始点(0,0)运动至目标点(16,16), 其引力系数为15, 斥力系数为3, 障碍物影响距离是5 m, 步长为0.08, 实验结果如图5所示.

图5 不同方法混合避障路径规划对比Fig.5 Comparison of mixed obstacle avoidance path planning of different methods

由图5可见, 在相同避障环境下, 文献[4]和文献[5]方法的避障规划路径较本文方法长, 这是因为本文方法在Bézier曲线基础上引入了遗传算法, 使避障路径更平滑, 所以探寻到了全局最优路径. 保证机器人能在最短时间内顺利抵达目标点, 证明本文方法具有较高的鲁棒性与实用性. 因为本文方法在利用Bézier曲线优化的基础上, 构建了路边约束、 动态避障及最短路径的混合函数, 使机器人可以较快地脱离局部极小解, 因此实现了较短路径的规划.

3.2 相对步数对比

为进一步验证本文方法在避障方面的优越性, 基于上述实验环境对比3种方法在相同避障步长下的步数, 步数越少说明避障效果越好. 避障步长由仿真平台计算得出, 实验结果列于表1.

表1 不同方法的相对步数对比

由表1可见, 在相同步长的情况下, 本文方法步数明显小于其他两种方法, 表明本文方法将路径规划问题转换为产生Bézier曲线有限点方位优化问题, 提升了机器人的运动平滑性, 可有效解决不同环境下的机器人路径规划极小值问题, 从而提高了混合避障路径规划效率.

3.3 避障用时对比

下面以避障用时作为实验指标, 验证本文方法的避障效率. 在上述实验环境的基础上, 以3.1中的初始方位与目标作为起点与终点. 为保证计算避障的可靠性, 进行40次实验, 计算应用3种方法进行避障的用时. 用时时间越短, 说明避障效率越高, 实验结果如图6所示. 由图6可见, 在40次实验过程中, 文献[4]方法的避障用时最长, 为8.4~11.8 min, 避障用时波动较大; 文献[5]方法的避障用时为7~9.2 min; 而本文方法避障用时较稳定, 始终维持在4.9~5.3 min, 低于对比方法, 说明本文方法的避障效率较高. 这主要是因为本文方法利用遗传算法将二维路径编码简化为一维编码问题, 提高了脱离局部极小解的速度, 缩短了避障时间.

图6 不同方法的避障用时结果Fig.6 Results of obstacle avoidance time of different methods

3.4 算法收敛性对比

为进一步验证本文方法在路径规划方面的优势, 对比3种方法搜索到最优路径的迭代次数, 实验结果如图7所示. 由图7可见, 本文方法搜索的最优路径短于文献[4]与文献[5]方法. 经计算, 本文方法迭代至40步时路径长度不再下降, 规划的路径长度为30.19 m; 文献[4]方法迭代至50步时路径长度不再下降, 搜索到的最优路径长度为41.03 m; 文献[5]方法迭代至20步时缓慢下降, 直到57步时路径长度才趋于稳定, 搜索到的路径长度与文献[4]方法接近, 为40.02 m. 上述分析表明, 本文方法寻优的速度优于对比方法, 这是因为本文方法混合了路边约束、 动态避障需求及最短路径需求, 构建的适应度函数兼顾了算法的收敛性与寻优速度, 因此本文方法的路径规划效果较好.

图7 不同方法的迭代收敛性Fig.7 Iterative convergence of different methods

综上所述, 针对差速驱动机器人避障路径规划效率低、 精度不高等问题, 本文提出了一种基于Bézier曲线的差速驱动机器人混合避障路径规划方法. 先通过分析差速驱动机器人运动规律, 用Bézier曲线提高机器人运动平滑性, 再代入遗传算法将动态避障需求及最短路径需求混合为适应度函数, 完成高效率混合避障路径规划目标. 仿真对比实验结果表明: 该方法规划后的避障路径较对比方法路径短, 且避障用时最长为5.3 min; 该方法迭代至40步时搜索到的最优路径长度为30.19 m, 优于其他两种对比方法, 避障路径规划效果较理想.

猜你喜欢

障碍物适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
一种基于改进适应度的多机器人协作策略
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
基于空调导风板成型工艺的Kriging模型适应度研究
软件发布规划的遗传算法实现与解释
基于改进的遗传算法的模糊聚类算法