为了让机器人安全地在环境中导航,它必须理解它所处的场景几何形状,并进行碰撞推理。辐射场表示,如神经辐射场(Neural Radiance Fields,NeRF)和高斯飞溅(Gaussian Splatting),是两种用于创建详细的三维场景模型,并推理环境中的潜在碰撞的先进技术。NeRF 是一种利用深度学习从多个视角的二维图像中重建三维场景的技术 。它将场景建模为一个五维函数,这个函数将三维坐标和观察方向映射到颜色和体积渲染不透明度 ,通过沿摄像机射线积分,NeRF 可以近似图像形成过程,生成新视角下的逼真图像 。NeRF 使用多层感知器(MLP)来学习辐射场的参数,从而能够渲染出具有复杂光照和遮挡关系的三维场景 。
而3D高斯飞溅(3DGS)是一种基于高斯函数的三维场景表示方法,它使用一组三维高斯函数来建模场景,每个高斯函数代表场景中的一个点,具有位置、大小、颜色和不透明度等属性。这些高斯函数在三维空间中渲染成椭球体,混合在一起时,可以产生从任何角度渲染的完整模型的可视化效果。高斯飞溅的一个关键优势是它比 NeRF 训练和渲染速度快,同时能达到相似或更好的质量。
神经辐射场(NeRF)和高斯飞溅(Gaussian Splatting)进行碰撞推理的方式略有不同,原理分别如下:(1)NeRF 通过神经网络预测出一个连续的密度场,表示空间中每一点的颜色和不透明度。在推理过程中,NeRF 会模拟光线从相机出发,沿着不同的射线路径在三维空间内传播,并在路径上积分密度场,以生成图像。如果光线在传播过程中遇到较高的密度值,这通常意味着光线遇到了物体,因此可以认为存在碰撞风险。(2)高斯飞溅则通过一组三维高斯函数来表示场景,在渲染过程中,高斯飞溅将这些高斯函数转换为图像平面上的二维高斯函数,并进行查询和混合,以生成新视角下的图像。在进行碰撞推理时,高斯飞溅可以通过检查机器人模型与这些高斯函数表示的物体之间的空间关系来预测碰撞。在规划路径时,可以设置风险阈值,确保机器人的预定路径不会与具有较高不透明度值的高斯函数发生交集,从而避免碰撞。
机器人研究界已开始尝试将这些模型整合到机器人的定位、制图和导航等任务中。辐射场模型在机器人应用中的一个关键优势是它们能够连续地表示环境,这与机器人学中传统的离散表示方法不同,比如点云和占用网格。然而,在这些连续环境中严格推理碰撞是一个挑战。尽管现有的规划器为这个问题提供了实用的解决方案,比如在规划之前将机器人身体离散化,或将地图离散化,或者将高斯飞溅中的高斯置信椭球体视为障碍物,但要充分利用辐射场模型的连续性质仍有许多工作要做。
对此,密西根大学机器人学系提出一个名为SPLANNING的实时、递减视野轨迹优化算法,扩展了辐射场中运动规划的文献。本文的主要贡献包括:1) 从渲染方程开始,严格定义和推导出辐射场模型中刚体碰撞的定义和推导;2) 在高斯飞溅模型中计算碰撞概率上界的一种计算效率高的方法;3) 重新制定高斯飞溅,以标准化3D高斯函数,确保碰撞概率的正确性;4) 为机器人操纵器提出了一种新型的风险感知轨迹规划器。仿真和硬件实验表明,这种风险感知规划器能够实时解决具有挑战性的任务。
❝文章信息:Let's Make a Splan: Risk-Aware Trajectory Optimization in a Normalized Gaussian Splat https://arxiv.org/pdf/2409.16915 https://roahmlab.github.io/splanning/
模型解析
SPLANNING方法的核心在于它能够实时地在连续的辐射场模型中进行风险感知的轨迹规划,同时考虑到碰撞概率,并在优化过程中确保轨迹的安全性。SPLANNING使用视觉场景表示来计算风险感知轨迹。它结合了可达性分析和标准化的3D高斯飞溅,这允许SPLANNING限制机器人与场景碰撞的概率。文章提出了一种新的标准化3D高斯飞溅方法,这种方法通过将3D高斯函数归一化,确保了碰撞概率的正确性。在运行时,SPLANNING通过解决一个优化问题来计算轨迹,该优化问题限制了机器人的前向占用(forward occupancy)与环境相交的概率。SPLANNING的关键创新之一是引入了风险感知规划,这意味着它在规划轨迹时会考虑到与环境碰撞的概率,并尝试最小化这一风险。
算法具体步骤包括:(1)定义一组连续的轨迹,每条轨迹由一个轨迹参数唯一确定。(2)通过在每个规划迭代中解决优化问题来计算轨迹,确保从初始状态到目标状态的轨迹是安全的。(3)SPLANNING在实时环境中执行后退视野的规划,即在当前时刻为机器人找到一条可行的轨迹。
SPLANNING尝试解决的优化问题包括成本函数最小化(1)、关节位置(2)和速度的限制(3),以及确保机器人前向占用与环境相交的概率低于风险阈值(4)。
A. 机器人臂的运动学
这部分的目标是建立一个机器人运动的数学模型,以便在运动规划中使用。首先定义了机器人配置(姿势)和速度的轨迹。机器人的配置被视为一个从时间到配置空间的映射,机器人操作在三维工作空间中,有一个基座(base frame)作为机器人运动链的起点,每个关节都有位置和速度的限制。提供了计算机器人末端执行器在世界坐标系中位置的公式。这涉及到将所有关节的旋转和平移操作累积起来,以得到末端执行器的位置。假设机器人的动力学是已知的,并且可以使用逆动力学控制器完美地跟踪任何轨迹。
B. 机器人臂所占空间
小节详细描述了如何通过数学方式定义和近似机器人臂在三维空间中的占用体积。前向占用(FO, Forward Occupancy)定义为机器人臂在工作空间中所占据的体积,对于每个关节,FOj(q(t))即在给定时间t下,机器人第j个连杆所占据的空间。每个连杆的体积可以用一个球体(Sj(q(t)))来近似表示,球体的中心在连杆的关节上,半径为某个固定值。使用一个截锥形(tapered capsule,TCj(q(t)))来近似每个连杆的体积,这是两个相邻球体的凸包。整个机器人臂所占的空间是所有连杆所占空间的并集。文章将机器人安全表示的构造总结为一个定理,即使用三维空间中的一系列球体来覆盖机器人臂在给定时间间隔内所扫掠的体积。
C. 3D场景表示方法详述
体积渲染是一种通过沿射线积分体积密度来模拟图像形成过程的技术。文中提到了透射率函数(transmittance function),通过计算密度沿着射线的积分,计算粒子在沿着射线路径移动时发生碰撞的概率:P(Cba[φ]) = 1−T ba[φ]。
文章介绍了标准化高斯飞溅的概念,这是一种新的高斯飞溅方法,它通过归一化3D高斯函数来确保体积密度的计算是正确的,这对于碰撞概率的计算至关重要。文章提出了一种方法来界定一个球体与表示为辐射场的场景之间的碰撞概率,即计算一个粒子在沿着射线路径移动时发生碰撞的概率(16)。
D. 界定机器人与环境碰撞的概率
假设标准化3D高斯飞溅已经收敛,并且3D高斯函数构成了体积密度的有效基础,使得可以准确计算透射率。将碰撞事件建模为随机事件,考虑一个以原点为中心的球体,计算从球体中心向任意方向发射的射线与环境发生碰撞的概率。将球体的体积积分转化为对射线路径上密度积分的期望值,再使用误差函数(error function)和标准化的高斯函数推导碰撞概率的上界。
最后,文章将碰撞概率上界整合到轨迹优化问题中,作为风险感知约束条件的一部分,最后构建了一个优化问题,该问题旨在最小化轨迹的成本,同时满足机器人关节的位置和速度限制,以及确保碰撞概率低于给定的风险阈值。
实验结果
用SSIM和PSNR测量视觉重建结果如表1所示。实验表明,归一化3DGS的视觉重建质量接近标准3DGS。这是一个积极的结果,因为标准化大大增加了训练过程的复杂性,并且是唯一允许风险意识规划的方法。
通过测量渲染深度与真实深度之间的差值来评估每种方法的几何精度。对于从训练中排除的每个图像,渲染深度图像并与地面真实图像进行比较。计算每个图像的均方根(RMS)误差,然后对所有图像进行平均以找到最终度量。与SSIM和PSNR结果类似,归一化3DGS的精度接近标准3DGS,如表2所示。
模拟环境和相应的三维高斯Splat模型如图3所示,包含边长为20cm的立方体障碍物,障碍物随机放置在机械臂可触及的空间内,每个场景分别有10、20和40个障碍物。
文章与现有的辐射场规划方法进行比较了碰撞概率,评估模型性能。每种方法的碰撞表示如图4所示。CA TNIPS的NeRF表示使用Instant-NGP进行训练,而Splat-Nav使用原始的高斯飞溅方法构建。
文章计算了与允许碰撞风险相对应的不同阈值下的Precision-Recall值(精确度-召回率),并在图5中报告了精确度-召回率曲线。CATNIPS∗实现了高精确度,这表明大多数检测到的碰撞是真实的碰撞。然而,相对较低的召回率表明,不安全配置被错误地分类为安全。Splat-Nav∗实现了更高的召回率,这表明该方法更为保守,将导致更少的碰撞。然而,较低的精确度表明存在误报,这将导致运动规划器过于保守。SPLANNING约束实现了比Splat-Nav∗或CATNIPS∗更高的精确度和召回率。此外,图5显示SPLANNING中的阈值α和β可以显著控制约束的行为,从左边的高度激进到右边的更加保守。
表3给出了实验中每个计划器的成功次数和碰撞次数。SPARROWS可以进入地面真实场景,成功次数最多,零碰撞。这是预期的结果,因为SPARROWS解决了与SPLANNING类似的优化问题,但给出了真实场景知识。相比之下,SPLANNING是唯一结合感知的方法。当SPLANNING的α和β参数设置在0.025和0.05之间时,SPLANNING比所有其他基线获得更多的成功次数。紧随SPLANNING之后的是cuRobo和MPOT,但两者的碰撞次数都要高得多。
文章还测量了制定和解决每个优化问题所需的时间。对于SPLANNING,时间对所有α, β参数取平均值。计时结果如表4所示。所有方法均保持在0.5s以内。值得注意的是,SPLANNING在20和40个障碍情况下比ARMTD优化得更快,尽管ARMTD可以访问真实障碍物,而SPLANNING结合了感知。
每个约束及其梯度的计算时间如表5所示。在所有场景下,SPLANNING的平均约束评估都在10ms以下。SPLANNING在每个约束评估上花费的时间比SPARROWS和ARMTD稍长,后者都使用障碍物的真值表示,而不是SPLANNING使用的规范化3DGS。然而,如表四所示,SPLANNING轻松保持在0.5s的规划时间限制之下。
文章来源:具身智能之心