目录

文章目录

  • 目录
  • 第1讲 引言
  • 第2讲 初识SLAM
  • 第3讲 三维空间刚体运动
    • 旋转矩阵
      • 点,向量和坐标系
      • 坐标系间的欧式变换
      • 变换矩阵与齐次坐标
      • 齐次坐标(Homogeneous Coordinate)的优势
    • 旋转向量和欧拉角
      • 旋转向量
      • 欧拉角
    • 四元数
      • 四元数定义
      • 用单位四元数表示旋转

第1讲 引言

SLAM是Simultaneous Localization and Mapping的缩写,中文译作同时定位与地图构建。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动

习题答案汇总:链接

第2讲 初识SLAM

自主运动两大基本问题:我在什么地方?(定位)周围什么样子?(建图)

How to SLAM?——Sensors

两类传感器:

  • 安装于环境中的:二维码,GPS,导轨、磁条
  • 携带于机器人本体上:IMU,激光,相机

相机分类:

  • 单目 Monocular,没有深度,必须通过移动相机产生深度moving view stereo
  • 双目 Stereo,通过视差计算深度
  • 深度 RGBD,通过物理方法测量深度
  • 其他 鱼眼 全景 Event Camera,etc

整体视觉SLAM流程图如下:

  • 前端:Visual Odometry
  • 后端:optimization
  • 回环检测 Loop Closing
  • 建图 Mapping

视觉里程计VO:又称为前端

  • 相邻图像估计相机运动
  • 通过两张图像计算运动和结构
  • 不可避免地有漂移

后端优化:
-从带有噪声的数据中优化轨迹和地图

  • 最大后验概率MAP
  • 前期EKF为代表,现在图优化为代表

回环检测:

  • 检测机器人是否回到早先位置
  • 识别到达过的场景
  • 计算图像间相似性

建图:

  • 用于导航、规划、通讯、可视化、交互等
  • 度量地图VS拓扑地图
  • 稀疏地图VS稠密地图

SLAM问题的数学表述:

小萝卜携带着传感器在环境中运动”,由如下两件事情描述:
1.什么是运动 ?我们要考虑从k−1k-1k−1时刻到kkk时刻,小萝卜的位置xxx是如何变化的。
运动方程:
xk=f(xk−1,uk,wk)x_k = f(x_{k-1},u_k,w_k) xk​=f(xk−1​,uk​,wk​)

  • xkx_kxk​,xk−1x_{k-1}xk−1​ 表示小萝卜在kkk和k−1k−1k−1 时刻的位置
  • uku_kuk​表示运动传感器的读数(有时也叫输入)
  • wkw_kwk​表示噪声

2.什么是观测 ?假设小萝卜在k时刻于xkx_kxk​处探测到了某一个路标yjy_jyj​,我们要考虑这件事情是如何用数学语言来描述的。
zk,j=h(yj,xk,vk,j)z_{k,j} = h(y_j,x_k,v_{k,j}) zk,j​=h(yj​,xk​,vk,j​)

  • zk,jz_{k,j}zk,j​​表示小萝卜在xkx_kxk​位置上看到路标点yjy_jyj​产生的观测数据
  • yjy_jyj​​表示第jjj个路标点
  • vk,jv_{k, j}vk,j​表示噪声

这两个方程描述了最基本的SLAM问题:当知道运动测量的读数uuu,以及传感器的读数zzz时,如何求解定位问题(估计xxx)和建图问题(估计yyy)?这时,我们就把SLAM问题建模成了一个状态估计问题:如何通过带有噪声的测量数据,估计内部的、隐藏着的状态变量?

第3讲 三维空间刚体运动

旋转矩阵

