用于自动驾驶车辆的控制方法和装置与流程

文档序号:27908796发布日期:2021-12-11 07:10阅读:158来源:国知局
用于自动驾驶车辆的控制方法和装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种用于自动驾驶车辆的控制方法和装置。


背景技术:

2.自动驾驶轨迹跟踪控制器的作用是驱动车辆在规划的参考轨迹上行驶。具体地,自动驾驶轨迹跟踪控制器根据规划的参考轨迹和车辆行驶过程中的状态及定位信息生成加速度指令和前轮转角指令,将加速度指令转换为油门刹车指令,进而驱动车辆行驶。目前,自动驾驶轨迹跟踪控制器进行轨迹跟踪控制时大部分采用的方法有基于几何的纯跟踪pure pursuit方法、pid(proportional

integral

derivative control,比例积分微分控制)方法、线性二次调节器lqr方法、模型预测控制mpc方法等。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
4.现有的几种控制方法对于横纵向耦合严重的车辆运动系统来讲,控制策略无法做到最佳,且求解过程复杂周期过长,实时控制效果差。


技术实现要素:

5.有鉴于此,本发明实施例提供一种用于自动驾驶车辆的控制的方法和装置,通过反演控制方法构建了加速度控制指令和前轮转角控制指令,而生成控制指令的整个实现过程无需进行线性化处理,求解过程简单且用时较短,提高了效率,实现了对干扰信号的自适应控制,达到系统的全局稳定和高精度跟踪性能,满足了自动驾驶车辆对轨迹跟踪控制器的各项指标要求。
6.为实现上述目的,根据本发明实施例的一个方面,提供了一种用于自动驾驶车辆的控制方法。
7.一种用于自动驾驶车辆的控制方法,包括:获取车辆行驶的参考轨迹和实时行驶参数,并根据所述参考轨迹和所述实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;根据所述实时行驶参数和所述参考轨迹点的轨迹参数确定所述车辆行驶的加速度和参考航向角,并根据所述参考航向角确定前轮转角;根据所述加速度生成加速度控制指令,根据所述前轮转角生成前轮转角控制指令;根据所述加速度控制指令和所述前轮转角控制指令控制车辆行驶。
8.可选地,所述车辆的实时行驶参数包括:车辆当前的位置坐标、速度以及航向角;所述参考轨迹点的轨迹参数包括参考轨迹点的位置坐标和速度;根据所述参考轨迹和所述实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数,包括:根据所述参考轨迹得到每个轨迹点的轨迹参数;根据所述车辆当前的位置坐标及每个轨迹点的轨迹参数确定与车辆最近的参考轨迹点;根据所述每个轨迹点的轨迹参数得到参考轨迹点的轨迹参数。
9.可选地,所述轨迹参数还包括轨迹点之间的相对时间值;
10.根据所述实时行驶参数和所述参考轨迹点的轨迹参数确定所述车辆行驶的加速
度和参考航向角包括:根据所述轨迹点之间的相对时间值确定所述参考轨迹点的前面两个轨迹点和后面两个轨迹点,并获取所述前面两个轨迹点和所述后面两个轨迹点的轨迹参数;根据所述实时行驶参数、所述参考轨迹点的轨迹参数、所述前面两个轨迹点和所述后面两个轨迹点的轨迹参数,以及预设的加速度控制率和参考航向角控制率,确定所述车辆行驶的加速度和参考航向角;其中,所述预设的加速度控制率和参考航向角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
11.可选地,所述加速度控制率和所述参考航向角控制率通过以下方式获取:
12.获取车辆在某时刻的位置坐标(x y)和速度v以及该时刻的参考轨迹点的位置坐标(x
f y
f
)和速度v
f

13.根据获取的车辆的位置坐标和速度,与参考轨迹点的位置坐标和速度得到该时刻的位置坐标误差x
e
、y
e
和速度误差v
e
为:x
e
=x

x
f
;y
e
=y

y
f
;v
e
=v

v
f

14.根据定义的李雅普诺夫函数和参考航向角获取车辆的位置坐标的导数和速度导数:
[0015][0016]
以上c1、c2、c3为控制参数,且均为非负实数;
[0017]
根据车辆的位置坐标的导数和速度导数获取线速度

v:
[0018][0019]
加速度控制率:
[0020][0021]
和参考航向角控制率:
[0022][0023]
其中,为线速度

v的导数。
[0024]
可选地,所述车辆行驶的加速度和参考航向角通过以下方式确定:
[0025]
获取所述车辆当前时刻的位置坐标(x
vehicle y
vehicle
)和速度v
vehicle
、所述参考轨迹点的位置坐标(x
k y
k
)和速度v
k
、所述前面两个轨迹点的位置坐标(x
k+2 y
k+2
)和(x
k+1 y
k+1
)以及速度v
k+2
和v
k+1
、所述后面两个轨迹点的位置坐标(x
k

2 y
k
‑2)和(x
k

1 y
k
‑1)以及速度v
k
‑2和v
k
‑1;
[0026]
根据获取的所述车辆当前时刻的位置坐标和速度,以及所述参考轨迹点的位置坐标和速度,得到当前时刻的位置坐标误差x
e
、y
e
和速度误差v
e

