_sidebar.md 10 KB

  • ROS2代码模板

  • 第 1 章 ROS2介绍与安装

  • 第 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控制真实机械臂
    • [进阶篇-实战演练]()
    • 使用真实机械臂完成抓取