第33章 动态行为
第32章定义了行为状态:
Approach
↓
Contact
↓
Grasp
↓
Move
↓
Hold
↓
Release
↓
Complete
任意状态 → Failure
但是,真实环境中的行为不会按照完全固定的路径运行。
当目标位置发生变化、对象状态发生变化、速度发生变化、环境发生变化、风险发生变化时,人工个体必须能够继续维持行为,同时改变行为过程。
因此,本章引入:
Dynamic Behavior(动态行为)
动态行为不是“运行速度更快的行为”,也不是简单增加更多行为状态,而是:
行为能够根据当前状态、参数、条件、环境和反馈持续调整自身,同时保持原有目标和行为连续性的能力。
基本结构为:
Current State
↓
Parameter Change
↓
Behavior Evaluation
↓
Behavior Adjustment
↓
Continue Behavior
↓
New State
↓
Feedback
↺
33.1 动态行为的定义
静态行为可以表示为:
State
↓
Fixed Behavior
↓
Action
↓
Result
动态行为则是:
State(t)
↓
Behavior(t)
↓
Action(t)
↓
Environment Change
↓
Feedback
↓
State(t+1)
↓
Behavior Adjustment
↓
Behavior(t+1)
因此:
Behavior(t+1)=F(Behavior(t),State(t+1),Parameter(t+1),Environment(t+1),Feedback(t))Behavior(t+1)=F(Behavior(t),State(t+1),Parameter(t+1),Environment(t+1),Feedback(t))
动态行为的核心是:
Behavior(t)
↓
State Change
↓
Behavior Update
↓
Behavior(t+1)
所以动态行为具有三个基本特征:
状态相关
参数可变
行为可调整
最终形成:
状态变化
↓
参数变化
↓
行为调整
↓
行为连续
33.2 状态驱动行为
状态驱动行为是动态行为的第一基础。
它意味着:
行为不是脱离当前状态独立运行,而是由当前状态决定下一步如何行动。
例如:
Current State = Approach
↓
Continue Approaching
当状态发生变化:
Approach
↓
Contact
行为就必须发生对应变化:
Approach Behavior
↓
Contact Behavior
进一步:
Contact
↓
Grasp
行为继续变化:
Contact Behavior
↓
Grasp Behavior
因此:
Behavior = F(Current State)
更完整地表示:
Bt=F(St,G,Ct,Kt)B_t=F(S_t,G,C_t,K_t)
其中:
- BtB_t:当前行为
- StS_t:当前状态
- GG:目标
- CtC_t:当前条件
- KtK_t:当前知识
33.3 状态变化驱动行为变化
行为状态改变,并不只是改变一个状态名称。
状态变化意味着:
State Change
↓
Condition Change
↓
Action Requirement Change
↓
Behavior Change
例如:
Approach
↓
距离不断减少
↓
Contact Condition 满足
↓
Contact
此时行为已经不再是“继续接近”,而是:
建立接触
再例如:
Contact
↓
接触稳定
↓
Grasp Condition 满足
↓
Grasp
所以:
状态是动态行为的重要驱动变量。
33.4 状态驱动不是状态跟随
需要区分:
State Following
和:
State Driven Behavior
简单状态跟随只是:
State A → Behavior A
State B → Behavior B
State C → Behavior C
而真正的状态驱动行为还需要判断:
Current State
+
Goal
+
Condition
+
Constraint
+
Risk
+
Capability
↓
Behavior
因此:
Behaviort=F(Statet,Goal,Conditiont,Constraintt,Riskt,Capabilityt)Behavior_t = F(State_t,Goal,Condition_t,Constraint_t,Risk_t,Capability_t)
这意味着相同的状态,在不同目标下,也可能产生不同的行为。
例如:
Current State = Contact
可能:
Goal A → Grasp
Goal B → Release
Goal C → Move Around
因此:
行为不是由状态单独决定,而是由“状态 + 目标 + 条件 + 约束 + 能力”共同决定。
33.5 参数变化
动态行为的第二个核心是:
参数不是固定值。
行为执行过程中,参数可能不断变化。
例如:
Position
Velocity
Acceleration
Direction
Force
Distance
Grip Force
Target Position
Risk
这些参数可以表示为:
P(t)={p1(t),p2(t),…,pn(t)}P(t)=\{p_1(t),p_2(t),…,p_n(t)\}
因此行为不是:
Behavior(Parameter)
而是:
Behavior(Parameter(t))
即:
Behavior
↓
Parameter(t)
↓
Execution
↓
Parameter(t+1)
↓
Behavior Update
33.6 参数变化与行为变化
并不是所有参数变化都会导致行为变化。
这是动态行为的重要判断机制。
例如:
Velocity
100
↓
101
变化很小,可能不需要改变行为。
但是:
Velocity
100
↓
150
如果超过行为约束,则可能:
Parameter Change
↓
Constraint Violation
↓
Behavior Adjustment
因此:
Parameter Change
↓
Change Evaluation
↓
Significant?
/ \
No Yes
↓ ↓
Continue Adjust
这意味着动态行为必须具有参数变化敏感性。
33.7 参数变化的四种情况
参数变化可以分为四种基本情况。
第一种:无影响变化
Parameter Change
↓
No Behavioral Effect
↓
Continue
行为保持不变。
第二种:局部变化
Parameter Change
↓
Local Adjustment
↓
Behavior Continue
例如速度略微改变,只调整当前动作参数。
第三种:结构变化
Parameter Change
↓
Current Behavior Invalid
↓
Behavior Structure Adjustment
此时已经不是简单调整参数,而是改变行为过程。
第四种:行为失效
Parameter Change
↓
Constraint Violation
↓
Behavior Failure
或者:
Behavior Failure
↓
Method Re-Evaluation
↓
New Behavior
因此:
Parameter Change
↓
No Effect
/ | \
Local Structural Failure
Change Change
33.8 行为调整
行为调整是 Dynamic Behavior 的核心机制。
Behavior Adjustment 可以定义为:
在不必要终止当前目标的情况下,根据状态、参数、条件、风险和反馈,对当前行为过程进行局部或整体修改。
基本结构:
Current Behavior
↓
New Information
↓
Behavior Evaluation
↓
Adjustment
↓
Updated Behavior
例如:
Move
↓
Target Position Changes
↓
Trajectory Recalculation
↓
Continue Move
这里行为目标仍然存在:
Goal = Same
Behavior = Adjusted
因此:
行为调整不等于行为终止。
33.9 行为调整的层级
行为调整可以分成三个层级。
第一层:参数调整
行为结构不变,只修改参数。
Behavior
↓
Parameter Update
↓
Continue
例如:
Move
↓
Velocity ↓
↓
Continue Move
这是最小程度的行为调整。
第二层:动作调整
行为目标和总体方法保持不变,但当前 Action 发生改变。
Behavior
↓
Current Action
↓
Action Update
↓
Continue Behavior
例如:
Move
↓
Original Direction
↓
Obstacle
↓
Change Direction
↓
Continue Move
第三层:行为路径调整
行为本身仍然服务于同一个目标,但状态路径发生变化。
例如原路径:
Approach
↓
Contact
↓
Grasp
↓
Move
↓
Complete
出现异常后:
Approach
↓
Contact
↓
Grasp Failure
↓
Re-Approach
↓
Contact
↓
Grasp
↓
Move
↓
Complete
这里行为没有消失,而是发生了行为路径重构。
33.10 行为调整与方法调整
必须区分:
Behavior Adjustment
和:
Method Adjustment
行为调整通常发生在更低层:
Method Instance
↓
Behavior
↓
Behavior Adjustment
例如:
Method = Move to Target
当前行为:
Move
如果目标位置略微变化:
Behavior Adjustment
即可。
但是,如果原方法已经无法实现目标:
Current Method
↓
Invalid
↓
Method Re-Evaluation
↓
New Method
↓
New Method Instance
↓
New Behavior
因此:
小变化 → 行为调整
大变化 → 方法调整
根本失效 → 方法重新选择/生成
这建立了动态行为与动态方法之间的边界。
33.11 行为连续性
动态行为第三个核心是:
行为连续性。
行为连续性表示:
行为虽然发生参数变化、状态变化或者局部调整,但其目标、上下文、历史和内部状态能够保持连续。
因此:
Behavior(t)
↓
Change
↓
Behavior(t+1)
并不意味着:
Behavior(t) → Delete
Behavior(t+1) → New Independent Behavior
而是:
Behavior(t)
↓
State Transition
↓
Behavior Update
↓
Behavior(t+1)
二者属于同一个行为过程。
33.12 行为连续性的核心
行为连续性至少包含:
Goal Continuity
State Continuity
Object Continuity
Scene Continuity
Method Continuity
Parameter Continuity
History Continuity
Feedback Continuity
即:
Behavior Continuity
│
├── Goal
├── Object
├── Scene
├── State
├── Method
├── Parameter
├── History
└── Feedback
其中最重要的是:
Goal Continuity
因为行为调整通常不是为了产生一个新的目标,而是为了继续完成原来的目标。
33.13 行为连续与行为重启
需要区分:
Behavior Continuation
和:
Behavior Restart
连续:
Behavior A
↓
Adjustment
↓
Behavior A'
↓
Continue
重启:
Behavior A
↓
Terminate
↓
New Behavior B
例如:
Move
↓
Obstacle
↓
Change Direction
↓
Move
属于连续行为。
而:
Move
↓
Failure
↓
Terminate
↓
New Goal
↓
New Behavior
则属于新的行为过程。
33.14 行为连续性的时间结构
行为连续性具有时间属性:
t0 t1 t2 t3 t4
│ │ │ │ │
Approach → Contact → Grasp → Move → Hold
如果参数发生变化:
t2
↓
Parameter Change
↓
Behavior Adjustment
↓
t3
那么:
Behavior(t0...t4)
仍然可以看作一个连续行为过程。
因此:
B={B(t0),B(t1),…,B(tn)}B = \{B(t_0),B(t_1),…,B(t_n)\}
行为不是某一个瞬间的对象,而是:
跨越时间持续存在的动态结构。
33.15 行为连续性的内部记忆
为了保持连续性,行为必须保留自身历史。
例如:
Behavior History
│
├── Previous State
├── Current State
├── Previous Action
├── Current Action
├── Previous Parameter
├── Current Parameter
├── Previous Result
├── Current Result
└── Feedback History
因此:
Current Behavior
↓
Behavior History
↓
Current Adjustment
行为不会每一次变化都从零开始。
这使得:
过去行为
↓
当前行为
↓
下一行为
能够保持连续。
33.16 动态行为状态机
将第32章的行为状态加入动态调整机制:
┌──────────────┐
│ Approach │
└──────┬───────┘
↓
┌──────────────┐
│ Contact │
└──────┬───────┘
↓
┌──────────────┐
│ Grasp │
└──────┬───────┘
↓
┌──────────────┐
│ Move │
└──────┬───────┘
↓
┌──────────────┐
│ Hold │
└──────┬───────┘
↓
┌──────────────┐
│ Release │
└──────┬───────┘
↓
┌──────────────┐
│ Complete │
└──────────────┘
任意状态
↓
参数变化
↓
行为评价
↓
行为调整
↓
继续当前行为
因此动态行为并没有废除状态机。
恰恰相反:
动态行为建立在行为状态机之上,但允许状态路径根据实时条件发生变化。
33.17 动态行为的核心循环
可以将动态行为定义为一个持续循环:
Current State
↓
Current Parameters
↓
Behavior
↓
Action
↓
Execution
↓
Feedback
↓
State Update
↓
Parameter Update
↓
Behavior Evaluation
↓
Behavior Adjustment
↓
Continue
↺
完整数学表达:
Bt+1=F(Bt,St,Pt,Et,G,Ct,Rt,Ft)B_{t+1} = F( B_t, S_t, P_t, E_t, G, C_t, R_t, F_t )
其中:
- BtB_t:当前行为
- StS_t:当前状态
- PtP_t:当前参数
- EtE_t:环境
- GG:目标
- CtC_t:条件与约束
- RtR_t:风险
- FtF_t:反馈
因此 Dynamic Behavior 是一个持续更新的行为函数。
33.18 动态行为不是重新生成行为
这里需要建立一个重要边界。
动态行为并不意味着每次变化都重新生成一个全新的 Behavior。
例如:
Move
↓
Velocity Change
↓
Update Parameter
↓
Move
这是:
Behavior Adjustment
而不是:
New Behavior Generation
只有当前行为结构无法继续满足目标时,才可能:
Behavior Invalid
↓
Method Re-Evaluation
↓
New Method
↓
New Behavior
因此:
参数变化
↓
局部调整
↓
继续行为
优先于:
重新生成行为
这保证了行为系统的稳定性。
33.19 动态行为与稳定性
如果行为对任何微小参数变化都立即改变,就会产生行为振荡:
Parameter ↑
↓
Behavior A
Parameter ↓
↓
Behavior B
Parameter ↑
↓
Behavior A
Parameter ↓
↓
Behavior B
最终:
A → B → A → B → A → B
行为无法稳定执行。
因此动态行为必须存在:
Change Threshold
只有变化达到一定程度时,才触发行为调整。
可以表示为:
∣ΔP∣>θ|\Delta P| > \theta
才执行:
Behavior Adjustment
其中 θ\theta 是行为变化阈值。
因此:
动态不是无限敏感,而是有边界、有阈值的适应。
33.20 行为调整的连续性原则
行为调整应遵循:
最小改变原则
即:
在能够继续完成目标的情况下,优先进行最小程度的行为调整。
调整优先级可以表示为:
Parameter Adjustment
↓
Action Adjustment
↓
Behavior Path Adjustment
↓
Method Instance Adjustment
↓
Method Re-Selection
↓
Method Generation
也就是说:
小变化 → 小调整
大变化 → 大调整
结构失效 → 方法变化
这使人工个体避免不必要地频繁改变行为。
33.21 动态行为结构
综合本章,可以定义:
DynamicBehavior
│
├── Behavior Identity
├── Goal
├── Current Object
├── Current Scene
├── Current State
├── Behavior State
├── Current Parameters
├── Parameter History
├── Current Action
├── Action History
├── Behavior History
├── Conditions
├── Constraints
├── Risk
├── Feedback
├── Adjustment Rules
├── Continuity State
└── Result
其核心结构为:
Dynamic Behavior
│
├── State Driver
├── Parameter Driver
├── Behavior Adjustment
└── Behavior Continuity
因此:
DynamicBehavior=StateDriven+ParameterDriven+Adjustment+ContinuityDynamicBehavior = StateDriven + ParameterDriven + Adjustment + Continuity
33.22 动态行为与动态方法
第27章定义 Dynamic Method。
第33章定义 Dynamic Behavior。
二者不能混淆。
Dynamic Method
↓
决定“如何处理”
↓
Dynamic Behavior
↓
决定“当前如何持续表现”
动态方法关注:
Method Switching
Method Adaptation
Method Composition
Method Generation
动态行为关注:
State Change
Parameter Change
Behavior Adjustment
Behavior Continuity
因此:
Cognition
↓
Dynamic Method
↓
Method Instance
↓
Dynamic Behavior
↓
Action
↓
Execution
33.23 动态行为与行为状态的关系
第32章:
Behavior State 描述行为当前处于什么阶段。
第33章:
Dynamic Behavior 描述行为如何随着状态和参数变化而继续变化。
所以:
Behavior State
↓
描述当前
而:
Dynamic Behavior
↓
描述变化过程
二者关系为:
Behavior
↓
Behavior State(t)
↓
State Change
↓
Behavior Adjustment
↓
Behavior State(t+1)
因此:
Behavior State 是动态行为的状态基础,Dynamic Behavior 是行为状态持续变化的过程。
33.24 动态行为完整模型
将本章放入 ICAI 的完整认知体系:
WORLD
↓
PERCEPTION
↓
SCENE
↓
COGNITION
↓
GOAL
↓
CAPABILITY
↓
DYNAMIC METHOD
↓
METHOD EVALUATION
↓
METHOD SELECTION
↓
METHOD INSTANCE
↓
BEHAVIOR
↓
BEHAVIOR STATE
↓
DYNAMIC BEHAVIOR
↓
ACTION
↓
EXECUTION
↓
FEEDBACK
↓
STATE UPDATE
↓
PARAMETER UPDATE
↓
BEHAVIOR ADJUSTMENT
↓
CONTINUOUS BEHAVIOR
↓
RE-COGNITION
↺
这形成了一个真正具有时间连续性的人工个体行为循环。
33.25 核心结论
动态行为不是简单的“行为变化”。
它是:
人工个体根据当前状态、参数、条件、环境和反馈,对正在执行的行为进行持续调整,并保持目标、对象、上下文和行为历史连续性的动态过程。
本章四个核心概念可以归纳为:
状态驱动行为
↓
当前状态决定行为方向
参数变化
↓
行为根据参数变化判断是否需要调整
行为调整
↓
在不必要终止行为的情况下改变行为过程
行为连续性
↓
行为变化过程中保持目标、状态、对象和历史连续
最终形成:
State
↓
Behavior
↓
Parameter Change
↓
Behavior Evaluation
↓
Behavior Adjustment
↓
Continue
↓
New State
↓
Feedback
↺
因此:
第32章定义“行为处于什么状态”,第33章定义“行为如何随着状态和参数变化而持续变化”。
从这里开始,ICAI 的行为系统不再只是一个静态的 Behavior Model,而开始具备:
状态感知
参数响应
行为调整
连续运行
反馈闭环
下一层自然形成:
动态行为
↓
行为生成
↓
行为适应
↓
动态动作
↓
行为运行时
↓
执行
↓
反馈
↓
再认知
这也标志着 ICAI 从“能够定义行为”进入“能够持续运行行为”的阶段。