[0027]
x
e
=x
vehicle

x
k
;y
e
=y
vehicle

y
k
;v
e
=v
vehicle

v
k

[0028]
根据以下公式获取参考轨迹点的位置坐标的导数和速度的导数
[0029][0030]
[0031][0032]
获取当前控制周期m的前两个控制周期(m

1)和(m

2)控制周期的线速度

v
m
‑1、

v
m
‑2,根据获取当前控制周期的线速度导数
[0033]
根据当前时刻的位置坐标误差x
e
和y
e
、速度误差v
e
、和当前控制周期的线速度导数和所述加速度控制率得到所述车辆行驶的加速度;
[0034]
根据当前时刻的位置坐标误差x
e
和y
e
、和及所述参考航向角控制率得到所述车辆行驶的参考航向角。
[0035]
可选地,根据所述参考航向角确定前轮转角包括:
[0036]
根据所述实时行驶参数中包括的所述车辆当前的航向角、所述参考航向角,以及预设的前轮转角控制率,确定所述前轮转角;
[0037]
其中,所述预设的前轮转角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0038]
可选地,所述前轮转角控制率通过以下方式获取:
[0039]
获取车辆在某时刻的位置坐标(x y)、速度v和航向角θ,该时刻的参考轨迹点的位置坐标(x
f y
f
)、速度v
f
和参考航向角并计算该时刻的位置坐标误差x
e
、y
e
、速度误差v
e
和航向角误差θ
e
分别为:
[0040][0041]
根据定义的前轮转角对应的李雅普诺夫函数和航向角误差的导数获取前轮转角控制率:
[0042][0043]
其中,ε是一个很小的正数,l为车辆轴距。
[0044]
可选地,所述前轮转角通过以下方式确定:
[0045]
获取所述车辆当前时刻的航向角θ
vehicle
,当前控制周期m的参考航向角(m

1)和(m

2)控制周期的参考航向角
[0046]
根据定义的航向角误差θ
e
和所述前轮转角控制率获取所述车辆的前轮转角,其中:
[0047][0048][0049][0050]
其中,ε是一个很小的正数,l为车辆轴距,v
vehicle
为所述车辆当前时刻的速度。
[0051]
根据本发明实施例的另一方面,提供了一种用于自动驾驶车辆的控制的装置。
[0052]
一种用于自动驾驶车辆的控制的装置,包括:参数获取模块:用于获取车辆行驶的参考轨迹和实时行驶参数,并根据所述参考轨迹和所述实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;控制设计模块:用于根据所述实时行驶参数和所述参考轨迹点的轨
迹参数确定所述车辆行驶的加速度和参考航向角,并根据所述参考航向角确定前轮转角;指令生成模块:根据所述加速度生成加速度控制指令,根据所述前轮转角生成前轮转角控制指令;车辆行驶模块:根据所述加速度控制指令和所述前轮转角控制指令控制车辆行驶。
[0053]
可选地,所述车辆的实时行驶参数包括:车辆当前的位置坐标、速度以及航向角;所述参考轨迹点的轨迹参数包括参考轨迹点的位置坐标和速度;所述参数获取模块还用于:根据所述参考轨迹得到每个轨迹点的轨迹参数;根据所述车辆当前的位置坐标及每个轨迹点的轨迹参数确定与车辆最近的参考轨迹点;根据所述每个轨迹点的轨迹参数得到参考轨迹点的轨迹参数。
[0054]
可选地,所述轨迹参数还包括轨迹点之间的相对时间值;所述控制设计模块还用于:根据所述轨迹点之间的相对时间值确定所述参考轨迹点的前面两个轨迹点和后面两个轨迹点,并获取所述前面两个轨迹点和所述后面两个轨迹点的轨迹参数;根据所述实时行驶参数、所述参考轨迹点的轨迹参数、所述前面两个轨迹点和所述后面两个轨迹点的轨迹参数,以及预设的加速度控制率和参考航向角控制率,确定所述车辆行驶的加速度和参考航向角;其中,所述预设的加速度控制率和参考航向角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0055]
可选地,所述加速度控制率和所述参考航向角控制率通过以下方式获取:
[0056]
获取车辆在某时刻的位置坐标(x y)和速度v以及该时刻的参考轨迹点的位置坐标(x
f y
f
)和速度v
f

[0057]
根据获取的车辆的位置坐标和速度,与参考轨迹点的位置坐标和速度得到该时刻的位置坐标误差x
e
、y
e
和速度误差v
e
为:x
e
=x

x
f
;y
e
=y

y
f
;v
e
=v

v
f

[0058]
根据定义的李雅普诺夫函数和参考航向角获取车辆的位置坐标的导数和速度导数:
[0059][0060]
以上c1、c2、c3为控制参数,且均为非负实数;
[0061]
根据车辆的位置坐标的导数和速度导数获取线速度

v:
[0062][0063]
加速度控制率:
[0064][0065]
和参考航向角控制率:
[0066][0067]
其中,为线速度

