课程大纲

第1周

第1天

介绍

  • 是什么让机器人变得智能?

物理机器人与虚拟机器人

  • 智能机器人、智能机器、感知机器和机器人流程自动化(RPA)等。

人工智能(AI)在机器人技术中的作用

  • 超越“如果-那么-否则”和学习机器
  • AI背后的算法
  • 机器学习、计算机视觉、自然语言处理(NLP)等。
  • 认知机器人技术

第2天

大数据在机器人技术中的作用

  • 基于数据和模式的决策

云与机器人技术

  • 将机器人技术与IT连接
  • 构建功能更强大的机器人,使其能够访问更多信息并进行协作

案例研究:工业机器人

  • 机械机器人
    • Baxter
  • 核设施中的机器人
    • 辐射检测与防护
  • 核反应堆中的机器人
    • 辐射检测与防护

第3天

机器人的硬件组件

  • 电机、传感器、微控制器、摄像头等。

机器人的常见元素

  • 机器视觉、语音识别、语音合成、接近感应、压力感应等。

第4天

机器人编程的开发框架

  • 开源和商业框架
  • 机器人操作系统(ROS)
    • 架构:工作区、主题、消息、服务、节点、动作库、工具等。

机器人编程语言

  • C++用于低级控制
  • Python用于编排
  • 使用Python和C++编程ROS节点
  • 其他语言

第5天

物理机器人仿真工具

  • 商业和开源的3D仿真与可视化软件

机器人物理特性设计工具

  • 商业和开源的CAD软件

案例研究:机械机器人

  • 核技术领域的机器人
  • 环境系统中的机器人

第2周

第6天

Python速成课程

  • 软件安装与设置
  • 有用的包和工具
  • 使用Python数据结构、操作符、循环、条件、函数、方法等。
  • 编写示例程序
  • 团队项目

第7天

准备机器人开发

  • 设置开发环境(如Arduino IDE)
  • 探索Arduino语言(C/C++)语法
  • 编写、编译并上传代码到微控制器
  • 组装Arduino机器人的硬件组件

第8天

使用Arduino组件

  • 模拟传感器
  • 数字传感器

使用Arduino通信模块

  • 蓝牙模块
  • Wi-Fi模块
  • RFID模块
  • I2C和SPI
  • 移动互联网

第9天

构建机器人

  • 规划机器人的功能和特性
  • 实现机器人运动

团队项目

  • 讨论与回顾

第10天

控制机器人

  • 实现控制器
  • 连接机器人(有线和无线)

团队项目

  • 讨论与回顾

第3周

第11天

编程机器人

  • 使用Gazebo/ROS模拟机器人
  • 理解ROS节点
  • 使用Python和C++编程节点
  • ROS中的消息和主题
  • 发布/订阅范式

团队项目

  • 使用真实机器人进行“碰撞与前进”
  • 讨论与回顾

第12天

编程机器人(续...)

  • ROS中的坐标系和参考系变换
  • 使用OpenCV处理摄像头的2D信息
  • 处理激光信息

团队项目

  • 安全地通过颜色跟踪物体
  • 讨论与回顾

第13天

测试机器人

  • 测试代码的工具
  • 单元测试
  • 创建测试套件
  • 自动化测试
  • 故障排除

团队项目

  • 安全地通过颜色跟踪物体
  • 讨论与回顾

第14天

编程机器人(续...)

  • ROS中的服务
  • 使用PCL处理RGB-D传感器的3D信息
  • ROS中的地图与导航

第15天

编程机器人(续...)

  • 使用ActionLib完成任务

团队项目

  • 在环境中搜索物体

第4周

第16天

编程机器人(续...)

  • 使用ActionLib完成任务

第17天

编程机器人(续...)

  • 语音识别与语音生成
  • 故障排除

团队项目

  • 使用语音控制机器人

第18天

编程机器人(续...)

  • 使用MoveIt!控制机械臂
  • 控制机器人颈部以实现主动视觉
  • 故障排除

团队项目

  • 搜索并收集物体

第19天

部署机器人

  • 将机器人部署到物理世界
  • 在野外监控和维护机器人
  • 使用移动app控制机器人

保护机器人

  • 防止未经授权的篡改
  • 防止黑客查看和窃取敏感数据

第20天

数据分析

  • 收集和组织机器人生成的数据
  • 通过可视化工具和流程理解数据

协作构建机器人

  • 在云端构建机器人
  • 构建移动app以与机器人互动
  • 加入机器人社区

机器人在科学与能源领域的未来展望

总结与结论

要求

  • 具备C或C++编程经验。
  • 具备Python编程经验(非必需,可在课程中教授)。
  • 熟悉Linux命令行操作。

目标受众

  • 开发者
  • 工程师
  • 科学家
  • 技术人员
 80 小时

客户评论 (1)

即将举行的公开课程

课程分类