一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆路径跟踪控制方法、装置、存储介质及电子设备与流程

2022-07-13 03:52:15 来源:中国专利 TAG:


1.本公开涉及车辆自动控制技术领域,具体而言,涉及一种车辆路径跟踪控制方法、车辆路径跟踪控制装置、计算机可读存储介质以及电子设备。


背景技术:

2.无人驾驶技术作为目前汽车技术开发的热点方向,对于汽车行业的发展乃至国计民生都有着深远的影响。无人驾驶技术在未来可能会对人类的出行方式、对工业化生产的生产方式产生革命性的变革。
3.无人驾驶车辆的控制主要包括横向控制和纵向控制两部分,其中横向控制是指对车辆转向系统的控制。例如,路径跟踪是智能车横向控制的一个主要应用,路径跟踪是指在已经得到一条期望路径的前提下,车辆根据大地坐标系中的位置信息,按照一定的控制策略,使车辆的实际行驶路径可以与规划路径达到一致。
4.目前,开发稳定的路径跟踪控制方法,以保证无人驾驶车辆在复杂的道路交通环境中能够稳定的跟踪目标路径,对于无人驾驶车辆的行车性能及安全性至关重要。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种车辆路径跟踪控制方法、车辆路径跟踪控制装置、计算机可读存储介质以及电子设备,进而在一定程度上克服由于相关技术的限制和缺陷而导致不同路况及不同车速下无人驾驶车辆横向运动控制的鲁棒性较差的问题。
7.根据本公开的第一方面,提供一种车辆路径跟踪控制方法,包括:
8.获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;
9.基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;
10.根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。
11.在本公开的一种示例性实施例中,所述基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离,包括:
12.根据所述历史横向位置偏差构造自适应度函数;
13.基于所述自适应度函数,通过粒子群优化算法得到所述目标车辆的目标前视距离。
14.在本公开的一种示例性实施例中,所述根据所述历史横向位置偏差构造自适应度函数,包括:
15.根据所述历史横向位置偏差计算所述目标车辆的平均横向位置偏差和最大横向
位置偏差;
16.基于所述目标车辆的平均横向位置偏差和最大横向位置偏差构造所述自适应度函数。
17.在本公开的一种示例性实施例中,所述自适应度函数为:
[0018][0019]
其中,表示计算得到的所述目标车辆的平均横向位置偏差,表示所述目标车辆允许的标准横向位置偏差,e
max
表示计算得到的所述目标车辆的最大横向位置偏差,e
max
表示所述目标车辆允许的最大横向位置偏差。
[0020]
在本公开的一种示例性实施例中,所述基于所述自适应度函数,通过粒子群优化算法得到所述目标车辆的目标前视距离,包括:
[0021]
预设粒子群优化算法的参数,所述参数包括惯性权重、加速度因子和前视距离的范围;
[0022]
在预设的所述前视距离的范围内随机初始化每个粒子的位置和速度;
[0023]
利用所述惯性权重和加速度因子更新所述每个粒子的位置和速度,得到所述每个粒子的当前位置和当前速度;
[0024]
基于所述每个粒子的当前位置和当前速度,通过所述自适应度函数计算所述每个粒子的适应度值;
[0025]
根据所述每个粒子的适应度值更新粒子群个体最优位置和粒子群全局最优位置;
[0026]
当粒子群个体最优位置和粒子群全局最优位置满足预设的收敛条件时,得到所述目标车辆的目标前视距离。
[0027]
在本公开的一种示例性实施例中,所述根据所述每个粒子的适应度值更新粒子群个体最优位置和粒子群全局最优位置,包括:
[0028]
将所述每个粒子的适应度值与所述每个粒子的历史最优适应度值进行比较,更新所述每个粒子的最优位置;
[0029]
将所述每个粒子的适应度值与所述粒子群的历史最优适应度值进行比较,更新所述粒子群全局最优位置。
[0030]
在本公开的一种示例性实施例中,所述根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,包括:
[0031]
获取所述目标车辆的属性信息,所述目标车辆的属性信息包括目标车辆的轴距;
[0032]
根据所述目标车辆的轴距、所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的当前前轮偏转角度。
[0033]
根据本公开的第二方面,提供一种车辆路径跟踪控制装置,包括:
[0034]
横向位置偏差获取模块,用于获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;
[0035]
目标前视距离确定模块,用于基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;
[0036]
前轮偏转角度确定模块,用于根据所述目标前视距离和所述当前横向位置偏差计
算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。
[0037]
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
[0038]
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
[0039]
本公开示例性实施例可以具有以下部分或全部有益效果:
[0040]
在本公开示例实施方式所提供的车辆路径跟踪控制方法中,通过获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。本公开通过粒子群优化算法自适应的调整车辆的前视距离,提高了车辆横向运动控制的鲁棒性,使车辆可以稳定地跟踪规划行驶路径,进而能够满足不同路况及不同车速下的控制需求。
[0041]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0042]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0043]
图1示出了可以应用本公开实施例的一种车辆路径跟踪控制方法及装置的示例性系统架构的示意图;
[0044]
图2示意性示出了根据本公开的一个实施例的车辆路径跟踪控制方法的流程图;
[0045]
图3示意性示出了根据本公开的一个实施例的纯跟踪控制的几何示意图;
[0046]
图4示意性示出了根据本公开的一个实施例的确定目标前视距离的流程图;
[0047]
图5示意性示出了根据本公开的一个实施例的使用粒子群优化算法确定目标前视距离的流程图;
[0048]
图6示意性示出了根据本公开的一个实施例的基于粒子群优化算法的车辆路径跟踪控制方法的流程图;
[0049]
图7示意性示出了根据本公开的一个实施例的车辆路径跟踪控制装置的框图;
[0050]
图8示意性示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0051]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结
构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0052]
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0053]
图1示出了可以应用本公开实施例的一种车辆路径跟踪控制方法及装置的示例性系统架构的示意图。
[0054]
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
[0055]
本公开可以以无人驾驶车辆的横向控制为例进行说明。无人驾驶车辆可以使用终端101、102、103通过网络104与服务器105交互,以接收或发送消息等。例如,无人驾驶车辆通过终端101(也可以是终端102或103)向服务器发送无人驾驶车辆的数据处理请求时,服务器105可以获取该车辆相对于规划行驶路径的横向位置偏差,包括历史横向位置偏差和当前横向位置偏差,进而基于历史横向位置偏差,通过粒子群优化算法得到该车辆的目标前视距离,然后可以根据目标前视距离和当前横向位置偏差计算出该车辆的前轮偏转角度。最后,服务器105可以将该车辆的数据处理结果即该车辆的前轮偏转角度显示于终端101或其他终端,同时可以根据计算出的前轮偏转角度生成对应的横向控制指令以控制该车辆稳定行驶。可以理解的是,本公开中的车辆路径跟踪控制方法适用但不限于无人驾驶车辆的横向控制场景中,例如可以应用于任意可移动的、需要进行轨迹追踪的设备,本公开对此不做限定。
[0056]
本公开实施例所提供的车辆路径跟踪控制方法一般由服务器105执行,相应地,车辆路径跟踪控制装置一般设置于服务器105中,服务器可以将车辆的前轮偏转角度发送至终端设备,并由终端设备向用户进行展示。但本领域技术人员容易理解的是,本公开实施例所提供的车辆路径跟踪控制方法也可以由终端设备101、102、103执行,相应的,车辆路径跟踪控制装置也可以设置于终端设备101、102、103中,例如,由终端设备执行后可以将车辆的前轮偏转角度直接显示在终端设备的显示屏上,本示例性实施例中对此不做特殊限定。
[0057]
以下对本公开实施例的技术方案进行详细阐述:
[0058]
纯跟踪控制是一种车辆横向运动控制方法,该方法基于车辆运动学模型推导而来,对于具有阿克曼转向系统的车辆具有很好的适应性。纯跟踪控制的基本思想是在每个
控制周期,通过前方目标轨迹上的一个点指导当前方向盘的动作,使车辆车产生向目标点的运动。
[0059]
前视距离是纯跟踪控制中的一个重要参数,前视距离的选择可以直接影响跟踪效果。例如,较短的前视距离会造成车辆控制的不稳定甚至震荡,为了确保车辆稳定而设置较长的前视距离会造成较大的跟踪误差。因此,车辆的前视距离一定时,很难满足不同路况及不同车速下车辆横向运动控制的精度,如可能会造成高速控制中出现画龙、转弯过程中出现切内圆等车辆横向运动控制的鲁棒性较差的问题。
[0060]
基于上述一个或多个问题,本示例实施方式提供了一种车辆路径跟踪控制方法,该方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例实施方式对此不做特殊限定。参考图2所示,该车辆路径跟踪控制方法可以包括以下步骤s210至步骤s230:
[0061]
步骤s210.获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;
[0062]
步骤s220.基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;
[0063]
步骤s230.根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。
[0064]
在本公开示例实施方式所提供的车辆路径跟踪控制方法中,通过获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。本公开通过粒子群优化算法自适应的调整车辆的前视距离,提高了车辆横向运动控制的鲁棒性,使车辆可以稳定地跟踪规划行驶路径,进而能够满足不同路况及不同车速下的控制需求。
[0065]
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
[0066]
在步骤s210中,获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差。
[0067]
本示例实施方式中,以目标车辆为当前要控制其行驶的无人驾驶车辆为例进行说明,目标车辆可以按照规划行驶路径行驶。通常,在一定的环境模型基础上,给定无人驾驶车辆的起始点和目标点后,可以按照无人驾驶车辆的性能指标规划出一条无碰撞、能安全到达目标点的有效路径,该有效路径即为无人驾驶车辆的规划行驶路径。需要说明的是,无人驾驶车辆的规划行驶路径由多个离散点构成,每个离散点可以作为一个控制点,对应的,对目标车辆的控制可以理解为控制目标车辆在预设时间到达规划行驶路径上的各个离散点。
[0068]
示例性的,获取目标车辆相对于规划行驶路径的横向位置偏差时,可以先获取目标车辆的规划行驶路径,以根据规划行驶路径确定该目标车辆的横向位置偏差。例如,可以根据目标车辆的定位信息和规划行驶路径确定目标车辆的横向位置偏差。其中,横向位置偏差是指目标车辆的横向位置与规划行驶路径中规划位置之间的距离偏差,可以包括当前横向位置偏差和历史横向位置偏差。例如,当前横向位置偏差可以是当前时刻目标车辆的
横向位置与规划行驶路径中当前时刻的规划位置的偏差。历史横向位置偏差可以是历史时刻目标车辆的横向位置与规划行驶路径中相应历史时刻的规划位置的偏差,历史时刻可以为多个时刻,可以根据实际应用场景设置历史时刻,本公开对此不做具体限制。举例而言,可以获取距离当前时刻某一时间段内的时间点作为历史时刻,也可以获取距离当前位置某段距离内的行驶时间点作为历史时刻。
[0069]
需要说明的是,驾驶员在开车时,往往会注意汽车行驶方向前边的一段距离,以便掌握车辆行驶的下一个位置(即驾驶员的前视点),当前位置与下一个位置之间的距离即为驾驶员的前视(预瞄)距离,对应的下一个位置则为预瞄点。一般地,为了更好地模拟驾驶员的驾驶过程,在对无人驾驶车辆进行横向控制时,可以在无人驾驶车辆的行驶路径前面选择一段距离作为前视距离。本公开示例实施方式中,确定前视距离后,可以利用纯跟踪控制方法根据前视距离和横向位置偏差计算无人驾驶车辆的前轮偏转角度,进而根据无人驾驶车辆的前轮偏转角度控制无人驾驶车辆稳定行驶。
[0070]
参考图3所示,给出了纯跟踪控制方法的几何示意图。其中,横向位置偏差的计算可以均以目标车辆的后轴中心作为参考点。在图3中,位置