v的导数。
[0068]
可选地,所述车辆行驶的加速度和参考航向角通过以下方式确定:
[0069]
获取所述车辆当前时刻的位置坐标(x
vehicle y
vehicle
)和速度v
vehicle
、所述参考轨迹点的位置坐标(x
k y
k
)和速度v
k
、所述前面两个轨迹点的位置坐标(x
k+2 y
k+2
)和(x
k+1 y
k+1
)以及速度v
k+2
和v
k+1
、所述后面两个轨迹点的位置坐标(x
k

2 y
k
‑2)和(x
k

1 y
k
‑1)以及速度v
k
‑2和
v
k
‑1;
[0070]
根据获取的所述车辆当前时刻的位置坐标和速度,以及所述参考轨迹点的位置坐标和速度,得到当前时刻的位置坐标误差x
e
、y
e
和速度误差v
e

[0071]
x
e
=x
vehicle

x
k
;y
e
=y
vehicle

y
k
;v
e
=v
vehicle

v
k

[0072]
根据以下公式获取参考轨迹点的位置坐标的导数和速度的导数
[0073][0074][0075][0076]
获取当前控制周期m的前两个控制周期(m

1)和(m

2)控制周期的线速度

v
m
‑1、

v
m
‑2,根据获取当前控制周期的线速度导数
[0077]
根据当前时刻的位置坐标误差x
e
和y
e
、速度误差v
e
、和当前控制周期的线速度导数和所述加速度控制率得到所述车辆行驶的加速度;
[0078]
根据当前时刻的位置坐标误差x
e
和y
e
、和及所述参考航向角控制率得到所述车辆行驶的参考航向角。
[0079]
可选地,所述控制设计模块还用于:
[0080]
根据所述实时行驶参数中包括的所述车辆当前的航向角、所述参考航向角,以及预设的前轮转角控制率,确定所述前轮转角;
[0081]
其中,所述预设的前轮转角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0082]
可选地,所述前轮转角控制率通过以下方式获取:
[0083]
获取车辆在某时刻的位置坐标(x y)、速度v和航向角θ,该时刻的参考轨迹点的位置坐标(x
f y
f
)、速度v
f
和参考航向角并计算该时刻的位置坐标误差x
e
、y
e
、速度误差v
e
和航向角误差θ
e
分别为:
[0084][0085]
根据定义的前轮转角对应的李雅普诺夫函数和航向角误差的导数获取前轮转角控制率:
[0086][0087]
其中,ε是一个很小的正数,l为车辆轴距。
[0088]
可选地,所述前轮转角通过以下方式确定:
[0089]
获取所述车辆当前时刻的航向角θ
vehicle
,当前控制周期m的参考航向角(m

1)和(m

2)控制周期的参考航向角
[0090]
根据定义的航向角误差θ
e
和所述前轮转角控制率获取所述车辆的前轮转角,其中:
[0091][0092][0093][0094]
其中,ε是一个很小的正数,l为车辆轴距,v
vehicle
为所述车辆当前时刻的速度。
[0095]
根据本发明实施例的又一方面,提供了一种用于自动驾驶车辆的控制的电子设备。
[0096]
一种用于自动驾驶车辆的控制的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的用于自动驾驶车辆的控制方法。
[0097]
根据本发明实施例的再一方面,提供了一种计算机可读介质。
[0098]
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的用于自动驾驶车辆的控制方法。
[0099]
上述发明中的一个实施例具有如下优点或有益效果:通过获取车辆行驶的参考轨迹和实时行驶参数,并根据所述参考轨迹和所述实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;根据所述实时行驶参数和所述参考轨迹点的轨迹参数确定所述车辆行驶的加速度和参考航向角,并根据所述参考航向角确定前轮转角;根据所述加速度生成加速度控制指令,根据所述前轮转角生成前轮转角控制指令;根据所述加速度控制指令和所述前轮转角控制指令控制车辆行驶的技术手段,利用反演控制方法构建了加速度控制率和前轮转角控制率,使得车辆闭环系统得到稳定控制的同时也保证了其动态和静态性能指标更优,且整个实现过程无需进行线性化处理,求解简单且用时较短,提高了效率,实现了对干扰信号的自适应控制,达到系统的全局稳定和高精度跟踪性能,满足了自动驾驶车辆对轨迹跟踪控制器的各项指标要求。
[0100]
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0101]
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0102]
图1是根据本发明实施例的反演控制器的设计流程图;
[0103]
图2是根据本发明实施例的控制器的结构示意图;
[0104]
图3是根据本发明实施例的与车辆距离最近的参考轨迹点的示意图;
[0105]
图4是根据本发明实施例的用于自动驾驶车辆的控制方法的主要步骤示意图;
[0106]
图5是根据本发明实施例的用于自动驾驶车辆的控制装置的主要模块示意图;
[0107]
图6是本发明实施例可以应用于其中的示例性系统架构图;
[0108]
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0109]
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0110]
对于现有技术中常用的几种控制方法来说,pure pursuit方法、pid方法、线性二次调节器lqr方法均为单向控制算法,这对于横纵向耦合严重的车辆运动系统来讲会失去最优控制策略。而基于模型控制的方法,若直接基于非线性模型求解,其求解过程复杂周期过长,不满足实车上实时控制的要求;若将模型线性化处理然后用二次规划求解,在线性化的过程中会有模型失配或求解失败的风险。因此,现有的控制方法均不能很好地适用于自动驾驶车辆的轨迹跟踪控制。
[0111]
车辆运动系统是一个复杂的非线性系统,且其在行驶过程中会遇到许多干扰,如道路噪声、风力等诸多不确定因素,这些干扰会耦合到控制系统中,进而使控制效果变差。而反演控制器在设计控制率的过程中与李雅普诺夫函数相结合,对于不确定性因素自适应处理能力较强,使车辆闭环系统得到稳定控制的同时也保证了其动态和静态性能指标更优。为了更好地进行自动驾驶车辆的轨迹跟踪控制,本发明引入了反演控制器的实现原理来对自动驾驶车辆进行控制。
[0112]
图1是根据本发明实施例的反演控制器的设计流程图,如图1所示,反演控制器设计基本流程主要包括:先将复杂的非线性系统拆分为不大于该系统阶次的子系统,然后基于所有的子系统进行李雅普诺夫函数和虚拟控制变量控制率的设计。子系统与子系统之间通过虚拟控制变量逐步递推,有效的达到了对状态变量静态补偿的目的,最终实现了控制系统的镇定控制。结合本发明的技术方案,该虚拟控制变量即为车辆的参考航向角。
[0113]
图2是根据本发明实施例的控制器的结构示意图,本发明基于车辆运动学模型进行控制器设计。如图2所示,用于自动驾驶车辆的控制方法的控制流程包括:
[0114]
1、获取车辆行驶的参考轨迹和实时行驶参数,并根据参考轨迹和实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数,即从参考轨迹上获取最近参考轨迹点;
[0115]
2、根据实时行驶参数和参考轨迹点的轨迹参数确定车辆行驶的加速度和参考航向角,并根据参考航向角确定前轮转角,即基于车辆当前位置和速度以及最近参考点信息,设计纵向控制器,且在设计加速度控制率的同时也生成了一虚拟控制量,该虚拟控制量作为横向控制器的参考航向角,进行前轮转角控制率的设计;
[0116]
3、根据加速度生成加速度控制指令,根据前轮转角生成前轮转角控制指令,根据加速度控制指令和前轮转角控制指令控制车辆行驶。
[0117]
通过该控制器对自动驾驶车辆进行轨迹跟踪控制,既考虑了纵向控制信息,又考虑了横向控制信息,从而可以极好地适用于自动驾驶车辆系统。并且,本发明的控制器无需进行线性化处理,求解过程简单且用时较短,且可实现对干扰信号的自适应控制,最终实现了系统的全局稳定和高精度跟踪性能,满足了自动驾驶车辆对轨迹跟踪控制器的各项指标要求。
[0118]
本发明共包含2个部分,第一部分是加速度控制率设计、前轮转角控制率设计,第二部分是控制器在自动驾驶车辆上的具体应用方法。车辆运动学模型如下所示:
[0119][0120]
以上x、y、v、θ分别为车辆的后轮中心位置、速度以及航向角,a、δ分别为加速度指令和前轮转角指令,二者为控制器的输出、被控车辆的输入,本发明主要目的即是设计两者的控制率。l为被控车辆的轴距。
[0121]
下面结合图2所示的控制器的结构图,具体介绍本发明加速度控制率和前轮转角控制率的设计,其详细过程如下:
[0122]
1、加速度控制率设计
[0123]
如图3所示,图3是根据本发明实施例的与车辆距离最近的参考轨迹点的示意图。在本发明的实施例中,在确定与车辆距离最近的参考轨迹点时,可以获取车辆的两个后轮的中心位置,作为车辆的位置,将与车辆的位置距离最近的轨迹点作为该参考轨迹点。最近参考轨迹点的轨迹参数获取方法为根据参考轨迹得到每个轨迹点的轨迹参数;根据车辆当前的位置坐标及每个轨迹点的轨迹参数确定与车辆最近的参考轨迹点;根据每个轨迹点的轨迹参数得到参考轨迹点的轨迹参数,即在参考轨迹上寻找出与当前车辆后轮中心位置距离最近的轨迹点,并获取其位置坐标(x
f
y
f
)和速度v
f
。若当前车辆的位置坐标为(x y),速度为v,则:
[0124]
计算当前车辆距离参考轨迹点的位置坐标误差x
e
、y
e
和速度误差v
e
为:
[0125]
x
e
=x

