课程试听
正在播放

阶段一 python基础

展开
第一章 python入门
1-1 python简介
  • 01.计算机的硬件组成和软件组成 免费试学
  • 02.python简介 免费试学
  • 03.python的优缺点和使用场景 免费试学
1-2 python开发环境
  • 04.python环境安装和第一个python程序 免费试学
  • 05.pycharm的使用 免费试学
1-3 数据类型和运算符
  • 06.注释和pycharm提示 免费试学
  • 07.变量的定义和命名规范 免费试学
  • 08.变量类型和运算符 免费试学
  • 09.输出和格式化输出 免费试学
  • 10.输入函数 免费试学
  • 11.输入输出练习题 免费试学
  • 12.运算符和运算符的优先级 免费试学
1-4 条件控制
  • 13.if语句 免费试学
  • 14.if嵌套 免费试学
  • 15.石头剪刀布 免费试学
1-5 循环
  • 01.while循环 免费试学
  • 02.循环练习 免费试学
  • 03.打印三角形 免费试学
  • 04.break和continue 免费试学
  • 05.九九乘法表和倒序九九乘法表 免费试学
  • 06.for循环 免费试学
  • 07.range 免费试学
  • 08.练习题 免费试学
  • 09.循环结合else 免费试学
  • 10.密码合法判断 免费试学
第二章 Python 基础
2-1 列表与元组
  • 11.列表的定义和访问
  • 12.列表的增删改查和排序
  • 13.登录系统练习
  • 14.嵌套列表的定义和访问修改
  • 15.嵌套列表练习
  • 31.素数练习
  • 32.用户名合法判断
  • 33.元组的定义和基本操作
  • 34.元组的使用场景
2-2 函数
  • 35.函数的定义和文档注释
  • 36.函数参数
  • 37.函数返回值和四种函数
  • 38.形参和实参
  • 39.局部变量和全局变量
  • 40.模块的定义和使用
2-3 小案例:名片管理
  • 41.名片管理系统框架搭建
  • 42.创建名片
  • 43.显示全部名片
  • 44.查询名片
  • 45.查询中退出以及输入错误
  • 46.名片修改和删除
2-4 pyqt图形化开发
  • 47.pyqt简介和环境搭建
  • 48.窗口展示和主要模块
  • 49.窗口标题图标大小和气泡提示
  • 50.文本和图片展示
  • 51.单行和多行输入框
  • 52.信号和槽绑定
  • 53.信号和槽补充
  • 54.水平和竖直布局
  • 55.表单布局
  • 56.布局嵌套
  • 57.输入框
  • 58.单选框和复选框
  • 59.注册界面实现
  • 60.注册功能实现
第三章 python常用API
3-1 集合和字符串
  • 61.集合的定义和特点
  • 62.集合的基本操作
  • 63.列表元组和集合转换
  • 64.字符串的定义和基本操作
  • 65.字符串判断
  • 66.字符串的查找和替换
  • 67.字符串拆分连接去空白
  • 68.字符串练习
  • 69.字典的特点和使用场景
  • 70.字典的查询和遍历
  • 71.字典的练习
  • 72.高级变量练习
  • 73.高级数据类型内置函数和运算符
  • 74.切片
  • 75.高级变量练习
3-2 推导式和日期处理
  • 76.列表推导式
  • 77.其它推导式
  • 78.字符串分隔练习
  • 79.天数统计练习
  • 80.日期合法判断练习
3-3 递归和文件操作
  • 81.默认参数和关键字参数
  • 82.可变参数args和kwargs
  • 82.默认参数的使用场景
  • 83.传递元组和字典给可变参数
  • 84.递归
  • 85.文件的打开和关闭
  • 86.文件的读写
  • 87.文件备份练习
  • 88.代码统计
  • 89.相对路径和绝对路径
  • 90.编码和解码
第四章 python面向对象开发
4-1 面向对象
  • 91.定义类和创建对象
  • 92.属性和方法的定义
  • 93.self参数
  • 94.__init__方法和成员属性
  • 95.__str__方法
  • 96.手机案例
  • 97.搬家具分析
  • 98.搬家具
  • 99.属性私有化
  • 100.属性私有化补充和方法私有化
  • 101.洗衣机基本功能
  • 102.封装实现
  • 103.继承
  • 104.子类方法重写和属性增加
  • 105.多继承
  • 106.多态和鸭子模型
  • 107.枚举
  • 108.枪支类定义
  • 109.玩家类和反恐精英流程
  • 100.面向对象练习
  • 101.模块的三种导入方式
  • 103.__name__属性
  • 104.包的导入
  • 105.sys模块
  • 106.time和datetime模块
  • 107.math模块和random模块
4-2 异常
  • 108.异常捕获
  • 109.异常捕获其它语法
  • 110.常见的异常
  • 111.自定义异常
  • 112.常见的异常案例
4-3 面向对象注册登录
  • 113.pyqt面向对象提取
  • 114.项目框架
  • 115.登录界面的逻辑处理
  • 116.登录功能实现
  • 117.登录结果实现
第五章 python综合小案例
5-1 飞机大战游戏开发
  • 01.pygame简介和安装
  • 02.窗口展示和事件处理
  • 03.标题图标以及图片展示
  • 04.文字展示和音效播放
  • 05.计算fps
  • 06.Surface
  • 07.创建游戏窗口和背景展示
  • 08.我方飞机类提取和展示
  • 09.飞机移动
  • 10.飞机移动和越界处理
  • 11.子弹发射和位置确定
  • 12.子弹自动移动和回收
  • 13.敌方飞机展示以及和子弹的碰撞检测
  • 14.碰撞之后处理和敌方飞机越界重置
  • 15.我方飞机碰撞和游戏结束
  • 16.创建多个敌方飞机
5-2 贪吃蛇游戏开发
  • 01.游戏框架搭建
  • 02.游戏窗口退出
  • 03.展示首页snake字体
  • 04.确定snake文字位置
  • 05.提示文字和界面跳转
  • 06.游戏界面网格绘制
  • 07.绘制贪吃蛇和苹果
  • 08.贪吃蛇的移动
  • 09.调节贪吃蛇的方向
  • 10.贪吃蛇吃苹果和分数展示
  • 11.游戏结束判断
  • 12.游戏结束界面展示
  • 13.游戏结束处理
  • 14.后续课程说明
5-3 机器人绘制开发
  • 01.项目简介
  • 02.项目框架搭建
  • 03.获取鼠标绘制路径点
  • 04.界面绘制鼠标路径
  • 05.清理画板
  • 07.机器人绘制

阶段二 C++应用开发

展开
第一章 1-基础语法
1-1 介绍与环境搭建
  • 01_c++ 介绍
  • 02_编译环境(一)
  • 03_编译环境(二)
  • 04_开发工具介绍
1-2 数据类型与变量
  • 05_HelloWorld
  • 06_命令行编译
  • 07_注释
  • 08_数据类型
  • 09_变量
  • 10_常量
1-3 输入与输出
  • 11_输入和输出
  • 12_输入输出练习
1-4 条件判断与循环
  • 13_if 语句
  • 14_switch 语句
  • 15_逻辑&关系运算符
  • 16_三元表达式
  • 17_while循环
  • 18_continue&break
  • 19_do-while
  • 20_for循环
  • 21_循环练习
1-5 命名空间
  • 22_命名空间(一)
  • 23_命名空间(二)
第二章 2-数组与字符串
2-1 数组
  • 24_数组 - 声明和初始化
  • 25_数组 - 取值和修改值
  • 26_数组 - 遍历数组
  • 27_数组 - 数组的长度
  • 28_数组 - 是一串连续的地址存放数据
  • 29_数组 - 二维数组(一)
  • 30_数组 - 二维数组(二)
2-2 字符串
  • 01_昨日回顾
  • 02_一个工程创建多个程序
  • 03_作业
  • 04_字符串 - C语言字符串(一)
  • 05_字符串 - C语言字符串(二)
  • 06_字符串 - C++字符串(一)
  • 07_字符串 - C++字符串(二)
  • 08_字符串 - 练习
2-3 vector
  • 09_vector - 声明和初始化
  • 10_vector - 访问vector
  • 11_vector - 操作
  • 12_vector - 二维vector(一)
  • 13_vector - 二维vector (二)
第三章 3-函数
3-1 函数基础
  • 14_函数 - 定义函数(一)
  • 15_函数 - 定义函数(二)
  • 16_函数 - 函数原型
  • 17_函数 - 头文件和源文件介绍
  • 18_ 函数 - 分离式编译
  • 19_函数 - 头文件解释
  • 20_函数 - 函数重载
3-2 函数传参
  • 21_函数 - 传递参数(值拷贝)
  • 22_函数 - 传递数组(一)
  • 23_函数 - 传递数组(二)
  • 24_函数 - 传递引用(一)
  • 25_函数 - 传递引用(二)
  • 26_函数 - 传递引用(练习)
3-3 内联函数与范围规则
  • 01_昨日回顾
  • 02_作业(一)
  • 03_作业(二)
  • 04_函数是如何被调用工作的
  • 05_内联函数
  • 06_范围规则
第四章 4-指针与引用
4-1 创建指针
  • 07_指针 - 什么是指针
  • 08_指针 - 声明和初始化
  • 09_指针 - 指针地址和大小
  • 10_指针 - 创建指针的两种方式(一)
  • 11_指针?-?创建指针的两种方式(二)
  • 12_指针?-?new?和?delete?细节
