一种用于自动驾驶汽车的避障方法及系统

文档序号:31412816发布日期:2022-09-03 10:54阅读:173来源:国知局
一种用于自动驾驶汽车的避障方法及系统

1.本发明涉及汽车自动驾驶技术,具体涉及一种用于自动驾驶汽车的避障方法及系统。


背景技术:

2.避障技术是自动驾驶汽车的一项关键技术,汽车实现自主避障的关键是对避障路径的合理的路径规划。路径规划的含义为:在规定的评价指标以及约束条件下,确定从起点到终点的最优或者次优路径。对于车辆工程领域而言,路径规划指在规定的交通路线中,确定起始点到目的地的最优行驶路径,使得目标函数满足约束条件下取得最优值(无碰撞、行驶里程最小、用时最短、避免拥堵等)。
3.传统的避障路径规划方法有人工势场法、遗传算法、模糊算法等。传统的避障路径规划方法一般是首先根据障碍物模型和分布情况,首先算出一条最优的避障路径,再对计算出的最优的避障路径进行几何光滑拟合处理作为汽车的实际行驶目标路径,最后采用轨迹跟踪控制技术控制汽车的实际行驶轨迹符合所规划拟合的目标路径。


技术实现要素:

4.本发明要解决的技术问题:针对现有技术的上述问题,提供一种用于自动驾驶汽车的避障方法及系统,本发明可直接计算得到汽车的实际避障行驶路径,而无需像传统的避障算法需要路径规划、路径光滑拟合和轨迹跟踪三个步骤,相对于传统算法更简便;本发明计算得到的避障路径曲线直接与驾驶操作参数对应,更符合驾驶操作习惯和汽车行驶轨迹特征。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种用于自动驾驶汽车的避障方法,包括:
7.s1、根据避障工况确定避障约束条件,根据所述避障约束条件在预设的避障路径曲线数据库中选择最优的避障路径曲线,其中所述避障路径曲线数据库中的避障路径曲线具有对应的避障驾驶操作参数;
8.s2、根据所述最优的避障路径曲线所对应的避障驾驶操作参数,操纵汽车实现避障行驶。
9.可选地,所述预设的避障路径曲线数据库中的避障路径曲线包括避障段、驶离段和回位段,其中驶离段为直线行驶段。
10.可选地,所述预设的避障路径曲线数据库中的避障路径曲线根据初始转向方向的不同,分为初始转向方向为逆时针方向和顺时针方向两种类型,两种类型的避障路径曲线都分别由两部分组成,且初始转向方向为逆时针方向的行驶轨迹曲线的第一部分的曲线的函数表达式为:
[0011][0012]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t1],t1为汽车在第一部分的曲线上行驶的时间,v为汽车的行驶车速,l为汽车的轴距,ψ为汽车转向轮转动的角速度,t为时间参数;初始转向方向为逆时针方向的行驶轨迹曲线的第二部分的曲线的函数表达式为:
[0013][0014]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t2],t2为汽车在第二部分的曲线上行驶的时间;初始转向方向为顺时针方向的行驶轨迹曲线的第一部分的曲线的函数表达式为:
[0015][0016]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t1],t1为汽车在第一部分的曲线上行驶的时间;初始转向方向为顺时针方向的行驶轨迹曲线的第二部分的曲线的函数表达式为:
[0017][0018]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t2],t2为汽车在第二部分的曲线上行驶的时间。
[0019]
可选地,所述预设的避障路径曲线数据库中的避障路径曲线包含下述约束条件:条件1、汽车避障行驶过程中侧向加速度的绝对值不大于设定值,且第一部分的曲线的侧向加速度绝对值|a1|的计算函数表达式为|a1|=|v2sinψt/l|,第二部分的曲线的侧向加速度绝对值|a2|的计算函数表达式为|a2|=|v2sinψ(t
1-t)/l|;条件2、汽车完成第二部分的曲线行驶后的航向角绝对值|θ|满足小于设定值,航向角绝对值|θ|的计算函数表达式为:
[0020]
可选地,步骤s1中根据避障工况确定避障约束条件包括:条件1、汽车避障行驶过程中不与障碍物发生接触;条件2、汽车行驶过程中与障碍物的距离尽可能小但不小于设定的障碍物安全距离d1;条件3、汽车行驶过程中与道路边界的距离不小于设定的道路边界安全距离d2。
[0021]
可选地,所述设定的障碍物安全距离d1为0.5m,所述设定的道路边界安全距离d2为0.2m。
[0022]
可选地,步骤s1中根据所述避障约束条件在预设的避障路径曲线数据库中选择最优的避障路径曲线包括:
[0023]
s1.1、定义汽车的初始行驶方向为x正方向,则汽车左侧垂直x方向为y正方向;根据障碍物与道路两侧边界之间的避障空间确定汽车的初始转向方向,定义d1和d2为障碍物距离两侧道路边界的最小距离,若满足d1》d2,则取d1侧为避障行驶侧,且需满足d1≥d1+d2+w,w为汽车的宽度,从而确定避障段路径曲线的初始转向方向类型;
[0024]
s1.2、基于确定避障段路径曲线的初始转向方向类型,按照下述方式确定避障段路径曲线的避障段、驶离段和回位段:
[0025]
针对避障段:以y向避障幅度y
bo
为控制参数在初始转向方向类型的避障段路径曲线中进行避障段路径曲线的初选,y向避障幅度y
bo
为避障段的结束位置点b与避障段的初始位置点o的y向坐标差;定义p点为障碍物在汽车避障行驶侧距离道路边界最近的点,避障路径曲线的初选约束条件为:y
bo
≥0.5m+y
po
,且初选约束条件y
bo
尽可能小,式中y
po
为p点与避障段的初始位置点o的y坐标差;根据行驶车速v和初选约束条件y
bo
在避障路径曲线数据库中初选的避障段路径曲线,将初选的避障段路径曲线对应的ψ、t1、t2作为初步选定的汽车避障段驾驶操作参数,其中t1为汽车在第一部分的曲线上行驶的时间,t2为汽车在第二部分的曲线上行驶的时间,ψ为汽车转向轮转动的角速度;定义q点为障碍物上在x方向距离汽车最近的点,按x
qo
=x
bo
+0.5m确定避障初始点o点的x向位置x
qo
,其中x
bo
为初选避障段路径曲线中避障段的结束位置点b与初始位置点o的x坐标差;
[0026]
针对驶离段:驶离段对应的直线段行驶长度l
l
按照下式确定:l
l
=lv+lo+1m,驶离段的行驶时间t0=l
l
/v,其中lv为汽车长度,lo为障碍物的x向最大长度,v为车速;
[0027]
针对回位段:回位段的驾驶操作参数按-ψ、t1、t2确定,并据此驾驶操作参数确定回位段的行驶路径曲线;
[0028]
s1.3、验证完整避障路径曲线与障碍物的最小距离do,与道路边界的最小距离db,如满足do≥d1、db≥d2,则按所确定的避障路径曲线行驶;如不满足,则增大初选约束条件y
bo
的值,跳转步骤s1.2重新选择避障路径曲线。
[0029]
此外,本发明还提供一种用于自动驾驶汽车的避障系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述的用于自动驾驶汽车的避障方法的步骤。
[0030]
此外,本发明还提供一种自动驾驶汽车,包括汽车本体和设于汽车本体中的自动驾驶控制系统,所述自动驾驶控制系统包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述的用于自动驾驶汽车的避障方法的步骤。
[0031]
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以执行所述的用于自动驾驶汽车的避障方法的步骤。
[0032]
和现有技术相比,本发明主要具有下述优点:
[0033]
1、采用本发明的计算方法,在计算避障路径时直接采用转向控制参数作为输入条件,障碍物只作为避障的约束条件,因此采用本发明计算得到的避障路径符合汽车的实际行驶状况,而无需对避障路径的计算结果进行额外的拟合和光滑处理。
[0034]
2、由于本发明计算得到的避障路径和转向控制参数对应,因此直接采用对应的转
向控制参数即可控制汽车实现避障行驶,而无需另外采用轨迹跟踪控制技术。
附图说明
[0035]
图1为本发明实施例一方法的基本流程示意图。
[0036]
图2为本发明实施例一中避障路径曲线的示意图。
[0037]
图3为本发明实施例一中ψ=1.5rad/s及不同车速v下的避障路径曲线。
[0038]
图4为本发明实施例一中ψ=1rad/s及不同车速v下的避障路径曲线。
[0039]
图5为本发明实施例一中ψ=0.5rad/s及不同车速v下的避障路径曲线。
[0040]
图6为本发明实施例一中实际避障工况示意图。
具体实施方式
[0041]
实施例一:
[0042]
如图1所示,本实施例用于自动驾驶汽车的避障方法包括:
[0043]
s1、根据避障工况确定避障约束条件,根据所述避障约束条件在预设的避障路径曲线数据库中选择最优的避障路径曲线,其中避障路径曲线数据库中的避障路径曲线具有对应的避障驾驶操作参数;
[0044]
s2、根据所述最优的避障路径曲线所对应的避障驾驶操作参数,操纵汽车实现避障行驶。
[0045]
其中,避障路径曲线数据库中包含多条避障路径曲线,且每一条避障路径曲线具有对应的避障驾驶操作参数。避障路径曲线数据库的生成方式如下:首先对每一种具体的避障驾驶操作参数进行排列组合,形成不同的避障驾驶操作参数的集合,然后针对每一个避障驾驶操作参数的集合生成对应的避障路径曲线,最终将所有避障路径曲线加入数据库,即可得到避障路径曲线数据库。
[0046]
避障驾驶操作参数是指避障驾驶相关的操作参数,可根据汽车的实际驾驶需求而确定,一般而言,可包含转向参数、汽车车速等数据,基于不同的转向参数、汽车车速等数据可以得到大量不同的避障行驶路径曲线,这些避障行驶路径曲线将与转向操作参数一一对应。汽车在避障行驶时,根据预先设定的控制逻辑计算选取最优的避障行驶路径曲线,并采用所选取的最优路径曲线所对应的驾驶操作参数控制汽车的转向动作,从而实现避障行驶。
[0047]
如图2所示,本实施例中预设的避障路径曲线数据库中的避障路径曲线包括避障段、驶离段和回位段,其中驶离段为直线行驶段。图中,汽车抽象为矩形结构,其四角顶点分别记为a、b、c、d。避障段从汽车初始位置、避障完成位置之间的曲线;回位段为驶离段结束位置、回位完成位置之间的曲线。
[0048]
本实施例中,预设的避障路径曲线数据库中的避障路径曲线根据初始转向方向的不同,分为初始转向方向为逆时针方向和顺时针方向两种类型,两种类型的避障路径曲线都分别由两部分组成,且初始转向方向为逆时针方向的行驶轨迹曲线的第一部分的曲线的函数表达式为:
[0049][0050]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t1],t1为汽车在第一部分的曲线上行驶的时间,v为汽车的行驶车速,l为汽车的轴距,ψ为汽车转向轮转动的角速度,t为时间参数;初始转向方向为逆时针方向的行驶轨迹曲线的第二部分的曲线的函数表达式为:
[0051][0052]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t2],t2为汽车在第二部分的曲线上行驶的时间;初始转向方向为顺时针方向的行驶轨迹曲线的第一部分的曲线的函数表达式为:
[0053][0054]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t1],t1为汽车在第一部分的曲线上行驶的时间;初始转向方向为顺时针方向的行驶轨迹曲线的第二部分的曲线的函数表达式为:
[0055][0056]
上式中,x(t)、y(t)为行驶轨迹曲线上各点在t时刻的坐标,t∈[0,t2],t2为汽车在第二部分的曲线上行驶的时间。
[0057]
对应地,本实施例中避障驾驶操作参数包括转向轮角速度参数ψ、转向轮的转动方向、汽车在第一部分的曲线上行驶的时间t1、汽车在第二部分的曲线上行驶的时间t2以及汽车车速v。图3、图4、图5分别代表轴距为2.5m的汽车在不同转向轮转向角速度ψ以及不同车速v下的汽车避障行驶轨迹曲线,其中避障行驶时间t1=0.4s,t2=0.935s。曲线的左半部分代表汽车的避障行驶工况(避障段),右半部分为避障完成后汽车驶回原行驶路径工况(回位段),驶离段为直线段,因此在上图中省略未绘出。
[0058]
本实施例中,步骤s1中根据避障工况确定避障约束条件包括:条件1、汽车避障行驶过程中不与障碍物发生接触;条件2、汽车行驶过程中与障碍物的距离尽可能小但不小于设定的障碍物安全距离d1;条件3、汽车行驶过程中与道路边界的距离不小于设定的道路边界安全距离d2。设定的障碍物安全距离d1和道路边界安全距离d2可根据实际避障工况进行设定。图6所示为本实施例中的实际避障工况示意图,图中尺寸单位均为mm,例如汽车长度为4000mm、宽度为1800mm,其余尺寸详见图中标注。本实施例中针对该实际避障工况,设定的障碍物安全距离d1为0.5m、道路边界安全距离d2为0.2m,
[0059]
本实施例中,步骤s1中根据所述避障约束条件在预设的避障路径曲线数据库中选择最优的避障路径曲线包括:
[0060]
s1.1、定义汽车的初始行驶方向为x正方向,则汽车左侧垂直x方向为y正方向;根据障碍物与道路两侧边界之间的避障空间确定汽车的初始转向方向,定义d1和d2为障碍物距离两侧道路边界的最小距离,若满足d1》d2,则取d1侧为避障行驶侧,且需满足d1≥d1+d2+w,w为汽车的宽度,从而确定避障段路径曲线的初始转向方向类型;
[0061]
s1.2、基于确定避障段路径曲线的初始转向方向类型,按照下述方式确定避障段路径曲线的避障段、驶离段和回位段:
[0062]
针对避障段:以y向避障幅度y
bo
为控制参数在初始转向方向类型的避障段路径曲线中进行避障段路径曲线的初选,y向避障幅度y
bo
为避障段的结束位置点b与避障段的初始位置点o的y向坐标差;定义p点为障碍物在汽车避障行驶侧距离道路边界最近的点,避障路径曲线的初选约束条件为:y
bo
≥0.5m+y
po
,且初选约束条件y
bo
尽可能小,式中y
po
为p点与避障段的初始位置点o的y坐标差;根据行驶车速v和初选约束条件y
bo
在避障路径曲线数据库中初选的避障段路径曲线,将初选的避障段路径曲线对应的ψ、t1、t2作为初步选定的汽车避障段驾驶操作参数,其中t1为汽车在第一部分的曲线上行驶的时间,t2为汽车在第二部分的曲线上行驶的时间,ψ为汽车转向轮转动的角速度;定义q点为障碍物上在x方向距离汽车最近的点,按x
qo
=x
bo
+0.5m确定避障初始点o点的x向位置x
qo
,其中x
bo
为初选避障段路径曲线中避障段的结束位置点b与初始位置点o的x坐标差;本实施例中,避障段的初始转向方向为逆时针,对应的转向操作参数ψ=0.63rad/s,转向操作时间为逆时针方向(t1)0.47s,顺时针方向(t2)1.12s。
[0063]
针对驶离段:驶离段对应的直线段行驶长度l
l
按照下式确定:l
l
=lv+lo+1m,驶离段的行驶时间t0=l
l
/v,其中lv为汽车长度,lo为障碍物的x向最大长度,v为车速;驶离段的作用是由于汽车和障碍物都有一定的长度,因此汽车进行避障操作后还需继续直线行驶一段距离,以驶离障碍物,驶离段长度按汽车长度+障碍物长度+避障距离计算,本实施例中,驶离段长度为6m,由于汽车的行驶车速为5m/s,因此,汽车在驶离段的行驶时间为1.2s,汽车转向轮为回正状态。
[0064]
针对回位段:回位段的驾驶操作参数按-ψ、t1、t2确定,并据此驾驶操作参数确定回位段的行驶路径曲线;本实施例中,回位段的初始转向方向为顺时针,对应的转向操作参数ψ=0.63rad/s,转向操作时间为顺时针方向(t1)0.47s,逆时针方向(t2)1.12s。
[0065]
s1.3、验证完整避障路径曲线与障碍物的最小距离do,与道路边界的最小距离db,如满足do≥d1、db≥d2,则按所确定的避障路径曲线行驶;如不满足,则增大初选约束条件y
bo
的值,跳转步骤s1.2重新选择避障路径曲线。
[0066]
最终,基于步骤s1中根据避障工况确定避障约束条件(条件1~条件3)计算选取的最优避障路径曲线所对应的转向轮角速度参数ψ、转向轮的转动方向、汽车在避障段的曲线上行驶的时间t1、t2、汽车在回位段的曲线上行驶的时间t1、t2以及汽车车速v,即可操纵汽车实现避障行驶。
[0067]
此外,本实施例还提供一种用于自动驾驶汽车的避障系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0068]
此外,本实施例还提供一种自动驾驶汽车,包括汽车本体和设于汽车本体中的自动驾驶控制系统,所述自动驾驶控制系统包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0069]
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0070]
实施例二:
[0071]
本实施例与实施例一基本相同,其主要区别为:本实施例中,生成避障路径曲线数据库时,对于避障路径曲线包含预设的约束条件。避障路径曲线数据库的生成方式如下:首先对每一种具体的避障驾驶操作参数进行排列组合,形成不同的避障驾驶操作参数的集合,预先设定避障路径曲线的约束条件,然后针对每一个避障驾驶操作参数的集合生成对应的避障路径曲线,最终将所有符合约束条件的避障路径曲线加入数据库,即可得到避障路径曲线数据库。
[0072]
本实施例中,预设的避障路径曲线数据库中的避障路径曲线包含下述约束条件:
[0073]
条件1、汽车避障行驶过程中侧向加速度的绝对值不大于设定值,且第一部分的曲线的侧向加速度绝对值|a1|的计算函数表达式为|a1|=|v2sinψt/l|,第二部分的曲线的侧向加速度绝对值|a2|的计算函数表达式为|a2|=|v2sin(t
1-t)/l|;
[0074]
条件2、汽车完成第二部分的曲线行驶后的航向角绝对值|θ|满足小于设定值,航向角绝对值|θ|的计算函数表达式为:
[0075]
通过在设计避障路径曲线时,通过考虑上述侧向加速度的约束条件,能够直接保证汽车在避障行驶时的侧向平顺性能。
[0076]
作为一种可选的实施方式,本实施例中条件1为侧向加速度的绝对值不大于4m/s2,条件2为航向角绝对值|θ|满足小于1
°

[0077]
此外,本实施例还提供一种用于自动驾驶汽车的避障系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0078]
此外,本实施例还提供一种自动驾驶汽车,包括汽车本体和设于汽车本体中的自动驾驶控制系统,所述自动驾驶控制系统包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0079]
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以执行前述的用于自动驾驶汽车的避障方法的步骤。
[0080]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0081]
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1