• 视觉SLAM十四讲(高翔版本),ch1-2章节部分笔记


    目的:最近在看slam模块,高翔版本的视频,非常好的视频(有理论有实践),记下来一些重要的内容。第二遍再补充其它内容。

    ch12,最开始的一章节,它主要讲一下slam的应用。
    首先讲了一些书籍推荐:
    1:The Bible:Multiple View Geometry in Computer Vision
    2: State Estimation for Robotics: A Matrix-Lie-Group Approach
    3:Probabilistic Robotics
    这些书籍,没有看,以后有时间大概挑一本书看一下。

    SLAM主要围绕两大问题:定位;建图。
    定位:我在什么地方;
    建图:周围长什么样子。

    后续介绍了当前的研究。略。

    介绍SLAM的整体框架
    在这里插入图片描述

    其中
    前段:主要是介绍附近帧之间相机的相对运动。(漂移误差)主要有特征点法,直接法。
    后端:因为前段帧之间有误差,需要回环检测,以及优化前段模块。主要有EKF,图优化。
    建图:它是一个option,主要是对slam算出的稀疏点云,进行稠密化。度量地图;拓扑地图;稀疏地图;稠密地图等等。

    基于上述的两个问题,SLAM有一个非常有用的数学描述框架,非常重要,它包括运动方程和观测方程:
    运动方程(描述我在哪里):
    离散时间: t = 1 , 2 , 3 , . . . , k t=1,2,3,...,k t=1,2,3,...,k
    位置: x 1 , x 2 , . . . , x k x_1,x_2,...,x_k x1,x2,...,xk
    把上面变量看成随机变量,服从概率分布。
    基于上述的变量,建立运动方程为:
    x k = f ( x k − 1 , u k , w k )     ( 1 ) x_k=f(x_{k-1},u_k,w_k) \space \space \space (1) xk=f(xk1,uk,wk)   (1)
    其中 x k − 1 x_{k-1} xk1一般为上一时刻位置; u k u_k uk为输入(它视情况而定); w k w_k wk为噪声。

    周围长什么样子(观测方程):
    路标(三维空间点): y 1 , y 2 , . . . y n y_1,y_2,...y_n y1,y2,...yn
    传感器在位置 x k x_k xk处,观察到路标 y j y_j yj
    观测方程:
    z ( k , j ) = h ( x k , y j , v ( k , j ) )     ( 2 ) z_(k,j)=h(x_k,y_j,v_(k,j)) \space \space \space (2) z(k,j)=h(xk,yj,v(k,j))   (2)

    从上述的框架建立的数学模型是传感器在 x k x_k xk处,看到路 y j y_j yj。在一般应用中是相机在 x k x_k xk处,看到一片稀疏点云 y j y_j yj。非常符合人类的认知。

    因此框架整体为
    { x k = f ( x k − 1 , u k , w k )     ( 1 ) z ( k , j ) = h ( x k , y j , v ( k , j ) )     ( 2 )

    {xk=f(xk1,uk,wk)   (1)z(k,j)=h(xk,yj,v(k,j))   (2)" role="presentation" style="position: relative;">{xk=f(xk1,uk,wk)   (1)z(k,j)=h(xk,yj,v(k,j))   (2)
    {xk=f(xk1,uk,wk)   (1)z(k,j)=h(xk,yj,v(k,j))   (2)
    理解上述公式就能从整体上理解SLAM。

    后续介绍了一下基本的在linux下怎么编译文件,以及简单的cmake使用,用于后续的slam工程的使用。建议动手做一遍。

    最后的一个关于kdevelop的安装,它是非常简单:
    打开终端,然后输入:

    wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5.6.1/bin/linux/KDevelop-5.6.1-x86_64.AppImage
    
    • 1

    下载kdevelop后,直接修改下载文件的权限:

    chmod +x KDevelop.AppImage
    
    • 1

    最后安装文件KDevelop.AppImage:

    ./KDevelop.AppImage
    
    • 1

    安装的具体过程如下:
    在这里插入图片描述
    这个集成平台在linux非常好用,和在windows下的vs差不太多。它可能需要CMakeLists.txt了解。对于CMakeList.txt后续补上。

  • 相关阅读:
    Arcgis 定义投影、投影变换、导出栅格为tif、矢量转tif
    5.8 Device Self-test command
    WPF 控件专题 UniformGrid 控件详解
    什么是DDoS攻击?怎么防御DDoS攻击?
    分销小程序开发|分销小程序怎么设计动态分销?
    Gradle 中 api、implementation、compileOnly、provide 区别与联系
    湖仓一体技术解读|多模数据的融合管理
    学生信息管理系统(教务选课系统)
    什么是SVN(Subversion)?
    大数据必学Java基础(四十八):包装类和日期类的讲解
  • 原文地址:https://blog.csdn.net/weixin_43851636/article/details/126196268