为当前预瞄点的位置。位置

为目标车辆所在的实际位置,(x,y)为目标车辆的后轴中心,(x,y)为根据目标前视距离、当前预瞄点的位置和规划行驶路径确定的下一预瞄点,且下一预瞄点在规划行驶路径上。目前需要控制目标车辆的后轴经过该预瞄点(x,y):
[0071]
根据正弦定理有:
[0072][0073]
在式(1)中,l为目标前视距离,r为转弯半径,α为目标车辆在当前预瞄点的航向偏角。
[0074]
由式(1)可以得到目标车辆的转弯半径为:
[0075][0076]
又有:
[0077][0078]
在式(3)中,δp为目标车辆的横向位置偏差,即目标车辆在某一时刻的实际横向位置与规划行驶路径中该时刻对应的规划位置之间的距离偏差。
[0079]
联合式(2)和式(3)可以得到目标车辆转弯半径为:
[0080][0081]
也可以根据目标车辆的轴距和前轮偏转角度计算得到目标车辆的转弯半径。具体的,可以根据:
[0082][0083]
其中,w为目标车辆的轴距,δ为目标车辆的前轮偏转角度。
[0084]
最后,联合式(4)和式(5)可以得到车辆的前轮偏转角度δ和横向位置偏差δp、目
标前视距离l、轴距w之间的关系为:
[0085][0086]
由式(6)可知,当车辆的轴距、目标前视距离一定时,可以根据目标车辆的当前横向位置偏差确定目标车辆当前的前轮偏转角度。
[0087]
在步骤s220中,基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离。
[0088]
本公开示例实施方式中,可以根据工况实时变化目标车辆的前视距离,以提高目标车辆横向运动控制的精度。示例性的,可以使用粒子群优化(particle swarm optimization,pso)算法获取目标车辆的目标前视距离,目标前视距离可以是规划行驶路径中两相邻预瞄点之间的预设距离,目标前视距离也可以与该预设距离相近,且基于该目标前视距离可以控制目标车辆按照规划行驶路径稳定行驶即可。
[0089]
其中,粒子群优化算法是指利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。在初始化阶段,粒子群优化算法可以生成一群随机粒子,每个粒子都可以代表问题的一个潜在的解,然后通过迭代找到最优解。在每一次迭代中,粒子可以通过跟踪两个“极值”来更新自身状态。第一个极值是粒子本身所找到的历史最优解,称为个体极值pbest,另一个极值是整个种群找到的历史最优解,称为全局极值gbest。在粒子群优化算法中,每个粒子有三个属性,分别表征粒子状态的位置与速度,以及对该状态下由自适应度函数所决定的适应度值。粒子自身状态的更新是指粒子的速度随自身及其他粒子的移动经验进行动态调整,从而实现个体在可解空间中的寻优,也即可以根据当前自身位置与个体极值和群体极值的差异来更新粒子的速度。
[0090]
对应的,在本公开示例实施方式中,目标车辆即为一个粒子,处于不同位置的目标车辆为不同的粒子,某个时刻目标车辆所处的位置为搜索空间中的一个解,可以利用自适应度函数评价每一个解,即每一个位置对应一个适应度值,适应度值最高的位置即为全局最优解,该位置也就是目标车辆的目标前视距离,根据目标前视距离确定目标车辆的前轮偏转角度以控制目标车辆按照规划行驶路径稳定行驶。
[0091]
一种示例实施方式中,参考图4所示,可以根据步骤s410和步骤s420确定目标车辆的目标前视距离。
[0092]
在步骤s410中,根据所述历史横向位置偏差构造自适应度函数。
[0093]
在车辆横向运动控制中,主要的控制指标为目标车辆的平均横向位置偏差和最大横向位置偏差。示例性的,构造自适应度函数时,可以根据历史横向位置偏差计算目标车辆的平均横向位置偏差和最大横向位置偏差,以基于目标车辆的平均横向位置偏差和最大横向位置偏差构造自适应度函数。例如,可以获取目标车辆在距离当前时刻某一时间段内各时间点的历史横向位置偏差,并根据各时间点的历史横向位置偏差计算得到目标车辆的平均横向位置偏差和最大横向位置偏差。举例而言,某一时间段内各时间点的历史横向位置偏差分别为3cm、5cm、8cm、11cm和15cm,通过对这5个时间点的历史横向位置偏差进行求平均值计算,得到目标车辆的平均横向位置偏差为8.4cm。对比这5个时间点的历史横向位置偏差,可以得到目标车辆的最大横向位置偏差为15cm。
[0094]
由于目标车辆的平均横向位置偏差和最大横向位置偏差是车辆横向运动控制中
的两个主要的控制指标,本公开示例实施方式中可以基于目标车辆的平均横向位置偏差和最大横向位置偏差构造自适应度函数,根据自适应度函数优化前视距离,可以提高对目标车辆的控制精度。
[0095]
示例性的,可以将粒子群优化算法中的自适应度函数设置为:
[0096][0097]
其中,表示计算得到的目标车辆的平均横向位置偏差,表示目标车辆允许的标准横向位置偏差,e
max
表示计算得到的目标车辆的最大横向位置偏差,e
max
表示目标车辆允许的最大横向位置偏差。由式(7)可知,自适应度函数的值越小,即目标车辆的平均横向位置偏差与目标车辆允许的标准横向位置偏差的比值越小,且目标车辆的最大横向位置越与目标车辆允许的最大横向位置偏差的比值越小时,目标车辆偏离规划行驶路径的距离越小,表明对目标车辆的控制精度越高。
[0098]
在粒子群优化算法中,为了更直观的表示群体中个体的好坏,进一步的,可以将自适应度函数设置为:
[0099]
f=-f(8)
[0100]
表明适应度值越高时对目标车辆的控制精度越高,式(8)又可以表示为:
[0101][0102]
其中,和e
max
的取值可以根据目标车辆的实际性能进行设置,例如,e
max
=20cm,本公开对和e
max
的具体取值不作限定。
[0103]
该示例中,根据目标车辆的平均横向位置偏差和最大横向位置偏差构造自适应度函数,通过该自适应度函数可以计算得到目标车辆在每个预瞄点的适应度值,以根据适应度值最高的预瞄点确定一个最优前视距离,从而提高对目标车辆的控制精度。
[0104]
在步骤s420中,基于所述自适应度函数,通过粒子群优化算法得到所述目标车辆的目标前视距离。
[0105]
根据目标车辆的平均横向位置偏差和最大横向位置偏差构造自适应度函数后,可以设定前视距离的基本范围,以在该范围内根据粒子群优化算法确定目标车辆的目标前视距离。
[0106]
一种示例实施方式中,参考图5所示,步骤s420又可以包括步骤s510至步骤s560,利用粒子群优化算法来确定目标车辆的目标前视距离。
[0107]
在步骤s510中.预设粒子群优化算法的参数,所述参数包括惯性权重、加速度因子和前视距离的范围。
[0108]
可以初始化粒子群优化算法的参数,包括粒子群规模n、粒子维度d、惯性权重w、加速度因子c1、c2和前视距离l的范围等参数。其中,粒子维度d表示粒子搜索的空间维数即自变量的个数。惯性权重w可以反映粒子过去的运动状态对当前行为的影响,其取值介于[0,1]之间。w较大时,全局寻优能力强,局部寻优能力弱,w较大时,则局部寻优能力强。实际应用过程中通常可以采取自适应的取值方法。例如,可以预设惯性权重w的初始值为0.9,使得粒子群优化算法的全局优化能力较强,随着迭代的深入,w不断递减,使得粒子群优化算法
具有较强的局部优化能力,当迭代结束时,w=0.1。加速度因子c1表示将粒子推向个体最优位置的加速权重,加速度因子c2表示将粒子推向群体最优位置的加速权重,如c1=c2=2,或c1=1.6,c2=2,针对不同的问题加速度因子c1、c2有不同的取值,本公开对加速度因子的取值不做具体限定。
[0109]
示例性的,在一个d维的搜索空间中,由n个粒子组成的种群x=(x1,x2,

,xn),其中第i个粒子可以表示为一个d维的向量xi=(x
i1
,x
i2


,x
id
),表示第i个粒子在d维搜索空间中的位置,也表示问题的一个解。可以根据构造的自适应度函数计算出每个粒子位置对应的适应度值。第i个粒子的速度可以表示为vi=(v
i1
,v
i2


,v
id
),其个体极值可以为pi=(p
i1
,p
i2


,p
id
),表示第i个粒子个体所经历的所有位置中适应度最优的位置。种群的群体极值可以为pg=(p
g1
,p
g2


,p
gd
),表示所有粒子搜索到的适应度最优的位置。
[0110]
举例而言,粒子群的维度d为20,预设的前视距离范围为(3,10),即x
min
=3,x
max
=3。每个粒子可以表示为一个20维的向量xi,且xi满足x
min
《xi《x
max
。其中,x
min
、x
max
可以分别表示为:
[0111][0112][0113]
在步骤s520中.在预设的所述前视距离的范围内随机初始化每个粒子的位置和速度。
[0114]
给定前视距离的范围后,可以在搜索空间中随机初始化每个粒子的速度和位置,也就是给每个粒子的速度和位置进行赋值,如粒子群的初速度可以设置为0,本公开对粒子的初速度和起始位置不做具体限定。可以根据每个粒子的初速度和起始位置计算对应的适应度值,得到每个粒子的当前最优位置和群体的当前最优位置。
[0115]
示例性的,式(9)中的e
max
=20cb时,式(9)可以写为:
[0116][0117]
计算粒子的适应度值时,可以根据粒子的起始位置与规划行驶路径中的规划位置得到每个粒子的横向位置偏差。例如,起始位置与规划位置处于同一位置时,计算得到初始化后粒子的适应度值为0。当e
max
越大时,计算得到的粒子的适应度值越小。
[0118]
通过计算每个粒子的适应度值可以更新每个粒子的历史最优位置和群体的历史最优位置。例如,初始化过程也就是进行第一次迭代时,粒子的当前最优位置和群体的当前最优位置即为粒子的历史最优位置和群体的历史最优位置。若迭代多次后,可以将每个粒子的历史最优位置设为该粒子的当前位置,将群体的历史最优位置设为初始群体中最佳粒子的位置,以便于通过跟踪每个粒子的历史最优位置和群体的历史最优位置来更新每个粒子的位置和速度。
[0119]
在步骤s530中.利用所述惯性权重和加速度因子更新所述每个粒子的位置和速度,得到所述每个粒子的当前位置和当前速度。
[0120]
示例性的,可以基于粒子自身的历史最优位置和群体的历史最优位置,利用惯性权重和加速度因子来更新每个粒子的速度和位置。
[0121]
例如,某一个粒子迭代粒子的速度和位置时,可以根据:
[0122]
vi=w*v0 c1*rand(p
i-x0) c2*rand(p
g-x0)(11)
[0123]
xi=x0 vi(12)
[0124]
更新粒子的速度和位置;在式(11)中,vi为粒子的当前速度,第一项w*v0称为记忆项,表示上次速度的影响,w为惯性权重,v0为粒子的上次迭代速度。第二项r2nd(p
i-xi)称为自身认知项,表示从当前位置指向粒子自身历史最优位置的一个矢量,c1为加速度因子,r2nd是分布于[0,1]之间的随机数,用来增加搜索随机性,pi为粒子自身历史最优位置,xi为粒子的当前位置。第三项c2*rand(p
g-xi)称为群体认知项,表示从当前位置指向群体历史最优位置的一个矢量,反映了粒子间的协同合作和知识共享,c2为加速度因子,pg为群体历史最优位置。举例而言,本公开示例实施方式中的w=1,c1=c2=2。需要说明的是,w、c1、c2的具体取值本公开不做限定。其他示例中,w也可以是动态值,例如,w可以在粒子群优化的搜索过程中线性变化,也可以根据粒子群优化性能的测试函数动态改变。在式(12)中,xi为粒子的当前位置,x0为粒子的上次迭代位置。
[0125]
在步骤s540中.基于所述每个粒子的当前位置和当前速度,通过所述自适应度函数计算所述每个粒子的适应度值。
[0126]
得到每个粒子的当前位置和当前速度后,可以通过自适应度函数即式(9)计算每个粒子的适应度值。可以理解的是,粒子每迭代一次位置和速度时,可以根据自适应度函数评价粒子的适应度,即计算适应度值。例如,计算第n次迭代后粒子的适应度值时,可以获取粒子在之前每次迭代时的横向位置偏差,即获取粒子的历史横向位置偏差,并根据历史横向位置偏差计算得到该粒子的e
max
,再根据式(9)计算得到对应的适应度值。
[0127]
在步骤s550中.根据所述每个粒子的适应度值更新粒子群个体最优位置和粒子群全局最优位置。
[0128]
示例性的,可以将每个粒子的适应度值与每个粒子的历史最优适应度值进行比较,以更新每个粒子的最优位置。可以将每个粒子的适应度值与粒子群的历史最优适应度值进行比较,以更新粒子群全局最优位置。具体地,对于每个粒子,可以将其当前位置的适应度值与其经过最好位置的适应度值进行比较,如果当前位置的适应度值较高,则将其当前位置作为个体最优位置,并根据其当前位置与其起始位置确定个体最优前视距离。对于每个粒子,可以将其当前位置的适应度值与粒子群经过最好位置的适应度值进行比较,如果当前位置的适应度值较高,则将其当前位置作为群体最优位置,同样可以根据群体最优位置确定全局最优前视距离。
[0129]
举例而言,第n次迭代后每个粒子的适应度为第n 1次迭代后适应度值最高的粒子位置为pi,则pi可以记为:
[0130][0131]
根据式(13)可以不断迭代更新粒子群个体最优位置和粒子群全局最优位置,直至粒子群满足迭代结束条件时,根据适应度值最高的粒子位置得到目标车辆的目标前视距离。
[0132]
步骤s560.当粒子群个体最优位置和粒子群全局最优位置满足预设的收敛条件
时,得到所述目标车辆的目标前视距离。
[0133]
其中,收敛条件可以是粒子群搜索到的最优位置的适应度值满足预设的适应度阈值,也可以是粒子群达到预设的迭代次数,还可以是两次迭代之间粒子的适应度差值满足预设的差值阈值,本公开对此不做具体限定。迭代完成后,可以根据适应度值最高的粒子位置得到目标前视距离,即最优前视距离,粒子群每迭代出一个最优前视距离时,可以使用纯跟踪控制算法在最优前视距离下计算目标车辆的横向控制指令。
[0134]
该示例中,通过粒子群优化算法自适应的调整车辆的前视距离,提高了车辆横向运动控制的鲁棒性,使车辆可以稳定地跟踪规划行驶路径,进而能够满足不同路况及不同车速下的控制需求。其中,根据平均横向位置偏差和最大横向位置偏差设计自适应度函数,并根据自适应度函数优化前视距离,可以提高对目标车辆的控制精度。
[0135]
在步骤s230中,根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。
[0136]
由式(6)可知,当车辆的轴距、目标前视距离一定时,可以根据目标车辆的当前横向位置偏差确定目标车辆当前的前轮偏转角度。因此,确定目标车辆的目标前视距离后,可以获取目标车辆的属性信息,如目标车辆的轴距。进而可以根据式(6)计算目标车辆的当前前轮偏转角度,即根据目标车辆的轴距、目标前视距离和目标车辆的当前横向位置偏差计算目标车辆的当前前轮偏转角度。确定目标车辆的前轮偏转角度后,可以根据该前轮偏转角度控制目标车辆行驶。例如,确定前轮需偏转5
°
时,可以生成前轮偏转5
°
的控制指令来控制前轮偏转。
[0137]
参考图6所示,示意性的给出了一种车辆路径跟踪控制方法,该方法包括步骤s601至步骤s603:
[0138]
步骤s601:通过粒子群优化算法确定前视距离。可以获取车辆的平均横向位置偏差和历史横向位置偏差,根据车辆的平均横向位置偏差和历史横向位置偏差构造自适应度函数。利用自适应度函数对粒子群中不断迭代的粒子进行评价,确定迭代后适应度值最高的粒子位置,以确定车辆的前视距离;
[0139]
步骤s602:利用纯跟踪控制算法计算前轮偏转角度。纯跟踪控制算法中,可以根据车辆的前视距离、车距和当前横向位置偏差计算得到车辆的前轮偏转角度;
[0140]
步骤s603:根据前轮偏转角度进行车辆横向控制。根据计算得到的前轮偏转角度生成车辆的横向控制指令来控制车辆按照规划行驶路径行驶。
[0141]
在本公开示例实施方式所提供的车辆路径跟踪控制方法中,通过获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。本公开通过粒子群优化算法自适应的调整车辆的前视距离,提高了车辆横向运动控制的鲁棒性,使车辆可以稳定地跟踪规划行驶路径,进而能够满足不同路况及不同车速下的控制需求。
[0142]
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,
以及/或者将一个步骤分解为多个步骤执行等。
[0143]
进一步的,本示例实施方式中,还提供了一种车辆路径跟踪控制装置,该装置可以应用于一服务器或终端设备。参考图7所示,该车辆路径跟踪控制装置700可以包括横向位置偏差获取模块710、目标前视距离确定模块720和前轮偏转角度确定模块730,其中:
[0144]
横向位置偏差获取模块710,用于获取目标车辆相对于规划行驶路径的横向位置偏差,所述横向位置偏差包括历史横向位置偏差和当前横向位置偏差;
[0145]
目标前视距离确定模块720,用于基于所述历史横向位置偏差,通过粒子群优化算法得到所述目标车辆的目标前视距离;
[0146]
前轮偏转角度确定模块730,用于根据所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的前轮偏转角度,以根据所述前轮偏转角度控制所述目标车辆行驶。
[0147]
在一种可选的实施方式中,目标前视距离确定模块720包括:
[0148]
自适应度函数构造单元,用于根据所述历史横向位置偏差构造自适应度函数;
[0149]
目标前视距离确定单元,用于基于所述自适应度函数,通过粒子群优化算法得到所述目标车辆的目标前视距离。
[0150]
在一种可选的实施方式中,自适应度函数构造单元包括:
[0151]
偏差计算子单元,用于根据所述历史横向位置偏差计算所述目标车辆的平均横向位置偏差和最大横向位置偏差;
[0152]
函数构造子单元,用于基于所述目标车辆的平均横向位置偏差和最大横向位置偏差构造自适应度函数。
[0153]
在一种可选的实施方式中,函数构造子单元中的自适应度函数被配置为:
[0154][0155]
其中,表示计算得到的所述目标车辆的平均横向位置偏差,表示所述目标车辆允许的标准横向位置偏差,e
max
表示计算得到的所述目标车辆的最大横向位置偏差,e
max
表示所述目标车辆允许的最大横向位置偏差。
[0156]
在一种可选的实施方式中,目标前视距离确定模块720包括:
[0157]
参数预设单元,用于预设粒子群优化算法的参数,所述参数包括惯性权重、加速度因子和前视距离的范围;
[0158]
粒子群初始化单元,用于在预设的所述前视距离的范围内随机初始化每个粒子的位置和速度;
[0159]
粒子群更新单元,用于利用所述惯性权重和加速度因子更新所述每个粒子的位置和速度,得到所述每个粒子的当前位置和当前速度;
[0160]
适应度计算单元,用于基于所述每个粒子的当前位置和当前速度,通过所述自适应度函数计算所述每个粒子的适应度值;
[0161]
最优值获取单元,用于根据所述每个粒子的适应度值更新粒子群个体最优位置和粒子群全局最优位置;
[0162]
目标前视距离确定单元,用于当粒子群个体最优位置和粒子群全局最优位置满足预设的收敛条件时,得到所述目标车辆的目标前视距离。
[0163]
在一种可选的实施方式中,最优值获取单元包括:
[0164]
个体最优值获取子单元,用于将所述每个粒子的适应度值与所述每个粒子的历史最优适应度值进行比较,更新所述每个粒子的最优位置;
[0165]
全局最优值获取子单元,用于将所述每个粒子的适应度值与所述粒子群的历史最优适应度值进行比较,更新所述粒子群全局最优位置。
[0166]
在一种可选的实施方式中,前轮偏转角度确定模块730包括:
[0167]
信息获取单元,用于获取所述目标车辆的属性信息,所述目标车辆的属性信息包括目标车辆的轴距;
[0168]
前轮偏转角度确定单元,用于根据所述目标车辆的轴距、所述目标前视距离和所述当前横向位置偏差计算所述目标车辆的当前前轮偏转角度。
[0169]
上述车辆路径跟踪控制装置中各模块的具体细节已经在对应的车辆路径跟踪控制方法中进行了详细的描述,因此此处不再赘述。
[0170]
上述装置中各模块可以是通用处理器,包括:中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。各模块也可以由软件、固件等形式来实现。上述装置中的各处理器可以是独立的处理器,也可以集成在一起。
[0171]
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0172]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0173]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0174]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0175]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算
设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0176]
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图8来描述根据本公开的这种示例性实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
[0177]
如图8所示,电子设备800可以以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830和显示单元840。
[0178]
存储单元820存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元810可以执行图2、图4至图6中任意一个或多个方法步骤。
[0179]
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(rom)823。
[0180]
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0181]
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0182]
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0183]
在一些实施例中,可以由电子设备的处理单元810执行本公开中所述的车辆路径跟踪控制方法。在一些实施例中,可以通过输入接口850输入目标车辆的属性信息如轴距和该车辆相对于规划行驶路径的横向位置偏差等信息。在一些实施例中,可以通过输出接口850将车辆的前轮偏转角度输出至外部设备900以供用户查看。
[0184]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算
设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
[0185]
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0186]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0187]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献