OMPL - Optimal Planning
在某些运动计划问题中,您可能不希望起始状态和目标状态之间只有任何有效路径。 您可能对最短的路径感兴趣,或者对最远离障碍物的路径感兴趣。 在这些情况下,您正在寻找一条最佳路径:一条满足您的约束条件的路径(连接起始状态和目标状态而不会发生冲突),并且还优化了一些路径质量指标。 路径长度和路径间隙是路径质量指标的两个示例。 尝试优化路径质量度量的运动计划器称为优化计划器。
为了执行最佳计划,您需要做两件事:
- 路径质量度量标准或优化目标。
- 优化运动计划器
您可以使用ompl :: base :: OptimizationObjective类指定路径质量度量。 对于优化计划器,OMPL当前提供了一些计划器,以保证返回解决方案的渐近最优性(请参阅可用计划器列表)。 通过查看Karaman和Frazzoli撰写的这篇论文,您可以找到有关运动规划中渐近最优性 的更多信息。
OMPL包括对CForest并行化框架的支持,从而促进了最佳计划者的融合。 了解有关CForest的更多信息。
优化目标
OMPL带有几个预定义的优化目标:
- 路径长度
- 最小路径间隙
- 一般状态成本积分
- 机械功
这些优化目标均定义了路径成本的概念。 在OMPL中,我们将成本定义为机器人配置空间中的运动所产生的值。 在几何规划中,运动完全由开始状态和结束状态定义。 默认情况下,这些目标会尝试最小化路径成本,但是可以自定义此行为。 我们还假设整个路径的成本可以分解为组成路径的较小运动的成本的累积; 累加的方法(例如求和,乘法等)可以定制。
OMPL还通过使用ompl :: base :: MultiOptimizationObjective类为用户提供了针对多目标最优计划问题组合目标的能力。
局限性
为了最大程度地提高计算效率,OMPL假定可以用一个双精度值表示路径成本。 在许多问题中,即使我们正在处理多目标问题,一个值也足以完全定义优化目标。 在这些情况下,路径成本可以表示为构成多目标的每个单独目标下路径成本的加权总和。
但是,存在无法用此假设准确表示的问题。 例如,OMPL不能代表将以下两个目标组合在一起的多目标:
- 最小化路径长度
- 最大最小间隙
不能将这两个目标结合在一起的原因是,我们需要多个值来执行路径成本的累积。 我们需要一个值来保存沿路径的长度累积,而另一个值来保存到目前为止在路径中遇到的最小间隙值。 因此,无法在OMPL中表示的多目标问题是各个目标不共享成本累积功能的问题。 我们注意到,上述目标可以通过将路径长度目标与状态成本积分目标(状态成本是许可的函数)相结合来近似得出。
Optimal Planning Tutorial
https://ompl.kavrakilab.org/optimalPlanningTutorial.html
https://zhuanlan.zhihu.com/p/345979689
Optimization Objectives Tutorial
https://ompl.kavrakilab.org/optimizationObjectivesTutorial.html
