视觉SLAM十四讲学习(1) ch4李群与李代数学习和程序运行

  • 一.李群与李代数

 现在对推到理解不深,这里就简要说说我的理解.常用于表示位姿变换的是旋转矩阵R和变换矩阵T.

  • 旋转矩阵R

  • 1.R是三维的正交的正交行列式为1的特殊矩阵,可称为"三维特殊正交矩阵";此外,其满足数据概念李群的"封结幺逆"性质,故本身属于一类李群.

  • 2.旋转矩阵R对应李群和李代数的数据记号分别为SO(3)和so(3),其中SO(3)是3×3矩阵,so(3)是三维向量

  • 3.记so(3)中的一个三维向量为u=(ux,uy,uz),可以表示绕xyz轴的旋转;记u的反对成矩阵为u^,是一个3×3矩阵.李群与李代数在0~360°内是一一映射的,即为SO(3)=exp(so(3)^),根据前面的参数,即为R=exp(u^);同理也有对数映射,将R=exp(u^)反过来就好.

  • 4.根据R=exp(u^),可知旋转矩阵R的导数可由旋转向量u指定,指导着如何在旋转矩阵中进行微分运算.

  • 变换矩阵T:

    T是3×3矩阵,其李群记为SE(3);对应李代数为se(3),为六维向量

  • 二.Eigen3/sophus/pangolin库安装

     库版本问题,直接用sudo apt-get instal ** 安装的不可行,参考下面第一篇博客安装Eigen3.3以上版本的如Eigen3.3.7可行.
     此外,在编译example时,由于pangolin这个库会去/usr/local/eigen3找eigen,这里本着治标的原则:输入:sudo ln -s /usr/local/include/eigen3 /usr/include/eigen3,参考第二篇.

参考链接:
https://blog.csdn.net/weixin_44684139/article/details/104803225
https://blog.csdn.net/weixin_38874698/article/details/108424705

  • 三.程序编译运行

 我把程序主要分为两个部分,一个是useSophus.cpp,另一个是example部分.
1.第一个部分文件组织如下图:
在这里插入图片描述其中CMakelists.txt改写如下:

cmake_minimum_required(VERSION 2.8)
project(useSophus)
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
# 为使用 sophus,需要使用find_package命令找到它
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})

# Eigen
include_directories("/usr/local/include/eigen3")
add_executable(useSophus src/useSophus.cpp)

命令如下:

mkdir build && cd build
camke ..
make
./useSophus

输出结果如下,是对理论的验证
在这里插入图片描述2.第二个部分文件组织如下图:

 此时可以把上面的example.zip解压缩,此时只在example文件内编译.

在这里插入图片描述
CMakelists.txt文件如下:

cmake_minimum_required(VERSION 2.8)
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
find_package(Pangolin REQUIRED)
include_directories(${Pangolin_INCLUDE_DIRS})
include_directories("/usr/local/include/eigen3")
add_executable(trajectoryError src/trajectoryError.cpp)
target_link_libraries(trajectoryError ${Pangolin_LIBRARIES})

对src/trajectoryError.cpp文件的第11,12行中的地址进行改写,实在不行可以参考下面写全局路径.

string groundtruth_file = "/home/wang/my_learning/slambook2/1111/slambook2-master/ch4/example/src/groundtruth.txt";
string estimated_file = "/home/wang/my_learning/slambook2/1111/slambook2-master/ch4/example/src/estimated.txt";

运行结果如下:
在这里插入图片描述

@meng

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值