SLAM十四讲笔记进行中

ch2

主要记录cmake用法。

cd 到CMakeLists.txt所在的文件夹 
CMake
mkdir build 
cmake ..  //通过 cmake .. 命令,对上一层文件夹,也就是代码所在的文件夹进行编译
make      //当我们发布源代码时,只要把 build 文件夹删掉即可。
./helloSLAM
./useHello
CMakeLists.txt
#声明要求的cmake最低的版本
cmake_minimum_required(VERSION 2.8)
#声明一个cmake工程
project(HelloSLAM)
#添加一个可执行程序
#语法:add_executable(程序名 源代码文件)
add_executable(helloSLAM helloSLAM.cpp)
add_executable(useHello useHello.cpp)

# 静态库以.a 作为后缀名,共享库以.so
# 静态库每次被调用都会生成一个副本,而共享库则只有一个副本,
add_library(hello_shared SHARED libHelloSLAM.cpp)
target_link_libraries(useHello hello_shared) #这个可执行文件会调用什么库

ch3

3.1旋转矩阵

  1. 内积 投影 向量的反对称矩阵
    在这里插入图片描述
  2. 特殊正交群 旋转的矩阵描述了相机的旋转
    在这里插入图片描述
  3. 变换矩阵和齐次坐标
    在这里插入图片描述
  4. 特殊欧式群
    在这里插入图片描述
    在这里插入图片描述

3.3 旋转向量和欧拉角

  1. 旋转向量。旋转可以用一个旋转轴和一个旋转角来刻画。
    (1)旋转矩阵使用一个向量,方向为旋转轴,长度为旋转角。Axis-Angle。
    (2)变换矩阵,使用一个旋转向量和一个平移向量。
  2. 旋转向量到在这里插入图片描述到旋转矩阵的变换为,罗德里格斯公式
    在这里插入图片描述
  3. 旋转矩阵到旋转向量
    在这里插入图片描述
    由于旋转轴上的向量在旋转后不发生改变,转轴 n 是矩阵 R 特征值 1 对应的特征向量在这里插入图片描述
  4. 欧拉角 把一个旋转分解成三次绕不同轴的旋转
    (1)绕物体的 Z 轴旋转,得到偏航角 yaw;
    (2)绕旋转之后的 Y 轴旋转,得到俯仰角 pitch;
    (3)绕旋转之后的 X 轴旋转,得到滚转角 roll。
    (4)一般都是rpy,会有一个万向锁的问题:俯仰角为90度时。

总结:旋转矩阵和变换矩阵有冗余,欧拉角和旋转向量虽然紧凑但是有奇异性。

3.4 四元数

  1. 复平面,复平面上乘i是旋转90度,https://zhuanlan.zhihu.com/p/38100173 这里面有一个图,很直观的表示了复平面
  2. 四元数 q = q0 + q1i + q2j + q3k ,一个实部和3个虚部,ij = k
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值