x
f

[0126]
y
e
=y

y
f

[0127]
v
e
=v

v
f

[0128]
设计lyapunov函数v1为:
[0129][0130]
其导数为:
[0131][0132]
由x
e
、y
e
、v
e
可得其各自导数为:
[0133][0134][0135][0136]
综合以上可得
[0137][0138]
设计虚拟量作为车辆行驶的参考航向角,使
[0139]
[0140][0141][0142]
以上c1、c2、c3为控制参数,且均需满足为非负实数,则可满足:
[0143][0144]
可设计线速度

v如下所示:
[0145][0146]
进而设计加速度控制率为:
[0147][0148]
上述公式中为所设计的线速度

v的导数,同时设计参考航向角控制率为:
[0149][0150]
2、前轮转角控制率设计
[0151]
由上述可知,当位置误差x
e
、y
e
为零时,则可以实现航向角的精确跟随,但事实往往不是如此,为了保证航向角θ可以尽量跟踪参考航向角,此处设计控制率时要保证航向角θ可以跟踪上由纵向控制器推导出的参考航向角
[0152]
航向角和参考航向角之间的误差θ
e
如下:
[0153][0154]
定义该项的lyapunov函数如下:
[0155][0156]
则其导数为:
[0157][0158]
可设计:
[0159][0160]
c4为控制参数,其为非负实数,则推导为:
[0161][0162]

