决策规划
引言
决策规划 (Decision Making) 是机器人规划体系中最高层次的模块,负责在给定环境状态和任务目标下,选择机器人应当执行的行为或子任务。决策规划需要处理不确定性、多目标权衡以及复杂的环境交互,是实现机器人自主行为的关键。
概述
决策规划回答的核心问题是"做什么"。在一个典型的机器人系统中,决策模块接收来自感知系统的环境信息,结合任务目标和内部状态,输出一个高层行为指令(如"前往 A 点"、"抓取物体"、"避让行人"),再由下游的路径规划和运动规划模块执行。
决策方法可以按照是否依赖环境模型进行分类:
- 基于模型的方法 (Model-based):如 MDP、POMDP,需要环境的状态转移模型
- 无模型的方法 (Model-free):如基于规则的系统、行为树,直接映射感知到动作
- 基于学习的方法 (Learning-based):如强化学习,通过与环境交互学习策略
基于规则的系统 (Rule-based Systems)
基于规则的系统是最直观的决策方法,使用一组 if-then 规则将感知条件映射到动作输出。
基本结构
规则库由一系列产生式规则 (Production Rules) 组成:
如果 <条件1> 且 <条件2> 则 <动作A>
如果 <条件3> 则 <动作B>
如果 <条件4> 或 <条件5> 则 <动作C>
系统的推理引擎 (Inference Engine) 按照优先级或顺序匹配规则,找到满足条件的规则后执行对应动作。
示例:简单避障规则
规则1: 如果 前方距离 < 0.5m 则 停止并后退
规则2: 如果 左侧距离 < 右侧距离 则 右转
规则3: 如果 右侧距离 < 左侧距离 则 左转
规则4: 如果 前方无障碍物 则 前进
优缺点
- 优点:实现简单、可解释性强、响应速度快
- 缺点:规则数量随场景复杂度急剧增长;规则之间可能产生冲突;难以处理连续状态空间
决策树 (Decision Trees)
决策树 (Decision Tree) 是一种树形结构的决策模型,通过一系列条件判断逐步缩小决策范围,最终到达叶节点得到决策结果。
结构
决策树由以下元素组成:
- 根节点 (Root Node):起始判断条件
- 内部节点 (Internal Nodes):中间判断条件
- 分支 (Branches):条件判断的结果
- 叶节点 (Leaf Nodes):最终的决策或动作
[电量是否充足?]
/ \
是 否
/ \
[是否有任务?] [前往充电站]
/ \
是 否
/ \
[执行任务] [待机巡逻]
信息增益 (Information Gain)
在自动构建决策树时,通常使用信息增益来选择最优分裂属性。对于属性 ,其信息增益定义为:
其中 是数据集 的熵 (Entropy):
是类别数量, 是第 类的概率。
优缺点
- 优点:直观易理解、可以从数据中自动学习、支持多类别决策
- 缺点:容易过拟合;对连续特征的处理需要离散化;不善于处理时序依赖
有限状态机 (Finite State Machines, FSMs)
有限状态机是机器人决策中最广泛使用的方法之一。它将机器人的行为建模为一组离散状态和状态之间的转移。
形式化定义
一个有限状态机可以表示为五元组:
其中 是有限状态集合, 是输入字母表(事件集合), 是状态转移函数, 是初始状态, 是终止状态集合。
示例:移动机器人巡逻 FSM
电量低
[巡逻] ──────→ [前往充电站]
↑ │
│ 充电完成 │ 到达充电站
│ ←──────── [充电中] ←──┘
│
│ 发现目标
└──────→ [跟踪目标]
│
│ 目标丢失
└──→ [巡逻]
分层有限状态机 (Hierarchical FSM, HFSM)
为了解决状态爆炸问题,分层有限状态机允许将一个状态展开为一个子状态机:
- 高层状态机处理宏观行为(如"执行任务"、"充电"、"待机")
- 每个高层状态内部包含一个子状态机处理具体行为细节
优缺点
- 优点:概念简单、执行效率高、行为可预测
- 缺点:状态和转移数量随复杂度急剧增加(状态爆炸);修改和扩展困难;缺乏模块化
行为树 (Behavior Trees)
行为树 (Behavior Tree, BT) 是近年来在机器人和游戏 AI 中广泛采用的决策结构,它克服了 FSM 难以扩展和维护的缺点。
节点类型
行为树由以下几种核心节点类型组成:
| 节点类型 | 符号 | 功能描述 |
|---|---|---|
| 顺序节点 (Sequence) | → | 依次执行子节点,全部成功则成功,任一失败则失败 |
| 选择节点 (Selector/Fallback) | ? | 依次尝试子节点,任一成功则成功,全部失败则失败 |
| 条件节点 (Condition) | ○ | 检查条件是否满足,返回成功或失败 |
| 动作节点 (Action) | □ | 执行具体动作,返回成功、失败或运行中 |
| 装饰节点 (Decorator) | ◇ | 修改子节点的行为(如重复、取反等) |
执行机制
每个节点在每个 Tick 周期返回三种状态之一:
- 成功 (Success):节点任务完成
- 失败 (Failure):节点任务未能完成
- 运行中 (Running):节点任务正在执行
示例:巡逻与充电行为树
[?] 根选择节点
/ | \
/ | \
/ | \
[→]充电 [→]跟踪 [→]巡逻
/ \ / \ |
○ □ ○ □ □
电量 前往 发现 跟踪 巡逻
低? 充电 目标? 目标 路线
与 FSM 的对比
- 模块化:行为树的子树可以独立开发和复用
- 可扩展性:添加新行为只需插入新的子树
- 可读性:树形结构比状态转移图更易于理解
- 反应性:每个 Tick 从根节点重新评估,天然支持优先级中断
贝叶斯推理 (Bayesian Inference)
贝叶斯推理利用贝叶斯定理在不确定性环境中更新信念 (Belief) 并做出决策。
贝叶斯定理 (Bayes' Theorem)
其中 是后验概率 (Posterior), 是似然 (Likelihood), 是先验概率 (Prior), 是证据 (Evidence)。
贝叶斯网络 (Bayesian Networks)
贝叶斯网络是一种有向无环图 (Directed Acyclic Graph, DAG),用于表示随机变量之间的条件依赖关系。联合概率分布可以分解为:
机器人中的应用
- 目标识别:根据传感器观测更新对目标类别的信念
- 故障诊断:根据症状推断故障原因
- 环境分类:根据多种传感器数据推断环境类型
马尔可夫决策过程 (Markov Decision Processes, MDPs)
MDP 是处理序贯决策 (Sequential Decision Making) 问题的标准数学框架,适用于环境完全可观测的情况。
形式化定义
一个 MDP 由四元组定义:
- :状态空间 (State Space)
- :动作空间 (Action Space)
- :状态转移概率,即在状态 执行动作 后转移到状态 的概率
- :奖励函数 (Reward Function),执行动作 在状态 获得的即时奖励
最优策略
MDP 的目标是找到一个策略 ,使得累积折扣奖励最大化:
其中 是折扣因子 (Discount Factor)。最优值函数 满足贝尔曼最优方程 (Bellman Optimality Equation):
求解方法
- 值迭代 (Value Iteration):迭代更新值函数直到收敛
- 策略迭代 (Policy Iteration):交替进行策略评估和策略改进
- 线性规划 (Linear Programming):将 MDP 转化为线性规划问题求解
部分可观测马尔可夫决策过程 (POMDPs)
在实际机器人系统中,机器人通常无法完全观测环境状态,此时需要使用 POMDP 框架。
形式化定义
POMDP 在 MDP 的基础上增加了观测模型:
- :观测空间 (Observation Space)
- :观测函数,即执行动作 到达状态 后获得观测 的概率
信念状态 (Belief State)
由于状态不可直接观测,POMDP 维护一个关于当前状态的概率分布,称为信念状态 。信念更新公式为:
其中 是归一化常数。POMDP 在信念空间上等价于一个连续状态的 MDP,可以使用值迭代的变体求解,但计算复杂度远高于标准 MDP。
近似求解方法
由于精确求解 POMDP 是 PSPACE-hard 问题,实际应用中常采用近似方法:
- 基于点的值迭代 (Point-based Value Iteration, PBVI)
- 蒙特卡罗树搜索 (Monte Carlo Tree Search, MCTS)
- 在线规划 (Online Planning):仅在当前信念状态附近求解
效用理论 (Utility Theory)
效用理论提供了一个理性决策的数学框架,用于在多个可能的行动方案之间做出选择。
期望效用 (Expected Utility)
对于一个动作 ,其期望效用定义为:
其中 是执行动作 后到达状态 的概率, 是状态 的效用值。
最大期望效用原则 (Maximum Expected Utility, MEU)
理性决策者应选择期望效用最大的动作:
多属性效用 (Multi-attribute Utility)
在机器人决策中,通常需要同时考虑多个目标(如安全性、效率、能耗)。多属性效用函数将多个属性组合为一个综合效用值:
其中 是第 个属性的权重, 是状态 在第 个属性上的效用。
方法对比
| 方法 | 不确定性处理 | 计算复杂度 | 可扩展性 | 典型应用场景 |
|---|---|---|---|---|
| 规则系统 | 差 | 低 | 差 | 简单避障 |
| 决策树 | 一般 | 低 | 一般 | 目标分类 |
| FSM | 差 | 低 | 差 | 简单任务切换 |
| 行为树 | 一般 | 低 | 好 | 游戏 AI、服务机器人 |
| 贝叶斯推理 | 好 | 中 | 一般 | 目标识别、故障诊断 |
| MDP | 好 | 高 | 一般 | 导航、资源分配 |
| POMDP | 很好 | 很高 | 差 | 部分可观测任务 |
| 效用理论 | 好 | 中 | 好 | 多目标决策 |
参考文献
- Russell, S. & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th ed.). Pearson.
- Thrun, S., Burgard, W. & Fox, D. (2005). Probabilistic Robotics. MIT Press.
- Colledanchise, M. & Ogren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
- Kaelbling, L. P., Littman, M. L. & Cassandra, A. R. (1998). Planning and Acting in Partially Observable Stochastic Domains. Artificial Intelligence, 101(1-2), 99-134.
- Puterman, M. L. (1994). Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley.
- Koenig, S. & Simmons, R. G. (1998). Xavier: A Robot Navigation Architecture Based on Partially Observable Markov Decision Process Models. Artificial Intelligence and Mobile Robots, MIT Press.