从零开始一起学习SLAM | 学习SLAM到底需要学什么?

可以看到涉及的知识面还是比较广的。这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心情的漫画图,大家可以感受一下:

87e2a5c5bf49714759faa3d848f3a22de9651762

每个学SLAM的小伙伴可以说都是冒着“头顶凉凉”的巨大风险,勇气可嘉。下面结合SLAM知识树展开具体说说。

编程环境

首先先说电脑环境和编程。

1、电脑环境:Linux环境,推荐Ubuntu16.04

有人问Windows行不行?这么说吧,如果你是一位SLAM领域的大牛,并且具有超强的解决bug能力,你可以用Windows,否则,非常不建议在Windows下编译,因为你早晚会被各种依赖库,各种bug搞崩溃的。而且大部分的SLAM开源代码都在Linux环境下编译,很多第三方依赖库在Linux下可以非常方便的安装。

如果之前没有接触过Ubuntu的,也不用担心。刚开始用命令行界面可能不太习惯,慢慢习惯后就会发现Linux的内在美。所以要学SLAM就先装一个Ubuntu系统吧,如果电脑本身是Windows系统,建议装双系统,不要装虚拟机。学习Linux的话,就看那本经典的书:《鸟哥的Linux私房菜》吧,书的内容比较多,建议先学习一下基本的文档操作指令。可以快速浏览一遍,不需要死记,以后用到了再去查就行。这书的作者鸟哥有个网站也可以查命令,挺方便的:

http://cn.linux.vbird.org/linux_basic/1010index.php

2、编程相关

编程语言

扫描二维码关注公众号,回复: 3426685 查看本文章

主要是C++。推荐红宝书《C++ Primer》。内容非常多而全。如果是初学者没那么多时间学一遍,就重点选择前几章基础看看,动手敲一敲代码。然后了解后面几章常用的数据结构和C++的一些特性(重载、多态、继承)等。有时候也需要会一些python,网上资料很多,不多说。

集成开发环境

CLion(用edu结尾邮箱可以申请免费使用一年)、kdevelop(免费),个人觉得前者好用一点。

编译工具:

cmake。统一使用cmake编译,好处很多,比如代码可以很方便的跨平台使用等。使用起来也很方便。有个小册子《CMake practice》照着学一下。

原文链接

猜你喜欢

转载自blog.csdn.net/weixin_40581617/article/details/82703581