第152章 Action Condition
动作条件
在 Dynamic Action(动态动作) 之后,需要进一步解决一个核心问题:
机器究竟依据什么条件决定当前应该执行哪个动作?
如果 Action 是动态生成的,那么就不能简单表示为:
Task
↓
Action
而应该建立:
Task
+
Current State
+
Condition
+
Goal
+
Capability
↓
Action
因此,本章研究 Action Condition(动作条件)。
152.1 Action 不是无条件执行
一个动作真正成立,需要满足一定条件。
例如:
Action = Grip
并不意味着机器看到鸡蛋就一定执行 Grip。
它可能需要满足:
Object Detected
+
Object Reachable
+
Hand Available
+
Grip Force Safe
+
No Blocking Obstacle
才产生:
Grip
因此:
Action
=
Action
+
Condition
更准确地说:
Condition
→
Action Enabled
152.2 动作条件与对象条件
对象本身具有状态:
Egg
├── Position
├── Size
├── Orientation
├── Fragility
├── Stability
└── Surface
环境也具有状态:
Scene
├── Obstacle
├── Distance
├── Contact
├── Temperature
└── Available Space
机器自身也具有状态:
Machine
├── Hand State
├── Force
├── Velocity
├── Battery
└── Capability
因此 Action Condition 不是单一变量。
而是:
Object State
+
Environment State
+
Machine State
+
Relation
+
Goal
共同构成:
Action Condition
152.3 条件决定动作是否成立
例如:
Object = Egg
Goal = Pick Up
可能存在:
Condition A:
Egg Stable
→
Grip
Condition B:
Egg Slippery
→
Reduce Force
Condition C:
Egg Blocked
→
Reposition
Condition D:
Egg Falling
→
Emergency Catch
所以:
Same Object
+
Same Goal
仍然可能产生:
Grip
Reduce Force
Reposition
Emergency Catch
不同 Action。
152.4 Action Condition 是动态的
最重要的一点是:
动作条件本身也会随时间变化。
例如:
t0:
Egg Stable
于是:
Grip
但是:
t1:
Egg Starts Sliding
条件改变:
Grip
↓
Reduce Force
继续变化:
t2:
Egg Falling
动作再次改变:
Reduce Force
↓
Catch
形成:
Condition(t0)
→
Action(t0)
Condition(t1)
→
Action(t1)
Condition(t2)
→
Action(t2)
因此:
Condition(t)
≠
Condition(t+1)
自然可能导致:
Action(t)
≠
Action(t+1)
152.5 从 Action Rule 到 Action Condition
传统规则可能写成:
IF Egg
THEN Grip
这种规则过于简单。
更合理的结构是:
IF
Object = Egg
AND
Distance < ReachableRange
AND
Stable = True
AND
Force < SafeLimit
THEN
Grip
甚至进一步:
IF
Current State
+
Relation
+
Capability
+
Goal
满足条件
THEN
Generate Action
因此系统不再保存大量固定动作,而是保存:
Condition
→
Action Relationship
152.6 Action Condition 与 Method 的关系
现在可以形成更完整的层次:
Goal
↓
Method
↓
Action Condition
↓
Action
例如:
Goal:
Pick Up Egg
Method:
Safe Grasp
Condition:
Egg Reachable
+
Stable
+
No Obstacle
+
Safe Force
Action:
Approach
→
Grip
→
Lift
如果条件变化:
Egg Slippery
那么 Method 可能仍然是:
Safe Grasp
但 Action 改变为:
Approach Slowly
→
Reduce Force
→
Grip
→
Lift Slowly
这说明:
Method 可以保持不变,而 Action 根据 Condition 动态变化。
152.7 Action Condition 的多条件结构
动作条件可以进一步表示为:
C(Action)
=
Object Condition
+
Spatial Condition
+
Temporal Condition
+
Relational Condition
+
Machine Condition
+
Environmental Condition
+
Goal Condition
例如:
C(Grip)
=
Object Detected
+
Reachable
+
Stable
+
Hand Available
+
Safe Force
+
No Blocking Relation
+
Goal = Pick Up
只有:
C(Grip) = True
时:
Grip
才成为当前可执行 Action。
152.8 Action Condition → Action Space
当系统拥有多个可能动作:
Approach
Grip
Release
Move
Stop
Avoid
Wait
Reposition
每个 Action 都有自己的 Condition:
C1 → Approach
C2 → Grip
C3 → Release
C4 → Move
C5 → Stop
C6 → Avoid
C7 → Wait
C8 → Reposition
于是机器面对当前状态时,不再直接寻找一个固定答案,而是计算:
Current State
↓
Evaluate Conditions
↓
Available Actions
↓
Action Selection
这就与前面的:
Method Matching
进一步连接起来。
152.9 Action Condition 的核心模型
最终建立:
Current State
+
Object
+
Relation
+
Environment
+
Machine State
+
Goal
↓
Condition Evaluation
↓
Available Actions
↓
Action Selection
↓
Action(t)
而执行动作之后:
Action(t)
↓
Environment Change
↓
New State(t+1)
↓
Condition Re-Evaluation
↓
Action(t+1)
形成:
State
↓
Condition
↓
Action
↓
State'
↓
Condition'
↓
Action'
152.10 本章核心定义
因此可以正式定义:
Action Condition 是决定某个动作在当前认知状态下是否成立、是否可执行以及是否适合执行的条件集合。
核心公式:
ActionEnabled
=
Condition(
State,
Object,
Relation,
Environment,
Machine,
Goal
)
进一步:
Action(t)
=
Select(
EnabledActions(t),
Goal,
State(t)
)
于是前面三章开始形成连续结构:
Cognitive Method
↓
Method Matching
↓
Dynamic Method
↓
Action Condition
↓
Dynamic Action
↓
State Transition
↓
New Cognition
这意味着机器的行为不再是:
输入 → 固定动作
而是:
当前认知
↓
判断条件
↓
产生可行动作空间
↓
选择当前动作
↓
执行
↓
获得新状态
↓
重新判断
这一步把 Method → Action 之间缺失的“条件层”正式建立起来了。