4-2 指针解引用
  • 13_指针?-?解引用
  • 14_指针?-?练习(交换数值)
  • 15_指针?-?解引用(细节)
4-3 指针与数组
  • 16_指针?-?指针与数组(一)
  • 17_指针?-?指针与数组(二)
  • 18_指针?-?指针运算
  • 19_指针?-?练习(指针运算修改数组)
  • 20_指针?-?堆内存存放数组
4-4 指针与常量
  • 21_指针?-?指针与常量(一)
  • 22_指针?-?指针与常量(二)
4-5 指针与函数
  • 23_指针与函数?-?参数传递指针
  • 24_指针与函数?-?函数返回指针
4-6 二级指针
  • 25_二级指针(介绍)
  • 26_二级指针(应用场景)
  • 27_二级指针(练习)
4-7 函数指针
  • 28_结构体
  • 01_昨日回顾
  • 02_作业 (一)
  • 03_作业(二)
  • 04_作业(三)
  • 05_函数指针 - 简单使用
  • 06_函数指针 - 传参使用
  • 07_函数指针 - 应用场景(一)
  • 08_函数指针 - 应用场景(二)
  • 09_typedef - 介绍
  • 10_typedef - 简化函数指针
4-8 引用
  • 11_引用 - 介绍
  • 12_引用 - 左值和右值
  • 13_引用 - 左值引用
  • 14_引用 - 右值引用
  • 15_引用 - 练习
第五章 5-面向对象
5-1 类与对象
  • 16_类和对象 - 类
  • 17_类和对象 - 创建对象(两种方式)
  • 18_类和对象 - 访问对象中的成员(一)
  • 19_类和对象 - 访问对象中的成员(二)
  • 20_类和对象 - 访问修饰符
  • 21_类和对象 - c++不是特别推崇封装
  • 22_类和对象 - 实现类当中成员函数(一)
  • 23_类和对象 - 实现类当中成员函数(二)
5-2 特殊成员函数
  • 24_类和对象 - 构造函数(一)
  • 25_类和对象 - 构造函数 (二)
  • 26_类和对象 - 构造函数(三)
  • 27_类和对象 - 委托构造函数
  • 28_类和对象 - 析构函数mp4
  • 29_练习(一)
  • 30_练习(二)
  • 01_昨日回顾
  • 02_作业 (一)
  • 03_作业(二)
  • 04_ 作业(三)
  • 05_拷贝构造函数 - 拷贝介绍
  • 06_拷贝构造函数
  • 07_拷贝构造函数 - 细节
  • 08_拷贝构造 - 浅拷贝引发的问题(一)
  • 09_拷贝构造 - 浅拷贝引发的问题(二)
  • 10_拷贝构造 - 深拷贝
  • 11_拷贝出现的场景
  • 12_移动构造函数 (一)
  • 13_移动构造函数(二)
  • 14_move函数
5-3 常函数与静态成员
  • 15_this指针
  • 16_常函数
  • 17_常对象
  • 18_静态成员变量(一)
  • 19_静态成员变量(二)
  • 20_静态成员函数
5-4 友元概念
  • 21_结构体
  • 22_友元函数
  • 23_友元类
第六章 6-运算符重载
6-1 运算符重载基础
  • 24_运算符重载 - 介绍
  • 25_运算符重载 - 意义
  • 26_运算符重载
  • 01_昨日回顾
  • 02_运算符重载 - 两种定义方式
  • 03_运算符重载 - 重载输出运算符(一)
  • 04_运算符重载 - 重载输出运算符(二)
  • 05_运算符重载 - 输入运算符重载
6-2 特殊函数与运算符重载
  • 06_作业 (一)
  • 07_作业 (二)
  • 08_运算符重载 - 拷贝赋值运算符(一)
  • 09_运算符重载 - 拷贝赋值运算符(二)
  • 10_运算符重载 - 移动赋值运算符(三)
  • 11_总结回顾类的特殊成员函数
  • 12_运算符重载 - 调用运算符
第七章 7-lambda表达式
7-1 lambda表达式
  • 13_lambda表达式 - 介绍
  • 14_lambda表达式 - 使用
  • 15_lambda表达式 - 捕获列表
  • 16_lambda表达式 - 应用场景(一)
  • 17_lambda 表达式 - 应用场景(二)
  • 18_lambda表达式 - 练习
第八章 8-继承与多态
8-1 继承
  • 19_继承 - 介绍
  • 20_继承 - 继承入门
  • 21_继承 - 继承状态下的访问修饰符
  • 22_继承 - 构造函数(调用顺序)
  • 23_继承 - 析构函数(调用顺序)
  • 24_继承 - 继承和组合状态下的(构造和析构)
  • 25_继承 - 手动调用父类有参构造
  • 26_继承 - 再说初始化列表(一)
  • 27_继承 - 再说初始化列表(二)
  • 01_昨日回顾
  • 02_作业(一)
  • 03_作业(二)
  • 04_作业(三)
  • 05_继承 - 重写父类同名函数
  • 06_继承 - 多继承
  • 07_继承 - 多继承(构造函数顺序)
  • 08_类的前置声明
8-2 多态
  • 09_多态 - 静态多态
  • 10_多态 - 父类的指针接收子类对象(一)
  • 11_多态 - 父类的指针接收子类对象(二)
  • 12_多态 - 静态联编和动态联编
  • 13_多态 - 为什么要有两种联编
  • 14_多态 - 练习(一)
  • 15_多态 - 练习(二)
8-3 虚函数
  • 16_虚函数 - 介绍
  • 17_虚函数 - 虚函数工作原理
  • 18_虚函数 - 构造函数不能是虚函数
  • 19_虚函数 - 析构函数可以是虚函数
8-4 关键字与纯虚函数
  • 20_关键字 - override
  • 21_关键字 - final
  • 22_=delete & =default
  • 23_纯虚函数
  • 24_抽象类和接口
第九章 9-智能指针与宏
9-1 智能指针
  • 25_智能指针 - 原始指针的隐患
  • 26_智能指针 - 背后的原理
  • 27_智能指针 - unique_ptr
  • 28_智能指针 - 练习
  • 01_昨日回顾
  • 02_作业(一)
  • 03_作业(二)
  • 04_细节 - 创建子类对象不会顺带创建父类对象
  • 05_细节 - 创建对象隐式转换的问题
  • 06_智能指针 - shared_ptr
  • 07_智能指针 - shared_ptr 遇到的问题
  • 08_智能指针 - shared_ptr遇到的问题(二)
  • 09_智能指针 - weak_ptr
  • 10_智能指针 - 解决sharepd_ptr的问题
  • 11_智能指针 - 智能指针的应用场景
9-2 动态内存
  • 12_动态内存 - 内存分区
  • 13_动态内存 - new 和 delete
  • 14_动态内存 - malloc 和 free
9-3 宏
  • 15_宏 - 宏变量
  • 16_宏 - 条件宏
第十章 10-枚举与异常
10-1 枚举
  • 17_枚举 - 两种定义方式
  • 18_枚举 - 访问枚举量
  • 19_枚举 - 练习(一)
10-2 异常
  • 20_异常 - 介绍
  • 21_异常 - 不使用异常机制
  • 22_异常 - 抛出异常
  • 23_异常 - 捕获异常
  • 24_noexcept 关键字
第十一章 11-I/O
11-1 作业回顾
  • 01_昨日回顾
  • 02_作业 - 学生部分
  • 03_作业 - 教师部分
  • 04_作业 - 初始化教师和学生
  • 05_作业 - 打印教师和学生
  • 06_作业 - 相互包含头文件的问题
  • 07_作业 - 回收释放内存
11-2 I/O
  • 08_io - 基本输入输出
  • 09_io - 字符串流(输入流)
  • 10_io - 字符串流(练习)
  • 11_io_字符串流(输出流)
  • 12_io_文件输入流(一)
  • 13_io - 文件输入流(二)
  • 14_io - 文件输出流(一)
  • 15_io - 文件输出流(二)
第十二章 12-模板编程与容器
12-1 模板编程
  • 16_模板编程 - 模板编程的必要性
  • 17_模板编程 - 函数模板(一)
  • 18_模板编程 - 函数模板(二)
  • 19_函数模板 - 背后的细节
  • 20_函数模板 - 重载
  • 21_函数模板 - 练习
  • 22_函数模板 - 可变参数
  • 01_昨日回顾
  • 02_读取学生
  • 03_写入学生
  • 04_模板编程 - 可变参数的函数模板
  • 05_模板编程 - 模板类的必要性
  • 06_模板编程 - 模板类(一)
  • 07_模板编程 - 模板类(二)
12-2 容器
  • 08_容器 - 顺序容器(介绍)
  • 09_容器 - 顺序容器(queue)
  • 10_容器 - 顺序容器(deque)
  • 11_容器 - 顺序容器(forward_list & list)
  • 12_迭代器 - 介绍
  • 13_迭代器 - 讲解(一)
  • 14_迭代器 - 讲解(二)
  • 15_迭代器 - 删除元素(一)
  • 16_迭代器 - 删除元素(二)
  • 17_关联容器 - pair
  • 18_关联容器 - map
  • 19_关联容器 - map
  • 20_管理容器 - set
第十三章 13-函数对象
13-1 function对象
  • 21_函数对象 - function对象(接收全局函数)
  • 22_函数对象 - function对象(替换函数指针)
  • 01_昨日回顾
  • 02_作业 - 定义容器类
  • 03_作业 - 读取学生
  • 04_作业 - 删除学生
  • 05_作业 - 写入学生
  • 06_function - 接收lambda表达式
  • 07_function - 接收静态成员和非静态成员函数
  • 08_function - 练习
