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

news2025/1/14 19:51:40

目录

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}}

        这一块内容可以参考《机器人学中的状态估计》p89页,内容如下:

         最优化方法和图优化

        优化和滤波

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

30_Redis哨兵模式

在Redis主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性…

苹果手机(IOS系统)出现安全延迟进行中如何关闭?

苹果手机(IOS系统)出现安全延迟进行中如何关闭? 一、设置二、隐私与安全性三、失窃设备保护关闭 一、设置 二、隐私与安全性 三、失窃设备保护关闭

【Oracle专栏】group by 和distinct 效率

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 查阅资料: 1)有索引情况下,group by和distinct都能使用索引,效率相同。 2)无索引情况下,distinct…

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk

关于文件的关键词 创建 touch 删除 rm 复制 cp 权限 chmod 移动 mv 查看内容 cat(全部); head(前10行); tail(末尾10行); more,less,grep 查找 find 压缩 gzip ; bzip 打包 tar 编辑 sed 文本处理 awk 创建文件 格式: touch 文件名 删除文件 复制文…

day01-HTML-CSS——基础标签样式表格标签表单标签

目录 此篇为简写笔记下端1-3为之前笔记(强迫症、保证文章连续性)完整版笔记代码模仿新浪新闻首页完成审核不通过发不出去HTMLCSS1 HTML1.1 介绍1.1.1 WebStrom中基本配置 1.2 快速入门1.3 基础标签1.3.1 标题标签1.3.2 hr标签1.3.3 字体标签1.3.4 换行标…

哥大开发AI模型助力癌症和遗传病研究,近屿智能专注培养AI人才

近日,哥伦比亚大学瓦格洛斯医学院的研究团队在《自然》杂志上发表了一项重大研究成果。他们开发出一种名为“通用表达转换器”(GET)的新型AI模型,能够准确预测任何人类细胞中的基因活性,从而揭示细胞的内部工作机制。 …

9.4 visualStudio 2022 配置 cuda 和 torch (c++)

一、配置torch 1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客,作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为: 2.vs…

基于spingbott+html+Thymeleaf的24小时智能服务器监控平台设计与实现

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

MySQL社区版下载及其环境配置(msi)

MySQL官网:https://www.mysql.com/ 1、进入官网 点击Downloads 找到MySQL Community (GPL) Downloads   然后点击MySQL Installer for Windows(MySQL Community Server非向导式安装,而MySQL Installer for Windows有向导式安装&#x…

Linux-----进程通讯(消息队列)

目录 相关API 1.相关数据类型 mqd_t struct mq_attr struct timespec 2.相关系统调用接口 mq_open() mq_timedsend() && mq_send() mq_timedreceive() && mq_receive() mq_unlink() clock_gettime() 父子进程使用消息队列通讯 平行进程使用消息队列…

YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练

数据标注 前期准备 先打开Anaconda Navigator,点击Environment,再点击new(new是我下载anaconda的文件夹名称),然后点击创建 点击绿色按钮,并点击Open Terminal 输入labelimg便可打开它,labelimg是图像标注工具,在上篇…

mac homebrew配置使用

本文介绍mac上homebrew工具的安装、配置过程。homebrew功能类似于centos的yum,用于软件包的管理,使用上有命令的差异。 本次配置过程使用mac,看官方文档,在linux上也可以用,但我没试过,有兴趣的同学可以试试…

《使用 YOLOV8 和 KerasCV 进行高效目标检测》

《使用 YOLOV8 和 KerasCV 进行高效目标检测》 作者:Gitesh Chawda创建日期:2023/06/26最后修改时间:2023/06/26描述:使用 KerasCV 训练自定义 YOLOV8 对象检测模型。 (i) 此示例使用 Keras 2 在 Colab 中…

【Uniapp-Vue3】onShow和onHide钩子的对比和执行顺序

页面生命周期函数的执行顺序是onLoad>onShow>onReady,其中只有onReady中才能获取到DOM节点。 一、onShow函数 每一次的页面切入都会触发onShow函数。 import {onShow} from "dcloudio/uni-app"; onShow(()>{...}) 如果我点击“跳转页面1”再返…

GPT 系列论文精读:从 GPT-1 到 GPT-4

学习 & 参考资料 前置文章 Transformer 论文精读 机器学习 —— 李宏毅老师的 B 站搬运视频 自监督式学习(四) - GPT的野望[DLHLP 2020] 來自猎人暗黑大陆的模型 GPT-3 论文逐段精读 —— 沐神的论文精读合集 GPT,GPT-2,GPT-3 论文精读【论文精读】…

(STM32笔记)十二、DMA的基础知识与用法 第二部分

我用的是正点的STM32F103来进行学习,板子和教程是野火的指南者。 之后的这个系列笔记开头未标明的话,用的也是这个板子和教程。 DMA的基础知识与用法 二、DMA传输设置1、数据来源与数据去向外设到存储器存储器到外设存储器到存储器 2、每次传输大小3、传…

2024年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)

软考高级系统架构设计师考试包含三个科目:信息系统综合知识、系统架构设计案例分析和系统架构设计论文。考试形式为机考。本文主要回顾2024年下半年(2024-11-10)系统架构设计师考试上午综合知识科目的选择题,同时附带参考答案、解析和所涉知识点。 由于机…

AI浪潮下的IT变革之路:机遇、挑战与重塑未来

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 AI浪…

【RTSP】使用webrtc播放rtsp视频流

一、简介 rtsp流一般是监控、摄像机的实时视频流,现在的主流浏览器是不支持播放rtsp流文件的,所以需要借助其他方案来播放实时视频,下面介绍下我采用的webrtc方案,实测可行。 二、webrtc-streamer是什么? webrtc-streamer是一个使用简单机制通过 WebRTC 流式传输视频捕获…

【芯片设计- RTL 数字逻辑设计入门 9.2 -- flip flop 与 寄存器的关系详细介绍】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview硬件角度的 Flip-Flop软件角度的寄存器举例说明硬件设计角度软件开发角度D Flip-Flop 实现基本原理:Verilog 代码:UT 示例JK Flip-Flop 实现基…