首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第190章 Action Data 行为数据

第190章 Action Data

行为数据

第189章建立:

Cognition
 ↓
Method
 ↓
Action Object

第190章继续向机器执行层推进:

Action Object 如何转换为机器可以直接接收、解析和执行的标准化数据?

因此建立:

Action Object
 ↓
Action Data
 ↓
Machine Interface
 ↓
Machine

1. Action Object 与 Action Data

两者需要明确区分。

Action Object

属于 ICAI 内部 OOP 对象:

Action
{
    type
    target
    position
    orientation
    velocity
    force
    parameters
}

它服务于:

ICAI Cognitive System

Action Data

属于系统之间传输的数据:

{
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08,
    "force": 0.25
}

它服务于:

API
Machine Interface
Device Controller

因此:

Action Object
      ↓
Serialization
      ↓
Action Data

2. 为什么需要 Action Data

机器设备通常不需要知道:

Cognition
Reasoning
Method Matching

机器只需要获得:

What
Target
Position
Velocity
Force
Parameters

例如:

{
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08,
    "force": 0.25
}

因此建立明确的数据边界:

Cognitive Layer
        ↓
Action Object
        ↓
Action Data
        ↓
Machine Layer

3. Action Data 的核心结构

可以定义标准结构:

{
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "orientation": [0, 0, 90],
    "velocity": 0.08,
    "force": 0.25,
    "parameters": {}
}

其中:

action

表示行为类型。

target

表示行为对象。

position

表示空间位置。

orientation

表示姿态。

velocity

表示运动参数。

force

表示作用力或限制力。

parameters

表示具体 Method 所需要的扩展参数。


4. Action Data 不是新的认知

需要严格区分:

Cognition

和:

Action Data

Action Data 不负责:

理解
推理
判断
学习

这些属于:

Cognitive System

Action Data 只是:

认知系统计算出的行为结果的数据化表达。

因此:

Cognition
 ↓
Decision
 ↓
Method
 ↓
Calculation
 ↓
Action Object
 ↓
Action Data

越往下:

Abstract
 ↓
Structured
 ↓
Executable

5. Action Object → Action Data

可以建立独立的转换器:

class ActionSerializer
{
    public function serialize(Action $action)
    {
        return [
            'action' => $action->getType(),
            'target' => $action->getTarget(),
            'position' => $action->getPosition(),
            'orientation' => $action->getOrientation(),
            'velocity' => $action->getVelocity(),
            'force' => $action->getForce(),
            'parameters' => $action->getParameters()
        ];
    }
}

使用:

$serializer = new ActionSerializer();

$data = $serializer->serialize($action);

得到:

Action Object
      ↓
ActionSerializer
      ↓
Action Data

6. Action Data JSON 化

如果通过 API 通讯:

$json = json_encode($data);

形成:

{
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08,
    "force": 0.25
}

于是:

PHP Object
 ↓
Array
 ↓
JSON
 ↓
API

成为标准的数据传输路径。


7. Action Data API

独立系统架构下:

ICAI Cognitive System
          ↓
     Action Data
          ↓
       API
          ↓
Machine System

例如:

POST /api/action/execute

发送:

{
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08,
    "force": 0.25
}

机器系统接收以后:

API Controller
 ↓
Action Parser
 ↓
Action Validator
 ↓
Device Adapter
 ↓
Machine

这样 ICAI Cognitive System 不需要绑定某一个具体机器人品牌。


8. Action Data 与设备解耦

这是本章非常重要的工程原则。

ICAI 不直接输出:

Servo1 = 123
Servo2 = 87
Motor3 = 45

而输出:

Action Data

例如:

{
    "action": "move",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08
}

然后由设备层负责:

Action Data
 ↓
Device Adapter
 ↓
Robot-specific Command

因此:

ICAI

与:

Robot Hardware

之间形成接口隔离。


9. Action Data 与不同设备

例如同一个:

Action Data

可以进入:

Robot A Adapter

或者:

Robot B Adapter

或者:

Manipulator Adapter

最终:

             Action Data
                  │
       ┌──────────┼──────────┐
       ↓          ↓          ↓
   Robot A    Robot B    Robot C
   Adapter    Adapter    Adapter
       ↓          ↓          ↓
    Device     Device     Device

这样 ICAI 的认知逻辑与具体设备实现可以独立演化。


10. Action Data 必须具有时间性

由于 ICAI 是实时认知系统:

Action(t)

对应:

ActionData(t)

可以增加:

{
    "timestamp": "...",
    "scene_id": "scene_001",
    "action": "grasp",
    "target": "egg_001",
    "position": [100, 80, 30],
    "velocity": 0.08,
    "force": 0.25
}