点,向量和坐标系

  1. 向量α\alphaα在线性空间的基[e1,e2,e3][e_{1},e_{2},e_{3}][e1​,e2​,e3​]下的坐标为[α1,α2,α3]⊤[\alpha_{1},\alpha_{2},\alpha_{3}]^\top[α1​,α2​,α3​]⊤

  2. 向量的内积: 描述向量间的投影关系
    a⋅b=aTb=∑i=13aibi=∣a∣∣b∣cos⁡⟨a,b⟩a \cdot b=a^{T} b=\sum_{i=1}^{3} a_{i} b_{i}=|a||b| \cos \langle a, b\rangle a⋅b=aTb=i=1∑3​ai​bi​=∣a∣∣b∣cos⟨a,b⟩

  3. 向量的外积: 描述向量的旋转
    a×b=[ijka1a2a3b1b2b3]=[a2b3−a3b2a3b1−a1b3a1b2−a2b1]=[0−a3a2a30−a1−a2a10]b≜a∧ba \times b=\left[\begin{array}{ccc} i & j & k \\ a_{1} & a_{2} & a_{3} \\ b_{1} & b_{2} & b_{3} \end{array}\right]=\left[\begin{array}{c} a_{2} b_{3}-a_{3} b_{2} \\ a_{3} b_{1}-a_{1} b_{3} \\ a_{1} b_{2}-a_{2} b_{1} \end{array}\right]=\left[\begin{array}{ccc} 0 & -a_{3} & a_{2} \\ a_{3} & 0 & -a_{1} \\ -a_{2} & a_{1} & 0 \end{array}\right] b \triangleq a^{\wedge} b a×b=⎣⎡​ia1​b1​​ja2​b2​​ka3​b3​​⎦⎤​=⎣⎡​a2​b3​−a3​b2​a3​b1​−a1​b3​a1​b2​−a2​b1​​⎦⎤​=⎣⎡​0a3​−a2​​−a3​0a1​​a2​−a1​0​⎦⎤​b≜a∧b

其中 a∧a^{\wedge}a∧ 表示 aaa 的反对称矩阵
a∧=[0−a3a2a30−a1−a2a10]a^{\wedge}=\left[\begin{array}{ccc} 0 & -a_{3} & a_{2} \\ a_{3} & 0 & -a_{1} \\ -a_{2} & a_{1} & 0 \end{array}\right] a∧=⎣⎡​0a3​−a2​​−a3​0a1​​a2​−a1​0​⎦⎤​

