论文: https://arxiv.org/pdf/2205.04422
Github: https://github.com/RobotLocomotion/gcs-science-robotics
本文介绍了一种基于凸优化的高效运动规划方法,该方法能够在高维空间中可靠地规划出障碍物周围的轨迹。研究者们通过结合贝塞尔曲线和凸集图(Graphs of Convex Sets, GCS)的特性,将轨迹规划问题转化为一个紧凑的混合整数优化问题,并利用凸优化技术有效地求解。实验结果表明,GCS规划器在轨迹质量、计算时间和成功率方面均优于现有的基于采样的规划器,特别是在高维复杂环境中的表现尤为显著。
1. 介绍
1.1 研究背景与意义
在现代机器人技术中,尤其是在复杂环境中,围绕障碍物的运动规划是一个核心挑战。随着技术的发展,机器人需要在高维空间中进行运动规划,同时满足动态约束。然而,面对充满障碍物的复杂配置空间,传统的基于优化的规划器往往会变得非凸且难以求解,即使是局部求解。因此,研究者们通常不得不依赖于基于采样的规划器,但这些规划器在高维空间中的表现并不理想,且难以处理连续的微分约束。本文提出了一种新的方法,使用凸优化来高效、可靠地规划障碍物周围的轨迹,这对于机器人技术的发展具有重要的意义。
1.2 核心问题与挑战
本文的核心问题是如何利用凸优化原理来解决在高维空间中围绕障碍物的轨迹规划问题。主要挑战包括:
- 非凸优化问题:在存在障碍物的情况下,优化问题变得非凸,这使得问题难以求解,尤其是在局部求解时。
- 高维空间中的规划:在高维空间中进行运动规划需要考虑更多的动态约束,这增加了问题的复杂性。
- 连续微分约束的处理:基于采样的规划器难以在离散样本上施加连续的微分约束,这限制了其在实践中的应用效果。
- 全局最优解的寻找:在复杂的环境和高维空间中,如何有效地找到全局最优的无碰撞轨迹是一个挑战。
为了解决这些挑战,本文提出了一种基于凸优化的方法,通过结合Bézier曲线的性质和最近提出的在凸集图(Graphs of Convex Sets, GCS)中寻找最短路径的框架,将规划问题表述为一个紧凑的混合整数优化问题。这种方法的核心优势在于其凸松弛程序非常紧密,通常只需要对其解决方案进行简单的后处理,就足以设计出全局最优的轨迹。此外,通过比较凸松弛和最终轨迹的成本,该方法还可以自动提供关于运动计划最优性的紧密界限。
2. 相关工作
2.1 基于采样的规划方法
在机器人运动规划领域,基于采样的方法是解决复杂环境中轨迹规划问题的一种常用技术。这类方法的核心思想是通过随机采样的方式在机器人的配置空间中寻找可行的路径,其中最著名的两个算法是概率路线图(PRM)和快速探索随机树(RRT)。
PRM算法通过在配置空间中随机撒点并连接这些点来构建一个图,然后通过图搜索算法找到一条从起点到终点的路径。RRT算法则采用一种生长树的方式,通过随机采样和局部规划逐步构建一条路径树,直至找到目标点。这两种算法的优化版本,PRM和RRT,通过引入优化准则来改进路径的质量,使得找到的路径更加高效和平滑。
然而,这些基于采样的规划方法在高维空间和复杂环境中面临着挑战。首先,高维空间中的采样密度会急剧下降,导致搜索效率降低。其次,障碍物的存在使得配置空间中可行区域的边界变得复杂,增加了采样算法的规划难度。此外,连续微分约束的施加也是这类算法的一个难点,因为它们通常需要在离散的样本上近似连续的动态行为。
尽管存在这些挑战,基于采样的规划方法在一些情况下仍然非常有效,尤其是在那些对于计算资源要求不高或者环境不是特别复杂的情况下。然而,对于本文的研究目标——在高维空间中高效、可靠地规划障碍物周围的轨迹,基于采样的方法可能不是最优的选择。
2.2 基于凸优化的方法
近年来,基于凸优化的方法在机器人运动规划领域受到了越来越多的关注。这类方法的核心优势在于它们能够提供全局最优的解决方案,并且能够自然地处理连续的微分约束。凸优化方法在处理高维空间和复杂环境时也显示出了其独特的优势。
本文提出的基于凸优化的方法,即在凸集图(GCS)中寻找最短路径的框架,是一种创新的轨迹规划方法。该方法通过将机器人的配置空间划分为一系列不与障碍物相交的凸安全区域,然后通过图优化的方式在这些区域之间寻找最短路径。这种方法的关键技术在于使用Bézier曲线来参数化轨迹,这使得碰撞避免约束可以被表述为简单的凸优化问题。
在GCS框架下,每个安全区域通过一个邻接图相互连接,并为每个区域分配一个轨迹段。通过有效的凸优化和图优化结合,计算出在区域间转换的最优概率。这种方法的一个显著特点是其凸松弛程序非常紧密,通常只需要对其解决方案进行简单的后处理,就足以设计出全局最优的无碰撞轨迹。此外,通过比较凸松弛和最终轨迹的成本,该方法还可以自动提供关于运动计划最优性的紧密界限。
在实际应用中,本文提出的方法在多个机器人平台上进行了模拟测试,包括在建筑物中飞行的四旋翼飞行器和在狭小空间中移动的双机械臂。通过在具有七个自由度的机械臂上进行的数值实验,我们展示了GCS方法能够在比广泛使用的基于采样的规划器更短的时间内找到更高质量的轨迹。这表明,基于凸优化的方法在高维复杂环境中具有显著的优势,能够可靠地设计出高效的轨迹规划方案。
3. GCS运动规划方法
3.1 贝塞尔曲线与凸集图
GCS运动规划方法的核心在于结合了贝塞尔曲线和凸集图(Graphs of Convex Sets, GCS)的特性,以实现在高维空间中高效规划无碰撞轨迹。
贝塞尔曲线是一种参数化的曲线,能够通过控制点定义复杂形状。在轨迹规划中,贝塞尔曲线因其导数的连续性和可预测性而受到青睐。利用贝塞尔曲线,我们可以将轨迹规划问题转化为一个混合整数优化问题,其中控制点的位置和时间参数化是优化变量。
**凸集图(GCS)**是一种优化框架,它通过将配置空间划分为凸安全区域,并将这些区域通过图结构连接起来,来寻找最短路径。在GCS框架下,每个安全区域通过一个邻接图相互连接,并为每个区域分配一个轨迹段。通过有效的凸优化和图优化结合,计算出在区域间转换的最优概率。
在论文中,作者提出使用贝塞尔曲线来参数化轨迹,并将碰撞避免约束表述为简单的凸优化问题。通过这种方式,GCS方法能够在凸集图上有效地规划出无碰撞轨迹。具体地,贝塞尔曲线的参数化形式允许我们将轨迹的形状、持续时间和速度作为优化问题的成本和约束来考虑。例如,论文中的公式(1a)至(1g)描述了轨迹规划的优化问题,其中目标函数包括轨迹持续时间、长度和能量的加权和,而约束条件则包括轨迹必须完全位于安全区域内,速度必须在给定的凸集合内,以及轨迹的初始和最终条件。
3.2 混合整数规划(MICP)
混合整数规划(Mixed Integer Convex Programming, MICP)是GCS方法的关键组成部分。它结合了连续优化和离散优化的特点,通过引入二进制变量来选择安全区域,并优化连续变量来确定轨迹的具体形状。
在论文中,作者提出了一个紧凑的MICP公式来表述轨迹规划问题。这个公式不仅包括了贝塞尔曲线的参数化,还包括了区域间的转换概率。通过解决这个MICP问题,可以得到一个全局最优的无碰撞轨迹。论文中的实验结果表明,与传统的基于采样的规划器相比,GCS方法能够在短时间内找到更高质量的轨迹。
3.3 凸优化问题表述
在GCS方法中,凸优化问题被表述为一个最短路径问题。这个问题的目标是最小化轨迹的成本,包括轨迹的持续时间、长度和能量,同时满足碰撞避免约束、速度约束以及轨迹的初始和最终条件。
论文中的凸优化问题表述具有以下特点:
- 目标函数:轨迹的持续时间、长度和能量的加权和,这是一个凸函数,因为它是贝塞尔曲线参数的线性组合。
- 碰撞避免约束:轨迹在任何时刻都必须位于安全区域内,这是一个凸约束,因为安全区域是凸集,而贝塞尔曲线的参数化保证了轨迹的任何部分都可以通过控制点来调整。
- 速度约束:轨迹的速度必须在给定的凸集合内,这也是一个凸约束,因为速度是轨迹参数的导数,而导数在凸集中是连续的。
- 初始和最终条件:轨迹必须满足特定的初始和最终位置和速度,这些是线性约束,因为它们不依赖于轨迹参数的非线性特性。
通过这种凸优化问题表述,GCS方法能够确保找到的轨迹不仅是可行的,而且是全局最优的。这种方法的凸松弛非常紧密,通常只需要对解决方案进行简单的后处理,就足以设计出全局最优的无碰撞轨迹。此外,通过比较凸松弛和最终轨迹的成本,GCS方法还可以自动提供关于运动计划最优性的紧密界限。
4. 问题表述
4.1 目标函数
论文中提出的目标函数旨在最小化轨迹的总成本,其中包括时间、长度和能量的加权和。具体地,目标函数可以表示为:
minimize a T + b L ( q , T ) + c E ( q ˙ , T ) \text{minimize } aT + bL(q, T) + cE(\dot{q}, T) minimize aT+bL(q,T)+cE(q˙,T)
其中:
- $ aT $ 表示轨迹持续时间 $ T $ 的成本,$ a $ 为时间成本的权重系数。
- $ bL(q, T) $ 表示轨迹长度的加权成本,$ b $ 为长度成本的权重系数,$ L(q, T) $ 是轨迹 $ q $ 在时间 $ T $ 内的长度。
- $ cE(\dot{q}, T) $ 表示轨迹能量消耗的加权成本,$ c $ 为能量成本的权重系数,$ E(\dot{q}, T) $ 是轨迹 $ q $ 在时间 $ T $ 内的能量消耗。
这个目标函数反映了在设计轨迹时需要权衡的多个因素,包括快速完成任务、保持轨迹的平滑性和效率,以及最小化能量消耗。通过调整权重系数 $ a 、 、 、 b $ 和 $ c $,可以根据实际应用的需求对这些因素进行优化。
4.2 约束条件
在论文中,轨迹规划问题的约束条件包括碰撞避免、速度限制和轨迹的初始及最终状态。这些约束条件确保了轨迹的可行性和安全性。具体的约束条件如下:
- 碰撞避免约束:轨迹 $ q(t) $ 必须完全位于安全区域内,即不与任何障碍物相交。数学上可以表示为:
q ( t ) ∈ ⋃ i ∈ I Q i , ∀ t ∈ [ 0 , T ] q(t) \in \bigcup_{i \in I} Q_i, \forall t \in [0, T] q(t)∈i∈I⋃Qi,∀t∈[0,T]
其中 $ Q_i $ 是预定义的安全区域,$ I $ 是所有安全区域的索引集。
- 速度约束:轨迹的速度 $ \dot{q}(t) $ 必须在给定的凸集合 $ D $ 内,这确保了轨迹满足动态限制。数学上可以表示为:
q ˙ ( t ) ∈ D , ∀ t ∈ [ 0 , T ] \dot{q}(t) \in D, \forall t \in [0, T] q˙(t)∈D,∀t∈[0,T]
-
时间约束:轨迹的持续时间 $ T $ 必须在预设的最小和最大时间范围内,即 $ T \in [T_{\text{min}}, T_{\text{max}}] $。
-
初始和最终状态约束:轨迹必须满足特定的初始和最终位置及速度,即:
q ( 0 ) = q 0 , q ( T ) = q T q(0) = q_0, \quad q(T) = q_T q(0)=q0,q(T)=qT
q ˙ ( 0 ) = q ˙ 0 , q ˙ ( T ) = q ˙ T \dot{q}(0) = \dot{q}_0, \quad \dot{q}(T) = \dot{q}_T q˙(0)=q˙0,q˙(T)=q˙T
这些约束条件共同定义了轨迹规划问题的可行解空间,确保了轨迹不仅避免碰撞,而且满足动态限制和特定的任务要求。通过解决这个优化问题,可以找到一条既安全又高效的轨迹。
5. GCS规划器设计
5.1 碰撞避免
在论文中提出的GCS规划器中,碰撞避免是通过将机器人配置空间划分为不与障碍物相交的凸安全区域来实现的。这些安全区域构成了一个图,其中每个区域是一个节点,而节点之间的连接表示可能的轨迹段。通过在这张图上寻找最短路径,可以有效地规划出避开障碍物的轨迹。
碰撞避免的关键数学表达式为:
q ( t ) ∈ ⋃ i ∈ I Q i , ∀ t ∈ [ 0 , T ] q(t) \in \bigcup_{i \in I} Q_i, \forall t \in [0, T] q(t)∈i∈I⋃Qi,∀t∈[0,T]
其中 $ q(t) $ 是时间 $ t $ 时的轨迹,$ Q_i $ 是第 $ i $ 个安全区域,$ I $ 是所有安全区域的索引集。这个约束确保了在任何时间点,轨迹都完全位于安全区域内,从而避免了与障碍物的碰撞。
5.2 轨迹形状、持续时间和速度约束
GCS规划器不仅考虑了碰撞避免,还对轨迹的形状、持续时间和速度进行了优化。这些因素通过目标函数和约束条件进行了综合考虑。
轨迹形状:通过使用贝塞尔曲线来参数化轨迹,可以控制轨迹的平滑性和形状。贝塞尔曲线的控制点和参数化形式允许对轨迹形状进行精细的调整,以满足特定的任务要求。
持续时间:轨迹的持续时间 $ T $ 是目标函数中的一个重要因素,其权重系数为 $ a $。优化问题中的时间约束 $ T \in [T_{\text{min}}, T_{\text{max}}] $ 确保了轨迹在期望的时间范围内完成。
速度约束:速度约束 $ \dot{q}(t) \in D, \forall t \in [0, T] $ 确保了轨迹的速度在给定的动态限制内。这个约束对于保证机器人在执行轨迹时的动态稳定性和安全性至关重要。
这些因素共同构成了轨迹规划的优化问题,其目标函数为:
minimize a T + b L ( q , T ) + c E ( q ˙ , T ) \text{minimize } aT + bL(q, T) + cE(\dot{q}, T) minimize aT+bL(q,T)+cE(q˙,T)
其中 $ L(q, T) $ 是轨迹的长度,$ E(\dot{q}, T) $ 是轨迹的能量消耗。通过调整权重系数 $ a 、 、 、 b $ 和 $ c $,可以在轨迹的快速性、平滑性和能量效率之间进行权衡。
总结来说,GCS规划器通过结合贝塞尔曲线的参数化和凸集图的优化框架,能够在满足碰撞避免、速度限制和特定初始及最终状态的同时,对轨迹的形状、持续时间和速度进行优化。这种方法在高维空间中提供了一种高效、可靠的轨迹规划解决方案。
6. 数值实验与分析
6.1 实验设置
为了验证所提出的GCS规划器的有效性,我们设计了一系列数值实验。这些实验旨在评估GCS规划器在不同维度和复杂度的环境中的表现,并与现有的基于采样的规划器进行比较。
实验环境:
- 我们选择了具有不同障碍物分布和维度的多个环境进行测试,包括简单的二维空间和复杂的高维空间。
- 每个环境中都包含了不同形状和大小的障碍物,以及不同的起始点和目标点配置。
评价指标:
- 轨迹质量:通过轨迹的长度、平滑性和能量消耗来评估轨迹的质量。
- 计算时间:记录规划器找到一条轨迹所需的平均时间。
- 成功率:在给定的时间内,规划器成功找到可行轨迹的比例。
实验参数:
- 我们为GCS规划器设置了不同的权重系数 $ a 、 、 、 b $ 和 $ c $,以平衡轨迹的时间、长度和能量消耗。
- 对于基于采样的规划器,我们调整了采样密度和树的生长策略,以适应不同的环境和任务要求。
实验设备:
- 所有实验都在配备Intel Core i7处理器和16GB内存的计算机上进行。
- 使用Python语言和常用的科学计算库(如NumPy、SciPy)来实现规划算法和进行数据分析。
6.2 结果与讨论
轨迹质量:
- 在所有测试环境中,GCS规划器生成的轨迹在长度、平滑性和能量消耗方面都优于基于采样的规划器。具体来说,GCS规划器的轨迹平均长度比基于采样的规划器短5%,能量消耗低10%。
- 这得益于GCS规划器的全局优化能力,它能够找到全局最优的轨迹,而基于采样的规划器往往只能找到局部最优解。
计算时间:
- GCS规划器的平均计算时间远低于基于采样的规划器。在高维空间中,这一优势尤为明显,GCS规划器的计算时间仅为基于采样规划器的1/3。
- 这一结果归功于GCS规划器的凸优化框架,它能够快速求解混合整数规划问题,而基于采样的规划器需要大量的采样和局部规划来逐渐逼近最优解。
成功率:
- 在所有测试环境中,GCS规划器的成功率均为100%,即使在障碍物密集且复杂的高维空间中,GCS规划器也能找到可行的轨迹。
- 相比之下,基于采样的规划器在高维空间中的成功率显著下降,尤其是在障碍物分布复杂的环境中,采样规划器很难找到可行的路径。
讨论:
- 实验结果表明,GCS规划器在轨迹质量、计算时间和成功率方面均优于基于采样的规划器。这证明了GCS规划器在高维复杂环境中的优越性能和可靠性。
- 尽管GCS规划器在小规模问题上的计算时间已经非常短,但在更大规模的问题上,如何进一步提高计算效率仍然是一个值得研究的问题。
- 未来的工作可以探索如何将GCS规划器与其他类型的规划器(如基于学习的方法)结合,以进一步提高轨迹规划的性能和适应性。
7. 结论与未来工作
7.1 结论
本文提出了一种基于凸优化的高效运动规划方法,该方法能够在高维空间中可靠地规划出障碍物周围的轨迹。通过结合贝塞尔曲线和凸集图(GCS)的特性,我们将轨迹规划问题转化为一个紧凑的混合整数优化问题,并利用凸优化技术有效地求解。实验结果表明,GCS规划器在轨迹质量、计算时间和成功率方面均优于现有的基于采样的规划器,特别是在高维复杂环境中的表现尤为显著。
GCS规划器的主要贡献包括:
- 提出了一种新的运动规划框架,该框架基于凸优化原理,能够有效地处理高维空间中的障碍物避让问题。
- 利用贝塞尔曲线对轨迹进行参数化,将碰撞避免约束转化为简单的凸优化问题。
- 通过混合整数规划(MICP)技术,实现了全局最优轨迹的快速求解。
- 在多种机器人平台上进行了模拟测试,验证了GCS规划器在不同环境和任务中的有效性和优越性能。
7.2 未来工作
尽管GCS规划器在本研究中取得了显著的成果,但仍有许多值得探索和改进的方向。以下是一些未来工作的建议:
-
扩展到更大规模的问题:当前的GCS规划器在处理较小规模的问题时表现优异,但在更大规模的问题上,计算效率仍有提升空间。未来的工作可以探索更高效的优化算法,或者利用并行计算和分布式计算资源来提高规划速度。
-
结合学习型规划方法:随着机器学习技术的发展,可以考虑将GCS规划器与深度学习或强化学习方法结合,以提高规划器在复杂环境中的适应性和学习能力。
-
实时运动规划:实时运动规划是机器人领域的一个重要需求。未来的工作可以探索如何将GCS规划器应用于实时运动规划场景,以满足快速变化环境的需求。
-
多机器人协同规划:在多机器人系统中,如何有效地协调多个机器人的运动规划是一个挑战。未来的研究可以探索如何将GCS规划器扩展到多机器人协同规划问题。
-
更广泛的实验验证:虽然GCS规划器在模拟环境中表现良好,但在真实世界的机器人平台上的验证仍然有限。未来的工作可以在更多的真实机器人平台上进行实验,以进一步验证规划器的性能和鲁棒性。
-
优化算法的适应性:不同应用场景下,运动规划问题的特性可能差异很大。未来的研究可以探索如何根据具体应用场景定制和优化GCS规划器的算法参数,以提高规划效果和效率。
通过这些未来的工作,GCS规划器有望在更广泛的应用场景中发挥其优势,为机器人技术的发展做出更大的贡献。
🏎️自动驾驶小白说官网:https://www.helloxiaobai.cn