【视觉SLAM十四讲】三维空间刚体运动

本文为视觉 SLAM 学习总结。第三讲讲解的是观测方程中的 x x x 是什么。

本讲内容概要

  • 三维空间的刚体运动的描述方式:旋转矩阵、变换矩阵、四元数和欧拉角
  • Eigen 库的矩阵、几何模块的使用方法

旋转矩阵

点和向量,坐标系

定义坐标系后,向量可由 R 3 R^3 R3 坐标表示:
a ⃗ = [ e 1 ⃗ , e 2 ⃗ , e 3 ⃗ ] [ a 1 a 2 a 3 ] = a 1 e 1 ⃗ + a 2 e 2 ⃗ + a 3 e 3 ⃗ \vec{a}=[\vec{e_1},\vec{e_2},\vec{e_3}] \left[ \begin{matrix} a_1 \\ a_2 \\ a_3 \\ \end{matrix} \right]=a_1\vec{e_1}+a_2\vec{e_2}+a_3\vec{e_3} a =[e1 ,e2 ,e3 ]a1a2a3=a1e1 +a2e2 +a3e3
直接用坐标进行向量间的运算。

我们对外积进行介绍,这个概念在之后的学习中会经常使用,我们可以将向量叉乘写为矩阵点乘的形式:

在这里插入图片描述

其中 a^ 表示将向量转换为矩阵的形式,为反对称矩阵,也可称为反对称符号。

坐标系间的欧式变换

SLAM 中有两个坐标系,一个是世界坐标系,通常以地面参考,另一个为机器人坐标系,会随着机器人的运动而运动。

那么坐标系之间是如何变化的?如何计算同一个向量在不同坐标系下的坐标?

在这里插入图片描述

直观来看,我们需要用旋转+平移来描述刚体运动。

  • 坐标系原点的平移
  • 三个轴的旋转。

同一向量在不同坐标系下可以被描述为以下两种不同的形式:

在这里插入图片描述

左乘 [ e 1 T e 2 T e 3 T ] \left[ \begin{matrix} e_1^T \\ e_2^T \\ e_3^T \\ \end{matrix} \right] e1Te2Te3T,得:

在这里插入图片描述

将中间的矩阵定义为 R R R,称为旋转矩阵。其性质有:正交矩阵且行列式=1;相反,满足这些性质的矩阵也可以称为旋转矩阵,也称为特殊正交群,定义如下:
S O ( n ) = { R ∈ R n × n ∣ R R T = I , d e t ( R ) = 1 } SO(n)=\{R∈R^{n×n}|RR^T=I,det(R)=1\} SO(n)={ RRn×nRRT=I,det(R)=1}
n = 3 n=3 n=3 时为 S O ( 3 ) SO(3)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值