学习线路图

1. python基础

不管有没有编程基础的童鞋, 我都推荐大家先去学Python ,Python像一把瑞士军刀, 你可以用他干很多东西,比如自动回复邮件、自动收集信息。

Python又非常简单容易理解。只要把解决问题的过程想明白,很容易就能转化成对应的代码。

python基础包含,算数运算符,变量, 输出和输入,条件语句,循环,元组,字典等知识点,熟悉常用的控件, 文本标签,编辑框,按钮,布局,信号,槽等技术。

后面高级的课程, 人工智能,自动驾驶,机器人操作系统需要熟练掌握c++计算, 有python基础的同学,再去对比学习c++就会变得非常容易上手。

很多学员是零基础的 ,学习 python 后,可以做出来简单的学生管理系统,火车票查询系统。

img

img

2.面向对象

python是一门面向对象的语音,面向对象是重要的编程思想,接下来我们通过飞机大战、坦克大战这种经典的游戏来让大家掌握面向对象的思想。

看看第二周,大家的成果吧。

img

3. 高等数学

线性代数的重要性需要特别强调。一般来说,优秀的工程师和科学家在职业生涯中一定要掌握高等数学,线性代数,梳理统计矩阵的乘法、向量的乘法、向量的内积、变化率的求导、概率论和极限。要想掌握机器视觉和人工智能, 成为年薪30万以上的工程师, 懂高等数学和线性代数,这是必备基础。

看看第三周,大家的成果。

综合运用矩阵运算,反向传导,梯度下降,实现小车的自动驾驶, 这是深入理解人工智能课程的基石。

img

img

大学一年级的基础课程, 掌握这么多就差不多了。

到这里

你已经成长成为

一个初出茅庐的新兵

可以准备进入

智能机器人软件工程师

开发的大门了

img

机器人领域四大问题

  1. 感知。视觉传感器、图像传感器、激光雷达、各种传感器技术。
  2. 规划。人工智能、知识表达、路径规划、任务调度、机器学习等。
  3. 行动。运动学、动力学、开环控制,闭环控制、pid控制等。
  4. 数学基础。最优估计、微分几何、概率论等。

img

4.Linux

IT行业的程序员都会争论高级语言和低级语言哪个好,Linux和Windows哪个好,而对于机器人工程师来说,我们是工程师,语言和操作系统都是工具, 哪个工具最顺手,我们就要优先学习哪个工具。从现在到可预见的未来里,Linux是机器人软件工程师最好的操作系统。原因是机器人操作系统ROS是基于Ubuntu开发的,在Ubuntu上运行最稳定。虽然window10 投入巨资打算支持ros, 但是目前来讲ubuntu是我们最好的选择。

学习掌握装ubuntu操作系统,掌握shell脚本编程,双系统安装方法,自主解决各种显卡,网卡驱动,Linux内核问题。

img

5. c++实战编程

python我们说是瑞士军刀,但是真要去造机器人,合适的工具并不是瑞士军刀,而是C/C++这样简单粗暴的锤子和螺丝刀般的工具。

工具最重要的是如何去使用, 我们用大量的案例,来教大家,带大家去使用工具。我们课程类比讲解python和c++的异同点, 短期内让大家掌握,clion开发环境,变量和常量,数组和Vectors,操作符和流程控制,字符和字符串处理 函数,Characters and Strings,Functions,指针和引用,OOP -面向对象,操作符重载,继承,封装,智能指针,异常处理,IO和流 ,boost,STL模版技术等c++核心技能。

学习目标 :

c++和python融会贯通,学生可以自己编译c++工程为库文件,用python去调用c++代码。python写业务逻辑简洁明了,c++做核心算法,整洁高效。

6.cmake和makefile实战

c语言和c++语言从诞生到现在已经有几十年了, 很多前辈程序员写出了大量经典的框架和工具集, 学习编译工具理解Github存在的意义, 让前辈的代码融入到我们的工程中。

学习目标 : 学生能自主编译opencv, FFmpeg, pointcloud等经典c++项目, 并引入到自己工程中。

7.机器人操作系统ROS

ROS( Robot Operating System,机器人操作系统)诞生于2007年,并很快在机器人研究领域掀起了ROS开发与应用的热潮,目前已经成为机器人领域的网红。

