组合运动规划:算法与分解策略
在运动规划领域,组合运动规划是一种重要的方法,它涉及到计算空间的分解以及构建不同类型的路线图来解决运动规划问题。下面将详细介绍相关的算法和概念。
1. 计算分解
高效计算分解是运动规划中的一个关键问题。如果不考虑效率,通过暴力计算可以完成所需步骤,但时间复杂度较高。若障碍物区域 (C_{obs}) 有 (n) 个顶点,这种方法至少需要 (O(n^2)) 的时间,因为需要对每条垂直射线和每个线段进行相交测试,且还未考虑查找包含查询点的单元格以及构建保存连通性信息的路线图等数据结构问题。
通过精心组织计算,可将运行时间优化到 (O(n \lg n))。这一算法基于计算几何中的平面扫描(或线扫描)原理,该原理是许多组合运动规划算法及其他算法的基础。
2. 平面扫描原理
平面扫描算法的核心思想是想象一条线(或平面等)扫过空间,仅在信息发生关键变化的地方停止。在构建垂直分解时,假设一条垂直直线从 (x = -\infty) 扫到 (x = \infty),用 ((x, y)) 表示 (C = R^2) 中的点。
障碍物区域 (C_{obs}) 的顶点集 (P) 是问题输入中 (R^2) 里的唯一数据,有趣的变化通常发生在这些顶点处。将 (P) 中的点按 (X) 坐标升序排序,假设处于一般位置,即没有两个点具有相同的 (X) 坐标。按 (x) 值递增的顺序访问 (P) 中的点,每次访问一个点称为一个事件。在每个事件之前、之后和之间,维护一个 (C_{obs}) 边的列表 (L),该列表必须始终按照垂直扫描线穿过时边的出现顺序(从下到上)进行维护。
超级会员免费看
订阅专栏 解锁全文
1469

被折叠的 条评论
为什么被折叠?



