09-示例

作者:姚博文 · 2026-09-15

labs/ — 可运行示例(纯 Python 标准库)

对应知识库"仿真先行"原则:每个脚本都只依赖 Python 3 标准库,`python3 xxx.py` 直接运行,
输出 ASCII 轨迹/曲线,无需 numpy/matplotlib。先在这里把原理跑通,再上车。

脚本列表

| 脚本 | 对应文档 | 演示内容 |

| --- | --- | --- |

| diff_drive_sim.py | 05-移动机器人运动学模型 / 05-PID与经典控制 | 差速运动学积分 + PID 角速度环 vs 开环,跟踪圆轨迹,ASCII 轨迹对比 |

| a_star_grid.py | 07-全局规划 | 网格地图 A* 与 Dijkstra,ASCII 地图 + 路径,含 8 向移动与转角约束 |

| complementary_filter.py | 04-里程计与IMU | 互补滤波姿态估计:陀螺仪积分漂移 vs 加速度计噪声 vs 互补滤波收敛 |

运行

使用建议

1. **改参数看现象**:每个脚本顶部有 `PARAMS` 区,改 PID 增益 / 运动学参数 / 滤波系数,观察输出指标(RMS 误差、路径长度等)变化。

2. **加扰动**:脚本里的噪声/扰动是"真实世界"的模拟,把噪声调大体会感更明显。

3. **移植到 ROS2**:核心算法(PID 类、A\*、互补滤波)都是纯函数,直接搬进 ROS2 节点即可,见各知识文档的"实践与集成"章节。

这些脚本是"最小可运行范例",追求可读性而非性能;生产代码请用 numpy 向量化 + 正确类型。