13-2 bind函数
  • 09_bind - 绑定全局函数
  • 10_bind - 绑定成员函数
  • 11_bind - 占位符
  • 12_bind - 应用场景
  • 13_bind - 练习
第十四章 14-多线程
14-1 线程基础
  • 14_线程 - 介绍
  • 15_线程 - 让线程运行函数(一)
  • 16_线程 - 让线程运行函数(二)
  • 17_线程 - join & detach
  • 18_线程 - 线程id 和 休眠
  • 19_线程 - 结束线程
14-2 线程并发
  • 20_线程 - 并发线程引发的问题
  • 21_线程 - 互斥元解决并发问题
  • 22_线程 - 互斥元 的细节
  • 23_线程同步 - 搬运盒子(一)
  • 24_线程同步 - 搬运盒子(二)
  • 01_昨日回顾
  • 02_作业 (一)
  • 03_作业(二)
  • 04_面向对象重构搬运盒子(一)
  • 05_面向对象重构搬运盒子(二)
  • 06_lock_guard
  • 07_unique_lock
  • 08_条件变量 - 介绍
  • 09_条件变量 - 父亲存钱,儿子取钱(一)
  • 10_条件变量 - 父亲存钱,儿子取钱(二)
  • 11_async函数 - 引子
  • 12_async函数 - 使用(一)
  • 13_async函数 - 使用(二)
第十五章 15-设计模式
15-1 单例模式
  • 14_设计模式 - 介绍
  • 15_单例模式 -(懒汉式)
  • 16_单例模式 -(饿汉式)
  • 17_单例模式 -(多线程并发的问题)
  • 18_单例模式 - (双锁检查)
  • 19_单例模式 - 指令乱序
15-2 观察者模式
  • 20_观察者模式 - 介绍
  • 21_观察者模式 - 简单入门
  • 22_观察者模式 - 进阶(一)
  • 23_观察者模式 - 进阶(二)
  • 24_观察者模式 - 强化练习
第十六章 16-make 与 cmake
16-1 make
  • 01_make - 介绍
  • 02_make - 程序编译的过程
  • 03_make - makefile 介绍
  • 04_make - makefile 细节
  • 05_make - 编译多个文件(一)
  • 06_make - 编译多个文件(二)
  • 07_make - 编译多个文件(三)
  • 08_make - 伪目标(清楚文件)
16-2 cmake
  • 09_cmake - 介绍
  • 10_cmake - 创建子项目
  • 11_cmake - 变量和打印
  • 12_cmake - 什么是库
  • 13_cmake - 导入动态库(一)
  • 14_cmake - 导入动态库(二)
  • 15_cmake - 导入多个动态库(一)
  • 16_cmake - 导入多个动态库(二)
  • 17_cmake - find_library 查找库
  • 18_cmake - foreach 查找都多个动态库mp4
  • 19_cmake - 导入第三方库OpenCV(一)
  • 20_cmake - 导入第三方库OpenCV(二)
  • 21_cmake - 导入第三方库OpenCV(三)

阶段三 Qt图形化实战

展开
第一章 QT基础入门
1-1 介绍与环境准备
  • 01_qt - 介绍
  • 02_qt - 安装
  • 03_qt - 目录介绍&配置环境变量
1-2 基础控件
  • 04_helloworld (一)
  • 05_helloworld (二)
  • 06_helloworld (三)
  • 07_设置图标&标题
  • 08_窗口和布局 - 定义窗口类
  • 09_窗口和布局 - 窗口大小
  • 10_窗口和布局 - 添加按钮
  • 11_窗口和布局 - label&edit
1-3 布局与事件
  • 12_布局 - 介绍
  • 13_布局 - QBoxLayout(一)
  • 14_布局 - QBoxLayout(二)
  • 15_绘制 - 画线条
  • 16_绘制 - 画文字&矩形&圆&多边形
  • 17_按钮的点击操作(一)
  • 18_按钮的点击操作(二)
第二章 Qt高级编程
2-1 信号与槽
  • 01_作业 - 主窗口搭建
  • 02_作业 - 登录失败
  • 03_作业 - 登录成功
  • 04_作业 - 关闭窗口
  • 05_信号和槽 - 接收qt的信号(一)
  • 06_信号和槽 - 接收qt的信号(二)
  • 07_信号和槽 - 定义槽函数(一)
  • 08_信号和槽 - 定义槽函数(二)
  • 09_信号和槽 - 接收自定义信号(一)
  • 10_信号和槽 - 接收自定义信号(二)
  • 11_信号和槽 - 三个开关介绍
  • 12_显示图片(一)
  • 13_显示图片(二)
  • 14_使用qt creator 创建项目
2-2 socket编程
  • 15_socket - 介绍
  • 16_socket - tcp服务端(ui搭建)
  • 17_socket - tcp服务端(接收信息)
  • 18_socket - tcp服务端(发送消息)
  • 19_socket - tcp客户端(UI搭建)
  • 20_socket - tcp客户端(实现)
  • 21_socket - udp 实现

阶段四 Linux指令集

展开
第一章 Linux命令
1-1 环境搭建
  • 01_操作系统(介绍)
  • 02_操作系统(发展历史)
  • 03_安装虚拟机
  • 04_安装Ubuntu
1-2 基础命令
  • 05_文件目录
  • 06_命令小技巧
  • 07_常用命令(一)
  • 08_常用命令(二)
  • 09_查看系统信息
  • 10_文件权限(一)
  • 11_文件权限(二)
  • 12_账户操作 (一)
  • 12_账户操作(二)
1-3 高级命令
  • 13_高级命令(一)
  • 14_高级命令(链接)
  • 15_高级命令(find & grep)
  • 16_高级命令(tar命令)
  • 17_高级命令(gzip压缩)
  • 18_高级命令(bzip2 & zip)
  • 19_远程拷贝 scp(一)
  • 20_切换软件源&安装vmtools
  • 21_远程拷贝 scp(二)
  • 22_远程拷贝scp(三)
  • 23_高级命令 - wget & tree
1-4 vim编辑器
  • 01_vim编辑器(一)
  • 02_vim编辑器(二)
第二章 Shell脚本
2-1 shell入门
  • 03_虚拟机网络连接方式说明
  • 04_使用xshell连接虚拟机
  • 05_shell - 介绍
  • 06_shell - 初体验
  • 07_shell - 细节
2-2 shell脚本与定时任务
  • 08_注释
  • 09_本地变量(普通变量)
  • 10_本地变量(命令变量)
  • 11_全局变量
  • 12_系统全局变量
  • 13_数组
  • 14_运算符 - 关系&算术运算符
  • 15_运算符 - 逻辑运算符&文件运算符
  • 16_条件判断(一)
  • 17_条件判断(二)
  • 18_循环 - for
  • 19_循环 - while
  • 20_函数(一)
  • 21_函数(二)
  • 22_键盘输出
  • 23_定时任务

阶段五 编程应用高等数学

展开
第一章 高数知识点复习
1-1 环境搭建
  • 01_课程引言和开发环境安装
  • 02_常见的初等数学的python运算
  • 03_美化输出显示
  • 04_代数运算的python表达
  • 05_通项求和和乘积
  • 06_代数方程求解
  • 07_表达式的其他运算
  • 08_初等函数复习
1-2 极限导数微积分
  • 09_无穷和数列
  • 10_极限的概念
  • 11_极限的代码运算
  • 12_简单的极限应用
  • 13_导数的演示
  • 14_导数值和函数变换趋势
  • 15_基本函数和复合函数求导
  • 16_微分积分和泰勒展开
  • 17_微积分的应用场景
  • 18_微分方程的应用
  • 19_微积分作业题
1-3 行列式和矩阵
  • 20_行列式和行列式性质
  • 21_齐次方程和非齐次方程定义
  • 22_矩阵的运算和矩阵转置
  • 23_逆矩阵
1-4 排列和组合
  • 01_排列和组合入门
  • 02_无放回类型
  • 03_分布律
  • 04_扩展:有放回类型的概率
  • 05_事件和事件的运算
  • 06_概率作业题
  • 07_贝叶斯简单概念
  • 08_贝叶斯公式的运算
第二章 numpy编程实践
2-1 numpy入门
  • 09_numpy入门和常见API
  • 10_numpy的属性和运算api
  • 11_numpy数组的简单索引
  • 12_numpy数组的元素操作
  • 13_二维numpy数组的切片和索引
  • 14_numpy形状修改的常见API
  • 15_numpy高维数据和应用场景
  • 16_numpy数据统计的API
  • 17_矩阵的运算
  • 18_正态分布和方差
  • 19_numpy打散数据
  • 20_numpy的布尔过滤
  • 21_numpy数组的排序操作
2-2 numpy案例
  • 22_小案例:随机数计算pi
  • 23_小案例:二维数组的切片
  • 24_小案例:二维数组的切片
  • 25_数组的拆分和合并
  • 26_通过索引获取新数组
  • 27_numpy的广播机制
  • 28_numpy广播机制的应用
  • 29_numpy的其他API
  • 30_matplotlib的简单使用

阶段六 ROS核心基础

展开
第一章 ROS三大通信方式
1-1 ros简介
  • 01.机器人开发面临问题
  • 02.ros简介
  • 03.ros版本介绍
  • 04.ros环境搭建
  • 05.ros架构设计
  • 06.hello?ros
  • 07.roscpp
  • 08.rospython
  • 09.ros常用api
  • 10.ros节点命令
  • 11.ros工程配置简介
  • 01.回顾
