ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SLAM概述与预备知识

2021-02-28 15:32:50  阅读:259  来源: 互联网

标签:定位 预备 机器人 建图 SLAM2 SLAM 概述 ORB


一、熟悉 Linux

1.1.如何在 Ubuntu 中安装软件(命令行界面)?它们通常被安装在什么地方?

  1. Ubuntu 中安装软件(命令行界面):
  • 在线安装:sudo apt-get install xxx;
  • 本地安装:sudo dpkg -i xxx.deb
  1. 软件安装位置:
  • 一般在 /usr/bin

1.2. linux 的环境变量是什么?我如何定义新的环境变量?

  1. Linux环境变量是系统预定义的参数

  2. 环境变量定义:

  • 临时:在终端中直接使用export指令添加,eg. export AA="hello world"
  • 长期:在~/ .bashrc文件中添加export指令。

1.3. linux 根目录下面的目录结构是什么样的?至少说出 3 个目录的用途。

  1. 目录结构
bin/   dev/   home/  lib64/ mnt/   proc/  run/   snap/  sys/   usr/ 
boot/  etc/   lib/   media/ opt/   root/  sbin/  srv/   tmp/   var/   
  1. 目录用途
  • bin: 存放二进制可执行文件
  • dev: 外接设备文件
  • home: 通常用来保存用户的文件

1.4. 假设我要给 a.sh 加上可执行权限,该输入什么命令?

chmod +x a.sh

1.5. 假设我要将 a.sh 文件的所有者改成 xiang:xiang,该输入什么命令?

chown xiang:xiang a.sh

二、SLAM 综述文献阅读

2.1. SLAM 会在哪些场合中⽤到?

  1. AR和VR技术 ; 2) 无人驾驶;3) 多机器人协同作业

2.1 SLAM 中定位与建图是什么关系?为什么在定位的同时需要建图?

  1. 定位与建图:
  • 定位:机器人获取自身在环境中位置

  • 建图:机器人将周围环境信息制成地图

单独的定位是在已知地图的情况下,机器人通过传感器获 取外部信息来获得自己的具体位置,比如高精度地图下无人车的定位;单独的建图也有,例如三维重建技术,对一些建筑的精细化重建。

而SLAM的关键是在实时状态下,机器人可以在定位的同时建立环境地图。这样可以使得机器人可以在未知环境下,进行探索,并实时反馈各种突发情况,降低了自动机器人的环境应用限制。

2.3 SLAM 发展历史如何?我们可以将它划分成哪⼏个阶段?

SLAM的发展史,我从计算设备的发展程度,划分为3个阶段。

  1. 阶段1:机器人定位和环境重建各自研究,少有交集。

  2. 阶段2:随着硬件设备的发展,开始探索同时定位和建图的研究领域。

  3. 阶段3:多机器人协同作业,多智能体的SLAM的研究。例如,以万物可联的愿景,未来所有智能体都能自发的进行SLAM操作,获得动态地图,智能体间还能互动的提高各自的定位精度。

2.4 列举三篇在 SLAM 领域的经典⽂献。

[1] Zou D, Tan P. Coslam: Collaborative visual slam in dynamic environments. IEEE transactions on pattern analysis and machine intelligence. 2012 May 1;35(2):354-66.

[2] Forster C, Pizzoli M, Scaramuzza D. SVO: Fast semi-direct monocular visual odometry. In2014 IEEE international conference on robotics and automation (ICRA) 2014 May 31 (pp. 15-22). IEEE.

[3] Mur-Artal R, Montiel JM, Tardos JD. ORB-SLAM: a versatile and accurate monocular SLAM system. IEEE transactions on robotics. 2015 Aug 24;31(5):1147-63.

三、 CMake 练习

四、理解 ORB-SLAM2 框架

4.1 从 github.com 下载 ORB-SLAM2 的代码

4.2 ORB-SLAM2 的 CMakeLists.txt 解读

a) ORB-SLAM2 将编译出什么结果?有⼏个库⽂件和可执⾏⽂件?

  • 编译输出多个可执行文件程序和多个库文件。
  • 库文件:通过/src文件夹中的.cc文件生成动态库文件ORB_SLAM2。
  • 可执行文件:rgbd_tum、stereo_kitti、stereo_euroc、mono_tum、mono_kitti、mono_euroc 。

b) ORB-SLAM2 中的 include, src, Examples 三个⽂件夹中都含有什么内容?

  • /include:对应c++函数的头文件
  • /src:主函数c++文件
  • /Examples:相机的主程序。

c) ORB-SLAM2 中的可执⾏⽂件链接到了哪些库?它们的名字是什么?

  • OPENCV_LIBS
  • EIGEN3_LIBS
  • Pangolin_LIBRARIES
  • /ORB-SLAM2/Thirdparty/DBoW2/lib/libDBoW2.so
  • /ORB-SLAM2/Thirdparty/g2o/lib/libg2o.so

标签:定位,预备,机器人,建图,SLAM2,SLAM,概述,ORB
来源: https://www.cnblogs.com/yujingxiang/p/14459156.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有