首页 > 设计教程 > 激光排版教程入门初学者-研究生阶段如何学习slam机器人?
2023
08-05

激光排版教程入门初学者-研究生阶段如何学习slam机器人?

第一年的研究即将到来,我联系的导师正在做这个方向。 但第一次听说slam时,我并不太了解。 希望有人能告诉我这个方向,如何读硕士,需要什么技能,就业情况怎么样,谢谢。

郑春然:

首先是代码环境问题:Ubuntu+ROS是标配,因为大部分源码都是C++,所以CMake的基本模板必须能够使用

必读入门书籍:视觉SLAM第14讲稍进阶:机器人的状态估计、多视图几何

SLAM相关非常简单易懂快速入门的课程:

1. 浙江大学教授讲得很清楚。 虽然不像高博视觉SLAM课程中的配套练习和课件那么系统,但谭平教授或许更能用学生能理解的方式讲解SLAM的概念,表达也更清晰

2.经典高博的视觉SLAM

3、曾树歌老师的激光SLAM或者某大象的无人驾驶

4.波恩大学《传感器与状态估计》SLAM,这是2020年最新课程

5、Coursera自动驾驶教程主要讲相机模型和多视角几何,对3D视觉标定很有帮助

6.宾大没听说过vslam,不过据说听了之后学到了很多

SLAM 论文:

何波在这里总结得很好。 有分类,有作者名字,有下载链接,貌似还在维护更新中……

因为毕竟学习时间和精力有限吉祥物设计,初学者显得比较慢,所以过段时间会推荐一两篇文章

如何利用这些资源进行SLAM学习

接下来我就简单说一下我自己的学习方法,希望对大家有所帮助。

1、首先阅读《视觉SLAM第十四讲》,从三维空间的表示方法、李群、李代数的数学原理等关键基本概念,到前端、后端、经典算法实现了视觉SLAM原理的整个环回过程。 粗略地看一遍,不需要推导每一个公式。 你可以放弃比较难的雅可比,推一些简单的,比如针孔相机模型。

2. 随后您可以观看第14期视觉SLAM讲座视频。 以你之前对SLAM的印象,你也可以说你有疑问。 看了高波耐心的讲解,视频就不会看的很慢了。 (比如因为看不懂,看一下就停一下),之前理解粗糙的地方你可能会突然明白了……###这里致敬高博,我没有勇气@Ta

3、这时候可以看一些经典的、写得好的代码,比如ORB-SLAM2! !

这里是高波的修改版,可以可视化SLAM过程中的点云。 如需帮助,您可以查看这篇论文:ORB-SLAM2:适用于单目、立体和 RGB-D 相机的开源 SLAM 系统4。

4.可以自己模仿写一个视觉里程表

对于激光SLAM,我也建议先读一下Visual SLAM的第14讲,因为SLAM的结构和原理都差不多,没有理由不读这么好的Visual SLAM入门教材。 同时,由于相机的观测模型比激光雷达复杂,相互转换会更快。我之前有一个答案,大家可以借鉴一下

其他一些主要方向

1. 语义SLAM

我觉得高博的演讲太好了,我哭了,几分钟后,我这个语义新手就明白了它是什么、为什么、怎么做……深度学习提取路标,构建对象——关卡重用地图。 等等等等,文章还引用了几篇论文,都很好,可以看看~

VIO 视觉惯性里程计或 VINS 视觉惯性导航系统

深蓝这里有一套课程,讲课相当不错。 讲师是Hebo Gaubo崔大深,详细讲解了IMU的预积分、对应的残差雅可比、初始化等。 最好的是基于沉老师组的VINS-mono的代码结构,目前非常强大。 这是一篇很强大的论文:VINS-Mono: A Robust and Versatile Moneye Visual-Inertial State Estimator

前几天,本科生毕业设计需要英文文件翻译。 我翻译了一份并重新整理了版本,通过了Word版本。 请您自己拿走。

〜链接:

提取码:um34

结合深度学习估计姿态进行闭环检测(场景重识别)

水下SLAM

仿生SLAM

我看到大家都辛苦了! ! 有问题请在评论区指出哦~(ง•̀_•́)ง(*•̀ㅂ•́)

如果我的分享对你有帮助的话,左边的三角同意去散步哈哈哈哈~

矮脚鸡:

实验室的兄弟们刚刚毕业,都在往slam方向找工作,也在朝着这个方向努力。 那么我们在这里总结一下下面的学习经历。

我个人认为看视频效率低,更喜欢看书。 下面推荐的英文书籍大部分都可以在Library Genesis上找到(需要富强上网)。 帮助。

1. 基础知识 1.1 C++

C++是所有slam知识的基础。 它的作用和地位怎么强调都不为过。 在学习所有其他知识之前,您必须通过此级别。 否则激光排版教程入门初学者,你接下来的路将会非常艰难。

