Skip to content

设计思想

Roplat 的核心目标是“运行时危险左移”。

意思是:能在编译期发现的问题,就尽量不要留到机器人跑起来后再发现。

三个关键词

  1. 确定性

节点输入输出、节律触发和系统拓扑尽量显式,减少隐式行为。

  1. 可组合

用统一抽象组织复杂系统:

  • Node:计算单元
  • Rhythm:触发机制
  • System:组合与调度边界

  • 可扩展

Rust 是主调度语言,但算法实现不限制在 Rust,可接入 C++ 与 Python。

进程内静态 + 进程级动态

这是理解 Roplat 的关键:

  1. 进程内静态

在单个系统中,拓扑与类型关系尽量由编译期约束。

  1. 进程级动态

系统之间仍可运行期启停、替换和切换,不把动态能力彻底禁掉。

为什么不走全动态

全动态会把大量校验推迟到运行时。在机器人场景中,这意味着:

  1. 问题暴露更晚
  2. 复现成本更高
  3. 线上风险更大

Roplat 选择先把高概率、高代价错误拦在编译阶段,再在运行期保留必要弹性。

新人的心智模型

  1. 你写的不是脚本串联,而是有类型边界的执行图。
  2. build.rs 不只是编译钩子,而是多语言生成链的一部分。
  3. 系统管理文件与用户文件分离,是为了稳定升级和用户可控。

关联阅读

  1. RFC 0001 roplat
  2. 节点
  3. 系统