数学建模
The state s t ∈ S \mathbf{s}_t \in \mathcal{S} st∈S: the driver observes at timestep t t t consists of the position, orientations, and velocities of itself and surrounding vehicles
The action a t ∈ A \mathbf{a}_t \in \mathcal{A} at∈A the driver takes is composed of speed and steering controls of the ego vehicle.
Assuming a discrete-time setup and a finite length L L L. a trajectory ζ = [ s 1 , a 1 , s 2 , a 2 , . . . , s L , a L ] \zeta=[\mathbf{s}_1, \mathbf{a}_1,\mathbf{s}_2, \mathbf{a}_2,...,\mathbf{s}_L, \mathbf{a}_L] ζ=[s1,a1,s2,a2,...,sL,aL] is yielded by organizing the state and action in each timestep within the decision horizon.
The trajectory includes multiple vehicles in the driving scene since we consider interactions between agents.
状态 s t \mathbf{s}_t st只是可以直接从传感器获得的物理或部分观察结果。
我们假设一个基于selected features的加权和的线性结构的reward function
在一个指定的状态 s t \mathbf{s}_t st的reward function r ( s t ) r(\mathbf{s}_t) r(st) 被定义为
r ( s t ) = θ T f ( s t ) (1) r(\mathbf{s}_t)=\theta^T\mathbf{f}(\mathbf{s}_t) \tag{1} r(st)=θTf(st)(1)
其中, θ = [ θ 1 , θ 2 , . . . , θ K ] \mathbf{\theta}=[\theta_1, \theta_2,...,\theta_K] θ=[θ1,θ2,...,θK]是 K − K- K−维的权重向量, f ( s t ) = [ f 1 ( s t ) , f 2 ( s t ) , . . . , f K ( s t ) ] \mathbf{f(\mathbf{s}_t)}=[f_1(\mathbf{s}_t), f_2(\mathbf{s}_t),...,f_K(\mathbf{s}_t)] f(st)=[f1(st),f2(st),...,fK(st)]是提取的刻画状态 s t \mathbf{s}_t st的feature vector
因此,一条轨迹 R ( ζ ) R(\zeta) R(ζ)的reward表示为:
R ( ζ ) = ∑ t r ( s t ) = θ T f ζ = θ T ∑ s t ∈ ζ f ( s t ) \R(\zeta)=\sum_{t}r(\mathbf{s}_t)=\mathbf{\theta}^T\mathbf{f}_{\zeta}=\mathbf{\theta}^T\sum_{\mathbf{s}_t\in \zeta}\mathbf{f}(\mathbf{s}_t) R(ζ)=t∑r(st)=θTfζ=θTst∈ζ∑f(st)
其中, f ζ \mathbf{f}_{\zeta} fζ表示在轨迹 ζ \zeta ζ上的accumulative features
问题定义
给定一个包含 N N N条轨迹的人类驾驶数据 D = { ζ 1 , ζ 2 , . . . , ζ N } \mathcal{D}=\{\zeta_1, \zeta_2, ..., \zeta_{N}\} D={ζ1,ζ2,...,ζN}
如何获得reward的权重 θ \mathbf{\theta} θ,使得可以生成一个匹配人类演示轨迹的driving policy
轨迹生成
对于横向 y y y坐标,我们需要指定目标位置、速度和加速度,与初始状态一起形成总共六个边界条件,这需要一个五次多项式函数。 对于纵向 x x x轴,只需要目标速度和加速度,因此四次多项式函数可以满足平滑性要求。
计算五秒的轨迹,每0.1秒作为一个时间间隔
我们可以通过在目标空间 Φ = { v x e , a x e , y e , v y e , a y e } \Phi=\{v_{xe}, a_{xe}, y_{e},v_{ye},a_{ye}\} Φ={vxe,axe,ye,vye,aye}采样目标状态从而生成多条多项式轨迹,使得其能够覆盖所有可能的行为。
环境模型
- 车辆的运动学状态根据自行车模型传播。
注:
自行车模型(Bicycle Model)的建立基于如下假设:
- 不考虑车辆在垂直方向( Z Z Z轴方向)的运动,即假设车辆的运动是一个二维平面上的运动
- 假设车辆左右侧轮胎在任意时刻都拥有相同的转向角度和转速;这样车辆的左右两个轮胎的运动可以合并为一个轮胎来描述
- 假设车辆行驶速度变化缓慢,忽略前后轴载荷的转移
- 假设车身和悬架系统都是刚性系统
- 假设车辆的运动和转向是由前轮驱动的
- 一般的想法是周围的车辆遵循数据集中的原始轨迹,否则会根据与自车或其他被影响的车辆保持安全距离的目的来做出反应。
- 基本假设是,人类是反应最好的代理人,他们可以准确地预测其他代理人对其计划行动的反应。 值得注意的是,这种设置可能会在转移函数的估计中引入一些偏差。
- 具体而言,仅考虑环境中距离本车 50 米范围内的车辆。 周围的车辆首先会按照记录的轨迹来,每个人都会不断检查自己与前方车辆之间的差距。 如果前面是自我车辆并且它们之间的间隙小于 IDM 给出的期望间隙,则环境车辆将被 IDM 覆盖,从而不再遵循其原始轨迹。 同样,如果前面的车辆是被 IDM 覆盖的环境车辆,如果它们之间的间隙太小,后面的环境车辆也会被覆盖。
Summary of the IRL Algorithm
- initialize the reward parameters randomly
- compute the feature expectation of human driving trajectories
- create a buffer to store the feature vector of all the generated trajectories to avoid sampling in the environment since the sampling process consumes most of the computation time
自然人类驾驶数据集
- 每辆车的位置以每秒 10 帧的速度记录,从而生成从该区域开始到结束的详细车辆轨迹。 然而,数据集中最初收集的车辆轨迹充满了观察噪声,因此我们使用 Savitzky-Golay 滤波器在 2 秒窗口上使用三阶多项式来平滑原始轨迹并获得用于奖励学习的演示轨迹。
特征选择
- Feature are mapping from state to real values which capture important properties of the state.
- 驾驶状态的特征从以下四个对人类驾驶员很重要的方面进行归纳:
-
Travel Efficiency: 此功能旨在反映人类尽快到达目的地的愿望,其定义为车辆的速度:
- f v ( s t ) = v ( t ) f_{v}(\mathbf{s}_t)=v(t) fv(st)=v(t)
-
Comfort:乘坐舒适度是人类驾驶员更喜欢的另一个因素,衡量舒适度的指标是纵向加速度 a x a_x ax 、横向加速度 a y a_y ay和纵向加加速度 j x j_x jx :
- 其中, x ( t ) x(t) x(t)和 y ( t ) y(t) y(t)是纵向和横向坐标
-
Risk Aversion: 人类驾驶员倾向于与周围的车辆保持安全距离,这个距离因人类驾驶员而异,这反映了他们不同程度的感知风险。 我们将前车的风险水平定义为与从本车到前车的时距相关的指数函数,假设匀速运动:
- f r i s k f ( s t ) = e − ( x f ( t ) − x e g o ( t ) v e g o ( t ) ) f_{risk_f}(\mathbf{s}_t)=e^{-(\frac{x_f(t)-x_{ego}(t)}{v_{ego}(t)})} friskf(st)=e−(vego(t)xf(t)−xego(t))
-
f
r
i
s
k
r
(
s
t
)
=
e
−
(
x
e
g
o
(
t
)
−
x
r
(
t
)
v
r
(
t
)
)
f_{risk_r}(\mathbf{s}_t)=e^{-(\frac{x_{ego}(t)-x_r(t)}{v_{r}(t)})}
friskr(st)=e−(vr(t)xego(t)−xr(t))
- 其中, x r x_r xr是自车后面的车的纵坐标, x f x_f xf是离自车最近的前面的车的纵坐标
- 请注意,在我们的环境模型中评估生成的轨迹时可能会发生碰撞,包括与其他车辆或路缘石碰撞,因此碰撞也是一个风险指标,其定义为:
-
Interaction:
- 人类驾驶行为的一个基本属性是人类意识到他们的行为对周围车辆的影响,或者更具体地说,他们的计划是否会给其他人带来额外的不便(例如,急速减速让行)[32]。 我们引入以下特征来明确表示这种影响。
- 它被定义为根据我们的环境模型(后面车辆的链式减速反应)受到本车行为影响的环境车辆的预测减速度的总和,表明本车对原路线的改变有 对他们造成直接影响。
- f I ( s t ) = ∑ i a i ( t ) , i f a i ( t ) < 0 f_{I}(\mathbf{s}_t)=\sum_{i}a_i(t), if\ a_i(t)<0 fI(st)=∑iai(t),if ai(t)<0
- where a i ( t ) a_i(t) ai(t) is the acceleration of the vehicle i i i that has been influenced by the ego vehicle.
- 在实际场景中应用奖励函数时,我们可以使用预测模块来估计此特征,该模块使用驱动模型(如 IDM)预测其他agent由于自车计划动作而采取的动作。
-
- 上述所有特征都是在每个时间步计算并随着时间的推移累积以获得轨迹的特征。 然后通过除以数据集中的最大值将轨迹特征归一化为 [0, 1],以抵消其不同单位和尺度的影响。 此外,我们为碰撞特征分配了一个固定的大负权重 (-10),因为与使该权重可学习相比,这可以提高建模精度。
实验设计
- Driving Behavior Analysis: 我们利用所提出的方法来分析不同人类驾驶员的驾驶行为。 我们首先从数据集中展示人类驾驶员的奖励学习过程作为示例,以揭示我们提出的方法的有效性。 然后,学习到的奖励函数用于确定测试条件下候选轨迹的概率并解释一些驾驶行为。
- Robustness: 我们在非训练阶段的场景中测试学习到的奖励函数,以确定学习到的策略与人类策略之间的相似性是否显着下降,以研究所提出方法的鲁棒性。
- Model Accuracy:
- 我们通过将学到的策略与地面真实的人类驾驶轨迹进行比较,展示了在测试条件下建模准确性的定量结果。
- 我们研究了个性化的建模假设,即每个人类驾驶员有不同的偏好(驾驶风格),因此对奖励函数有不同的权重。作为比较,我们采用了所有驾驶员共享一个相同的成本函数的一般建模假设。还采用了另外两个基线模型,即分别用于纵向和横向运动的IDM和MOBIL,以及恒速模型。
- **Interaction Factors:**我们分析了交互因素对建模精度的影响。它们包括奖励函数中的交互功能和在环境模型中模拟周围车辆对自我车辆路线变化的反应。
实现细节
- 为了简化,目标采样空间简化为 Φ = { v x e , y e } \Phi=\{v_{xe}, y_{e}\} Φ={vxe,ye}。只包含纵向的速度和横向的位置,其他设置为0
- 纵向速度的采样区间为: [ v − 5 , v + 5 ] m / s [v-5, v+5]m/s [v−5,v+5]m/s ,以 1 m / s 1m/s 1m/s作为间隔,其中, v v v是车辆的初始速度
- 横向位置的采样集合为 { y , y L , y R } \{y,y_L,y_R\} {y,yL,yR},其中, y y y是初始的横向位置, y L y_L yL和 y R y_R yR分别是左右车道的位置(if they are available)
- 轨迹的时间跨度是 5 s 5s 5s,并且模拟间隔为 0.1 s 0.1s 0.1s
- IDM模型的参数如下:
- desired velocity v 0 = v c u r r e n t m / s v_0=v_{current}\ m/s v0=vcurrent m/s
- maximum acceleration a m a x = 5 m / s a_{max}=5\ m/s amax=5 m/s
- desired time gap τ = 1 s \tau=1\ s τ=1 s
- comfortable braking deceleration b = 3 m / s b=3\ m/s b=3 m/s
- minimum distance s 0 = 1 m s_0=1\ m s0=1 m
- 出现的一个问题是,人类轨迹的纵向和横向抽动与生成的轨迹难以匹配,因为多项式曲线是平滑的,而人类驾驶轨迹充满了噪声运动。因此,我们在给定原始轨迹的初始状态和结束条件的情况下,将人类驾驶轨迹处理成多项式曲线来表示。
## 代码细节
1. action = (lateral_position, target_speed, 5)
参考文献
[1] Driving Behavior Modeling Using Naturalistic Human Driving Data With Inverse Reinforcement Learning (时间原因没有去找ref,这是文章名称)