基于势函数的多车自动驾驶交互

2024-03-12 09:38黄兢诚
科学咨询 2024年1期
关键词:势函数连通性梯度

黄兢诚

(香港中文大学,香港 999077)

一、简述

多车辆协同控制的研究始于20世纪70年代。主要研究内容是如何组织多车辆系统完成给定的任务。近年来,世界上许多研究机构都在这一方向上取得了一定的成果。研究重点主要在以下四个问题:共识、群集、群集控制和编队控制。

本文主要研究基于势函数的多车辆编队控制方法。目标是使多车辆系统达到:一是到达指定位置;二是避免车与车、车与障之间的碰撞。基于车辆的物理模型,构建合适的系统势函数,以使得系统最后能够收敛。使用Lyapunov理论验证了系统的稳定性,最后使用matlab进行了软件仿真。

二、势函数

(一)势函数介绍

势函数是在20世纪90年代提出的一种虚拟力场的方法,旨在构造一个人工势场,对场内的车辆或智能体进行控制。在场内,目标位置对车辆产生虚拟引力,引力方向从车辆指向目标位置,引力大小与车辆和目标之间的距离成正相关;障碍物或其他车辆对控制车辆产生虚拟斥力,斥力方向从障碍物指向控制车辆,斥力大小与障碍物和控制车辆之间的距离成反相关[1]。

图1 虚拟势场

(二)建模

对系统中每一个个体进行物理建模。本文使用一阶模型,输入为线速度和角速度,其状态空间方程为:

(三)连通性

部分多车辆系统包含一个主机,多个从机。各从机通过传感器感知到环境信息后,传递给主机,在主机内进行决策判断,最终下达控制指令给到各从机。也有一些系统是多主机系统,各自个体接收到周围个体信息后,自我决策。

实际系统中,常需要每一个个体之间都存在信息传递。受限于通信方式,存在约束是所有个体需要在一定的区域内行动,保持连接。这就是群集,确保系统的连通性。

如图2,考虑一个以r0为中心,以R0为半径的圆形。系统中所有车辆在移动中,必须时刻保持在这样的虚拟圆形区域内,以保证发送和接受信息的稳定性。

图2 连通区域

转换成数学模型即:

其中,di0是个体i和限制区域中心圆点r0的距离;rα是个体车辆的物理半径。由于限制区域的半径R0和个体车辆的物理半径rα是常量,使用R=R0-rα代替。

使用Ci0表示个体距离限制区域边缘的距离,简化后的模型即:

基于此,我们可以构造连通性边缘的斥力势函数为:

为了使得系统收敛,使用梯度构造目标坐标的引力势函数,结合上述斥力势函数,可得:

使用梯度函数的原因在于:1.当Ci0接近于0时,即控制个体i即将超出限制区域时,斥力bi0(ri)将会趋近于无穷,阻止其冲出;2,当个体i坐标接近目标坐标rid时,即到达指定区域,那么综合势函数ri0(ri)将会趋近于0,不再有任何方向的势力,使其可以收敛。

此外,式中的bi0(ri)的梯度表达式在此处给出:

为了确保得到一个可以使用Lyapunov理论的正定函数,对其采取平方:

(四)避撞

当系统中多个车辆在移动时,有必要对整个系统进行协调控制,避免车与车之间的碰撞[2]。

图3是个体i与个体j之间的物理距离示意图。为确保两者之间不发生碰撞,需要确保其质心之间的距离大于两者半径之和。此处以圆形代替真实的车辆尺寸,在实际中,可以以车辆表面任意两点连线中最长的距离,作为本文圆形模型的直径,即可达到一样的避撞效果。使用dij表示二者质心的距离,约束可以用数学模型表达为:

图3 避撞示意图

使用坐标表示,则有约束:

可以构造同样的斥力模型:

为使得系统能够收敛,定义势函数为:

最后将其平方,得到正定函数,同时乘以系数ρ:

该系数ρ是取决于二个个体间距离的权数参数,当超出一定距离,可以忽略该斥力;当距离太近时,权数增加到1,斥力充分发挥作用,避免碰撞;当距离由远及近或由近及远,斥力呈现出平稳的变化趋势。

(五)控制率

结合上述保持连通性和避撞的约束条件,整合出每个个体i完整的势函数方程:

为计算方便,将其归一化:

基于势函数,可以计算得到控制方向和大小。针对每个个体i给出控制率:

其中,ki和λi是控制参数的比例系数,而控制合力的方向,由势函数求偏导后给出。

该系统的稳定性在2.6小节中由Lyapunov理论证明。

(六)Lyapunov 证明

存在类Lyapunov函数Vi,基于此求导有:

引入梯度向量,可得:

将其带入Vi:

当个体i到达目标坐标时,即ζi=0,显然Vi值也为0。为避免存在某一点非目标坐标的其他坐标rγ使得广义梯度朝各向都是0,引入系数α∈[0,1]:

那么动态方程可以转化成:

其中β∈[0,1],ui≥0。简化后得:

因此,当且仅当个体i到达目标坐标时,才会收敛到0,ui也同步收敛。

将目标坐标带入表达式,即ri→r0时,可表达为:

三、仿真

本文使用matlab进行了2次仿真。搭建的系统中一共设置了13个个体,分别有各自的初始坐标和目标坐标。在仿真开始后,它们将在势函数的作用下,朝着指定位置前进,同时保持连通性和避障。此外,在第15秒时,目标位置发生变化,系统需要即时调整,朝新坐标收敛。

(一)第一次仿真

记录过程的图组中清楚地显示,在前15秒中,各个体均可以成功到达设置的目标位置;但当15秒调整了目标位置后,存在2个个体无法正确收敛,而是停在了某一平衡点。

原因是出现了局部最小值[4]。在该点,个体在虚拟势场中受到的引力和斥力是平衡的,合力为0,所以控制率也为0,个体不再移动,达到平衡。而出现局部最小值的原因是避障势函数不合适,导致系统会存在多个平衡点。为解决这个问题,需要调整避障势函数。

(二)第二次仿真

在此次仿真中,所有个体均能收敛到目标位置,达到所有预期。

四、总结

本文主要阐述了基于势函数的多车辆编队控制方法。通过系统的物理模型,构建出合适的势函数,使得系统收敛到给定目标,且过程中保持连通性和没有碰撞发生。仿真结果表明,系统搭建成功。

事实上,势函数法存在很多问题,例如局部最小值和局部振荡,但其也有独特的优势,如安全可靠、响应快速、控制平滑[5]……关键点在于找到合适的势函数模型,才能够有一个稳定可靠的系统。

猜你喜欢
势函数连通性梯度
偏序集及其相关拓扑的连通性
次可加势函数拓扑压及因子映射
一个改进的WYL型三项共轭梯度法
金属钨级联碰撞中势函数的影响
一种自适应Dai-Liao共轭梯度法
拟莫比乌斯映射与拟度量空间的连通性
基于Metaball的Ck连续过渡曲线的构造
一类扭积形式的梯度近Ricci孤立子
河道-滩区系统连通性评价研究
SOME RESULTS OF WEAKLY f-STATIONARY MAPS WITH POTENTIAL