一种自动驾驶横向控制的处理方法与流程

文档序号:30068146发布日期:2022-05-18 01:26阅读:148来源:国知局
一种自动驾驶横向控制的处理方法与流程

1.本发明涉及数据处理技术领域,特别涉及一种自动驾驶横向控制的处理方法。


背景技术:

2.车辆自动驾驶系统的轨迹规划模块用于对车辆从起始位置到结束位置进行理想化的轨迹规划,并将规划轨迹传输到运动控制模块起到指导作用;运动控制模块若直接基于规划轨迹进行运动控制(纵向控制或横向控制)是很容易出现控制偏差的,所以运动控制模块还会参考规划轨迹对运动位置进行二次预测。常规情况下运动控制模块在进行二次预测时会基于自行车运动模型,以与前轮转向角δ有关的道路曲率k为控制量对各个位置点进行预测。在实际应用中我们发现,这种处理方式下道路曲率k会是一连串不同的预测数据,这会导致在直行状态下车辆方向盘也会左右来回转动,这无疑会降低车辆的行驶稳定性。


技术实现要素:

3.本发明的目的,就是针对现有技术的缺陷,提供一种自动驾驶横向控制的处理方法、电子设备及计算机可读存储介质,通过向其中加入道路曲率k的时间导数ψ来改造自行车运动模型,基于改造后的运动模型进行二次预测时以道路曲率时间导数ψ作为控制量,这样就可以在相邻位置点的道路曲率k间由时间导数ψ建立前后关联关系。如此一来,在直行状态下通过使得相邻位置点间的时间导数ψ为0就能保持前后点的道路曲率k不发生变化,从而就能解决传统运动模型导致的直行道路上方向盘左右来回转动的问题,提高了车辆的行驶稳定性。
4.为实现上述目的,本发明实施例第一方面提供了一种自动驾驶横向控制的处理方法,所述方法包括:
5.对自行车运动模型进行改造,向其中加入道路曲率的时间导数从而得到新的第一运动模型;并基于所述第一运动模型,创建对应的目标函数记为第一目标函数;
6.获取上游感知模块输出的实时纵向车速记为第一车速v;并获取上游轨迹规划模块对未来n个位置点进行轨迹规划输出的第一轨迹点集合,n》1;所述第一轨迹点集合包括n个第一轨迹点数据
7.基于所述第一运动模型和对应的所述第一目标函数,根据所述第一车速v和所述第一轨迹点集合,对未来n个位置点的位置点数据进行预测生成对应的第一位置点集合;所述第一位置点集合包括n个第一位置点数据1《i≤n;
8.根据所述第一位置点集合的第一位置点数据的第一道路曲率k
i=1
,进行方向盘转角预测生成对应的第一方向盘转角;
9.根据所述第一方向盘转角对自车的横向运动进行控制。
10.优选的,所述自行车运动模型为:
11.所述第一运动模型为:
12.其中,x为横向坐标、y为纵向坐标、θ为航向角、k为道路曲率、ψ为道路曲率k的时间导数、dk为相邻两个位置点的道路曲率差值、dt为相邻两个位置点的行驶时间差值;
13.所述第一目标函数为:
[0014][0015]
其中,每组(xi、yi、θi、ki、ψ
i-1
)与所述第一位置点数据对应,每组与所述第一轨迹点数据对应;所述第一位置点数据包括第一横向坐标xi、第一纵向坐标yi、第一航向角θi和第一道路曲率ki;所述第一轨迹点数据包括第一规划横向坐标第一规划纵向坐标第一规划航向角和第一规划道路曲率w
x
、wy、w
θ
、wk、w
ψ
分别为对应的权重参数。
[0016]
优选的,所述基于所述第一运动模型和对应的所述第一目标函数,根据所述第一车速v和所述第一轨迹点集合,对未来n个位置点的位置点数据进行预测生成对应的第一位置点集合,具体包括:
[0017]
由所述第一运动模型,可得第一公式组:并将所述第一公式组代入所述第一目标函数,得到转换后第二目标函数为:
[0018]
将所述第一车速v,以及从所述第一轨迹点集合中提取出的第1-n个位置点的所述第一规划横向坐标所述第一规划纵向坐标所述第一规划航向角和所述第一规
划道路曲率代入所述第二目标函数并对其进行二次规划求解得到一个由{ψ0,ψ1…
ψ
n-1
}构成的道路曲率时间导数序列记为第一数据序列;
[0019]
从所述第一数据序列中提取道路曲率时间导数ψ0,根据k
i=1
=k0+ψ0*dt生成未来第1个位置点的第一道路曲率k
i=1
,并基于所述第一公式组根据所述第一道路曲率k
i=1
计算生成未来第1个位置点的第一横向坐标x
i=1
、第一纵向坐标y
i=1
和第一航向角θ
i=1
,并由所述第一横向坐标x
i=1
、所述第一纵向坐标y
i=1
、所述第一航向角θ
i=1
和所述第一道路曲率k
i=1
组成未来第1个位置点的第一位置点数据以此类推,最终得到未来n个位置点的所述第一位置点数据置点数据构成所述第一位置点集合;其中,k0为当前时刻位置点的道路曲率。
[0020]
优选的,所述根据所述第一位置点集合的第一位置点数据的第一道路曲率k
i=1
,进行方向盘转角预测生成对应的第一方向盘转角,具体包括:
[0021]
提取所述第一位置点集合的所述第一位置点数据的第一道路曲率k
i=1
,作为第一曲率k’;
[0022]
根据所述第一曲率k’计算第一前轮转角δ=actan(k’*l),l为自车车辆轴距;
[0023]
根据所述第一前轮转角δ计算第一方向盘转角=δ*a,a为方向盘与前轮转角的转向比。
[0024]
优选的,所述根据所述第一方向盘转角对自车的横向运动进行控制,具体包括:
[0025]
根据所述第一方向盘转角生成当前时刻的第一方向盘控制指令;并基于所述第一方向盘控制指令控制车辆方向盘从而对车辆横向运动进行控制。
[0026]
本发明实施例第二方面提供了一种电子设备,包括:存储器、处理器和收发器;
[0027]
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现上述第一方面所述的方法步骤;
[0028]
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
[0029]
本发明实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面所述的方法的指令。
[0030]
本发明实施例提供了一种自动驾驶横向控制的处理方法、电子设备及计算机可读存储介质,通过向其中加入道路曲率k的时间导数ψ来改造自行车运动模型,基于改造后的运动模型进行二次预测时以道路曲率时间导数ψ作为控制量,这样就可以在相邻位置点的道路曲率k间由时间导数ψ建立前后关联关系。如此一来,在直行状态下通过使得相邻位置点间的时间导数ψ为0就能保持前后点的道路曲率k不发生变化,从而解决了传统运动模型导致的直行道路上方向盘左右来回转动的问题,提高了车辆的行驶稳定性。
附图说明
[0031]
图1为本发明实施例一提供的一种自动驾驶横向控制的处理方法示意图;
[0032]
图2为本发明实施例二提供的一种电子设备的结构示意图。
具体实施方式
[0033]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0034]
车辆的运动控制模块会在每个当前时刻基于本发明实施例一提供的一种自动驾驶横向控制的处理方法,以轨迹规划模块输出的未来n个位置点的规划轨迹也就是轨迹点集合为参考进行二次规划,输出未来n个位置点的优化轨迹也就是位置点集合,并从得到的位置点集合中提取出第1个位置点的道路曲率参数对当前时刻的方向盘进行控制从而达到对车辆进行横向控制的目的;如图1为本发明实施例一提供的一种自动驾驶横向控制的处理方法示意图所示,本方法主要包括如下步骤:
[0035]
步骤1,对自行车运动模型进行改造,向其中加入道路曲率的时间导数从而得到新的第一运动模型;并基于第一运动模型,创建对应的目标函数记为第一目标函数;
[0036]
其中,公知的自行车运动模型为:
[0037][0038]
x为横向坐标、y为纵向坐标、θ为航向角、k为道路曲率;
[0039]
向自行车运动模型加入道路曲率得到的第一运动模型为:
[0040][0041]
ψ为道路曲率k的时间导数,dk为相邻两个位置点的道路曲率差值,dt为相邻两个位置点的行驶时间差值;
[0042]
第一目标函数为:
[0043][0044]
每组(xi、yi、θi、ki、ψ
i-1
)对应运动控制模块输出的位置点集合的一个位置点的预测数据也即是下文中的第一位置点数据每组每组对应轨迹规划模块输出的轨迹点集合的一个位置点的轨迹规划数据也即是下文中的第一轨迹点数据w
x
、wy、w
θ
、wk、w
ψ
分别为对应x、y、θ、k、ψ分量的权重参数也称为惩罚权重参数。
[0045]
这里,本发明实施例通过加入道路曲率k的时间导数ψ来改造自行车运动模型得到第一运动模型,使得第一运动模型可以道路曲率时间导数ψ为控制量,这样就可以由时间导数ψ在相邻位置点的道路曲率k间建立前后关联关系;如此一来,在车辆直行状态下设置相邻位置点间的时间导数ψ为0,就能保持前后点的道路曲率k不发生变化,从而就能解决传统运动模型导致的直行道路上方向盘左右来回转动的问题。
[0046]
本发明实施例要求运动控制模块的二次规划输出也就是位置点集合应与轨迹规划模块输出的轨迹点集合的逼近度最大,要求预测出的前后位置点的道路曲率k变化平滑没有畸变也就是要求前后位置点道路曲率的时间导数为最小;那么,基于最小二乘法原则,以及上述第一运动模型的5个分量(x、y、θ、k、ψ)就可构建出运动控制模块进行预测时使用的最小二乘法目标函数:
[0047][0048]
在上述最小二乘法目标函数中,以ψ
i-1
替换就可得到第一目标函数:
[0049][0050]
步骤2,获取上游感知模块输出的实时纵向车速记为第一车速v;并获取上游轨迹规划模块对未来n个位置点进行轨迹规划输出的第一轨迹点集合,n》1;
[0051]
其中,第一轨迹点集合包括n个第一轨迹点数据1《i≤n;第一轨迹点数据包括第一规划横向坐标第一规划纵向坐标第一规划航向角和第一规划道路曲率
[0052]
这里,第一车速v可由上游感知模块获得,也可从车辆的其他速度传感器获得;第一轨迹点集合的第一轨迹点数据即是轨迹规划模块输出的未来n个位置点的规划轨迹;第一规划横向坐标即是轨迹规划模块输出的未来第i个位置点的横向规划坐标,第一规划纵向坐标即是未来第i个位置点的纵向规划坐标,第一规划航向角即是未来第i个位置点的规划航向角,第一规划道路曲率即是未来第i个位置点的规划道路曲率。
[0053]
步骤3,基于第一运动模型和对应的第一目标函数,根据第一车速v和第一轨迹点集合,对未来n个位置点的位置点数据进行预测生成对应的第一位置点集合;
[0054]
其中,第一位置点集合包括n个第一位置点数据第一位置点数据包括第一横向坐标xi、第一纵向坐标yi、第一航向角θi和第一道路曲率ki;
[0055]
具体包括:步骤31,由第一运动模型,可得第一公式组:并将第一公式组代入第一目标函数,得到转换后第二目标函数;
[0056]
其中,第一公式组为:
[0057][0058]
第二目标函数为:
[0059][0060]
这里,第一公式组实际是由前文提及的第一运动模型推导得到的:将第一运动模型的x=v*cosθ、y=v*sinθ和θ=v*k,带入脚标i得到第一公式组的xi=v*cosθi、yi=v*sinθi和θi=v*ki;
[0061]
将第一运动模型的ψ=dkdt带入脚标可改写为ψ
i-1
*dt=(k
i-k
i-1
),从而得到第一公式组的ki=k
i-1