坐标系间的欧式变换

  1. 欧式变换:在欧式变换前后的两个坐标系下,同一个向量的模长和方向不发生改变,是为欧式变换.一个欧式变换由一个旋转和一个平移组成。
  2. 旋转矩阵RRR
  • 旋转矩阵 RRR 的推导:
    设单位正交基 [e1,e2,e3]\left[e_{1}, e_{2}, e_{3}\right][e1​,e2​,e3​] 经过一次旋转变成了 [e1′,e2′,e3′]\left[e_{1}^{\prime}, e_{2}^{\prime}, e_{3}^{\prime}\right][e1′​,e2′​,e3′​], 对于同一个向量 aaa, 在两个坐标系下的坐标分别为 [a1,a2,a3]T\left[a_{1}, a_{2}, a_{3}\right]^{T}[a1​,a2​,a3​]T 和 [a1′,a2′,a3′]T\left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T}[a1′​,a2′​,a3′​]T. 根据坐标的定义:
    [e1,e2,e3][a1a2a3]=[e1′,e2′,e3′][a1′a2′a3′]\left[e_{1}, e_{2}, e_{3}\right]\left[\begin{array}{l} a_{1} \\ a_{2} \\ a_{3} \end{array}\right]=\left[e_{1}^{\prime}, e_{2}^{\prime}, e_{3}^{\prime}\right]\left[\begin{array}{l} a_{1}^{\prime} \\ a_{2}^{\prime} \\ a_{3}^{\prime} \end{array}\right] [e1​,e2​,e3​]⎣⎡​a1​a2​a3​​⎦⎤​=[e1′​,e2′​,e3′​]⎣⎡​a1′​a2′​a3′​​⎦⎤​
    等式左右两边同时左乘 [e1T,e2T,e3T]T\left[e_{1}^{T}, e_{2}^{T}, e_{3}^{T}\right]^{T}[e1T​,e2T​,e3T​]T, 得到
    [a1a2a3]=[e1Te1′e1Te2′e1Te3′e2Te1′e2Te2′e2Te3′e3Te1′e3Te2′e3Te3′][a1′a2′a3′]≜Ra′\left[\begin{array}{l} a_{1} \\ a_{2} \\ a_{3} \end{array}\right]=\left[\begin{array}{ccc} e_{1}^{T} e_{1}^{\prime} & e_{1}^{T} e_{2}^{\prime} & e_{1}^{T} e_{3}^{\prime} \\ e_{2}^{T} e_{1}^{\prime} & e_{2}^{T} e_{2}^{\prime} & e_{2}^{T} e_{3}^{\prime} \\ e_{3}^{T} e_{1}^{\prime} & e_{3}^{T} e_{2}^{\prime} & e_{3}^{T} e_{3}^{\prime} \end{array}\right]\left[\begin{array}{c} a_{1}^{\prime} \\ a_{2}^{\prime} \\ a_{3}^{\prime} \end{array}\right] \triangleq R a^{\prime} ⎣⎡​a1​a2​a3​​⎦⎤​=⎣⎡​e1T​e1′​e2T​e1′​e3T​e1′​​e1T​e2′​e2T​e2′​e3T​e2′​​e1T​e3′​e2T​e3′​e3T​e3′​​⎦⎤​⎣⎡​a1′​a2′​a3′​​⎦⎤​≜Ra′
    矩阵 RRR 描述了旋转称为旋转矩阵。

  • 旋转矩阵RRR的性质

    • 旋转矩阵是行列式为1的正交矩阵,任何行列式为1的正交矩阵也是一个旋转矩阵。所有旋转矩阵构成特殊正交群SOSOSO
      SO(n)={R∈Rn×n∣RRT=I,det⁡(R)=1}S O(n)=\left\{R \in \mathbb{R}^{n \times n} \mid R R^{T}=I, \operatorname{det}(R)=1\right\} SO(n)={R∈Rn×n∣RRT=I,det(R)=1}

    • 旋转矩阵是正交矩阵(其转置等于其逆), 旋转矩阵的逆 R−1R^{-1}R−1 (即转置 RTR^{T}RT )描述了一个相反的旋转。

  1. 欧式变换的向量表示
    世界坐标系中的向量 aaa, 经过一次旋转(用旋转矩阵 RRR 描述)和一次平移(用平移向量 ttt 描述)后,得到了 a′a^{\prime}a′ :
    a′=Ra+ta^{\prime}=R a+t a′=Ra+t

变换矩阵与齐次坐标

  1. 变换矩阵 TTT :
    在三维向量的末尾添加 1 , 构成的四维向量称为齐次坐标将旋转和平移写入变换矩阵 TTT 中,得到:
    [a′1]=[Rt01][a1]≜T[a1]\left[\begin{array}{c} a^{\prime} \\ 1 \end{array}\right]=\left[\begin{array}{cc} R & t \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} a \\ 1 \end{array}\right] \triangleq T\left[\begin{array}{l} a \\ 1 \end{array}\right] [a′1​]=[R0​t1​][a1​]≜T[a1​]
    齐次坐标的意义在于将欧式变换表示为线性关系。

  2. 变换矩阵 TTT 的性质:

  • 变换矩阵 TTT 构成特殊欧式群 SES ESE
    SE(3)={T=[Rt01]∈R4×4∣R∈SO(3),t∈R3}S E(3)=\left\{T=\left[\begin{array}{cc} R & t \\ 0 & 1 \end{array}\right] \in \mathbb{R}^{4 \times 4} \mid R \in S O(3), t \in \mathbb{R}^{3}\right\} SE(3)={T=[R0​t1​]∈R4×4∣R∈SO(3),t∈R3}
  • 变换矩阵的逆表示一个反向的欧式变换
    T−1=[RT−RTt01]T^{-1}=\left[\begin{array}{cc} R^{T} & -R^{T} t \\ 0 & 1 \end{array}\right] T−1=[RT0​−RTt1​]

