|
| 1 | +# 机器人文档项目总导航图 |
| 2 | + |
| 3 | +> 这份导航图只回答一个问题:**这个文档项目整体在研究和教学什么,主方向有哪些,它们之间是什么关系。** |
| 4 | +> |
| 5 | +> 不展开到具体章节知识点,只保留宏观结构、代表方法、代表代码生态和核心入口文档。 |
| 6 | +
|
| 7 | +如果你需要更细的结构树,请继续看: |
| 8 | + |
| 9 | +- [项目分层导航](./01_项目分层导航.md):大方向 → 方向 → 子方向 / 子知识块 → 对应文件入口 |
| 10 | +- [数学导航完整性审计](./02_数学导航完整性审计.md):按“总纲 → 批次 → 子任务 → 单文件成熟度”核对数学线是否缺项 |
| 11 | +- [全项目导航完整性审计](./03_全项目导航完整性审计.md):对整个项目导航做简洁总审查 |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +## 1. 项目定位 |
| 16 | + |
| 17 | +这个项目不是单一主题的笔记集合,而是一套面向**机器人高阶教学 / 工程迁移 / 研究预备**的文档体系。 |
| 18 | +整体上可以理解为六层结构: |
| 19 | + |
| 20 | +1. **数学底座** |
| 21 | +2. **C++ / SLAM 公共主线** |
| 22 | +3. **规划与控制总线** |
| 23 | +4. **按机器人形态展开的方向线** |
| 24 | +5. **横切专题** |
| 25 | +6. **工程生态与项目调研** |
| 26 | + |
| 27 | +当前文档形态是**根目录平铺 + 多条主线并行演进**,因此建议后续都从本导航页进入。 |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## 2. 一张图看全项目 |
| 32 | + |
| 33 | +```text |
| 34 | +机器人文档项目 |
| 35 | +├── A. 数学与博士前底座 |
| 36 | +│ ├── 基础分析 / 代数 / 测度 / ODE |
| 37 | +│ ├── 流形 / 李群 / 凸优化 / 自动微分 |
| 38 | +│ ├── 最优控制 / 刚体动力学 / 状态估计 |
| 39 | +│ └── RL / 接触力学 / 深度学习与具身智能 |
| 40 | +│ |
| 41 | +├── B. C++ / SLAM 公共主线 |
| 42 | +│ ├── 现代 C++ / 模板 / 并发 / 工程化 |
| 43 | +│ ├── Eigen / manif / Ceres / GTSAM / g2o |
| 44 | +│ ├── PCL / OpenCV / ROS2 / CUDA |
| 45 | +│ └── 多传感器 SLAM 架构与项目实战 |
| 46 | +│ |
| 47 | +├── C. 规划与控制总线 |
| 48 | +│ ├── 方向划分与公共基础层 |
| 49 | +│ ├── Pinocchio / QP-NLP / MPC / WBC / ros2_control |
| 50 | +│ └── 从 SLAM/C++ 底盘过渡到规控方向 |
| 51 | +│ |
| 52 | +├── D. 方向线 |
| 53 | +│ ├── 无人机规控 |
| 54 | +│ ├── 机械臂规控 |
| 55 | +│ ├── 腿足 / 轮足 / 人形 / 复合机器人 |
| 56 | +│ └── 力控 / 柔顺 / 阻抗 / 导纳 |
| 57 | +│ |
| 58 | +├── E. 横切专题 |
| 59 | +│ ├── 不确定性规划 |
| 60 | +│ ├── 博弈规划 |
| 61 | +│ ├── 时空联合规划 |
| 62 | +│ └── MuJoCo / 可微仿真 / RL+规控交叉 |
| 63 | +│ |
| 64 | +└── F. 工程生态与调研 |
| 65 | + ├── ROS1 / ROS2 / Gazebo / URDF / Xacro |
| 66 | + ├── 规划控制 C++ 库生态 |
| 67 | + ├── SLAM / 规控 / 机器人项目全景调研 |
| 68 | + └── 经典论文脉络与项目精读 |
| 69 | +``` |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## 3. 主结构导航 |
| 74 | + |
| 75 | +### A. 数学与博士前底座 |
| 76 | + |
| 77 | +- **定位**:整套项目的理论地基,负责把本科数学补到机器人博士预备层。 |
| 78 | +- **主要覆盖**:实分析、测度、泛函、流形、李群、凸优化、非线性优化、自动微分、最优控制、刚体动力学、状态估计、RL、接触力学、具身智能数学。 |
| 79 | +- **代表方法关键词**:Retraction、BCH、KKT、内点法、PMP、HJB、RNEA/ABA、EKF/IEKF、因子图、随机逼近、互补问题。 |
| 80 | +- **代表代码生态**:`Eigen`、`Sophus`、`manif`、`Ceres`、`CasADi`、`OSQP`、`Ipopt`、`GTSAM`。 |
| 81 | +- **入口文档**: |
| 82 | + - [博士前数学学习路线图总览](../博士前数学学习路线图总览.md) |
| 83 | + - [博士前数学路线图 · 第一批 · 专题1:光滑流形的一般理论](../博士前数学路线图%20·%20第一批%20·%20专题1:光滑流形的一般理论.md) |
| 84 | + - [博士前数学路线图 · 第二批 · 专题 2:凸优化问题类型与对偶理论](../博士前数学路线图%20·%20第二批%20·%20专题%202:凸优化问题类型与对偶理论.md) |
| 85 | + |
| 86 | +### B. C++ / SLAM 公共主线 |
| 87 | + |
| 88 | +- **定位**:整个项目的工程底盘,也是多数方向线默认的前置主线。 |
| 89 | +- **主要覆盖**:现代 C++、模板、并发、内存/缓存、构建系统、ROS2、高性能工程;再向上进入 SLAM 的核心库、系统架构、项目精读与综合实战。 |
| 90 | +- **代表方法关键词**:CRTP、SFINAE、Concepts、因子图、自动微分、图优化、多传感器 SLAM、性能优化、Mini-LIO。 |
| 91 | +- **代表代码生态**:`Eigen`、`manif`、`GTSAM`、`Ceres`、`g2o`、`PCL`、`OpenCV`、`ROS2`、`CUDA`。 |
| 92 | +- **入口文档**: |
| 93 | + - [SLAM_CPP进阶教学大纲_v8_上篇](../SLAM_CPP进阶教学大纲_v8_上篇.md) |
| 94 | + - [SLAM_CPP进阶教学大纲_v8_下篇](../SLAM_CPP进阶教学大纲_v8_下篇.md) |
| 95 | + - [SLAM工程师C++进阶大纲优化研究报告](../SLAM工程师C++进阶大纲优化研究报告.md) |
| 96 | + |
| 97 | +### C. 规划与控制总线 |
| 98 | + |
| 99 | +- **定位**:连接“SLAM/C++ 底盘”和“各机器人规控方向”的总纲层。 |
| 100 | +- **主要覆盖**:规控方向分类、公共基础层、Pinocchio、动力学、优化建模、MPC、WBC、实时控制、任务编排。 |
| 101 | +- **代表方法关键词**:Pinocchio、CppAD/CodeGen、QP/NLP、DDP/iLQR、MPC、TSID、WBC、PREEMPT_RT、BT.CPP。 |
| 102 | +- **代表代码生态**:`Pinocchio`、`CppAD`、`CasADi`、`OSQP`、`HPIPM`、`ProxQP`、`Crocoddyl`、`OCS2`、`ros2_control`。 |
| 103 | +- **入口文档**: |
| 104 | + - [规控方向分类与公共基础层设计方案](../规控方向分类与公共基础层设计方案.md) |
| 105 | + - [机械臂腿足规控C++方向增量式教学大纲_v1](../机械臂腿足规控C++方向增量式教学大纲_v1.md) |
| 106 | + - [腿足方向C++进阶教学大纲_v1_序章上篇_全景与四分法](../腿足方向C++进阶教学大纲_v1_序章上篇_全景与四分法.md) |
| 107 | + |
| 108 | +### D1. 无人机方向 |
| 109 | + |
| 110 | +- **定位**:面向多旋翼轨迹生成、自主探索、MPC/几何控制、敏捷飞行与群体协同。 |
| 111 | +- **主要方法**:微分平坦、Min-Snap、多项式轨迹、B-spline、MINCO、安全走廊、几何控制、NMPC、敏捷飞行 RL、编队协同。 |
| 112 | +- **代表代码生态**:`GCOPTER`、`Fast-Planner`、`EGO-Planner`、`PX4`、`Flightmare`、`Aerial Gym`、`Agilicious`、`OmniDrones`。 |
| 113 | +- **入口文档**: |
| 114 | + - [无人机方向C__进阶教学大纲_v0.1](../无人机方向C__进阶教学大纲_v0.1.md) |
| 115 | + - [无人机运动规划与控制开源C++项目全景调研](../无人机运动规划与控制开源C++项目全景调研.md) |
| 116 | + |
| 117 | +### D2. 机械臂方向 |
| 118 | + |
| 119 | +- **定位**:面向固定基座操作机器人,从运动学、动力学、优化到规划执行的完整工程链。 |
| 120 | +- **主要方法**:Pinocchio 动力学、IK、碰撞检测、QP/NLP 建模、OMPL、TrajOpt、CHOMP、STOMP、GPMP2、时间参数化、实时控制、MoveIt2。 |
| 121 | +- **代表代码生态**:`Pinocchio`、`KDL`、`TRAC-IK`、`IKFast`、`FCL`、`HPP-FCL`、`OMPL`、`MoveIt2`、`Ruckig`、`libfranka`。 |
| 122 | +- **入口文档**: |
| 123 | + - [机械臂方向C__进阶教学大纲_v0.1](../机械臂方向C__进阶教学大纲_v0.1.md) |
| 124 | + - [机械臂规划与控制开源C++项目精炼版调研](../机械臂规划与控制开源C++项目精炼版调研.md) |
| 125 | + - [机械臂规控C++项目全景调研_第一批](../机械臂规控C++项目全景调研_第一批.md) |
| 126 | + |
| 127 | +### D3. 腿足 / 轮足 / 人形 / 复合机器人方向 |
| 128 | + |
| 129 | +- **定位**:从浮动基座动力学出发,进入四足、轮足、人形、足式操作和 loco-manipulation。 |
| 130 | +- **主要方法**:空间向量代数、Centroidal Dynamics、SRB、MPC+WBC、WBIC、全身控制、模式切换、移动操作、轮足混合、视觉全身控制。 |
| 131 | +- **代表代码生态**:`Pinocchio`、`OCS2`、`Crocoddyl`、`TSID`、`legged_control`、`qm_control`、`mc_rtc`、`Isaac Lab`。 |
| 132 | +- **入口文档**: |
| 133 | + - [腿足方向C++进阶教学大纲_v1_第1批_Ch47-50](../腿足方向C++进阶教学大纲_v1_第1批_Ch47-50.md) |
| 134 | + - [复合机器人规控C++进阶教学大纲_续篇_Ch71-100](../复合机器人规控C++进阶教学大纲_续篇_Ch71-100.md) |
| 135 | + - [轮足机器人与足式机械臂开源项目全景调研](../轮足机器人与足式机械臂开源项目全景调研.md) |
| 136 | + |
| 137 | +### D4. 力控 / 柔顺控制方向 |
| 138 | + |
| 139 | +- **定位**:从位置控制跨入接触交互世界,覆盖阻抗、导纳、操作空间力控、变阻抗、碰撞安全和学习型柔顺。 |
| 140 | +- **主要方法**:阻抗控制、导纳控制、操作空间动力学、无源性、能量罐、动量观测器、WBC 力控、RL+阻抗、Diffusion Policy。 |
| 141 | +- **代表代码生态**:`libfranka`、`franka_ros2`、`ros2_controllers`、`mc_rtc`、`TSID`、`OCS2`、`WBIC`、`SERL`。 |
| 142 | +- **入口文档**: |
| 143 | + - [力控柔顺控制方向C__进阶教学大纲_v0_2](../力控柔顺控制方向C__进阶教学大纲_v0_2.md) |
| 144 | + |
| 145 | +### E1. 不确定性规划横切专题 |
| 146 | + |
| 147 | +- **定位**:处理模型误差、感知误差、风险和信念空间问题。 |
| 148 | +- **主要方法**:Scenario Tree、Robust MPC、Chance-Constrained Planning、POMDP / Belief-space Planning、CVaR / 风险敏感规划。 |
| 149 | +- **代表代码生态**:`DESPOT` 等 POMDP 框架为主,工程 C++ 生态相对稀疏。 |
| 150 | +- **入口文档**: |
| 151 | + - [不确定性规划横切专题_八段式大纲_上篇](../不确定性规划横切专题_八段式大纲_上篇.md) |
| 152 | + - [不确定性规划横切专题_八段式大纲_下篇](../不确定性规划横切专题_八段式大纲_下篇.md) |
| 153 | + |
| 154 | +### E2. 博弈规划横切专题 |
| 155 | + |
| 156 | +- **定位**:处理“对手/他人也是决策者”的规划问题,强调交互、意图和策略耦合。 |
| 157 | +- **主要方法**:Game-theoretic Planning、交互式规划、联合预测-规划、多智能体决策、MARL 交界。 |
| 158 | +- **代表代码生态**:开源 C++ 较分散,更多承担“论文脉络 + 方法地图”角色。 |
| 159 | +- **入口文档**: |
| 160 | + - [博弈规划横切专题_八段式大纲](../博弈规划横切专题_八段式大纲.md) |
| 161 | + - [经典规控范式四专题横切层调研报告](../经典规控范式四专题横切层调研报告.md) |
| 162 | + |
| 163 | +### E3. 时空联合规划横切专题 |
| 164 | + |
| 165 | +- **定位**:处理路径和速度不能再分开的动态规划问题,是自动驾驶、多机协调、动态避障的重要横切层。 |
| 166 | +- **主要方法**:Frenet / SL-ST 图、SIPP、时空走廊、CILQR、TEB、OBCA、Apollo/Autoware 工业链、多智能体 CBS/LaCAM/ORCA、扩散式规划。 |
| 167 | +- **代表代码生态**:`Apollo`、`Autoware`、`RVO2/ORCA`、多机 MAPF 相关项目,以及无人机时空协调框架。 |
| 168 | +- **入口文档**: |
| 169 | + - [时空联合规划横切专题_八段式大纲_上篇](../时空联合规划横切专题_八段式大纲_上篇.md) |
| 170 | + - [时空联合规划横切专题_八段式大纲_下篇](../时空联合规划横切专题_八段式大纲_下篇.md) |
| 171 | + |
| 172 | +### E4. MuJoCo / 可微仿真 / RL+规控交叉 |
| 173 | + |
| 174 | +- **定位**:作为交叉能力层,连接接触、仿真、优化、强化学习与规控部署。 |
| 175 | +- **主要方法**:可微仿真、接触梯度、轨迹优化、sim-to-real、MuJoCo 工程链。 |
| 176 | +- **代表代码生态**:`MuJoCo`、`mjlab`、以及与 `Isaac Lab`、`OCS2`、`Crocoddyl` 等规控框架的交叉。 |
| 177 | +- **入口文档**: |
| 178 | + - [MuJoCo与可微分仿真_规控交叉能力层教学大纲_v0.1_完整版_含mjlab实战](../MuJoCo与可微分仿真_规控交叉能力层教学大纲_v0.1_完整版_含mjlab实战.md) |
| 179 | + |
| 180 | +### F. 工程生态与调研资料层 |
| 181 | + |
| 182 | +- **定位**:提供整套项目的工程环境、基础设施、代码生态、开源项目和论文脉络支撑。 |
| 183 | +- **主要覆盖**: |
| 184 | + - ROS1 / ROS2 架构、迁移、CLI、调试、可视化 |
| 185 | + - Gazebo / URDF / Xacro / ros2_control / 硬件接入 |
| 186 | + - SLAM、规划、控制、C++ 工具链与开源项目全景 |
| 187 | + - 经典论文脉络与项目对照阅读 |
| 188 | +- **代表代码生态**:`ROS2`、`Nav2`、`Gazebo`、`MoveIt2`、`RViz2`、`PlotJuggler`、`Foxglove`。 |
| 189 | +- **入口文档**: |
| 190 | + - [ROS1_ROS2_机器人工程师完整调研报告](../ROS1_ROS2_机器人工程师完整调研报告.md) |
| 191 | + - [ROS1_ROS2_架构对比与迁移_完整调研报告](../ROS1_ROS2_架构对比与迁移_完整调研报告.md) |
| 192 | + - [机器人规划与控制领域C++库生态全景调研](../机器人规划与控制领域C++库生态全景调研.md) |
| 193 | + - [机器人规划与控制经典论文脉络全景](../机器人规划与控制经典论文脉络全景.md) |
| 194 | + |
| 195 | +--- |
| 196 | + |
| 197 | +## 4. 项目内文档的常见类型 |
| 198 | + |
| 199 | +为了快速判断一份文档在项目里的用途,可以按下面这五类看: |
| 200 | + |
| 201 | +| 类型 | 作用 | 典型文件 | |
| 202 | +|------|------|----------| |
| 203 | +| 总纲 / 路线图 | 定义整条学习主线或方向结构 | `博士前数学学习路线图总览`、`SLAM_CPP进阶教学大纲_v8_*` | |
| 204 | +| 方向大纲 | 面向某个机器人方向的完整进阶路线 | `无人机方向*`、`机械臂方向*`、`力控柔顺控制方向*` | |
| 205 | +| 批次专题 / 子专题 | 深入某一理论链或章节组 | 第三批/第五批/第七批等专题文档 | |
| 206 | +| 横切专题 | 跨多个方向复用的方法层 | 不确定性规划、博弈规划、时空联合规划 | |
| 207 | +| 调研 / 生态 / 论文脉络 | 做选型、建图谱、找代码入口 | ROS 调研、开源项目全景、论文脉络全景 | |
| 208 | + |
| 209 | +--- |
| 210 | + |
| 211 | +## 5. 宏观阅读顺序建议 |
| 212 | + |
| 213 | +如果只是想看清整个项目,不想一开始就掉进章节细节,建议按这个顺序浏览: |
| 214 | + |
| 215 | +1. **先看数学底座** |
| 216 | + 入口:[博士前数学学习路线图总览](../博士前数学学习路线图总览.md) |
| 217 | + |
| 218 | +2. **再看 C++ / SLAM 公共主线** |
| 219 | + 入口:[SLAM_CPP进阶教学大纲_v8_上篇](../SLAM_CPP进阶教学大纲_v8_上篇.md) |
| 220 | + |
| 221 | +3. **然后看规控总线和方向划分** |
| 222 | + 入口:[规控方向分类与公共基础层设计方案](../规控方向分类与公共基础层设计方案.md) |
| 223 | + |
| 224 | +4. **再挑你关心的方向线** |
| 225 | + 无人机 / 机械臂 / 腿足复合 / 力控 |
| 226 | + |
| 227 | +5. **最后再看横切专题和工程生态层** |
| 228 | + 用来补“跨方向的方法论”和“工程环境地图” |
| 229 | + |
| 230 | +--- |
| 231 | + |
| 232 | +## 6. 项目当前的宏观理解 |
| 233 | + |
| 234 | +从全局上看,这个项目可以概括成一句话: |
| 235 | + |
| 236 | +> **先用数学与 C++ / SLAM 打底,再把规划与控制拆成多个机器人方向,最后用横切专题、工程生态和项目调研把它们重新连成一张研究与工程地图。** |
| 237 | +
|
| 238 | +如果后续继续扩展,建议优先维持这套导航结构不变: |
| 239 | + |
| 240 | +1. 数学底座 |
| 241 | +2. C++ / SLAM 主线 |
| 242 | +3. 规控总线 |
| 243 | +4. 方向线 |
| 244 | +5. 横切专题 |
| 245 | +6. 工程生态与调研 |
| 246 | + |
| 247 | +这样新增文档再多,也不会失去全局可读性。 |
0 commit comments