自动驾驶算法总结

自动驾驶算法总结

  • 1.决策规划算法
    • 1.1 POMDP
    • 1.2 MPDM
  • 2.控制算法
    • 2.1 纯追踪算法
    • 2.2 Stanley算法


1.决策规划算法

1.1 POMDP

目前规划算法的难点在于我们无法准确预知未来周车的行为,尤其是在自车做出某个决策后的行为,而且周车驾驶员意图是不可观的,因此出现了基于部分可观测马尔科夫模型(Partially observable Markov decision process,简称POMDP)的决策规划算法,其核心思想是寻找在给定时域内能够最大化回报的策略,如下式所示:

π ∗ = a r g m a x ∑ t = 0 H γ t ∫ x t R ( x t ) p ( x t ) d x t   . \pi^{*} = argmax \sum_{t=0}^{H} \gamma^{t} \int_{x^{t}} R(x_{t})p(x_{t}) dx_{t}\,. π=argmaxt=0HγtxtR(xt)p(xt)dxt.

1.2 MPDM

该模型是对POMDP模型的近似与简化,主要近似点是(1)将自车决策离散化;(2)将自车与周车在某决策后的状态通过前向仿真予以确定。针对离散的决策,通过可行性检查后,模型分别求解出对应的轨迹,以如下三个量——距离终点的距离、所在车道与最大横摆角速度——作为评价指标对多个轨迹进行打分,选择分数最高的轨迹作为最终规划的结果。

但是该模型通过前向仿真预测之后的车车交互行为时采用的模型较简单,仅考虑在本车道的加减速行为,无法完全模拟之后周车驾驶员可能采用的多种行为策略。

2.控制算法

2.1 纯追踪算法

纯追踪算法非常简单,它是基于车辆运动学模型,目标是通过打前轮,让车辆能够达到预瞄距离外的路径点。
它通过计算前轮转角和车辆轴距与转弯半径的三角函数关系基于正弦定理的转弯半径与预瞄距离的关系联立,然后通过小角度假设求解出来的。
需要注意的是,纯追踪算法是基于后轮位置计算的。

2.2 Stanley算法

Stanley算法稍微复杂一点,它考虑了两点——横向误差和航向角误差,并得到这两者对应的前轮转角。
横向误差与预瞄距离通过反三角函数得到前轮转角,航向角误差本身就对应前轮转角,两者之和即为Stanley算法的前轮转角。
需要注意的是,Stanley算法是基于前轮位置计算的。

你可能感兴趣的:(自动驾驶,算法)