【ROS2机器人入门到实战】

ROS2机器人入门到实战教程(鱼香ROS)

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

(一)​ROS2入门篇

第 1 章 ROS2介绍与安装

基础篇-Linux基础
  • 1.Linux与Ubuntu系统介绍
  • 2.在虚拟机中安装Ubuntu
  • 3.玩转Ubuntu之常用指令
  • 4.玩转Ubuntu之编程工具
  • 5.玩转Ubuntu之常用软件
入门篇-ROS2介绍安装
  • 1.ROS2前世今生
  • 2.ROS与ROS2对比
  • 3.动手安装ROS2
  • 4.ROS2初体验
进阶篇-架构与中间件
  • 1.ROS2系统架构
  • 2.中间件DDS架构

第 2章 ROS第一个节点

基础篇-编程基础
  • 1.使用gcc编译ROS2节点
  • 2.使用make编译ROS2节点
  • 3.使用CMakeList.txt编译ROS2节点
  • 4.CMake依赖查找流程
  • 5.Python依赖查找流程
  • 6.Python工具之Setup
入门篇-动手使用ROS2
  • 1.ROS2节点介绍
  • 2.ROS2功能包与工作空间
  • 3.ROS2构建工具之Colcon
  • 4.使用RCLCPP编写节点
  • 5.使用RCLPY编写节点
进阶篇-ROS2系统
  • 1.面向对象编程思想
  • 2.使用面向对象方式编写ROS2节点
  • 3.Colcon使用进阶
  • 4.ROS2节点发现与多机通信

第3章 ROS2节点通信之话题与服务

基础篇-中间件
  • 1.从底层理解通信
  • 2.通信中间件之ZMQ
入门篇-话题与服务
  • 1.ROS2话题入门
  • 2.话题之RCLCPP实现
  • 3.话题之RCLPY实现
  • 4.ROS2服务入门
  • 5.服务之RCLCPP实现
  • 6.服务之RCLPY实现
  • 7.ROS2接口介绍
  • 8.自定义接口RCLCPP实战
  • 9.自定义接口RCLPY实战
进阶篇-中间件进阶
  • 1.原始数据类型与包装类型
  • 2.通信质量Qos配置指南
  • 3.DDS进阶之Fast-DDS环境搭建
  • 4.使用DDS进行订阅发布

第4章 ROS2通信之参数与动作

基础篇-控制概述
  • 1.开环控制与闭环控制
入门篇-参数与动作
  • 1.参数(Param)通信
  • 2.参数之RCLCPP实现
  • 3.参数之RCLPY实现
  • 4.动作(Action)通信与自定义接口
  • 5.动作之CPP实现
  • 6.动作之RCLPY实现
  • 7.通信机制对比总结
进阶篇-原理进阶
  • 1.ROS参数通信原理介绍
  • 3.生命周期节点

[第5章 ROS2常用工具]

入门篇-参数与动作
  • 1. 启动管理工具-Launch
  • 2.ROS2命令行工具
  • 3.数据可视化工具-RVIZ
  • 4.常用调试小工具-RQT
  • 5.数据录播工具-rosbag2
  • 6.兼容仿真工具-Gazebo

(二)机器人学篇

第 6 章 运动学基础

基础篇-数学基础
  • 1.矩阵与矩阵运算
  • 2.MiniConda与Jupyter介绍安装
  • 3.矩阵运算实战
入门篇-机器人运动学
  • 1.空间坐标描述
  • 2.空间坐标描述实战
  • 3.姿态的不同表示
  • 4.姿态转换实战
  • 5.齐次坐标变换
  • 6.齐次坐标变换实战
  • 7. 机器人运动学介绍

第 7章 ROS运动学

入门篇-机器人运动学
  • 1.tf2介绍
  • 2.学会使用RVIZ2-TF组件
  • 3.坐标变换发布监听Python实现
  • 4.坐标变换发布监听C++实现

(三)建模仿真篇

第 8 章 机器人建模

入门篇-机器人建模
  • 1.URDF统一机器人建模语言
  • 2.RVIZ2可视化URDF模型
  • 3.创建一个两轮差速模型
  • 4.通过JointStates控制RVIZ2关节

第 9章 机器人仿真