这里推荐两本书:《C++ Prime Plus》和《Effective C++》,尤其是第一本,它将伴随你整个满贯学习生涯。 我花了大约两个月的时间每天练习上面的例子,后来发现 C/C++ 的使用贯穿了所有的学习环节,所以每次遇到不懂的东西我都会重新看一遍这两本书。

C++的四大组件都必须了解它的用法,至少这样在遇到问题时可以快速定位到书中对应的部分:

以C语言为载体的面向过程编程

面向对象编程:类、多态性、继承、虚函数

泛型编程以及为解决代码重用问题而出现的相应标准模板库(STL)

1.2 OpenCV

有了C++的基础,就可以学习一些图像处理的内容。 图像处理的很多算法原理上很难理解,不过没关系,我们有一个强大的图像处理函数库可以调用,那就是OpenCV。

学习OpenCV最推荐的教材是官方Tutorial。 一开始就读Introduction to OpenCV和The Core Functionity(核心模块),剩下的可以稍后用到再回来搜索。

如果你的英语水平不够好,可以阅读《OpenCV3编程入门》。 就我个人而言,我建议阅读英文的介绍性文档。 毕竟翻译过程中信息会丢失,不利于理解和学习。

1.3 Linux 和 ROS

Linux是slam常用的环境。 它实际上有很多发行商,但只推荐Ubuntu。 原因很简单。 只有机器人操作系统ROS是基于它开发的。

关于Linux的学习,推荐两本书《鸟哥的Linux私房菜》和《Linux命令行》。 前者是基于CentOS写的,但这不影响使用,后者是基于Ubuntu写的,不过是英文书。

自己学习安装Ubuntu双系统(不建议直接安装虚拟机和Windows,会出现各种意想不到的bug)。 然后使用Linux命令行并在其中输入常用命令来查看效果。

我个人认为比较重要的几点:

终端使用

Linux文件目录结构

如何安装软件

如何创建和删除文件/文件夹

文件打包与解压

至于ROS的学习,目前只推荐官方Wiki文档。

1.4 机器人技术的数学基础

这涉及到三维旋转矩阵、四元数、李群李代数的知识。 由于我在学校修了相应的课程(听老师说全国只有北航开设了相关课程?),所以我在课外学习的不多。 不过最近反而在Github上发现了一个不错的项目,主要是关于三维旋转和四元数的,大家可以下载看看。

我还开了一个相关专栏,有兴趣的话可以看看(随佛性更新):

2. 练习

2.1《视觉大满贯十四讲》

本书被纳入第二部分的主要原因有三个:

1.本书提供了大量源代码,具有很强的实用意义。

2.如果没有上述基础知识作为支撑,阅读本书可能会有点困难

3.从求职的角度来说,我个人认为基础知识比slam知识本身更重要

关于这本书,其他答案已经说了很多,我就不赘述了。 值得强调的是,最好自己在里面写程序,修改一些代码,看看会产生什么样的效果。

2.2 摄像头&激光雷达

学完理论知识后,如果家庭条件允许,就可以设计组装一个机器人来玩。 去淘宝购买相应的配件。 将它们设置在移动机器人上,自己编程实现地图的构建。

#细节

2.3 海龟机器人

TurtleBot是一款配备ROS的移动机器人,它配备了激光雷达或双目视觉系统。

海龟机器人

学校开设了移动机器人课程。 我去年(2019)刚买了一批TurtleBot2,所以有幸使用了一段时间。 本来我想给自己买一个,但看了淘宝上近6000元的价格后,我只能说“对不起,再见!”。

你可以打听一下学校的实验室有没有这样的东西,如果有的话,你可以去看看,对提高你的实践能力会有很大的帮助。

3. 高级

有了基础和实践ip形象,下一步就是提高理论水平。

主要工作两个方向,一是阅读相关论文,二是阅读两本书:

《Probabilistic Robotics》对应的英文书叫Probabilistic Robotics,计算机视觉中还有一本关于多重视觉几何Multiple View Geometry的书

不知道大家觉得这两本书怎么样。 我最近一直在看它们,我觉得它们还是挺费劲的。 我很快就要读完这两本书,然后再看《视觉大满贯十四讲》最后列出的一些论文。

4、就业

这是上面的回答者忽略的一点。 这可能要泼点冷水了。 近两年,随着百度宣布无人车,带动了大量岗位招聘,但现在这种趋势已经逐渐消退。 最近一段时间,在媒体上我很少看到相应的报道。 虽然现在slam似乎是一个比较热门的方向,但是很多单位已经开始减少招收的人数。 至于工资,年薪25w左右激光排版教程入门初学者,还不错

不过,既然你们选择了这条路,那就让我们勇敢前行,一起努力吧!

最后编辑:
作者:nuanquewen
吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计