谁能想到呢,我接触slam也就11个月,而slam算法工程师在职也就是11个月。

在这个不眠夜,也是一个刚交完这周周总结与下周计划的文档的晚上,我辗转反侧难以入睡,心情激动又倾诉欲爆棚。

先谈谈个人的感想:

我的slam技能成长树是跟我的工作紧密联结在一起,感谢我国防科大博士出身的老板不余遗力地相信我,培养我;也感谢我湘潭大学硕士出身的部长每天放养我学这学那;感谢我那可气又拿他没办法的中南大学硕士出身的slam同事指点我跨越陡峭的学习路线拐点;感谢我那工作五年的C++大神同事耐心解答我的C++学习疑惑,不留一丝鄙夷的眼光看待我这个C++小白,他的低调与深藏功与名的为人处事风格让我心静如水;更要感谢诸如深蓝学院、泡泡机器人、3D视觉slam的知识星球等平台,我时不时跑去考验自己的真实水平,那些会耐心全面分析出我不足的社会上的好心人,是他们给我了一个来自slam行业的全面客观的评价,意外地撞见了高翔等大佬指出我的不足以及提供一些建设性意见,我如醍醐灌顶,渐渐顿悟《概率机器人》这一slam圣书的箴言。

更要感谢我自己,一路突破自己的恐惧,一路乐观坚持,一路战胜各种自己的情绪,排除别人的情绪干扰,引导别人的情绪可控化。

接下来是slam学习路线梳理:

我自身的底子不差,本科机械设计制造及其自动化专业,硕士 自动化和机器人,毕设:应用深度强化学习让六足机器人学会走路;导师是马德里理工大学的Antonio Barrientos 教授。

毕业后入职的是一家班底核心成员来自于国防科大的公司,做我喜爱的机器人算法工程师,入职之后,才发现是slam算法工程师。

入职以前slam压根没有接触过,只好跟着当时我的组长,南京大学CS专业毕业的2年工作经验的slam算法工程师学习。从他给我安利《概率机器人》这本书开始,一路带我升级打怪,虽然push我多写一行代码比他自己写一千行代码更痛苦,但他还是坚持push我,并尽力给我营造了一个学习环境;

那么核心秘诀:就是啃《概率机器人》这本书了;C++入门《21天学通C++》;算法入门《图解算法使用C++》;ROS入门至中高阶靠平时自己多练;在这其其中中,穿插源码的不断阅读,自己代码的输出。

SLAM 要走的深:从最基础的AMCL,gmapping,cartographer,及其为了帮助理解,穿插数不清的wiki,paper,知乎帖子等资料的查阅;

算法要走的深:从最基础的图解类开始,刻意训练自己的思维,是的,就是要刻意练习,让自己切入算法思维这个轨道,再到专业的数据结构算法书籍,以及为了帮助理解,穿插数不清的C++源码算法示例阅读,在训练算法思维的同时,也对C++语言进一步熟悉与训练;

C++要走的深:最基础的也是《21天学通C++》;《C++ primer plus》对于我们这种机械出身的人来说,还不是基础的原子水平,然后配合最简单的C++简单游戏开发类的书籍配合阅读,再过渡到专业的书籍,以及为了帮助消化,穿插数不清的C++相关源码阅读,就是为了强化熟悉C++语言语法,使用场景,最终会用这门语言去表达,去说话;

机器人要走的深:那就最好来一轮完整的科学培养了,最简单的办法就是选择这个专业,那里会有老师带你,课程体系培训你搭建自己的知识体系,项目,毕业设计培养你主动学习、主动在这个领域探索、解决问题的能力;全面又痛苦地生硬拔高你的学习能力;

工程能力要走的深:既然已经工作了,说到底还是要为企业服务有输出的,我一点也不觉得自己是个应届生就怎么样,虽然不是用什么先进的技术解决问题,能找到最老套的办法解决也是一种方法。

未来规划:我时时刻刻都在想这个问题,这个规划,在我每日写日报的时候要考虑,每周写周报的时候要考虑,每月写月报的时候要考虑,自己给自己写三个月/半年/年计划的时候都会考虑。而规划的好坏,来源于对工作的深度把握,对自己的深度认知评估。为什么呢,因为我的工作是自己主动给自己派任务前进,有一半会来自老板/部长的需求,但是是需要自己找方向,自己完成,并让上司满意认可的现状。

大体的规划:对C++/算法/数据结构/AMCL/gmapping掌握力度成熟后,会继续向cartographer,无人机/四足机器人深度探索。

至此,11个月slam学习经验总结分享;结束。

但是成长依旧在继续,配一首《平凡之路》再好不过了……