[0163][0164]
以上式子表示v2(t)以指数形式进行收敛,实现当t趋于无穷时,x
e
、y
e
、v
e
、θ
e
均以指数形式趋向于零。min(c1,c2,c3,c4)表示取四个控制参数的最小值,获取到后,既可设计前轮转角δ控制率如下:
[0165]
[0166]
上述ε是一个很小的正数,防止出现车辆速度为0时求解错误。为纵向控制器所计算出的参考航向角的导数。
[0167]
以上就是分别设计加速度控制率a和前轮转角控制率δ的全部过程,下面将对该控制器在实际应用时的方法进行阐述。
[0168]
结合图2所示的控制器的结构图以及上述加速度控制率与前轮转角控制率的设计过程,下面将具体介绍该控制器在实际应用时的执行过程。
[0169]
为了使该控制器适用性更强,本发明对以上控制率中包含的导数求解也进行了研究,解决了在各个流程中求解导数比较困难的问题。
[0170]
参考轨迹一般形式如下:
[0171]
trajectory={traj_point_1、traj_point_2、
……
、traj_point_n};
[0172]
traj_point={xyvθrelative_t};
[0173]
以上trajectory表示一帧轨迹,traj_point_1至traj_point_n代表该轨迹上面的所有轨迹点,n为全部轨迹点个数,x、y为轨迹点在全局坐标系下的坐标值,v、θ、a、relative_t分别为轨迹点的速度、航向角、加速度以及轨迹点之间的相对时间值。以下分别介绍各个控制量的生成方法。
[0174]
1、加速度
[0175]
假设当前车辆后轮中心位置、速度、航向角分别为x
vehicle
、y
vehicle
、v
vehicle
、θ
vehicle
,车辆距参考轨迹最近点为traj_point_k,同时假设本次周期计数为第m控制周期,且m>10。此处traj_point_k其包含的属性为:
[0176]
traj_point_k={x
k
y
k
v
k
θ
k
relative
tk
};
[0177]
则使用以下公式对x
f
、y
f
求取导数:
[0178][0179][0180]
以上x
k+2
、x
k+1
、x
k
‑1、x
k
‑2和y
k+2
、y
k+1
、y
k
‑1、y
k
‑2分别为traj_point_k前面两个点和后面两个点的位置坐标。对于最近点是参考轨迹的最前两个点和最后两个点的处理方式可以另做处理,在此不做讨论。
[0181]
获取当前车辆与参考轨迹点的位置误差如下:
[0182]
x
e
=x
vehicle

x
k

[0183]
y
e
=y
vehicle

y
k

[0184]
综合以上获取的结果,由前述的加速度控制率的公式可得欲设计的纵向速度值

v
m
,同时结合m

1和m

2控制周期的

v
m
‑1、

v
m
‑2,可得本周期设计的纵向速度导数为:
[0185][0186]
结合以下v
f
导数求解公式以及速度误差v
e

[0187][0188]
以上v
k+2
、v
k+1
、v
k
‑1、v
k
‑2为traj_point_k前面两个点和后面两个点的速度值。
[0189]
获取当前车辆与参考轨迹点的速度误差如下:
[0190]
v
e
=v
vehicle

v
k

[0191]
将上述公式结果代入前述的加速度控制率的公式,即可得加速度a为:
[0192][0193]
根据此处计算得到的加速度a即可生成加速度控制指令。
[0194]
2、前轮转角
[0195]
由以上x
e
、y
e
结合前述的前轮转角控制率的公式可获取参考航向角值,设当前m周期取值为m

1和m

