智能机器人软件工程师学习路线

2023-05-16

0、引言

很多朋友对机器人软件开发和人工智能感兴趣,不知道怎么学习,传智播客武汉校区在今年3月份开设了一期智能机器人软件开发工程师就业班, 在这里我把就业班的学习曲线给大家介绍一下!

0基础小白也能学会的人工智能课​www.bilibili.com/video/av62321640

1、python基础

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

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

只需要4天我们就能掌握, python基础,算数运算符,变量, 输出和输入,条件语句,循环,元组,字典等知识点,熟悉常用的控件, 文本标签,编辑框,按钮,布局,信号,槽等技术。

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

2、面向对象

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

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

3、高等数学

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

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

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

4、网络编程和多线程

网络技术是机器人工程师必备的技能,多线程也是能最大发挥程序效率的必备技能,掌握udp,tcp和socket这是编写通讯模块的重要基础, 后面我们编写工业3d相机和机械臂驱动,都需要基于socket进行编程。

看看第四周,大家的成果

我们从高级课程开始,采用纯ubuntu系统上课, 利用多线程和socket和qt计算,我们自己实现了局域网内的屏幕广播软件,实现了讲师屏幕共享个每个学生。上课用的屏幕共享软件,就是我们自己开发的!

5、HTML和爬虫

HTML和Javascript也是机器人工程师必备的技术,而不只是软件工程师的玩具。web技术实际上已经渗透到了编程的方方面面,另外大量网络上的数据我们需要能够抓取下来,做数据分析,为机器学习,数据挖掘打下坚实的基础。

第五周,大家的成果!

6、数据清洗和挖掘

数据库是重要的数据存储和查询工具,机器学习,人工智能都需要跟大量的数据打交道, 如何优雅的管理和处理数据是我们需要掌握的内容, 我们讲解常用的mysql数据库和嵌入式领域非常流行的sqlite数据库

第六周: 学生掌握 数据库概述 客户端使用 数据库操作 表结构的创建和修改 表数据的增删改查

where,order,group,分页,连接查询,外键,视图,事务, 索引 等数据操作技术。


到这里

你已经成长成为

一个初出茅庐的新兵

可以准备进入

智能机器人软件工程师

开发的大门了

机器人领域四大问题

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

7、Linux

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

我们的课程从c++开始全面切入ubuntu操作系统实验和授课。

第七周:

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

8、c++实战编程

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

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

第八,九周:

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

9、cmake和makefile实战

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

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

10、机器人操作系统

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

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

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

第十周:

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

11、机器人学 & CobotSys仿真

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

第十一周效果:

12、相机成像和驱动

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

第十二周效果:

相机测距仪

13、机器视觉OpenCV

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

第十三周学习效果:

自动驾驶,车道线识别。

14、3D视觉

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

第十四周学习效果:

15、深度学习实战

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

第十五周学习效果:

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

16、SLAM

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

第十五周学习效果:

17、综合项目实战-机器人写字

项目简介

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

项目特色

1、准备数据集

2、深度学习训练数据集

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

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

18、综合项目实战-机器人无序分拣

项目简介

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

项目特色

1、2D图像处理

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

3、3D点云处理

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

5、运动规划

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

7、视觉定位

19、综合项目实战-机器人跟随

项目简介

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

项目特色

1、深度学习工具包使用

2、数据集采集

3、数据集分析

