ROS是全球范围内智能机器人领域最为前沿的开源操作系统。ROS作为机器人的大脑,广泛的应用于多种不同功能的机器人的研发,包括智能扫地机器人、语音服务机器人、送餐机器人、物流配送机器人等,学习和掌握ROS已经成为从事机器人开发与应用相关工作的必备技能。
本课程面向智能移动机器人和自动驾驶技术感兴趣的同学,以TURTLEBOT机器人为载体,系统性地介绍RoS机器人操作系统的基本原理和核心功能。本课程以动手操作为中心,零基础轻松入门并掌握ROS系统的基本操作和运动控制实现方法。同时支持机器人远程控制,让你可以随时玩转你的专属机器人。
课程目的
掌握TURTLEBOT3的软硬件安装与配置过程
掌握ROS系统的基本构架
掌握ROS系统通讯原理和编程方法
掌握ROS与TURTLEBOT3仿真测试方法
掌握使用ROS进行TURTLEBOT3运动控制的实现方法
获得《ROS机器人操作系统培训证书》
课程内容
专题一:Turtlebot 3组装与开发环境配置
通过本节学习希望您能够:掌握Turtlebot 3的软硬件安装与配置过程,包括Turtlebot3硬件组成、装配连接方法;掌握Turltlebot3 PC控制端软件安装、配置方法;掌握Turtlebot3 SBC板软件安装、配置方法;掌握Turtlebot3 OpenCR板软件安装、配置方法
1 Turtlebot3 硬件
1.2 Turtlebot3 PC控制端软件设置
1.3 Turtlebot3 SBC软件设置
1.4 Turtlebot3 OpenCR软件设置
1.5 Turtlebot3 远程操作演示
专题二:ROS机器人操作系统 简介
通过本节学习希望您能够:掌握ROS系统的基本构架;熟悉ROS的目标、特点;熟悉ROS的通信机制;熟悉ROS的常用命令;熟悉ROS的常用组件工具;熟悉ROS功能包构建方法。
2.1 ROS机器人操作系统概述
2.1.1 ROS的概念
2.1.2 ROS的目标
2.1.3 ROS架构
2.1.4 ROS的特点
2.1.5 ROS的版本
2.2 ROS的通信机制概述
2.2.1 通讯机制简述
2.2.2 话题消息通信简述
2.2.3 服务消息通信简述
2.2.4 动作消息通信简述
2.2.5 参数通信简述
2.2.6 消息通信举例
2.3 ROS常用命令
2.3.1 ROS命令简述
2.3.2 ROS常用命令举例
2.4 ROS常用组件工具
2.4.1 launch启动文件
2.4.2 TF坐标变换
2.4.3 rosbag数据记录与回放
2.4.4 QT工具箱
2.4.5 rviz三维可视化平台
2.4.6 Gazebo仿真环境
2.5 ROS功能包构建
专题三:ROS通讯原理与编程实现
通过本节学习希望您能够:掌握话题通信的原理与编程实现;掌握服务通信的原理与编程实现;掌握动作通信的原理与编程实现;掌握参数管理机制的原理与编程实现;掌握ROS中的命名空间的原理及应用。
3.1 话题通信原理与编程实现
3.1.1 话题通信原理
3.1.2 话题通信编程实现-创建Publisher
3.1.3 话题通信编程实现-创建Subscriber
3.2 服务通信原理与编程实现
3.2.1 服务通信原理
3.2.2 服务通信编程实现-自定义服务数据类型
3.2.3 服务通信编程实现-创建Server
3.2.4 服务通信编程实现-创建Client
3.3 动作通信原理与编程实现
3.3.1 动作通信原理
3.3.2 动作通信编程实现-自定义动作文件.action
3.3.3 动作通信编程实现-创建动作服务器Server
3.3.4 动作通信编程实现-创建动作客户端Client
3.4 参数管理机制与编程实现
3.4.1 参数管理通信原理
3.4.2 参数管理通信编程实现
3.5 ROS中的命名空间
3.5.1 ROS命名空间的意义
3.5.2 命名解析
3.5.3 命名重映射
专题四:Turtlebot 3 ROS仿真测试环境搭建
通过本节学习希望您能够:掌握使用URDF文件、xacro文件构建机器人模
型,及将模型导入到rviz、gazebo仿真环境的方法;掌握gazebo仿真环境搭建方法;掌握控制自己搭建的机器人模型在gazebo中运动的方法。
4.1 ROS机器人开发流程
4.1.1 ROS机器人开发流程
4.2 Gazebo 仿真环境搭建
4.2.1 直接插入模型方法
4.2.2 Building Editor绘制仿真环境方法
4.2.3 加载仿真环境
4.3 统一机器人描述格式—— URDF
4.3.1 机器人建模与仿真方法
4.3.2 URDF文件中常用的XML标签 - 标签
4.3.3 URDF文件中常用的XML标签 -
4.3.4 URDF文件中常用的XML标签 -
4.3.5 URDF文件中常用的XML标签 -
4.4 使用 xacro 优化 URDF
4.4.1 URDF描述存在的问题及应对策略
4.4.2 使用xacro优化URDF
4.4.3 xacro文件引用
4.5 Turtlebot3机器人仿真模型构建与测试
4.5.1 Turtlebot3机器人仿真模型构建与测试步骤
4.5.2 Turtlebot3机器人仿真模型 - stl文件介绍
4.5.3 Turtlebot3机器人仿真模型 - xacro文件
4.5.4 加载Turtlebot3仿真模型到rviz中
4.5.5 加载Turtlebot3仿真模型到gazebo中
4.5.6 Turtlebot3机器人模型在Gazebo中运动演示
专题五:Turtlebot 3运动控制编程与测试
通过本节学习希望您能够:掌握通过python编写运动控制源程序、生成可执
行节点的方法;掌握利用运动控制节点控制机器人模型在gazebo 中运动的方法;熟悉Turtlebot3启动过程,包括启动的节点、发布接收的消息等;掌握利用运动控制节点控制真实机器人运动的方法
5.1 Turtlebot 3 运动控制实现思路
5.1.1 Turtlebot 3 运动控制实现思路
5.2 Turtlebot 3 运动控制仿真测试
5.2.1 Turtlebot 3 运动控制仿真测试简述
5.2.2 创建键盘控制节点 - 流程概述
5.2.3 创建键盘控制节点 - python程序解析
5.2.4 创建启动键盘控制节点的launch文件
5.2.5 Turlebot3 运动控制仿真测试结果展示
5.3 Turtlebot 3 运动控制实物测试
5.3.1 Turtlebot3 运动控制测试相关功能包准备
5.3.2 Turtlebot3 运动控制功能包解析 - 功能包架构
5.3.3 Turtlebot3 运动控制功能包解析 - 节点、话题、TF树
5.3.4 Turtlebot3 运动控制功能包解析 - launch文件解析
5.3.5 Turtlebot3 运动控制功能包解析 - 速度话题发布和订
5.3.6 阅Tu文rle件bot 3 运动控制实