狭窄通道无人驾驶拖挂避障转弯轨迹规划方法与流程

文档序号:33621218发布日期:2023-03-25 11:56阅读:383来源:国知局
狭窄通道无人驾驶拖挂避障转弯轨迹规划方法与流程

1.本发明涉及无人驾驶领域,尤其涉及一种在港口等狭窄通道内行驶的无人驾驶拖挂避障转弯的轨迹规划方法。


背景技术:

2.随着经济全球化的不断深入,电商平台和进出口贸易蓬勃发展,带动了交通运输业的发展。拖挂车辆因其具有运输成本低廉、运输量大、装卸货物方便等优点,成为交通运输业公路长途运输的首选,广泛活跃于各大工厂、港口。但港口集装箱排布较密,通道较为狭窄,这给动辄二十几米的拖挂车辆行驶带来了困难。特别是面临直角转弯时,要求车辆在狭小的空间内完成无碰撞过弯,这给无人驾驶拖挂的运动规划提出了更高的要求。
3.现有技术中,常用基于采样和搜索的路径规划方法来规划无人驾驶汽车的运动路径。拖挂车辆牵引车与拖箱中间用铰接点进行连接,车辆运动的灵活度大,轨迹规划中的各类约束条件复杂。基于采样与搜索的路径规划方法难以保证在满足复杂约束条件下规划出可行路径。同时,这两种方法导出的路径并不光滑,给后续跟踪模块进行路径跟踪增加了困难,即使使用数学方法对路径进行平滑处理,也难以保证得到的路径为最优路径。


技术实现要素:

4.针对无人驾驶拖挂车辆在港口等狭窄通道内转弯困难的问题,本发明提供一种基于最优控制理论的狭窄通道无人驾驶拖挂避障转弯轨迹规划方法。该方法运用最优控制理论直接生成车辆行驶轨迹,能在给定狭小空间内规划出满足所有约束条件的最优轨迹。提高了拖挂车辆在狭窄空间内的通行效率与行驶安全性。
5.为此,本发明采用以下技术方案:
6.一种狭窄通道无人驾驶拖挂避障转弯轨迹规划方法,包括以下步骤:
7.s1,在t∈[t0,t0+δt]时段,利用车载传感器得到无人驾驶拖挂的状态量:
[0008]
[xr,yr,θ1,θ2,v1,δf]
[0009]
其中,(xr,yr)为在笛卡尔坐标系下牵引车后轴中点的位置坐标、θ1为牵引车横摆角、θ2为拖箱横摆角,v1为牵引车后轴中点的速度,δf为牵引车前轮转角;
[0010]
获取车辆周围的点云数据及无人驾驶拖挂周围静态障碍物外轮廓的一系列位置坐标(xi,yi),以及动态障碍物的当前和预测位置外轮廓的一系列坐标(xi

,yi

,t);
[0011]
由所述无人驾驶拖挂的状态量及其周围静态、动态障碍物的位置点集,形成无人驾驶拖挂与周围障碍物的瞬时位姿映射关系;
[0012]
s2,构建车辆运动学约束:
[0013]
将牵引车前轴、后轴和拖箱车轴在大地坐标系下简化为三个点,分别记为of(xf,yf),or(xr,yr),o
l
(x
l
,y
l
),设牵引车与拖箱的铰接点位于牵引车后轴中点的正上方,设牵引车的轴距为l1,铰接点到拖箱后轴中点的距离为l2,不考虑侧向滑动,牵引车与拖箱所有车轴中点的轴向速度为零,满足下式:
[0014][0015]
根据几何位置关系,建立牵引车后轴中点or与拖箱轴中点of之间的关系、牵引车后轴中点or与牵引车前轴中点o
l
之间的关系,计算牵引车后轴中点在大地坐标系下的横纵向车速、牵引车前轴中点的速度、拖箱车轴中点的速度,进而求得铰接点位于牵引车后轴中点的车辆运动学方程;
[0016]
s3,构建避障约束:
[0017]
设牵引车车头到拖箱前端的距离为s,牵引车宽为w,拖箱的长为l、宽亦为w,用圆形和椭圆分别覆盖所述牵引车和拖箱,根据牵引车的几何尺寸与圆最大内接矩形的定义,得到所述圆形的圆心位于笛卡尔坐标系原点的圆方程和圆心位于笛卡尔坐标系原点的椭圆方程;
[0018]
由步骤s1中的车辆映射外轮廓得到覆盖车体的圆与椭圆的映射外轮廓,基于圆与椭圆的映射外轮廓与各静态、动态障碍物的映射外轮廓,用改进的minkowski sum方法生成无人驾驶拖挂的避障区域;用改进的minkowski sum方法将无人驾驶拖挂映射的圆心沿步骤s1中生成的障碍物映射的外轮廓绕行一周时无人驾驶拖挂映射所包围的全部区域定义为规划时圆与椭圆的圆心分别要避开的碰撞区域;
[0019]
将圆心/椭圆心与避障区域圆弧与直线的切点相连,判断所有连线的夹角和是否等于360
°
,若等于360
°
,则证明圆心在避障区域内部,不满足碰撞约束条件;若夹角和不等于360
°
,则满足碰撞约束条件;碰撞约束条件简写为:
[0020]
l
barrier
(x(t))≤0,
[0021]
其中,x(t)为车辆状态量;
[0022]
s4,构建控制量约束,对控制量和控制量的增量进行约束,以保证车辆行驶的稳定性;
[0023]
s5,构建两点边界约束:识别初始时刻的状态量和控制量以及给定目标时刻的状态量和控制量,一起构成两点边界约束;
[0024]
s6,构建牵引车与拖箱夹角约束;
[0025]
s7,构建最优控制问题:由代价函数与所述车辆运动学约束、避障约束、控制量约束、两点边界约束、牵引车与拖箱夹角约束一起构成求解最优轨迹的最优控制问题;
[0026]
s8,由基于搜索的路径规划算法a
*
生成连接车辆起点与目标点的初始路径,用样条曲线对初始路径进行平滑处理,在笛卡尔坐标系下求初始路径的斜率k,由公式求得路径点上的参考前轮转角;设该参考线上的参考速度方向沿参考线切线方向,为定值νf;初始路径有了转角和速度参考控制量δr与νr,加入了控制量路径就有了时间信息,从而得到初始轨迹;
[0027]
s9,构建车辆加加速度约束:
[0028]
jerk
min
≤jerk≤jerk
max
[0029]
转化为代价函数的一部分,构造内点惩罚函数;通过cilqr算法求解复杂约束下的
非线性规划问题;
[0030]
s10,用动态规划法求解lqr:将车辆状态转移方程沿规划的轨迹在参考点泰勒一阶展开,完成状态转移方程的线性化,将求解ilqr问题转化为沿规划轨迹,求解一系列的lqr问题,得到一条优化后的轨迹;
[0031]
s11:对所述优化后的轨迹再次进行迭代lqr求解,直到代价函数收敛到10-4
,停止迭代,得到最优轨迹。
[0032]
其中,步骤s2牵引车后轴中点or与拖箱轴中点of之间的关系为:
[0033][0034]
牵引车后轴中点or与牵引车前轴中点o
l
之间的关系式为:
[0035][0036]
牵引车后轴中点在大地坐标系下的横纵向车速为:
[0037][0038]
牵引车前轴中点的速度为:
[0039][0040]
拖箱车轴中点的速度为:
[0041][0042]
铰接点位于牵引车后轴中点的车辆运动学方程为:
[0043][0044]
步骤s3中所述的圆方程为:
[0045][0046]
所述椭圆方程为:
[0047][0048]
步骤s4中控制量约束满足下式:
[0049]
[0050]
其中,a为牵引车的加速度,jerk为牵引车加速度的导数,v1为牵引车后轴中点速度,δf为牵引车前轮转角,ω为牵引车前轮转角的角速度。
[0051]
步骤s5中,识别初始时刻t=0的状态量与控制量为:x(0)=x
initial
,u(0)=u
initial
;给定目标时刻t=t的状态量与控制量为:x(t)=x
aim
,u(t)=u
aim

[0052]
步骤s6中,牵引车与拖箱夹角约束条件为:0
°
≤|θ
1-θ2|<90
°

[0053]
步骤s9中,加加速度约束代价为:
[0054]
jerk
min
≤jerk≤jerk
max

