IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> SLAM学习(1-2章节) -> 正文阅读

[人工智能]SLAM学习(1-2章节)

SLAM学习(1-2章节)

去年12月份学习SLAM相关内容,到今年三月份,将SLAM的相关内容学习了一边,现在开始写自己的博客,主要是为了复习以下相关的学习内容。相关的学习资料可以在以下git仓库上找到,SLAM讲个人觉得确实有些地方没有详细展开,本人在学习过程中查询了一些资料,将一些内容补充完整了!


github仓库https://github.com/starnetB/CV_learning


以上仓库里面还有PCL点云处理的相关学习资料,可以有助于点云处理的学习。此外还会同步更新pytorch与神经网络的一些相关内容。


第一章 风格约定

这一章没啥好说的个人觉得,只是本章节的一些俗称约定。

第二章 数学基础与框架

首先是通过小萝卜的例子,介绍了两种导航的方法:

  1. 通过标签或二维码来进行导航
  2. 通过自带传感器的方式来进行导航
    1.自带的传感包括以下种类:
    • 激光传感器
    • 相机
    • 轮式编码器
    • 惯性测量单元等

相对于第一种,第二种的优势在于:

  • 对环境没有很高的要求,从而可以使得方案适用于未知环境,因此携带式传感器是SLAM发展的正统,也是发展的主要方向。

常用设备相机

  • 单目相机
  • 双目相机
  • 深度相机

个人觉得深度相机,额有点贵,最近本人项目都涉及realscene相机,随随便便一个就得几千,我同事买的,深度相机几万得都有,简直了。

各种相机的优缺点分析

  • 单目相机
    • 感觉这种相机在三维方便,只有缺点没有优点了,因为只有RGB通道导致他失去了一个维度,也就是没有深度。虽然可以通过相机的三角测量发获取相关的深度,但毕竟是野路子,相对而言,缺陷也比较多
  • 双目相机
    • 这个深度是算出来的,就是消耗性能,它的优势在于室内外都可以使用
  • 深度相机 RGB-D 相机
    • 精度高,不需要计算资源
    • 在室外,光容易涣散,不适合,一般用于室内比较多
    • 我在加一条就是贵

SLAM框架简介

image

  1. 传感器信息读取
    • 这个不用多说了,读取信息
  2. 前端视觉里程计
    1. 通过相机活动,当前的位置状态,并把他们串起来,形成轨迹
  3. 后端优化
    1. 这一部分主要用来去除一些噪声和误差
    2. 优化机器人自身的轨迹,也包含地图数据等
    3. 还包含一些实时性能等
  4. 回环检测
    1. 消除累积误差
  5. 建图
    1. 度量地图
      1. 稀疏地图(定位等)
      2. 稠密地图(导航等)
    2. 拓扑地图
      1. 强调地图元素之间的关系

SLAM问题的数学表述

  • 首先介绍两大方程
    • 什么是运动方程,从k-1 到k时刻,小萝卜的位置x时如何变化的
    • 什么时观测方程,小萝卜在k时刻出 x k x_k xk?处探测到路一个路标 y j y_j yj?,我们要考察如何用数学语言来描述这件事情

运动方程公式
x k = f ( x k ? 1 , u k , w k ) x_k=f(x_{k-1},u_k,w_k) xk?=f(xk?1?,uk?,wk?)

  • u k u_k uk?表示运动传感器的读数
    • 这里传感气,可以是Mu,相机,激光传感器等。
  • w k w_k wk?为该过程中加入的噪声
  • x k x_k xk?就是当前时刻的位置信息

观察方程
z k , j = h ( y j , x k , v k , j ) z_{k,j}=h(y_j,x_k,v_{k,j}) zk,j?=h(yj?,xk?,vk,j?)

  • v k , j v_{k,j} vk,j?表示噪声
  • z z z 表示观测数据
  • y j y_j yj?表示第几个路标

将以上两个模型统一以下

H ( f ) = { x k = f ( x k ? 1 , u k , w k ) k = 1 , ? , K z k , j = h ( y j , x k , v k , j ( k , j ) ∈ O H(f)= \left\{ \begin{matrix} x_k=f(x_{k-1},u_k,w_k)&&k=1,\cdot,K\\ z_{k,j}=h(y_j,x_k,v_{k,j}&&(k,j) \in O \end{matrix}\right. H(f)={xk?=f(xk?1?,uk?,wk?)zk,j?=h(yj?,xk?,vk,j???k=1,?,K(k,j)O?

  • 应对定位问题(估计x)
  • 应对建图问题(估计y)

噪声处理

主要服从那种分布

  1. 线性/非线性和高斯/非高斯分布
  2. 图优化(Graph Optimization)为代表的优化技术进行状态估计
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:08:21  更:2022-03-17 22:13:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:23:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码