前言:多年前看到一片知乎文章

YY硕:机器人工程师学习计划​zhuanlan.zhihu.com

当时看到这个,只觉醍醐灌顶,能看到有如此详尽的关于机器人工程师的个人技术发展规划,又不禁觉得有些遗憾,因为这个规划是本科大一到硕士毕业的计划,而我已经上研究生了。毕业后在相关的领域工作了一年多,今天回顾一下我在当时的条件和后来的经历,做一个总结。想开始上手开始做一些机器人的项目,最少需要哪些技能和背景知识?

一、基础知识技能

0. 推荐实践平台:Ubuntu/mac 终端, windows 10下使用WSL Ubuntu子系统(打开microsoft store,搜Ubuntu即可)。

f69ee8037d2ee60f93a6095162e23b70.png

1. c++理论课堂:面向对象程序设计-C++ - 网易云课堂。 这里面暂时不需要把所有的都学了,把1~10讲和最后的第41讲学了就基本对C++有个大致的了解了。累计时长估计3小时。(后续可以再把这个看完,同时可以阅读C++ primer)

eea120d34097df79d09f3c62ee38f67f.png

54b515d8b8f282230898cd0e79129e8b.png

2. 代码版本管理工具git的使用,先学习几个简单的命令就OK

git clone 下载代码 
git pull 从远程库更新代码
git add 缓存修改
git commit 提交修改
git push 将代码提交推送到远程库

后续使用过程中,可以更多系统的学习以下这个教程。

Git教程​www.liaoxuefeng.com
4c3cae353b3c1fdbd2489a6348319200.png

3. cmake的使用

参考实例:https://github.com/gaoxiang12/slambook2/tree/master/ch2, 注意cmakelists.txt里面的几个关键次的意思。

4. 摄像机测距的原理

摄像机模型(针孔模型),理解三维世界坐标的点转换到摄像机坐标系(光心),再投影到图像坐标系(底片),转换到像素坐标系的数学过程。理解了这里也就理解了相机的内参和外参。(想更深入的了解,可以学习 张广军老师的书《机器视觉》)

5. OpenCV

OpenCV图像处理库的了解和基本操作 ,参考实例https://github.com/gaoxiang12/slambook2/tree/master/ch5/imageBasics(想更深入的了解,可以学习 浅墨 的书《OpenCV3编程入门》)

6. 同样重要的一个库,Eigen矩阵运算库,参考实例

https://github.com/gaoxiang12/slambook2/tree/master/ch3/useEigen

二、 ROS与Gazebo

需要学习几个基本的Linux命令:(sudo apt install ; sudo apt update; cd / ~ . .. ; ls )

1.ROS安装:

可以参考我之前的文章,也可以自己到ros的网站上自己按照教程安装。

Jose Cruise:ROS 中的Gazebo安装及使用、以及一些常见的问题解决​zhuanlan.zhihu.com
1c36ff4858fe3adf4bafea529b9e6c67.png

2.ROS理解

学习初级教程1.1的1-10看完就可以了解ROS的大致结构和使用逻辑:累计2小时可看完

cn/ROS/Tutorials - ROS Wiki​wiki.ros.org

3.ROS使用

版本选 kinetic ,跟着教程过一遍

catkin/Tutorials/create_a_workspace - ROS Wiki​wiki.ros.org

4. 测试一下自己的理解

(a) 如何启动ROS程序,有哪些方法?

(b) 控制turtlebot, 走一个完整的圆形,并停止。

至此,以上是我认为的学习机器人的最基础的知识技能范围。

三、 Gazebo的学习

1.gazebo安装:

这里准备了一个gazebo等环境都已经安装好的Ubuntu镜像和使用指南,用windows或mac的同学可以用虚拟机安装这个镜像,用Ubuntu的同学可以自己配一下这个环境;

Jose Cruise:gazebo tutorials 之环境准备​zhuanlan.zhihu.com
b0785949e9ab99a490e2fb01eeb6ffbe.png

2. 基于仿真平台和以上的教程指南的后半部分,完成一个无人机的位置闭环控制;

3. 完成无人小车的闭环位置控制;

Jose Cruise:基于gazebo平台的麦克纳姆轮小车的仿真控制​zhuanlan.zhihu.com
ff5df15bea8fb7d287cc5eedf5686e11.png

4. 在此平台上设置了一个题目——走迷宫

Jose Cruise:无人机仿真之走出迷宫​zhuanlan.zhihu.com
ecf3a5e812ef234fd20303d81f343385.png
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