[0055]
内点惩罚函数如下式所示:
[0056][0057][0058]
式中,q1、q2为系数;
[0059]
通过调节式中q1、q2的值,获得一个性质更加符合代价函数要求的曲线;若当前加速度在约束范围内,惩罚函数会得到一个很小的值;若在范围外,则得到一个指数级别的惩罚值;利用惩罚函数表示约束函数,转化为代价函数的一部分,将cilqr问题转化为ilqr问题;
[0060]
步骤s10的求解过程如下:
[0061]
延初始轨迹划分一系列连续时段,在每个时段内将状态转移方程进行泰勒展开,泰勒展开后的状态转移方程与代价函数为:
[0062][0063][0064]
引入q函数,描述在x
t
状态下采取动作u
t
的代价:
[0065][0066]
引入v函数,描述状态本身的代价,这里定义状态代价等于可以使得后续状态代价最优的q代价:
[0067][0068]
将代价矩阵重写成如下形式:
[0069][0070]
(1)backward过程:
[0071]
对q函数求导可得令其等于零:
[0072][0073]
可解得:
[0074]
[0075]
令:
[0076]
可得控制量为:
[0077]ut
=k
t
x
t
+k
t
[0078]
根据上述推导结果,有:
[0079][0080]
得:
[0081][0082]
式中:
[0083][0084]
将t时刻向前回溯到t-1时刻,由于x
t-1
不是末端节点状态,因此扩展q函数定义成:
[0085][0086]
由公式:
[0087][0088]
重写v函数可得:
[0089][0090]
可得t-1时刻的q函数为:
[0091][0092]
式中:
[0093][0094]
再次对q函数求导,令其导数等于零:
[0095][0096]
可得t-1时刻的控制量:
[0097]ut-1
=k
t-1
x
t-1
+k
t-1
[0098]
通过多次向前回溯,即可得到初状态:
[0099]
u1=k1x1+k1[0100]
(2)forward过程:
[0101]
在backward过程中,通过从后往前的计算依次得到了一系列控制量,然后将这些控制量从前往后依次带入到车辆状态转移方程,即得到一条优化后的轨迹:
[0102]
[0103]
与现有技术相比,本发明具有以下有益效果:
[0104]
(1)本方案针对在港口等狭窄通道下行驶的无人驾驶拖挂运动规划困难的问题,提出了一种基于最优控制理论的轨迹规划方法。该方法将轨迹规划问题描述为求解满足约束条件下的最优控制问题,通过求解最优控制问题得到车辆行驶的最优轨迹,提高了无人驾驶拖挂在狭窄通道内的通行效率与行驶安全性。对推动无人驾驶技术的发展,提高港口货物运输效率具有重要意义。
[0105]
(2)采用cilqr算法求解复杂约束下的非线性规划问题,利用惩罚函数表示约束函数,转化为代价函数的一部分。使用动态规划法求解lqr问题,通过不断迭代得到最优轨迹。与其他求解最优控制问题的方法相比,该方法约束处理巧妙,迭代优化求解能得到最优轨迹且求解速度快。
[0106]
(3)在描述避障约束时,分别用圆和椭圆描述拖挂牵引车与货箱的外廓体积。引入了碰撞多边形的概念,碰撞多边形定义为某一时刻覆盖车体的圆与障碍物的改进minkowski sum。碰撞多边形在生成时考虑了车辆的位姿,与其他生成障碍区域的方法相比,碰撞多边形面积更小,相应的可通行区域也就越大,也就越容易得到最优轨迹。
附图说明
[0107]
图1为狭窄通道无人驾驶拖挂避障转弯示意图;
[0108]
图2为无人驾驶拖挂简化车辆运动学模型示意图;
[0109]
图3为无人驾驶拖挂车身圆与椭圆覆盖示意图;
[0110]
图4为用改进的minkowski sum方法生成的拖箱避障区域示意图;
[0111]
图5为ilqr求解流程图。
具体实施方式
[0112]
本发明采用cilqr(constraint iteration lqr)算法求解最优控制问题。cilqr是为了解决lqr算法无法处理复杂约束的优化问题而提出的,是一种扩展的ilqr算法。它利用惩罚函数来表示约束函数的方法来处理含约束的lqr问题,最终采用与ilqr相同的框架来获得问题的最优解。将问题中的不等式约束转化为代价函数的一部分,构造内点惩罚函数:
[0113][0114]
通过调节式中q1和q2的值,我们可以获得一个性质更加符合我们代价函数要求的曲线。lqr要求系统状态转移方程是线性的,ilqr拓展到了非线性的模型。ilqr求解的整体思路是:先确定一条初始轨迹,然后用lqr优化这条轨迹。初始轨迹采用基于搜索的路径规划算法a
*
获得,用样条曲线对初始路径进行平滑处理,在笛卡尔坐标系下由初始路径的斜率k求得路径点上的参考前轮转角,设该参考线上的参考速度为定值,方向沿参考线切线方向。初始路径有了参考控制量就形成了初始参考轨迹。
[0115]
在用lqr优化轨迹时,运用了动态规划法。先是从后往前进行backward过程,该过程得到了一系列的δu。然后通过forward过程,从前往后依次将backward过程当中得到的一系列的控制量的变化量带入状态转移方程中,更新状态量,得到一条优化后的轨迹。迭代进行backward与forward过程,直到代价函数收敛,得到满足约束条件的最优轨迹。
[0116]
以下结合附图对本发明的方法进行详细说明。
[0117]
本发明中所述无人驾驶拖挂包括牵引车和拖箱。
[0118]
参见图1,本发明的狭窄通道无人驾驶拖挂避障转弯轨迹规划方法包括以下步骤:
[0119]
s1,在t∈[t0,t0+δt]时段,利用gps、imu等车载传感器得到无人驾驶拖挂的状态量:
[0120]
[xr,yr,θ1,θ2,v1,δf]
[0121]
其中,(xr,yr)为在笛卡尔坐标系下牵引车后轴中点的位置坐标、θ1为牵引车横摆角、θ2为拖箱横摆角,v1为牵引车后轴中点的速度,δf为牵引车前轮转角。
[0122]
利用激光雷达扫描得到车辆周围点云数据,经由感知预测模块得到无人驾驶拖挂周围静态障碍物外轮廓的一系列位置坐标(xi,yi),以及动态障碍物的当前和预测位置外轮廓的一系列坐标(xi

,yi

,t)。由所述无人驾驶拖挂的状态量及其周围静态、动态障碍物的位置点集,形成无人驾驶拖挂与周围障碍物的瞬时位姿映射关系。
[0123]
s2,构建车辆运动学约束:
[0124]
因无人驾驶拖挂转弯时车速低、轮胎侧偏角小,车辆运动学模型足以描述其在转弯时的运动特性,根据牵引车后轴中心点的速度v1、车辆前轮转角δf建立拖挂简化运动学示意图,如图2所示。
[0125]
牵引车前轴、后轴和拖箱车轴在大地坐标系下简化为三个点,分别记为of(xf,yf),or(xr,yr),o
l
(x
l
,y
l
)。通过定位牵引车后轴中心的位置坐标,假设牵引车与拖箱的铰接点位于牵引车后轴中点的正上方。设牵引车的轴距为l1,铰接点到拖箱后轴中点的距离为l2。不考虑侧向滑动,牵引车与拖箱所有车轴中点的轴向速度为零,即满足下式:
[0126][0127]
根据几何位置关系,建立牵引车后轴中点or与拖箱轴中点of之间的关系,如下式:
[0128][0129]
根据几何位置关系,建立牵引车后轴中点or与牵引车前轴中点o
l
之间的关系,如下式:
[0130][0131]
牵引车后轴中点在大地坐标系下的横纵向车速表示为:
[0132][0133]
牵引车前轴中点的速度表示为:
[0134][0135]
拖箱车轴中点的速度表示为:
[0136]
[0137]
由以上公式求得铰接点位于牵引车后轴中点的车辆运动学方程为:
[0138][0139]
s3,构建避障约束:
[0140]
设牵引车车头到拖箱前端的距离为s,牵引车宽为w,拖箱的长为l、宽亦为w。用圆形和椭圆分别覆盖拖挂的牵引车与拖箱,如图3所示,根据牵引车的几何尺寸与圆最大内接矩形的定义,可得图中圆心位于笛卡尔坐标系原点的圆方程为:
[0141][0142]
根据拖箱的几何尺寸与椭圆最大内接矩形的定义,可得圆心位于笛卡尔坐标系原点的椭圆方程为:
[0143][0144]
由步骤s1中的车辆映射外轮廓可得覆盖车体的圆与椭圆的映射外轮廓,基于圆与椭圆的映射外轮廓与各静态、动态障碍物的映射外轮廓,用改进的minkowski sum方法生成无人驾驶拖挂的避障区域。用改进的minkowski sum方法将无人驾驶拖挂映射的圆心沿步骤s1中生成的障碍物映射的外轮廓绕行一周时无人驾驶拖挂映射所包围的全部区域定义为规划时圆与椭圆的圆心分别要避开的碰撞区域。图4中右图最外侧虚线包围的区域(避障区)为用改进的minkowski sum方法生成的拖箱避障区域,该区域即为在规划轨迹时图中左侧椭圆圆心(拖箱的中心)要避开的区域。
[0145]
将圆心/椭圆心与避障区域圆弧与直线的切点相连,判断所有连线的夹角和是否等于360
°
,若等于360
°
则证明圆心在避障区域内部,不满足碰撞约束条件;若夹角和不等于360
°
则满足碰撞约束条件。碰撞约束条件简写为:
[0146]
l
barrier
(x(t))≤0,
[0147]
其中,x(t)为车辆状态量
[0148]
s4,构建控制量约束:
[0149]
控制量约束描述车辆控制量的最大值与最小值。在实际控制过程中,不仅要对控制量进行约束,还要对控制量的增量进行约束,使控制量的增量变化不能过快,保证车辆行驶的稳定性。控制量约束满足下式:
[0150][0151]
在上述不等式中,a为牵引车的加速度,jerk为牵引车加速度的导数(加加速度),v1为牵引车后轴中点速度,δf为牵引车前轮转角,ω为牵引车前轮转角的角速度。
[0152]
s5,构建两点边界约束:
[0153]
识别初始时刻t=0的状态量与控制量:x(0)=x
initial
,u(0)=u
initial
,反应初始时刻的真实值;
[0154]
给定目标时刻t=t的状态量与控制量:x(t)=x
aim
,u(t)=u
aim
,与初始时刻的状态量与控制量一起构成两点边界约束。
[0155]
s6,构建牵引车与拖箱夹角约束:
[0156]
为了防止牵引车发生折叠,影响行车安全性,必须对拖挂牵引车与拖箱之间的夹角进行限制,牵引车与拖箱夹角约束条件为:
[0157]0°
≤|θ
1-θ2|<90
°
[0158]
s7,构建最优控制问题:
[0159]
由代价函数:
[0160][0161]
与车辆运动学约束、避障约束、控制量约束、两点边界约束、夹角约束一起构成求解最优轨迹的最优控制问题。
[0162]
s8,由基于搜索的路径规划算法a
*
生成连接车辆起点与目标点的初始路径,用样条曲线对初始路径进行平滑处理。在笛卡尔坐标系下求初始路径的斜率k,由公式:
[0163]
δ
fr
=arctan(k)
[0164]
求得路径点上的参考前轮转角,设该参考线上的参考速度方向沿参考线切线方向,为定值vf。初始路径有了转角和速度参考控制量δr与νr,加入了控制量路径就有了时间信息(带有时间信息的路径为轨迹),也就得到初始轨迹;
[0165]
s9,构建车辆加加速度约束:
[0166]
通过将问题中的不等式约束转化为代价函数的一部分,构造内点惩罚函数。通过cilqr算法求解复杂约束下的非线性规划问题。
[0167]
加加速度约束代价为:
[0168]
jerk
min
≤jerk≤jerk
max
[0169]
内点惩罚函数如下式所示:
[0170][0171][0172]
式中q1、q2为系数,通过调节式中q1、q2的值,可以获得一个性质更加符合我们代价函数要求的曲线。若当前加速度在约束范围内惩罚函数会得到一个很小的值;若在范围外则会得到一个指数级别的惩罚值。利用惩罚函数表示约束函数,转化为代价函数的一部分,cilqr问题就转化为了ilqr问题。
[0173]
s10,用动态规划法求解lqr:
[0174]
将车辆状态转移方程沿规划的轨迹在参考点泰勒一阶展开,完成了状态转移方程的线性化。求解ilqr问题就转化为了沿规划轨迹,求解一系列的lqr问题。
[0175]
延初始轨迹划分一系列连续时段,在每个时段内将状态转移方程进行泰勒展开,泰勒展开后的状态转移方程与代价函数为:
[0176][0177][0178]
引入q函数,描述在x
t
状态下采取动作u
t
的代价:
[0179][0180]
引入v函数,描述状态本身的代价,这里定义状态代价等于可以使得后续状态代价最优的q代价:
[0181][0182]
将代价矩阵重写成如下形式:
[0183][0184]
(1)backward过程:
[0185]
对q函数求导可得令其等于零:
[0186][0187]
可解得:
[0188][0189]
令:
[0190]
可得控制量为:
[0191]ut
=k
t
x
t
+k
t
[0192]
根据上述推导结果,有:
[0193][0194]
得:
[0195][0196]
式中:
[0197][0198]
将t时刻向前回溯到t-1时刻,由于x
t-1
不是末端节点状态,因此扩展q函数定义成:
[0199][0200]
由公式:
[0201][0202]
重写v函数可得:
[0203][0204]
可得t-1时刻的q函数为:
[0205][0206]
式中:
[0207][0208]
再次对q函数求导,令其导数等于零:
[0209][0210]
可得t-1时刻的控制量:
[0211]ut-1
=k
t-1
x
t-1
+k
t-1
[0212]
通过多次向前回溯,即可得到初状态:
[0213]
u1=k1x1+k1[0214]
(2)forward过程:
[0215]
在backward过程中,通过从后往前的计算依次得到了一系列控制量,然后将这些控制量从前往后依次带入到车辆状态转移方程,即得到一条优化后的轨迹:
[0216][0217]
s11:对优化后的轨迹再次进行迭代lqr求解,迭代lqr求解流程如图5所示,直到代价函数收敛到10-4
,则停止迭代,得到最优轨迹。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1