个人简介
作者简介:全栈研发,具备端到端系统落地能力,专注大模型的压缩部署、多模态理解与 Agent 架构设计。 热爱“结构”与“秩序”,相信复杂系统背后总有简洁可控的可能。
我叫观熵。不是在控熵,就是在观测熵的流动
个人主页:观熵
个人邮箱:privatexxxx@163.com
座右铭:愿科技之光,不止照亮智能,也照亮人心!
专栏导航
观熵系列专栏导航:
AI前沿探索:从大模型进化、多模态交互、AIGC内容生成,到AI在行业中的落地应用,我们将深入剖析最前沿的AI技术,分享实用的开发经验,并探讨AI未来的发展趋势
AI开源框架实战:面向 AI 工程师的大模型框架实战指南,覆盖训练、推理、部署与评估的全链路最佳实践
计算机视觉:聚焦计算机视觉前沿技术,涵盖图像识别、目标检测、自动驾驶、医疗影像等领域的最新进展和应用案例
国产大模型部署实战:持续更新的国产开源大模型部署实战教程,覆盖从 模型选型 → 环境配置 → 本地推理 → API封装 → 高性能部署 → 多模型管理 的完整全流程
TensorFlow 全栈实战:从建模到部署:覆盖模型构建、训练优化、跨平台部署与工程交付,帮助开发者掌握从原型到上线的完整 AI 开发流程
PyTorch 全栈实战专栏: PyTorch 框架的全栈实战应用,涵盖从模型训练、优化、部署到维护的完整流程
深入理解 TensorRT:深入解析 TensorRT 的核心机制与部署实践,助力构建高性能 AI 推理系统
Megatron-LM 实战笔记:聚焦于 Megatron-LM 框架的实战应用,涵盖从预训练、微调到部署的全流程
AI Agent:系统学习并亲手构建一个完整的 AI Agent 系统,从基础理论、算法实战、框架应用,到私有部署、多端集成
DeepSeek 实战与解析:聚焦 DeepSeek 系列模型原理解析与实战应用,涵盖部署、推理、微调与多场景集成,助你高效上手国产大模型
端侧大模型:聚焦大模型在移动设备上的部署与优化,探索端侧智能的实现路径
行业大模型 · 数据全流程指南:大模型预训练数据的设计、采集、清洗与合规治理,聚焦行业场景,从需求定义到数据闭环,帮助您构建专属的智能数据基座
机器人研发全栈进阶指南:从ROS到AI智能控制:机器人系统架构、感知建图、路径规划、控制系统、AI智能决策、系统集成等核心能力模块
人工智能下的网络安全:通过实战案例和系统化方法,帮助开发者和安全工程师识别风险、构建防御机制,确保 AI 系统的稳定与安全
智能 DevOps 工厂:AI 驱动的持续交付实践:构建以 AI 为核心的智能 DevOps 平台,涵盖从 CI/CD 流水线、AIOps、MLOps 到 DevSecOps 的全流程实践。
C++学习笔记?:聚焦于现代 C++ 编程的核心概念与实践,涵盖 STL 源码剖析、内存管理、模板元编程等关键技术
AI × Quant 系统化落地实战:从数据、策略到实盘,打造全栈智能量化交易系统
大模型运营专家的Prompt修炼之路:本专栏聚焦开发 / 测试人员的实际转型路径,基于 OpenAI、DeepSeek、抖音等真实资料,拆解 从入门到专业落地的关键主题,涵盖 Prompt 编写范式、结构输出控制、模型行为评估、系统接入与 DevOps 管理。每一篇都不讲概念空话,只做实战经验沉淀,让你一步步成为真正的模型运营专家。
一、为什么机器人系统需要“架构设计”而不是“模块堆叠”?
很多初学者在搭建机器人系统时,往往沿用一种“积木式开发”思路:
- 写一个激光雷达节点,让它发布
/scan
- 加个 SLAM 节点,把地图建出来
- 加个 AMCL 模块,让它做定位
- 启动 move_base 做路径规划
- 控制器就直接发
/cmd_vel
一看,好像系统已经“跑”起来了。但实际运行过程中,却经常出现以下现象:
🤯 地图构好了,机器人却走偏了
🤯 控制器调好了,一插上识别模块就掉帧
🤯 一个模块挂了,全系统崩溃
🤯 想换个规划器,发现所有接口全耦合,动都不敢动
这些问题不是单一代码 bug,而是架构问题。
🧠 问题的本质:你在“堆功能”,不是“建系统”
机器人并不是几个功能的简单堆叠,而是一个:
- 异步通信
- 高实时性
- 多线程
- 多进程
- 分布式模块并行执行
的复杂工程系统。
如果没有统一架构设计、模块职责划分、数据流通设计,你做出来的系统可能短期能用,但:
- 不可维护
- 不可复用
- 不可协作
- 不可扩展
🚧 工程常见灾难案例
让我们看几个典型“堆模块式开发”的工程灾难:
❌ 案例 1:TF 坐标错乱引发全系统失控
感知模块使用
/odom → /base_link
导航模块用了/map → /base_footprint
控制器监听的是/odom → /base_link → /laser_frame
👉 结果:
- RViz 显示漂移
- 规划路径偏移目标
- 机器人在仿真中“穿墙”或“发抖”
❌ 案例 2:感知和规划频率不一致,系统卡顿抖动
雷达每秒 5 帧,AMCL 每秒 1 次更新,路径规划 10Hz,控制器 50Hz
没有消息同步机制和时间戳逻辑
👉 结果:
- 控制器收到了“老掉牙”的路径数据
- 机器人前进时反复修正角度,左右抖动,路径偏离
❌ 案例 3:模块间硬编码调用,无法替换组件
感知模块直接写了
move_base.send_goal()
,控制模块直接读取/scan
订阅并处理
👉 结果:
- 想替换规划器?你得改三个模块
- 想加一个中间调度逻辑?根本插不进去
✅ 正确的系统思维是:高内聚,低耦合
原则 | 描述 |
---|---|
高内聚 | 每个模块只做一件事,输入输出定义明确 |
低耦合 | 模块之间通过消息/接口连接,而非变量依赖 |
模块即插件 | 感知/规划/控制模块可插拔、可替换 |
接口标准化 | 所有话题命名、频率、数据类型统一设计 |
流向清晰 | 从感知 → 决策 → 控制 → 执行 → 回馈,环路通畅 |
📌 总结一句话:
机器人不是写出来的,是架出来的。
没有架构的机器人,能动但不稳;
有了架构的机器人,才可控、可扩展、可落地。
二、机器人软件系统的三层结构与六大模块拆分
当你开始构建一个可维护、可扩展、可协作的机器人系统时,第一步不是写代码,而是画系统结构图。
🎯 核心原则:职责清晰 × 功能分层
将复杂的机器人系统进行功能分层 + 模块解耦,是打造大规模稳定系统的通用做法。在工程实践中,通常采用“三层 × 六模块”的结构模式:
2.1 三层系统架构:从感知到决策再到行动
┌──────────────────────────┐
│ 感知层(Perception Layer) │ 看清世界
│ 传感器采集、图像/雷达处理、SLAM建图、定位 │
└──────────────────────────┘
↓
┌──────────────────────────┐
│ 决策层(Decision / Planning) │ 想清要干什么
│ 状态管理、路径规划、目标管理、行为逻辑 │
└──────────────────────────┘
↓
┌──────────────────────────┐
│ 执行层(Control / Actuation) │ 控制身体动作
│ 速度控制、姿态控制、电机执行、反馈闭环 │
└──────────────────────────┘
这三层之间通过明确接口和消息机制连接,每一层只关心自己的输入和输出,层与层之间可插拔、可测试、可替换。