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

第36章 行为运行时

第36章 行为运行时

第35章完成了从抽象结构到具体实例的转换:

Method
   ↓
Method Instance
   ↓
Behavior
   ↓
Behavior Instance
   ↓
Action
   ↓
Action Instance

但是,实例化并不等于运行。

一个 Behavior Instance 被创建之后,必须进入一个持续运行的过程:

State
   ↓
Method
   ↓
Behavior
   ↓
Action
   ↓
Feedback

反馈又会改变下一时刻的 State:

State(t)
   ↓
Method
   ↓
Behavior
   ↓
Action
   ↓
Execution
   ↓
Feedback
   ↓
State(t+1)
   ↺

因此,本章定义:

行为运行时(Behavior Runtime)是人工个体在当前认知状态下,使方法、行为和动作持续进入执行过程,并通过实时反馈不断更新状态、行为和后续动作的动态运行结构。


36.1 什么是行为运行时

Runtime 的核心不是“运行一个程序”,而是:

让已经形成的结构在时间中真正持续存在、变化、执行和结束。

对于 ICAI:

Definition
    ↓
Instance
    ↓
Runtime

分别代表三个不同层次。

Definition

描述:

它是什么?

Instance

描述:

当前具体是什么?

Runtime

描述:

当前正在怎样运行?

因此:

Method
   ↓
Method Instance
   ↓
Method Runtime

Behavior
   ↓
Behavior Instance
   ↓
Behavior Runtime

Action
   ↓
Action Instance
   ↓
Action Execution

行为运行时就是把这些结构连接成一个持续过程。


36.2 行为运行时的核心循环

本章核心结构:

State
  ↓
Method
  ↓
Behavior
  ↓
Action
  ↓
Feedback
  ↓
State
  ↺

进一步展开:

Current State
     ↓
Method Selection
     ↓
Method Instance
     ↓
Behavior Instance
     ↓
Behavior State
     ↓
Action Instance
     ↓
Execution
     ↓
Actual Result
     ↓
Feedback
     ↓
State Update
     ↺

这意味着 Behavior Runtime 不是一次性的执行函数,而是:

State → Action → Feedback → State 的持续循环系统。


36.3 State:运行时的起点

行为运行时从 State 开始。

因为人工个体不能脱离当前状态决定行为。

当前状态可能包括:

Object State
Scene State
Environment State
Cognitive State
Goal State
Capability State
Behavior State
Resource State
Risk State

因此:

State(t)
   ↓
Current Situation
   ↓
Method

当前状态决定:

  • 当前目标是否仍然有效;
  • 当前方法是否仍然可用;
  • 当前行为是否能够继续;
  • 当前动作是否可以执行;
  • 当前参数是否需要调整。

所以:

State 是行为运行时的输入状态。


36.4 State 不是静态数据

行为运行过程中,State 会持续变化:

State(t)
   ↓
Action
   ↓
State(t+1)

例如:

Approach
   ↓
Contact
   ↓
Grasp
   ↓
Move
   ↓
Hold
   ↓
Release
   ↓
Complete

这些不仅是 Behavior State 的变化,同时也反映对象、环境和认知状态的变化。

因此:

Statet+1=F(Statet,Actiont,Environmentt)State_{t+1}=F(State_t,Action_t,Environment_t)

Behavior Runtime 的本质,就是不断处理:

Statet→Statet+1State_t \rightarrow State_{t+1}


36.5 Method:运行时的处理规则

State 确定之后,需要确定当前采用的方法。

State
   ↓
Goal
   ↓
Capability
   ↓
Method

Method 在运行时承担:

根据当前状态和目标,规定应该如何产生后续行为和动作。

因此:

State
   ↓
Method
   ↓
Behavior

不是:

State → fixed Action

而是:

State
   ↓
Method
   ↓
Behavior
   ↓
Action

Method 是行为运行时的组织规则。


36.6 Method 在运行时并非永远固定

Behavior Runtime 是动态的。

因此当前 Method 也可能失效。

例如:

State
   ↓
Method A
   ↓
Behavior
   ↓
Action
   ↓
Environment Change
   ↓
Feedback
   ↓
State Change
   ↓
Method A Invalid

此时:

Method Re-Evaluation
      ↓
Method B

于是:

State
   ↓
Method A
   ↓
Feedback
   ↓
New State
   ↓
Method B
   ↓
Behavior Continue

因此行为运行时允许:

Method Continue
Method Adapt
Method Switch
Method Recover

36.7 Behavior:运行时的过程结构

Method 确定之后进入 Behavior。

Behavior 负责把方法组织成一个连续过程:

Method
   ↓
Behavior
   ↓
Behavior State
   ↓
Current Action

Behavior 不只是“动作列表”。

它还维护:

Current State
Action
Transition
Condition
Constraint
Feedback
History
Goal

因此 Behavior Runtime 实际上运行的是:

一个不断发生状态转换的行为过程。


36.8 Behavior Runtime 与 Behavior Instance

二者必须区分。

Behavior Instance

表示:

当前这个具体行为对象。

而:

Behavior Runtime

表示:

这个行为对象正在时间中运行的过程。

因此:

Behavior Instance
       ↓
Behavior Runtime
       ↓
State Transition
       ↓
Action Execution

可以理解为:

Behavior Instance = 当前行为是谁
Behavior Runtime  = 当前行为如何运行

36.9 Action:运行时的具体动作

Behavior Runtime 最终必须产生 Action。

Behavior
   ↓
Current Behavior State
   ↓
Action

Action 是运行时中的具体操作单元。

例如:

Behavior = Object Transfer

Action 1 = Approach
Action 2 = Contact
Action 3 = Grasp
Action 4 = Lift
Action 5 = Move
Action 6 = Hold
Action 7 = Release

Behavior Runtime 按当前状态决定:

现在应该产生哪一个 Action。


36.10 Action 不是一次性静态命令

Action 在 Runtime 中必须具有当前上下文:

Action Instance
├── Target
├── Parameter
├── Condition
├── Constraint
├── Expected Result
└── Execution Context

因此运行时过程:

Behavior State
      ↓
Action Selection
      ↓
Action Instantiation
      ↓
Action Instance
      ↓
Execution

Action Instance 才是进入实际执行的具体动作结构。


36.11 Feedback:运行时的闭环

如果没有 Feedback:

State
 ↓
Method
 ↓
Behavior
 ↓
Action
 ↓
Execution

系统就只能单向运行。

它不知道:

动作是否成功?
状态是否变化?
目标是否达成?
环境是否变化?
风险是否增加?
方法是否仍然有效?

所以必须:

Action
   ↓
Execution
   ↓
Feedback

Feedback 将现实结果重新送回行为运行时。


36.12 Feedback 的内容

Feedback 不只是:

Success / Failure

而可以包含:

Actual State
Actual Position
Actual Force
Actual Result
Deviation
Unexpected Event
Environment Change
Risk Change
Constraint Change
Progress
Failure

因此:

Action
   ↓
Actual Result
   ↓
Feedback

Feedback 实际上是一次新的状态认知输入。


36.13 Feedback → State Update

Behavior Runtime 最关键的一步:

Feedback
   ↓
State Update

例如:

State(t)
   ↓
Move Action
   ↓
Execution
   ↓
Feedback
   ↓
Position Changed
   ↓
State(t+1)

所以:

Statet+1=Update(Statet,Feedbackt)State_{t+1} = Update(State_t,Feedback_t)

这意味着 Feedback 不是运行时的终点。

它是:

下一轮运行的起点。


36.14 行为运行时的状态机

Behavior Runtime 可以表示为:

Created
   ↓
Initialized
   ↓
Ready
   ↓
Running
   ↓
Action Processing
   ↓
Feedback Processing
   ↓
State Update
   ↓
Next Action
   ↺

如果完成:

Running
   ↓
Goal Achieved
   ↓
Complete

如果失败:

Running
   ↓
Failure
   ↓
Recovery / Re-Evaluation

如果无法恢复:

Failure
   ↓
Terminate

36.15 行为运行时不是线性流程

传统程序经常表现为:

A
↓
B
↓
C
↓
D

而 ICAI Behavior Runtime 是:

State
 ↓
Method
 ↓
Behavior
 ↓
Action
 ↓
Feedback
 ↓
State
 ↺

因为每次 Feedback 都可能改变下一步。

例如:

Action A
   ↓
Success
   ↓
Action B

或者:

Action A
   ↓
Failure
   ↓
Method Re-Evaluation
   ↓
Action B

或者:

Action A
   ↓
Unexpected Event
   ↓
State Update
   ↓
Behavior Adjustment
   ↓
Action C

所以:

Behavior Runtime 是条件驱动、状态驱动和反馈驱动的循环过程。


