Sfoglia il codice sorgente

[feat]:基本规定好下一步大纲

鱼香ROS 3 anni fa
parent
commit
c24e63b3fd
2 ha cambiato i file con 333 aggiunte e 17 eliminazioni
  1. 14 15
      README.md
  2. 319 2
      docs/_sidebar.md

+ 14 - 15
README.md

@@ -87,42 +87,41 @@ ROS2强大之处在于其生态系统,基于ROS2的软件库和工具集,针
 
 通过对机器人的结构进行建模,实现在ROS2的GUI工具中展示机器人模型,并进行仿真,让你的机器人动起来。
 
-- 第 8 章 机器人学基础
-- 第 9 章 机器人建模
-- 第 10 章 机器人仿真
+- 第 8 章 机器人建模
+- 第 9 章 机器人仿真
 
 ### 4.4 Nav2导航篇
 
 通过对Nav2框架结合仿真机器人进行实战,带你了解机器人建图导航技术,同时增加了进阶篇内容,小鱼带你一起将自己的算法在Nav2上进行实现。
 
-- 第 11 章 SLAM建图
-- 第 12 章 Nav2导航仿真实战
-- 第 13 章 Nav2进阶实践
+- 第 10 章 SLAM建图
+- 第 11 章 Nav2导航仿真实战
+- 第 12 章 Nav2进阶实践
 
 ### 4.5 ROS2控制篇
 
 先介绍ROS2-Control,接着小鱼带你在硬件上实现ROS2控制。
 
-- 第 14 章 ROS2-Control
-- 第 15 章 MicroROS
-- 第 16 章 ROS2控制硬件实战
+- 第 13 章 ROS2-Control
+- 第 14 章 MicroROS
+- 第 15 章 ROS2控制硬件实战
 
 ### 4.6 实体机器人
 
 手把手小鱼带你做一个可以建图导航到处跑的真的机器人出来。
 
-- 第 17 章 实体机器人硬件搭建
-- 第 18 章 嵌入式控制及通信开发
-- 第 19 章 上位机建图及导航
+- 第 16 章 实体机器人硬件搭建
+- 第 17 章 嵌入式控制及通信开发
+- 第 18 章 上位机建图及导航
 
 
 ### 4.7 Moveit2机械臂篇
 
 手把手小鱼带你做一个可以建图导航到处跑的机器人出来。
 
-- 第 20 章 Moveit2仿真
-- 第 21 章 Moveit2进阶
-- 第 23 章 Moveit2真机控制
+- 第 19 章 Moveit2仿真
+- 第 20 章 Moveit2进阶
+- 第 21 章 Moveit2真机控制
 
 
 ## 5.学习资源

+ 319 - 2
docs/_sidebar.md

@@ -19,6 +19,323 @@
     -  [Launch](humble/codebook/pages/launch.md) 
     -  [网络通讯](humble/codebook/pages/networking.md) 
     -  [功能包](humble/codebook/pages/packages.md) 
+- 第 1 章 ROS2介绍与安装
+  - 章节导读
+  - 基础篇-Linux基础
+    - Linux与Ubuntu系统介绍
+    - 在虚拟机中安装Ubuntu
+    - 玩转Ubuntu之常用指令
+    - 玩转Ubuntu之编程工具
+    - 玩转Ubuntu之常用软件
+  - [入门篇-ROS2介绍安装]()
+    - ROS2前世今生
+    - ROS与ROS2对比
+    - 动手安装ROS2
+    - ROS2初体验
+  - [进阶篇-架构与中间件]()
+    - ROS2系统架构
+    - 中间件DDS架构
 