2控制周期的设计以及航向角误差θ
e
如下:
[0196][0197][0198]
设置车辆轴距为l,则可得前轮转角δ为:
[0199][0200]
其中,ε为很小的正数,在具体实现时,例如可取值为ε=0.001。
[0201]
根据此处计算得到的前轮转角δ即可生成前轮转角控制指令。
[0202]
在上述所介绍的计算过程中,涉及到的控制器参数c1、c2、c3、c4的确定,需根据车辆自动驾驶状态行驶时各项控制指标的要求进行调试,具体需调试和分析的内容例如可包括:横向偏差及稳态偏差分析、航向角分析、前轮转角分析、横向稳定性和纵向稳定性分析、纵向静态偏差和动态偏差分析、加速度分析、速度分析等。对这些指标的具体分析过程,本发明中不作限定,可根据需要设定。
[0203]
根据以上所介绍的内容,根据本发明的一个方面,提供了一种用于自动驾驶车辆的控制方法。图4是根据本发明实施例的用于自动驾驶车辆的控制方法的主要步骤示意图。如图4所示,本发明实施例的用于自动驾驶车辆的控制方法主要包括如下的步骤s401至步骤s404。
[0204]
步骤s401:获取车辆行驶的参考轨迹和实时行驶参数,并根据参考轨迹和实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;
[0205]
步骤s402:根据实时行驶参数和参考轨迹点的轨迹参数确定车辆行驶的加速度和参考航向角,并根据参考航向角确定前轮转角;
[0206]
步骤s403:根据加速度生成加速度控制指令,根据前轮转角生成前轮转角控制指令;
[0207]
步骤s404:根据加速度控制指令和前轮转角控制指令控制车辆行驶。
[0208]
根据上述的步骤s401至步骤s404,通过反演控制方法设计加速度控制率和前轮转角控制率,能够提高车辆对不确定因素的自适应处理能力,使得车辆闭环系统得到稳定控制且动态和静态性能指标更优,而实现过程无需进行线性化处理,求解过程简单且用时较短,提高了效率,通过实现对干扰信号的自适应控制,最终实现了系统的全局稳定和高精度跟踪性能,满足了自动驾驶车辆对轨迹跟踪控制器的各项指标要求。
[0209]
根据本发明的一个实施例,车辆的实时行驶参数包括:车辆当前的位置坐标、速度以及航向角;参考轨迹点的轨迹参数包括参考轨迹点的位置坐标和速度;根据参考轨迹和
实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数,包括:根据参考轨迹得到每个轨迹点的轨迹参数;根据车辆当前的位置坐标及每个轨迹点的轨迹参数确定与车辆最近的参考轨迹点;根据每个轨迹点的轨迹参数得到参考轨迹点的轨迹参数。
[0210]
根据本发明的另一个实施例,轨迹参数还包括轨迹点之间的相对时间值;根据实时行驶参数和参考轨迹点的轨迹参数确定车辆行驶的加速度和参考航向角包括:根据轨迹点之间的相对时间值确定参考轨迹点的前面两个轨迹点和后面两个轨迹点,并获取前面两个轨迹点和后面两个轨迹点的轨迹参数;根据实时行驶参数、参考轨迹点的轨迹参数、前面两个轨迹点和后面两个轨迹点的轨迹参数,以及预设的加速度控制率和参考航向角控制率,确定车辆行驶的加速度和参考航向角;其中,预设的加速度控制率和参考航向角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0211]
在本发明的实施例中,加速度控制率和参考航向角控制率通过以下方式获取:
[0212]
获取车辆在某时刻的位置坐标(xy)和速度v以及该时刻的参考轨迹点的位置坐标(x
f
y
f
)和速度v
f

[0213]
根据获取的车辆的位置坐标和速度,与参考轨迹点的位置坐标和速度得到该时刻的位置坐标误差x
e
、y
e
和速度误差v
e
为:x
e
=x

x
f
;y
e
=y

y
f
;v
e
=v

v
f

[0214]
根据定义的李雅普诺夫函数和参考航向角获取车辆的位置坐标的导数和速度导数:
[0215][0216]
以上c1、c2、c3为控制参数,且均为非负实数;
[0217]
根据车辆的位置坐标的导数和速度导数获取线速度

v:
[0218][0219]
加速度控制率:
[0220][0221]
和参考航向角控制率:
[0222][0223]
其中,为线速度

v的导数。
[0224]
根据本发明的一个实施例,车辆行驶的加速度和参考航向角通过以下方式确定:
[0225]
获取所述车辆当前时刻的位置坐标(x
vehicle
y
vehicle
)和速度v
vehicle
、所述参考轨迹点的位置坐标(x
k
y
k
)和速度v
k
、所述前面两个轨迹点的位置坐标(x
k+2
y
k+2
)和(x
k+1
y
k+1
)以及速度v
k+2
和v
k+1
、所述后面两个轨迹点的位置坐标(x
k
‑2y
k
‑2)和(x
k
‑1y
k
‑1)以及速度v
k
‑2和v
k
‑1;
[0226]
根据获取的所述车辆当前时刻的位置坐标和速度,以及所述参考轨迹点的位置坐标和速度,得到当前时刻的位置坐标误差x
e
、y
e
和速度误差v
e

[0227]
x
e
=x
vehicle

x
k
;y
e
=y
vehicle

y
k
;v
e
=v
vehicle

v
k

[0228]
根据以下公式获取参考轨迹点的位置坐标的导数和速度的导数
[0229][0230][0231][0232]
获取当前控制周期m的前两个控制周期(m

1)和(m

2)控制周期的线速度

v
m
‑1、

