李群李代数及其slam应用_豆皮卷香菜的博客-程序员宅基地

技术标签: slam  人工智能  

参考文献

【1】slam十四讲
【2】barfoot state estimation这本书
【3】Quaternion kinematics for the error-state Kalman filter
【4】预积分北航博士讲解

slam十四讲内容概括

看了slam十四讲课程,总结一下。
(1)描述空间旋转的方法:旋转矩阵,旋转向量,欧拉角,四元数等
(2)当我们进行估计或优化时,面对的是一个关于空间旋转的目标函数,我们需要求导数。所以需要一种比较好的表达
(3)比如采用旋转矩阵作为自变量,引入到优化目标函数中。旋转矩阵自带一些约束(正交且行列式为1),此时优化问题不太好求解
(4)因此可以考虑在李代数上进行无约束优化
在这里插入图片描述
(1)主要讲李群李代数的对应关系,以及对应的求导
(2)特殊正交群SO(3),特殊欧式群SE(3)

在这里插入图片描述

(1)什么是群
在这里插入图片描述
在这里插入图片描述
(1)李群和群的关系
(2)SO(3)和SE(3)的问题是:只有良好定义的乘法,没有良好定义的加法,所以难以进行取极限求导等操作。因为根据导数的定义,需要进行加法。而旋转矩阵无法进行加法,只能进行乘法。
但是在后面位姿估计中,一定会用到求导和加法的问题,所以要想办法替代
在这里插入图片描述
(1)一种李群对应着一种李代数:旋转矩阵群对应一种旋转李代数,变换矩阵对应一种李代数。
(2)李代数位于向量空间,是李群单位圆处的正切空间。
在这里插入图片描述

(1)对上一页公式对时间求导

在这里插入图片描述
(1)引入反对称符号
在这里插入图片描述
(1)通过上面的求导,解微分方程,建立李群和李代数之间的指数映射关系
在这里插入图片描述
(1)这个就算找到了旋转矩阵和向量的关系
在这里插入图片描述

(1)李代数的一种定义
在这里插入图片描述
(1)单独讲一下李括号,三维空间向量+叉积构成李代数
在这里插入图片描述
(1)变换群同样可以定义出对应李代数se(3)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(1)泰勒展开化简
在这里插入图片描述
(1)也就是说李代数的意义:就是旋转向量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(1)有了李代数,相当于有了求导途径
在这里插入图片描述

(1)关键问题,在矩阵指数上,是否成立,但是对于矩阵来说,就不成立了
在这里插入图片描述
(1)尽管不成立,但也有相应的表达形式。
在这里插入图片描述
(1)下面公式的意思是:当在一个旋转轴角向量上直接增加一个小量,并不等于旋转矩阵的相乘
(2)在小量上乘以一个雅阁比,然后再与旋转轴角向量相加,就可以近似得到旋转向量相乘的概念。
在这里插入图片描述
在这里插入图片描述
(1)举了一个例子,我们去旋转一个点,现在求,旋转后的点,关于旋转的偏导数。这个例子牛逼,其实在legoloam中,定义点到线,点到面的距离,是不是也可以这么求。重点
(2)注意,这里导数模型和扰动模型
在这里插入图片描述
(1)这里的推导厉害:;导数模型
在这里插入图片描述
(1)扰动模型:看起来更加简洁一些,相差了一个雅阁比矩阵
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/l898985121/article/details/114963565

智能推荐

asp.net 打印02-guoyz_1【http://blog.csdn.net/guoyz_1 】_shinlgienls的博客-程序员宅基地

<!-- th { font-family: Arial; color: black; background-color: lightgrey; } thead { display: table-heade

(2021.11.25自编自测)想和python爬虫谈恋爱?打打基础的你适合看下这个利用爬虫爬取歌曲_刘帅0952的博客-程序员宅基地

(2021.11.25自编自测)想和python爬虫谈恋爱,你懂多少,打打基础的你适合看下这个利用爬虫爬取歌曲并进行下载python是一门比较容易入手的编程,小编已经用它的在领导面前得瑟了好多吧了,坚持和努力才是成功的基石小编做这个的时候也是遇见了好多的麻烦事,比如小编第一次尝试requests进行请求来接的时候,页面就被拦截了,看样子,这个网站采用了百度云加速的服务,但是百变不离其中,小编也是一点一点慢慢的折磨了下来这个比较适合python爬虫初学者看看,来增加一下学习爬虫的兴趣,相信我这是个不错

手把手教你 win10 安装Paddlepaddle-GPU_AI小鸭学院的博客-程序员宅基地

Q&amp;A(太长不看版本) Q: 出现 ImportError: Could not find 'cudnn64_7.dll' A: 可能是与cuda对应的cudnn没有安装 或者是 没有正确配置cudnn,可以查看本项目的第3部分 Q: 我明明安装了cudnn, 却仍然出现 ImportError: Could not find 'cudnn64_7.dll' A: 重启一下电脑就好了,因为windows环境变量的设置一般都需要重启 或者是 没有正确配置cudnn,可以查看本项目的第

Linux命令— cp 复制、 mv 移动/重命名、 rm 删除_guazikong的博客-程序员宅基地_linux cp 重命名

 Linux命令— cp 复制、   mv 移动/重命名、   rm 删除  cp  复制 拷贝        复制、拷贝    copy      cp 文件名 路径       cp  bj.txt  ./java/jee:把当前目录的bj.txt拷贝到当前目的java文件夹里的jee文件夹里      cp 文件名 文件名   cp dd.txt  ee.txt ...

Gradle发布构件(Jar)到Maven中央仓库_weixin_34248487的博客-程序员宅基地

OSSRH在开始之前,先对OSSRH做下了解是很必要的,因为一开始,我并不知道这是个啥玩儿意。我想和我一样的人应该还是有很多的。OSSRH:Sonatype Open Source Software Repository Hosting Service,为开源软件提供maven仓库托管服务。你可以在上面部署snapshot、release等,最后你可以申请把你的release同步到Mave...

随便推点

python分解质因数例题_python分解质因数_weixin_39587164的博客-程序员宅基地

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。# !/usr/bin/env python# -*- coding:utf-8 -*-# Author:Hiuhung Wannum = input("请输入一个合数:")if num.isdigit():num = int(num)else:print("输入非法,请输入一个合数")exit()if num &lt; 2:pr...

新手写自定义分页控件_dhka8040652的博客-程序员宅基地

本人初次写自定义控件. 下面是一个自定义分页控件,用户可以通过传入记录总数和每页显示的记录数来实现分页导航.usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Text;usingSystem.Web;usin...

Linux_strace_追踪进程使用到的系统调用__虚竹的博客-程序员宅基地

前言strace是个功能强大的Linux调试分析诊断工具,可用于跟踪程序执行时进程系统调用(system call)和所接收的信号,尤其是针对源码不可读或源码无法再编译的程序。在Linux系统中,用户进程不能直接访问计算机硬件设备。当进程需要访问硬件设备(如读取磁盘文件或接收网络数据等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可跟踪进程产生的系统调用,包括参数、返回值和执行所消耗的时间。若strace没有任何输出,并不代表此时进程发生阻塞;也可能程序进...

Netty——基本使用介绍_郭龙_Jack的博客-程序员宅基地

http://blog.csdn.net/haoyuyang/article/details/532437851.为什么选择Netty上一篇文章我们已经了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。其实上一篇文章中,我们学习的仅仅是一个模型,如果想把这些真正的用于实际工作中,那么还需要不断的完善、扩展和优化。比如经典的TCP读包写包问题

推荐文章

热门文章

相关标签