传智播客今年3月份开设了首期智能机器人软件开发工程师就业班,很多对机器人软件开发和人工智能感兴趣的小伙伴问到这个要怎么学习, 今天,我就把就业班的学习曲线给大家分享一下! 不管有没有编程基础的童鞋, 我都推荐大家先去学Python ,Python像一把瑞士军刀, 你可以用他干很多东西,比如自动回复邮件、自动收集信息。 Python又非常简单容易理解。只要把解决问题的过程想明白,很容易就能转化成对应的代码。 只需要4天我们就能掌握, python基础,算数运算符,变量, 输出和输入,条件语句,循环,元组,字典等知识点,熟悉常用的控件, 文本标签,编辑框,按钮,布局,信号,槽等技术。 很多学员是零基础的 ,学习 python ***周,可以做出来简单的学生管理系统,火车票查询系统。 python是一门面向对象的语音,面向对象是重要的编程思想,接下来我们通过坦克大战这种经典的游戏来让大家掌握面向对象的思想。 看看第二周,大家的成果吧。 线性代数的重要性需要特别强调。一般来说,***的工程师和科学家在职业生涯中一定要掌握高等数学,线性代数,梳理统计,矩阵的乘法、向量的乘法、向量的内积、变化率的求导、概率论和极限。要想掌握机器视觉和人工智能, 成为年薪30万以上的工程师, 懂高等数学和线性代数,这是必备基础。 看看第三周,大家的成果。 综合运用矩阵运算,反向传导,梯度下降,实现小车的自动驾驶, 这是深入理解人工智能课程的基石。 网络技术是机器人工程师必备的技能,多线程也是能***发挥程序效率的必备技能,掌握udp,tcp和socket这是编写通讯模块的重要基础, 后面我们编写工业3d相机和机械臂驱动,都需要基于socket进行编程。 看看第四周,大家的成果 我们从高级课程开始,采用纯ubuntu系统上课, 利用多线程和socket和qt计算,我们自己实现了局域网内的屏幕广播软件,实现了讲师屏幕共享个每个学生。上课用的屏幕共享软件,就是我们自己开发的! HTML和Javascript也是机器人工程师必备的技术,而不只是软件工程师的玩具。web技术实际上已经渗透到了编程的方方面面,另外大量网络上的数据我们需要能够抓取下来,做数据分析,为机器学习,数据挖掘打下坚实的基础。 第五周,大家的成果! 数据库是重要的数据存储和查询工具,机器学习,人工智能都需要跟大量的数据打交道, 如何优雅的管理和处理数据是我们需要掌握的内容, 我们讲解常用的mysql数据库和嵌入式领域非常流行的sqlite数据库 第六周: 学生掌握 数据库概述 客户端使用 数据库操作 表结构的创建和修改 表数据的增删改查 where,order,group,分页,连接查询,外键,视图,事务, 索引 等数据操作技术。 到这里 你已经成长成为 一个初出茅庐的新兵 可以准备进入 智能机器人软件工程师 开发的大门了 IT行业的程序员都会争论高级语言和低级语言哪个好,Linux和Windows哪个好,而对于机器人工程师来说,我们是工程师,语言和操作系统都是工具, 哪个工具***顺手,我们就要优先学习哪个工具。从现在到可预见的未来里,Linux是机器人软件工程师***的操作系统。原因是机器人操作系统ROS是基于Ubuntu开发的,在Ubuntu上运行***稳定。虽然window10 投入巨资打算支持ros, 但是目前来讲ubuntu是我们***的选择。 我们的课程从c++开始***切入ubuntu操作系统实验和授课。 第七周: 学生掌握装ubuntu操作系统,掌握shell脚本编程,双系统安装方法,自主解决各种显卡,网卡驱动,Linux内核问题。 python我们说是瑞士军刀,但是真要去造机器人,合适的工具并不是瑞士军刀,而是C/C++这样简单粗暴的锤子和螺丝刀般的工具。 工具***重要的是如何去使用, 我们用大量的案例,来教大家,带大家去使用工具。我们课程类比讲解python和c++的异同点, 短期内让大家掌握,clion开发环境,变量和常量,数组和Vectors,操作符和流程控制,字符和字符串处理 函数,Characters and Strings,Functions,指针和引用,OOP -面向对象,操作符重载,继承,封装,智能指针,异常处理,IO和流 ,boost,STL模版技术等c++核心技能。 第八,九周: c++和python融会贯通,学生可以自己编译c++工程为库文件,用python去调用c++代码。python写业务逻辑简洁明了,c++做核心算法,整洁***。 c语言和c++语言从诞生到现在已经有几十年了, 很多前辈程序员写出了大量经典的框架和工具集, 学习编译工具理解Github存在的意义, 让前辈的代码融入到我们的工程中。 第九周: 学生能自主编译opencv, FFmpeg, pointcloud等经典c++项目, 并引入到自己工程中。 ROS( Robot Operating System,机器人操作系统)诞生于2007年,并很快在机器人研究领域掀起了ROS开发与应用的热潮,目前已经成为机器人领域的网红。 谷歌、亚马逊、微软等众多知名公司已经广泛使用ROS系统,熟练掌握ROS操作系统,已经成为机器人开发的重要一环, 猎聘网上搜索ROS关键字, 大多数岗位起步月薪到达到1.5~2万元。 第十周: 熟练使用pid原理, 联合使用c++和Python语言,完成扫地机器人的开发。 多自由度的机械臂的难点在于机械臂的运动学正反解、运动学控制和动力学控制,是一个建模分析和数值算法实现的问题。六关节机械臂工作原理,机器人坐标系,坐标变换与旋转矩阵,欧拉角四元数,机器人的DH表达,机器人关节空间与笛卡尔空间转换,机器人的正解和反解,这些都是属于机器人学的***基本的问题。我们花一周的时间为大家讲解 ROS在消费级领域应用比较多,但是在条件苛刻的工业级场景里面较少使用,CobotSys 库柏特操作系统是有大规模工业场景落地的操作系统,通过实战学习工业场景机器人的落地。 第十一周效果: 相机是机器人的眼睛,我们要学习不同相机的成像原理,不同光源对成像的影响,结构光相机,双目相机和普通rgb相机的使用场景,相机下位机程序的编写,相机驱动的编写等内容。 第十二周效果: 相机测距仪 视觉是人类***为重要的感觉。要赋予机器人智能,***步就是给机器人赋予视觉,随着科学技术和计算机计算的不断发展,主要解决视觉问题的图像处理系统得到了长足的发展,涌现出许多***的框架,OpenCV是其中的代表。这一周课程学习图像卷积模糊、边缘梯度计算,一阶导数算子与二阶导数算子的运算,自定义滤波、高斯与椒盐噪声图像生成与图像去噪声增强,掌握直方图对比与反向投影技术,模板匹配等技术 第十三周学习效果: 自动驾驶,车道线识别。 2d的照片丢失了一个维度的数据,在某些特殊应用场景下,不能满足开发的需求,我们要引入3d的相机来进