1-2 topic通信
  • 02.topic通信
  • 03.topic发布者cpp实现
  • 04.命令回顾
  • 05.topic订阅者cpp实现
  • 06.topic通信python实现
  • 08.topic命令回顾
  • 09.topic订阅线程补充
  • 10.匿名节点
  • 11.自定义msg
  • 12.python使用自定义msg
  • 12.使用自定义msg
  • 13.其它自定义msg
  • 14.其它自定义msg使用
  • 15.topic总结
1-3 topic通信控制小乌龟
  • 16.小乌龟简介
  • 01.回顾
  • 02.小乌龟界面搭建
  • 03.小乌龟界面和点击事件
  • 04.bind点击按钮传递局部变量数据
  • 05.界面控制小乌龟
  • 06.小乌龟面向对象
  • 06.小乌龟面向对象控制实现
  • 07.python小乌龟控制
  • 08.python小乌龟控制实现
  • 09.订阅小乌龟消息cpp
  • 10.小乌龟订阅消息收不到解决方案一
  • 11.小乌龟订阅消息收不到解决方案二
  • 12.log日志
  • 13.总结
  • 01.回顾
  • 02.python小乌龟控制
1-4 Service通信
  • 03.service通信server端
  • 04.service通信server总结
  • 05.service通信client端
  • 06.service通信client端调试
  • 07.service通信server端python
  • 08.service通信client端python
  • 09.自定义srv
  • 10.使用自定义srv
  • 11.复杂的自定义srv
1-5 Service通信控制小乌龟
  • 12.小乌龟服务简介
  • 01.作业
  • 02.小乌龟界面
  • 03.清理和重置
  • 04.创建和杀死小乌龟
  • 06.小乌龟操作
  • 07.扫地机器人简介
  • 08.小乌龟移动分析
  • 09.获取小乌龟当前位置
  • 10.小乌龟移动
  • 11.小乌龟连续移动
  • 12.小乌龟连续移动面临问题
  • 13.小乌龟连续移动优化方法一
  • 14.小乌龟连续移动优化其它方法
  • 16.界面更新问题
  • 17.总结
1-6 运动控制PID算法
  • 01.plot显示小车速度
  • 02.控制系统
  • 03.PID介绍
  • 04.PID解释
  • 05.KP调节
  • 06.KD调节
  • 07.KI调节
  • 08.PID调节
  • 09.角度调节
  • 10.角度调节问题及解决
  • 11.纵向扫地
1-7 Action通信之SimpleAction
  • 12.自定义action消息
  • 13.action通信server端
  • 14.action通信client端
  • 01.回顾
  • 02.simpleaction通信流程
  • 03.server响应结果
  • 04.server响应结果
  • 05.action任务取消
  • 06.server端界面搭建和实现
  • 07.server端界面布局和实现
  • 08.调试server端
  • 09.client端实现
  • 10.client端发送目标
  • 11.action通信界面调试
  • 12.action通信界面结果处理
  • 13.action通信python实现
  • 14.simpleaction总结和缺点
1-8 Action通信之Action
  • 15.复杂ction通信server端实现
  • 16.复杂ction通信client端实现
  • 17.client发送指令失败处理
  • 18.action通信处理lost
  • 19.action通信处理通过和拒绝
  • 20.action通信处理进度
  • 21.action通信处理取消
  • 22.action总结
  • 01.回顾-2020-10-12_09.11.00
  • 02.action通信python实现client端
  • 02.action通信python实现server端
  • 03.action通信python调试
  • 04.action通信python调试
  • 05.action通信特点和总结
  • 06.action通信特点和总结
1-9 Action通信项目实战
  • 07.action通信案例界面
  • 08.action通信客户端发送目标
  • 08.server基本实现
  • 09.服务端处理进度并返回成功状态
  • 09.客户端界面处理
  • 10.服务端界面展示
  • 11.服务端添加任务条目
  • 12.服务端界面显示异常处理
  • 13.界面刷新处理
  • 14.取消任务
  • 15.中断任务
  • 16.中断全部任务
  • 17.总结
  • 18.python自定义信号
  • 01.回顾
第二章 ros增强
2-1 param和launch启动
  • 02.param
  • 03.param的api操作
  • 04.param的api操作python
  • 05.launch文件
  • 06.launch文件属性配置
  • 07.remap
  • 08.param
  • 09.内部args参数
  • 10.外部args参数
  • 11.包含launch和launch组
2-2 tf坐标转换
  • 12.tf坐标转换
  • 13.案例一框架搭建
  • 14.案例一生成第二个小乌龟
  • 14.案例一生成发送小乌龟1的位置到tf
  • 15.案例一生成发送小乌龟1的位置到tf
  • 16.案例一生成发送小乌龟2的位置到tf
  • 01.回顾
  • 02.获取tf坐标转换结果
  • 03.处理转换结果
  • 04.案例二
  • 05.案例二三只小乌龟
  • 06.回顾
  • 07.案例三
  • 08.tf坐标转换python项目搭建
  • 09.tf坐标转换python订阅位置
  • 10.tf坐标转换python订阅位置发布到tf
  • 11.移动小乌龟2
2-3 rviz
  • 12.rviz
  • 13.launch配置rviz
  • 14.ros回顾

阶段七 机器人运动学和建模

展开
第一章 1-向量基础
1-1 向量定义
  • 01_向量的定义
  • 02_向量定义代码展示
1-2 向量加法
  • 03_向量的加法
  • 04_向量加法代码展示
1-3 向量缩放
  • 05_向量的缩放
  • 06_向量的缩放代码展示
1-4 向量点乘
  • 07_向量的点乘
  • 08_向量的点乘代码展示
1-5 向量叉乘
  • 09_向量的叉乘
第二章 2-坐标转换
2-1 坐标系基础
  • 10_自由度介绍
  • 11_关节类型
  • 12_坐标系理解
  • 13_相对坐标系
2-2 2D平移
  • 14_2d平移几何推导
  • 15_2d平移向量推导
  • 16_2d平移案例实现
2-3 2D旋转
  • 17_2d旋转推导1
  • 18_2d旋转推导2
  • 19_2d旋转案例实现
  • 20_2d平移案例取逆操作
  • 21_2d旋转案例取逆操作
2-4 平移和旋转
  • 22_旋转平移推导
  • 23_平移和旋转案例
2-5 补充
  • 24_anaconda使用
  • 25_插件使用
2-6 坐标转换案例
  • 01_单连杆问题
  • 02_双连杆问题分析
  • 03_双连杆实现
  • 04_三连杆问题实现
2-7 3D坐标
  • 05_空间坐标描述
  • 06_3d旋转推导
  • 07_urdf第一个文件
第三章 3-机器人建模
3-1 URDF连杆
  • 08_urdf文件launch配置
  • 09_urdf形状box
  • 10_urdf连杆形状
  • 11_urdf连杆的位置和姿态
  • 12_urdf连杆material
  • 13_urdf关节fixed
3-2 URDF关节
  • 14_urdf关节revolute
  • 15_urdf关节continuous和prismatic
  • 16_urdf案例scara
3-3 URDF简单案例
  • 17_urdf案例scara
  • 18_xacro介绍和变量定义
3-4 xacro语法
  • 19_xacro模板定义
  • 01_xacro的条件判断
  • 02_xacro案例scara
3-5 正解和反解
  • 03_kdl库介绍
  • 04_ur5的urdf文件
  • 05_kdl模型加载
  • 06_kdl正解
  • 07_kdl反解
  • 08_kdl反解带限制
  • 09_kdl反解lma

阶段八 2D机器视觉

展开
第一章 OPENCV基础
1-1 课程介绍
  • 01_课程介绍
  • 02_机器视觉概述
  • 03_机器视觉面临的挑战
1-2 环境搭建
  • 04_opencv编译与安装
1-3 图像基础
  • 05_读取图片
  • 06_路径问题
  • 07_imread其它参数说明
  • 08_写出图片
  • 09_理解图像
  • 10_图像的剪切
  • 11_图像的镜像处理
  • 12_图片镜像处理api
1-4 图像变换
  • 13_图片的缩放
  • 13_图片的位移
  • 14_图像的缩放
  • 15_图像的仿射变换
  • 16_图像金字塔
1-5 图像特效
  • 17_图像融合
  • 18_图像的灰度处理
  • 19_灰度图的颜色反转
  • 20_彩色图的颜色反转
  • 21_图像的马赛克
  • 22_图像的毛玻璃效果
  • 23_图像的浮雕效果
  • 24_绘制文字
  • 25_绘图小案例
  • 26_图像亮度调整
1-6 图像美化
  • 27_图像直方图
  • 28_封装绘图函数
  • 29_灰度图直方图均衡化
  • 30_彩色图像直方图均衡化
第二章 OPENCV高级
2-1 图像二值化
  • 31_图像二值化
  • 32_自适应阈值
  • 33_图像二值OTSU
2-2 图像HSV颜色空间
  • 34_hsv颜色空间
  • 35_inrange颜色分割
2-3 边缘与轮廓
  • 36_图像的轮廓
  • 40_获取轮廓信息
2-4 图像卷积
  • 41_图像的噪声介绍
  • 42_图像卷积介绍
  • 43_图像的均值滤波
  • 44_图像的中值滤波
  • 45_高斯模糊
  • 46_sobel算子
  • 47_拉普拉斯算子
  • 48_图像的锐化处理
  • 49_canny边缘检测
  • 50_双边滤波器
