确定性机器人控制架构

MCP-Robot v3.0是一种基于神经符号架构的确定性机器人控制解决方案,确保在相同输入条件下生成完全一致的二进制电机命令,适用于需要高可靠性和安全性的生产级机器人应用。

  • by Danielfoojunwei
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Danielfoojunwei/MCP-ROBOT

使用说明

🤖 MCP Robot v3.0:确定性VLA生产堆栈

通过模型上下文协议(MCP)实现可靠机器人控制的神经符号架构


🏛️ 执行摘要:确定性委托

传统的机器人人工智能(VLAs)受到 随机漂移:在相同的环境和指令下,基于LLM的规划者可能会在不同的运行中输出不同的轨迹。在生产机器人中,这是不可接受的。

MCP机器人v3.0 介绍a 确定性执行运行时通过同步每个组件——从RNG种子和浮点精度到系统时钟和传感器快照——我们确保了相同的输入 总是 产生位相同的二进制电机命令。


🏗️ 第1部分:7层确定性架构

该系统分为七个不同的层,每个层都由严格的Pydantic契约隔开。数据从高级意图单向流向低级电机信号。

graph TD
    %% Input Layer
    subgraph "Environmental Context"
        P[Perception Snapshot]
        S[Robot State Snapshot]
    end

    %% Tier 1-2
    subgraph "Tier 1-2: Cognition"
        D[ALOHA Decomposer] --> |Subtasks| PL[ACT Planner]
    end

    %% Tier 3-4
    subgraph "Tier 3-4: Action Synthesis"
        PL --> |Action Chunks| E[Visio-Tactile Encoder]
        E --> |Augmented Chunks| M[Universal Mapper]
    end

    %% Safety Layer (Tier 5)
    subgraph "Tier 5: The Safety Chip"
        M --> |JointTrajectoryChunk| V[Physics Engine]
        S --> V
        V -- REJECT --> AL[Emergency Halt]
        V -- CERTIFY --> EX[Tier 6 Execution]
    end

    %% Execution (Tier 6-7)
    subgraph "Tier 6-7: Physical Loop"
        EX --> H[Hardware Control]
        EX --> SIM[Kinematic Sim]
        H & SIM --> L[Tier 7: Learning Loop]
    end

    %% Flows
    P & S --> D
    P & S --> PL
    P & S --> E

深度潜水

层级 名称 决定论原语 组件责任
0 编排器 StableHasher 生成不可变 plan_id 从哈希。
1 分解者 DeterministicRNG 将意图分解为语义子目标。
2 规划师 Seeded Latents 使用冻结权重预测块序列。
3 编码器 Snapshot Logic 根据感知添加触觉力目标。
4 映射器 Geometric IK 将世界空间转换为联合空间(反传送)。
5 验证器 Frozen Physics “安全芯片”(ZMP,力,极限)。
6 适配器 Tick-Sync 真正的ROS2动作客户端或确定性模拟。
7 学习者 Hindsight Trace 为未来的策略更新重新标记失败。

🛠️ 第二部分:决定论原语(核心)

整个堆栈构建在中的自定义运行时上 mcp_robot/runtime/determinism.py.

1. StableHasher

为了避免ID冲突并确保可追溯性,每个计划和块都由其SHA-256摘要标识。

  • 规范化:所有Pydantic模型在哈希之前都使用排序键和舍入浮点数进行序列化。
  • 可追溯性:相同的指令+状态快照将 总是 产量相同 plan_id.

2. FrozenClock

挂钟时间是决定论的敌人。

  • 实施:我们替换 time.time() 与全球 Clock 界面。在模拟中,时钟仅在以下情况下前进 step() 被称为。在规划过程中,时间被冻结到捕获快照的那一刻。

3. DeterministicRNG

  • 种子取样:所有内部随机过程(ACT延迟、噪声注入)都使用集中式 numpy.random.default_rng 种子由 DeterminismConfig.

🛡️ 第3部分:第5级-“安全芯片”

这 验证引擎 是最关键的组成部分。它充当人工智能“意图”和机器人“执行器”之间的管辖看门人。

集成安全门

  1. 连续性检查:确保任何块的第一个航路点在 0.1 radians 当前硬件状态。这可以防止导致电机浪涌的“传送”跳跃。
  2. 接头限位屏蔽:根据 robot_profile 最小/最大角度。
  3. ZMP(零力矩点)分析:
    • 计算机器人质心轨迹的稳定裕度。
    • 如果 score < 0.4,该块被拒绝为“不稳定”(防止类人跌倒)。
  4. 强制合规:验证预测的夹持力是否不超过硬件的结构安全限值(例如100N)。
```python
# Tier 5: The Safety Decision
safety_report = PhysicsEngine.verify_trajectory(
    target_chunk, 
    sim_state, 
    joint_limits
)
# Resulting in:
# { "valid": False, "reason": "Stability Error: ZMP Critical (0.22)" }
```
<!-- slide -->
```mermaid
graph LR
    A[Planned Trajectory] --> B{Safety Chip}
    B -->|ZMP < 0.4| C[REJECT]
    B -->|Force > 100N| C
    B -->|Continuity > 0.1| C
    B -->|Within Limits| D[EXECUTE]
```

🏎️ 第4部分:ROS2执行和数字孪生

ROS2Adapter (第6级)

VLA和物理世界之间的桥梁。它以两种模式运行:

[!重要] SIM模式(确定性模式):

  • 立即更新 KinematicSimulator 最后一个航点。
  • 不 asyncio.sleep (防止挂钟漂移)。
  • 非常适合回归测试和CI/CD。

[!警告] 硬件模式:

  • 连接到真实的ROS2操作服务器(FollowJointTrajectory).
  • 处理网络抖动和硬件延迟。
  • 而 决定 是确定性的 执行时间 受现实世界物理学的支配。

📊 第5部分:实证结果和基准

我们使用 诚实基准套件 证明我们的硬化是有效的。

决定论验证(单元测试)

测试 输入 通过条件 结果
计划稳定性 重新启动 位相同的JSON ✅ 通过
幂等性 重复呼叫 缓存结果命中 ✅ 通过
哈希敏感度 0.0001状态更改 生成唯一PlanID ✅ 通过

安全基准测试结果

类别 任务 结果 分析
挑选和放置 名义任务 成功 在标称条件下100%成功。
部队安全 “150N握力” 拒绝 被安全芯片正确阻断。
动态稳定性 “冲刺时用力推” 拒绝 模拟中发现ZMP违规。

📋 第6部分:操作手册

安装

# Clone and install dependencies
git clone https://github.com /Danielfoojunwei/MCP-ROBOT.git
pip install -e .

验证决定论

运行核心验证测试,以确保您的环境配置稳定:

python -m pytest tests/test_determinism.py

运行VLA服务器(MCP)

python mcp_robot/server.py

🗺️ 第七部分:生产路线图

  • [x] v1.0:模拟管道(启发式)。
  • [x] v2.0:硬化硬件(真正的ROS2适配器)。
  • [x] v3.0: 确定性生产 (种子RNG、冻结时钟、快照)。
  • [ ] v4.0: 全身控制(WBC):从关节插值转向实时扭矩控制。
  • [ ] v5.0: 多机器人编排:全舰队集群的确定性协调。

由Danielfoojunwei为生产级机器人自主开发。