视觉slam14讲——第4讲 李群李代数
来源:互联网 发布:cs鼠标垫推荐知乎 编辑:程序博客网 时间:2024/06/06 02:23
- 基础
- 1 李群
- 2 李代数
- 李代数求导
1 基础
1.1 李群
群是只有一种运算的集合,拥有四种性质.
- 封闭性
- 结合律
- 幺元
- 逆
比如, 特殊正交群和特殊欧氏群
李群指有连续光滑性质的群, SO(3)和SE(3)在实数空间上是连续的.
1.2 李代数
每个李群都有对应的李代数, 李代数描述了李群的局部性质.
李代数由一个集合,一和数域F, 一个二元运算 , 组成.
满足四条性质
- 封闭性
- 双线性
- 自反性
- 雅可比等价
李群SO(3)和SE(3)对应的李代数如下
李群SO(3)和SE(3)对应的李代数转换关系如下
2 李代数求导
有两种方法
- 用李代数表示姿态,然后根据李代数加法对李代数求导
- 对李群左乘或右乘微小扰动,然后对该扰动求导,称为左扰动模型和右扰动模型
使用Sophus库进行操作如下
(1) 构造李群SO(3)和SE(3)
以下三种方法都是等价的
/********************** SO3 **************************/Eigen::Matrix3d R = Eigen::AngleAxisd(M_PI/2, Eigen::Vector3d(0,0,1)).toRotationMatrix();// 沿Z轴转90度的旋转矩阵Sophus::SO3 SO3_R(R);// Sophus::SO(3)可以直接从旋转矩阵构造Sophus::SO3 SO3_v(0, 0, M_PI/2); // 亦可从旋转向量构造Eigen::Quaterniond q(R);// 或者四元数Sophus::SO3 SO3_q( q );/********************** SE3 **************************/Eigen::Vector3d t(1,0,0); // 沿X轴平移1Sophus::SE3 SE3_Rt(R, t); // 从R,t构造SE(3)Sophus::SE3 SE3_qt(q,t); // 从q,t构造SE(3)
(2)求出对应的李代数
/********************** SO3 **************************/// 使用对数映射获得它的李代数Eigen::Vector3d so3 = SO3_R.log();cout<<Sophus::SO3::hat(so3)<<endl;// hat 为向量到反对称矩阵cout<<Sophus::SO3::vee(Sophus::SO3::hat(so3));// 相对的,vee为反对称到向量/********************** SE3 **************************/// 李代数se(3) 是一个六维向量,方便起见先typedef一下typedef Eigen::Matrix<double,6,1> Vector6d;Vector6d se3 = SE3_Rt.log();// 在Sophus中,se(3)的平移在前,旋转在后.cout<<Sophus::SE3::hat(se3)<<endl;cout<<Sophus::SE3::vee( Sophus::SE3::hat(se3) )<<endl;
(3)增量扰动模型的更新
/********************** SO3 **************************/Eigen::Vector3d update_so3(1e-4, 0, 0); //假设更新量为这么多Sophus::SO3 SO3_updated = Sophus::SO3::exp(update_so3)*SO3_R;/********************** SE3 **************************/Vector6d update_se3; //更新量update_se3.setZero();update_se3(0,0) = 1e-4d;Sophus::SE3 SE3_updated = Sophus::SE3::exp(update_se3)*SE3_Rt;
阅读全文
0 0
- 视觉slam14讲——第4讲 李群李代数
- 视觉slam14讲——第2讲 初识SLAM
- 视觉slam14讲——第9讲 设计前端
- 视觉slam14讲——第10讲后端1
- 视觉slam14讲——第11讲后端2
- 视觉slam14讲——习题部分
- 视觉slam14讲——第7讲 视觉里程计1
- 视觉slam14讲——第8讲 视觉里程计2
- 半闲居士视觉SLAM十四讲笔记(4)李群与李代数
- 半闲居士视觉SLAM十四讲笔记(4)李群与李代数
- 半闲居士视觉SLAM十四讲笔记(4)李群与李代数
- 视觉slam14讲——第5讲 相机与图像
- 视觉slam14讲——第3讲 三维空间刚体运动
- 第四讲 李群与李代数
- 视觉SLAM14讲学习笔记
- 在计算机视觉中的李群、李代数
- 视觉SLAM中的李群&李代数基础
- 计算机视觉中的李代数与李群
- H264码流中SPS PPS详解
- JavaScript中引用类型,基本包装类型,基本类型的辨析
- chapter24 安全性
- VSCODE 配置C++运行环境
- QML 学习摘录 05
- 视觉slam14讲——第4讲 李群李代数
- 附录 Netty参数配置表
- Python Numpy 入门
- 关于C#中Lambda和'函数指针'的简单认识
- git 配置SSH error: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
- Linux 习题5
- 完美解法的两道题
- Linux 4.3 特性汇总
- 爬取当当网图书图片