2-5 视频处理
  • 51_人脸识别
  • 52_读取视频数据
第三章 OPENCV 进阶
3-1 形态学变换
  • 53_形态学变换_膨胀
  • 54_形态学变换_腐蚀
  • 55_形态学变换_开操作
  • 56_形态学变换_闭操作
  • 57_形态学变换_去除干扰线
3-2 霍夫变换
  • 58_霍夫直线变换
  • 59_霍夫圆
3-3 透视变换
  • 60_图像的透视变换
  • 61_多边形拟合
3-4 图像分割
  • 62_模板匹配
  • 63_泛红填充
  • 64_图像分水岭
  • 65_背景消除
  • 66_距离变换
第四章 OPENCV案例
4-1 综合案例
  • 67_案例_图像修复
  • 68_案例_图像的切边
  • 69_案例_图像的旋转切边
  • 70_案例_填空题识别
  • 71_案例_零件计数
  • 72_案例_证件照换背景_上
  • 73_案例_证件照背景_下
  • 74_案例_车道线识别
第五章 opencv-python版(赠送)
5-1 opencv概述
  • 01_课程简介
  • 02_机器视觉概述
  • 03_面临的挑战
  • 04_opencv概述
5-2 环境搭建
  • 05_搭建opencv开发环境
5-3 基础案例
  • 06_读取图片
  • 07_图像的写入
  • 08_理解图像
  • 09_图像的剪切
  • 10_图像的镜像处理
  • 11_图像的缩放
  • 12_图像金字塔
  • 13_图像的位移
  • 14_图像仿射变换api
  • 15_图像的仿射变换_旋转
  • 16_图像的仿射变换
  • 17_图像的融合
  • 18_图像的亮度调整
  • 19_滑动条
  • 20_彩图转灰度图
  • 21_灰度图像的反转
  • 22_彩色图像的反转
  • 23_图像的马赛克效果
  • 24_鼠标按键
5-4 图像特效
  • 01_毛玻璃效果
  • 02_图像的浮雕效果
  • 03_图像绘图
5-5 图像直方图
  • 04_灰度图直方图
  • 05_直方图api
  • 06_直方图均衡化
  • 07_彩色图像直方图均衡化
5-6 视频处理
  • 08_视频分解
  • 09_美化摄像头数据帧
  • 10_人脸识别
  • 11_摄像头人脸识别
5-7 颜色识别
  • 12_HSV颜色空间
  • 13_识别网球
  • 14_绿幕背景替换
5-8 图像二值化
  • 01_图像二值化
  • 02_自适应阈值
  • 03_大津算法
  • 04_三角阈值
5-9 图像卷积
  • 05_了解噪声
  • 06_图像的卷积
  • 07_图像均值滤波
  • 08_中值滤波
  • 09_高斯模糊
  • 10_Sobel算子
  • 11_拉普拉斯算子
  • 12_Canny边缘检测
  • 13_双边滤波器
  • 14_锐化处理
5-10 霍夫变换
  • 15_霍夫变换
  • 16_查找棋盘直线
  • 17_查找棋盘中棋子
5-11 边缘提取
  • 01_今天内容介绍
  • 02_查找轮廓
  • 03_API小细节
  • 04_获取轮廓信息avi
  • 05_网球提取
5-12 形态学变换
  • 06_图像的膨胀
  • 07_修改网球案例
  • 08_开操作和闭操作
5-13 小案例
  • 09_模板匹配
  • 10_背景消除
5-14 提取车道线
  • 11_提取车道线-上
  • 12_提取车道线-中
  • 13_提取车道线-下
5-15 opencv玩游戏
  • 14_opencv玩bird-上
  • 15_opencv玩bird-下
第六章 目标检测
6-1 直线检测
  • 01_物体检测概述
  • 02_直线检测流程
  • 03_直线检测-FLD检测
  • 04_FLD直线检测-参数及执行速度
6-2 牙膏盒检测
  • 05_盒子检测-加载图片并优化
  • 06_盒子检测-多边形逼近
  • 07_盒子检测-有向包容盒OBB
  • 08_盒子检测-拆分RGB的三个通道
  • 09_盒子检测-根据余弦值确定矩形
  • 10_盒子检测-多模型混合筛选
6-3 特征检测概述
  • 11_模板匹配查找目标
  • 12_理解特征及描述
6-4 角点及特征点检测
  • 13_哈里斯角点检测原理概述
  • 14_哈里斯角点检测实现
  • 15_史-托马斯角点检测
  • 16_特征点检测概述
6-5 特征检测
  • 01_特征检测-SIFT
  • 02_特征检测-SURF
  • 03-特征检测-ORB概述
  • 04-特征检测-ORB-FAST关键点检测
  • 05_特征检测-ORB-BRIEF特征描述子检测
  • 06_特征检测-ORB尺度不变性
  • 07_特征检测-ORB旋转不变性
  • 08_特征匹配-ORB距离度量
  • 09_特征比配-流程概述
  • 10_特征检测-ORB代码示例
6-6 特征匹配
  • 11_特征匹配-ORB-BFMatcher野蛮匹配器
  • 12_特征匹配-knnMatch原理
  • 13_特征匹配-knnMatch示例
  • 13_特征匹配-knnMatch示例2
  • 14_特征匹配-FLANNbasedMatcher
6-7 目标检测应用
  • 14_目标查找-求单应性矩阵
  • 15_目标查找-进行透视变换
  • 16_特征匹配恢复目标

阶段九 3D机器视觉

展开
第一章 PCL点云入门
1-1 点云概述及可视化
  • 01-PCL点云概述
  • 02-PCL的起源与发展
  • 03-PCL源码编译初始化
  • 04-PCL-Demo示例
  • 05-PCL数据结构-常用模块
  • 06-PCL的pcl_viewer工具
  • 07-可视化-CloudViewer的使用
  • 08-可视化-PCLVisualizer的使用
1-2 点云输入输出
  • 09-点云坐标变换
  • 10-点云数据格式1
  • 10-点云数据格式2
  • 11-点云pcd文件的序列化与反序列化
1-3 点云拓扑结构
  • 12-KD-Tree概述-树的分割
  • 13-KD-Tree邻域搜索-K邻域
  • 14-KD-Tree邻域搜索-半径搜索
  • 01-OCTree邻域搜索
第二章 PCL点云进阶
2-1 点云滤波
  • 02-点云滤波概述
  • 03-直通滤波PassThrough
  • 04-降采样-VoxelGrid
  • 05-离群点移除-原理及时间
  • 06-条件滤波-半径滤波-数据初始化
  • 07-半径离群值滤波
  • 08-条件滤波
  • 09-滤波类的继承关系及pcl_voxel_grid使用
  • 10-滤波器-高斯滤波原理
  • 11-滤波器-双边滤波原理
2-2 深度图(距离影像RangeImage)
  • 12-从点云创建深度图
  • 13-从深度图中提取边界
2-3 关键点Keypoints提取
  • 01-关键点Keypoints-NARF概述
  • 02-关键点Keypoints-NARF-生成深度图
  • 03-关键点Keypoints-NARF-代码示例
2-4 随机采样一致性算法RANSAC
  • 06-随机采样一致性算法RANSAC-模型计算
  • 05-随机采样一致性算法RANSAC-数据生成
  • 04-随机采样一致性算法RANSAC概述
2-5 特征检测与描述子
  • 07-特征描述与提取-需求
  • 08-法向量估算的四种情况
  • 09-法向量估算-方式1
  • 10-法向量估算-方式2
  • 11-法向量估算-方式3
  • 12-法线求解原理-最小二乘法
  • 13-法线求解原理-选择合适的比例
  • 14-3D特征描述子-概述
  • 15-PFH点特征直方图描述子
第三章 PCL点云高级
3-1 点云中的数学
  • 01-点云中的数学-方差_协方差
  • 02-多元正态分布数学公式
  • 03-多元正态分布的可视化
  • 04-协方差矩阵与缩放矩阵、旋转矩阵
  • 05-特征值分解
3-2 点云配准概述及示例
  • 01-点云配准的概述
  • 02-点云配准的需求场景和配准方法
  • 03-PCL实现的配准流程概述
  • 04-ICP实现案例
  • 05-NDT实现配准1
  • 06-可交互式ICP-1
  • 06-可交互式ICP-2
  • 06-可交互式ICP-3
  • 07-通过git管理项目并推送gitee
  • 08-ICP交互式配准1
  • 08-ICP交互式配准2
3-3 点云配准的算法原理
  • 09-ICP数学原理
  • 10-ICP代码实现追踪
  • 11-NDT-正态分布简介
  • 12-NDT算法原理1
  • 12-NDT算法原理2
  • 01-ndt配准的代码案例
第四章 PCL点云应用
4-1 点云应用
  • 02-PFH点特征直方图回顾
  • 03-使用FPFH进行刚体鲁棒姿态估计
  • 04-使用RANSAC分割平面模型
  • 05-使用RANSAC分割圆柱体模型
  • 06-点云分割-欧式聚类提取
  • 07-点云曲面重建
  • 08-包容盒简介
  • 09-3D物体包容盒代码实现
4-2 点云模板匹配
  • 10-点云模板匹配的代码准备
  • 11-封装点云法线、特征描述子类FeatureCloud
  • 12-点云模板匹配代码1

阶段十 深度学习

展开
第一章 机器学习与人工智能入门
1-1 机器学习基本概念
  • 01_引言
  • 02_什么是学习
  • 03_人工智能和机器学习
  • 04_机器学习的步骤
  • 05_feature和label
  • 06_分类和回归
  • 07_案例介绍