4、小车控制等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智能机器人软件工程师学习路线 的相关文章

  • Linux下将当前目录下的某个文件复制到指定文件夹

    cp filename home directory 即cp 文件名 目标文件夹的绝对路径 批量复制 cp filename1 filename2 filename3 home directory 即cp 文件1名 文件2名 文件3名 目标
  • centos的命令行个性化配置

    centos的命令行个性化配置 cd root 进入配置文件 vim bashrc 在末行输入 PS1 61 34 debian chroot 43 debian chroot e 32 1m u e 0m 64 h e 34 1m w e
  • 数据库作业:数据查询 连接查询

    若一个查询同时涉及两个以上的表 xff0c 称之为连接查询 连接查询是数据库中最主要的查询 xff0c 包括等值连接查询 xff0c 自然连接查询 xff0c 自身连接查询等 一 等值和非等值连接查询 1 1连接查询的WHERE子句中用来连
  • Ubuntu20.04安装arm-linux-gcc

    我安装的版本是arm linux gcc 4 6 4 xff0c 并且是64位的 在windows系统中把arm linux gcc 4 6 4 arm x86 64 tar bz2压缩包放在跟Ubuntu虚拟机的共享目录下在Ubuntu2
  • OSI七层模型总结

    OSI Open System Inter Connection 开放系统互联模型 定义了不同计算机互联的标准 xff0c 设计和描述了计算机网络通信的框架 OSI有7层和5层两种模型 xff0c 7层模型从上往下分别是 xff1a 应用层
  • 23种Python设计模式之工厂方法模式详解

    x1f496 作者 xff1a 大家好 xff0c 我是阿旭 x1f61c x1f389 支持我 xff1a 点赞 x1f44d 收藏 留言 x1f4dd x1f4e3 系列专栏 xff1a 23种设计模式详解 Python x1f341
  • STM32F103C8T6驱动SG90舵机--通过延时

    前言 最近博主在尝试驱动SG90舵机的时候 xff0c 发现网上教程都是通过定时器的方式 xff0c 还要进行各种配置 xff0c 太麻烦了 xff0c 于是自己用延时简单写了一下 xff0c 也能用 舵机的控制 舵机控制就是需要一个20m
  • MyBatis-Plus 分页设置不生效

    分页不生效的原因都是拦截器的问题 添加拦截器有两种情况 在配置类上加拦截器 64 Configuration public class MyBatisPlusConfig 新增分页拦截器 xff0c 并设置数据库类型为mysql 64 Be
  • 【关于使用SpringJUnit4ClassRunner单元测试报错问题】

    关于使用SpringJUnit4ClassRunner单元测试报错问题 今天单元测试如下的代码的时候发现项目老是报错 xff1a package com yhb jsxn service import java text SimpleDat
  • Arch linux使用yay安装软件时有效性检查错误

    错误 xff1a 一个或多个文件没有通过有效性检查 span class token operator 61 61 span span class token operator gt span 正在验证 span class token b
  • 无人驾驶(四)---远程桌面控制工具: NoMachine踩坑记录

    NoMachine for mac是一款免费的远程桌面访问工具 xff0c 这款软件的连接到远程桌面后延迟可以非常低 xff0c NX协议在高延迟低带宽的链路上提供了近乎本地速度的响应能力 xff0c 打破空间和时间的障碍 xff0c 让您
  • ubuntu 20.04安装配置ssh远程服务中出现的一些问题及总结

    0 安装配置过程参考 56条消息 ubuntu20 04开启SSH远程登录 从此开始低调范 的博客 CSDN博客 ubuntu开启ssh远程登录 1 输入sudo apt get install openssh server提示Readin
  • OSPF综合实验配置

    1 R4为ISP 其他只能配置IP地址 xff0c R4与其他所有直连设备间使用公有IP 与R4相连的路由器R3 5 6 7都要做NAT 保证底层私网能ping通公网 xff1b R4直连的路由器有缺省指向R4 xff0c 每台路由器都要有
  • 双向重发布--路由策略实验报告

    题目要求 xff1a 1 两个协议间进行多点双向重发布 2 R7环回没有宣告在OPSF中 xff0c 而是后期重发布进入 xff1b 3 解决环路 xff0c 所有路径选择最优 xff0c 且存在备份 一 配置底层IP地址 R3 int g
  • VLAN实验

    实验拓扑 实验配置 1 将接口划入vlan 2 配置路由器 xff0c 通过池塘下发地址 测试 pc2可以访问pc4 pc5 pc6 pc5不能访问pc6 pc1可以访问2 4 5 6
  • TCP三次握手四次挥手(图解)

    TCP三次握手 TCP连接的建立是一个三次握手的过程 如图所示 xff1a 主机A xff08 通常也称为客户端 xff09 发送一个标识了SYN的数据段 xff0c 表示期望与服务器A建立连接 xff0c 此数据段的序列号 xff08 s
  • kali换源详细步骤

    1 进入sources list文件编辑模式 2 把kali原有的源注释掉 xff0c 把阿里源放进去 deb span class token property https span span class token punctuatio
  • C/C++中的1<<n什么意思?

    1 lt lt 2 1的二进制是00000001 lt lt 意思是将二进制编码向左移动2位并将空位补0 即00000001转化为00000100 61 4 同理 1 gt gt n 为将二进制码向右移动n位
  • Linux 文本文件编码GBK转UTF-8

    Linux服务器中调用Oracle卸数工具sqluldr2 xff0c 数据库编码为GBK 需要卸UTF 8的数据文件出来 xff0c 如果某个字段为中文 xff0c 因为GBK为两个字节 xff0c UTF 8为三个字节 xff0c 同样