-- 第 1 章 ROS2介绍
-  - [第1章 章节介绍](humble/chapt1/章节介绍.md)
+- 第 2 章 ROS2第一个节点
+  - 章节导读
+  - [基础篇-编程基础]()
+    - C++编译工具之CMake
+    - Python打包工具之Setup
+    - CMake依赖查找流程
+    - Python依赖查找流程
+  - [入门篇-动手使用ROS2]()
+    - ROS2节点与工作空间
+    - ROS2编译器之Colcon
+    - ROS2客户端库知多少
+    - 使用RCLCPP编写节点
+    - 使用RCLPY编写节点
+  - [进阶篇-ROS2系统]()
+    - 五种不同的方式编写节点
+    - 生命周期节点介绍
+    - ROS2节点发现机制原理
+    - Colcon编译原理
+    - ROS2包运行原理
+    - ROS2客户端库源码导读
+
+- 第 3 章 ROS2通信之话题与服务
+  - 章节导读
+  - [基础篇-中间件与面向对象基础]()
+    - 常见通信方式与原理
+    - 通信中间件之DDS与ZMQ
+    - 多线程回调函数和锁
+    - 面向对象编程知多少
+  - [入门篇-话题与服务]()
+    - ROS2话题入门
+    - 话题之RCLCPP实现
+    - 话题之RCLPY实现
+    - ROS2服务入门
+    - 服务之RCLCPP实现
+    - 服务之RCLPY实现
+    - ROS2接口介绍
+    - 自定义话题接口通信
+    - 自定义服务接口通信
+  - [进阶篇-中间件进阶]()
+    - 原始数据类型与包装类型
+    - 通信质量Qos配置指南
+    - 为什么ROS2选择DDS
+    - DDS进阶之Fast-DDS环境搭建
+    - 使用DDS进行订阅发布
+
+- 第 4 章 ROS2通信之参数与动作
+  - 章节导读
+  - [基础篇-控制概述]()
+    - 机器人控制概述
+  - [入门篇-参数与动作]()
+    - 参数(Param)介绍
+    - 参数之RCLCPP实现
+    - 参数之RCLPY实现
+    - 动作(Action)介绍
+    - 动作之RCLCPP实现
+    - 动作之RCLPY实现
+    - 自定义动作接口通信
+    - 通信机制对比总结
+  - [进阶篇-原理进阶]()
+    - 参数机制原理
+    - 动作通信原理
+    - ROS2如何兼容多家DDS
+    - 高效的ROS2进程内通信
+    - 使用ZeroMQ进行订阅发布
+
+- 第 5 章 ROS2常用工具
+  - 章节导读
+  - [基础篇-相关概念]()
+    - QT是什么
+    - 仿真引擎
+    - 常见配置文件格式
+  - [入门篇-常用工具]()
+    - 命令行工具-ROS2CLI
+    - 启动管理工具-Launch
+    - 数据录播工具-rosbag
+    - 数据可视化工具-RVIZ
+    - 常用调试小工具-RQT
+    - 兼容仿真工具-Gazebo
+  - [进阶篇-工具进阶]()
+    - RVIZ2插件开发指南
+    - RQT插件开发指南
+    - 兼容仿真工具-WeBots
+    - 兼容仿真工具-Unity
+
+
+- 第 6 章 运动学基础
+  - 章节导读
+  - [基础篇-数学基础]()
+    - 矩阵与矩阵运算
+    - MiniConda与Jupyter介绍安装
+  - [入门篇-机器人运动学]()
+    - 空间坐标描述
+    - 姿态的多种表示
+    - 齐次坐标变换
+    - 两轮差速运动学
+    - 机械臂运动学
+  - [进阶篇-运动学进阶]()
+    - 动力学基础-力与速度
+
+- 第 7 章 ROS2运动学
+  - 章节导读
+  - [基础篇-常用工具]()
+    - MiniConda与Jupyter介绍安装
+  - [入门篇-机器人运动学]()
+    - TF2介绍
+    - 坐标变换发布监听Python实现
+    - 坐标变换发布监听C++实现
+    - 坐标变换可视化
+  - [进阶篇-时间机制]()
+    - ROS2时间机制
+
+
+- 第 8 章 机器人建模
+  - 章节导读
+  - [基础篇-概念]()
+    - 常见机器人构型
+    - 常见建模软件及工具
+  - [入门篇-机器人建模]()
+    - URDF建模介绍
+    - RVIZ2可视化URDF模型
+    - 创建一个两轮差速模型
+    - 两轮差速可视化及关节控制
+    - 创建一个机械臂模型
+    - 机械臂可视化及关节控制
+  - [进阶篇-其他建模方式]()
+    - Xacro介绍
+    - 使用Xacro简化机器人模型
+    - RVIZ2可视化机器人模型原理
+    - SolidWorks导出URDF
+    - 机械臂建模之DH参数
+
+- 第 9 章 机器人仿真
+  - 章节导读
+  - [基础篇-概念]()
+    - 刚体及其动力学参数
+  - [入门篇-机器人仿真]()
+    - 仿真软件Gazebo介绍与安装
+    - 给两轮差速机器人添加物理参数
+    - 在Gazebo加载机器人模型
+    - Gazebo仿真插件之IMU
+    - Gazebo仿真插件之激光雷达
+    - Gazebo仿真插件之两轮差速
+  - [进阶篇]()
+    - Gazebo仿真插件之超声波
+    - Gazebo仿真插件之深度相机
+
+- 第 10 章 SLAM建图
+  - 章节导读
+  - [基础篇-图像基础]()
+    - 图像常见格式及存储
+    - 栅格地图介绍
+  - [入门篇-SLAM建图]()
+    - SLAM前世今生
+    - Gazebo仿真环境搭建
+    - Carto介绍及安装
+    - 配置FishBot进行建图
+    - SLAM地图概述
+    - ROS2地图加载与编辑
+  - [进阶篇-Carto与地图处理]()
+    - 使用OPENCV加载地图
+    - 使用纯雷达定位建图
+    - Carto纯定位模式
+
+- 第 11 章 Nav2导航仿真实战
+  - 章节导读
+  - [基础篇-基础知识]()
+    - 行为树是什么
+  - [入门篇-SLAM建图]()
+    - Nav2导航参数介绍
+    - Gazebo仿真环境搭建
+    - Carto介绍及安装
+    - 配置FishBot进行建图
+    - SLAM地图概述
+    - Nav2导航API
+  - [进阶篇-Carto与地图处理]()
+    - 使用OPENCV加载地图
+    - 使用纯雷达定位建图
+    - Carto纯定位模式
+
+- 第 12 章 Nav2进阶实践
+  - 章节导读
+  - [基础篇-路径搜索]()
+    - 搜索之A星算法
+  - [入门篇-自定义Nav2插件]()
+    - Nav2插件介绍
+    - 自定义规划器插件
+    - 自定义代价地图层
+  - [进阶篇-优化配置]()
+    - 使用Carto纯定位替换AMCL
+
+- 第 13 章 ROS2-Control
+  - 章节导读
+  - [基础篇-传感器与执行器]()
+    - 硬件传感器
+    - 机器人执行器
+  - [入门篇-ROS2Control]()
+    - ROS2Control是什么
+    - 控制器及CLI介绍
+    - 机械臂轨迹控制器配置
+    - 两轮差速控制器配置
+  - [进阶篇-架构原理]()
+    - ROS2Control架构剖析
+    - 提高ROS2-Control实时性
+
+- 第 14 章 MicroROS
+  - 章节导读
+  - [基础篇-微处理器]()
+    - MCU微处理器介绍
+    - RTOS系统介绍
+  - [入门篇-MicroROS]()
+    - MicroROS介绍
+  - [进阶篇-原理解析]()
+    - MiCroROS架构原理
+
+
+- 第 15 章 ROS2控制硬件实战
+  - 章节导读
+  - [基础篇-ESP32开发]()
+    - 舵机介绍及控制
+    - ESP32开发环境搭建
+    - ESP32第一行代码
+  - [入门篇-ROS2控制硬件实战]()
+    - ESP32配置MicroROS
+    - ESP32实现订阅发布
+    - ESP32实现舵机控制
+    - 配置ROS2Control实现舵机控制
+  - [进阶篇-实战演练]()
+    - 通过ROS2控制灯的开关
+    - ROS2-ESP32多舵机驱动
+    - 做一个三自由度机械臂
+
+- 第 16 章 实体机器人硬件搭建
+  - 章节导读
+  - [基础篇-硬件基础篇]()
+    - 电机及电机驱动板
+    - IMU模块介绍
+    - 超声波传感器介绍
+  - [入门篇-实体机器人硬件搭建]()
+    - 硬件架构介绍
+    - 硬件选型
+    - 硬件搭建
+  - [进阶篇-进阶实战]()
+    - 使用CRC校验增加数据
+
+- 第 17 章 嵌入式控制及通信开发
+  - 章节导读
+  - [基础篇-ESP32开发]()
+    - 电脑是如何控制硬件的
+    - PID理论介绍
+  - [入门篇-嵌入式控制及通信开发]()
+    - 使用ESP32驱动电机
+    - 使用ESP32读取编码器数据
+    - 使用ESP32读取IMU数据
+    - 通信设计(待定)
+    - 上位机SDK开发
+  - [进阶篇-实战演练]()
+    - EKF融合里程计和IMU数据
+
+- 第 18 章 上位机建图及导航
+  - 章节导读
+  - [基础篇-ESP32开发]()
+  - [入门篇-上位机建图及导航]()
+    - 真机建图导航指南
+    - 上位机驱动封装
+    - Carto真机建图
+    - Nav2真机导航及配置
+  - [进阶篇-实战演练]()
+    - 使用纯激光进行导航
+
+- 第 19 章 Moveit2仿真
+  - 章节导读
+  - [基础篇-运动学]()
+    - 机械臂正逆运动学
+  - [入门篇-Moveit2仿真]()
+    - Moveit2框架介绍
+    - 通过URDF配置Moveit2
+    - 通过键盘控制机械臂运动
+    - Moveit2-API控制机械臂
+    - 给机械臂添加夹爪控制器
+  - [进阶篇-架构]()
+    - Moveit2架构剖析
+
+- 第 20 章 Moveit2进阶
+  - 章节导读
+  - [基础篇-算法]()
+    - 路径搜索之RRT算法
+    - 路径平滑算法
+  - [入门篇-Moveit2进阶]()
+    - 自定义规划器
+    - 自定义运动学求解器
+  - [进阶篇-实战演练]()
+    - 暂定
+
+- 第 21 章 Moveit2真机控制
+  - 章节导读
+  - [基础篇-动力学]()
+    - 三次/五次样条插值
+  - [入门篇-Moveit2真机控制]()
+    - 机械臂硬件架构
+    - 自制机械臂控制及ROS2Control配置
+    - 使用Moveit2控制真实机械臂
+  - [进阶篇-实战演练]()
+    - 使用真实机械臂完成抓取