36.16 行为运行时的时间性

Runtime 最大的特点之一是时间。

t0
 ↓
State0
 ↓
Action0
 ↓
Feedback0
 ↓
t1
 ↓
State1
 ↓
Action1
 ↓
Feedback1
 ↓
t2

因此:

BehaviorRuntime={State(t),Method(t),Behavior(t),Action(t),Feedback(t)}BehaviorRuntime = \{State(t),Method(t),Behavior(t),Action(t),Feedback(t)\}

它不是一个静态对象,而是一个时间序列。


36.17 当前动作与下一动作

Runtime 必须维护:

Current Action
Next Action

例如:

Behavior State = Grasp

Current Action
= Close Gripper

Expected Result
= Object Controlled

执行之后:

Feedback
= Grasp Success

于是:

Next Action
= Lift

但如果:

Feedback
= Grasp Failure

则:

Next Action
≠ Lift

可能进入:

Retry
Recovery
Re-Grasp
Method Re-Evaluation

因此 Next Action 由 Runtime 状态动态决定。


36.18 行为运行时中的条件判断

每个 Action 执行之前,都需要判断当前条件。

Current State
      ↓
Condition Check
      ↓
Constraint Check
      ↓
Risk Check
      ↓
Action

如果条件满足:

Condition Valid
      ↓
Execute Action

如果条件失效:

Condition Invalid
      ↓
Action Blocked
      ↓
Method / Behavior Update

因此 Runtime 不是无条件执行。


36.19 行为运行时与动态行为

第33章定义:

Dynamic Behavior

第36章则说明:

Dynamic Behavior 如何真正运行。

两者关系:

Dynamic Behavior
       ↓
Behavior Runtime
       ↓
Current State
       ↓
Current Action
       ↓
Feedback
       ↓
Behavior Update

因此:

Dynamic Behavior = 行为变化机制
Behavior Runtime = 行为持续运行机制

一个描述:

行为如何改变。

另一个描述:

行为如何持续运行并产生改变。


36.20 运行时中的行为调整

当 Feedback 表明当前行为仍然可以完成目标,但参数需要变化:

Feedback
   ↓
Parameter Update
   ↓
Action Update
   ↓
Continue Behavior

例如:

Move
Velocity = 1.0

反馈:

Obstacle Detected

于是:

Velocity = 0.6
Direction = D'

行为没有结束:

Behavior Instance B1
        ↓
Continue

只是 Action 参数发生变化。


36.21 运行时中的方法切换

如果 Feedback 表明:

当前 Method 已经无法继续实现目标。

则:

Feedback
   ↓
State Update
   ↓
Method Re-Evaluation
   ↓
Method Selection
   ↓
New Method Instance
   ↓
Behavior Continue

因此 Runtime 可以从:

Method A

切换到:

Method B

而不一定结束整个 Behavior。

这就是:

方法层面的动态恢复。


36.22 运行时中的行为终止

Behavior Runtime 最终可能进入:

Complete

完成条件可能是:

Goal Achieved
Target State Reached
Expected Result Achieved

例如:

Current Position = P2
Goal Position = P2

于是:

Goal Achieved
   ↓
Behavior Complete

36.23 运行时中的失败

如果 Action 无法产生预期结果:

Action
   ↓
Execution
   ↓
Failure
   ↓
Feedback

Runtime 必须进一步判断:

Can Continue?
Can Adjust?
Can Recover?
Need New Method?
Need New Behavior?
Terminate?

形成:

Failure
   ↓
Failure Analysis
   ↓
State Update
   ↓
Recovery Decision
   ├── Retry
   ├── Adjust Action
   ├── Change Method
   ├── Change Behavior
   └── Terminate

因此 Failure 也是 Runtime 的一种输入,而不是单纯的终点。


36.24 行为运行时与认知循环

Behavior Runtime 并不是孤立系统。

它与 Cognitive System 形成循环:

Cognition
   ↓
Goal
   ↓
Capability
   ↓
Method
   ↓
Behavior Runtime
   ↓
Action
   ↓
Execution
   ↓
Feedback
   ↓
Cognitive Update
   ↓
Re-Cognition
   ↺

所以:

Behavior Runtime 是 Cognition 与 World 之间的动态执行桥梁。


36.25 行为运行时与世界状态

完整世界交互:

WORLD STATE
    ↓
Perception
    ↓
Cognitive State
    ↓
Behavior Runtime
    ↓
Action
    ↓
