鱼香ROS 2 роки тому
батько
коміт
8e6aad22d0
1 змінених файлів з 281 додано та 0 видалено
  1. 281 0
      docs/_sidebar.md

+ 281 - 0
docs/_sidebar.md

@@ -57,3 +57,284 @@
       -  [2.使用面向对象方式编写ROS2节点](humble/chapt2/advanced/2.使用面向对象方式编写ROS2节点.md) 
       -  [3.Colcon使用进阶](humble/chapt2/advanced/3.Colcon使用进阶.md) 
       -  [4.ROS2节点发现与多机通信](humble/chapt2/advanced/4.ROS2节点发现与多机通信.md) 
+  - 第 3 章 ROS2节点通信之话题与服务
+    -  [章节导读](humble/chapt3/章节导读.md) 
+    - 基础篇-中间件与面向对象基础
+      -  [1.从底层理解通信](humble/chapt3/basic/1.从底层理解通信.md) 
+      -  [2.通信中间件之ZMQ](humble/chapt3/basic/2.通信中间件之ZMQ.md)
+      -  [3.多线程回调函数和锁](humble/chapt3/basic/3.多线程回调函数和锁.md) 
+    - 入门篇-话题与服务
+      -  [1.ROS2话题入门](humble/chapt3/get_started/1.ROS2话题入门.md) 
+      -  [2.话题之RCLCPP实现](humble/chapt3/get_started/2.话题之RCLCPP实现.md) 
+      -  [3.话题之RCLPY实现](humble/chapt3/get_started/3.话题之RCLPY实现.md) 
+      -  [4.ROS2服务入门](humble/chapt3/get_started/4.ROS2服务入门.md) 
+      -  [5.服务之RCLCPP实现](humble/chapt3/get_started/5.服务之RCLCPP实现.md) 
+      -  [6.服务之RCLPY实现](humble/chapt3/get_started/6.服务之RCLPY实现.md) 
+      -  [7.ROS2接口介绍](humble/chapt3/get_started/7.ROS2接口介绍.md) 
+      -  [8.自定义接口RCLCPP实战](humble/chapt3/get_started/8.自定义接口RCLCPP实战.md) 
+      -  [9.自定义接口RCLPY实战](humble/chapt3/get_started/9.自定义接口RCLPY实战.md) 
+    - 进阶篇-中间件进阶
+      -  [1.原始数据类型与包装类型](humble/chapt3/advanced/1.原始数据类型与包装类型.md) 
+      -  [2.通信质量Qos配置指南](humble/chapt3/advanced/2.通信质量Qos配置指南.md) 
+      -  [3.DDS进阶之Fast-DDS环境搭建](humble/chapt3/advanced/3.DDS进阶之Fast-DDS环境搭建.md) 
+      -  [4.使用DDS进行订阅发布](humble/chapt3/advanced/4.使用DDS进行订阅发布.md) 
+      <!-- -  [5.ROS2消息序列化思考与实践](humble/chapt3/advanced/5.ROS2消息序列化思考与实践.md)  -->
+      <!-- -  [6.执行器与回调组](humble/chapt3/advanced/6.执行器与回调组.md)  -->
+  - 第 4 章 ROS2通信之参数与动作
+    -  [章节导读](humble/chapt4/章节导读.md) 
+    - 基础篇-控制概述
+      -  [1.开环控制与闭环控制](humble/chapt4/basic/1.开环控制与闭环控制.md) 
+    - 入门篇-参数与动作
+      -  [1.参数(Param)通信](humble/chapt4/get_started/1.参数(Param)通信.md) 
+      -  [2.参数之RCLCPP实现](humble/chapt4/get_started/2.参数之RCLCPP实现.md) 
+      -  [3.参数之RCLPY实现](humble/chapt4/get_started/3.参数之RCLPY实现.md) 
+      -  [4.动作(Action)通信与自定义接口](humble/chapt4/get_started/4.动作(Action)通信与自定义接口.md) 
+      -  [5.动作之CPP实现](humble/chapt4/get_started/5.动作之CPP实现.md) 
+      -  [6.动作之RCLPY实现](humble/chapt4/get_started/6.动作之RCLPY实现.md) 
+      -  [7.通信机制对比总结](humble/chapt4/get_started/7.通信机制对比总结.md) 
+    - 进阶篇-原理进阶
+      -  [1.ROS参数通信原理](humble/chapt4/advanced/1.ROS参数通信原理.md) 
+      -  [2.ROS2动作通信原理](humble/chapt4/advanced/2.ROS2动作通信原理.md) 
+      -  [3.生命周期节点](humble/chapt4/advanced/3.生命周期节点.md) 
+      -  [4.更快的共享内存通信](humble/chapt4/advanced/4.更快的共享内存通信.md) 
+  - 第 5 章 ROS2常用工具
+    -  [章节导读](humble/chapt5/章节导读.md) 
+    - 基础篇-相关概念
+      -  [1.始于颜值之QT](humble/chapt5/basic/1.始于颜值之QT.md) 
+      -  [2.虚拟现实之仿真](humble/chapt5/basic/2.虚拟现实之仿真.md) 
+      -  [3.机器人中常用配置文件](humble/chapt5/basic/3.机器人中常用配置文件.md) 
+    - 入门篇-常用工具
+      -  [1.启动管理工具-Launch](humble/chapt5/get_started/1.启动管理工具-Launch.md) 
+      -  [2.命令行工具-ROS2CLI](humble/chapt5/get_started/2.命令行工具-ROS2CLI.md) 
+      -  [3.数据可视化工具-RVIZ](humble/chapt5/get_started/3.数据可视化工具-RVIZ.md) 
+      -  [4.常用调试小工具-RQT](humble/chapt5/get_started/4.常用调试小工具-RQT.md) 
+      -  [5.数据录播工具-rosbag](humble/chapt5/get_started/5.数据录播工具-rosbag.md) 
+      -  [6.兼容仿真工具-Gazebo](humble/chapt5/get_started/6.兼容仿真工具-Gazebo.md) 
+    - 进阶篇-工具进阶
+      - 1.RVIZ2插件开发实践
+      - 2.RQT插件开发实践
+      - 3.兼容仿真工具WeBots
+      - 4.兼容仿真工具UnityForROS2
+      - 5.ROS2内存管理工具
+- (二)机器人学篇
+  - 第 6 章 运动学基础
+    - 章节导读
+    - 基础篇-数学基础
+      -  [1.矩阵与矩阵运算](humble/chapt6/basic/1.矩阵与矩阵运算.md) 
+      -  [2.MiniConda与Jupyter介绍安装](humble/chapt6/basic/2.MiniConda与Jupyter介绍安装.md) 
+      -  [3.矩阵运算实战](humble/chapt6/basic/3.矩阵运算实战.md) 
+      
+    - 入门篇-机器人运动学
+      -  [1.空间坐标描述](humble/chapt6/get_started/1.空间坐标描述.md) 
+      -  [2.空间坐标描述实战](humble/chapt6/get_started/2.空间坐标描述实战.md) 
+      -  [3.姿态的多种表示](humble/chapt6/get_started/3.姿态的多种表示.md) 
+      -  [4.姿态转换实战](humble/chapt6/get_started/4.姿态转换实战.md) 
+      -  [5.齐次坐标变换](humble/chapt6/get_started/5.齐次坐标变换.md) 
+      -  [6.齐次坐标变换实战](humble/chapt6/get_started/6.齐次坐标变换实战.md) 
+      -  [7.机器人运行学介绍](humble/chapt6/get_started/7.机器人运动学介绍.md) 
+      <!-- - 两轮差速运动学 -->
+      <!-- - 机械臂运动学 -->
+      
+    - 进阶篇-运动学进阶
+      - 待定
+      <!-- - 动力学基础-力与速度 -->
+    
+  - 第 7 章 ROS2运动学
+    - 章节导读
+    - 基础篇-常用工具
+      - 待定
+    - 入门篇-机器人运动学
+      -  [1.TF2介绍](humble/chapt7/get_started/1.TF2介绍.md) 
+      -  [2.学会使用RVIZ2-TF组件](humble/chapt7/get_started/2.学会使用RVIZ2-TF组件.md) 
+      -  [3.坐标变换发布监听Python实现](humble/chapt7/get_started/3.坐标变换发布监听Python实现.md) 
+      -  [4.坐标变换发布监听C++实现](humble/chapt7/get_started/4.坐标变换发布监听C++实现.md) 
+    - 进阶篇-TF时间机制
+      - 1.ROS2-TF时间机制
+
+
+- (三)建模仿真篇
+  - 第 8 章 机器人建模
+    - [章节导读](humble/chapt8/章节导读.md) 
+    - 基础篇-概念
+      - 1.常见机器人构型
+      - 2.常见建模软件及工具
+    - 入门篇-机器人建模
+      -  [1.URDF统一机器人建模语言](humble/chapt8/get_started/1.URDF统一机器人建模语言.md) 
+      -  [2.RVIZ2可视化URDF模型](humble/chapt8/get_started/2.RVIZ2可视化URDF模型.md) 
+      -  [3.创建一个两轮差速模型](humble/chapt8/get_started/3.创建一个两轮差速模型.md) 
+      -  [4.通过JointStates控制RVIZ2关节](humble/chapt8/get_started/4.通过JointStates控制RVIZ2关节.md) 
+      - <!-- - 创建一个机械臂模型 -->
+        <!-- - 机械臂可视化及关节控制 -->
+    - 进阶篇-其他建模方式
+      - Xacro介绍
+      - 使用Xacro简化机器人模型
+      - RVIZ2可视化机器人模型原理
+      - SolidWorks导出URDF
+      - 机械臂建模之DH参数
+
+  - 第 9 章 机器人仿真
+    - 章节导读
+    - 基础篇-概念
+      - 待定
+      <!-- - 1.刚体及其动力学参数 -->
+    - 入门篇-机器人仿真
+      -  [1.机器人仿真介绍](humble/chapt9/get_started/1.机器人仿真介绍.md) 
+      -  [2.给两轮差速机器人添加物理参数](humble/chapt9/get_started/2.给两轮差速机器人添加物理参数.md) 
+      -  [3.在Gazebo加载机器人模型](humble/chapt9/get_started/3.在Gazebo加载机器人模型.md) 
+      -  [4.Gazebo仿真插件之两轮差速](humble/chapt9/get_started/4.Gazebo仿真插件之两轮差速.md) 
+      -  [5.Gazebo仿真插件之IMU](humble/chapt9/get_started/5.Gazebo仿真插件之IMU.md) 
+      -  [6.Gazebo仿真插件之激光雷达](humble/chapt9/get_started/6.Gazebo仿真插件之激光雷达.md) 
+      -  [7.Gazebo仿真环境搭建](humble/chapt9/get_started/7.Gazebo仿真环境搭建.md) 
+    - 进阶篇
+      -  [1.Gazebo仿真插件之超声波](humble/chapt9/advanced/1.Gazebo仿真插件之超声波.md) 
+      <!-- - 2.Gazebo仿真插件之深度相机 -->
+- (四)Nav2导航篇
+  - 第 10 章 SLAM建图
+    - 章节导读
+    - 基础篇-图像基础
+      -  [1.图像常见格式及存储](humble/chapt10/basic/1.图像常见格式及存储.md) 
+      -  [2.栅格地图介绍](humble/chapt10/basic/2.栅格地图介绍.md) 
+    - 入门篇-SLAM建图
+      -  [1.SLAM前世今生](humble/chapt10/get_started/1.SLAM前世今生.md) 
+      -  [2.Carto介绍及安装](humble/chapt10/get_started/2.Carto介绍及安装.md) 
+      -  [3.配置FishBot进行建图](humble/chapt10/get_started/3.配置FishBot进行建图.md) 
+    - 进阶篇-Carto与地图
+      -  [1.ROS2地图加载与编辑](humble/chapt10/advanced/1.ROS2地图加载与编辑.md) 
+    
+  - 第 11 章 Nav2导航仿真实战
+    - 章节导读
+    - 基础篇-基础知识
+      - 1.行为树是什么
+    - 入门篇-Nav2导航入门
+      -  [1.Nav2导航框架介绍](humble/chapt11/get_started/1.Nav2导航框架介绍.md) 
+      -  [2.为FishBot配置Nav2](humble/chapt11/get_started/2.为FishBot配置Nav2.md) 
+      -  [3.使用FishBot进行自主导航](humble/chapt11/get_started/3.使用FishBot进行自主导航.md) 
+      -  [4.使用Nav2导航API进行导航](humble/chapt11/get_started/4.使用Nav2导航API进行导航.md) 
+    - 进阶篇-Nav2框架
+      -  [1.Nav2规划器](humble/chapt11/advanced/1.Nav2规划器.md) 
+    
+  - 第 12 章 Nav2进阶实践
+    - 章节导读
+    - 基础篇-路径搜索
+      - 1.搜索之A星算法
+    - 入门篇-自定义Nav2插件
+      -  [1.Nav2插件介绍](humble/chapt12/get_started/1.Nav2插件介绍.md) 
+      -  [2.自定义规划器插件](humble/chapt12/get_started/2.自定义规划器插件.md) 
+      -  [3.自定义代价地图层](humble/chapt12/get_started/3.自定义代价地图层.md) 
+    - 进阶篇-优化配置
+      - 暂定
+      <!-- - 使用Carto纯定位替换AMCL -->
+- (五)ROS2控制硬件篇
+  - 第 13 章 嵌入式开发之从点灯开始
+    - [章节导读](humble/chapt13/章节导读.md)
+    - 基础篇-嵌入式开发介绍与环境搭建
+      - [1.什么是单片机MCU](humble/chapt13/get_started/1.什么是单片机MCU.md)
+      - [2.单片机开发平台](humble/chapt13/get_started/2.单片机开发平台.md)
+      - [3.搭建PlateFormIO开发环境](humble/chapt13/get_started/3.搭建PlateFormIO开发环境.md)
+      - [4.PIO工程结构&构建方式](humble/chapt13/get_started/4.PIO工程结构&构建方式.md)
+      - [5.第一个HelloWord工程](humble/chapt13/get_started/5.第一个HelloWord工程.md)
+      - [6.串口通信-接收实验](humble/chapt13/get_started/6.串口通信-接收实验.md)
+    - 入门篇-从点灯开始学起
+      - [1.点灯基础-看懂LED驱动电路](humble/chapt13/basic/1.点灯基础-看懂LED驱动电路.md)
+      - [2.完成点灯学会GPIO输出](humble/chapt13/basic/2.完成点灯GPIO控制.md)
+      - [3.使用按键学会GPIO输入](humble/chapt13/basic/3.学会使用按键GPIO输入.md)
+      - [4.电池电压测量-学会使用ADC](humble/chapt13/basic/4.电池电压测量-学会使用ADC.md)
+    - 进阶篇-学会使用第三方库
+      - [1.学会安装第三方开源库](humble/chapt13/advance/1.学会安装第三方开源库.md)
+      - [2.使用开源库驱动IMU](humble/chapt13/advance/2.使用开源库驱动IMU.md)
+      - [3.学会面向对象编程-封装IMU驱动](humble/chapt13/advance/3.学会面向对象编程-封装IMU驱动.md)
+      - [4.使用开源库驱动OLED](humble/chapt13/advance/4.使用开源库驱动OLED.md)
+      - [5.通讯协议小课堂-I2C通信](humble/chapt13/advance/5.通讯协议小课堂-I2C通信.md)
+      - [6.I2C通信实验-点亮OLED](humble/chapt13/advance/6.I2C通信实验-点亮OLED.md)
+  - 第 14 章 接入ROS2-MicroROS
+    - [章节导读](humble/chapt14/章节导读.md)  
+    - 基础篇-第一个MicroROS节点
+      - [1.MicroROS介绍与服务安装](humble/chapt14/basic/1.MicroROS介绍与服务安装.md)
+      - [2.你的第一个MicroROS节点](humble/chapt14/basic/2.你的第一个MicroROS节点.md)
+    - 入门篇-在嵌入式平台实现话题与服务通信
+      - [1.话题订阅-控制LED](humble/chapt14/get_started/1.话题订阅-控制LED.md)
+      - [2.话题发布-上传电量信息](humble/chapt14/get_started/2.MicroROS-话题发布实现.md)
+      - [3.服务实现-两数相加](humble/chapt14/get_started/3.MicroROS-服务通信服务端实现.md)
+    - 进阶篇-MicoROS原理与使用进阶
+      - [1.控制OLED-自定义消息接口](humble/chapt14/advance/1.控制OLED-自定义消息接口.md)
+      - [2.做个时钟-系统时间同步](humble/chapt14/advance/2.做个时钟-系统时间同步.md)
+      - [3.无线通讯-了解传输原理](humble/chapt14/advance/3.无线通讯-了解传输原理.md)
+      - [4.榨干性能-使用双核运行MicroROS](humble/chapt14/advance/4.榨干性能-使用双核运行MicroROS.md)
+  - 第 15 章 ROS2硬件实战(自制简易雷达)
+      - [章节导读](humble/chapt15/章节导读.md)
+      - [1.简易雷达原理介绍](humble/chapt15/1.简易雷达原理介绍.md)
+      - [2.使用超声波测量距离](humble/chapt15/2.测量距离学会超声波传感器.md)
+      - [3.使用pwm控制舵机角度](humble/chapt15/3.控制舵机学会使用执行器.md)
+      - [4.实现循环扫描测量](humble/chapt15/4.舵机+超声波循环扫描.md)
+      - [5.ROS雷达消息合成与发布](humble/chapt15/5.可视化点云-雷达消息合成.md)
+- (六)FishBot移动机器人开发(更新中)
+  - 第 16 章 移动机器人控制系统搭建
+    - [章节导读](humble/chapt16/章节导读.md)
+    - [1.移动机器人底盘结构介绍](humble/chapt16/1.移动机器人底盘结构介绍.md)
+    - [2.从H桥说起-电机驱动原理介绍](humble/chapt16/2.从H桥说起-电机驱动原理介绍.md)
+    - [3.电机控制之正反转实验](humble/chapt16/3.电机控制之正反转实验.md)
+    - [4.电机控制之速度控制实验](humble/chapt16/4.电机控制之速度控制实验.md)
+    - 5.电机控制之使用开源库驱动多路电机
+    - 6.做个遥控车-订阅ROS2 Twist
+    - 7.速度测量-学会使用编码器
+    - 5.控制电机速度-PID控制器实现
+    - 6.控制机器人速度-运动学逆解
+    - 7.里程计计算-运动学正解与积分
+    - 8.可视化里程计-发布Odometry
+  - 第 17 章 FishBot建图与导航实现
+    - 章节导读
+    - FishBot建图实现
+      - 1.可视化雷达点云-学会驱动雷达
+      - 2.Cartographer安装与配置
+      - 3.使用雷达+里程计完成建图
+      - 4.使用纯雷达模式完成建图
+      - 5.导航地图编译与保存
+    - FishBot导航实现
+      - 1.Nav2介绍与安装
+      - 2.导航准备1-ROS标准REP105
+      - 3.导航准备2-发布里程计TF
+      - 4.Nav2地图导入与配置
+      - 5.单点多点导航测试
+  - 第 18 章 移动机器人导航进阶
+    - 章节导读
+    - 1.使用API进行导航
+    - 2.自定义控制器介绍
+    - 3.纯追踪控制器介绍
+    - 4.纯追踪控制器代码实现
+    - 5.自定义代价地图导航
+    - 6.超声波数据发布
+- (七)Moveit2机械臂篇
+  - 第 19 章 Moveit2仿真
+    - 章节导读
+    - 基础篇-运动学
+      - 机械臂正逆运动学
+    - 入门篇-Moveit2仿真
+      - Moveit2框架介绍
+      - 通过URDF配置Moveit2
+      - 通过键盘控制机械臂运动
+      - Moveit2-API控制机械臂
+      - 给机械臂添加夹爪控制器
+    - 进阶篇-架构
+      - Moveit2架构剖析
+
+  - 第 20 章 Moveit2进阶
+    - 章节导读
+    - 基础篇-算法
+      - 路径搜索之RRT算法
+      - 路径平滑算法
+    - 入门篇-Moveit2进阶
+      - 自定义规划器
+      - 自定义运动学求解器
+    - 进阶篇-实战演练
+      - 暂定
+
+  - 第 21 章 Moveit2真机控制
+    - 章节导读
+    - 基础篇-动力学
+      - 三次/五次样条插值
+    - 入门篇-Moveit2真机控制
+      - 机械臂硬件架构
+      - 自制机械臂控制及ROS2Control配置
+      - 使用Moveit2控制真实机械臂
+    - 进阶篇-实战演练
+      - 使用真实机械臂完成抓取