v
m
‑2,根据获取当前控制周期的线速度导数
[0233]
根据当前时刻的位置坐标误差x
e
和y
e
、速度误差v
e
、和当前控制周期的线速度导数和所述加速度控制率得到所述车辆行驶的加速度;
[0234]
根据当前时刻的位置坐标误差x
e
和y
e
、和及所述参考航向角控制率得到所述车辆行驶的参考航向角。
[0235]
根据本发明的另一个实施例,根据所述参考航向角确定前轮转角具体可以包括:
[0236]
根据所述实时行驶参数中包括的所述车辆当前的航向角、所述参考航向角,以及预设的前轮转角控制率,确定所述前轮转角;
[0237]
其中,所述预设的前轮转角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0238]
根据本发明的又一个实施例,前轮转角控制率通过以下方式获取:
[0239]
获取车辆在某时刻的位置坐标(xy)、速度v和航向角θ,该时刻的参考轨迹点的位置坐标(x
f
y
f
)、速度v
f
和参考航向角并计算该时刻的位置坐标误差x
e
、y
e
、速度误差v
e
和航向角误差θ
e
分别为:
[0240][0241]
根据定义的前轮转角对应的李雅普诺夫函数和航向角误差的导数获取前轮转角控制率:
[0242][0243]
其中,ε是一个很小的正数,l为车辆轴距。
[0244]
根据本发明的再一个实施例,前轮转角通过以下方式确定:
[0245]
获取所述车辆当前时刻的航向角θ
vehicle
,当前控制周期m的参考航向角(m

1)和(m

2)控制周期的参考航向角
[0246]
根据定义的航向角误差θ
e
和所述前轮转角控制率获取所述车辆的前轮转角,其中:
[0247][0248][0249][0250]
其中,ε是一个很小的正数,l为车辆轴距,v
vehicle
为所述车辆当前时刻的速度。
[0251]
根据本发明的另一方面,提供了一种用于自动驾驶车辆的控制装置。图5是根据本发明实施例的用于自动驾驶车辆的控制装置的主要模块示意图,如图5所示,本发明实施例的用于自动驾驶车辆的控制装置500主要包括参数获取模块501、控制设计模块502和指令生成模块503、车辆行驶模块504。
[0252]
参数获取模块501:用于获取车辆行驶的参考轨迹和实时行驶参数,并根据参考轨迹和实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;
[0253]
控制设计模块502:用于根据实时行驶参数和参考轨迹点的轨迹参数确定车辆行驶的加速度和参考航向角,并根据参考航向角确定前轮转角;
[0254]
指令生成模块503:用于根据加速度生成加速度控制指令,根据前轮转角生成前轮转角控制指令;
[0255]
车辆行驶模块504:用于根据加速度控制指令和前轮转角控制指令控制车辆行驶。
[0256]
根据本发明的一个实施例,车辆的实时行驶参数包括:车辆当前的位置坐标、速度以及航向角;参考轨迹点的轨迹参数包括参考轨迹点的位置坐标和速度;参数获取模块501还用于:根据参考轨迹得到每个轨迹点的轨迹参数;根据车辆当前的位置坐标及每个轨迹点的轨迹参数确定与车辆最近的参考轨迹点;根据每个轨迹点的轨迹参数得到参考轨迹点的轨迹参数。
[0257]
根据本发明的另一个实施例,轨迹参数还包括轨迹点之间的相对时间值;控制设计模块502还用于:根据轨迹点之间的相对时间值确定参考轨迹点的前面两个轨迹点和后面两个轨迹点,并获取前面两个轨迹点和后面两个轨迹点的轨迹参数;根据实时行驶参数、参考轨迹点的轨迹参数、前面两个轨迹点和后面两个轨迹点的轨迹参数,以及预设的加速度控制率和参考航向角控制率,确定车辆行驶的加速度和参考航向角;其中,预设的加速度控制率和参考航向角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0258]
在本发明的实施例中,加速度控制率和参考航向角控制率通过以下方式获取:
[0259]
获取车辆在某时刻的位置坐标(x y)和速度v以及该时刻的参考轨迹点的位置坐标(x
f y
f
)和速度v
f

[0260]
根据获取的车辆的位置坐标和速度,与参考轨迹点的位置坐标和速度得到该时刻的位置坐标误差x
e
、y
e
和速度误差v
e
为:x
e
=x

x
f
;y
e
=y

y
f
;v
e
=v

v
f

[0261]
根据定义的李雅普诺夫函数和参考航向角获取车辆的位置坐标的导数和速度导数:
[0262][0263]
以上c1、c2、c3为控制参数,且均为非负实数;
[0264]
根据车辆的位置坐标的导数和速度导数获取线速度

v:
[0265][0266]
加速度控制率:
[0267][0268]
和参考航向角控制率:
[0269][0270]
其中,为线速度

v的导数。
[0271]
根据本发明的一个实施例,所述车辆行驶的加速度和参考航向角通过以下方式确定:
[0272]
获取所述车辆当前时刻的位置坐标(x
vehicle y
vehicle
)和速度v
vehicle
、所述参考轨迹点的位置坐标(x
k y
k
)和速度v
k
、所述前面两个轨迹点的位置坐标(x
k+2 y
k+2
)和(x
k+1 y
k+1
)以及速度v
k+2
和v
k+1
、所述后面两个轨迹点的位置坐标(x
k

2 y
k
‑2)和(x
k

1 y
k
‑1)以及速度v
k
‑2和v
k
‑1;
[0273]
根据获取的所述车辆当前时刻的位置坐标和速度,以及所述参考轨迹点的位置坐标和速度,得到当前时刻的位置坐标误差x
e
、y
e
和速度误差v
e