Execution
    ↓
WORLD STATE CHANGE
    ↓
Perception
    ↺

因此 Runtime 的真正意义不是:

让程序循环。

而是:

让人工个体持续根据世界状态变化产生新的行为动作,并通过现实反馈重新形成下一时刻状态。


36.26 Behavior Runtime 数据结构

可以建立:

BehaviorRuntime
│
├── Runtime Identity
├── Behavior Instance
├── Method Instance
├── Current State
├── Previous State
├── Goal
├── Current Behavior State
├── Current Action Instance
├── Next Action
├── Parameters
├── Conditions
├── Constraints
├── Risk
├── Execution Context
├── Feedback
├── Result
├── History
└── Runtime Status

Runtime Status 可以包括:

Idle
Initializing
Running
Waiting
Paused
Recovering
Completed
Failed
Terminated

36.27 行为运行时的核心状态转移

可以进一步形式化:

St→Mt→Bt→At→Ft→St+1S_t \rightarrow M_t \rightarrow B_t \rightarrow A_t \rightarrow F_t \rightarrow S_{t+1}

其中:

  • StS_t:当前状态
  • MtM_t:当前方法
  • BtB_t:当前行为
  • AtA_t:当前动作
  • FtF_t:执行反馈
  • St+1S_{t+1}:更新后的状态

因此:

St+1=F(St,Mt,Bt,At,Feedbackt)S_{t+1} = F(S_t,M_t,B_t,A_t,Feedback_t)

这就是行为运行时的基本动态模型。


36.28 行为运行时的完整结构

综合本章:

                  Behavior Runtime
                         │
                         ↓
                    Current State
                         │
                         ↓
                       Goal
                         │
                         ↓
                       Method
                         │
                         ↓
                  Method Instance
                         │
                         ↓
                      Behavior
                         │
                         ↓
                 Behavior Instance
                         │
                         ↓
                  Behavior State
                         │
                         ↓
                       Action
                         │
                         ↓
                  Action Instance
                         │
                         ↓
                     Execution
                         │
                         ↓
                    Actual Result
                         │
                         ↓
                      Feedback
                         │
                         ↓
                    State Update
                         │
                         └──────────────→ Runtime Loop

36.29 行为运行时的核心闭环

最终可以将本章压缩为:

        ┌──────────────┐
        │    State     │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │    Method    │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │   Behavior   │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │    Action    │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │  Execution   │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │   Feedback   │
        └──────┬───────┘
               ↓
        ┌──────────────┐
        │ State Update │
        └──────┬───────┘
               │
               └──────────────→ State

这就是 ICAI 的 Behavior Runtime Loop


36.30 本章核心结论

第36章定义了行为运行时。

其核心不是简单地把 Behavior “运行起来”,而是建立:

状态驱动、方法组织、行为展开、动作执行、反馈更新的连续动态闭环。

核心关系:

State
↓
Method
↓
Behavior
↓
Action
↓
Execution
↓
Feedback
↓
State Update
↺

其中:

State
→ 决定当前运行条件

Method
→ 决定如何处理当前目标

Behavior
→ 组织整个行为过程

Action
→ 产生具体动作

Execution
→ 让动作实际发生

Feedback
→ 把现实结果返回系统

State Update
→ 产生下一轮运行状态

因此:

Behavior Runtime 是 ICAI 将“方法—行为—动作”从静态结构转化为时间连续运行过程的核心机制。

从系统层次看:

Cognition
   ↓
Capability
   ↓
Method
   ↓
Method Instance
   ↓
Behavior
   ↓
Behavior Instance
   ↓
Behavior Runtime
   ↓
Action
   ↓
Action Instance
   ↓
Execution
   ↓
Feedback
   ↓
Re-Cognition

至此,ICAI 已经完成了从:

认知
→ 能力
→ 方法
→ 行为
→ 动作

到:

认知
→ 能力
→ 方法实例
→ 行为实例
→ 行为运行时
→ 动作实例
→ 执行
→ 反馈
→ 再认知

的完整连接。

第34章解决“Action 是什么”;第35章解决“Behavior 和 Action 如何实例化”;第36章解决“实例化后的行为如何持续运行”。

因此下一层自然进入:

Behavior Runtime
        ↓
Action
        ↓
Action Execution
        ↓
Execution State
        ↓
Action Feedback
        ↓
Action Result

也就是从行为运行时正式进入动作执行运行时

Leave a Reply

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