齐次坐标(Homogeneous Coordinate)的优势

  1. 方便判断是否在直线或平面上
    若点 p=(x,y)p=(x, y)p=(x,y) 在直线 l=(a,b,c)l=(a, b, c)l=(a,b,c) 上, 则有:
    ax+by+c=[a,b,c]T⋅[x,y,1]=lT⋅p′=0a x+b y+c=[a, b, c]^{T} \cdot[x, y, 1]=l^{T} \cdot p^{\prime}=0 ax+by+c=[a,b,c]T⋅[x,y,1]=lT⋅p′=0
    若点 p=(x,y,z)p=(x, y, z)p=(x,y,z) 在平面 A=(a,b,c,d)A=(a, b, c, d)A=(a,b,c,d) 上, 则有:
    ax+by+cz+d=[a,b,c,d]T⋅[x,y,z,1]=AT⋅p′=0a x+b y+c z+d=[a, b, c, d]^{T} \cdot[x, y, z, 1]=A^{T} \cdot p^{\prime}=0 ax+by+cz+d=[a,b,c,d]T⋅[x,y,z,1]=AT⋅p′=0

  2. 方便表示线线交点和点点共线
    在齐次坐标下,
    性质1:可以用两个点ppp,qqq的齐次坐标叉乘结果表示它们的共线lll
    性质2:可以用两条直线lll,mmm的齐次坐标叉乘结果表示它们的交点xxx
    这里利用了叉乘的性质: 叉乘结果与两个运算向量都垂直。

  • 性质1的证明:
    lT⋅p=(p×q)⋅p=0lT⋅q=(p×q)⋅q=0\begin{aligned} &l^{T} \cdot p=(p \times q) \cdot p=0 \\ &l^{T} \cdot q=(p \times q) \cdot q=0 \end{aligned} ​lT⋅p=(p×q)⋅p=0lT⋅q=(p×q)⋅q=0​
  • 性质2的证明:
    lT⋅p=lT⋅(l×m)=0mT⋅p=mT⋅(l×m)=0\begin{aligned} l^{T} \cdot p &=l^{T} \cdot(l \times m)=0 \\ m^{T} \cdot p &=m^{T} \cdot(l \times m)=0 \end{aligned} lT⋅pmT⋅p​=lT⋅(l×m)=0=mT⋅(l×m)=0​
  1. 能够区分向量和点
  • 点 (x,y,z)(x, y, z)(x,y,z) 的齐次坐标为 (x,y,z,1)(x, y, z, 1)(x,y,z,1)
  • 向量 (x,y,z)(x, y, z)(x,y,z) 的齐次坐标为 (x,y,z,0)(x, y, z, 0)(x,y,z,0)
  1. 能够表达无穷远点
    对于平行直线 l=(a,b,c)l=(a, b, c)l=(a,b,c) 和 m=(a,b,d)m=(a, b, d)m=(a,b,d), 求取其交点的齐次坐标 x=l×m=(kb,−ka,0)x=l \times m=(k b,-k a, 0)x=l×m=(kb,−ka,0), 将其转为非齐次坐标,得到 x=x=x= (kb/0,−ka/0)=(inf⁡,−inf⁡)(k b / 0,-k a / 0)=(\inf ,-\inf )(kb/0,−ka/0)=(inf,−inf), 这表示无穷远点.

  2. 能够简洁的表示变换
    使用齐次坐标, 可以将加法运算转化为乘法运算。

旋转向量和欧拉角