谷歌、亚马逊、微软等众多知名公司已经广泛使用ROS系统,熟练掌握ROS操作系统,已经成为机器人开发的重要一环, 猎聘网上搜索ROS关键字, 大多数岗位起步月薪到达到1.5~2万元。

img

学习目标:熟练使用pid原理, 联合使用c++和Python语言,完成扫地机器人的开发。

img

8. 机器人学 & CobotSys

多自由度的机械臂的难点在于机械臂的运动学正反解、运动学控制和动力学控制,是一个建模分析和数值算法实现的问题。六关节机械臂工作原理,机器人坐标系,坐标变换与旋转矩阵,欧拉角四元数,机器人的DH表达,机器人关节空间与笛卡尔空间转换,机器人的正解和反解,这些都是属于机器人学的最基本的问题。

ROS在消费级领域应用比较多,但是在条件苛刻的工业级场景里面较少使用,CobotSys 库柏特操作系统是有大规模工业场景落地的操作系统,通过实战学习工业场景机器人的落地。

学习目标: 熟练掌握机器人学关键知识点,可以进行正解和反解的推导和运算。

img

9.相机成像和驱动

相机是机器人的眼睛,我们要学习不同相机的成像原理,不同光源对成像的影响,结构光相机,双目相机和普通rgb相机的使用场景,相机下位机程序的编写,相机驱动的编写等内容。

学习效果:

相机测距仪

img

10.机器视觉OpenCV

视觉是人类最为重要的感觉。要赋予机器人智能,第一步就是给机器人赋予视觉,随着科学技术和计算机计算的不断发展,主要解决视觉问题的图像处理系统得到了长足的发展,涌现出许多优秀的框架,OpenCV是其中的代表。这一周课程学习图像卷积模糊、边缘梯度计算,一阶导数算子与二阶导数算子的运算,自定义滤波、高斯与椒盐噪声图像生成与图像去噪声增强,掌握直方图对比与反向投影技术,模板匹配等技术

学习效果:

自动驾驶,车道线识别。

img

11. 3D视觉

2d的照片丢失了一个维度的数据,在某些特殊应用场景下,不能满足开发的需求,我们要引入3d的相机来进行更准确的识别,3d相机使用的技术包含,点云模型,pcl,点云数据的读取保存和可视化,点云的拼接,点云的矩阵变化,点云滤波,直通滤波,平面滤波,点云条件去除与轮廓去除,上采样和下采样,点云对齐,分割,拟合,2d与3d配置,传感器融合等。

学习效果:

img

12. 深度学习实战

深度学习是目前很火的技术,但是大多数教程都是偏理论部分的,学完很难应用到真实的业务场景里面,我们采用目前最主流的深度学习框架,最新版(tensorflow2.0),讲解深度学习和卷积神经网络, 深度学习做重要的是组织数据集,评估模型和改善模型,这几块内容会作为我们课程的重点内容讲解。

学习效果:

生活垃圾分类,交通标志识别,人类表情感情识别等。

img

13.SLAM

SLAM是Simultaneous localization and mapping缩写,意为“同步定位与建图”,主要用于解决机器人在未知环境运动时的定位与地图构建问题,我们课程会讲解slam算法原理,坐标变换与实时构图的过程,最终利用生成好的地图文件,完成AGV小车或者扫地机器人的自主导航

学习效果:

img

14. 综合项目实战-机器人写字

项目简介

人手写数字,通过机器视觉识别数字的图像,让机器人模仿写出对应的数字。

项目特色

1、准备数据集

2、深度学习训练数据集

3、机器视觉获取图像和图像处理

4、识别数字,根据轮廓生成机器人运动轨迹,控制机器人写出数字

15. 综合项目实战-机器人无序分拣

项目简介

在料框中,随机放置着若干相同类型的盒子,机器人需要逐个拾取盒子,并将盒子按照指定要求,重新摆放。

项目特色

1、2D图像处理

2、机器视觉和机器人学的综合应用

3、3D点云处理

4、基于深度学习的物体分类与检测

5、运动规划

6、RCNN;Mask RCNN;多目标检测

7、视觉定位

img

16. 综合项目实战-机器人跟随

项目简介

机器人识别跟随嫌疑人,自主导航避障,跟随嫌疑人。

项目特色

1、深度学习工具包使用

2、数据集采集

3、数据集分析

4、小车控制等。

img

img