第十五章 状态感知元素理论
第十五章 状态感知元素理论 2026年08月13日 东塬一老翁 第二卷感知元素理论Perceptual Elements Theory第十五章状态感知元素理论State Perception Element Theory15.1 状态感知基本概念Basic Concept of State Perception前面的空间感知、运动感知和时间感知分别解决了不同的问题空间感知↓对象在哪里运动感知↓对象如何变化时间感知↓变化什么时候发生但是仅仅知道对象的位置、运动和时间还不能完整理解对象。例如一台机器位置Factory A运动停止时间10:30这些信息仍然不能完整回答机器现在是什么情况可能是正常停止等待任务故障停止维修中关闭因此WSaiOS 需要建立独立的状态感知元素。状态感知关注对象当前处于什么状态对象之前是什么状态状态什么时候发生变化状态向什么方向变化状态变化是否正常状态与空间、运动、时间之间有什么关系。WSaiOS 定义状态感知元素是描述认知对象在特定时间和环境条件下所处状态、状态属性以及状态变化过程的结构化认知元素。基本过程对象↓对象状态↓状态观察↓状态比较↓状态变化↓状态转换↓状态认知因此State PerceptionCurrent StatePrevious StateState ChangeContext15.2 状态作为认知元素State as a Cognitive Element状态不是简单的字符串。例如Machine Running只能表达运行但是 WSaiOS 真正需要保存的是对象Machine_001当前状态Running之前状态Idle开始时间10:20所在区域Factory_A速度30相关任务Production状态来源Sensor因此Running只是一个状态值。完整的State Element才是一个认知元素。状态可以抽象为State{ObjectValueTimeContextSource}例如{object: Machine_001,state: Running,time: 10:20:00,context: Factory_A,source: Sensor}由此可以形成对象↓状态↓上下文↓状态认知15.3 对象状态元素Object State Element状态必须依附于对象。不存在脱离对象的State而应该是ObjectState例如RobotMovingMachineRunningPersonWorkingDoorOpen因此Object State{ObjectIDStateTypeStateValueStateSourceTimestamp}例如{object_id: robot_001,state_type: motion,state_value: moving,state_source: motion_sensor,timestamp: 2026-08-13 10:20:00}状态元素的核心不是状态是什么而是谁的状态什么状态什么时候什么条件下15.4 初始状态元素Initial State Element对象进入 WSaiOS 感知系统时需要建立初始状态。例如Machine↓Initial State↓Idle初始状态S0 Idle之后S0↓Running初始状态结构InitialState{ObjectStateTimestampSource}例如{object: machine_001,state: idle,timestamp: 10:00:00,source: system}初始状态的作用是建立状态变化起点没有初始状态就很难判断状态从哪里变化而来15.5 当前状态元素Current State Element当前状态表示对象在当前认知时刻所处的状态。例如MachineCurrent StateRunning状态结构CurrentState{ObjectValueTimestampContextConfidence}例如{object: machine_001,state: running,timestamp: 10:30:00,context: factory_a,confidence: 95}当前状态是 WSaiOS 进行实时认知的重要依据。系统每次获得新的感知数据都可能更新CurrentState形成PreviousState↓New Observation↓CurrentState15.6 历史状态元素Historical State Element如果 WSaiOS 只保存当前状态Machine Running那么系统不知道之前是什么因此需要保存历史状态。例如10:00 Idle10:10 Starting10:11 Running10:30 Warning10:35 Running形成State History结构StateHistory{ObjectStates[]}例如{object: machine_001,states: [{state: idle,time: 10:00},{state: starting,time: 10:10},{state: running,time: 10:11}]}历史状态使 WSaiOS 获得Current StatePast State从而形成State Evolution即状态演化过程。15.7 状态变化元素State Change Element状态感知的核心不是状态而是状态变化例如Idle↓Running就是一次状态变化。状态变化StateChange{ObjectPreviousStateCurrentStateTimeReason}例如{object: machine_001,previous_state: idle,current_state: running,time: 10:11:00,reason: start_command}形成Idle↓Running状态变化可以进一步成为State Transition15.8 状态转换元素State Transition Element状态变化强调状态发生了变化。状态转换进一步描述一个合法状态如何进入另一个状态。例如Idle↓Starting↓Running可以建立状态转换图┌─────────┐│ Idle │└────┬────┘↓┌─────────┐│Starting │└────┬────┘↓┌─────────┐│ Running │└────┬────┘↓┌─────────┐│ Stopped │└─────────┘状态转换结构StateTransition{FromToConditionTimeMethod}例如{from: idle,to: running,condition: start_command,time: 10:10:00}这为 WSaiOS 后面的Rule EngineState MachineReasoning提供基础。15.9 状态趋势元素State Trend Element单次状态变化Normal↓Warning只能说明一次变化。连续变化Normal↓Warning↓Critical↓Failure则形成State Trend趋势可以表示ImprovingStableDecliningFluctuatingDeteriorating状态趋势结构StateTrend{ObjectHistoryDirectionRatePattern}例如Temperature70↓75↓80↓85系统可能形成Temperature Increasing进一步IncreasingThreshold Exceeded形成Potential Warning15.10 正常状态与异常状态Normal and Abnormal StateWSaiOS 不应该简单地认为State Error而应该建立Normal State Model然后将当前状态与正常状态进行比较。例如机器正常Speed 1000 RPMTemperature 60°C当前Speed 1000 RPMTemperature 61°C属于Normal如果变成Temperature 95°C则可能形成Warning继续Temperature 110°C可能形成Abnormal因此Observed State↓Compare↓Normal Model↓State Classification状态分类NormalWarningAbnormalCriticalUnknown这里的核心思想是异常不是一种原始感知元素而是状态分析之后形成的判断结果。15.11 状态组合元素Composite State Element现实对象往往不是只有一个状态。例如机器人Motion:MovingPower:NormalTask:TransportingPosition:Factory_AConnection:Online这些状态共同组成Robot Composite State结构CompositeState{MotionStatePowerStateTaskStateLocationStateConnectionState}例如{object: robot_001,state: {motion: moving,power: normal,task: transporting,connection: online}}形成Multi-dimensional State这也是后面第十七章多维空间感知的重要基础。15.12 状态与时间关系State and Time状态一定存在于时间中。例如10:00Idle10:10Running10:30Warning因此StateTime↓State History状态不仅需要保存Value还需要保存StartTimeEndTimeDuration状态持续时间DurationEndTime-StartTime例如RunningStart:10:00End:10:30则Duration 30 minutes这说明Time Element↓State Duration↓State Cognition15.13 状态与空间关系State and Spatial Relation对象状态与空间环境存在关系。例如RobotRegion:Factory AState:Working而Factory BState:Maintenance同一个对象进入不同区域Factory A↓WorkingFactory B↓Maintenance因此StateSpatial Context↓Contextual State例如{object: robot_001,region: factory_a,state: working}空间可以成为状态判断条件。例如Robot Inside Maintenance Area可能意味着Maintenance State15.14 状态与运动关系State and Motion Relation运动状态本身就是状态的重要来源。例如RobotPosition A↓Position B说明Moving如果Position A↓Position A持续没有变化Static / Stopped因此Motion Element↓Position Change↓State Analysis↓Motion State例如Moving↓Decelerating↓Stopping↓Stopped这里可以形成完整状态链Motion↓State Change↓State Transition15.15 状态与多感知融合State and Multi-perception Fusion状态通常不是由单一传感器决定。例如机器视觉Machine visible空间Machine Position运动Machine Static音频Motor Sound温度High Temperature最终MachineState Warning形成Visual ElementSpatial ElementMotion ElementAudio ElementSensor Element↓State Analysis↓State Element因此状态是多种感知信息经过分析后形成的重要认知结果。15.16 状态记忆元素State Memory Element状态具有历史性。因此 WSaiOS 必须能够保存Current StatePrevious StateState History形成State Memory例如Machine_00110:00 Idle10:10 Running10:30 Warning10:35 Running11:00 Stopped状态记忆可以支持状态回溯历史比较状态趋势异常分析经验学习与 WSaiOS Memory 系统连接State Element↓State Memory↓Experience↓Pattern↓Cognition15.17 StateElement PHP OOP 模型StateElement Object Model状态元素应该采用面向对象方式实现。基础模型class StateElement{protected $objectId;protected $stateType;protected $stateValue;protected $previousState;protected $timestamp;protected $context;protected $source;protected $confidence;public function getCurrentState(){return $this-stateValue;}public function getPreviousState(){return $this-previousState;}public function hasChanged(){return $this-stateValue ! $this-previousState;}public function getContext(){return $this-context;}}对象结构StateElement│├── Object├── StateType├── StateValue├── PreviousState├── Timestamp├── Context├── Source└── Confidence这里体现 WSaiOS 的 OOP 原则StateElementState DataState Behavior而不是简单的$array[state]15.18 StateAnalyzerState AnalyzerStateElement 负责描述状态。而复杂的状态分析应该交给StateAnalyzer职责读取当前状态↓读取历史状态↓比较状态↓识别变化↓分析趋势↓判断状态类型↓输出 State ElementPHPclass StateAnalyzer{public function analyze(array $current, array $previous){return [current $current,previous $previous,changed $this-detectChange($current,$previous),trend $this-analyzeTrend($current,$previous)];}protected function detectChange($current, $previous){return $current ! $previous;}protected function analyzeTrend($current, $previous){// 状态趋势分析}}重要原则StateElement负责表达状态。StateAnalyzer负责分析状态。15.19 StateTransitionServiceState Transition Service状态转换属于 Service 层。它负责Previous State↓Transition Rule↓Current StatePHPclass StateTransitionService{protected $rules;public function transition($previousState,$currentState) {if ($previousState idle$currentState running) {return START;}if ($previousState running$currentState stopped) {return STOP;}return UNKNOWN;}}形成Idle↓Running↓Stopped对应STARTSTOP这里尤其重要状态转换规则属于业务/认知方法不应该放进 Smarty也不应该全部塞进 Controller。15.20 MVC 结构实现MVC ArchitectureWSaiOS 状态感知模块采用ModelViewControllerServiceAnalyzer目录state/│├── controllers/│ └── StateController.php│├── models/│ ├── StateElement.php│ ├── InitialState.php│ ├── CurrentState.php│ ├── HistoricalState.php│ ├── StateChange.php│ └── StateTransition.php│├── services/│ ├── StateAnalyzer.php│ ├── StateTransitionService.php│ └── StateMemoryService.php│└── views/└── state.tpl总体Request↓StateController↓StateService↓StateAnalyzer↓StateElement↓StateTransition↓Cognitive Mapping↓Smarty15.21 Smarty 模板实现Smarty 只负责状态结果展示。例如 Controller$result $stateService-analyze($input);$smarty-assign(state,$result);$smarty-display(state.tpl);模板h2状态感知结果/h2p对象{$state.object}/pp当前状态{$state.current}/pp之前状态{$state.previous}/pp变化{$state.changed}/pp趋势{$state.trend}/p必须坚持Smarty↓Presentation而不是Smarty↓State Analysis例如不要在模板中完成{if $state running}来承担复杂状态认知。复杂判断应该已经在StateAnalyzerStateTransitionService完成。15.22 状态数据库结构State Database ModelWSaiOS 可以使用数据库保存状态历史。例如CREATE TABLE state_elements (id INT AUTO_INCREMENT PRIMARY KEY,object_type VARCHAR(100),object_id VARCHAR(100),state_type VARCHAR(100),state_value VARCHAR(100),previous_state VARCHAR(100),context VARCHAR(255),source VARCHAR(100),confidence DECIMAL(5,2),started_at DATETIME,ended_at DATETIME,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);状态历史Object↓State↓Database↓History状态转换可以单独保存CREATE TABLE state_transitions (id INT AUTO_INCREMENT PRIMARY KEY,object_id VARCHAR(100),from_state VARCHAR(100),to_state VARCHAR(100),transition_type VARCHAR(100),trigger_method VARCHAR(100),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);形成State↓Transition↓History↓Memory15.23 状态认知映射State to Cognition Mapping状态元素本身不是最终认知。例如MachineState:Warning这只是State Element继续分析Temperature HighSpeed AbnormalState Warning可能形成Machine Possible Overheating因此State Element↓State Analysis↓State Meaning↓Cognitive Element例如PersonState:WalkingLocation:OfficeTime:09:00Direction:Desk综合以后Person Moving To Workspace进一步Working Activity所以状态认知映射可以抽象为StateContextRelationTime↓Meaning↓Cognition15.24 本章总结本章建立了 WSaiOS 状态感知元素理论。状态感知解决的核心问题是对象现在处于什么状态以及这个状态是如何形成、变化和演化的。本章主要建立了以下概念对象状态元素——描述对象当前状态初始状态元素——建立状态变化起点当前状态元素——描述对象当前情况历史状态元素——保存状态演化过程状态变化元素——描述状态发生变化状态转换元素——描述状态之间的合法转换状态趋势元素——分析状态连续变化方向正常与异常状态——通过状态模型进行比较组合状态元素——描述对象的多维状态时间关系——建立状态持续时间和历史空间关系——建立状态与环境区域之间关系运动关系——通过运动判断对象动态状态多感知融合——利用视觉、音频、空间、运动等信息共同判断状态状态记忆——将状态历史连接到 WSaiOS MemoryStateAnalyzer——负责状态分析StateTransitionService——负责状态转换MVC Service Smarty——实现状态感知工程化State Cognition Mapper——将状态结果映射为认知元素。WSaiOS 状态感知核心模型Object↓Initial State↓Current State↓Previous State↓State Change↓State Transition↓State Trend↓State Classification↓State Context↓State Memory↓State Meaning↓Cognitive ElementWSaiOS 状态感知 OOP 模型StateElement│├── InitialState├── CurrentState├── HistoricalState├── StateChange└── StateTransition│↓StateAnalyzer│↓StateTransitionService│↓StateMemoryService│↓StateCognitionMapper│↓CognitiveElementMVC Smarty 总体结构WSaiOS State SystemRequest↓StateController↓StateService↓StateAnalyzer↓StateElement Layer↓State Change / Transition↓State Memory↓Cognitive Mapper↓Cognition↓Smarty View↓Outpu