随机推荐

  • PHP-RCE绕过的姿势总结

    文章目录 前言一 命令执行空格过滤取反绕过命令分隔符黑名单绕过 xff08 比如flag字符 xff09 拼接编码单双引号的绕过 二 代码执行linux中的直接查看文件内容工具通过命令行写入webshell无数字字母绕过webshell无回
  • 一些文件目录架构知识

    在Linux内所有的数据都是以文件的形式来呈现 xff0c 因此 xff0c 在Linux系统中最重要的地方就在于目录树架构 目录树架构 xff1a 指以根目录 xff08 用斜线 表示 xff09 为主 xff0c 然后向下呈现为分支状的
  • date、cal、bc命令简单的使用

    在Linux系统中的命令是严格区分大小写的 xff0c 换句话说就是 xff0c 在Linux环境中字母大小写是不一样的东西 date 显示日期与时间 用法 xff1a 直接在命令行模式中输入 date 敲回车 xff1a 格式化输出功能
  • 几个常见处理目录的命令

    xff5e cd 切换目录 进入当前使用者 debian11 的家目录 xff1a 或者 xff1a cd 去到目前的上层目录 xff1a cd 去到指定的文件的目录 xff1a cd 绝对路径 回到刚刚那个目录 xff1a cd pwd
  • Win10系统下安装JDK8笔记

    一 下载安装包 1 浏览器搜索Oracle的官网 xff1a https www oracle com xff0c 进入如下页面 xff1a 2 点击头部标题栏上的 Products 产品 xff0c 此时会有二级标题显示出来 xff0c
  • 关于Easyexcel读取EXCEL合并单元格信息

    关于Easyexcel读取EXCEL合并单元格信息 1 excel模版 span class token annotation punctuation 64 Configuration span span class token keywo
  • 安装Anaconda之后cmd打不开

    安装Anaconda之后cmd就打不开了 xff0c 原因是AutoRun命令被改为了if exist 按win 43 r xff0c 输入regedit打开注册表编辑器 xff0c 顶部输入 xff1a 计算机 HKEY CURRENT
  • git repo拉取代码gpg: Can‘t check signature: No public key问题,

    qiufanzheng 64 qiufanzheng SJB6 rk356x linux repo init repo url 61 git 64 ashrdgit sh ieinet org vendor google aosp git
  • git repo 拉取代码,报错gpg: Can‘t check signature: No public key问题

    qiufanzheng 64 qiufanzheng SJB6 rk356x linux repo init repo url 61 git 64 ashrdgit sh ieinet org vendor google aosp git
  • 利用栈来判断回文数

    一 xff1a 什么是回文数 xff1a 121 1221 这些数从前往后读 xff0c 从后往前读都是一样的 利用栈求解思路 xff1a 我们用一个数组来存储输入的字符串ss xff0c 然后我们从下标为零到最后 xff0c 取出元素放入
  • Laravel 简单使用七牛云服务

    前言 路漫漫其修远兮 xff0c 吾将上下而求索 学习 Laravel 之初觉得所有东西都很厉害的样子 xff0c 现在看来就是很厉害啊 xff01 最近在写一个项目上传的模块 xff0c 要上传图片到七牛云 xff0c 昨天看了一下午七牛
  • 前端知识点(三):Flex布局(弹性布局)

    1 定义flex布局 1 display flex 2 行内元素 display inline flex 父元素中设置为flex布局 xff0c 形成flex容器 子元素的float clear vertical align属性将失效 2
  • 网络服务---OSI七层参考模型及各层工作原理详解

    OSI网络模型概念 OSI模型 xff08 Open System Interconnection Reference Model xff09 是指国际标准化组织 ISO 提出的一个试图使各种计算机在世界范围内互连为网络的标准框架 xff0
  • 树莓派官方系统连接电脑(电视)显示器无信号输出的解决方法

    一 打开盘符中的config文件 二 对第五行进行修改 修改前 xff1a 将 hdmi safe 61 1 修改为 xff1a hdmi safe 61 1 overscan left 61 30 overscan right 61 30
  • Cannot read properties of null (reading ‘style‘)前端错误记录21/10/20

    前端错误记录 Vue报错Cannot read properties of null reading style Vue报错 Cannot read properties of null reading style 起因 xff1a Vue
  • Java获取国内各个地区实时天气

    获取国内各个地区实时天气 不废话直接上代码 span class token keyword public span span class token keyword static span span class token class n
  • MyBatis-Plus——条件构造器Wapper、QUeryWrapper、UpdateWrapper、LambdaQueryWrapper、LambdaUpdateWrapper(详解)

    目录 一 条件构造器简介 二 QueryWrapper组装查询条件 三 QueryWrapper组装排序条件 四 QueryWrapper组装删除条件 五 QueryWrapper实现修改功能 六 QueryWrapper条件的优先级 七
  • 左移和右移的算法

    lt lt 左移 1 运算规则 xff1a 按二进制形式把所有的数字向左移动对应的位数 xff0c 高位移出 舍弃 xff0c 低位的 空位补零 2 语法格式 xff1a 需要移位的数字 lt lt 移位的次数 例如 xff1a 3 lt
  • 1.Stm32F407系列之点亮LED灯

    点灯大师已上线 xff01 我们在测试一个开发板的好坏 xff0c 或者是验证一些小功能模块是否起作用的时候 xff0c 最简单的方法就是打印输出或者是用LED灯指示 想要控制LED灯的亮和灭 xff0c 只要我们配置好IO口 xff0c
  • 智能机器人软件工程师学习路线

    0 引言 很多朋友对机器人软件开发和人工智能感兴趣 xff0c 不知道怎么学习 xff0c 传智播客武汉校区在今年3月份开设了一期智能机器人软件开发工程师就业班 xff0c 在这里我把就业班的学习曲线给大家介绍一下 0基础小白也能学会的人工