[0274]
x
e
=x
vehicle

x
k
;y
e
=y
vehicle

y
k
;v
e
=v
vehicle

v
k

[0275]
根据以下公式获取参考轨迹点的位置坐标的导数和速度的导数
[0276][0277][0278][0279]
获取当前控制周期m的前两个控制周期(m

1)和(m

2)控制周期的线速度

v
m
‑1、

v
m
‑2,根据获取当前控制周期的线速度导数
[0280]
根据当前时刻的位置坐标误差x
e
和y
e
、速度误差v
e
、和当前控制周期的线速度导数和所述加速度控制率得到所述车辆行驶的加速度;
[0281]
根据当前时刻的位置坐标误差x
e
和y
e
、和及所述参考航向角控制率得到所述车辆行驶的参考航向角。
[0282]
根据本发明的另一个实施例,控制设计模块502还可以用于:
[0283]
根据所述实时行驶参数中包括的所述车辆当前的航向角、所述参考航向角,以及预设的前轮转角控制率,确定所述前轮转角;
[0284]
其中,所述预设的前轮转角控制率是基于李雅普诺夫函数计算的,且与车辆在某时刻的行驶参数和该时刻的参考轨迹点的轨迹参数有关。
[0285]
根据本发明的又一个实施例,所述前轮转角控制率通过以下方式获取:
[0286]
获取车辆在某时刻的位置坐标(xy)、速度v和航向角θ,该时刻的参考轨迹点的位置坐标(x
f
y
f
)、速度v
f
和参考航向角并计算该时刻的位置坐标误差x
e
、y
e
、速度误差v
e
和航向角误差θ
e
分别为:
[0287][0288]
根据定义的前轮转角对应的李雅普诺夫函数和航向角误差的导数获取前轮转角控制率:
[0289][0290]
其中,ε是一个很小的正数,l为车辆轴距。
[0291]
根据本发明的再一个实施例,所述前轮转角通过以下方式确定:
[0292]
获取所述车辆当前时刻的航向角θ
vehicle
,当前控制周期m的参考航向角(m

1)和(m

2)控制周期的参考航向角
[0293]
根据定义的航向角误差θ
e
和所述前轮转角控制率获取所述车辆的前轮转角,其中:
[0294][0295][0296][0297]
其中,ε是一个很小的正数,l为车辆轴距,v
vehicle
为所述车辆当前时刻的速度。
[0298]
图6示出了可以应用本发明实施例的用于自动驾驶车辆的控制的方法或用于自动驾驶车辆的控制的装置的示例性系统架构600。
[0299]
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0300]
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种应用,例如自动驾驶类应用、轨迹追踪类等(仅为示例)。
[0301]
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0302]
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所生成的控制指令提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据等进行分析等处理,并将处理结果(例如加速度指令
‑‑
仅为示例)反馈给终端设备。
[0303]
需要说明的是,本发明实施例所提供的用于自动驾驶车辆的控制方法一般由服务器605执行,相应地,用于自动驾驶车辆的控制装置一般设置于服务器605中。
[0304]
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0305]
下面参考图7,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统700的结构示意图。图7示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0306]
如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram 703中,还存储有系统700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0307]
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0308]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本发明的系统中限定的上述功能。
[0309]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0310]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0311]
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括参数获取模块、控制设计模块、指令生成模块、车辆行驶模块。其中,这些单
元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,参数获取模块还可以被描述为“用于获取车辆行驶的参考轨迹和实时行驶参数,并根据参考轨迹和实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数的模块”。
[0312]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取车辆行驶的参考轨迹和实时行驶参数,并根据所述参考轨迹和所述实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;根据所述实时行驶参数和所述参考轨迹点的轨迹参数确定所述车辆行驶的加速度和参考航向角,并根据所述参考航向角确定前轮转角;根据所述加速度生成加速度控制指令,根据所述前轮转角生成前轮转角控制指令;根据所述加速度控制指令和所述前轮转角控制指令控制车辆行驶。
[0313]
根据本发明实施例的技术方案,采用获取车辆行驶的参考轨迹和实时行驶参数,并根据参考轨迹和实时行驶参数获取与车辆最近的参考轨迹点的轨迹参数;根据实时行驶参数和参考轨迹点的轨迹参数确定车辆行驶的加速度和参考航向角,并根据参考航向角确定前轮转角;根据加速度生成加速度控制指令,根据前轮转角生成前轮转角控制指令;根据加速度控制指令和前轮转角控制指令控制车辆行驶的技术手段,使用反演控制方法构建了加速度控制率和前轮转角控制率,使得车辆闭环系统得到稳定控制的同时也保证了其动态和静态性能指标更优,且对设计过程的求解也进行了研究让整个实现过程无需进行线性化处理,求解简单且用时较短,提高了效率,实现了对干扰信号的自适应控制,达到系统的全局稳定和高精度跟踪性能,满足了自动驾驶车辆对轨迹跟踪控制器的各项指标要求。
[0314]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1