当前位置: 首页 > news >正文

《自动驾驶与机器人中的SLAM技术》ch2:基础数学知识

目录

2.1 几何学

        向量的内积和外积

        旋转矩阵

        旋转向量

        四元数 

         李群和李代数

        SO(3)上的 BCH 线性近似式 

 2.2 运动学

        李群视角下的运动学

        SO(3) + t 上的运动学

         线速度和加速度

        扰动模型和雅可比矩阵

         典型算例:对向量进行旋转

        典型算例:旋转的复合

2.3 滤波器和最优化理论 

        状态估计问题与最小二乘

           KF 卡尔曼滤波(线性系统)

        EKF 扩展卡尔曼 (非线性系统)

         最优化方法和图优化​编辑

        优化和滤波


2.1 几何学

        向量的内积和外积

        旋转矩阵

        旋转向量

        四元数 

        三维旋转也可以由单位四元数表示。注意:单位四元数的逆等于其共轭。即 q_{unit}^{-1}=q_{unit}^{*} 。任意的旋转都可以由两个互为相反数的四元数表示。

        旋转向量和四元数的转换关系如下:

         李群和李代数

        SO(3)上的 BCH 线性近似式 

        J_{l}(\phi) 和 J_{r}(\phi) 的括号里面只能是 \phi ,或者 log[(R)^{\vee}] ,或者 Log(R)。如果是 R 或者没有括号,表示省略。

 2.2 运动学

        李群视角下的运动学

        SO(3) + t 上的运动学

        其中 t 为平移向量。

         线速度和加速度

        注意:能被各种传感器(车速传感器,轮速计)测量到的速度是车体系速度,v_{b}

        线速度的变换式:

        加速度的变换式:

        在实际的处理中,由于测量传感器只能测量离散化的值,在精度不高的应用场景中,我们通常会选择忽略后面三项,只保留最简单的转换关系。

        扰动模型和雅可比矩阵

         典型算例:对向量进行旋转

        设扰动 \Delta R 对应的李代数为 \Delta\phi :

 \Delta R=exp[(\Delta\phi)^{\wedge}]=Exp(\Delta\phi) 

\Delta\phi=log[(\Delta R)^{\vee}]=Log(\Delta R)

       对 Exp(\Delta\phi) 进行泰勒展开并保留一阶项:

Exp(\Delta\phi)=exp[(\Delta\phi)^{\wedge}]=I+(\Delta\phi)^{\wedge}

         右扰动:

\begin{aligned} \frac{\partial Ra}{\partial R} & =\lim_{\Delta\phi\to0}\frac{RExp\left(\Delta\phi\right)a-Ra}{\Delta\phi} \\ & =\lim_{\Delta\phi\to0}\frac{R\left[I+\left(\Delta\phi\right)^{\wedge}\right]a-Ra}{\Delta\phi} \\ & =\lim_{\Delta\phi\to0}\frac{R\left(\Delta\phi\right)^{\wedge}a}{\Delta\phi} \\ & = \lim_{\Delta\phi\to0}\frac{-Ra^{\wedge}\Delta\phi}{\Delta\phi}\\ &=-Ra^{\wedge} \end{aligned}

        左扰动:

\begin{aligned} \frac{\partial Ra}{\partial R} & =\lim_{\Delta\phi\to0}\frac{Exp\left(\Delta\phi\right)Ra-Ra}{\Delta\phi} \\ & =\lim_{\Delta\phi\to0}\frac{\left[I+\left(\Delta\phi\right)^{\wedge}\right]Ra-Ra}{\Delta\phi} \\ & =\lim_{\Delta\phi\to0}\frac{\left(\Delta\phi\right)^{\wedge}Ra}{\Delta\phi} \\ & = \lim_{\Delta\phi\to0}\frac{-(Ra)^{\wedge}\Delta\phi}{\Delta\phi}\\ &=-(Ra)^{\wedge} \end{aligned} 

        典型算例:旋转的复合

        BCH 的一阶线性近似式 (视觉SLAM十四讲,p82):

\log\left(\left(R_1R_2\right)^ {\vee}\right)=\log\left(\left[exp(\phi _{1}^{\wedge})exp(\phi _{2}^{\wedge})\right]^ {\vee}\right) \approx \begin{cases} J_{l}(\phi_{2})^{-1}\phi_{1}+\phi_{2}\\ J_{r}(\phi_{1})^{-1}\phi_{2}+\phi_{1} \end{cases}

      ①  Log(R_1R_2) 对 R_1 求导,对 R_1 进行右扰动:

     \begin{aligned} \frac{\partial Log\left(R_1R_2\right)}{\partial R_1} &= \lim_{\Delta\phi\to0}\frac{Log\left(R_1\mathrm{Exp}\left(\Delta\phi\right)R_2\right) - Log\left(R_1R_2\right)}{\Delta\phi} \\ &= \lim_{\Delta\phi\to0}\frac{Log\left(R_1R_2 \mathrm{Exp}\left(R_2^\top\Delta\phi\right)\right) - Log\left(R_1R_2\right)}{\Delta\phi} \\ &= \lim_{\Delta\phi\to0}\frac{Log\left(R_1R_2\right) + J_{r}^{-1}[Log\left(R_1R_2\right)]R_2^\top \Delta\phi - Log\left(R_1R_2\right)}{\Delta\phi} \\ &= \lim_{\Delta\phi\to0}\frac{ J_{r}^{-1}[Log\left(R_1R_2\right)]R_2^\top \Delta\phi }{\Delta\phi}\\ &= J_{r}^{-1}[Log\left(R_1R_2\right)]R_2^\top \end{aligned}

         其中第 3 行的 Log(R_1 R_2 Exp(R_2^\top \Delta\phi)),根据 BCH 的一阶线性近似式得:

\phi_{1}=Log(R_1R_2)

\phi_{2}={R}_2^\top {\Delta\phi}

Log(R_1 R_2 Exp(R_2^\top \Delta\phi))=Log(R_1R_2)+J_{r}^{-1}[Log(R_1R_2)]{R}_2^\top {\Delta\phi}

        ②  Log(R_1R_2) 对 R_2 求导,对 R_1 进行右扰动:

     \begin{aligned} \frac{\partial Log\left(R_1R_2\right)}{\partial R_1} &= \lim_{\Delta\phi\to0}\frac{Log\left(R_1R_2\mathrm{Exp}\left(\Delta\phi\right)\right) - Log\left(R_1R_2\right)}{\Delta\phi} \\ &= \lim_{\Delta\phi\to0}\frac{Log\left(R_1R_2\right) + J_{r}^{-1}[Log\left(R_1R_2\right)]\Delta\phi - Log\left(R_1R_2\right)}{\Delta\phi} \\ &= \lim_{\Delta\phi\to0}\frac{ J_{r}^{-1}[Log\left(R_1R_2\right)] \Delta\phi }{\Delta\phi}\\ &= J_{r}^{-1}[Log\left(R_1R_2\right)] \end{aligned}

         其中第 2 行的 Log(R_1 R_2 Exp(R_2^\top \Delta\phi)),根据 BCH 的一阶线性近似式得:

\phi_{1}=Log(R_1R_2)

\phi_{2}={\Delta\phi}

Log(R_1 R_2 Exp(\Delta\phi))=Log(R_1R_2)+J_{r}^{-1}[Log(R_1R_2)] {\Delta\phi}

2.3 滤波器和最优化理论 

        状态估计问题与最小二乘

        注意:这里的运动噪声为 R_k ,观测噪声为 Q_k ,后续噪声的符号会变化,但表示的意义不变。

           KF 卡尔曼滤波(线性系统)

        EKF 扩展卡尔曼 (非线性系统)

        矢量函数 f(x) 在 x_k 点处进行线性化 。f(x) 在某一点 x_k 进行线性化的意思是:矢量函数 f(x) 对状态 x 的雅可比矩阵,代入状态 x_k 的具体值。

f(x)=f(x_k+\Delta x)=f(x_k)+J(x_k)\Delta x+\frac{1}{2}\Delta x^\top H(x_k)\Delta x+O(\Delta x^2)         

\mathbf{J}(x_k)=\frac{\partial f(\mathbf{x})}{\partial\mathbf{x}}|_{\mathbf{x}=x_k} 

        F_k 为运动方程在上一时刻状态 x_{k-1} 进行线性化得到的雅可比矩阵,即运动方程对状态 x 的雅可比矩阵,代入上一时刻状态 x_{k-1} 的具体值:

\mathbf{F}_k=\frac{\partial f(\mathbf{x})}{\partial\mathbf{x}}|_{\mathbf{x}=x_{k-1}}

        H_k 为观测方程在当前时刻预测状态 x_{k, pred} 进行线性化得到的雅可比矩阵,即观测方程对状态 x 的雅可比矩阵,代入当前时刻预测状态 x_{k, pred} 的具体值:

\mathbf{H}_k=\frac{\partial h(\mathbf{x})}{\partial\mathbf{x}}|_{\mathbf{x}=x_{k, pred}}

         最优化方法和图优化

        优化和滤波


http://www.mrgr.cn/news/83214.html

相关文章:

  • 【LeetCode】力扣刷题热题100道(21-25题)附源码 接雨水 合并区间 字母异位词 滑动窗口 覆盖子串(C++)
  • docker 启动 nacos 单机模式
  • (STM32笔记)十二、DMA的基础知识与用法 第三部分
  • 使用PVE快速创建虚拟机集群并搭建docker环境
  • 使用spring-ws发布webservice服务
  • 【C++多线程编程:六种锁】
  • java-方法详解
  • Springboot Bean创建流程、三种Bean注入方式(构造器注入、字段注入、setter注入)、循坏依赖问题
  • 【机器视觉】OpenCV 图像金字塔(高斯、拉普拉斯)和直方图
  • 统一门户单点登入(C#-OOS机制)
  • 04、Redis深入数据结构
  • 使用PVE快速创建虚拟机集群并搭建docker环境
  • https原理
  • 华为C语言编程规范总结
  • WinCC flexible SMART V4 SP2软件安装事项
  • C++中的表达式
  • 高性能网络模式:Reactor 和 Proactor
  • Linux标准IOday3
  • yum换源
  • Spring——自动装配
  • 【python基础——异常BUG】
  • redis:安装部署、升级以及失败回退
  • 【算法】八大排序算法
  • UI自动化测试框架playwright--初级入门
  • 音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现
  • K-means算法在无监督学习中的应用