CN109885891B - 一种智能车gpu并行加速轨迹规划方法 - Google Patents
一种智能车gpu并行加速轨迹规划方法 Download PDFInfo
- Publication number
- CN109885891B CN109885891B CN201910067251.4A CN201910067251A CN109885891B CN 109885891 B CN109885891 B CN 109885891B CN 201910067251 A CN201910067251 A CN 201910067251A CN 109885891 B CN109885891 B CN 109885891B
- Authority
- CN
- China
- Prior art keywords
- track
- cost
- gpu
- trajectory
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种智能车GPU并行加速轨迹规划方法,在CPU端,获取实时感知障碍物栅格图、全局参考路径、智能车实时GPS信息和上层决策指令,沿参考路径采样,从而获取一系列目标采样终端;在GPU端,从CPU端获取采样终端序列、智能车实时状态信息、感知环境栅格以及历史帧规划轨迹参数,设计轨迹生成内核函数,为每一个目标采样终端生成一条连接初始状态和终端状态的智能车可稳定跟踪轨迹,设计轨迹评估内核函数,评估每条轨迹的代价。回传轨迹数据到CPU端,选取最优轨迹并匹配速度值,得到轨迹规划结果传输给控制执行机构。本发明用于提高智能车轨迹实时规划效率,达到实时高效生成大量轨迹,进一步改善轨迹规划结果的目的。
Description
技术领域
本发明涉及智能交通系统技术领域,尤其涉及一种智能车GPU并行加速轨迹规划方法,特别涉及无人驾驶系统中的实时轨迹规划方法,具体为在cuda架构中实现轨迹生成和代价评估的并行设计,用于提高轨迹规划效率,在满足智能车实时性的前提下规划出尽可能多的轨迹以改善最终的规划结果。
背景技术
近年来,大量的工作致力于解决无人驾驶车辆的运动规划问题。这些方法大致可以分为两类:基于图搜索的方法和基于轨迹生成的方法。基于图搜索的方法关注于使用确定性图搜索计算无碰撞路径,如混合A*,状态栅格法,随机采样算法(如快速搜索随机树(RRT))。这些图搜索方法大多数能够在混乱的环境中计算长期无碰撞路径,并防止车辆陷入局部最小值,但仅适用于在复杂的未知环境中的低速情况。图搜索法通常在计算上过于复杂,无法实时运行或在城市环境中对典型的动态交通状况做出反应,且采样盲目性大、生成路径迂回曲折,易造成控制跟踪震荡。
基于轨迹生成的方法大多数遵循离散优化方案,即轨迹生成、碰撞检测和代价评估。部分研究人员采用线性和非线性模型预测控制(MPC)方法来解决车辆轨迹生成和跟踪问题。由于其在长期预测层面上解决连续控制空间中的约束优化问题,通常涉及复杂的优化过程,包括矩阵运算和数值迭代运算,容易导致过多的计算负担,实时环境中不规则的障碍物分布所施加的限制也难以处理,难以达到实时轨迹规划需求。
发明内容
本发明目的就是为了弥补已有技术的缺陷,提供一种智能车GPU并行加速轨迹规划方法。
本发明是通过以下技术方案实现的:
一种智能车GPU并行加速轨迹规划方法,包括如下步骤:
步骤1:离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数;
步骤2:在线并行轨迹规划,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端;
步骤3:在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存;
步骤4:在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、一致性代价、横向偏移代价和长度代价;
步骤5:CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最佳轨迹,并为最优轨迹匹配速度值。
步骤1所述的离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数,具体方法如下:基于以自车车身为中心的坐标框架,坐标框架中每个点被描述为四维状态[x,y,θ,κ0],其中x、y分别为x轴和y轴坐标值,θ为智能车航向,κ为曲率,车身状态坐标作为初始状态X0=[0,0,0,κ0],κ0为初始曲率,在状态空间中均匀采样终端状态Xf=[xf,yf,θf,κf],其中,xf、yf分别为终端的坐标值,θf是相对于初始航向的航向变化量,κf是智能车辆终端状态的曲率值,对于空间I=[κ0,xf,yf,θf,κf]进行均匀稀疏采样,使用模型预测方法连接初始状态和终端状态生成轨迹,为每一条轨迹建立索引,存储每条轨迹的索引值和轨迹生成参数到查找表。轨迹索引值index表示如下:
index=xf*1012+yf*109+θf*106+κf*103+κ0
步骤2所述的在线并行轨迹规划,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端,具体如下:
在CPU端,加载查找表到内存,采用串行方式读入CPU端的全局参考路径、实时感知环境栅格、GPS信息和上层决策指令,上层决策指令作为车道级规划结果,根据上层决策指令对全局参考路径进行处理,全局参考路径L是四维状态序列,具有以下形式:
L={xi,yi,κi,κi|i=1,2,…,total},i为参考路径的total个状态点里第i个状态点,xi、yi、θi、κi分别为第i个状态点的坐标值、航向和曲率;
沿参考路径在不同预瞄距离下纵向采样,并沿纵向采样点进行横向采样,来避开意外障碍物,采样点的航向和曲率状态设置为参考路径上对应点的状态,确保生成的轨迹和参考路径对齐;
对所有的初始状态和终端状态点对:[x0,y0,θ0,κ0]和[xf,yf,θf,κf]进行坐标变换,使起点成为[0,0,0,κ0]的形式,并将终点改为[xf,yf,θf′,κf],其中θ′f=rad(θf-θ0),使用五维数据[κ0,xf,yf,θf′,κf]作为查找索引,利用最近邻查找方法kd树在查找表中进行模糊查找,以匹配距离查找索引最近的轨迹,获取该轨迹的生成参数作为初始猜测;
从CPU端拷贝采样终端状态集、轨迹初始猜测集、车辆初始状态、全局参考路径、上一帧的执行轨迹、实时感知栅格数据到GPU显存中,若当前帧为第一帧,则上一帧的执行轨迹为空。
步骤3所述的在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存,具体如下:
在GPU端分配线程块,为每条轨迹分配一个线程,每个线程从显存中读取一个终端状态和对应的初始猜测,以及车辆的初始状态作为核心处理函数的输入,核心处理函数采用模型预测方法迭代优化初始猜测,得到该轨迹的参数;
所述的加速模型预测方法生成大量轨迹的具体方法为:利用车辆运动学模型作为预测运动模型,为确保每条轨迹曲率和曲率速度的连续性,曲率模型表示为弧长s的三次多项式函数,并约束曲率和曲率速度的上界:
κ(s)=κ0+κ1s+κ2s2+κ3s3
轨迹上任意弧长s处的车身航向计算公式为:
轨迹上任意弧长s处的车身横坐标x和纵坐标y的计算公式分别为:
则轨迹的生成参数表示为P=[κ1,κ2,κ3,sf],sf为路径长度,使用牛顿迭代法对方程进行数值求解,使得误差值ΔX P(k))小于预定阈值,迭代过程如下:
ΔX(P(k))←XF-XF(P(k)) (1)
P(k+1)←P(k)+ΔP (3)
其中,k表示当前是第k次迭代过程;XF表示轨迹实际终端状态;XF(P(k))表示使用轨迹参数代入轨迹公式计算得到的计算终端状态;ΔX(P(k))表示计算终端状态值和实际终端状态值之间的误差,式(2)和式(3)利用牛顿迭代法使ΔX(P(k))值趋近于0;ΔP表示参数变化量;参数变化量ΔP用于更新当前参数P(k)得到新的参数P(k+1);
其中,雅各比矩阵是4*4阶矩阵,ΔX(P(k))和ΔP是4*1阶矩阵,GPU为每条线程分配的寄存器大小是有限的,没有为矩阵的加法和乘法运算额外分配线程,运算过程中的中间矩阵空间由全局存储器分配。涉及4*4阶矩阵求逆运算,在轨迹生成核函数内调用动态并行,分配4*4数量的子线程利用高斯消元法求解;
其中,h=(b-a)/n;a、b分别表示积分的上下限;n表示积分区间等分点数、h表示积分步长、m表示积分区间的第m个等分点。
步骤4所述的在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、横向偏移代价、长度代价和一致性代价,具体如下:
GPU端为每条轨迹分配一个线程计算轨迹代价,离散采样弧长s,根据轨迹公式计算N个轨迹状态点,提取状态点计算代价项:Co,Cd,Cs,Cc;Co,Cd,Cs,Cc分别对应上述的四个代价;
代价Co表示轨迹与障碍物的接近程度,在实时感知栅格中,若栅格被障碍物占据则该栅格障碍物代价为1,否则代价为0,遍历候选轨迹的N个点,以每个轨迹状态点为中心在栅格图上构造大于车身的障碍物搜索矩形框,搜索框内车身距离最近障碍物的欧式距离作为该点障碍物代价,代价Co通过并行规约求和N个轨迹点的障碍物代价来计算:
其中,τ表示待评估轨迹候选;j表示候选轨迹N个轨迹点中的第j个点;
为了避免过度横向运动,代价Cd惩罚路径相对于参考路径的横向偏差,
其中,D(τ(j))是轨迹候选和参考路径的横向偏差;
代价Cs表现出对更长轨迹的偏好,
Cs=L(τ)
其中,L(τ)是路径候选的轨迹长度;
考虑重规划过程中规划结果和历史结果的一致性,代价Cc惩罚当前轨迹和历史轨迹之间的不一致,通过对路径和历史路径之间的距离积分计算,
其中,τpre(j)记录历史帧路径点数据,dis(τ(j),τpre(j))是候选和历史帧路径的距离,如果当前帧是规划的第一帧,则代价值Cc设置为0。
步骤5所述的CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最佳轨迹,并为最优轨迹匹配速度值,具体如下:
将GPU显存中轨迹参数以及轨迹代价值拷贝回CPU内存,CPU端归一化代价值,使不同层面考虑的代价值处于同一量级,过程如下:
Co′、Cd′、Cs′、Cc′是针对Co,Cd,Cs,Cc的归一化处理,使四个不同意义的评估值处于同一量级(最终值都位于[0,1])。其中,Comax是所有候选轨迹中的障碍物最大代价值,Dmax是最大横向偏差值,Lmax和Lmin分别对应最大长度和最小长度,dismax是和历史帧轨迹之间的最大偏移距离;
加权求和评估每个候选轨迹的性能,
Cost=woCo′+wdCd′+wsCs′+wcCc′
其中wo,wd,ws,wc是权重项,根据场景进行实际调整;选择总成本Cost值最小的轨迹作为最佳轨迹;
为最佳轨迹匹配速度曲线,使用多项式函数获得加速度连续的速度分布,速度表示为时间的三次多项式函数:
v(t)=v0+v1t+v2t2+v3t3
其中,v1,v2,v3是速度方程的未知参数,t表示时间;
由车辆gps信息得到初始速度v0和初始加速度a0,上层决策指令根据交通规则和场景推理给定终端速度vf和终端加速度af,已知路径长度sf,通过以下方程组求解三次多项式中的未知参数{v1,v2,v3,tf},从而得到匹配连续速度的最佳轨迹以传递给智能车控制执行,求解方程组如下:
本发明的优点是:本发明根据GPU(图形处理器)具备多线程并行高性能浮点计算能力以及CUDA编程模型,设计轨迹规划计算流程及存储分配方法,可有效利用GPU大规模并行计算能力提高无人驾驶车辆轨迹规划处理效率,达到实时轨迹规划并筛选最优规划结果,确保规划轨迹的可行性、安全性和舒适性。
附图说明
图1为轨迹规划在线GPU并行过程示意图。
图2为离线查找表采样构建过程示意图。
具体实施方式
如图1所示,一种智能车GPU并行加速轨迹规划方法,包括如下步骤:
步骤1:离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数;
步骤2:在线并行轨迹规划,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端;
步骤3:在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存;
步骤4:在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、一致性代价、横向偏移代价和长度代价;
步骤5:CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最佳轨迹,并为最优轨迹匹配速度值。
步骤1所述的离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数,具体方法如下:如图2所示,基于以自车车身为中心的坐标框架,坐标框架中每个点被描述为四维状态[x,y,θ,κ0],其中x、y分别为为x轴和y轴坐标值,θ为智能车航向,κ为曲率,车身状态坐标作为初始状态X0=[0,0,0,κ0],κ0为初始曲率,在状态空间中均匀采样终端状态Xf=[xf,yf,θf,κf],其中,xf、yf分别为终端的坐标值,θf是相对于初始航向的航向变化量,以降低采样空间大小,κf是智能车辆终端状态的曲率值,对于空间I=[κ0,xf,yf,θf,κf]进行均匀稀疏采样,表1显示了采样方案,使用模型预测方法连接初始状态和终端状态生成轨迹,为每一条轨迹建立索引,存储每条轨迹的索引值和轨迹生成参数到查找表。轨迹索引值index表示如下:
index=xf*1012+yf*109+θf*106+κf*103+κ0
表1查找表采样方案
步骤2所述的在线并行轨迹规划,如图1所示,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端,具体如下:
在CPU端,加载查找表到内存,采用串行方式读入CPU端的全局参考路径、实时感知环境栅格、GPS信息和上层决策指令,上层决策指令作为车道级规划结果,根据上层决策指令对全局参考路径进行处理,如接收指令为向左换道时向左平移参考路径一个车道。全局参考路径L是四维状态序列,具有以下形式:L={xi,xi,θi,κi|i=1,2,…,total},i为参考路径的total个状态点里第i个状态点,xi、yi、θi、κi分别为第i个状态点的坐标值、航向和曲率;
沿参考路径在不同预瞄距离下纵向采样,并沿纵向采样点进行横向采样,来避开意外障碍物,采样点的航向和曲率状态设置为参考路径上对应点的状态,确保生成的轨迹和参考路径对齐;
对所有的初始状态和终端状态点对:[x0,y0,θ0,κ0]和[xf,yf,θf,κf]进行坐标变换,使起点成为[0,0,0,κ0]的形式,并将终点改为[xf,yf,θf′,κf],其中θ′f=rad(θf-θ0),使用5维数据[κ0,xf,yf,θf′,κf]作为查找索引,利用最近邻查找方法kd树在查找表中进行模糊查找,以匹配距离查找索引最近的轨迹,获取该轨迹的生成参数作为初始猜测;
从CPU端拷贝采样终端状态集、轨迹初始猜测集、车辆初始状态、全局参考路径、上一帧的执行轨迹、实时感知栅格数据到GPU显存中,若当前帧为第一帧,则上一帧的执行轨迹为空。
步骤3所述的在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存,具体如下:
在GPU端分配线程块,为每条轨迹分配一个线程,每个线程从显存中读取一个终端状态和对应的初始猜测,以及车辆的初始状态作为核心处理函数的输入,核心处理函数采用模型预测方法迭代优化初始猜测,得到该轨迹的参数;
所述的加速模型预测方法生成大量轨迹的具体方法为:利用车辆运动学模型作为预测运动模型,为确保每条轨迹曲率和曲率速度的连续性,曲率模型表示为弧长s的三次多项式函数,并约束曲率和曲率速度的上界:
κ(s)=κ0+κ1s+κ2s2+κ3s3
轨迹上任意弧长s处的车身航向计算公式为:
轨迹上任意弧长s处的车身横坐标x和纵坐标y的计算公式分别为:
则轨迹的生成参数表示为P=[κ1,κ2,κ3,sf],sf为路径长度,使用牛顿迭代法对方程进行数值求解,使得误差值ΔX(P(k))小于预定阈值,迭代过程如下:
ΔX(P(k))←XF-XF(P(k)) (1)
P(k+1)←P(k)+ΔP (3)
其中,k表示当前是第k次迭代过程;XF表示轨迹实际终端状态;XF(P(k))表示使用轨迹参数代入轨迹公式计算得到的计算终端状态;ΔX(P(k))表示计算终端状态值和实际终端状态值之间的误差,式(2)和式(3)利用牛顿迭代法使ΔX(P(k))值趋近于0;ΔP表示参数变化量;参数变化量ΔP用于更新当前参数P(k)得到新的参数P(k+1);
其中,雅各比矩阵是4*4阶矩阵,ΔX(P(k))和ΔP是4*1阶矩阵。GPU为每条线程分配的寄存器大小是有限的,迭代中要处理的矩阵规模较小,且针对矩阵的访问次数不多,因此,没有为矩阵的加法和乘法运算额外分配线程,运算过程中的中间矩阵空间由全局存储器分配。涉及4*4阶矩阵求逆运算,求逆过程计算复杂,矩阵规模较小需要处理的数据量不多,因此直接在轨迹生成核函数内调用动态并行,分配4*4数量的子线程利用高斯消元法求解。
全局存储器高带宽、高延迟的特性可能会带来数据读写延迟,当生成轨迹量大、分配线程总数多时,部分线程在等待显存时,GPU可利用延迟隐藏切换其他线程占用处理器,从而达到利用其他线程束的计算隐藏访存延迟的效果。
其中,h=(b-a)/n;a、b分别表示积分的上下限;h表示积分区间等分点数、h表示积分步长、m表示积分区间的第m个等分点。CPU端的辛普森积分运算使用递归运算自适应调节积分步长,考虑到GPU不适用递归运算,采用固定步长,使用n=10,实践中发现可满足精确度要求。
步骤4所述的在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、横向偏移代价、长度代价和一致性代价,具体如下:
GPU端为每条轨迹分配一个线程计算轨迹代价,离散采样弧长s,根据轨迹公式计算N个轨迹状态点,提取状态点计算代价项:Co,Cd,Cs,Cc;Co,Cd,Cs,Cc分别对应上述的四个代价;
代价Co表示轨迹与障碍物的接近程度,在实时感知栅格中,若栅格被障碍物占据则该栅格障碍物代价为1,否则代价为0,遍历候选轨迹的N个点,以每个轨迹状态点为中心在栅格图上构造略大于车身的障碍物搜索矩形框,搜索框内车身距离最近障碍物的欧式距离作为该点障碍物代价,代价Co通过并行规约求和N个轨迹点的障碍物代价来计算:
其中,τ表示待评估轨迹候选;j表示候选轨迹N个轨迹点中的第j个点;
为了避免过度横向运动,代价Cd惩罚路径相对于参考路径的横向偏差,
其中,D(τ(j))是轨迹候选和参考路径的横向偏差;
代价Cs表现出对更长轨迹的偏好,可以有效地防止短预测层面引起的侵略性动作。
Cs=L(τ)
其中,L(τ)是路径候选的轨迹长度;
考虑重规划过程中规划结果和历史结果的一致性,代价Cc惩罚当前轨迹和历史轨迹之间的不一致,通过对路径和历史路径之间的距离积分计算,
其中,τpre(j)记录历史帧路径点数据,dis(τ(j),τpre(j))是候选和历史帧路径的距离,如果当前帧是规划的第一帧,则代价值Cc设置为0。
步骤5所述的CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最佳轨迹,并为最优轨迹匹配速度值,具体如下:
将GPU显存中轨迹参数以及轨迹代价值拷贝回CPU内存,CPU端归一化代价值,使不同层面考虑的代价值处于同一量级,过程如下:
Co′、Cd′、Cs′、Cc′是针对Co,Cd,Cs,Cc的归一化处理,使四个不同意义的评估值处于同一量级(最终值都位于[0,1])。其中,Comax是所有候选轨迹中的障碍物最大代价值,Dmax是最大横向偏差值,Lmax和Lmin分别对应最大长度和最小长度,dismax是和历史帧轨迹之间的最大偏移距离;
加权求和评估每个候选轨迹的性能,
Cost=wOCo′+wdCd′+wsCs′+wcCc′
其中wo,wd,ws,wc是权重项,根据环境进行实际调整;选择总成本Cost值最小的轨迹作为最佳轨迹;
为最佳轨迹匹配速度曲线,使用多项式函数获得加速度连续的速度分布,速度表示为时间的三次多项式函数:
v(t)=v0+v1t+v2t2+v3t3
其中,v1,v2,v3是速度方程的未知参数,t表示时间;
由车辆gps信息得到初始速度v0和初始加速度a0,上层决策指令根据交通规则和场景推理给定终端速度vf和终端加速度af,已知路径长度sf,通过以下方程组求解三次多项式中的未知参数{v1,v2,v3,tf},从而得到匹配连续速度的最佳轨迹以传递给智能车控制执行,速度规划通过强制执行v2=v3=0,保留在危险场景下生成线性速度分布以紧急制动。求解方程组如下:
Claims (6)
1.一种智能车GPU并行加速轨迹规划方法,其特征在于:包括如下步骤:
步骤1:离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数;
步骤2:在线并行轨迹规划,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端;
步骤3:在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存;
步骤4:在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、一致性代价、横向偏移代价和长度代价;
步骤5:CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最优轨迹,并为最优轨迹匹配速度值。
2.根据权利要求1所述的一种智能车GPU并行加速轨迹规划方法,其特征在于:步骤1所述的离线构建轨迹初始猜测参数查找表,为每条轨迹建立索引,存储轨迹索引以及轨迹生成参数,具体方法如下:基于以自车车身为中心的坐标框架,坐标框架中每个点被描述为四维状态[x,y,θ,κ0],其中x、y分别为x轴和y轴坐标值,θ为智能车航向,κ为曲率,车身状态坐标作为初始状态X0=[0,0,0,κ0],κ0为初始曲率,在状态空间中均匀采样终端状态Xf=[xf,yf,θf,κf],其中,xf、yf分别为终端的坐标值,θf是相对于初始航向的航向变化量,κf是智能车辆终端状态的曲率值,对于空间I=[κ0,xf,yf,θf,κf]进行均匀稀疏采样,使用模型预测方法连接初始状态和终端状态生成轨迹,为每一条轨迹建立索引,存储每条轨迹的索引值和轨迹生成参数到查找表,轨迹索引值index表示如下:
index=xf*1012+yf*109+θf*106+κf*103+κ0。
3.根据权利要求2所述的一种智能车GPU并行加速轨迹规划方法,其特征在于:步骤2所述的在线并行轨迹规划,在CPU端,获取系统信息,沿参考路径分层采样终端状态,通过查找表获取轨迹初始猜测参数,将系统信息和轨迹初始猜测参数拷贝至GPU端,具体如下:
在CPU端,加载查找表到内存,采用串行方式读入CPU端的全局参考路径、实时感知环境栅格、GPS信息和上层决策指令,上层决策指令作为车道级规划结果,根据上层决策指令对全局参考路径进行处理,全局参考路径L是四维状态序列,具有以下形式:L={xi,yi,θi,κi|i=1,2,…,total},i为参考路径的total个状态点里第i个状态点,xi、yi、θi、κi分别为第i个状态点的坐标值、航向和曲率;
沿参考路径在不同预瞄距离下纵向采样,并沿纵向采样点进行横向采样,采样点的航向和曲率状态设置为参考路径上对应点的状态,确保生成的轨迹和参考路径对齐;
对所有的初始状态和终端状态点对:[x0,y0,θ0,κ0]和[xf,yf,θf,κf]进行坐标变换,使起点成为[0,0,0,κ0]的形式,并将终点改为[xf,yf,θf′,κf],其中θ′f=rad(θf-θ0),使用五维数据[κ0,xf,yf,θf′,κf]作为查找索引,利用最近邻查找方法kd树在查找表中进行模糊查找,以匹配距离查找索引最近的轨迹,获取该轨迹的生成参数作为初始猜测;
从CPU端拷贝采样终端状态集、轨迹初始猜测集、车辆初始状态、全局参考路径、上一帧的执行轨迹、实时感知栅格数据到GPU显存中,若当前帧为第一帧,则上一帧的执行轨迹为空。
4.根据权利要求3所述的一种智能车GPU并行加速轨迹规划方法,其特征在于:步骤3所述的在GPU端读入数据,设计轨迹生成核函数,并行加速模型预测方法生成大量轨迹,存储轨迹参数到显存,具体如下:
在GPU端分配线程块,为每条轨迹分配一个线程,每个线程从显存中读取一个终端状态和对应的初始猜测,以及车辆的初始状态作为核心处理函数的输入,核心处理函数采用模型预测方法迭代优化初始猜测,得到该轨迹的参数;
所述的加速模型预测方法生成大量轨迹的具体方法为:利用车辆运动学模型作为预测运动模型,为确保每条轨迹曲率和曲率速度的连续性,曲率模型表示为弧长s的三次多项式函数,并约束曲率和曲率速度的上界:
κ(s)=κ0+κ1s+κ2s2+κ3s3
轨迹上任意弧长s处的车身航向计算公式为:
轨迹上任意弧长s处的车身横坐标x和纵坐标y的计算公式分别为:
则轨迹的生成参数表示为P=[κ1,κ2,κ3,sf],sf为路径长度,使用牛顿迭代法对方程进行数值求解,使得误差值ΔX(P(k))小于预定阈值,迭代过程如下:
ΔX(P(k))←XF-XF(P(k))
P(k+1)←P(k)+ΔP
其中,k表示当前是第k次迭代过程;XF表示轨迹实际终端状态;XF(P(k))表示使用轨迹参数代入轨迹公式计算得到的计算终端状态;ΔX(P(k))表示计算终端状态值和实际终端状态值之间的误差;ΔP表示参数变化量;参数变化量ΔP用于更新当前参数P(k)得到新的参数P(k+1);
其中,雅各比矩阵是4*4阶矩阵,ΔX(P(k))和ΔP是4*1阶矩阵,GPU为每条线程分配的寄存器大小是有限的,没有为矩阵的加法和乘法运算额外分配线程,运算过程中的中间矩阵空间由全局存储器分配,涉及4*4阶矩阵求逆运算,直接在轨迹生成核函数内调用动态并行,分配4*4数量的子线程利用高斯消元法求解;
其中,h=(b-a)/n;a、b分别表示积分的上下限;n表示积分区间等分点数、h表示积分步长、m表示积分区间的第m个等分点。
5.根据权利要求4所述的一种智能车GPU并行加速轨迹规划方法,其特征在于:步骤4所述的在GPU端设计轨迹评估核函数,并行评估轨迹的障碍物代价、横向偏移代价、长度代价和一致性代价,具体如下:
GPU端为每条轨迹分配一个线程计算轨迹代价,离散采样弧长s,根据轨迹公式计算N个轨迹状态点,提取状态点计算代价项:Co,Cd,Cs,Cc;
代价Co表示轨迹与障碍物的接近程度,在实时感知栅格中,若栅格被障碍物占据则该栅格障碍物代价为1,否则代价为0,遍历候选轨迹的N个点,以每个轨迹状态点为中心在栅格图上构造大于车身的障碍物搜索矩形框,搜索框内车身距离最近障碍物的欧式距离作为该点障碍物代价,代价Co通过并行规约求和N个轨迹点的障碍物代价来计算:
其中,τ表示待评估轨迹候选;j表示候选轨迹N个轨迹点中的第j个点;
为了避免过度横向运动,代价Cd惩罚路径相对于参考路径的横向偏差,
其中,D(τ(j))是轨迹候选和参考路径的横向偏差;
代价Cs表现出对更长轨迹的偏好,
Cs=L(τ)
其中,L(τ)是路径候选的轨迹长度;
考虑重规划过程中规划结果和历史结果的一致性,代价Cc惩罚当前轨迹和历史轨迹之间的不一致,通过对路径和历史路径之间的距离积分计算,
其中,τpre(j)记录历史帧路径点数据,dis(τ(j),τpre(j))是候选和历史帧路径的距离,如果当前帧是规划的第一帧,则代价值Cc设置为0。
6.根据权利要求5所述的一种智能车GPU并行加速轨迹规划方法,其特征在于:步骤5所述的CPU端从GPU显存中拷贝结果,释放GPU显存空间,CPU端归一化轨迹代价并筛选代价最小轨迹作为最佳轨迹,并为最优轨迹匹配速度值,具体如下:
将GPU显存中轨迹参数以及轨迹代价值拷贝回CPU内存,CPU端归一化代价值,使不同层面考虑的代价值处于同一量级,过程如下:
其中,Comax是所有候选轨迹中的障碍物最大代价值,Dmax是最大横向偏差值,Lmax和Lmin分别对应最大长度和最小长度,dismax是和历史帧轨迹之间的最大偏移距离;
加权求和评估每个候选轨迹的性能,
Cost=wOCo′+wdCd′+wsCs′+wcCc′
其中wo,wd,ws,wc是权重项,根据场景进行实际调整;选择总成本Cost值最小的轨迹作为最佳轨迹;
为最佳轨迹匹配速度曲线,使用多项式函数获得加速度连续的速度分布,速度表示为时间的三次多项式函数:
v(t)=v0+v1t+v2t2+v3t3
其中,v1,v2,v3是速度方程的未知参数,t表示时间;
由车辆gps信息得到初始速度v0和初始加速度a0,上层决策指令根据交通规则和场景推理给定终端速度vf和终端加速度af,已知路径长度sf,通过以下方程组求解三次多项式中的未知参数{v1,v2,v3,tf},从而得到匹配连续速度的最佳轨迹以传递给智能车控制执行,求解方程组如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910067251.4A CN109885891B (zh) | 2019-01-24 | 2019-01-24 | 一种智能车gpu并行加速轨迹规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910067251.4A CN109885891B (zh) | 2019-01-24 | 2019-01-24 | 一种智能车gpu并行加速轨迹规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885891A CN109885891A (zh) | 2019-06-14 |
CN109885891B true CN109885891B (zh) | 2022-09-30 |
Family
ID=66926725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910067251.4A Active CN109885891B (zh) | 2019-01-24 | 2019-01-24 | 一种智能车gpu并行加速轨迹规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885891B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262508B (zh) * | 2019-07-06 | 2024-05-31 | 广州卡尔动力科技有限公司 | 应用于封闭场地无人驾驶货运车辆上的自动引导系统及方法 |
CN110580251B (zh) * | 2019-07-19 | 2023-01-17 | 中国科学院信息工程研究所 | 一种大数据环境下的群体轨迹伴随模式在线分析方法和系统 |
GB202001308D0 (en) * | 2020-01-30 | 2020-03-18 | Five Ai Ltd | Prediction and planning for mobile robots |
CN110909418A (zh) * | 2019-11-14 | 2020-03-24 | 北京润科通用技术有限公司 | 飞行仿真数据处理方法及装置 |
CN110941271B (zh) * | 2019-11-26 | 2023-04-18 | 北方工业大学 | 一种自动驾驶换道模型、自动驾驶换道方法及其系统 |
CN110928314B (zh) * | 2019-12-23 | 2022-11-08 | 苏州寻迹智行机器人技术有限公司 | 一种基于轨迹预测的纯跟踪模型改进算法 |
CN111368420A (zh) * | 2020-03-02 | 2020-07-03 | 厦门大学 | 一种gpu加速的参数曲线弧长计算及弧长参数化方法 |
CN112585557A (zh) * | 2020-04-26 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 控制无人机的方法、装置和无人机 |
CN111722924B (zh) * | 2020-05-30 | 2022-09-16 | 同济大学 | 一种狭窄通道环境下的并行路径搜索方法、系统及装置 |
WO2022133775A1 (zh) * | 2020-12-23 | 2022-06-30 | 深圳元戎启行科技有限公司 | 轨迹数据处理方法、装置、计算机设备和存储介质 |
CN112929031A (zh) * | 2021-01-27 | 2021-06-08 | 江苏电子信息职业学院 | 危险环境中条形自主救援车路径信息压缩传输方法 |
CN113050643B (zh) * | 2021-03-19 | 2024-06-21 | 京东鲲鹏(江苏)科技有限公司 | 无人车路径规划方法、装置、电子设备和计算机可读介质 |
CN113267199B (zh) * | 2021-06-24 | 2023-01-06 | 上海欧菲智能车联科技有限公司 | 行驶轨迹规划方法及装置 |
CN113985887A (zh) * | 2021-11-04 | 2022-01-28 | 北京京东乾石科技有限公司 | 差速移动机器人运动轨迹生成方法和运动控制装置 |
CN114219697B (zh) * | 2021-12-27 | 2022-12-09 | 中国电子科技集团公司第十四研究所 | 一种基于cuda的运动目标实时热力图生成方法 |
CN114578808A (zh) * | 2022-01-10 | 2022-06-03 | 美的集团(上海)有限公司 | 路径规划方法、电子设备、计算机程序产品及存储介质 |
CN114519255B (zh) * | 2022-01-11 | 2024-08-16 | 深圳技术大学 | 车辆轨迹预测方法、装置及存储介质 |
CN114115299B (zh) * | 2022-01-25 | 2022-04-22 | 上海仙工智能科技有限公司 | 一种移动机器人平滑回归给定轨迹的路径规划方法及装置 |
CN114547228B (zh) * | 2022-04-22 | 2022-07-19 | 阿里云计算有限公司 | 轨迹生成方法、装置、设备及存储介质 |
CN115356910A (zh) * | 2022-07-29 | 2022-11-18 | 杭州电子科技大学 | 一种基于感知控制与感知容限的集群控制方法 |
CN115328174A (zh) * | 2022-10-14 | 2022-11-11 | 杭州华橙软件技术有限公司 | 轨迹规划方法、电子设备及存储介质 |
CN115454144B (zh) * | 2022-10-28 | 2023-02-24 | 中国电子科技集团公司第二十八研究所 | 一种动目标飞行轨迹平滑方法及系统 |
CN116339981A (zh) * | 2023-02-14 | 2023-06-27 | 国网北京市电力公司 | 用于Prony分析的GPU并行计算方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2280241A2 (en) * | 2009-07-30 | 2011-02-02 | Qinetiq Limited | Vehicle control |
CN107168305A (zh) * | 2017-04-01 | 2017-09-15 | 西安交通大学 | 路口场景下基于Bezier和VFH的无人车轨迹规划方法 |
-
2019
- 2019-01-24 CN CN201910067251.4A patent/CN109885891B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2280241A2 (en) * | 2009-07-30 | 2011-02-02 | Qinetiq Limited | Vehicle control |
CN107168305A (zh) * | 2017-04-01 | 2017-09-15 | 西安交通大学 | 路口场景下基于Bezier和VFH的无人车轨迹规划方法 |
Non-Patent Citations (1)
Title |
---|
未知环境下智能汽车轨迹规划滚动窗口优化;张琳等;《吉林大学学报(工学版)》;20171116(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109885891A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885891B (zh) | 一种智能车gpu并行加速轨迹规划方法 | |
CN112888612B (zh) | 自动驾驶车辆规划 | |
Ivanovic et al. | Mats: An interpretable trajectory forecasting representation for planning and control | |
Murali et al. | Perception-aware trajectory generation for aggressive quadrotor flight using differential flatness | |
Grigorescu et al. | Neurotrajectory: A neuroevolutionary approach to local state trajectory learning for autonomous vehicles | |
Xue et al. | Multi-agent deep reinforcement learning for UAVs navigation in unknown complex environment | |
Botteghi et al. | On reward shaping for mobile robot navigation: A reinforcement learning and SLAM based approach | |
Mohamed et al. | Autonomous navigation of agvs in unknown cluttered environments: log-mppi control strategy | |
Al Dabooni et al. | Heuristic dynamic programming for mobile robot path planning based on Dyna approach | |
Rosenblatt | Optimal selection of uncertain actions by maximizing expected utility | |
Luo et al. | UAV path planning based on the average TD3 algorithm with prioritized experience replay | |
Zhang et al. | Intelligent vector field histogram based collision avoidance method for auv | |
CN116069023B (zh) | 一种基于深度强化学习的多无人车编队控制方法和系统 | |
Chajan et al. | GPU based model-predictive path control for self-driving vehicles | |
Nishimura et al. | Active motion-based communication for robots with monocular vision | |
Mu et al. | Coverage Path Planning for UAV Based on Improved Back-and-Forth Mode | |
Wu et al. | Continuous Decision-Making in Lane Changing and Overtaking Maneuvers for Unmanned Vehicles: A Risk-Aware Reinforcement Learning Approach With Task Decomposition | |
Huy et al. | A practical and optimal path planning for autonomous parking using fast marching algorithm and support vector machine | |
Chen et al. | A study of unmanned path planning based on a double-twin RBM-BP deep neural network | |
Sahraeekhanghah et al. | Pa-fastrack: Planner-aware real-time guaranteed safe planning | |
CN113064422A (zh) | 基于双神经网络强化学习的自主水下航行器路径规划方法 | |
Lee | Efficient Perception, Planning, and Control Algorithms for Vision-Based Automated Vehicles | |
Diehl et al. | On a Connection between Differential Games, Optimal Control, and Energy-based Models for Multi-Agent Interactions | |
Li et al. | A decision-making approach for complex unsignalized intersection by deep reinforcement learning | |
CN117055556A (zh) | 多机器人编队路径规划方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |