SLAM 几何基础

本文概述了SLAM中的向量运算,包括内积的定义、几何意义及微分性质,外积的概念、面积表示和微分特性,以及线面特征如点到直线和平面的距离计算。同时介绍了IMU中线速度和角速度的关系。深入理解这些概念有助于定位与导航系统的实现。
摘要由CSDN通过智能技术生成


Reference:

  1. 深蓝学院-多传感器融合

1. 向量运算及其几何意义

1.1 内积

1.1.1 内积定义

内积,又叫数量积,是向量的点乘。
a = ( x 1 , y 1 , z 1 ) , b = ( x 2 , y 2 , z 2 ) a ⋅ b = x 1 x 2 + y 1 y 2 + z 1 z 2 \mathbf{a}=(x_1, y_1, z_1),\quad \mathbf{b}=(x_2, y_2, z_2) \\ \mathbf{a} \cdot\mathbf{b} = x_1x_2+y_1y_2+z_1z_2 a=(x1,y1,z1),b=(x2,y2,z2)ab=x1x2+y1y2+z1z2

1.1.2 内积几何意义

b \mathbf{b} b 为单位向量时,内积就是 a \mathbf{a} a b \mathbf{b} b 上的投影分量。
a ⋅ b = ∣ a ∣ ∣ b ∣ c o s θ \mathbf{a} \cdot\mathbf{b} = |\mathbf{a}| |\mathbf{b}|cos\theta ab=a∣∣bcosθ在这里插入图片描述

1.1.3 内积微分性质

从内积的定义出发,有:
∂ a ∙ b ∂ a = b \frac{\partial \boldsymbol{a} \bullet \boldsymbol{b}}{\partial \boldsymbol{a}}=\boldsymbol{b} aab=b证明:
∂ a ∙ b ∂ x 1 = ∂ ( x 1 x 2 + y 1 y 2 + z 1 z 2 ) ∂ x 1 = x 2 ∂ a ∙ b ∂ y 1 = ∂ ( x 1 x 2 + y 1 y 2 + z 1 z 2 ) ∂ y 1 = y 2 ∂ a ∙ b ∂ z 1 = ∂ ( x 1 x 2 + y 1 y 2 + z 1 z 2 ) ∂ z 1 = z 2 \begin{aligned} & \frac{\partial \boldsymbol{a} \bullet \boldsymbol{b}}{\partial x_1}=\frac{\partial\left(x_1 x_2+y_1 y_2+z_1 z_2\right)}{\partial x_1}=x_2 \\ & \frac{\partial \boldsymbol{a} \bullet \boldsymbol{b}}{\partial y_1}=\frac{\partial\left(x_1 x_2+y_1 y_2+z_1 z_2\right)}{\partial y_1}=y_2 \\ & \frac{\partial \boldsymbol{a} \bullet \boldsymbol{b}}{\partial z_1}=\frac{\partial\left(x_1 x_2+y_1 y_2+z_1 z_2\right)}{\partial z_1}=z_2 \end{aligned} x1ab=x1(x1x2+y1y2+z1z2)=x2y1ab=y1(x1x2+y1y2+z1z2)=y2z1ab=z1(x1x2+y1y2+z1z2)=z2

1.2 外积

1.2.1 外积定义

外积,又叫叉积、向量积,是向量的叉乘。
a = ( x 1 , y 1 , z 1 ) b = ( x 2 , y 2 , z 2 ) a × b = ∣ i j k x 1 y 1 z 1 x 2 y 2 z 2 ∣ = ( y 1 z 2 − y 2 z 1 ) i − ( x 1 z 2 − x 2 z 1 ) j + ( x 1 y 2 − x 2 y 1 ) k \begin{aligned} &\boldsymbol{a}= \left(x_1, y_1, z_1\right) \\ &\boldsymbol{b}= \left(x_2, y_2, z_2\right) \\ & \boldsymbol{a} \times \boldsymbol{b} = \left|\begin{array}{ccc} \mathrm{i} & \mathrm{j} & \mathrm{k} \\ x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \end{array}\right| = \left(y_1 z_2-y_2 z_1\right) i -\left(x_1 z_2-x_2 z_1\right) j +\left(x_1 y_2-x_2 y_1\right) k \end{aligned} a=(x1,y1,z1)b=(x2,y2,z2)a×b= ix1x2jy1y2kz1z2 =(y1z2y2z1)i(x1z2x2z1)j+(x1y2x2y1)k

1.2.2 外积几何意义

外积模长等于 a \mathbf{a} a b \mathbf{b} b 组成的平行四边形的面积,外积的方向满足右手定则, a \mathbf{a} a b \mathbf{b} b 张成平面的单位法向量为: n = a × b ∣ a × b ∣ \mathbf{n}=\frac{\mathbf{a} \times \mathbf{b}}{|\mathbf{a} \times \mathbf{b} |} n=a×ba×b
∣ a × b ∣ = ∣ a ∣ ∣ b ∣ s i n θ |\mathbf{a} \times \mathbf{b}| = |\mathbf{a}| |\mathbf{b}|sin\theta a×b=a∣∣bsinθ在这里插入图片描述

1.2.3 外积微分性质

根据外积的定义,有:
a × b = a ∧ b \boldsymbol{a} \times \boldsymbol{b}=\boldsymbol{a}^{\wedge} \boldsymbol{b} a×b=ab其中 a ∧ a^{\wedge} a a a a反对称矩阵
a ∧ = [ 0 − z 1 y 1 z 1 0 − x 1 − y 1 x 1 0 ] \boldsymbol{a}^{\wedge}=\left[\begin{array}{ccc} 0 & -z_1 & y_1 \\ z_1 & 0 & -x_1 \\ -y_1 & x_1 & 0 \end{array}\right] a= 0z1y1z10x1y1x10 则:
a ∧ b = − b ∧ a ∂ a ∧ b ∂ a = − b ∧ ∂ a ∂ a = − b ∧ \begin{aligned} \boldsymbol{a}^{\wedge} \boldsymbol{b} & =-\boldsymbol{b}^{\wedge} \boldsymbol{a} \\ \frac{\partial \boldsymbol{a}^{\wedge} b}{\partial a} & =-\frac{b^{\wedge} \partial a}{\partial a}=-\boldsymbol{b}^{\wedge} \end{aligned} abaab=ba=aba=b

2. 线面特征运算

2.1 点到直线距离

A A A 到直线 B C BC BC 的距离为: ∣ A D → ∣ = ∣ A B → × A C → ∣ ∣ B C → ∣ |\overrightarrow{A D}|=\frac{|\overrightarrow{A B} \times \overrightarrow{A C}|}{|\overrightarrow{B C}|} AD =BC AB ×AC ,即平行四边形面积除以对角线长度。
在这里插入图片描述

2.2 点到平面距离

平面 B C D B C D BCD 的单位法向量为 n = B C → × B D → ∣ B C → × B D → ∣ \boldsymbol{n}=\frac{\overrightarrow{B C} \times \overrightarrow{B D}}{|\overrightarrow{B C} \times \overrightarrow{B D}|} n=BC ×BD BC ×BD A A A 到平面 B C D B C D BCD 的距离为:
∣ A E → ∣ = ∣ A B → ∣ cos ⁡ θ = A B → ∙ n |\overrightarrow{A E}|=|\overrightarrow{A B}| \cos \theta=\overrightarrow{A B} \bullet \boldsymbol{n} AE =AB cosθ=AB n(即先计算单位向量给出方向,再使用点乘计算距离)
在这里插入图片描述

3. IMU相关

3.1 线速度与角速度

在这里插入图片描述
粒子在坐标系中 z = h z=h z=h 的平面做圆周运动,坐标为: r = ( a cos ⁡ θ , a sin ⁡ θ , h ) ⊤ \mathbf{r}=(a \cos \theta, a \sin \theta, h)^{\top} r=(acosθ,asinθ,h) 对坐标求导得:
r ˙ = ( − a θ ˙ sin ⁡ θ , a θ ˙ cos ⁡ θ , 0 ) ⊤ = [ 0 − θ ˙ 0 θ ˙ 0 0 0 0 0 ] [ a cos ⁡ θ a sin ⁡ θ h ] = ω × r = [ ω ] x r \begin{aligned} \dot{\mathbf{r}} & =(-a \dot{\theta} \sin \theta, a \dot{\theta} \cos \theta, 0)^{\top} \\ & =\left[\begin{array}{ccc} 0 & -\dot{\theta} & 0 \\ \dot{\theta} & 0 & 0 \\ 0 & 0 & 0 \end{array}\right]\left[\begin{array}{c} a \cos \theta \\ a \sin \theta \\ h \end{array}\right] \\ & =\boldsymbol{\omega} \times \mathbf{r}=[\boldsymbol{\omega}]_\mathbf{x}\mathbf{r} \end{aligned} r˙=(aθ˙sinθ,aθ˙cosθ,0)= 0θ˙0θ˙00000 acosθasinθh =ω×r=[ω]xr其中 ω = θ ˙ z \omega=\dot{\theta} \mathbf{z} ω=θ˙z ∣ θ ˙ ∣ |\dot{\theta}| θ˙ 是角速度大小。对上面两边取模得:
∣ r ˙ ∣ = ∣ ω ∣ ∣ r ∣ sin ⁡ ϕ = a ∣ θ ˙ ∣ |\dot{\mathbf{r}}|=|\boldsymbol{\omega}||\mathbf{r}| \sin \phi=a|\dot{\theta}| r˙=ω∣∣rsinϕ=aθ˙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值