i-1
*dt;
[0062]
在得到第一公式组之后,将第一目标函数中的基于第一公式组中的对应关系,全部转为以k
i-1
、ψ
i-1
为特征量的表达式就可得到第二目标函数;
[0063]
步骤32,将第一车速v,以及从第一轨迹点集合中提取出的第1-n个位置点的第一规划横向坐标第一规划纵向坐标第一规划航向角和第一规划道路曲率代入第二目标函数并对其进行二次规划求解得到一个由{ψ0,ψ1…
ψ
n-1
}构成的道路曲率时间导数序列记为第一数据序列;
[0064]
这里,第一车速v、第一规划横向坐标第一规划纵向坐标第一规划航向角和第一规划道路曲率为已知量;
[0065]
又k1=k0+ψ0*dt、k2=k1+ψ1*dt=k0+(ψ0+ψ1)*dt,以此类推,
[0066]ki-1
=k0+(ψ0+ψ1+


i-2
)*dt,k0为当前时刻位置点的道路曲率也可视为一个已知量,dt在本发明实施例中也是一个已知量;
[0067]
将k
i-1
=k0+(ψ0+ψ1+


i-2
)*dt代入第二目标函数之后,第二目标函数就变成了一个以{ψ0,ψ1…
ψ
n-1
}数据序列为控制量的目标函数;
[0068]
此时,按函数最小值对这个目标函数进行二次规划求解的结果就是得到使这个目标函数达到最小值的道路曲率时间导数序列{ψ0,ψ1…
ψ
n-1
}也就是第一数据序列;在进行具体求解时可使用多种二次规划求解器进行求解,诸如自行实现的求解器计算接口、又或者是第三方提供的求解器计算软件或接口;
[0069]
步骤33,从第一数据序列中提取道路曲率时间导数ψ0,根据k
i=1
=k0+ψ0生成未来第1个位置点的第一道路曲率k
i=1
,并基于第一公式组根据第一道路曲率k
i=1
计算生成未来第1个位置点的第一横向坐标x
i=1
、第一纵向坐标y
i=1
和第一航向角θ
i=1
,并由第一横向坐标x
i=1
、第一纵向坐标y
i=1
、第一航向角θ
i=1
和第一道路曲率k
i=1
组成未来第1个位置点的第一位置点数据以此类推,最终得到未来n个位置点的第一位置点数据构成第一位置点集合。
[0070]
这里,通过步骤32得到第一数据序列{ψ0,ψ1…
ψ
n-1
}之后,就可根据ψ0基于第一公式
组的k
i=1
=k
i-1=0