旋转向量

  1. 旋转矩阵的缺点:

    1. 旋转矩阵有9个量,但一次旋转只有3个自由度,这种表达方式是冗余的。
    2. 旋转矩阵自带约束(必须是行列式为1的正交矩阵),这些约束会给估计和优化带来困难。
  2. 旋转向量:任意旋转都可以用一个旋转轴和一个旋转角来刻画。于是,我们可以使用一个向量,其方向表示旋转轴而长度表示旋转角.这种向量称为旋转向量(或轴角,Axis-Angle)。

假设有一个旋转轴为nnn,角度为θ\thetaθ的旋转,其对应的旋转向量为θn\theta nθn。

  1. 旋转向量和旋转矩阵之间的转换:

设旋转向量RRR表示一个绕单位向量nnn,角度为θ\thetaθ的旋转。

  • 旋转向量到旋转矩阵:
    R=cos⁡θI+(1−cos⁡θ)nnT+sin⁡θn∧R=\cos \theta I+(1-\cos \theta) n n^{T}+\sin \theta n^{\wedge} R=cosθI+(1−cosθ)nnT+sinθn∧
  • 旋转矩阵到旋转向量:
    • 旋转角 θ=arccos⁡(tr⁡(R)−12)\theta=\arccos \left(\frac{\operatorname{tr}(R)-1}{2}\right)θ=arccos(2tr(R)−1​)
    • 旋转轴 nnn 是矩阵 RRR 特征值 1 对应的特征向量

欧拉角

  1. 欧拉角将一次旋转分解成3个分离的转角.常用的一种ZYX转角将任意旋转分解成以下3个轴上的转角:

    • 绕物体的Z ZZ轴旋转,得到偏航角yaw
    • 绕旋转之后的Y YY轴旋转,得到俯仰角pitch
    • 绕旋转之后的X XX轴旋转,得到滚转角roll
  2. 欧拉角的一个重大缺点是万向锁问题(奇异性问题):在俯仰角为90° 时,第一次旋转与第三次旋转将使用同一个轴,使得系统丢失了一个自由度(由3次旋转变成了2次旋转)。

四元数

为什么需要四元数:对于三维旋转,找不到不带奇异性的三维向量描述方式。因此引入四元数。四元数是一种扩展的复数,既是紧凑的,也没有奇异性