入门篇-机器人运动学
  • 1.机器人仿真介绍
  • 2.为机器人URDF模型注入物理属性
  • 3.在Gazebo加载机器人模型
  • 4.Gazebo仿真插件之两轮差速
  • 5.Gazebo仿真插件之IMU
  • 6.Gazebo仿真插件之激光雷达
  • 7.Gazebo仿真环境搭建
进阶篇
  • 1.Gazebo仿真插件之超声波

(四)Nav2导航篇

第 10 章 SLAM建图

基础篇-图像基础
  • 1.图像常见格式及存储
  • 2.栅格地图介绍
入门篇-SLAM建图
  • 1.SLAM前世今生
  • 2.Carto介绍及安装
  • 3.配置FishBot进行建图
进阶篇-Carto与地图
  • 1.ROS2地图加载与编辑

第 11章 Nav2导航仿真实战

入门篇-Nav2导航入门
  • 1.Nav2导航框架介绍与安装
  • 2.为FishBot配置Nav2
  • 3.使用FishBot进行自主导航
  • 4.使用Nav2导航API进行导航

(五)ROS2硬件控制篇

第 13 章 嵌入式开发之点灯开始

基础篇-嵌入式开发介绍与环境搭建
  • 1.什么是单片机MCU
  • 2.单片机开发平台
  • 3.搭建PlateFormIO开发环境
  • 4.PIO工程结构&构建方式
  • 5.第一个HelloWorld工程
  • 6.串口通信-接收实验
入门篇-从点灯开始学起
  • 1.点灯基础-看懂LED驱动电路
  • 2.完成点灯-学会GPIO输出
  • 3.完成点灯-学会GPIO输入
  • 4.电池电压测量-学会使用ADC
进阶篇-学会使用第三方库
  • 1.学会安装第三方开源库
  • 2.使用开源库驱动IMU
  • 3.学会面向对象编程-封装IMU驱动
  • 4.使用开源库驱动OLED
  • 5.通讯协议小课堂-I2C通信
  • 6.I2C通信实验-点亮OLED

第 14章 接入ROS2-MicroROS

基础篇-第一个MicroROS节点
  • 1.MicroROS介绍与服务安装
  • 2.你的第一个MicroROS节点
入门篇-在嵌入式平台实现话题与服务通信
  • 1.话题订阅-控制LED
  • 2.话题发布-上传电量信息
  • 3.服务实现-两数相加
进阶篇-MicroROS原理与使用进阶
  • 1.控制OLED-自定义消息接口
  • 2.做个时钟-系统时间同步
  • 3.无线通讯-了解传输原理
  • 4.榨干性能-使用双核进行MicroROS

第 15章 ROS2硬件实战(自制建议雷达)

  • 1.简易雷达原理介绍
  • 2.使用超声波测量距离
  • 3.使用pwm控制舵机角度
  • 4.实现循环扫描测量
  • 5.ROS雷达消息合成与分布

(六)FishBot移动机器人开发篇

第 16 章 移动机器人控制系统搭建

  • 1.移动机器人底盘结构介绍
  • 2.从H桥说起-电机驱动原理介绍
  • 3.电机控制之正反转实验
  • 4.电机控制之速度控制实验
  • 5.电机控制之使用开源库驱动多路电机
  • 6.做个遥控车-订阅ROS2 Twist
  • 7.从编码器说起-速度测量原理介绍
  • 8.脉冲测量与校准实验
  • 9.速度转换-机器人最大速度测量
  • 10.控制速度-PID控制器实现
  • 11.两轮差速机器人运动学介绍
  • 12. 实时速度计算-运动学正解
  • 13.目标速度控制-运动学逆解
  • 14.里程计计算-速度积分
  • 15.采用MicroROS发布里程计
  • 16.项目总结与扩展
  • 17.拓展-源码编译Agent

第 17章 FishBot建图与导航实现

FishBot建图实现
  • 1.可视化雷达点云-学会驱动雷达
  • 2.建图前准备1-了解ROS标准REP105
  • 3.建图前准备2-发布odom的TF
  • 4.建图前准备3-准备URDF
  • 5.使用SLAM_TOOLBOX完成建图
  • 6.地图保存与编辑
FishBot导航实现
  • 1.Nav2介绍与安装
  • 2.配置Navigation2参数
  • 3.编写Launch并启动导航
  • 4.进行单点与路点导航

第 18章 移动机器人导航进阶

  • 1.使用API进行导航

你可能感兴趣的:(ROS2机器人入门到实战,机器人,ROS2机器人从入门到实战)