1-2 knn算法
  • 08_knn算法的步骤
  • 09_knn算法的统计
  • 10_knn算法的包装
  • 11_真实数据预测
  • 12_超级参数的选取
  • 13_拆分数据集为训练集和测试集
  • 14_k值的选取测试
  • 15_欧式距离
  • 16_两个维度knn算法的实现
  • 17_两个维度的knn实现
  • 18_三个维度的knn的实现
  • 19_数据归一化的实现
  • 20_数据的标准化操作
  • 21_数据归一化后进行knn预测
  • 22_knn处理约会问题
  • 23_约会数据的3d可视化
  • 24_知识点复习
第二章 机器学习核心算法原理
2-1 线性回归与梯度下降
  • 01_线性回归概念介绍
  • 02_matplotlib绘制数据点
  • 03_mse和mae介绍
  • 04_mse的计算
  • 05_excle展示误差数据
  • 06_问题思考
  • 07_梯度与斜率
  • 08_利用sympy求导
  • 09_excle演示梯度下降
  • 10_梯度下降算法分析
  • 11_使用python代码实现梯度下降
  • 12_图表显示梯度下降的过程
  • 13_偏导数的推导计算
  • 14_excle表格实现两个参数的梯度下降
  • 15_采用梯度下降求解m和b的值
  • 16_ 为什么不用求解的方式获取m和b
  • 17_导航定位与梯度下降
  • 18_使用sk-learn进行线性回归
  • 19_线性回归的几何学意义
  • 20_线性回归的局限性
  • 21_天猫销售额的预测值
  • 22_总结
2-2 梯度下降与动态学习速率
  • 01_知识点复习
  • 02_矩阵运算的介绍
  • 03_多维数据的解释
  • 04_梯度下降的矩阵运算代码
  • 05_训练过程的细节
  • 06_完整的矩阵梯度下降的逻辑
  • 07_可视化m和b收敛的结果
  • 08_动画的展示方法
  • 09_动画展示训练的m和b的变换
  • 10_手动调整学习速率
  • 11_学习速率的收敛分析
  • 12_黑马1代学习速率优化算法
  • 13_黑马2代学习速率优化算法
  • 14_momentum学习速率优化算法
  • 15_adagrad学习速率优化算法
  • 16_rmsprop优化算法
  • 17_adam算法介绍
  • 18_adam算法的实现
  • 19_学习速率的总结
  • 20_babysitting学习速率调整算法
  • 21_高纬度线性回归演示
  • 22_总结
2-3 决策树
  • 01_决策树入门
  • 02_决策树与基尼系数
  • 03_信息论
  • 04_信息论和熵的计算
  • 05_信息量获取
  • 06_随机深林决策树预测
  • 07_决策树中的过拟合和欠拟合
2-4 感知机
  • 08_感知机介绍
  • 09_感知机工作原理介绍
  • 10_感知机直线移动的过程
  • 11_感知机训练数据的加载
  • 12_感知算法测试
  • 13_感知机的完整实现
  • 14_修正迭代的bug
  • 15_感知机算法的动画展示
  • 16_感知机总结和激活函数
  • 17_梯度下降和感知机原理是一致的
  • 18_sgd梯度下降介绍
2-5 逻辑回归原理
  • 19_逻辑回归介绍和决策边界
  • 20_逻辑回归的误差函数分析
  • 21_交叉熵误差函数介绍
  • 22_逻辑回归的梯度计算推导
  • 23_总结
2-6 逻辑回归实现
  • 01_逻辑回归代码实现
  • 02_逻辑回归的动态学习速率
  • 03_多分类问题的实现原理
  • 04_softmax函数
  • 05_softmax函数的实现
  • 06_把三个二分类合并的原理
  • 07_多分类问题矩阵运算的完整实现
第三章 tensorflow与机器学习实践
3-1 手写数字识别
  • 08_图片存储分析
  • 09_ 手写数字识别问题分析
  • 10_手写数字的数据加载
  • 11_数据收集与标注
  • 12_手写数字的识别预测
  • 13_手写数字模型保存和预测
  • 14_手写数字的完整流程&误差评估
  • 15_手写数字识别的训练_问题提出
  • 16_mini_batch的梯度下降
  • 17_模型的评估
  • 18_mnist数据集官网
  • 19_预测真实的数字
  • 20_学习速率和局部最优解的关系
  • 21_深度学习和神经网络入门
  • 22_总结
3-2 tensorflow入门
  • 01_tensorflow概念介绍
  • 02_tensorflow的安装介绍
  • 03_张量的维度(阶,形状)
  • 04_tensorflow的变量声明
  • 05_tensorflow2和1的最大区别
  • 06_tensorflow的常见模块介绍
  • 07_tensorflow梯度计算
  • 08_利用tensorflow计算sigmoid函数的梯度
  • 09_线性回归假数据的准备
  • 10_用tensorflow构建模型
  • 11_tensorflow梯度下降更新m和b的值
  • 12_tensorflow高阶api完成线性回归
  • 13_利用keras的API来实现线性回归
  • 14_利用keras编写模型的套路
  • 15_函数式模型的写法
  • 16_tensorflow低阶API多现实回归
3-3 tensorflow搭建深度神经网络
  • 17_一个神经元解决或问题
  • 18_单个神经元解决不了异或问题
  • 19_tensorflow的游乐场
  • 20_单个神经元的手写数字预测
  • 21_DNN网络训练手写数字
  • 22_DNN网络参数数量的计算
  • 23_函数式DNN网络的写法
  • 24_自定义学习速率的优化器
  • 25_loss和accuracy的关系
  • 26_模型的预测
  • 27_混淆矩阵与评价指标
  • 28_直接计算梯度计算量太大
3-4 tensorflow案例实践
  • 01_卷积神经网络
  • 02_道路交通标识符识别
  • 03_无人驾驶数据收集和预处理
  • 04_无人驾驶训练和仿真环境测试
  • 05_无人驾驶数据增强与模型训练
  • 06_迁移学习与模型部署
  • 附:目标侦测原理与实践01
  • 附:目标侦测原理与实践02

阶段十一 项目

展开
第一章 Gazebo仿真
1-1 Gazebo简介
  • day01_01 Gazebo课程简介
  • day01_02 Gazebo是什么
  • day01_03 为什么学习Gazebo
  • day01_04 Gazebo能做什么
  • day01_05 Gazebo安装
  • day01_06 empty world运行
1-2 Gazebo基础入门
  • day01_07 server与client
  • day01_08 初识world
  • day01_09 SDF介绍
  • day01_10 UI界面介绍
  • day01_11 World选项
  • day01_12 Insert选项
  • day01_13 工具栏介绍
  • day01_14 环境与机器人仿真
  • day01_15 building editor简介
  • day01_16 导入建筑图纸
  • day01_17 墙体和门窗的绘制
  • day01_18 墙体和门窗的属性设置
  • day01_20 保存及使用
  • day01_21 场景编辑扩展
1-3 仿真小车案例
  • day01_22 Model Editor界面简介
  • day02_01 Model小车案例介绍
  • day02_02 底盘设置--中心点距离地面的高度
  • day02_03 底盘设置--姿态配置
  • day02_04 底盘设置--大小
  • day02_05 轮子设置
  • day02_06 连接轮子与底盘
  • day02_07 连接轮子与底盘2
  • day02_08 轮脚设置
  • day02_09 轮脚关节设置
  • day02_10 添加传感器
  • day02_11 添加插件
  • day02_12 小车案例测试
  • day02_13 mode的sdf文件详解
  • day02_14 基础部分小结
1-4 惯量配置与外边设置
  • day02_15 HDL-32E传感器说明
  • day02_16 HDL-32E配置参数
  • day02_17 HDL-32Ebase部分创建
  • day02_18 HDL-32Etop部分创建
  • day02_19 转动惯量简介
  • day02_20 转动惯量配置
  • day03_01 小车转动惯量改进
  • day03_02 joint设置
  • day03_03 SDF文档阅读ray元素设置
  • day03_04 生成sensor配置
  • day03_05 sensor高度调整
  • day03_06 FreeCAD加载外观文件
  • day03_07 dae文件导出
  • day03_08 Blender工具加载dae文件
  • day03_09 方向和大小设置
  • day03_10 top部分dae文件导出
  • day03_11 top部分参数设置
  • day03_12 关联模型与模型外观
  • day03_13 模型外观问题处理
  • day03_14 查看传感器数据
  • day03_15 增加噪声
1-5 ROS与Gazebo整合
  • day03_16 插件开发步骤
  • day03_17 插件开发快速体验
  • day04_01 CMakeList文件
  • day04_02 插件代码阅读
  • day04_03 插件编写
  • day04_04 获取Joint
  • day04_05 速度控制
  • day04_06 通过配置文件加载速度信息
  • day04_07 速度设置接口
  • day04_08 订阅者创建
  • day04_09 发布者编写
  • day04_10 测试
  • day04_11 clion整合ros与gazebo
  • day04_12 引入ros
  • day04_13 引出线程阻塞问题
  • day04_14 解决线程阻塞问题
  • day04_15 测试
1-6 Turtlebot机器人
  • day05_01 empty_world.launch文件讲解
  • day05_02 empty_world.launch文件使用
  • day05_03 运行自定义的launch文件
  • day05_04 Turtlebot3机器人简介
  • day05_05 Turtlebot3环境安装
  • day05_06 Turtlebot3运行测试
  • day05_07 turtlebot3_empty_world.launch文件讲解
  • day05_08 turtlebot3_world展示
  • day05_09 turtlebot3_house展示
  • day05_10 turtlebot3案例体验
  • day05_11 turtlebot3地图创建
  • day05_12 turtlebot3导航