这样机器执行层可以知道:

这是哪个 Scene 产生的 Action?

以及:

这个 Action 属于哪个认知周期?

11. Action Data 与 Scene ID

可以建立:

Scene Instance
      ↓
Cognition
      ↓
Method
      ↓
Action
      ↓
Action Data

因此:

{
    "scene_id": "scene_001",
    "action_id": "action_001",
    "action": "grasp",
    "target": "egg_001"
}

形成:

Scene
 ↓
Cognition
 ↓
Action

的可追踪关系。

这对于后面的:

Feedback
Learning
Experience

非常重要。


12. Action Data 与验证

Action Data 不能生成以后直接无条件执行。

应该经过:

Action Data
 ↓
Validation

检查:

Action Type
Target
Position
Velocity
Force
Capability
Safety

例如:

Force = 0.25

是否在设备允许范围?

Velocity = 0.08

是否超过设备能力?

Target = egg_001

是否仍然存在于:

Current Scene

中?

如果不满足:

Action Data
 ↓
Validation Failure
 ↓
Feedback
 ↓
Cognition

重新计算。


13. Action Data 与实时变化

特别重要的是:

Action Data

不是永久有效的。

例如:

Scene(t)
 ↓
Action Data(t)

但机器人尚未执行。

此时:

Egg Position

发生变化:

Scene(t+1)

那么原来的:

Action Data(t)

可能已经失效。

因此:

Action Data

应该具有:

Validity
Timestamp
Scene ID

必要时:

Action(t)
 ↓
World Change
 ↓
New Scene
 ↓
Recalculate

14. Action Data 与反馈闭环

最终:

Cognition
 ↓
Method
 ↓
Calculation
 ↓
Action Object
 ↓
Action Data
 ↓
Machine
 ↓
Physical Result
 ↓
Feedback Data
 ↓
Scene Update
 ↓
Cognition

于是:

Action Data

成为认知系统进入现实世界的出口。

而:

Feedback Data

成为现实世界返回认知系统的入口。

形成:

        ICAI
          │
          ↓
    Action Data
          │
          ↓
       Machine
          │
          ↓
     World Change
          │
          ↓
    Feedback Data
          │
          ↓
        ICAI

15. Action Data 与 API 边界

最终可以明确系统边界:

┌──────────────────────────────┐
│       ICAI Cognitive System  │
│                              │
│ Scene                        │
│ Cognition                    │
│ Method Matching              │
│ Method Calculation           │
│ Action Object                │
└──────────────┬───────────────┘
               │
               ↓
          Action Data
               │
             API
               │
               ↓
┌──────────────┴───────────────┐
│        Machine System        │
│                              │
│ Action Parser                │
│ Validator                    │
│ Device Adapter               │
│ Controller                   │
│ Hardware                     │
└──────────────────────────────┘

这样:

ICAI 负责认知和行为数据生成,机器系统负责行为数据解释与物理执行。


16. Action Data 的核心公式

可以定义:

ActionData(t)
=
Serialize(
    ActionObject(t)
)

而:

ActionObject(t)
=
F(
    Method(t),
    Cognition(t),
    Scene(t)
)

因此完整:

Scene(t)
 ↓
Cognition(t)
 ↓
Method Matching
 ↓
Method Calculation
 ↓
Action Object(t)
 ↓
Action Data(t)
 ↓
Machine

17. 本章核心原则

Action Data Principle

ICAI 中的 Action Data 是 Action Object 面向机器执行层的标准化数据表达。它将认知系统内部产生的行为对象转换为机器系统可以通过 API 接收、验证、解析和执行的结构化数据,同时保持认知逻辑与具体设备控制逻辑之间的独立性。

最终建立:

Cognitive Result
        ↓
Action Object
        ↓
Action Data
        ↓
API
        ↓
Machine

到这里,第189章和第190章实际上完成了一个非常关键的转换:

第189章
Action Object
        ↓
“机器要做什么”的对象

第190章
Action Data
        ↓
“把什么数据交给机器”的接口

因此现在整个链条已经进一步变成:

Real-Time Data
 ↓
Element Instance
 ↓
Object Instance
 ↓
Relation
 ↓
Scene Instance
 ↓
Cognition Instance
 ↓
Method Matching
 ↓
Method Calculation
 ↓
Action Object
 ↓
Action Data
 ↓
Machine API
 ↓
Machine

下一章可以顺着进入第191章 Action Execution:研究 Action Data 进入机器以后,如何经过设备接口真正转化为物理动作,以及动作执行结果如何重新进入第181章的 Scene Update,最终形成完整的实时认知—行为闭环。

Leave a Reply

Your email address will not be published. Required fields are marked *