CN114906128A - 一种基于mcts算法的自动泊车运动规划方法 - Google Patents
一种基于mcts算法的自动泊车运动规划方法 Download PDFInfo
- Publication number
- CN114906128A CN114906128A CN202111118963.8A CN202111118963A CN114906128A CN 114906128 A CN114906128 A CN 114906128A CN 202111118963 A CN202111118963 A CN 202111118963A CN 114906128 A CN114906128 A CN 114906128A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- state
- parking
- data set
- current
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/06—Automatic manoeuvring for parking
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
- B60W40/105—Speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
- B60W2050/0031—Mathematical model of the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2520/00—Input parameters relating to overall vehicle dynamics
- B60W2520/06—Direction of travel
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2540/00—Input parameters relating to occupants
- B60W2540/18—Steering angle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
Abstract
本发明涉及一种基于MCTS算法的自动泊车运动规划方法,包括:获取车辆的初始状态和目标状态,所述的目标状态根据停车位的位置获取,根据初始状态和目标状态sgoal,通过MCTS算法获得最优轨迹数据集,以初始状态为起点,根据最优动作集控制车辆运行至最优末态状态sn,所述的末态状态sn与目标状态sgoal满足误差条件,完成自动泊车。与现有技术相比,本发明具有效率高、适用范围广等优点。
Description
技术领域
本发明涉及自动驾驶领域,尤其是涉及一种基于MCTS算法的自动泊车运动规划方法。
背景技术
随着汽车智能化的不断发展和不断增加的对交通安全的需求,自动驾驶技术呈现出蓬勃发展的趋势,自动泊车系统被普遍认为是近期实现自动驾驶商业化最有前景的应用。在道路交通事故成因分析中,约23%的事故与泊车场景有关,75%的泊车事故与倒车过程有关。自动泊车系统依靠计算机系统和传感器将人类驾驶员从控制泊车的过程中解放出来。因此,自动泊车系统可以提高安全性,减少交通事故的发生,同时节省时间和精力,而平行泊车是自动泊车中最困难的情况。
自动泊车系统一般由两个模块组成:库位检测、运动规划。起始库位检测模块输出可用的库位信息,包括库位长度、库位深度和自车在库位坐标系中的状态。运动规划模块,作用为引导车辆进入检测到的库位空间,是决定智能系统智能程度的关键模块。
运动规划方法可分为经典分支和基于人工智能的分支;
经典分支的方法一般包括基于几何的方法、基于启发式搜索的方法和基于优化的方法。基于几何的方法是最常用的方法,它利用固定形状的曲线作为泊车路径。常用曲线有RS曲线、回旋曲线和β样条曲线。基于启发式搜索方法的代表是Hybrid-A*算法,Hybrid-A*算法只对控制空间进行离散采样,以确保搜索的规模不会太大,但也有可能失败,启发式函数的定义对最终结果有很大影响。RRT也是一种使用启发式信息的路径规划方法,生成的路径需要通过多项式曲线拟合或β样条平滑。基于优化的方法通过精确的数学建模将规划问题转化为数值优化问题,在目标函数中考虑安全、舒适等目标来解决泊车问题,但由于需要大量的计算资源,阻碍了其在实际车辆上的广泛应用。
最近,智能方法越来越受欢迎,该分支的基本工具是人工神经网络(ANN)。人工神经网络可以直接映射车辆的状态到动作,但是单独使用人工神经网络不能保证泊车性能,训练数据的质量是其瓶颈,此外,ANN需要设计得非常深和大。自AlphaGo和AlphaGo Zeros问世以来,Reinforcement Learning(RL)越来越受到自动驾驶领域,特别是运动规划领域研究人员的关注。“Zhang P,Xiong L,Yu Z,et al.Reinforcement learning-based end-to-end parking for automatic parking system[J].Sensors,2019,19(18):3996.”提出了一种基于深度确定性策略梯度(deep deterministic policy gradient,DDPG)的无模型强化学习方法,可实现端到端自动垂直泊车,与传统的路径规划相比,它可以达到更高的最终泊车精度,但垂直泊车比平行泊车容易得多,该方法学习过程繁琐,而且中的车辆速度是恒定的。“Du Z,Miao Q,Zong C.Trajectory Planning for Automated Parking SystemsUsing Deep Reinforcement Learning[J].International Journal of AutomotiveTechnology,2020,21(4):881-887.”提出了一种基于DQN的自动泊车系统,虽然人工演示提高了训练效率,但收敛时间仍然很长。“Zhang J,Chen H,Song S,et al.ReinforcementLearning-Based Motion Planning for Automatic Parking System[J].IEEE Access,2020,8:154485-154501.”提出了一种结合蒙特卡罗树搜索(MCTS)和神经网络的平行泊车方法,该方法可以保证多目标优化,包括安全性、舒适性、泊车效率和最终的泊车性能,然而该方法只考虑横向动作,即Δt时间内的增量转向角,而纵向动作(速度)是预定义的v-t曲线,该方法首先基于MCTS和神经网络进行车辆倒车入库过程,然后通过基于规则的调整程序调整车辆的状态,最终完成泊车,虽然这种基于模型的强化学习方法的效率要比上面提到的无模型方法好很多,但是方法将平行泊车过程分为倒车入库阶段和库位内调整阶段,智能体只负责倒车入库阶段,在调整阶段,车辆以最大方向盘转角运动以调整航向角,调整时间未知,最终泊车状态未确定,而且模型训练时间过长。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于MCTS算法的自动泊车运动规划方法,效率高,速度快。
本发明的目的可以通过以下技术方案来实现:
一种基于MCTS算法的自动泊车运动规划方法,包括:
获取车辆的初始状态和目标状态,所述的目标状态根据停车位的位置获取,根据初始状态和目标状态sgoal,通过MCTS算法获得最优轨迹数据集,所述的最优轨迹数据集表达式为:
{(si,αi)|i=0,1...n-1}
其中,i为0时,s0为初始状态,i不为0时,si为车辆的第i个状态,αi为处于状态si下的车辆的当前最优动作,执行αi后车辆的状态由si变为si+1,n为最优动作数量,执行αi+1后车辆状态由si变为si+1,执行αn-1后车辆状态sn-1由变为末态状态sn;
以初始状态为起点,根据最优动作集控制车辆运行至最优末态状态sn,所述的末态状态sn与目标状态sgoal满足误差条件,完成自动泊车。
进一步地,在停车位所在平面构建平面坐标系,停车位朝向与平面坐标系X轴平行;
所述的状态si的表达式为:
所述的动作α的表达式为:
进一步地,通过滑膜控制步骤求解转向角变化量修正值,控制车辆泊车时,用转向角修正量替换当前最优动作中的转向角变化量;
slaw=c1x2+c2[A+B·u]
u=tan(ψ)
其中,ψ′为车辆前轮角度修正值,β为传动比,ψ为车辆当前的方向盘转向角,ψr为参考车辆前轮转角,θ为当前车辆航向角,θr为参考车辆航向角,slaw为趋近率,x1为y轴坐标的误差,x2为航向角正切值误差,c1和c2为设定权重,L为车辆轴距。
进一步地,所述的MCTS算法包括:
构建车辆模型,设定m种候选动作;
构建策略神经网络π;
以初始状态为起点,结合策略神经网络π,迭代执行动作寻优步骤,从m种候选动作中逐步挑选当前最优动作,更新当前轨迹数据集;
当满足迭代中断条件时,重新构建策略神经网络π0,并迭代执行动作寻优步骤;
若通过当前轨迹数据集获取的末态状态sn,now与目标状态sgoal满足误差条件时,迭代结束,此时当前轨迹数据集作为最优轨迹数据集。
进一步地,所述的动作寻优步骤的第i次迭代过程包括:
对当前状态为si-1的车辆模型分别执行m种候选动作α′i-1,对应获得m个候选状态s′i;
根据候选状态s′i和目标状态sgoal,利用策略神经网络πi-1生成想象轨迹数据集;所述的当前轨迹数据集、(si-1,α′i-1)和想象轨迹数据集构成候选轨迹数据集,总共获得m个候选轨迹数据集;
利用奖励评估函数计算每个候选轨迹数据集的奖励值R,获得最大奖励值Ri,max;
判断Ri,max是否大于上一次迭代获得的最大奖励值Ri-1,max,
若是则将判定具有最大奖励值Ri,max的候选轨迹数据集中的候选动作α′i-1记为α′i-1,best,α′i-1,best对应的候选状态s′i记为s′i,best,将(si-1,α′i-1,best)加入当前轨迹数据集,将车辆模型的当前状态更新为s′i,best,以具有最大奖励值Ri,max的候选轨迹数据集更新为当前最佳轨迹数据集,
否则根据当前最佳轨迹数据集将车辆模型的当前状态更新为si,best,并将si,best加入当前轨迹数据集。
进一步地,所述的想象轨迹数据集的生成过程包括:
将候选状态s′i输入当前策略神经网络,获得不同候选动作的概率分布,根据概率分布,通过在线滚动探索算法选取一个候选动作α′i,
根据s′i和α′i获得s′i+1,重复上述步骤,直至当前末态状态s′n与目标状态sgoal满足误差条件。
进一步地,所述的在线滚动探索算法包括:
依次各个候选动作的累积概率值,依次获得m个累积概率值,计算公式为:
其中,Pcum(a′j,i)为前j个候选动作的累积概率值;
创建一个随机数num∈[0,1],选取第一个大于num的累积概率值所对应的候选动作。
进一步地,所述的迭代中断条件包括:
满足以下任一条件:
迭代时间大于设定时长;
想象轨迹数据集的生成过程中车辆模型发生碰撞。
进一步地,所述的奖励评估函数的计算公式为:
R=rpose+rtime+rcollision+rsuccess
其中,R为奖励值,rpose为车辆最终姿势的评估值,计算公式为:
rpose=ry+rθ
ry=20000*(e-abs(y_final-y_target)/0.08)
rθ=20000*(e-abs(θ_final-θ_target)/0.05)
其中,y_final和y_target分别为泊车完成后车辆后桥中点的最终纵坐标以及目标纵坐标,θ_final和θ_target分别为泊车完成后车辆的最终转向角以及目标转向角;
rtime为车辆泊车时间的评估值,计算公式为:
rtime=1000-40*tfinal
其中,tfinal为车辆泊车消耗的时间;
rcollision为车辆泊车的碰撞风险评估值,计算公式为:
rsuccess为车辆泊车完成评估值,计算公式为:
进一步地,所述的车辆模型表达式为:
其中,L为车辆轴距,ψ为车辆前轮角度,ψi·β=θi,β为传动比,Δt为规划周期。
与现有技术相比,本发明具有以如下有益效果:
(1)本发明结合结合模仿学习和强化学习,强化学习过程,即来自非线性规划的演示数据来获得初始化的策略神经网络,利用MCTS算法对策略神经网络进行改进,实现了自动平行泊车,生成连续的最优轨迹数据集,车辆的最优末态状态相对于停车位的位置可根据最优轨迹数据集确定,统一了泊车的入库阶段和库位内调整阶段,同时MCTS算法仅构造两层的策略树,减小了搜索时的计算量,策略神经网络大大加快了强化学习的过程,效率高,速度快;
(2)本发明为了使神经网络具备改变车辆运动方向的功能,神经网络的输出加入了车速动作,并且将横纵向动作分别离散化后组成统一的动作类型,小库位下的平行泊车运动规划的轨迹同时包含泊车入库段和库位内调整段,由于有了纵向动作的选择,规划时可直接完成库位内调整的规划,在两个阶段切换处不存在分开规划时产生的原地转向现象,并且可适应小库位以及大库位,适用范围广;
(3)本发明为了消除训练时用的车辆模型和实际车辆之间的模型误差对实际泊车精度产生的影响,加入了滑模控制步骤,消除泊车过程中y方向和航向角的误差。
附图说明
图1为平行泊车场景中的20个初始状态示意图;
图2为本发明的方法流程图;
图3为策略树的结构示意图;
图4为数据池的结构示意图;
图5为初始策略神经网络的结构示意图;
图6为通过初始策略神经网络获取的停车轨迹;
图7为通过本实施例提出的自动泊车运动规划方法获取的停车轨迹;
图8为平均奖励值关于动作寻优步骤迭代次数的曲线图;
图9为Carsim模型的停车模拟示意图;
图10为荣威E50纯电动车环绕视觉监控系统结构示意图;
图11为实验一获得的停车轨迹;
图12为实验二中初始姿势的初始方向为–4°时获得的停车轨迹;
图13为实验二中初始姿势的初始方向为4°时获得的停车轨迹。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种基于MCTS算法的自动泊车运动规划方法,如图2所示,包括:
1)获取车辆的初始状态和目标状态,目标状态根据停车位的位置获取;
2)根据初始状态和目标状态sgoal,通过MCTS算法获得最优轨迹数据集;
最优轨迹数据集表达式为:
{(si,αi)|i=0,1...n-1} (1)
其中,i为0时,s0为初始状态,i不为0时,si为车辆的第i个状态,αi为处于状态si下的车辆的当前最优动作,执行αi后车辆的状态由si变为si+1,n为最优动作数量,执行αi+1后车辆状态由si变为si+1,执行αn-1后车辆状态sn-1由变为末态状态sn;
3)以初始状态为起点,根据最优动作集控制车辆运行至最优末态状态sn,末态状态sn与目标状态sgoal满足误差条件,完成自动泊车。
如图1,本实施例以平行泊车作为研究场景,在泊车位所在平面构建直角坐标系,停车位朝向与平面坐标系X轴平行;
状态si的表达式为:
末态状态sn与目标状态sgoal满足误差条件,其中误差条件包括:
末态状态sn与目标状态sgoal的车辆后桥中点横坐标和纵坐标以及车辆的运动方向(即车辆位姿)在设定误差范围内。
动作α的表达式为:
MCTS算法包括:
构建车辆模型,车辆模型表达式为:
设定m种候选动作;
考虑到实车最大转向角速率为400°/s,规划周期Δt为50ms,设置最大加速度设置为0.3m/s2,设置Δv∈[-0.015m/s,0,0.015m/s],因此和Δv可组合成15种候选动作,即m=15;
利用“Li B,Zhang Y,Shao Z.Spatio-temporal decomposition:a knowledge-based initialization strategy for parallel parking motion optimization[J].Knowledge-Based Systems,2016,107:179-196.”提出的基于非线性规划(NLP)的自动泊车运动规划方法直接生成若干组演示数据,构成训练集,每组演示数据根据时间戳,通过线性插值处理,以{s,α}的形式进行表示,利用训练集训练人工神经网络(ANN),获得初始策略神经网络(PNN),并记为π0,策略神经网络的输入是s,输出是15种候选动作的概率分布,演示数据是根据时间戳通过线性插值处理的,因此演示数据不足以覆盖泊车期间的状态空间等问题,初始策略神经网络不足以在给定的平行泊车任务中表现良好;
以初始状态为起点,结合初始策略神经网络π0,迭代执行动作寻优步骤,从m种候选动作中逐步挑选当前最优动作,更新当前轨迹数据集;
当满足迭代中断条件时,重新构建初始策略神经网络π0,并迭代执行动作寻优步骤;
若通过当前轨迹数据集获取的末态状态sn,now与目标状态sgoal满足误差条件时,迭代结束,此时当前轨迹数据集作为最优轨迹数据集。
动作寻优步骤的第i次迭代过程包括:
对当前状态为si-1的车辆模型分别执行m种候选动作α′i-1,对应获得m个候选状态s′i;
根据候选状态s′i和目标状态sgoal,利用策略神经网络πi-1生成想象轨迹数据集;当前轨迹数据集、(si-1,α′i-1)和想象轨迹数据集构成候选轨迹数据集,总共获得m个候选轨迹数据集;
利用奖励评估函数计算每个候选轨迹数据集的奖励值R,获得最大奖励值Ri,max;
判断Ri,max是否大于上一次迭代获得的最大奖励值Ri-1,max,
若是则将判定具有最大奖励值Ri,max的候选轨迹数据集中的候选动作α′i-1记为α′i-1,best,α′i-1,best对应的候选状态s′i记为s′i,best,将(si-1,α′i-1,best)加入当前轨迹数据集,将车辆模型的当前状态更新为s′i,best,以具有最大奖励值Ri,max的候选轨迹数据集更新为当前最佳轨迹数据集,
否则根据当前最佳轨迹数据集将车辆模型的当前状态更新为si,best,并将si,best加入当前轨迹数据集。
当s′i,best和与目标状态sgoal满足误差条件时,将当前轨迹数据集存储至数据池(data pool)内,利用当前轨迹数据集训练当前的策略神经网络πi-1,获得策略神经网络πi,如图4,当20个车辆的初始位姿(initial pose)依次进行自动泊车运动规划,策略神经网络总共迭代训练20次。
s′i,best和与目标状态sgoal满足误差条件,其中误差条件包括:
s′i,best和与目标状态sgoal的车辆后桥中点横坐标和纵坐标以及车辆的运动方向、方向盘转向角和运动速度(即车辆位姿)的误差在设定误差范围内。
想象轨迹数据集的生成过程包括:
将候选状态s′i输入当前策略神经网络,获得不同候选动作的概率分布,根据概率分布,通过在线滚动探索(online rollout)算法选取一个候选动作α′i,
根据s′i和α′i获得s′i+1,重复上述步骤,直至当前末态状态s′n与目标状态sgoal满足误差条件。
在线滚动探索(online rollout)算法包括:
依次各个候选动作的累积概率值,依次获得m个累积概率值,计算公式为:
其中,Pcum(a′j,i)为前j个候选动作的累积概率值;
创建一个随机数num∈[0,1],选取第一个大于num的累积概率值所对应的候选动作。
在线滚动探索(online rollout)算法采用轮盘赌规则选择候选动作,有助于探索概率相对较低的动作,同时继续利用大概率的动作。
迭代中断条件包括:
满足以下任一条件:
迭代时间大于设定时长;
想象轨迹数据集的生成过程中车辆模型发生碰撞。
奖励评估函数的计算公式为:
R=rpose+rtime+rcollision+rsuccess (6)
其中,R为奖励值,rpose为车辆最终姿势的评估值,计算公式为:
rpose=ry+rθ (7)
ry=20000*(e-abs(y_final-y_target)/0.08) (8)
rθ=20000*(e-abs(θ_final-θ_target)/0.05) (9)
其中,y_final和y_target分别为泊车完成后车辆后桥中点的最终纵坐标以及目标纵坐标,θ_final和θ_target分别为泊车完成后车辆的最终转向角以及目标转向角;
rtime为车辆泊车时间的评估值,计算公式为:
rtime=1000-40*tfinal (10)
其中,tfinal为车辆泊车消耗的时间;
rcollision为车辆泊车的碰撞风险评估值,计算公式为:
rsuccess为车辆泊车完成评估值,计算公式为:
如图3,MCTS算法是一系列通过采用蒙特卡罗样本来寻找最佳动作的算法,以当前状态st为根节点,构建两层的策略树,策略树中的每个节点代表车辆的一种状态,连接节点的每条路径代表一种动作,第二层的节点代表通过执行相应的动作从当前状态传递si至下一状态si+1,传递函数si=f(si,αi)为车辆的运动学模型,即公式(4),策略树中第二层的节点都离根节点一步,所以称为一步(one step)MCTS,本实施例提出的MCTS算法程序如下:
每探索一个动作,对应获得一个假象轨迹数据集和一个奖励(Reward),因此时间戳t的车辆状态st下进行在线滚动探索,会获得15个假象轨迹数据集和15条奖励,其中,选择具有最大奖励rt-best的轨迹作为最佳轨迹数据集(Tt-best),并将该最佳轨迹与时间戳t之前的,具有最大奖励rbest的最佳轨迹数据集(Tbest)进行比较,如果Tt-best比Tbest好,则更新Tbest,即令Tbest=Tt-best,如果Tt-best比Tbest差,则下一时间的戳车辆状态的状态st+1跟随Tbest。
在策略神经网络的训练期间,车辆模型是理想的运动学模型,理想的运动学模型假设执行器没有延迟,并且状态转换是确定性的,然而,真实车辆配备了具有随机延迟的执行器,输出轨迹的姿态由一系列开环标称命令连接,这些命令隐含地考虑了最大转向角、最大转向速度和最大速度的约束,并且轨迹考虑了避障要求,并且是具有相关标称开环命令的运动学可行路径,通过非时间参考滑模控制器消除上述影响,具体为:
通过滑膜控制步骤求解转向角变化量修正值,控制车辆泊车时,用转向角修正量替换当前最优动作中的转向角变化量;
在倒车过程中,希望轨迹的y坐标误差ye以及转向角误差θe在某一个x(t)处较小,变量-x(t)是单调递增的,被选为参考变量,x坐标误差xe、ye以及θe的表达式为:
其中,yr(x)为参考y轴坐标,y(x)为实际y轴坐标,θr(x)为参考航向角,θ(x)为实际航向角;
通过取关于-x的导数,我们得到:
其中,ψr为参考前轮转角,L为车辆的轴距;
然后,设置状态变量x1和x2,x1和x2的表达式为:
其中,yr为参考y轴坐标;
根据公式(14)和(15)得到:
其中,A(x)和B(x)的表达式为:
滑模面设置为:
其中,slaw为趋近率,为了减少输出的颤动,趋近率的表达式为:
其中,delta、ε和k为大于0的常数。
其中,ψ′为车辆前轮角度修正值,β为传动比,ψ为车辆当前的方向盘转向角,ψr为参考车辆前轮转角,θ为当前车辆航向角,θr为参考车辆航向角,slaw为趋近率,x1为y轴坐标的误差,x2为航向角正切值误差,c1和c2为设定权重,L为车辆轴距。
当车辆向前移动时,参考变量被设置为x(t),且公式(14)转换为以下公式:
如图5所示,基于MATLAB的机器学习工具箱训练一个具有2个隐藏层的全连接神经网络,作为初始策略神经网络π0,每层隐藏层包括15个神经元,基于初始策略神经网络π0,通过一步MCTS在MATLAB中模拟平行泊车过程,结果如图6所示,表明来自模仿学习的初始策略神经网络π0不足以在20个初始姿势不足以在20个初始姿势下成功泊车。
然后进行强化学习以提高策略神经网络的能力,如图8,10次迭代后,20集的平均奖励收敛,基于改进的策略神经网络和一步MCTS的泊车结果如图7所示,说明了模仿学习和强化学习相结合的有效性。
一方面,模仿学习加速了强化学习过程,另一方面,强化学习增强了模仿学习。对于平行泊车的应用,本实施例可在短时间内(约一小时)通过10次迭代得到一个接近最优的PNN,之前的结合蒙特卡罗树搜索(MCTS)和神经网络的平行泊车方法中,没有模仿学习,训练时间约为20小时,迭代800次,本实施例提出的自动泊车运动规划方法大大缩减了训练时间。
将本实施例提出的自动泊车运动规划方法部署到实车平台之前,利用车辆模拟器CarSim进行仿真实验,以在高保真车辆模型上验证所提出的方法,Carsim模型的配置与实车相同,车辆的轮廓以八边形表示,以充分利用空间,仿真实验获得的结果路径如图9所示,车辆完成泊车后的最终姿态为(-3.8198m,-0.9067m,-0.0001°),可以看出,尽管轨迹规划器是基于运动学模型的,但该方法部署在CarSim模型上时,可以完成小车位自动平行泊车,而不会发生碰撞。
将本实施例提出的自动泊车运动规划方法部署到实车平台,进行实车实验,如图10所示,实车平台为上汽集团生产的荣威E50纯电动车,车辆搭载AVM(环绕视觉监控)系统,顶部3个激光雷达,8个车身雷达、单目前视摄像头、RTK-GPS系统和具有900MHz处理器的dSpace MicroAutobox-II(MAB-II),整个算法在MAB中执行,车辆的执行器包括一个电子动力系统(EPS)和前轮上的两个纵向驱动电机(Motors),实验中,假设泊车位已经被AVM或激光雷达检测到,泊车时车辆位置由RTK-GPS获取,最大误差在2cm以内。
表1实车平台配置表
长度 | 3.57m | 轴距 | 2.305m |
宽度 | 1.775m | 最大转向速度 | 400°/s |
最大转向角度 | 530° | 最大速度 | 1m/s |
实车实验分为实验一和实验二;
实验一包括:如图1,首先,设置20个车辆泊车的初始姿势(initial pose),车辆初始方向均为0°,真实车辆平台长度为3.57m,泊车位长度为4.57m,目标转向角设置为0°,泊车位目标泊车深度设置为0.9m,根据ISO-16787,车辆初始净侧距离为0.9-1.5m,实验中真实车辆平台的半宽为(1.551/2=0.775m),x的范围为2:0.5:3.5m,y的范围为1.25:0.25:2.25m,验证本实施例提出的自动泊车运动规划方法对实际车辆动力学的适应性,实验测试结果如表2所示:
表2 20次停车实验的测试结果
其中,Δy和Δθ分别为车辆完成停泊后的y坐标误差和转向角误差,time为车辆泊车时间,泊车结束后,Δy最大值在5cm以内,Δθ的最大值为0.23,最长泊车时间为29.5秒,20个初始姿势的平行停车路径如图11所示,可见本实施例所提出的平行泊车运动规划方法可以从20个初始姿势高精度、高效率地完成自动泊车。
实验二包括:
20个车辆泊车的初始姿势的初始方向从0°变为–4°和4°,以测试对看不见的初始泊车姿势的泛化能力,其它与实验一相同,实验结果如图12和13所示,并且最终的泊车姿势与目标y=-0.9m和目标θ=0°的误差很小。
本实施例提出了一种基于MCTS算法的自动泊车运动规划方法,结合了模仿学习和强化学习,实现了自动平行泊车,统一了泊车的入库阶段和库位内调整阶段,模仿学习大大加快了强化学习的过程,强化学习从模仿学习中获得了初始策略并强化该策略,经过训练的策略神经网络(PNN)和MCTS被打包到一个规划器中,以执行平行泊车的运动规划,由于PNN可以输出每种状态下转向角和速度增量值的概率,因此规划器可以统一规划整个泊车轨迹,包括泊车库位内调整阶段,为了部署在真实车辆上,使用一个简单的基于非时间参考的滑模控制器(SMC)来跟踪轨迹。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于MCTS算法的自动泊车运动规划方法,其特征在于,包括:
获取车辆的初始状态和目标状态,所述的目标状态根据停车位的位置获取,根据初始状态和目标状态sgoal,通过MCTS算法获得最优轨迹数据集,所述的最优轨迹数据集表达式为:
{(si,αi)|i=0,1...n-1}
其中,i为0时,s0为初始状态,i不为0时,si为车辆的第i个状态,αi为处于状态si下的车辆的当前最优动作,执行αi后车辆的状态由si变为si+1,n为最优动作数量,执行αi+1后车辆状态由si变为si+1,执行αn-1后车辆状态sn-1由变为末态状态sn;
以初始状态为起点,根据最优动作集控制车辆运行至最优末态状态sn,所述的末态状态sn与目标状态sgoal满足误差条件,完成自动泊车。
4.根据权利要求2所述的一种基于MCTS算法的自动泊车运动规划方法,其特征在于,所述的MCTS算法包括:
构建车辆模型,设定m种候选动作;
构建策略神经网络π;
以初始状态为起点,结合策略神经网络π,迭代执行动作寻优步骤,从m种候选动作中逐步挑选当前最优动作,更新当前轨迹数据集;
当满足迭代中断条件时,重新构建策略神经网络π,并迭代执行动作寻优步骤;
若通过当前轨迹数据集获取的末态状态sn,now与目标状态sgoal满足误差条件时,迭代结束,此时当前轨迹数据集作为最优轨迹数据集。
5.根据权利要求4所述的一种基于MCTS算法的自动泊车运动规划方法,其特征在于,所述的动作寻优步骤的第i次迭代过程包括:
对当前状态为si-1的车辆模型分别执行m种候选动作α′i-1,对应获得m个候选状态s′i;
根据候选状态s′i和目标状态sgoal,利用策略神经网络πi-1生成想象轨迹数据集;所述的当前轨迹数据集、(si-1,α′i-1)和想象轨迹数据集构成候选轨迹数据集,总共获得m个候选轨迹数据集;
利用奖励评估函数计算每个候选轨迹数据集的奖励值R,获得最大奖励值Ri,max;
判断Ri,max是否大于上一次迭代获得的最大奖励值Ri-1,max,
若是则将判定具有最大奖励值Ri,max的候选轨迹数据集中的候选动作α′i-1记为α′i-1,best,将(si-1,α′i-1,best)加入当前轨迹数据集,根据当前轨迹数据集将车辆模型的当前状态更新为s′i,best,以具有最大奖励值Ri,max的候选轨迹数据集更新为当前最佳轨迹数据集,
否则根据当前最佳轨迹数据集将车辆模型的当前状态更新为s′i,best,并将s′i,best加入当前轨迹数据集。
6.根据权利要求5所述的一种基于MCTS算法的自动泊车运动规划方法,其特征在于,所述的想象轨迹数据集的生成过程包括:
将候选状态s′i输入当前策略神经网络,获得不同候选动作的概率分布,根据概率分布,通过在线滚动探索算法选取一个候选动作α′i,
根据s′i和α′i获得s′i+1,重复上述步骤,直至当前末态状态s′n与目标状态sgoal满足误差条件。
8.根据权利要求6所述的一种基于MCTS算法的自动泊车运动规划方法,其特征在于,所述的迭代中断条件包括:
满足以下任一条件:
迭代时间大于设定时长;
想象轨迹数据集的生成过程中车辆模型发生碰撞。
9.根据权利要求5所述的一种基于MCTS算法的自动泊车运动规划方法,其特征在于,所述的奖励评估函数的计算公式为:
R=rpose+rtime+rcollision+rsuccess
其中,R为奖励值,rpose为车辆最终姿势的评估值,计算公式为:
rpose=ry+rθ
ry=20000*(e-abs(y_final-y_target)/0.08)
rθ=20000*(e-abs(θ_final-θ_target)/0.05)
其中,y_final和y_target分别为泊车完成后车辆后桥中点的最终纵坐标以及目标纵坐标,θ_final和θ_target分别为泊车完成后车辆的最终转向角以及目标转向角;
rtime为车辆泊车时间的评估值,计算公式为:
rtime=1000-40*tfinal
其中,tfinal为车辆泊车消耗的时间;
rcollision为车辆泊车的碰撞风险评估值,计算公式为:
rsuccess为车辆泊车完成评估值,计算公式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111118963.8A CN114906128A (zh) | 2021-09-24 | 2021-09-24 | 一种基于mcts算法的自动泊车运动规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111118963.8A CN114906128A (zh) | 2021-09-24 | 2021-09-24 | 一种基于mcts算法的自动泊车运动规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114906128A true CN114906128A (zh) | 2022-08-16 |
Family
ID=82761705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111118963.8A Pending CN114906128A (zh) | 2021-09-24 | 2021-09-24 | 一种基于mcts算法的自动泊车运动规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114906128A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116673968A (zh) * | 2023-08-03 | 2023-09-01 | 南京云创大数据科技股份有限公司 | 基于强化学习的机械臂轨迹规划要素选择方法及系统 |
CN117217422A (zh) * | 2023-11-07 | 2023-12-12 | 国汽(北京)智能网联汽车研究院有限公司 | 车辆运动控制能力评估方法及其系统、设备、介质 |
-
2021
- 2021-09-24 CN CN202111118963.8A patent/CN114906128A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116673968A (zh) * | 2023-08-03 | 2023-09-01 | 南京云创大数据科技股份有限公司 | 基于强化学习的机械臂轨迹规划要素选择方法及系统 |
CN116673968B (zh) * | 2023-08-03 | 2023-10-10 | 南京云创大数据科技股份有限公司 | 基于强化学习的机械臂轨迹规划要素选择方法及系统 |
CN117217422A (zh) * | 2023-11-07 | 2023-12-12 | 国汽(北京)智能网联汽车研究院有限公司 | 车辆运动控制能力评估方法及其系统、设备、介质 |
CN117217422B (zh) * | 2023-11-07 | 2024-03-22 | 国汽(北京)智能网联汽车研究院有限公司 | 车辆运动控制能力评估方法及其系统、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110989576B (zh) | 速差滑移转向车辆的目标跟随及动态障碍物避障控制方法 | |
CN111413966B (zh) | 一种递进式模型预测无人驾驶规划跟踪协同控制方法 | |
CN112356830B (zh) | 一种基于模型强化学习的智能泊车方法 | |
CN112389436B (zh) | 基于改进lstm神经网络的安全性自动驾驶换道轨迹规划方法 | |
Li et al. | An improved DQN path planning algorithm | |
CN114906128A (zh) | 一种基于mcts算法的自动泊车运动规划方法 | |
CN111679660B (zh) | 一种融合类人驾驶行为的无人驾驶深度强化学习方法 | |
Huang et al. | Collision-probability-aware human-machine cooperative planning for safe automated driving | |
CN110956851B (zh) | 一种智能网联汽车协同调度换道方法 | |
CN113276848A (zh) | 一种智能驾驶换道避障轨迹规划、跟踪控制方法及系统 | |
CN113581182B (zh) | 基于强化学习的自动驾驶车辆换道轨迹规划方法及系统 | |
CN110687797B (zh) | 一种基于位置和姿态的自适应mpc泊车横向控制方法 | |
CN113682312A (zh) | 一种融合深度强化学习的自主换道方法及系统 | |
CN116476825B (zh) | 一种基于安全可信强化学习的自动驾驶车道保持控制方法 | |
Moon et al. | Automatic parking controller with a twin artificial neural network architecture | |
CN114852105A (zh) | 一种自动驾驶车辆换道轨迹规划方法及系统 | |
CN113184040B (zh) | 一种基于驾驶人转向意图的无人车线控转向控制方法及系统 | |
CN117031961A (zh) | 基于模型预测控制的自动驾驶汽车交互性决策规划方法 | |
CN115214672A (zh) | 一种考虑车间交互的自动驾驶类人决策、规划与控制方法 | |
Fehér et al. | Proving ground test of a ddpg-based vehicle trajectory planner | |
Li et al. | Neural-fuzzy control of truck backer-upper system using a clustering method | |
CN115447615A (zh) | 基于车辆运动学模型预测控制的轨迹优化方法 | |
CN115016278A (zh) | 一种基于blf-srl的自动驾驶控制方法 | |
CN114839992A (zh) | 一种基于多智能体强化学习的自动驾驶协同决策方法 | |
CN114355897A (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 |