i-1=0
*dt得到第1个位置点的第一道路曲率k
i=1
,继而根据k
i=1
基于第一公式组的θ
i=1
=v*k
i=1
得到第1个位置点的第一航向角θ
i=1
,继而根据θ
i=1
基于第一公式组的x
i=1
=v*cosθ
i=1
、y
i=1
=v*sinθ
i=1
得到第1个位置点的第一横向坐标x
i=1
和第一纵向坐标y
i=1
;以此类推,最终就能得到第1-n个位置点的所有第一位置点数据的数据,再将所有第一位置点数据按脚标i从小到大的顺序排列即可得到第一位置点集合。
[0071]
步骤4,根据第一位置点集合的第一位置点数据的第一道路曲率k
i=1
,进行方向盘转角预测生成对应的第一方向盘转角;
[0072]
具体包括:步骤41,提取第一位置点集合的第一位置点数据的第一道路曲率k
i=1
,作为第一曲率k’;
[0073]
这里,第一位置点集合是运动控制模块在当前时刻预测出的未来n个位置点的轨迹信息,每个第一位置点数据对应一个位置点;那么,对于当前时刻而言其下一时刻期望到达的轨迹点实际就应是第一位置点集合中的第1个位置点,也就是说,在当前时刻的横向控制需要以第一位置点集合中第一位置点数据的第一道路曲率k
i=1
也就是第一曲率k’作为参考;
[0074]
步骤42,根据第一曲率k’计算第一前轮转角δ=actan(k’*l),l为自车车辆轴距;
[0075]
这里,由公知的自行车运动模型理论可知,车辆前轮转角δ与车辆道路曲率k和自车车辆轴距l之间的对应关系为tan(δ)=k*l;那么,在得到第一曲率k’后就可根据上述对应关系推导出对应的第一前轮转角δ;
[0076]
步骤43,根据第一前轮转角δ计算第一方向盘转角=δ*a,a为方向盘与前轮转角的转向比。
[0077]
这里,已知车辆方向盘转角/前轮转角δ的比值为一个常量也就是方向盘与前轮转角的转向比a;那么,在得到第一前轮转角δ之后就可以进一步算出对应的第一方向盘转角。
[0078]
步骤5,根据第一方向盘转角对自车的横向运动进行控制;
[0079]
具体包括:根据第一方向盘转角生成当前时刻的第一方向盘控制指令;并基于第一方向盘控制指令控制车辆方向盘从而对车辆横向运动进行控制。
[0080]
图2为本发明实施例二提供的一种电子设备的结构示意图。该电子设备可以为前述的终端设备或者服务器,也可以为与前述终端设备或者服务器连接的实现本发明实施例方法的终端设备或服务器。如图2所示,该电子设备可以包括:处理器301(例如cpu)、存储器302、收发器303;收发器303耦合至处理器301,处理器301控制收发器303的收发动作。存储器302中可以存储各种指令,以用于完成各种处理功能以及实现前述方法实施例描述的处理步骤。优选的,本发明实施例涉及的电子设备还包括:电源304、系统总线305以及通信端口306。系统总线305用于实现元件之间的通信连接。上述通信端口306用于电子设备与其他外设之间进行连接通信。
[0081]
在图2中提到的系统总线305可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用
于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0082]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、图形处理器(graphics processing unit,gpu)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0083]
需要说明的是,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中提供的方法和处理过程。
[0084]
本发明实施例还提供一种运行指令的芯片,该芯片用于执行前述方法实施例描述的处理步骤。
[0085]
本发明实施例提供了一种自动驾驶横向控制的处理方法、电子设备及计算机可读存储介质,通过向其中加入道路曲率k的时间导数ψ来改造自行车运动模型,基于改造后的运动模型进行二次预测时以道路曲率时间导数ψ作为控制量,这样就可以在相邻位置点的道路曲率k间由时间导数ψ建立前后关联关系。如此一来,在直行状态下通过使得相邻位置点间的时间导数ψ为0就能保持前后点的道路曲率k不发生变化,从而解决了传统运动模型导致的直行道路上方向盘左右来回转动的问题,提高了车辆的行驶稳定性。
[0086]
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0087]
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0088]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1