1-7 机械臂配置编写
  • day05_13 机械臂简介
  • day05_14 URDF简介
  • day05_15 robot节点
  • day05_16 link节点
  • day05_17 joint节点
  • day05_18 URDF小车案例展示
  • day05_19 编写底盘和左轮
  • day05_20 joint编写
  • day05_21 颜色配置错误查找
  • day05_22 右轮设置
  • day05_23 后轮设置
  • day06_01 xacro建模简介
  • day06_02 变量的定义及使用
  • day06_03 数学计算
  • day06_04 宏定义及使用
  • day06_05 文件包含
  • day06_06 系统案例查看
1-8 六轴机械臂
  • day06_07 六轴机械臂案例——baselink
  • day06_08 六轴机械臂案例——link1
  • day06_09 六轴机械臂案例——joint1
  • day06_10 六轴机械臂案例——显示问题修改
  • day06_11 六轴机械臂案例——link2与joint2
  • day06_12 六轴机械臂案例——link2惯性矩阵配置
  • day06_13 六轴机械臂案例——common link
  • day06_14 六轴机械臂案例——common link完善
  • day06_15 六轴机械臂案例——common link调用
  • day06_16 六轴机械臂案例——common joint
  • day06_17 六轴机械臂案例——link3和joint3
  • day06_18 六轴机械臂案例
  • day07_01 六轴机械臂——palm
  • day07_02 六轴机械臂——left finger
  • day07_03 六轴机械臂——left finger位置调整
  • day07_04 六轴机械臂——box惯性矩阵提取
  • day07_05 六轴机械臂——prismatic配置
  • day07_06 六轴机械臂——right finger
  • day07_07 xacro中block的定义及使用
  • day07_08 Solidworks完成自定义机械臂外观设计(扩展)
  • day07_09 ur机械臂仿真加载
  • day07_10 ur机械臂配置阅读
  • day07_11 ur机械臂连接bhand机械手
1-9 Gazebo展示
  • day07_12 gazebo展示--material处理
  • day07_13 gazebo展示--joint处理
  • day07_14 gazebo展示--sacro处理
  • day07_15 gazebo展示--问题处理
第二章 智能仓储开发
2-1 了解MoveIt!与Gazebo联动课程内容
  • 01 RViz与Gazebo的区别
  • 02 说明
  • 03 回顾
2-2 了解ros control
  • 04 ros_control介绍
2-3 了解传动装置配置
  • 05 Transmissions配置
  • 06 Transmissions相关源码查看
  • 07 Transmissions相关源码查看
2-4 建立UR3机械臂模型
  • 08 ur3机械臂展示
2-5 建立UR4机械臂模型
  • 09 ur3机械臂展示
2-6 机械臂和夹爪的transmission配置
  • 10 ur3机械臂添加transmission配置信息
  • 11 eg2夹爪添加transmission配置信息
  • 12 eg2夹爪添加transmission配置信息
2-7 完成机械臂和夹爪的gazebo配置
  • 13 机械臂和夹爪的gazebo配置
  • 14 机械臂和夹爪的gazebo配置
2-8 完成gazebo_ros_controler插件配置
  • 01 gazebo_ros_controler插件介绍
  • 02 gazebo_ros_controler插件核心代码阅读
  • 03 gazebo_ros_controler配置
2-9 完成机械臂关节控制器使用
  • 04 ros_control概述
  • 05 ros_control简介
  • 06 一个关节的controller配置
  • 07 控制一个关节
  • 08 控制一组关节
2-10 完成joint state控制器使用
  • 09 joint_state_controller配置
  • 10 joint_state_controller数据发布
2-11 完成Moveit和Gazebo的联动
  • 11 moveit中的轨迹控制器配置
  • 12 moveit中的轨迹控制器加载
  • 13 gazebo 2 moveit
  • 14 轨迹控制器配置
  • 15 moveit 2 gazebo
  • 01 控制器约束添加
  • 02 脚本调试
2-12 完成Revolute和Prismatic关节的夹爪配置和路径规划
  • 03 项目结构图
  • 04 机械臂与夹爪的组装
  • 05 RViz中调试机械臂
  • 06 Gazebo中调试机械臂
  • 07 生成robot_moveit_config
  • 08 完善robot_gazebo配置
  • 09 gripper路径规划调试
  • 10 panda_gripper加载
  • 11 panda_gripper与ur3组装
  • 12 effort类型的controller配置注意事项
  • 13 Stopping trajectory异常的处理
  • 14 机械臂关节的PID异常处理
2-13 完成项目创建
  • 01 智能仓储项目简介
  • 02 项目创建
2-14 完成滑轨操作
  • 03 载物机台属性设置
  • 04 stage base link配置
  • 05 stage slide link配置
  • 06 gazebo中调试载物机台
  • 07 模型优化
  • 08 机械臂拼装
  • 09 机械臂moveit配置
  • 10 调整机械臂默认关节旋转参数
  • 11 滑轨路径规划执行测试
  • 12 滑轨PID参数调试
  • 13 三个规划组轨迹规划调试
2-15 完成blender安装
  • 14 blender安装
  • 15 blender汉化
  • 16 blender默认用户界面设置
  • 17 blender插件安装
2-16 完成物料架模型制作
  • 01 添加栅格
  • 02 物料架草图绘制
  • 03 物料架整体挤出
  • 04 物料架参数设置及导出
  • 05 blender扩展
2-17 完成物料架摆放
  • 06 摆放物料坐标获取
  • 07 模型文件制作
  • 08 物料架添加
2-18 完成物料添加
  • 09 物料摆放位置配置
  • 10 物料配置
  • 11 物料添加的步骤
  • 12 load_materiel配置文件编写
  • 13 物料位置加载脚本编写
  • 14 配置文件路径拼装
  • 15 获取坐标数组的index信息
  • 16 获取指定的坐标信息
  • 01 生成物料添加参数
  • 02 物料添加
  • 03 断点调试
2-19 了解物料抓取
  • 04 物料抓取步骤
  • 05 基础代码编写
2-20 完成物料架添加
  • 06 物料架位姿设置
  • 07 物料架dae文件转换
2-21 完成添加物料
  • 08 物料添加的测试坐标设置
  • 09 从params中获取到存储的坐标信息
  • 10 物料添加
  • 11 删除添加的物体
2-22 完成物体抓取规划
  • 12 物体抓取规划说明
  • 13 滑轨移动规划
  • 14 滑轨移动规划测试
  • 01 在pick_place_materiel中统一测试管理
  • 02 Gazebo中执行滑轨规划路径
  • 03 物料抓取回顾
  • 04 夹爪控制
  • 05 夹爪姿态信息获取
  • 06 夹爪位姿信息设置
  • 07 夹爪接近物体的数据设置
  • 08 抬起物料配置
  • 09 更换运动学插件TRAC-IK
  • 10 attach操作检查
  • 11 调整RViz配置
  • 12 Gazebo中执行规划轨迹
2-23 使用Gazebo抓取插件
  • 13 Gazebo grasp fix plugin介绍
  • 14 Gazebo grasp fix plugin配置介绍
  • 15 Gazebo grasp fix plugin测试
  • 16 参数微调方法
2-24 完善物料抓取
  • 01 手动建立机械臂与物料的attach关系
  • 02 抬起物料
  • 03 放置物料流程
2-25 完成物料移出物料架
  • 04 笛卡尔路径规划
  • 05 笛卡尔路径规划重试机制
  • 06 解决初始状态异常问题
  • 07 Gazebo中执行笛卡尔路径规划
2-26 制作传送带并添加
  • 08 传送带倒角制作
  • 09 传送带制作
  • 10 Gazebo中添加传送带
  • 11 Gazebo中添加传送带异常处理
  • 12 RViz中添加传送带
2-27 移动机械臂到传送带
  • 13 移动到传送带
2-28 完成夹爪优化
  • 14 夹爪优化简介
  • 15 mimic参数配置
  • 16 mimic效果RViz测试
  • 17 添加mimic插件
  • 18 mimic关联配置信息修改
  • 19 Gazebo中测试优化后的夹爪
2-29 完成物料放置
  • 20 物料放置
  • 21 物料放置RViz中测试
  • 22 物料放置Gazebo中测试
2-30 Gazebo中移动物料
  • 23 Gazebo中移动物料
2-31 了解Gazebo下手眼结合物体抓取
  • 01 Gazebo下手眼结合物体抓取的课程内容
  • 02 注意Gazebo版本问题
2-32 Rviz中查看Kinect插件发布的数据
  • 03 Kinect模型介绍
  • 04 Kinect插件配置介绍
  • 05 Rviz中查看Kinect插件发布的数据
2-33 完成相机数据的订阅和展示
  • 06 相机的内参和外参介绍
  • 07 相机的内参处理思路和工作步骤
  • 08 环境编辑(桌子和相机)
  • 09 添加OpenCV库
  • 10 展示相机抓取数据
  • 11 测试图片展示
2-34 完成相机数据中的桌面特征提取
  • 12 canny算法查找轮廓
  • 13 轮廓提取方法说明
  • 14 轮廓提取不同参数的效果
  • 15 矩形中心点计算
  • 16 扩展_利用矩来计算矩形的中心点
  • 01 绘制矩形和中心点
  • 02 计算物体的y和z坐标
