第35章 智能驾驶个体人工智能——模拟司机人工智能
35.1 智能驾驶个体人工智能定义
智能驾驶个体人工智能(Intelligent Driving Individual Artificial Intelligence)是个体人工智能(Individual Artificial Intelligence,ICAI)中的一种具体个体类型,是以现实世界中的司机及其驾驶活动为模拟对象,根据司机自身的驾驶知识、驾驶目标、驾驶能力、驾驶方法、驾驶状态、驾驶行为、驾驶经验以及车辆、道路、交通环境等相关对象建立对应的机器个体,并使该机器个体能够在规定的驾驶环境中持续进行驾驶认知、驾驶决策、车辆控制、驾驶行为、结果反馈和经验更新。
智能驾驶个体人工智能的核心并不是单纯控制一辆汽车,而是建立一个具有“司机个体结构”的机器个体。
其基本关系为:
现实驾驶主体→司机个体模型→机器司机个体→智能驾驶Runtime现实驾驶主体 \rightarrow 司机个体模型 \rightarrow 机器司机个体 \rightarrow 智能驾驶Runtime
因此,智能驾驶个体人工智能属于ICAI个体类型理论在驾驶领域中的具体应用。
其基本结构可以表示为:
DIAI={ID,T,Driver,Vehicle,Road,Traffic,Environment,O,A,S,R,Scene,K,Rule,Need,Goal,C,Md,D,B,Ac,Result,F,M,E,H}DIAI= \{ ID,T,Driver,Vehicle,Road,Traffic,Environment, O,A,S,R,Scene,K,Rule,Need,Goal,C,Md,D,B,A_c,Result,F,M,E,H \}
其中,DIAIDIAI 表示智能驾驶个体人工智能;IDID 表示个体身份;TT 表示个体类型;DriverDriver 表示司机主体;VehicleVehicle 表示车辆;RoadRoad 表示道路;TrafficTraffic 表示交通对象;EnvironmentEnvironment 表示驾驶环境;OO 表示对象;AA 表示属性;SS 表示状态;RR 表示关系;SceneScene 表示场景;KK 表示知识;RuleRule 表示交通规则;NeedNeed 表示需求;GoalGoal 表示目标;CC 表示能力;MdMd 表示方法;DD 表示决策;BB 表示行为;AcA_c 表示车辆控制动作;ResultResult 表示结果;FF 表示反馈;MM 表示记忆;EE 表示经验;HH 表示历史。
35.2 模拟司机人工智能定义
模拟司机人工智能(Simulated Driver Artificial Intelligence)是以现实司机个体的认知结构、知识结构、驾驶能力、驾驶方法、驾驶决策和驾驶行为作为模拟对象,在计算机中建立对应的机器司机个体。
模拟司机不是简单的车辆控制程序。
传统车辆控制主要解决:
车辆状态→控制指令车辆状态\rightarrow控制指令
而模拟司机需要解决:
驾驶环境→对象认知→场景认知→驾驶目标→驾驶能力→驾驶方法→风险判断→驾驶决策→车辆控制驾驶环境 \rightarrow 对象认知 \rightarrow 场景认知 \rightarrow 驾驶目标 \rightarrow 驾驶能力 \rightarrow 驾驶方法 \rightarrow 风险判断 \rightarrow 驾驶决策 \rightarrow 车辆控制
因此,模拟司机的核心是建立“司机个体”,车辆只是司机实施驾驶行为的执行对象。
其核心模型为:
司机人工智能=司机个体+驾驶知识+驾驶状态+驾驶能力+驾驶方法+驾驶决策+驾驶行为+驾驶反馈\boxed{ 司机人工智能 = 司机个体 + 驾驶知识 + 驾驶状态 + 驾驶能力 + 驾驶方法 + 驾驶决策 + 驾驶行为 + 驾驶反馈 }
这里的“司机”不是对某个现实人的意识进行哲学意义上的复制,而是对司机能够被结构化表示和计算的驾驶对象、驾驶知识、驾驶状态、驾驶规则、驾驶能力、驾驶方法、决策过程和行为过程建立机器模型。
35.3 司机个体结构
司机个体是智能驾驶系统中的核心个体。
司机个体可以表示为:
Driver={ID,T,Knowledge,Rule,State,Need,Goal,Capability,Method,Decision,Behavior,Memory,Experience,History}Driver= \{ ID,T, Knowledge, Rule, State, Need, Goal, Capability, Method, Decision, Behavior, Memory, Experience, History \}
其中,司机身份确定机器司机是哪一个具体个体;司机类型确定其属于什么驾驶主体;知识表示司机掌握的道路、车辆、交通和驾驶知识;规则表示司机需要遵循的交通规则;状态表示当前驾驶状态;目标表示当前驾驶目的;能力表示司机当前可以执行的驾驶任务;方法表示解决驾驶问题的方法;决策表示当前选择;行为表示实际驾驶行为;记忆、经验和历史表示司机过去的驾驶过程。
司机个体因此不是一个静态数据对象,而是一个持续变化的运行个体:
Drivert→DrivingEvent→Drivert+1Driver_t \rightarrow DrivingEvent \rightarrow Driver_{t+1}
35.4 车辆对象
车辆是司机驾驶行为的直接作用对象。
车辆对象可以表示为:
Vehicle={ID,Type,Position,Speed,Direction,Acceleration,BrakeState,SteeringState,PowerState,SystemState}Vehicle= \{ ID, Type, Position, Speed, Direction, Acceleration, BrakeState, SteeringState, PowerState, SystemState \}
车辆属性描述车辆本身具有的结构和参数。
车辆状态描述车辆当前处于什么状态。
例如:
车辆
├── 位置
├── 速度
├── 方向
├── 加速度
├── 制动状态
├── 转向状态
├── 动力状态
└── 系统状态
司机的驾驶决策最终需要转换为车辆可以执行的控制动作。
35.5 道路对象
道路是驾驶环境中的基础对象。
道路对象可以表示为:
Road={ID,Type,Lane,Direction,Width,SpeedLimit,Intersection,Condition,State}Road= \{ ID, Type, Lane, Direction, Width, SpeedLimit, Intersection, Condition, State \}
道路不仅是车辆行驶的空间,还包含车道、方向、限速、路口、道路状态等结构。
因此:
Road=RoadStructure+RoadAttribute+RoadStateRoad = RoadStructure + RoadAttribute + RoadState
司机必须首先形成道路结构认知,才能进一步形成驾驶决策。
35.6 交通对象
交通对象是驾驶环境中与当前驾驶行为相关的对象,包括其他车辆、行人、交通信号、非机动车以及其他道路对象。
交通对象可以统一表示为:
TrafficObject={ID,Type,Position,Direction,Speed,State,Relation}TrafficObject= \{ ID, Type, Position, Direction, Speed, State, Relation \}
例如:
交通对象
├── 其他车辆
├── 行人
├── 非机动车
├── 交通信号
├── 障碍物
└── 特殊交通对象
交通对象不是孤立存在的。每一个对象都需要与当前车辆建立位置、方向、距离、速度、优先级等关系。
35.7 驾驶环境
驾驶环境是司机个体运行时所处的外部对象集合及其状态集合。
Environment={Road,TrafficObject,Weather,Light,TrafficCondition,Space,Time,Event}Environment= \{ Road, TrafficObject, Weather, Light, TrafficCondition, Space, Time, Event \}
驾驶环境具有动态性:
Environmentt→Event→Environmentt+1Environment_t \rightarrow Event \rightarrow Environment_{t+1}
因此,智能驾驶不能只保存一个固定环境,而必须持续更新环境状态。
35.8 驾驶属性
驾驶属性是描述司机、车辆、道路、交通对象和环境特征的数据。
例如车辆具有:
Avehicle={Speed,Direction,Position,Size,Type}A_{vehicle}= \{ Speed, Direction, Position, Size, Type \}
道路具有:
Aroad={Width,LaneCount,SpeedLimit,Direction,RoadType}A_{road}= \{ Width, LaneCount, SpeedLimit, Direction, RoadType \}
交通对象具有:
Atraffic={Position,Speed,Direction,Type,Distance}A_{traffic}= \{ Position, Speed, Direction, Type, Distance \}
属性是状态计算的基础。
Object+Attribute→StateObject+Attribute\rightarrow State
35.9 驾驶状态
驾驶状态表示驾驶对象当前所处的状态。
车辆状态可以表示为:
SV={Position,Speed,Direction,Acceleration,Brake,Steering}S_V= \{ Position, Speed, Direction, Acceleration, Brake, Steering \}
交通状态可以表示为:
ST={Position,Speed,Direction,Distance,Movement}S_T= \{ Position, Speed, Direction, Distance, Movement \}
司机状态可以表示为:
SD={DrivingState,TaskState,DecisionState,RiskState,ActionState}S_D= \{ DrivingState, TaskState, DecisionState, RiskState, ActionState \}
驾驶状态具有时间连续性:
St→Event→St+1S_t\rightarrow Event\rightarrow S_{t+1}
35.10 交通关系
交通关系描述车辆、道路、交通对象之间的结构关系。
基本关系模型:
R=(Subject,Type,Object)R=(Subject,Type,Object)
例如:
Vehicle1→Following→Vehicle2Vehicle_1 \rightarrow Following \rightarrow Vehicle_2 Vehicle→LocatedOn→LaneVehicle \rightarrow LocatedOn \rightarrow Lane Vehicle→Approaching→IntersectionVehicle \rightarrow Approaching \rightarrow Intersection Vehicle→AffectedBy→TrafficSignalVehicle \rightarrow AffectedBy \rightarrow TrafficSignal
交通关系是形成驾驶场景和驾驶决策的重要基础。
35.11 驾驶场景
驾驶场景是道路对象、交通对象、车辆状态、交通关系和环境条件在特定时间和空间中的组合结构。
Scene={Road,Vehicle,Traffic,State,Relation,Environment,Event,Time,Space}Scene= \{ Road, Vehicle, Traffic, State, Relation, Environment, Event, Time, Space \}
例如:
当前车辆
+
前方车辆
+
左侧车道
+
红绿灯
+
路口
+
当前速度
+
车辆间距离
+
道路限速
共同构成一个驾驶场景。
驾驶场景形成:
Object→State→Relation→SceneObject \rightarrow State \rightarrow Relation \rightarrow Scene
35.12 驾驶知识
驾驶知识是机器司机用于识别、判断、匹配和决策的结构化知识。
KD={KVehicle,KRoad,KTraffic,KRule,KScene,KMethod,KRisk,KAction}K_D= \{ K_{Vehicle}, K_{Road}, K_{Traffic}, K_{Rule}, K_{Scene}, K_{Method}, K_{Risk}, K_{Action} \}
驾驶知识不是简单文本,而应当能够被机器读取和计算。
例如:
对象:红绿灯
状态:红灯
关系:车辆接近路口
规则:红灯禁止通行
结果:需要停车
因此:
Knowledge+State+Rule→DecisionConditionKnowledge+State+Rule\rightarrow DecisionCondition
35.13 交通规则
交通规则是司机驾驶行为必须遵循的约束结构。
规则可以表示为:
Rule={Condition,Object,Action,Result,Priority}Rule= \{ Condition, Object, Action, Result, Priority \}
例如:
RedLight+VehicleApproachingIntersection→StopRedLight + VehicleApproachingIntersection \rightarrow Stop
规则不仅决定允许什么行为,也决定行为的优先级和限制条件。
因此:
DrivingBehavior⊆RuleConstraintDrivingBehavior \subseteq RuleConstraint
35.14 驾驶目标
驾驶目标表示司机当前希望实现的驾驶结果。
例如:
到达目的地
保持安全距离
通过路口
完成变道
停车
降低风险
目标可以表示为:
Goal={Target,CurrentState,TargetState,Condition,Priority,Result}Goal= \{ Target, CurrentState, TargetState, Condition, Priority, Result \}
目标不是固定不变的。
Goalt→Event→Goalt+1Goal_t \rightarrow Event \rightarrow Goal_{t+1}
35.15 驾驶需求
驾驶需求是形成驾驶目标的基础。
例如:
Need→GoalNeed\rightarrow Goal
“到达目的地”属于驾驶目标,而“需要从当前位置到达目的地”属于驾驶需求。
驾驶需求可以来自:
Need={Destination,Safety,Time,Route,Traffic,VehicleState}Need= \{ Destination, Safety, Time, Route, Traffic, VehicleState \}
需求经过识别和计算后形成当前驾驶目标。
35.16 驾驶能力
驾驶能力表示机器司机在当前状态、知识、资源和条件下可以执行的驾驶任务范围。
CapabilityD={Task,Object,Condition,Knowledge,Method,Resource,Result}Capability_D= \{ Task, Object, Condition, Knowledge, Method, Resource, Result \}
可用驾驶能力:
AvailableCapability=f(Capability,State,Knowledge,Rule,Environment,Resource)AvailableCapability = f( Capability, State, Knowledge, Rule, Environment, Resource )
因此,机器司机并不是拥有某种能力就可以永远使用该能力。
PotentialCapability≠AvailableCapabilityPotentialCapability \neq AvailableCapability
驾驶能力受到车辆状态、道路条件、交通状态、环境条件和规则约束。
35.17 驾驶方法
驾驶方法是司机完成驾驶目标所采用的结构化解决方式。
Method={Condition,Object,Process,Action,Result}Method= \{ Condition, Object, Process, Action, Result \}
例如,在满足安全条件的情况下完成变道:
变道条件→检查目标车道→判断交通关系→确认安全→转向→进入目标车道变道条件 \rightarrow 检查目标车道 \rightarrow 判断交通关系 \rightarrow 确认安全 \rightarrow 转向 \rightarrow 进入目标车道
方法选择:
Method∗=f(Goal,State,Capability,Knowledge,Rule,Risk)Method^* = f( Goal, State, Capability, Knowledge, Rule, Risk )
35.18 路径与路线
路径是车辆从当前位置向目标位置移动所经过的空间序列;路线是由多个道路节点和路径段构成的驾驶路线结构。
可以表示为:
Route={Path1,Path2,⋯ ,Pathn}Route= \{Path_1,Path_2,\cdots,Path_n\}
路径选择受到:
Route∗=f(CurrentPosition,Destination,Road,Traffic,Rule,Risk,VehicleState)Route^* = f( CurrentPosition, Destination, Road, Traffic, Rule, Risk, VehicleState )
因此路线并不是独立存在的,它属于驾驶目标、道路结构、交通状态和风险计算共同作用的结果。
35.19 速度控制
速度控制是司机根据道路、车辆、交通对象、规则和风险确定车辆运行速度的过程。
Speed∗=f(Road,Traffic,VehicleState,Rule,Risk,Goal)Speed^* = f( Road, Traffic, VehicleState, Rule, Risk, Goal )
速度变化:
Speedt→Control→Speedt+1Speed_t \rightarrow Control \rightarrow Speed_{t+1}
速度控制必须受到道路限速、前车状态、路口状态、道路条件和安全距离等因素约束。
35.20 方向控制
方向控制是司机根据道路方向、目标路线、车辆位置和交通关系确定车辆运动方向的过程。
Direction∗=f(Road,Route,VehiclePosition,TrafficRelation,Goal)Direction^* = f( Road, Route, VehiclePosition, TrafficRelation, Goal )
其基本过程为:
当前位置→目标路径→方向判断→转向控制→新位置当前位置 \rightarrow 目标路径 \rightarrow 方向判断 \rightarrow 转向控制 \rightarrow 新位置
35.21 车辆操作
车辆操作是驾驶决策最终作用于车辆的具体动作。
主要包括:
加速
减速
制动
转向
变道
停车
启动
保持
因此:
DrivingDecision→VehicleActionDrivingDecision \rightarrow VehicleAction
其中:
VehicleAction={Acceleration,Deceleration,Brake,Steering,LaneChange,Stop,Start,Maintain}VehicleAction= \{ Acceleration, Deceleration, Brake, Steering, LaneChange, Stop, Start, Maintain \}
35.22 驾驶决策
驾驶决策是司机根据驾驶场景、目标、能力、方法、规则和风险,从多个可能行为中选择当前驾驶行为的计算过程。
Decision=f(Scene,Knowledge,Rule,Goal,Capability,Method,Risk,Conflict)Decision= f( Scene, Knowledge, Rule, Goal, Capability, Method, Risk, Conflict )
决策过程可以表示为:
场景→目标→能力→方法→风险→规则→决策场景 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 风险 \rightarrow 规则 \rightarrow 决策
例如:
前方车辆减速
↓
当前距离缩短
↓
判断跟车风险
↓
检查左侧车道
↓
检查变道条件
↓
比较减速与变道方法
↓
选择驾驶方法
↓
形成驾驶决策
35.23 风险判断
驾驶风险是当前对象、状态、环境和行为可能导致不利结果的程度。
Risk=f(Object,State,Environment,Behavior,Rule,Capability)Risk= f( Object, State, Environment, Behavior, Rule, Capability )
风险判断可以表示为:
RiskLevel=f(Distance,Speed,Direction,Traffic,Road,State)RiskLevel = f( Distance, Speed, Direction, Traffic, Road, State )
机器司机必须在驾驶决策之前或者决策过程中进行风险计算。
Risk→DecisionConstraintRisk \rightarrow DecisionConstraint
35.24 冲突判断
交通冲突是两个或多个驾驶目标、交通关系、行为方案或资源条件之间存在不一致的状态。
主要包括:
车辆运动冲突
路线冲突
方向冲突
速度冲突
空间冲突
规则冲突
目标冲突
行为冲突
冲突模型:
Conflict={Object1,Object2,Type,Condition,Impact}Conflict= \{ Object_1, Object_2, Type, Condition, Impact \}
冲突处理:
Conflict→Identify→Evaluate→Priority→ResolveConflict \rightarrow Identify \rightarrow Evaluate \rightarrow Priority \rightarrow Resolve
冲突处理的结果必须进入驾驶决策。
35.25 异常处理
异常是当前驾驶状态、车辆状态、道路状态或者运行过程偏离正常条件的情况。
Anomaly={Object,State,Expected,Actual,Impact,Time}Anomaly= \{ Object, State, Expected, Actual, Impact, Time \}
异常处理:
Anomaly→Detection→Diagnosis→Method→Action→VerificationAnomaly \rightarrow Detection \rightarrow Diagnosis \rightarrow Method \rightarrow Action \rightarrow Verification
例如车辆系统出现异常时,机器司机不能继续按照普通驾驶方法运行,而必须重新计算当前驾驶状态和可用能力。
35.26 安全保护
安全保护是机器司机在发现风险、异常或者危险条件后,采取措施降低损害概率和影响范围的机制。
Protection=f(Risk,State,Environment,Capability,Behavior)Protection= f( Risk, State, Environment, Capability, Behavior )
基本过程:
Risk→Protection→BehaviorRisk \rightarrow Protection \rightarrow Behavior
例如:
高风险→降低速度→增加安全距离→必要时制动高风险 \rightarrow 降低速度 \rightarrow 增加安全距离 \rightarrow 必要时制动
安全保护属于ICAI通用核心理论中的自我维护机制在智能驾驶领域的具体应用。
35.27 驾驶行为
驾驶行为是司机根据驾驶目标、驾驶决策和驾驶方法产生的实际驾驶过程。
BehaviorD=f(Goal,Capability,Method,Decision,State,Rule)Behavior_D= f( Goal, Capability, Method, Decision, State, Rule )
驾驶行为包括:
保持车道
跟车
加速
减速
制动
转向
变道
停车
启动
避让
驾驶行为不是单个动作,而是由多个动作构成的连续行为结构。
Behavior=Action1+Action2+⋯+ActionnBehavior = Action_1 + Action_2 +\cdots+ Action_n
35.28 驾驶结果
驾驶结果是驾驶行为执行之后产生的实际状态变化。
Result=f(Behavior,VehicleState,Environment)Result= f( Behavior, VehicleState, Environment )
例如:
减速行为→车辆速度降低减速行为 \rightarrow 车辆速度降低 变道行为→车辆进入目标车道变道行为 \rightarrow 车辆进入目标车道 制动行为→车辆停止制动行为 \rightarrow 车辆停止
结果需要与原驾驶目标进行比较:
Result↔GoalResult \leftrightarrow Goal
从而判断驾驶行为是否达到目标。
35.29 驾驶反馈
驾驶反馈是驾驶行为和驾驶结果产生之后返回给机器司机的状态信息。
Feedback={VehicleFeedback,RoadFeedback,TrafficFeedback,ResultFeedback,SafetyFeedback}Feedback= \{ VehicleFeedback, RoadFeedback, TrafficFeedback, ResultFeedback, SafetyFeedback \}
反馈过程:
Behavior→Result→FeedbackBehavior \rightarrow Result \rightarrow Feedback
反馈不是驾驶过程的终点,而是下一次认知和决策的输入。
Feedbackt→Cognitiont+1Feedback_t \rightarrow Cognition_{t+1}
35.30 驾驶记忆
驾驶记忆是机器司机对过去驾驶对象、场景、决策、行为、结果和反馈进行保存的结构。
Memory={Scene,Decision,Behavior,Result,Feedback,Time}Memory= \{ Scene, Decision, Behavior, Result, Feedback, Time \}
例如:
驾驶场景
+
采取方法
+
产生行为
+
获得结果
+
收到反馈
可以形成一条完整驾驶记忆。
35.31 驾驶经验
驾驶经验是机器司机从过去驾驶记忆、驾驶结果和反馈中形成的具有重复使用价值的结构化信息。
Experience=f(Memory,Behavior,Result,Feedback,History)Experience= f( Memory, Behavior, Result, Feedback, History )
经验可以表示为:
E={Condition,Scene,Method,Action,Result,Evaluation}E= \{ Condition, Scene, Method, Action, Result, Evaluation \}
因此:
Memory→ExperienceMemory \rightarrow Experience
经验又可以反向影响能力和方法:
Experience→CapabilityExperience \rightarrow Capability Experience→MethodExperience \rightarrow Method
35.32 驾驶学习
驾驶学习是机器司机根据驾驶结果、反馈和历史经验,对知识、能力、方法和行为规则进行更新的过程。
Learning=f(Result,Feedback,Memory,Experience,Knowledge,Capability,Method)Learning= f( Result, Feedback, Memory, Experience, Knowledge, Capability, Method )
学习过程:
驾驶结果→反馈→记忆→经验→知识更新→能力更新→方法更新驾驶结果 \rightarrow 反馈 \rightarrow 记忆 \rightarrow 经验 \rightarrow 知识更新 \rightarrow 能力更新 \rightarrow 方法更新
能力更新可以表示为:
Ct+1=f(Ct,Et,Ft,Kt,Resultt)C_{t+1} = f( C_t, E_t, F_t, K_t, Result_t )
其中,CtC_t 表示当前能力;EtE_t 表示当前经验;FtF_t 表示反馈;KtK_t 表示当前知识;ResulttResult_t 表示当前驾驶结果。
35.33 司机行为模拟
司机行为模拟是根据司机个体的状态、知识、目标、能力、方法、规则和历史经验,对司机可能采取的驾驶行为进行结构化计算。
其基本模型为:
BD=f(Scene,State,Goal,Knowledge,Capability,Method,Rule,Risk,Experience)B_D= f( Scene, State, Goal, Knowledge, Capability, Method, Rule, Risk, Experience )
因此,同一个驾驶场景下,不同司机个体可能产生不同的行为:
BD1≠BD2B_{D1}\neq B_{D2}
这是因为不同司机可能具有不同的:
Knowledge, Experience, Capability, Method, HistoryKnowledge,\ Experience,\ Capability,\ Method,\ History
因此,ICAI中的模拟司机并不是简单建立一个“统一司机”,而是可以建立具有不同个体结构的机器司机。
35.34 智能驾驶机器个体
当司机的结构、知识、能力、方法、决策、行为和历史被结构化之后,就可以形成智能驾驶机器个体。
MachineDriver={ID,Type,Vehicle,Road,Traffic,State,Knowledge,Rule,Goal,Capability,Method,Decision,Behavior,Result,Feedback,Memory,Experience,History}MachineDriver= \{ ID, Type, Vehicle, Road, Traffic, State, Knowledge, Rule, Goal, Capability, Method, Decision, Behavior, Result, Feedback, Memory, Experience, History \}
机器司机不是一个孤立算法,而是一个具有持续状态的机器个体。
其运行过程为:
MachineDrivert→Cognition→Decision→Behavior→Result→Feedback→MachineDrivert+1MachineDriver_t \rightarrow Cognition \rightarrow Decision \rightarrow Behavior \rightarrow Result \rightarrow Feedback \rightarrow MachineDriver_{t+1}
因此:
机器司机=结构化个体+认知+决策+行为+反馈+学习\boxed{ 机器司机 = 结构化个体 + 认知 + 决策 + 行为 + 反馈 + 学习 }
35.35 智能驾驶Runtime
智能驾驶Runtime是机器司机个体在计算机环境中的持续运行机制。
Runtime负责按照既定的ICAI通用核心理论,对驾驶环境、车辆状态、交通对象、驾驶目标、驾驶能力、驾驶方法、风险、冲突、决策、行为和反馈进行连续计算。
其完整运行模型为:
驾驶环境
↓
环境状态读取
↓
道路对象识别
↓
交通对象识别
↓
对象属性读取
↓
对象状态计算
↓
交通关系计算
↓
驾驶场景形成
↓
驾驶认知
↓
驾驶知识匹配
↓
驾驶需求识别
↓
驾驶目标形成
↓
驾驶能力匹配
↓
驾驶方法匹配
↓
风险判断
↓
冲突判断
↓
驾驶决策
↓
车辆控制
↓
驾驶行为
↓
驾驶结果
↓
驾驶反馈
↓
驾驶记忆
↓
驾驶经验
↓
驾驶学习
↓
驾驶状态更新
↓
进入下一驾驶周期
因此,智能驾驶Runtime不是一次性执行,而是一个持续循环:
Runtimet→Cognitiont→Decisiont→Behaviort→Resultt→Feedbackt→Learningt→Statet+1→Runtimet+1Runtime_t \rightarrow Cognition_t \rightarrow Decision_t \rightarrow Behavior_t \rightarrow Result_t \rightarrow Feedback_t \rightarrow Learning_t \rightarrow State_{t+1} \rightarrow Runtime_{t+1}
最终形成:
驾驶环境→驾驶认知→驾驶目标→驾驶能力→驾驶方法→驾驶决策→驾驶行为→驾驶结果→驾驶反馈→驾驶经验→驾驶学习→驾驶状态更新→持续驾驶\boxed{ 驾驶环境 \rightarrow 驾驶认知 \rightarrow 驾驶目标 \rightarrow 驾驶能力 \rightarrow 驾驶方法 \rightarrow 驾驶决策 \rightarrow 驾驶行为 \rightarrow 驾驶结果 \rightarrow 驾驶反馈 \rightarrow 驾驶经验 \rightarrow 驾驶学习 \rightarrow 驾驶状态更新 \rightarrow 持续驾驶 }
35.36 智能驾驶个体人工智能总体模型
通过以上结构,可以建立智能驾驶个体人工智能的完整模型:
DIAI=Driver+Vehicle+Road+Traffic+Environment+Knowledge+Goal+Capability+Method+Decision+Behavior+Feedback+Memory+Experience\boxed{ DIAI= Driver+ Vehicle+ Road+ Traffic+ Environment+ Knowledge+ Goal+ Capability+ Method+ Decision+ Behavior+ Feedback+ Memory+ Experience }
其完整认知—行为闭环为:
Environment→Object→Attribute→State→Relation→Scene→Knowledge→Need→Goal→Capability→Method→Risk→Conflict→Decision→Action→Behavior→Result→Feedback→Memory→Experience→Learning→Update\boxed{ Environment \rightarrow Object \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene \rightarrow Knowledge \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Decision \rightarrow Action \rightarrow Behavior \rightarrow Result \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update }
这条链路与ICAI通用核心理论保持一致。
因此,智能驾驶并不需要建立一套与ICAI完全不同的人工智能理论,而是将智能驾驶领域的对象、状态、关系、知识、规则、目标、能力、方法和行为映射到ICAI通用认知与行为机制中。
35.37 智能驾驶与ICAI通用核心理论的关系
智能驾驶个体人工智能属于具体个体类型,而对象认知、状态计算、关系计算、目标形成、能力匹配、方法选择、决策、行为、反馈、学习、风险处理、冲突处理和自我维护属于ICAI通用核心理论。
因此:
智能驾驶个体类型+ICAI通用核心理论→智能驾驶机器个体智能驾驶个体类型 + ICAI通用核心理论 \rightarrow 智能驾驶机器个体
其中:
智能驾驶个体类型→回答“模拟什么”智能驾驶个体类型 \rightarrow 回答“模拟什么” ICAI通用核心理论→回答“如何认知、如何计算、如何决策、如何行为”ICAI通用核心理论 \rightarrow 回答“如何认知、如何计算、如何决策、如何行为” 智能驾驶机器个体→回答“具体是哪一个机器司机”智能驾驶机器个体 \rightarrow 回答“具体是哪一个机器司机”
这三个层次共同构成智能驾驶个体人工智能。
35.38 智能驾驶个体人工智能的工程映射
理论模型必须进一步转换为工程结构。
基本映射关系为:
智能驾驶理论
↓
驾驶对象模型
↓
驾驶Domain Object
↓
PHP OOP Class
↓
Driving Service
↓
Driving Engine
↓
Driving Repository
↓
MySQL
↓
MVC
↓
Smarty
↓
Driving Runtime
↓
机器司机个体
核心对象可以包括:
Driver
Vehicle
Road
TrafficObject
DrivingEnvironment
DrivingState
TrafficRelation
DrivingScene
DrivingKnowledge
TrafficRule
DrivingGoal
DrivingNeed
DrivingCapability
DrivingMethod
DrivingDecision
DrivingBehavior
DrivingAction
DrivingResult
DrivingFeedback
DrivingMemory
DrivingExperience
DrivingRisk
DrivingConflict
DrivingDiagnosis
DrivingProtection
DrivingRuntime
例如:
class DriverIndividual
{
protected $id;
protected $type;
protected $vehicle;
protected $knowledge;
protected $rules;
protected $state;
protected $goals;
protected $capabilities;
protected $methods;
protected $decision;
protected $behavior;
protected $memory;
protected $experience;
public function perceive($environment)
{
}
public function calculateState()
{
}
public function recognizeScene()
{
}
public function matchCapability()
{
}
public function selectMethod()
{
}
public function makeDecision()
{
}
public function executeBehavior()
{
}
public function receiveFeedback()
{
}
public function learnExperience()
{
}
}
工程中的机器司机因此不是一个单独的控制函数,而是一个具有状态、知识、能力、方法、决策、行为、记忆和经验的Domain Object。
35.39 智能驾驶个体的运行闭环
智能驾驶个体最终形成一个持续运行的闭环:
驾驶环境→感知→认知→状态→目标→能力→方法→风险→决策→行为→结果→反馈→经验→学习→更新→再次驾驶\boxed{ 驾驶环境 \rightarrow 感知 \rightarrow 认知 \rightarrow 状态 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 风险 \rightarrow 决策 \rightarrow 行为 \rightarrow 结果 \rightarrow 反馈 \rightarrow 经验 \rightarrow 学习 \rightarrow 更新 \rightarrow 再次驾驶 }
其中,感知负责获得驾驶环境中的原始信息;认知负责形成对象、属性、状态、关系和场景;目标负责确定驾驶方向;能力负责判断能够执行什么;方法负责确定如何执行;风险和冲突负责限制不安全行为;决策负责选择行为;行为负责产生车辆操作;结果负责验证行为效果;反馈进入记忆和经验;学习负责更新知识、能力和方法;更新后的机器司机进入下一轮驾驶。
由此,司机人工智能形成真正的个体运行过程。
35.40 本章总结
智能驾驶个体人工智能的核心,不是把汽车简单变成一个自动控制设备,而是把现实中的司机作为一个具有自身结构、知识、状态、能力、方法、决策和行为的现实个体进行机器建模。
其基本转换关系为:
现实司机→司机结构→司机知识→司机能力→司机方法→司机决策→司机行为→机器司机→智能驾驶Runtime\boxed{ 现实司机 \rightarrow 司机结构 \rightarrow 司机知识 \rightarrow 司机能力 \rightarrow 司机方法 \rightarrow 司机决策 \rightarrow 司机行为 \rightarrow 机器司机 \rightarrow 智能驾驶Runtime }
进一步与车辆、道路和交通环境结合:
机器司机+车辆+道路+交通对象+驾驶环境→智能驾驶机器个体\boxed{ 机器司机 + 车辆 + 道路 + 交通对象 + 驾驶环境 \rightarrow 智能驾驶机器个体 }
最终形成:
智能驾驶个体人工智能=现实司机的机器个体化+ICAI通用认知理论+驾驶知识+驾驶能力+驾驶决策+驾驶行为+反馈学习+持续Runtime\boxed{ 智能驾驶个体人工智能 = 现实司机的机器个体化 + ICAI通用认知理论 + 驾驶知识 + 驾驶能力 + 驾驶决策 + 驾驶行为 + 反馈学习 + 持续Runtime }
因此,智能驾驶可以成为个体人工智能的重要应用领域之一。它证明了ICAI理论不仅能够描述一般个人、企业、服务主体和机器人,也能够进一步描述具有明确环境、规则、目标、能力和连续行为的司机个体。
在ICAI体系中,智能驾驶最终可以统一表示为:
现实司机→个体结构→机器司机→认知→决策→行为→反馈→经验→学习→持续驾驶\boxed{ 现实司机 \rightarrow 个体结构 \rightarrow 机器司机 \rightarrow 认知 \rightarrow 决策 \rightarrow 行为 \rightarrow 反馈 \rightarrow 经验 \rightarrow 学习 \rightarrow 持续驾驶 }
这就是“模拟司机人工智能”的基本理论模型。