四元数定义

  1. 四元数的定义
    一个四元数 qqq 拥有一个实部和三个虚部
    q=q0+q1i+q2j+q3kq=q_{0}+q_{1} i+q_{2} j+q_{3} k q=q0​+q1​i+q2​j+q3​k
    其中 i,j,ki, j, ki,j,k, 为四元数的 3 个虚部,它们满足以下关系式(自己和自己的运算像复数,自己和别人的运算像叉乘):
    {i2=j2=k2=−1ij=k,ji=−kjk=i,kj=−iki=j,ik=−j\left\{\begin{array}{l} i^{2}=j^{2}=k^{2}=-1 \\ i j=k, j i=-k \\ j k=i, k j=-i \\ k i=j, i k=-j \end{array}\right. ⎩⎪⎪⎨⎪⎪⎧​i2=j2=k2=−1ij=k,ji=−kjk=i,kj=−iki=j,ik=−j​
    也可以用一个标量和一个向量来表达四元数:
    q=[s,v],s=q0∈Rv=[q1,q2,q3]T∈R3q=[s, v], \quad s=q_{0} \in \mathbb{R} \quad v=\left[q_{1}, q_{2}, q_{3}\right]^{T} \in \mathbb{R}^{3} q=[s,v],s=q0​∈Rv=[q1​,q2​,q3​]T∈R3
    sss 为四元数的实部,vvv 为四元数的虚部。有实四元数虚四元数的概念。

  2. 四元数与旋转角度的关系:

    1. 在二维情况下, 任意一个旋转都可以用单位复数来描述, 乘 iii 就是绕 iii 轴旋转 90∘90^{\circ}90∘ 。
    2. 在三维情况下, 任意一个旋转都可以用单位四元数来描述,乘 iii 就是绕 iii 轴旋转 180∘180^{\circ}180∘ 。
  3. 单位四元数和旋转向量之间的转换:
    设单位四元数 qqq 表示一个绕单位向量 n=[nx,ny,nz]Tn=\left[n_{x}, n_{y}, n_{z}\right]^{T}n=[nx​,ny​,nz​]T, 角度为 θ\thetaθ 的旋转。

    1. 从旋转向量到单位四元数:
      q=[cos⁡(θ2),nsin⁡(θ2)]T=[cos⁡(θ2),nxsin⁡(θ2),nysin⁡(θ2),nzsin⁡(θ2)]Tq=\left[\cos \left(\frac{\theta}{2}\right), n \sin \left(\frac{\theta}{2}\right)\right]^{T}=\left[\cos \left(\frac{\theta}{2}\right), n_{x} \sin \left(\frac{\theta}{2}\right), n_{y} \sin \left(\frac{\theta}{2}\right), n_{z} \sin \left(\frac{\theta}{2}\right)\right]^{T} q=[cos(2θ​),nsin(2θ​)]T=[cos(2θ​),nx​sin(2θ​),ny​sin(2θ​),nz​sin(2θ​)]T
    2. 从单位四元数到旋转向量:
      {θ=2arccos⁡q0[nx,ny,nz]=[q1,q2,q3]T/sin⁡θ2\left\{\begin{array}{l} \theta=2 \arccos q_{0} \\ {\left[n_{x}, n_{y}, n_{z}\right]=\left[q_{1}, q_{2}, q_{3}\right]^{T} / \sin \frac{\theta}{2}} \end{array}\right. {θ=2arccosq0​[nx​,ny​,nz​]=[q1​,q2​,q3​]T/sin2θ​​

用单位四元数表示旋转

给定一个空间三维点 p=[x,y,z]∈R3p=[x, y, z] \in \mathbb{R}^{3}p=[x,y,z]∈R3,以及一个由轴角 n,θn, \thetan,θ 指定的旋转,三维点 ppp 经过旋箦后变为 p′p^{\prime}p′ 。如何使用单位四元数 qqq 表达旋转?

  1. 把三维空间点用一个虚四元数 ppp 表示:
    p=[0,x,y,z]=[0,v]p=[0, x, y, z]=[0, v] p=[0,x,y,z]=[0,v]
  2. 把旋转用单位四元数 qqq 表示:
    q=[cos⁡θ2,nsin⁡θ2]q=\left[\cos \frac{\theta}{2}, n \sin \frac{\theta}{2}\right] q=[cos2θ​,nsin2θ​]
  3. 旋转后的点 p′p^{\prime}p′ 可表示为:
    p′=qpq−1p^{\prime}=q p q^{-1} p′=qpq−1

注意:只有单位四元数才能表示旋转,因此在程序中创建四元数后,记得调用normalize()将其单位化。

《视觉SLAM十四讲》笔记(1-3)相关推荐

  1. 视觉SLAM总结——视觉SLAM十四讲笔记整理

    视觉SLAM总结--视觉SLAM十四讲笔记整理 说明 基础知识点 1. 特征提取.特征匹配 (1)Harris (2)SIFT (3)SUFT (4)ORB (5)特征匹配 2. 2D-2D:对极约束 ...

  2. 视觉SLAM十四讲笔记-7-2

    视觉SLAM十四讲笔记-7-2 文章目录 视觉SLAM十四讲笔记-7-2 估计相机运动 7.3 2D-2D:对极几何 7.3.1 对极约束 7.3.2 本质矩阵 7.3.3 单应矩阵 7.4 实践:对 ...

  3. 视觉SLAM十四讲笔记-1

    视觉SLAM十四讲笔记-1 文章目录 视觉SLAM十四讲笔记-1 第一讲:预备知识 1.1 本书讲什么 1.2 如何使用本书 参考链接: link link 高翔,张涛,等. 视觉 SLAM 十四讲: ...

  4. 半闲居士视觉SLAM十四讲笔记(2)初识 SLAM- part 2 linux CMake、Kdevelop

    本系列文章由 youngpan1101 出品,转载请注明出处. 文章链接: http://blog.csdn.net/youngpan1101/article/details/71085778 作者: ...

  5. 视觉SLAM十四讲笔记-第五讲 相机与图像

    目录 Ⅰ.单目相机模型 一.针孔相机模型及公式推导 二.畸变模型 三.成像过程 Ⅱ.双目相机模型 Ⅲ.RGB-D 相机模型 Ⅳ.计算机中图像的表示 Ⅴ.牛刀小试-代码实践 一.读取图像数据(灰度图为例 ...

  6. 视觉SLAM十四讲笔记-第四讲 李群与李代数

    目录 前提摘要: 一.群 1.1注意对象不同 1.2 概念 二.李群与李代数 2.1 李群 (Lie Group) 2.2 李代数 三.指数映射和对数映射 3.1 李代数so(3)指数映射 3.2 s ...

  7. 视觉SLAM十四讲笔记-第三讲 刚体运动

    目录 1.两条基本公式:运动方程和观测方程 2.点与坐标系: 3. 旋转矩阵 3.1 两个条件: 4.旋转向量和欧拉角 4.1 旋转向量(Rotation Vector,又称角轴/轴角(Angle A ...

  8. 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵

    本系列文章由 youngpan1101 出品,转载请注明出处. 文章链接: http://blog.csdn.net/youngpan1101/article/details/71086500 作者: ...

  9. 半闲居士视觉SLAM十四讲笔记(1)前言

    本系列文章由 youngpan1101 出品,转载请注明出处. 文章链接: http://blog.csdn.net/youngpan1101/article/details/70193823 作者: ...

  10. 视觉SLAM十四讲笔记

    文章目录 章节安排 1. 数学基础部分(1~6) 2. SLAM技术部分(7~14) 第一讲 前言和简介 第二讲 初识SLAM 相机: 视觉SLAM框架 SLAM问题的数学描述 cmake Cmake ...

最新文章

  1. GNU Radio的hello world(转)
  2. 谈javascript变量声明
  3. sdn和nfv的区别—Vecloud微云
  4. Livy安装使用(Spark rest接口服务工具)
  5. 自我分析colly的robots源码
  6. C++ 类成员引用变量的使用
  7. Head First设计模式读书笔记七 第八章 模板方法模式
  8. 尚硅谷和尚学堂的区别_在北京尚学堂学习的009天
  9. Atitit React的相关概念东东 attilax总结 v3
  10. git的撤销操作amend
  11. 德保罗大学计算机专业,2020年德保罗大学排名TFE Times美国最佳计算机科学硕士专业排名第75...
  12. 0014 UVA1589 象棋 Xiangqi
  13. 中国工业园区建设与运营市场发展状况与投资战略咨询报告2022-2028年
  14. 力扣 179. 最大数
  15. 高德地图看各省分界线_高德地图定位城市区域
  16. 蓝牙核心技术概述(一):蓝牙概述-转-
  17. C语言实现五子棋小游戏(内附源码)
  18. 博客界的至高神:属于自己的WordPress网站,你值得拥有!
  19. Android手机发生了SSL连接错误该怎么解决
  20. python pdf转txt

热门文章

  1. Python---项目(简易画图软件)
  2. c#的decode用法
  3. 张鑫溢:9.21黄金原油独家操作建议指导.
  4. 使用函数求余弦函数的近似值 (15 分)
  5. html5 调用系统相册,iOS之H5调用系统相册相机浏览文件
  6. 苹果手表支持心电图功能,可能还是逃不过噱头的命运
  7. MATLAB基础教程(7)——求解定积分和不定积分
  8. java 拨打电话_快速拨打电话号码
  9. uniapp 拨打电话两种方法
  10. 雾里看菊:热点IP是怎么生成的