1.运动和测量模型
1.1汽车运动模型
xk=xk−1+T[cosθk−10sinθk−1001]([vkωk]+wk),wk=N(0,Q)\mathbf{x}_{k}=\mathbf{x}_{k-1}+T\left[\begin{array}{cc} \cos \theta_{k-1} & 0 \\ \sin \theta_{k-1} & 0 \\ 0 & 1 \end{array}\right]\left(\left[\begin{array}{c} v_{k} \\ \omega_{k} \end{array}\right]+\mathbf{w}_{k}\right), \quad \mathbf{w}_{k}=\mathcal{N}(\mathbf{0}, \mathbf{Q})xk=xk−1+T⎣⎡cosθk−1sinθk−10001⎦⎤([vkωk]+wk),wk=N(0,Q)
其中,xk=[x,y,θ]T\mathbf{x}_{k}=[x , y, \theta]^{T}xk=[x,y,θ]T是目前汽车的2D位姿。vkv_{k}vk和wkw_{k}wk是速度和角速度里程计的度数。
1.2 观测模型
观测模型按照如下公式将LIDAR测量的距离和方位ykl=[r,ϕ]T\mathbf{y}_{k}^{l}=[r, \phi]^{T}ykl=[r,ϕ]T与汽车的位姿结合起来。
ykl=[(xl−xk−dcosθk)2+(yl−yk−dsinθk)2atan2(yl−yk−dsinθk,xl−xk−dcosθk)−θk]+nkl,nkl=N(0,R)\mathbf{y}_{k}^{l}=\left[\begin{array}{c} \sqrt{\left(x_{l}-x_{k}-d \cos \theta_{k}\right)^{2}+\left(y_{l}-y_{k}-d \sin \theta_{k}\right)^{2}} \\ \operatorname{atan} 2\left(y_{l}-y_{k}-d \sin \theta_{k}, x_{l}-x_{k}-d \cos \theta_{k}\right)-\theta_{k} \end{array}\right]+\mathbf{n}_{k}^{l}, \quad \mathbf{n}_{k}^{l}=\mathcal{N}(\mathbf{0}, \mathbf{R})ykl=[(xl−xk−dcosθk)2+(yl−yk−dsinθk

本文详细介绍了扩展卡尔曼滤波(EKF)在自动驾驶车辆定位中的应用,包括汽车运动模型、观测模型及滤波方程。通过python编程实现EKF,并分享了编程中常见错误及解决方法。
最低0.47元/天 解锁文章
723

被折叠的 条评论
为什么被折叠?