2-35 完成深度图像数据提取
  • 03 深度图片数据
  • 04 深度图片数据处理步骤
  • 05 深度图片数据处理
  • 06 调试深度图片数据处理
2-36 完成相机外参的获取
  • 07 利用旋转矩阵计算坐标
  • 08 建立相机与机械臂之间的关联
  • 09 监听相机与机械臂坐标系变换矩阵
  • 10 计算桌子坐标
2-37 完成抓取目标物添加
  • 11 service添加模型介绍
  • 12 service添加请求编写
  • 13 读取模型URDF文件
2-38 了解两种定位目标方法
  • 01 提取抓取目标的方法
2-39 完成HSV目标提取定位
  • 02 HSV颜色模型介绍
  • 03 过滤整个物体
  • 04 动态调整HSV颜色模型的参数值
  • 05 计算目标物的像素位置信息
  • 06 计算目标物的位置信息
2-40 完成pcl点云数据目标提取定位
  • 07 PCL点云处理方式介绍
  • 08 PCL点云展示准备工作
  • 09 PCL点云展示
  • 10 使用pcl_visualizer工具展示PCL点云
  • 11 滤波功能介绍
  • 12 直通滤波
  • 13 降采样
  • 01 包容盒的处理思路
  • 02 AABB包容盒的绘制
2-41 了解案例并完成准备工作
  • 03 抓取案例业务逻辑
  • 04 案例准备工作
  • 05 案例运行
  • 06 节点划分
2-42 完成像素坐标系下桌子中心点定位
  • 07 创建table_2d节点
  • 08 转动机械臂
  • 09 MoveitUtil实例创建时间错误的异常演示
  • 10 计算桌子中心点坐标
  • 11 计算桌子轮廓
  • 12 计算结果测试
  • 13 lanch文件编写和run脚本改造
2-43 完成桌子定位
  • 14 l计算桌子中心点坐标(相机坐标系)
  • 15 l计算桌子中上表面深度信息
  • 01 桌子中心点到世界坐标系转化
  • 02 桌子中心点到世界坐标系转化测试
  • 03 moveit场景中添加桌子
  • 04 测试及容错机制优化
2-44 完成目标物体添加、定位、抓放、循环处理
  • 05 目标物管理工作内容
  • 06 目标物管理节点划分
  • 07 Gazebo中添加目标物
  • 08 随机坐标生成
  • 09 测试目标物添加
  • 10 直通滤波
  • 11 降采样与包容盒
  • 12 定位目标点测试
  • 13 计算目标物中心点坐标
  • 01 计算目标物中心点世界坐标
  • 02 计算目标物中心点世界坐标测试
  • 03 moveit场景中添加目标物及测试
  • 04 机械臂go home操作
  • 05 抓取参数配置
  • 06 抓取测试
  • 07 放置物体
  • 08 测试放置
  • 09 循环处理流程
  • 10 循环处理
  • 11 删除模型
  • 12 监听gazebo中模型信息
  • 13 循环抓取物体测试
第三章 Webots虚拟仿真开发
3-1 webots简介
  • 01 webots简介
  • 02 webots可以做什么
  • 03 webots如何使用
3-2 webots安装
  • 04 webots安装
  • 05 webots帮助文档使用
3-3 webots常用操作
  • 06 webots窗口简介
  • 07 webots常用菜单
  • 08 webots常用操作
  • 09 练习-添加光源和物体
  • 10 练习-proto简介
  • 11 重力体验
3-4 案例一开发
  • 12 案例一_项目目录详解
  • 13 案例一_world文件详解
  • 13 案例一_场景搭建
  • 01 回顾
  • 02 webots控制器简介
  • 03 webots开放工具
  • 04 第三方IDE
  • 05 内置开放工具编写helloworld代码
  • 06 前进控制器编写
  • 07 速度控制
  • 08 第三方IDE配置
  • 09 第三方IDE使用
3-5 复合对象
  • 10 复合对象组装
  • 11 DEF使用
3-6 案例二开发
  • 12 小车案例_小车结构拆分
  • 13 小车案例_添加车身与轮子
  • 14 小车案例_jointParameters配置
  • 15 小车案例_添加旋转马达
  • 16 小车案例_添加距离传感器
  • 17 小车案例_控制小车前进
  • 18 小车案例_距离传感器使用
  • 19 小车案例_简单避障
  • 20 小车案例_利用两个传感器躲避障碍物
  • 21 小车案例_简单的Proto文件定义
  • 22 小车案例_proto扩展
3-7 UR机械臂配置
  • 01 回顾
  • 02 Ur机械臂的整体结构
  • 03 IndexFaceSet简介
  • 04 base_link配置
  • 05 base_link碰撞检测配置
  • 06 shoulder_link配置
  • 07 shoulder_link碰撞检测配置
  • 08 shoulder_link关节参数配置
  • 09 upper_arm_link配置
  • 10 forarm_link配置
  • 11 腕关节配置
3-8 UR机械臂控制
  • 12 Ur3机械臂控制器编写
3-9 仿真外壳数据获取
  • 13 IndexedFaceSet信息的获取
  • 14 urdf2webots工具使用
3-10 夹爪仿真
  • 01 回顾
  • 02 夹爪仿真
  • 03 夹爪控制
3-11 使用机械臂与夹爪完成物体抓取
  • 04 物体抓取案例_场景搭建
  • 05 物体抓取案例_场景搭建问题处理
  • 06 物体抓取案例_等待物体靠近
  • 07 物体抓取案例_物体抓取
  • 08 物体抓取案例_机械臂运动
  • 09 物体抓取案例_放置物体
  • 10 物体抓取案例_回到初始位置
  • 11 物体抓取案例_机械臂运行速度控制
3-12 webots与ros联动
  • 12 webots_ros运行案例简介
  • 13 ros控制器代码简介
  • 14 ros控制器使用hello_world
  • 15 ros中控制小车
  • 16 ros中小车控制项目创建
  • 17 webots与moveit联动
3-13 赛事仿真
  • 01 回顾
  • 02 汽车仿真简介
  • 03 汽车仿真配置说明
  • 04 车轮配置
  • 05 阿克曼配置
  • 06 Car(proto)模型配置
  • 07 控制器编写
  • 08 汽车仿真设备使用
  • 09 赛事仿真
第四章 可口可乐智慧工厂
4-1 项目简介
  • 01 智能工厂项目简介
4-2 webots提供的仿真元素及改进简介
  • 02 webots提供的仿真元素及改进内容
4-3 webots中机械臂改进
  • 03 机械臂基座改进
  • 04 机械臂夹爪改进
  • 05 机械臂设备名称改进
  • 06 机械臂设备名称改进后测试
4-4 webots中夹爪改进
  • 07 夹爪设备名称改进及测试
4-5 webots中传送带改进
  • 08 传送带的大小和位置设置
  • 09 去掉传送带边框
  • 10 传送带样式问题处理
  • 11 Track节点简介
  • 12 传送带运动配置
  • 13 完善传送带运动配置
4-6 webots中多可乐制作
  • 01 产品仿真简介
  • 02 输入信息校验
  • 03 产生一箱可乐
  • 03 产生一组可乐
  • 04 多可乐的碰撞检测
  • 05 多可乐的物理属性设置
4-7 webots中整箱可乐配置
  • 06 产生一箱可乐
  • 07 箱可乐物理属性配置
4-8 webots中相机配置
  • 08 相机配置
  • 09 相机使用测试
4-9 webots内置ROS机械臂控制器简介
  • 10 webots内置ROS机械臂控制器简介
4-10 机械臂URDF模型制作
  • 11 创建机械臂URDF模型
  • 12 URDF模型调整
4-11 机械臂moveit配置
  • 13 机械臂moveit配置
  • 14 机械臂moveit配置细节
4-12 机械臂控制
  • 01 机械臂仿真package创建
  • 02 webots中机械臂路径规划执行
  • 03 机械臂控制器代码调整
4-13 夹爪仿真制作
  • 04 webots中夹爪调整
  • 05 夹爪组件外观定义
  • 06 夹爪URDF制作
  • 07 ROS中启动夹爪仿真
4-14 夹爪控制
  • 08 夹爪控制器编写
  • 09 夹爪轨迹规划
  • 10 夹爪控制器问题处理
4-15 webots中组装机械臂和夹爪
  • 11 webots中组装机械臂和夹爪
4-16 moveit中机械臂与夹爪组装
  • 01 moveit中机械臂与夹爪组装
4-17 组装后的路径规划
  • 02 组装后的moveit配置
  • 03 组装后的路径规划
4-18 仿真工厂
  • 04 整合智能工厂仿真与路径规划工作成果
4-19 webots中Camera的物体识别
  • 05 webots中Camera的物体识别
  • 06 获取识别物体数据
  • 07 计算物体世界坐标系中坐标
  • 08 多物体识别处理
4-20 运动物体抓取的处理流程
  • 01 运动物体抓取的处理流程
4-21 静态物体抓取
  • 02 moveit初始化
  • 03 躲避相机
  • 04 目标物添加
  • 05 坐标系旋转
  • 06 添加传送带
  • 07 机械臂运行到物体正上方
  • 08 夹爪管理
  • 09 沿z轴接近物体
  • 10 抓取物体时的碰撞检测处理
  • 01 移动目标物
  • 02 打开夹爪
  • 03 远离目标物
  • 04 规划容错
4-22 动态物体抓取
  • 05 预留时间判断
  • 06 预设目标添加
  • 07 物体是否在夹爪内的判断
  • 08 单个物体的码放
  • 09 多物体托盘码放