Skip to main content

设计思想

1. 一套开发方式

电控、视觉、导航都用 XRobot / LibXR 开发,尽量共用同一套接口、工作流、配置文件语法和模块管理方式。绝大部分模块按跨平台、跨机器人复用来设计,平台差异留给配置和少量适配层。

这样可以降低开发与培训负担,减少“换一个组就要重新学一套”的成本,也让已有模块、调试经验和工程习惯更容易传承。

2. 分布式通信

不同平台作为去中心化分布式系统中的节点工作。

  1. 节点之间做一对一的跨设备通信。
  2. 同一设备内部做一对多的零拷贝跨进程通信。
  3. 整个系统采用无中心服务的分布式发布-订阅通信方式。
  4. 应用层只描述数据和语义,不手写一条条设备协议。

这意味着各个平台不再围着一个中心服务转,而是作为系统里的平等节点协作。节点之间通过统一通信语义交换数据,具体职责由机器人形态和任务需求决定。

3. 发挥各平台优势

分布式通信不是为了把系统拆复杂,而是为了让每个平台做自己擅长的事。例如 MCU 适合做数据采集、同步触发和控制闭环;更高算力的平台适合承担计算量更大的感知、规划或决策任务。

平台之间通过统一通信机制交换数据,系统设计就不需要把所有能力压到同一个设备上,也不需要为了某个平台的限制牺牲整体结构。

这也是我们不选择无下位机方案,也不把 MCU 只当外设扩展板的原因。MCU 不是主机的附属 IO,而是分布式系统中承担实时任务的节点。

4. 模块复用

模块化设计让功能改进和算法优化可以快速部署到所有机器人。一个模块完成优化后,只要接口和配置保持兼容,就可以被不同机器人、不同平台和不同运行场景复用。

这使得技术积累不会被锁在某一台机器人或某一个工程里。新赛季、新机器人、新任务优先复用已有模块,再通过配置和少量适配完成差异化部署。