alphaFeedback

WorksComputer Science

h-NESDF: An Infinitely Differentiable Signed Distance Between Two Sets with Robotic Applications

AI contributions
Not recorded for this paper
View details

Abstract

Computing distances between sets is important in many robotic applications, such as motion planning and control. In many applications, derivatives of the distance are needed as well. It is well known that the Euclidean distance is not always differentiable, which create issues to algorithms that need a derivative. In this paper, we introduce NESDF, the Normal Euclidean Signed Distance Function between two general (with mild regularity assumptions but possibly non-convex) sets. This metric is still not differentiable, but it allows us to introduce a generalization, hh-NESDF, which has a smoothing parameter hh such that the metric is infinitely differentiable for all h>0h>0 and that reduces to the NESDF when hh goes to 00. The metric is amenable to GPU parallelization, and thus can be computed efficiently. We show extensive simulation results to evaluate its viability in motion planning.

Introduction

Distance computations are central to robot motion planning, collision detection, and control. Their integration into gradient-based planners and feedback controllers often requires more than accurate distance values: the underlying functions must also provide sufficiently regular derivatives. Control Barrier Functions (CBFs), for example, rely on gradients, and some formulations require higher-order derivatives of distance-like functions to enforce safety constraints [1, 2, 3, 4, 5, 6, 7]. Insufficient regularity can lead to excessively large control inputs [8] or noisy control signals [9]. Motion planners such as CHOMP [10] similarly use distance gradients to update trajectories and resolve collisions during optimization. In this setting, signed distance-like functions are particularly useful because their negative values encode overlap and provide information about infeasible configurations.

However, Euclidean distance functions are generally not differentiable at every configuration [11]. A common source of nonsmoothness is a change in the geometric features that determine the closest points. Such transitions often involve nonunique witness points, namely, pairs of points, one on each object, that attain the minimum distance. This can produce abrupt changes in the distance gradient as the relative pose of the objects varies.

Several works have investigated differentiable alternatives to Euclidean distance functions for robotic applications. The approach in [8] introduced an infinitely differentiable, unsigned distance-like function between convex sets and applied it to second-order kinematic control. The method generalized von Neumann’s alternating projection algorithm into an iterative distance computation, but remained cumbersome to evaluate and did not guarantee a zero value when the sets overlapped. Subsequently, [9] introduced a substantially simpler formulation that correctly vanishes upon overlap, while retaining the convexity assumption and unsigned nature of the function. The work in [12] developed a differentiable distance-like function between a point and an object represented as a set of discrete points, and used it to construct safe and smooth guiding vector fields that avoid collision with obstacles represented as point clouds. Signed differentiable distance metric between convex sets were also developed in [6, 13], using different smoothing techniques and demonstrating applications to CBF-based control. Related constructions also arise outside robotics, particularly in surface reconstruction. For example, [14] reconstructs a smooth approximation of a point-to-set signed distance field from sampled surface data. Similarly, [15] proposes an explicit differentiable level-set formulation that approximates the signed distance to a geometry. The methods discussed above either assume convexity for both extended objects or address point-to-set distances. More recently, [16] introduced a smooth signed distance metric for nonconvex objects aiming to use it within a contact simulation framework. Table I shows comparisons between different differentiable distance approaches.

WorkType of SetSignedDetect CollisionTime Complexity
Liu et al. [14] [14]A point and a possibly nonconvex set in R3\mathbb{R}^{3}, represented as a point cloudYesNoO(K)\mathcal{O}(K) per query for the full formula, in which KK is the number of points. Local evaluation uses k=10k=10 nearby points, plus neighbor-search cost
Hicken et al. [15] [15]A point and a possibly nonconvex set in R2\mathbb{R}^{2} or R3\mathbb{R}^{3}, represented as a point cloudYesNoO(K)\mathcal{O}(K) per query for the full formula, in which KK is the number of points. The implementation uses k=10k=10 nearest points, plus neighbor-search cost
Gonçalves et al. [8] [8]Two convex sets in Rn\mathbb{R}^{n}. Only give practical approximate formulae for balls, boxes and cylinders.NoNo, with arbitrarily small error as h→+0h \to+0Iterative, no fixed number of steps
Beker et al. [16] [16]Almost arbitrary sets in Rn\mathbb{R}^{n}, represented as point cloudsYesNo, with arbitrarily small error as h→+0h \to+0O(KAKB)\mathcal{O}(K_AK_B), where KAK_A and KBK_B are the numbers of points in the respective objects
Wu et al. (2025) [6]Two convex polyhedral sets in R2\mathbb{R}^{2}YesNo; conservative for finite smoothing, with arbitrarily small error as h→+0h \to+0O(VAVB)\mathcal{O}(V_AV_B), where VAV_A and VBV_B are the numbers of vertices
Gonçalves et al. [9] [9]Two convex sets in Rn\mathbb{R}^{n}. Only gives practical formulae for polyhedra.NoYesIterative, no fixed number of steps. If the two objects are polyhedral and have FA,FBF_A,F_B faces, respectively, each step is O(FA+FB)\mathcal{O}(F_A+F_B)
Nunes et al. [12] [12]Point cloud and a point in Rn\mathbb{R}^{n}NoYesO(K)\mathcal{O}(K), where KK is the number of points
Bartelt et al. [13] [13]Two convex polyhedral sets in R3\mathbb{R}^{3}YesNot exactly, but collision detection can become arbitrarily accurate by increasing the number of normals NNO(VAVBN)\mathcal{O}(V_AV_BN), where VAV_A and VBV_B are the numbers of vertices and NN is the number of normals used. The paper proposes, by default, N=O(VA+VB)N=\mathcal{O}(V_A+V_B).
OursAlmost arbitrary sets in Rn\mathbb{R}^{n}, one of them at least represented as a point cloudYesNo, with arbitrarily small error as h→+0h \to+0If AA is represented by a point cloud with KAK_A points, the complexity is O(KA)\mathcal{O}(K_A) calls of a function related to BB. If BB is also a point cloud, each call is O(KB)\mathcal{O}(K_B), resulting in O(KAKB)\mathcal{O}(K_AK_B).

Table I. Comparison of differentiable distances proposed in the literature. Here, “Detect Collision” means that the differentiable distance is positive if and only if there is no overlap between the objects, and hh is a smoothing parameter.

In this work, we propose a signed, infinitely differentiable distance-like function between two possibly nonconvex objects. We first introduce the Normal Euclidean Signed Distance Function (NESDF), a potentially nonsmooth function whose sign characterizes separation, contact, and interior overlap. We then apply a smoothing procedure to obtain the hh-NESDF, which is infinitely differentiable with respect to

smoothly parameterized rigid motions. Its sampled approximation is amenable to GPU parallelization. Figure 1 shows an example of the hh-NESDF computed for two LL shapes as one of them rotates, with three different values of hh, one of them being as h→+0h \to+0, that is, the non-differentiable case.

Two objects and distance curves illustrating NESDF and h-NESDF

Figure 1. The proposed NESDF and hh-NESDF distance metrics between two objects A\mathcal{A} and B\mathcal{B} when one of them is rotating. Note that the NESDF has some sharp corners (non-differentiabilities), whereas the hh-NESDF is infinitely differentiable.

Our construction differs from the proposed metric in [16] in several respects, bringing some benefits. One distinction concerns the use of the gradient of the metric in a gradient-ascent procedure for resolving overlap between two objects, useful, for example, in motion planning. In some deeply overlapping configurations, the metric in [16] produces an ascent direction that increases geometric overlap, whereas ours produces the correct behavior. These distinctions are examined in detail throughout the paper.

The contributions of this paper are then:

  1. NESDF, the Normal Euclidean Signed Distance Function, a novel signed distance metric between two general, possibly non-convex sets in Rn\mathbb{R}^{n}. We establish that this metric has the expected behavior of being positive when the two objects do not overlap and negative when they overlap. This metric is also amenable for a smoothification procedure.

  2. hh-NESDF, a smoothed version of NESDF that is infinitely differentiable, with smoothing parameter hh that controls the smoothing. We show that when h→+0h \to+0, NESDF is recovered. This metric can be implemented in an approximated manner using sampled point clouds and normal vectors, and parallelized on a GPU. This metric brings benefits when compared to other comparable approaches, as [16].

  1. We present extensive computational experiments assessing hh-NESDF efficiency and usefulness in motion planning.

For readability, all proofs and auxiliary lemmas are deferred to the Appendix.

Basic Notation

Any vector is a column vector unless stated otherwise. ATA^{\mathsf{T}} represents the transpose of a matrix. For f:Rn↦Rf:\mathbb{R}^{n}\mapsto\mathbb{R}, ∇f\nabla f, the gradient, is a column vector. For a set X\mathcal{X}, ∂X\partial\mathcal{X} represents its boundary, int(X)int(\mathcal{X}) its interior, and X‾\overline{\mathcal{X}} its closure. Sn\mathbb{S}_{n} represents the set of nn-dimensional normalized vectors. X−Y\mathcal{X}-\mathcal{Y} represents the set subtraction (all points in X\mathcal{X} not in Y\mathcal{Y}). Uniform convergence of fh(y)f_h(y) to f(y)f(y) as h→+0h \to+0 in a set Y\mathcal{Y} means that for any δ>0\delta>0, there exists ϵ(δ,Y)\epsilon(\delta,\mathcal{Y}) such that

∣h∣<ϵ⇒sup⁡y∈Y∥fh(y)−f(y)∥<δ.(1)|h|<\epsilon\Rightarrow\sup_{y\in\mathcal{Y}} \lVert f_h(y)-f(y)\rVert<\delta. \tag*{(1)}

Methodology

The Normal Euclidean Signed Distance Function (NESDF)

In this Subsection, we will propose NESDF, the Normal Euclidean Signed Distance Function, a novel signed metric between two nonconvex shapes. It will be used as a starting point for the true goal of this work, which is to define an infinitely differentiable metric between two objects. We start with the following definition.

Definition 1: (Euclidean Signed Distance Function (ESDF) between a point and a set) Let y∈Rny \in\mathbb{R}^{n} and let X\mathcal{X} be a compact subset of Rn\mathbb{R}^{n}. The ESDF DX(y)D_{\mathcal{X}}(y) between yy and X\mathcal{X} is defined as follows [17]:

DX(y)≜{min⁡x∈X∥x−y∥,y∉X,−min⁡x∈∂X∥x−y∥,otherwise.(2)D_{\mathcal{X}}(y) \triangleq\begin{cases} \min_{x\in\mathcal{X}}\lVert x-y\rVert, & y\notin\mathcal{X}, \\ - \min_{x\in\partial\mathcal{X}}\lVert x-y\rVert, & \text{otherwise.} \end{cases} \tag*{(2)}

There is no single standard definition of the ESDF between two sets A\mathcal{A} and B\mathcal{B}. One definition uses penetration depth [18]; alternatively, one can minimize the point-to-set ESDF over the other set and define DA,B=min⁡b∈BDA(b)D_{\mathcal{A},\mathcal{B}}=\min_{b\in\mathcal{B}}D_{\mathcal{A}}(b), as done for point-cloud clearance in [19]. Neither is readily amenable to smoothing. We therefore will introduce NESDF, that is easier to smooth. First, we need some auxiliary definitions.

Definition 2: (Regular Set) In this paper, a set X⊆Rn\mathcal{X}\subseteq\mathbb{R}^{n} is called regular if:

  1. It is compact (i.e., closed and bounded);

  2. Its interior is nonempty and X=int⁡(X)\mathcal{X}=\operatorname{int}(\mathcal{X});

  3. Its boundary is orientable;

  4. The normal vector at the boundary exists almost everywhere (i.e., the set of points at which it does not exist has zero measure in Rn\mathbb{R}^{n}).

  5. Its interior is path connected: any two points x1x_{1} and x2x_{2} in the interior of X\mathcal{X} can be connected by a continuous path in its interior.

Definition 3: (Normal Function) Let X\mathcal{X} be a regular set. For any point x∈Xx\in\mathcal{X} such that the normal vector at the boundary is defined, let nX:∂X↦Sn−1n_{\mathcal{X}}:\partial\mathcal{X}\mapsto\mathbb{S}^{n-1} as the outward-pointing normal.

Definition 4: (Half-Squared ESDF) Let X\mathcal{X} be a regular set. Let dX≜min⁡xDX(x)d_{\mathcal{X}}\triangleq\min_{x}D_{\mathcal{X}}(x) which is finite if X\mathcal{X} is compact. Define EX(y)≜0.5(DX(y)−dX)2−0.5dX2E_{\mathcal{X}}(y)\triangleq0.5(D_{\mathcal{X}}(y)-d_{\mathcal{X}})^{2}-0.5d_{\mathcal{X}}^{2}.

The function EX(y)E_{\mathcal{X}}(y) generalizes the half-squared Euclidean distance function used in the unsigned case, where dX=0d_{\mathcal{X}}=0 (e.g., [8], [9]) to account for signed distances.

We can now define, under some circumstances, the Normal Euclidean Signed Distance Function (NESDF).

Definition 5: (Non-Degenerate Pair and NESDF) We say that a pair of sets (A,B)(\mathcal{A},\mathcal{B}) is a nondegenerate pair if

  1. A\mathcal{A} and B\mathcal{B} are regular sets;

  2. The optimizer

b∗≜arg⁡min⁡b∈∂BEA(b)(3)b^{*}\triangleq\arg\min_{b\in\partial\mathcal{B}}E_{\mathcal{A}}(b) \tag*{(3)}

is unique;

  1. EA(b)E_{\mathcal{A}}(b) is differentiable in a neighborhood of b=b∗b=b^{*};

  2. The normal vector nB(b)n_{\mathcal{B}}(b) is continuous in a neighborhood of b=b∗b=b^{*}

Then, for a nondegenerate pair, define the NESDF as

NA,B≜dA−nB(b∗)⊤∇EA(b∗).(4)N_{\mathcal{A},\mathcal{B}}\triangleq d_{\mathcal{A}}-n_{\mathcal{B}}(b^{*})^{\top}\nabla E_{\mathcal{A}}(b^{*}). \tag*{(4)}

The name reflects the role of the normal vector nBn_{\mathcal{B}}. At this stage, the definition of the NESDF is incomplete, since it is not defined for pairs that are not nondegenerate. This is not a problem: the NESDF was only created to motivate its smoothed version, in which this nondegeneracy hypothesis will no longer be necessary.

We will now show some properties of the NESDF, starting with the most important one.

Proposition 1: Let (A,B)(\mathcal{A},\mathcal{B}) be a nondegenerate pair. Then:

  1. Case 1: When int⁡(A)∩int⁡(B)=∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})=\varnothing and ∂A∩∂B=∅\partial\mathcal{A}\cap\partial\mathcal{B}=\varnothing, NA,B>0N_{\mathcal{A},\mathcal{B}}>0;

  2. Case 2: When int⁡(A)∩int⁡(B)=∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})=\varnothing and ∂A∩∂B≠∅\partial\mathcal{A}\cap\partial\mathcal{B}\ne\varnothing, NA,B=0N_{\mathcal{A},\mathcal{B}}=0;

  3. Case 3: When int⁡(A)∩int⁡(B)≠∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})\ne\varnothing, NA,B<0N_{\mathcal{A},\mathcal{B}}<0.

Thus, the NESDF has the expected sign behavior of a signed distance between two objects. In addition, in one particular case, the NESDF is exactly the ESDF.

Proposition 2. If the formula for NA,BN_{\mathcal{A},\mathcal{B}} is extended to a singleton A={a}\mathcal{A}=\{a\}, then, if ({a},B)(\{a\},\mathcal{B}) is a non-degenerate pair, NA,B=DB(a)N_{\mathcal{A},\mathcal{B}}=D_{\mathcal{B}}(a).

The h-NESDF

In this subsection, we will show how to use the NESDF to obtain a smoothed, infinitely differentiable version of this metric. First, we assume a smoothed version of the ESDF:

Definition 6: (h-ESDF) Let X⊆Rn\mathcal{X}\subseteq\mathbb{R}^{n} be a regular set. Consider a family DXh:Rn→RD_{\mathcal{X}}^{h}:\mathbb{R}^{n}\to\mathbb{R}, parameterized by h>0h>0, and define

dXh≜min⁡y∈RnDXh(y),(5)d_{\mathcal{X}}^{h}\triangleq\min_{y\in\mathbb{R}^{n}}D_{\mathcal{X}}^{h}(y), \tag*{(5)}
EXh(y)≜12(DXh(y)−dXh)2−12(dXh)2.(6)E_{\mathcal{X}}^{h}(y)\triangleq\frac{1}{2}\left(D_{\mathcal{X}}^{h}(y)-d_{\mathcal{X}}^{h}\right)^{2}-\frac{1}{2}\left(d_{\mathcal{X}}^{h}\right)^{2}. \tag*{(6)}

We call this family an hh-ESDF if:

  1. EXhE_{\mathcal{X}}^{h} is infinitely differentiable for any h>0h>0.

  2. dXh→dXd_{\mathcal{X}}^{h}\to d_{\mathcal{X}} when h→0+h\to0^{+};

  3. EXh→EXE_{\mathcal{X}}^{h}\to E_{\mathcal{X}} when h→0+h\to0^{+} uniformly in every compact set;

  4. ∇EXh→∇EX\nabla E_{\mathcal{X}}^{h}\to\nabla E_{\mathcal{X}} as h→0+h\to0^{+}, uniformly on every compact set contained in an open set on which EXE_{\mathcal{X}} is continuously differentiable;

  5. For any Δ>0\Delta>0, e−Δ/h2∇EXh→0e^{-\Delta/h^{2}}\nabla E_{\mathcal{X}}^{h}\to0 when h→0+h\to0^{+} uniformly on every compact set.

The last four properties just guarantee that EXh→EXE_{\mathcal{X}}^{h}\to E_{\mathcal{X}} with sufficient regularity for the convergence result below. See Subsection III-B for examples on how to compute the hh-ESDF. Nevertheless, using DAh(b)D_{\mathcal{A}}^{h}(b), we can define the smoothed version of our NESDF:

Definition 7: (h-NESDF) Consider two regular sets A\mathcal{A}, B\mathcal{B} and a hh-ESDF DAhD_{\mathcal{A}}^{h}. Define a random variable BA,hB_{\mathcal{A},h}, parametrized by the set A\mathcal{A} and h>0h>0, with values in ∂B\partial\mathcal{B} and density

ρA,h(b)=e−EAh(b)/h2∫∂Be−EAh(b)/h2 dS(7)\rho_{\mathcal{A},h}(b)=\frac{e^{-E_{\mathcal{A}}^{h}(b)/h^{2}}}{\int_{\partial\mathcal{B}}e^{-E_{\mathcal{A}}^{h}(b)/h^{2}}\,dS} \tag*{(7)}

(in which EAhE_{\mathcal{A}}^{h} was defined in (6) for b∈∂Bb\in\partial\mathcal{B}, where dSdS is the surface element on ∂B\partial\mathcal{B}. We can then define the hh-NESDF as

Contour curves of the h-NESDF for a nonconvex U-shaped object B and a rounded square object A

Figure 2. Contour curves of the hh-NESDF (h=0.08h = 0.08 m) for a nonconvex U-shaped object B\mathcal{B} and a rounded square object A\mathcal{A} as the center of A\mathcal{A} moves. The black thick contour represents the boundary of B\mathcal{B}, whereas the outer brown contour indicates where the hh-NESDF is zero

NA,Bh≜dAh−E[nB(BA,h)T∇EAh(BA,h)].(8)N_{\mathcal{A},\mathcal{B}}^{h} \triangleq d_{\mathcal{A}}^{h}-\mathbb{E}\left[n_{\mathcal{B}}(B_{\mathcal{A},h})^{\mathsf{T}}\nabla E_{\mathcal{A}}^{h}(B_{\mathcal{A},h})\right]. \tag*{(8)}

Or, more explicitly:

NA,Bh≜dAh−∫∂Be−EAh(β)/h2nB(β)T∇EAh(β)dS∫∂Be−EAh(β)/h2dS.(9)N_{\mathcal{A},\mathcal{B}}^{h} \triangleq d_{\mathcal{A}}^{h}-\frac{\int_{\partial\mathcal{B}}e^{-E_{\mathcal{A}}^{h}(\beta)/h^{2}}n_{\mathcal{B}}(\beta)^{\mathsf{T}}\nabla E_{\mathcal{A}}^{h}(\beta)dS}{\int_{\partial\mathcal{B}}e^{-E_{\mathcal{A}}^{h}(\beta)/h^{2}}dS}. \tag*{(9)}

■

Note that, as opposed to the definition of NESDF, the hh-NESDF does not require that (A,B)(\mathcal{A},\mathcal{B}) is a nondegenerate pair. In addition, note that, since B\mathcal{B} is assumed regular, the set of points bb in which nB(b)n_{\mathcal{B}}(b) is undefined has zero measure in Rn\mathbb{R}^{n}, and thus their choice of values is irrelevant for the value of the integral that defines NA,BhN_{\mathcal{A},\mathcal{B}}^{h}.

Figure 2 shows, in the 2D case, the hh-NESDF between two objects, a rounded square A\mathcal{A} and a U-shaped object B\mathcal{B}. More precisely, it shows the contour curves of the function f:R2↦Rf:\mathbb{R}^{2}\mapsto\mathbb{R} defined by f(s)=NA(s),Bhf(s)=N_{\mathcal{A}(s),\mathcal{B}}^{h}, in which A(s)\mathcal{A}(s) represents the rounded square depicted in Figure 2 with center s∈R2s\in\mathbb{R}^{2}.

As h→0+h\to0^{+}, under some conditions, NA,Bh→NA,BN_{\mathcal{A},\mathcal{B}}^{h}\to N_{\mathcal{A},\mathcal{B}}.

Proposition 3: Let (A,B)(\mathcal{A},\mathcal{B}) be a nondegenerate pair. Then:

lim⁡h→+0NA,Bh=NA,B.(10)\lim_{h\to+0}N_{\mathcal{A},\mathcal{B}}^{h}=N_{\mathcal{A},\mathcal{B}}. \tag*{(10)}

■

Note that the hh-NESDF does not have exactly the same sign properties as the NESDF shown in Proposition 1. Thus, it is not guaranteed to be positive when the objects do not touch or negative when their interiors overlap. However, the hh-NESDF implements an approximate version of this result, approximating the original result as h→+0h\to+0 at the expense of potentially larger derivative magnitudes and sharper transitions. Even though the exact sign property in Proposition 1 does not hold, it is still useful in robotic control and motion planning with the appropriate care, as will be shown.

We will now state results about the differentiability. We will assume that the objects A(t)⊆Rn\mathcal{A}(t)\subseteq\mathbb{R}^{n} and B(t)⊆Rn\mathcal{B}(t)\subseteq\mathbb{R}^{n} move as rigid bodies. Thus, there exists QA(t),QB(t)∈SO(n)Q_{\mathcal{A}}(t),Q_{\mathcal{B}}(t)\in SO(n) and sA(t),sB(t)∈Rns_{\mathcal{A}}(t),s_{\mathcal{B}}(t)\in\mathbb{R}^{n} along with static sets a,βa,\beta such that A(t)=QA(t)a+sA(t)\mathcal{A}(t)=Q_{\mathcal{A}}(t)a+s_{\mathcal{A}}(t) and B(t)=QB(t)β+sB(t)\mathcal{B}(t)=Q_{\mathcal{B}}(t)\beta+s_{\mathcal{B}}(t). Given the hh-ESDF EA(t)h(b)E_{\mathcal{A}(t)}^{h}(b), we use:

DA(t)h(b)=DAh(QA(t)T(b−sA(t))).(11)D_{\mathcal{A}(t)}^{h}(b)=D_{\mathcal{A}}^{h}\left(Q_{\mathcal{A}}(t)^{\mathsf{T}}(b-s_{\mathcal{A}}(t))\right). \tag*{(11)}

This choice guarantees that

dA(t)h=min⁡bDA(t)h(a)=min⁡aDAh(a)=dAh(12)d_{\mathcal{A}(t)}^{h}=\min_{b}D_{\mathcal{A}(t)}^{h}(a)=\min_{a}D_{\mathcal{A}}^{h}(a)=d_{\mathcal{A}}^{h} \tag*{(12)}

is constant, avoiding a possible source of nondifferentiability due to the fact that minimum is not a differentiable operator. Then:

Proposition 4: If QA(t),QB(t)Q_{\mathcal{A}}(t),Q_{\mathcal{B}}(t) and sA(t),sB(t)s_{\mathcal{A}}(t),s_{\mathcal{B}}(t) are kk-times differentiable in tt, so is f(t)=NA(t),B(t)hf(t)=N_{\mathcal{A}(t),\mathcal{B}(t)}^{h}.

Thus, when the motions are infinitely differentiable, so is the distance function.

Implementation

Implementing the h-NESDF in practice

Assuming that we have the hh-ESDF function DAh(b)D_{\mathcal{A}}^{h}(b) (see the next subsection), we sample KK points bkb_k on ∂B\partial\mathcal{B} with respective normals nkn_k, obtaining KK pairs (bk,nk)(b_k,n_k). Since the formula for NA,BhN_{\mathcal{A},\mathcal{B}}^{h} is a weighted average, we replace the integrals by sums, assuming that the points bkb_k are distributed approximately uniformly over the surface:

N_{\mathcal{A},\mathcal{B}}^{h}\approx d_{\mathcal{A}}^{h}-\frac{\sum_{k=1}^{K}e^{-E_{\mathcal{A}}^{h}(b_k)/h^{2}}n_k^{\mathsf{T}\nabla E_{\mathcal{A}}^{h}(b_k)}{\sum_{k=1}^{K}e^{-E_{\mathcal{A}}^{h}(b_k)/h^{2}}}.} \tag*{(13)}

For numerical stability reasons, one should subtract from each EAh(bk)E_{\mathcal{A}}^{h}(b_k) the value δ=min⁡kEAh(bk)\delta=\min_k E_{\mathcal{A}}^{h}(b_k). This does not modify the result theoretically, but in practice help avoiding underflow with the exponentials.

Computing h-ESDF for arbitrary X\mathcal{X}

To obtain an hh-ESDF DXhD_{\mathcal{X}}^{h} for a regular set X\mathcal{X}, we can use the construction in Subsection III-A with A={y}\mathcal{A}=\{y\} and B=X\mathcal{B}=\mathcal{X}. In this case, we can take DAh(b)=DA(b)=12∥b−y∥2D_{\mathcal{A}}^{h}(b)=D_{\mathcal{A}}(b)=\frac{1}{2}\lVert b-y\rVert^{2} for every hh, since EAh(b)=EA(b)=0.5∥b−y∥2E_{\mathcal{A}}^{h}(b)=E_{\mathcal{A}}(b)=0.5\lVert b-y\rVert^{2} is infinitely differentiable. We therefore obtain

DXh(y)=∫∂Xe−∥x−y∥2/(2h2)nX(x)T(y−x)dS∫∂Xe−∥x−y∥2/(2h2)dS.(14)D_{\mathcal{X}}^{h}(y)=\frac{\int_{\partial\mathcal{X}}e^{-\lVert x-y\rVert^{2}/(2h^{2})}n_{\mathcal{X}}(x)^{\mathsf{T}}(y-x)dS}{\int_{\partial\mathcal{X}}e^{-\lVert x-y\rVert^{2}/(2h^{2})}dS}. \tag*{(14)}

This formula can be applied to different representations of X\mathcal{X}. For example, when its boundary is represented by sampled point–normal pairs, we can use the approximation discussed in Subsection III-A. See Figure 3 for an example of the hh-ESDF implemented with this technique. In this case, given a set of points and normals (xk,nk)(x_k,n_k) sampled approximately uniformly on ∂X\partial\mathcal{X}, the formula reduces to

Uniform surface samples, mesh ESDF, and point-cloud h-ESDF signed distance fields

Figure 3. The Utah-Teapot, sampled as points and normals, and the ESDF (computed using the mesh) and hh-ESDF (computed using sampled points and normals) signed distance fields. The thick black outline shows the zero level sets. This was computed with the approach described in Subsection III-B.

DXh(y)≈∑k=1Ke−∥xk−y∥2/(2h2)nkT(y−xk)∑k=1Ke−∥xk−y∥2/(2h2).(15)D_{\mathcal{X}}^{h}(y)\approx\frac{\sum_{k=1}^{K}e^{-\lVert x_k-y\rVert^{2}/(2h^{2})}n_k^{\mathsf{T}}(y-x_k)}{\sum_{k=1}^{K}e^{-\lVert x_k-y\rVert^{2}/(2h^{2})}}. \tag*{(15)}

which is essentially a result that appeared in other papers, as in [14, 16].

Now suppose that X⊂Rn\mathcal{X}\subset\mathbb{R}^{n} is a possibly non-convex polyhedron. Partition its boundary into KK (n−1)(n-1)-dimensional polyhedral pieces Xk\mathcal{X}_k. Each piece lies in a plane nkTx+ck=0\mathbf{n}_k^{\mathsf{T}}\mathbf{x}+c_k=0, where nk\mathbf{n}_k is a unit outward normal. Define

A-shaped solid and slices of the ESDF and h-ESDF

Figure 4. An A-shaped solid and slices of the ESDF and hh-ESDF. The thick black outline shows the zero level sets. This was computed with the approach described in Subsection III-B for polyhedra.

ωkh(y)=∫Xke−∥x−y∥2/(2h2) dS.(16)\omega_k^h(y)=\int_{\mathcal{X}_k}e^{-\lVert x-y\rVert^2/(2h^2)}\,dS. \tag*{(16)}

(14) then becomes

DXh(y)=∑k=1Kωkh(y)(nkTy+ck)∑k=1Kωkh(y).(17)D_\mathcal{X}^h(y)=\frac{\sum_{k=1}^{K}\omega_k^h(y)(\mathbf{n}_k^{\mathsf{T}}y+c_k)}{\sum_{k=1}^{K}\omega_k^h(y)}. \tag*{(17)}

All weights in (17) can underflow when yy is far from the boundary. To alleviate this, we can multiply every weight by the same factor eδ(y)/h2e^{\delta(y)/h^2}, for any function δ(y)\delta(y), similarly as it was done in Subsection III-A. We then obtain

ω~kh(y)=∫Xke(δ(y)−0.5∥x−y∥2)/h2 dS.(18)\widetilde{\omega}_k^h(y)=\int_{\mathcal{X}_k}e^{(\delta(y)-0.5\lVert x-y\rVert^2)/h^2}\,dS. \tag*{(18)}

Since ωkh(y)=e−δ(y)/h2ω~kh(y)\omega_k^h(y)=e^{-\delta(y)/h^2}\widetilde{\omega}_k^h(y), the common factor cancels:

DXh(y)=∑k=1Kω~kh(y)(nkTy+ck)∑k=1Kω~kh(y).(19)D_\mathcal{X}^h(y)=\frac{\sum_{k=1}^{K}\widetilde{\omega}_k^h(y)(\mathbf{n}_k^{\mathsf{T}}y+c_k)}{\sum_{k=1}^{K}\widetilde{\omega}_k^h(y)}. \tag*{(19)}

The ideal δ\delta is δ(y)=0.5D∂X(y)2\delta(y)=0.5D_{\partial\mathcal{X}}(y)^2, but it can be relatively expensive to compute. We can use a relatively inexpensive proxy. Let {vi}\{v_i\} contain the vertices of all the pieces Xk\mathcal{X}_k. Let

δ(y)=0.5min⁡i∥y−vi∥2.(20)\delta(y)=0.5\min_i\lVert y-v_i\rVert^2. \tag*{(20)}

In three dimensions, we can take the pieces Xk\mathcal{X}_k to be triangles. Let S(a,b,c)S(a,b,c) be a canonical 2D triangle with vertices (0,0)(0,0), (a,0)(a,0), and (b,c)(b,c), where a,c>0a,c>0. Let Qk∈SO⁡(3)Q_k\in\operatorname{SO}(3), sk∈R3s_k\in\mathbb{R}^3 be the rigid transformation that maps the 2D canonical triangle, after lifting it to 3D by adding a 0 coordinate, to Xk\mathcal{X}_k.

For z=[z1 z2 z3]Tz=[z_1\ z_2\ z_3]^{\mathsf{T}} and ζ=[ζ1 ζ2]T\zeta=[\zeta_1\ \zeta_2]^{\mathsf{T}}, define

Δ(ζ;z,δ)≜δ−0.5(ζ1−z1)2−0.5(ζ2−z2)2−0.5z32.\Delta(\zeta;z,\delta)\triangleq\delta-0.5(\zeta_1-z_1)^2-0.5(\zeta_2-z_2)^2-0.5z_3^2.
Φh(z;a,b,c,δ)≜∫S(a,b,c)eΔ(ζ;z,δ)/h2 dζ1dζ2.(21)\Phi^h(z;a,b,c,\delta)\triangleq\int_{S(a,b,c)}e^{\Delta(\zeta;z,\delta)/h^2}\,d\zeta_1d\zeta_2. \tag*{(21)}

Then:

ω~kh(y)=Φh(QkT(y−sk);ak,bk,ck,δ(y)).(22)\widetilde{\omega}_k^h(y)=\Phi^h(Q_k^{\mathsf{T}}(y-s_k);a_k,b_k,c_k,\delta(y)). \tag*{(22)}

This function Φh\Phi^h can be approximated using Gauss-Legendre quadrature in 2D after using Duffy Transformation [20] to map the triangular region to a square. The nodes and weights should be selected independent of yy, so the resulting approximation continues infinitely differentiable in yy. Figure 4 shows the result when this polyhedral procedure is implemented for an “A” shaped polyhedra.

Experimental Evaluation and Comparisons

Qualitative Comparison with beker2025smooth

As mentioned in the introduction, [16] also proposes a differentiable distance metric between two general sets. Just like in our proposed approach, they start from a non-differentiable counterpart and then apply a smoothing procedure.

In their case, they start from:

MA,B=min⁡(min⁡a∈∂ADB(a),min⁡b∈∂BDA(b))(23)M_{A,B}=\min\left(\min_{a\in\partial A}D_B(a),\min_{b\in\partial B}D_A(b)\right) \tag*{(23)}

and then smooth it with a parameter hh, obtaining a metric MA,BhM_{A,B}^h. Their procedure to smooth this formula is similar to what is proposed here, and includes a smoothfication of DX(y)D_{\mathcal{X}}(y) into DXh(y)D_{\mathcal{X}}^h(y) that is essentially a slight generalization of (15) (just with a general function Bh(x−y)B_h(x-y) instead of e−∥x−y∥2/(2h2)e^{-\lVert x-y\rVert^2/(2h^2)}). Nevertheless, following the implementation in [16], we will consider, if A\mathcal{A} and B\mathcal{B} has KAK_{\mathcal{A}} and KBK_{\mathcal{B}} points respectively, we will define MA,BhM_{\mathcal{A},\mathcal{B}}^h as

MA,Bh≈∑k=1KAe−DBh(ak)/hDBh(ak)+∑k=1KBe−DAh(bk)/hDAh(bk)∑k=1KAe−DBh(ak)/h+∑k=1KBe−DAh(bk)/h(24)M_{\mathcal{A},\mathcal{B}}^h \approx\frac{\sum_{k=1}^{K_{\mathcal{A}}} e^{-D_{\mathcal{B}}^h(a_k)/h}D_{\mathcal{B}}^h(a_k)+\sum_{k=1}^{K_{\mathcal{B}}}e^{-D_{\mathcal{A}}^h(b_k)/h}D_{\mathcal{A}}^h(b_k)}{\sum_{k=1}^{K_{\mathcal{A}}}e^{-D_{\mathcal{B}}^h(a_k)/h}+\sum_{k=1}^{K_{\mathcal{B}}}e^{-D_{\mathcal{A}}^h(b_k)/h}} \tag*{(24)}

which is comparable with the point-cloud based formula that we propose in (13).

Since both approaches start with a non-differentiable metric and smooth it out, obtaining approximations of their original counterparts, it is fair to begin by comparing their unsmoothed counterparts: NA,BN_{\mathcal{A},\mathcal{B}} and MA,BM_{\mathcal{A},\mathcal{B}}.

Let A\mathcal{A} be a sphere with center q≠0q \ne0 and radius RR, and B\mathcal{B} a sphere with center 00 and radius RR. One can clearly see that DA(b)=∥b−q∥−RD_{\mathcal{A}}(b)=\lVert b-q\rVert-R, DB(a)=∥a∥−RD_{\mathcal{B}}(a)=\lVert a\rVert-R and also that:

min⁡a∈∂ADB(a)=min⁡b∈∂BDA(b)=∣∥q∥−R∣−R(25)\min_{a\in\partial\mathcal{A}}D_{\mathcal{B}}(a)=\min_{b\in\partial\mathcal{B}}D_{\mathcal{A}}(b)=\lvert\lVert q\rVert-R\rvert-R \tag*{(25)}

and thus MA,B=∣∥q∥−R∣−RM_{\mathcal{A},\mathcal{B}}=\lvert\lVert q\rVert-R\rvert-R.

Now, b∗=arg⁡min⁡b∈∂BEA(b)=Rq/∥q∥b^*=\arg\min_{b\in\partial\mathcal{B}}E_{\mathcal{A}}(b)=Rq/\lVert q\rVert. In this case, nB(b∗)=q/∥q∥n_{\mathcal{B}}(b^*)=q/\lVert q\rVert, dA=−Rd_{\mathcal{A}}=-R and ∇EA(b∗)=(b∗−q)=Rq/∥q∥−q\nabla E_{\mathcal{A}}(b^*)=(b^*-q)=Rq/\lVert q\rVert-q. Thus NA,B=−R−(R−∥q∥)=∥q∥−2RN_{\mathcal{A},\mathcal{B}}=-R-(R-\lVert q\rVert)=\lVert q\rVert-2R.

The difference now is clear, MA,B(q)=∣∥q∥−R∣−RM_{\mathcal{A},\mathcal{B}}(q)=\lvert\lVert q\rVert-R\rvert-R and NA,B(q)=∥q∥−2RN_{\mathcal{A},\mathcal{B}}(q)=\lVert q\rVert-2R. If one uses the gradient of these metrics on qq to move qq to make the sphere no longer overlap, NA,BN_{\mathcal{A},\mathcal{B}} gives the proper direction ∇NA,B(q)=q/∥q∥\nabla N_{\mathcal{A},\mathcal{B}}(q)=q/\lVert q\rVert, whereas ∇MA,B(q)=sign⁡(∥q∥−R)q/∥q∥\nabla M_{\mathcal{A},\mathcal{B}}(q)=\operatorname{sign}(\lVert q\rVert-R)q/\lVert q\rVert. Thus, if ∥q∥<R\lVert q\rVert<R, then ∇MA,B(q)=−q/∥q∥\nabla M_{\mathcal{A},\mathcal{B}}(q)=-q/\lVert q\rVert, making the two spheres overlap even more.

Comparison with beker2025smooth: Escape from Overlapping Configurations

The example in the previous subsection shows that the gradient of a signed distance-like function may not always provide a suitable direction for resolving interpenetration. We therefore compare the hh-NESDF with the smooth metric of [16], named hereafter “Beker” in a large-scale rigid-body separation task. Two initially overlapping objects, A\mathcal{A} and B\mathcal{B}, are considered: A\mathcal{A} remains fixed, while B\mathcal{B} can translate and rotate freely in SE(3)SE(3). For each method, the objective ff is its corresponding smoothed metric, NA,BhN_{\mathcal{A},\mathcal{B}}^h or MA,BhM_{\mathcal{A},\mathcal{B}}^h, we maximize the corresponding smoothed function, evaluated at the current relative pose.

Let f(QA,sA,QB,sB)f(Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}}) denote either the proposed hh-NESDF or the smooth metric of [16], expressed as a function of the rigid-body poses. We consider the row vector L[f](QA,sA,QB,sB)∈R1×12L[f](Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}})\in\mathbb{R}^{1\times12}, defined such that

ddtf(QA,sA,QB,sB)=L[f](QA,sA,QB,sB)ξ,(26)\frac{d}{dt}f(Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}})=L[f](Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}})\xi, \tag*{(26)}

where ξ∈R12\xi\in\mathbb{R}^{12} is a column vector given by

ξ=[vATωATvBTωBT]T.(27)\xi=\begin{bmatrix}v_{\mathcal{A}}^{\mathsf{T}}&\omega_{\mathcal{A}}^{\mathsf{T}}&v_{\mathcal{B}}^{\mathsf{T}}&\omega_{\mathcal{B}}^{\mathsf{T}}\end{bmatrix}^{\mathsf{T}}. \tag*{(27)}
Parameterhh-NESDFBeker
Smoothing hh0.10.06
Gain κ\kappa2.00.5
Momentum β\beta0.30.3
Step Δt\Delta t (s)0.20.1
Time limit (s)2020

Table 2. Parameters used in the separation experiments.

Here, ωi\omega_i and viv_i denote, respectively, the angular velocity and the linear velocity vectors of each body, both expressed in world coordinates.

The operator L[f]L[f] plays the role of the gradient ∇f\nabla f if its arguments were Euclidean vectors. The row vector L[f]L[f] can be partitioned as L[f]=[LA[f] LB[f]]L[f]=[L_{\mathcal{A}}[f]\ L_{\mathcal{B}}[f]], corresponding to the two bodies, respectively.

In the separation experiments, A\mathcal{A} remains fixed, while B\mathcal{B} is free to move in SE(3)SE(3). Consequently, ξA=0\xi_{\mathcal{A}}=0 and

f˙=LB[f](QA,sA,QB,sB)ξB.(28)\dot{f}=L_{\mathcal{B}}[f](Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}})\xi_{\mathcal{B}}. \tag*{(28)}

Therefore, at a given configuration (QA,sA,QB,sB)(Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}}) of both objects, LB[f](QA,sA,QB,sB)L_{\mathcal{B}}[f](Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}}) provides the local ascent direction of the selected metric with respect to the six degrees of freedom of B\mathcal{B}.

To perform the separation task, we employ a gradient-ascent, with LB[f]L_{\mathcal{B}}[f] playing the role of the gradient, controlled with Nesterov acceleration [21]. Let S:R6↦se(3)S:\mathbb{R}^6\mapsto\mathfrak{se}(3) be the linear operator such that, for any p∈R3p\in\mathbb{R}^3, q∈Rq\in\mathbb{R}:

S([vω])[pq]=[vq+ω×pq].(29)S\left(\begin{bmatrix}v\\\omega\end{bmatrix}\right)\begin{bmatrix}p\\q\end{bmatrix}=\begin{bmatrix}v q+\omega\times p\\q\end{bmatrix}. \tag*{(29)}

If H[k]H[k] is the pose of object B\mathcal{B} at step kk, given parameters (Δt,β,κ,tmax⁡)(\Delta t,\beta,\kappa,t_{\max}), then the Nesterov update can be written as:

H~=exp⁡(βΔtS(ξ[k]))H[k]ξ[k+1]=βξ[k]+κLB[f](H~)TH[k+1]=exp⁡(ΔtS(ξ[k+1]))H[k](30)\begin{aligned} \widetilde{H}&=\exp\left(\beta\Delta t S(\xi[k])\right)H[k]\\ \xi[k+1]&=\beta\xi[k]+\kappa L_{\mathcal{B}}[f](\widetilde{H})^{\mathsf{T}}\\ H[k+1]&=\exp\left(\Delta t S(\xi[k+1])\right)H[k] \tag*{(30)} \end{aligned}

in which H[0]H[0] starts with the initial pose and ξ[0]\xi[0] as the zero vector. This updates run up until there is a separation (validated through Euclidean distance computation) or kΔt>tmax⁡k\Delta t>t_{\max}.

The parameters selected for each algorithm are shown in Table II, together with the selected smoothing factor hh. The parameters were selected empirically through trial and error, with the aim of maximizing the success rate of each method in achieving geometrically certified separation. Once selected, these parameters were kept unchanged across all configurations. The results can be seen in Table III, in which 40,000 pairs of objects with random initial poses were sampled. The objects were taken from the TetWild dataset [22] and had their surfaces sampled to obtain discrete points that were used in each algorithm. Both algorithms were evaluated on every object pair and initial configuration. The results indicate that hh-NESDF can perform separations more often than the algorithm in “[16]”.

Metrichh-NESDFBeker
Successful separations36,41028,124
Unsuccessful separations3,59011,876
Rate (%)91.0370.31

Table III. Geometrically certified separation results over 40,000 shared initial configurations.

Computational Efficiency

We evaluate the computational efficiency of the hh-NESDF algorithm, approximated as discussed in Subsection III-A, when the hh-ESDF for A\mathcal{A} is computed using a point cloud, as described in Subsection III-B. In this case, assuming A\mathcal{A} and B\mathcal{B} have KAK_{\mathcal{A}} and KBK_{\mathcal{B}} points, respectively, the computational complexity of the algorithm is of order O(KAKB)\mathcal{O}(K_{\mathcal{A}}K_{\mathcal{B}}), since the hh-NESDF makes KBK_{\mathcal{B}} calls to the hh-ESDF of A\mathcal{A}, which in turn has a complexity of O(KA)\mathcal{O}(K_{\mathcal{A}}). In comparison, as mentioned in Subsection IV-A, [16] uses a similar implementation whose computational complexity, when applied to point clouds, is also O(KAKB)\mathcal{O}(K_{\mathcal{A}}K_{\mathcal{B}}).

The hh-NESDF code was implemented in PyTorch using FP32 precision on an NVIDIA T4 GPU. The shapes were chosen randomly: because the algorithm is explicit rather than iterative, the computational time depends primarily on the number of points in each shape, apart from minor random fluctuations.

We tested 6,000 pairs with KA=KBK_{\mathcal{A}}=K_{\mathcal{B}} ranging from 100 to 2,000. For each pair, we computed NA,BhN_{\mathcal{A},\mathcal{B}}^{h} as well as its gradient with respect to the poses of both objects. More precisely, let NA,Bh(QA,sA,QB,sB)N_{\mathcal{A},\mathcal{B}}^{h}(Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}}) denote the hh-NESDF as a function of the object poses (QA,sA)(Q_{\mathcal{A}},s_{\mathcal{A}}) and (QB,sB)(Q_{\mathcal{B}},s_{\mathcal{B}}). We compute the SE(3) gradient-like quantity L[NA,Bh](QA,sA,QB,sB)L[N_{\mathcal{A},\mathcal{B}}^{h}](Q_{\mathcal{A}},s_{\mathcal{A}},Q_{\mathcal{B}},s_{\mathcal{B}}) as in (26). This gradient was computed using PyTorch’s automatic differentiation. We then aggregated the execution times based on the product KAKBK_{\mathcal{A}}K_{\mathcal{B}}. Figure 5 presents the results in milliseconds per distance computation, showing the median (second quartile) alongside the third quartile.

Computational time for distance evaluation and pose gradient

Figure 5. Computational time for the hh-NESDF and the additional time required to compute its pose gradient.

The GPU implementation also supports batching to compute distances for multiple pairs in parallel. To avoid out-of-memory errors, the batch size kpk_p was determined empirically as kp=round⁡(4×107/(KAKB))k_p=\operatorname{round}(4\times10^7/(K_{\mathcal{A}}K_{\mathcal{B}})).

Motion Planning Application

To evaluate the applicability of the hh-NESDF to motion planning, we constructed a synthetic underwater environment represented by an oriented point cloud, as shown in Figure 7. We consider a fully actuated underwater vehicle with independent control of its three translational and three rotational degrees of freedom, such as the BlueROV2 in its Heavy configuration (Figure 6) [23]. For geometric planning, the vehicle is modeled as a rigid body with a box-shaped approximation of its geometry.

The BlueROV2 in its Heavy configuration

Figure 6. The BlueROV2 in its Heavy configuration. Its eight-thruster arrangement provides actuation in all six degrees of freedom [23].

Given initial and goal poses Hstart,Hgoal∈SE(3)H_{\mathrm{start}},H_{\mathrm{goal}}\in\mathrm{SE}(3), the motion-planning problem is to find a continuous path H:[0,1]→SE(3)H:[0,1]\to\mathrm{SE}(3) connecting these poses while avoiding collisions with the environment. We use a CHOMP-inspired trajectory optimization scheme [10]. The path is discretized into TT segments, with T+1T+1 poses H[0],…,H[T]H[0],\ldots,H[T]. The endpoints are fixed at H[0]=HstartH[0]=H_{\mathrm{start}} and H[T]=HgoalH[T]=H_{\mathrm{goal}}, and the intermediate poses H[1],…,H[T−1]∈SE(3)H[1],\ldots,H[T-1]\in\mathrm{SE}(3) are optimized by maximizing f(H[1],…,H[T−1])f(H[1],\ldots,H[T-1]), defined by

f=−∑k=0T−1Δ(H[k],H[k+1])−Cweighthln⁡(∑k=0Te−Nh(H[k])/h).(31)f=-\sum_{k=0}^{T-1}\Delta\left(H[k],H[k+1]\right) -C_{\mathrm{weight}}h\ln\left(\sum_{k=0}^{T}e^{-N_h(H[k])/h}\right). \tag*{(31)}

Here, Nh(H)N_h(H) denotes the hh-NESDF between the box A\mathcal{A} representing the vehicle at pose HH and the environment B\mathcal{B}, represented by its oriented point cloud. The second term rewards a log-sum-exp approximation of the minimum clearance along the discretized path, with smoothing parameter h>0h>0 and weight Cweight>0C_{\mathrm{weight}}>0.

The first term penalizes excessive separation between consecutive poses. For poses H=(Q,s)H=(Q,s) and H′=(Q′,s′)H'=(Q',s'), define the weighted pose distance

dpose(H,H′)2=∥s′−s∥22+Cfactor∥Q′−Q∥F2,(32)d_{\mathrm{pose}}(H,H')^2=\lVert s'-s\rVert_2^2+C_{\mathrm{factor}}\lVert Q'-Q\rVert_F^2, \tag*{(32)}

where s,s′∈R3s,s'\in\mathbb{R}^3, Q,Q′∈SO(3)Q,Q'\in\mathrm{SO}(3), and Cfactor>0C_{\mathrm{factor}}>0 balances the translational and rotational contributions. We use the barrier penalty Δ:SE(3)×SE(3)→R∪{+∞}\Delta:\mathrm{SE}(3)\times\mathrm{SE}(3)\to\mathbb{R}\cup\{+\infty\}, defined, with r=dpose(H,H′)r=d_{\mathrm{pose}}(H,H'), by

Δ(H,H′)={−ln⁡(1−r2Cthreshold2),r<Cthreshold,+∞,otherwise.(33)\Delta(H,H')= \begin{cases} -\ln\left(1-\dfrac{r^2}{C_{\mathrm{threshold}}^2}\right), & r<C_{\mathrm{threshold}},\\ +\infty, & \text{otherwise}. \end{cases} \tag*{(33)}

Thus, consecutive poses must satisfy the strict spacing bound dpose(H[k],H[k+1])<Cthresholdd_{\mathrm{pose}}(H[k],H[k+1])<C_{\mathrm{threshold}}.

The smooth box field DAh(b)D_{\mathcal{A}}^h(b) is constructed from the exact signed Euclidean distance to a box. Let Q,sQ,s represent the current pose of the box A\mathcal{A}. Let ℓ=[ℓx ℓy ℓz]T/2\ell=[\ell_x\ \ell_y\ \ell_z]^{\mathsf{T}}/2 be its half-length vector and define u=QT(b−s)u=Q^{\mathsf{T}}(b-s) and v=∣u∣−ℓv=\lvert u\rvert-\ell.

Synthetic underwater environment containing rocks, boxes, and vertical pipes, represented by an oriented point cloud

Figure 7. Synthetic underwater environment containing rocks, boxes, and vertical pipes, represented by an oriented point cloud with 54,570 points.

ParameterValue
hh0.1
TT30
CweightC_{\mathrm{weight}}25
CfactorC_{\mathrm{factor}}1
CthresholdC_{\mathrm{threshold}}0.6
Momentum β\beta0.95
Step size Δt\Delta t0.2
κ\kappa0.5

Table 4. Parameters used in the motion-planning experiments.

The exact distance is

DA(b)=∥max⁡(v,0)∥2+min⁡{max⁡ivi,0},(34)D_A(b) = \left\lVert\max(v,0) \right\rVert_2 + \min\left\{ \max_i v_i, 0 \right\}, \tag*{(34)}

where the absolute value and max⁡(v,0)\max(v,0) are applied componentwise. We replace maxima and minima by their log-sum-exp approximations with smoothing parameter hh, expressing ∣ui∣\lvert u_i\rvert as max⁡{ui,−ui}\max\{u_i,-u_i\}. We also regularize the outer norm as ∥⋅∥22+ϵh2\sqrt{\lVert\cdot\rVert_2^2+\epsilon_h^2}, with ϵh=h2/∥ℓ∥2\epsilon_h = h^2/\lVert\ell\rVert_2. These substitutions yield a hh-ESDF EAh(b)E_A^h(b) for the query point bb and box pose for every h>0h>0.

Optimization proceeds by gradient ascent on ff, using the Lie-group differential L[f]L[f] introduced in Subsection IV-B, evaluated with respect to each free pose H[k]H[k]. The poses are updated using the Nesterov scheme in (30), while the endpoints remain fixed and updates are restricted to the feasible domain of the spacing barrier.

We performed 200 motion-planning trials with randomly sampled pairs of initial and goal poses. Both endpoints were required to be collision-free and sufficiently far apart. In addition, the interpolated initial path was required to intersect the environment, ensuring that each trial required a modification of the initial path to achieve collision avoidance, and thus was not trivial. The initial path was generated by linear interpolation of the translation and shortest-arc quaternion spherical linear interpolation (SLERP) of the rotation [24]. Table IV lists the parameters used in these experiments.

The algorithm was implemented in a NVIDIA T4 GPU using batch calculation for the distance between the object at the T+1T+1 poses H[k]H[k] and the point cloud environment. Figure 8 shows an example of result obtaind from this algorithm, in four different views. The yellow box is the starting pose, the magenta box the final pose, and the red trail the optimized trajectory.

Example of a motion planning performed by the CHOMP-like algorithm

Figure 8. Example of a motion planning performed by the CHOMP-like algorithm.

In the final result, 34% of the 200 tests returned success, with an average computational time of 0.7s.

Conclusion

In this paper, we introduced the hh-NESDF, a signed and infinitely differentiable distance function between two sets satisfying the stated geometric assumptions. We established theoretical properties, provided guidelines for its approximate implementation, and evaluated its computational efficiency and applicability in robotic, especially motion planning, through numerical experiments. Future work will focus on the following directions:

  1. The hh-NESDF does not guarantee positivity if and only if the two objects are disjoint, although this property is desirable in many applications. Reference [13] introduced an almost everywhere smooth approximation of the minimum operator, denoted by min⁡[h]\min[h], that preserves the sign of the exact minimum, that is, sign⁡(min⁡[h]∣xi∣)=sign⁡(min⁡ixi)\operatorname{sign}(\min[h]{\lvert x_i\rvert}) = \operatorname{sign}(\min_i x_i). Such an operator may provide a useful ingredient for developing a formulation with exact collision-detection guarantees or, at least, like in [13], one that can be controlled independently of the smoothing parameter hh at the

expense of computational time. Its potential integration into the hh-NESDF framework will be investigated in future work.

  1. Direct evaluation of the point-cloud approximation has computational complexity O(KAKB)O(K_AK_B). This cost can become prohibitive for dense point clouds and applications requiring low-latency distance queries, even when GPUs and batching are used. However, the exponential weighting suggests opportunities for acceleration. Indeed, if bkb_k are the points sampled from object BB and d~=min⁡kEAh(bk)\tilde{d} = \min_k E_A^h(b_k), if (EAh(bk)−d~)/(h2)(E_A^h(b_k)-\tilde{d})/(h^2) is sufficiently large, this point bkb_k influence very little in the final calculation. A similar observation applies to the evaluation of EAh(bk)E_A^h(b_k) itself. These observations motivate investigating spatial data structures, such as k-d trees, to identify and omit negligible contributions without evaluating every point pair. Developing an efficient GPU implementation requires careful management of memory access and thread divergence, together with control of the accumulated approximation error and preservation of smoothness.

Appendix

Lemma 1: Let (A,B)(\mathcal{A},\mathcal{B}) be a nondegenerate pair. Then there is a scalar λ\lambda such that

∇EA(b∗)=λnB(b∗).(35)\nabla E_A(b^*) = \lambda n_B(b^*). \tag*{(35)}

Furthermore, ∣λ∣=DA(b∗)−dA|\lambda| = D_A(b^*) - d_A.

Proof: Consider the Karush–Kuhn–Tucker (KKT) conditions for the optimization problem defining b∗b^*:

min⁡bEA(b) such that DB(b)=0.(36)\min_{b} E_A(b)\ \text{such that}\ D_B(b)=0. \tag*{(36)}

Since nB(b)=∇DB(b)n_B(b)=\nabla D_B(b) when b∈∂Bb\in\partial B, the KKT stationarity condition tells us that there is a λ∈R\lambda\in\mathbb{R} such that ∇EA(b∗)=λnB(b∗)\nabla E_A(b^*)=\lambda n_B(b^*).

Now, note that ∇EA(b)=(DA(b)−dA)∇DA(b)\nabla E_A(b)=(D_A(b)-d_A)\nabla D_A(b). Since DA(b)D_A(b) is a signed distance, whenever ∇DA(b)\nabla D_A(b) exists, ∥∇DA(b)∥=1\lVert\nabla D_A(b)\rVert=1 (the Eikonal equation [17]). Thus, if ∇DA(b∗)\nabla D_A(b^*) exists,

∥∇EA(b∗)∥=DA(b∗)−dA(37)\lVert\nabla E_A(b^*)\rVert= D_A(b^*)-d_A \tag*{(37)}

where we used the fact that DA(b)−dA≥0D_A(b)-d_A\ge0 for all bb. Finally, taking norms on both sides of ∇EA(b∗)=λnB(b∗)\nabla E_A(b^*)=\lambda n_B(b^*) and using ∥nB(b∗)∥=1\lVert n_B(b^*)\rVert=1 gives the desired result. ■

Lemma 2: Let (A,B)(\mathcal{A},\mathcal{B}) be a nondegenerate pair. Then:

  1. Case 1: If int⁡(A)∩int⁡(B)=∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})=\varnothing, then NA,B=DA(b∗)N_{\mathcal{A},\mathcal{B}}=D_A(b^*).

  1. Case 2: If A⊆B\mathcal{A}\subseteq\mathcal{B}, then NA,B=2dA−DA(b∗)N_{\mathcal{A},\mathcal{B}}=2d_A-D_A(b^*).

Proof: In Case 1, we claim that we can replace the constraint DB(b)=0D_B(b)=0 by DB(b)≤0D_B(b)\le0 without changing the minimizer. Suppose, for a contradiction, that a minimizer b∗b^* of the relaxed problem satisfies DB(b∗)<0D_B(b^*)<0, that is, b∗∈int⁡(B)b^*\in\operatorname{int}(\mathcal{B}). Since the constraint is inactive, b∗b^* must also be a local minimum of the objective function EA(b)E_A(b). But int⁡(A)∩int⁡(B)=∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})=\varnothing, so b∗∉int⁡(A)b^*\notin\operatorname{int}(\mathcal{A}). This is impossible: for a regular set, neither the signed distance nor EAE_A has a local minimum outside its interior. Hence, the relaxed minimizer lies on ∂B\partial B and coincides with the original b∗b^* by uniqueness. Dual feasibility in the KKT conditions then implies that the Lagrange multiplier λ\lambda is nonpositive. Together with Lemma 1, this gives ∇EA(b∗)=−(DA(b∗)−dA)nB(b∗)\nabla E_A(b^*)=-(D_A(b^*)-d_A)n_B(b^*). Substituting this into the definition of NA,BN_{\mathcal{A},\mathcal{B}} gives the desired result.

Case 2 is similar, but now we replace the constraint DB(b)=0D_B(b)=0 by DB(b)≥0D_B(b)\ge0. Suppose, for a contradiction, that a minimizer b∗b^* of the relaxed problem satisfies DB(b∗)>0D_B(b^*)>0, that is, b∗∉Bb^*\notin\mathcal{B}. Since the constraint is inactive, b∗b^* must be a local minimum of EA(b)E_A(b). This is impossible: A⊆B\mathcal{A}\subseteq\mathcal{B} implies that b∗∉Ab^*\notin\mathcal{A}, whereas EAE_A has no local minimum outside A\mathcal{A}. Hence, the relaxed minimizer lies on ∂B\partial B and coincides with the original b∗b^* by uniqueness. Dual feasibility in the KKT conditions then implies that λ\lambda is nonnegative. Together with Lemma 1, this gives ∇EA(b∗)=(DA(b∗)−dA)nB(b∗)\nabla E_A(b^*)=(D_A(b^*)-d_A)n_B(b^*). Substituting this into the definition of NA,BN_{\mathcal{A},\mathcal{B}} gives the desired result. ■

Proof of Proposition 1: For Cases 1 and 2, apply Case 1 of Lemma 2 to obtain NA,B=DA(b∗)N_{\mathcal{A},\mathcal{B}}=D_A(b^*). If ∂A∩∂B=∅\partial A\cap\partial B=\varnothing, then DA(b∗)>0D_A(b^*)>0; if ∂A∩∂B≠∅\partial A\cap\partial B\ne\varnothing, then DA(b∗)=0D_A(b^*)=0.

Case 3 requires two subcases. In addition to int⁡(A)∩int⁡(B)≠∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(\mathcal{B})\ne\varnothing, either Case 3.1 int⁡(A)∩∂B≠∅\operatorname{int}(\mathcal{A})\cap\partial B\ne\varnothing or Case 3.2 int⁡(A)∩∂B=∅\operatorname{int}(\mathcal{A})\cap\partial B=\varnothing holds.

In Case 3.1, note that DA(b∗)<0D_A(b^*)<0. But

NA,B≤dA+∣nB(b∗)T∇EA(b∗)∣≤dA+∥nB(b∗)∥∥∇EA(b∗)∥=dA+(DA(b∗)−dA)=DA(b∗)(38)\begin{aligned} N_{\mathcal{A},\mathcal{B}} &\le d_A+\lvert n_B(b^*)^\mathsf{T}\nabla E_A(b^*)\rvert\\ &\le d_A+\lVert n_B(b^*)\rVert\lVert\nabla E_A(b^*)\rVert\\ &=d_A+(D_A(b^*)-d_A)=D_A(b^*) \tag*{(38)} \end{aligned}

and so NA,B<0N_{\mathcal{A},\mathcal{B}}<0. It remains to establish Case 3.2, where int⁡(A)∩∂B=∅\operatorname{int}(\mathcal{A})\cap\partial B=\varnothing. Since int⁡(A)\operatorname{int}(\mathcal{A}) is path connected and A=int⁡(A)‾\mathcal{A}=\overline{\operatorname{int}(\mathcal{A})}, the conditions int⁡(A)∩∂B=∅\operatorname{int}(\mathcal{A})\cap\partial B=\varnothing and int⁡(A)∩int⁡(B)≠∅\operatorname{int}(\mathcal{A})\cap\operatorname{int}(B)\ne\varnothing imply A⊆B\mathcal{A}\subseteq B. We can therefore apply Case 2 of Lemma 2: NA,B=2dA−DA(b∗)N_{\mathcal{A},\mathcal{B}}=2d_A-D_A(b^*). This is negative because dA<0d_A<0 and DA(b)≥dA>2dAD_A(b)\ge d_A>2d_A for all bb. ■

Proof of Proposition 2: In this case, dA=0d_A=0, EA(b)=0.5∥b−a∥2E_A(b)=0.5\lVert b-a\rVert^2, and thus

b∗=arg⁡min⁡b∈∂B ∥b−a∥,NA,B=nB(b∗)T(a−b∗)(39)b^*=\underset{b\in\partial B}{\arg\min}\ \lVert b-a\rVert,\quad N_{\mathcal{A},\mathcal{B}}=n_B(b^*)^\mathsf{T}(a-b^*) \tag*{(39)}

For a smooth boundary and a unique closest point, this is the ESDF between the point aa and the set B\mathcal{B} [25]. ■

Lemma 3: On any compact set U⊆∂B\mathcal{U}\subseteq\partial B, define the measure:

μh(U)≜∫UρA,h(b) dS(40)\mu_h(\mathcal{U})\triangleq\int_{\mathcal{U}}\rho_{A,h}(b)\,dS \tag*{(40)}

in which ρA,h\rho_{A,h} is the density defined in (7). If (A,B)(\mathcal{A},\mathcal{B}) is a non-degenerate pair, for any open set N⊆∂B\mathcal{N}\subseteq\partial B that contains b∗b^* (as defined in (3)), there exist positive constants ΔN\Delta_{\mathcal{N}} and CNC_{\mathcal{N}} such that, for hh sufficiently small:

μh(∂B−N)≤CNe−ΔN/(2h2).(41)\mu_h(\partial B-\mathcal{N})\le C_{\mathcal{N}}e^{-\Delta_{\mathcal{N}}/(2h^2)}. \tag*{(41)}

Proof: Define, for any open set N\mathcal{N}:

ΔN≜min⁡b∈∂B−NEA(b)−EA(b∗).(42)\Delta_{\mathcal{N}}\triangleq\min_{b\in\partial B-\mathcal{N}} E_A(b)-E_A(b^*). \tag*{(42)}

Note that if b∗∈Nb^{*} \in\mathcal{N} then necessarily ΔN>0\Delta_{\mathcal{N}} > 0. This comes from the fact that b∗b^{*} minimizes EA(b)E_{\mathcal{A}}(b) over ∂B\partial B and it is the unique minimizer (this comes from the fact that the pair (A,B)(\mathcal{A},\mathcal{B}) is nondegenerate).

Define σ(U)=∫UdS\sigma(U)=\int_U dS. Now, still considering an open N⊂∂B\mathcal{N}\subset\partial B such that b∗∈Nb^{*}\in\mathcal{N}, pick the set M\mathcal{M} with maximum σ(M)\sigma(\mathcal{M}) such that M⊂N\mathcal{M}\subset\mathcal{N} and that it is small enough so:

EA(b)≤EA(b∗)+ΔN4∀b∈M(43)E_{\mathcal{A}}(b)\leq E_{\mathcal{A}}(b^{*})+\frac{\Delta_{\mathcal{N}}}{4}\quad\forall b\in\mathcal{M} \tag*{(43)}

the existence of which comes from the continuity of EA(b)E_{\mathcal{A}}(b) in a neighborhood of b∗b^{*} (the ESDF is always continuous everywhere), that ΔN>0\Delta_{\mathcal{N}}>0 and that b∗b^{*} minimizes EAE_{\mathcal{A}} in ∂B\partial B. Thus, due to (42):

EA(b)≥EA(b∗)+ΔN∀b∈∂B−N(44)E_{\mathcal{A}}(b)\geq E_{\mathcal{A}}(b^{*})+\Delta_{\mathcal{N}}\quad\forall b\in\partial B-\mathcal{N} \tag*{(44)}

Now, choose hh sufficiently small so that

max⁡b∈∂B∣EA(b)−EAh(b)∣≤ΔN8(45)\max_{b\in\partial B}|E_{\mathcal{A}}(b)-E_{\mathcal{A}}^{h}(b)|\leq\frac{\Delta_{\mathcal{N}}}{8} \tag*{(45)}

which is possible because ΔN>0\Delta_{\mathcal{N}}>0 and the third property in Definition 6. Now, note that:

I1=∫∂B−Ne−EAh(b)/h2dS=∫∂B−Ne−EA(b)/h2e−(EAh(b)−EA(b))/h2dS≤e−(EA(b∗)+ΔN)/h2∫∂B−Ne−(EAh(b)−EA(b))/h2dS≤e−(EA(b∗)+ΔN)/h2eΔN/(8h2)∫∂B−MdS≤e−(EA(b∗)+(7/8)ΔN)/h2σ(∂B).(46)\begin{aligned} I_{1} &=\int_{\partial B-\mathcal{N}}e^{-E_{\mathcal{A}}^{h}(b)/h^{2}}dS\\ &=\int_{\partial B-\mathcal{N}}e^{-E_{\mathcal{A}}(b)/h^{2}}e^{-(E_{\mathcal{A}}^{h}(b)-E_{\mathcal{A}}(b))/h^{2}}dS\\ &\leq e^{-(E_{\mathcal{A}}(b^{*})+\Delta_{\mathcal{N}})/h^{2}}\int_{\partial B-\mathcal{N}}e^{-(E_{\mathcal{A}}^{h}(b)-E_{\mathcal{A}}(b))/h^{2}}dS\\ &\leq e^{-(E_{\mathcal{A}}(b^{*})+\Delta_{\mathcal{N}})/h^{2}}e^{\Delta_{\mathcal{N}}/(8h^{2})}\int_{\partial B-\mathcal{M}}dS\\ &\leq e^{-(E_{\mathcal{A}}(b^{*})+(7/8)\Delta_{\mathcal{N}})/h^{2}}\sigma(\partial B). \tag*{(46)} \end{aligned}

And note that:

I2=∫Me−EAh(b)/h2dS=∫Me−EA(b)/h2e−(EAh(b)−EA(b))/h2dS≥e−(EA(b∗)+(1/4)ΔN)/h2∫Me−(EAh(b)−EA(b))/h2dS≥e−(EA(b∗)+(1/4)ΔN)/h2e−ΔN/(8h2)∫MdS=e−(EA(b∗)+(3/8)ΔN)/h2σ(M).(47)\begin{aligned} I_{2} &=\int_{\mathcal{M}}e^{-E_{\mathcal{A}}^{h}(b)/h^{2}}dS\\ &=\int_{\mathcal{M}}e^{-E_{\mathcal{A}}(b)/h^{2}}e^{-(E_{\mathcal{A}}^{h}(b)-E_{\mathcal{A}}(b))/h^{2}}dS\\ &\geq e^{-(E_{\mathcal{A}}(b^{*})+(1/4)\Delta_{\mathcal{N}})/h^{2}}\int_{\mathcal{M}}e^{-(E_{\mathcal{A}}^{h}(b)-E_{\mathcal{A}}(b))/h^{2}}dS\\ &\geq e^{-(E_{\mathcal{A}}(b^{*})+(1/4)\Delta_{\mathcal{N}})/h^{2}}e^{-\Delta_{\mathcal{N}}/(8h^{2})}\int_{\mathcal{M}}dS\\ &=e^{-(E_{\mathcal{A}}(b^{*})+(3/8)\Delta_{\mathcal{N}})/h^{2}}\sigma(\mathcal{M}). \tag*{(47)} \end{aligned}

Let I3=∫∂Be−EAh(b)/h2dSI_{3}=\int_{\partial B}e^{-E_{\mathcal{A}}^{h}(b)/h^{2}}dS. Note that I3≥I1+I2I_{3}\geq I_{1}+I_{2} since M⊂N\mathcal{M}\subset\mathcal{N}. Thus, note that μh(∂B−N)=I1/I3≤I1/(I1+I2)≤I1/I2\mu_{h}(\partial B-\mathcal{N})=I_{1}/I_{3}\leq I_{1}/(I_{1}+I_{2})\leq I_{1}/I_{2} since I2≥0I_{2}\geq0. Using the two inequalities for I1I_{1} and I2I_{2} we obtain the desired result with CN≜σ(∂B)/σ(M)C_{\mathcal{N}}\triangleq\sigma(\partial B)/\sigma(\mathcal{M}).

■

Proof of Proposition 3:

Let gh(β)=nB(b)⊤∇EAh(b)g_{h}(\beta)=n_{B}(b)^{\top}\nabla E_{\mathcal{A}}^{h}(b) and g∗=nB(b∗)⊤∇EA(b∗)g^{*}=n_{B}(b^{*})^{\top}\nabla E_{\mathcal{A}}(b^{*}). Let N⊂∂B\mathcal{N}\subset\partial B be an open subset containing b∗b^{*} in which nB(b)n_{B}(b) is continuous (guaranteed to exist by the non-degeneracy conditions). Set Δgh(b)=gh(b)−g∗\Delta g_{h}(b)=g_{h}(b)-g^{*}.

Note that, using the triangle inequality and the fact that ρA,h\rho_{\mathcal{A},h} is a density and thus integrates to one:

∣NA,Bh−NA,B∣≤∣∫∂BρA,h(β)gh(β)dS−g∗∣+∣dAh−dA∣=∣∫∂BρA,h(β)Δgh(β)dS∣+∣dAh−dA∣.(48)\begin{aligned} |N_{\mathcal{A},B}^{h}-N_{\mathcal{A},B}| &\leq\left|\int_{\partial B}\rho_{\mathcal{A},h}(\beta)g_{h}(\beta)dS-g^{*}\right|+|d_{\mathcal{A}}^{h}-d_{\mathcal{A}}|\\ &=\left|\int_{\partial B}\rho_{\mathcal{A},h}(\beta)\Delta g_{h}(\beta)dS\right|+|d_{\mathcal{A}}^{h}-d_{\mathcal{A}}|. \tag*{(48)} \end{aligned}

We will analyze the integral first. Let Mh=max⁡b∈∂B∥∇EAh(b)∥M_{h}=\max_{b\in\partial B}\|\nabla E_{\mathcal{A}}^{h}(b)\|. In ∂B−N\partial B-\mathcal{N}, we can provide the bound ∥Δgh(b)∥≤Mh+∣g∗∣\|\Delta g_{h}(b)\|\leq M_{h}+|g^{*}|.

In N\mathcal{N}, we can use the fourth property in Definition 6 (uniform convergence of the gradient of EAh(b)E_{\mathcal{A}}^{h}(b)) and assure that for every η>0\eta>0 that we choose, there exists a hh small enough such that:

sup⁡b∈N∣Δgh(b)∣≤η.(49)\sup_{b\in\mathcal{N}}|\Delta g_{h}(b)|\leq\eta. \tag*{(49)}

Pick hh small enough so Lemma 3 and (49) holds for the chosen set N\mathcal{N}. Thus, using the triangle inequality and the definition of μh\mu_{h} in (40):

∣∫∂BρA,h(β)gh(β)dS−g∗∣≤∣∫∂B−NρA,h(β)Δgh(β)dS∣+∣∫NρA,h(β)Δgh(β)dS∣≤ημh(N)+(Mh+∣g∗∣)μh(∂B−N)≤ημh(N)+(Mh+∣g∗∣)CNe−ΔN/(2h2).(50)\begin{aligned} \left|\int_{\partial B}\rho_{\mathcal{A},h}(\beta)g_{h}(\beta)dS-g^{*}\right| &\leq\left|\int_{\partial B-\mathcal{N}}\rho_{\mathcal{A},h}(\beta)\Delta g_{h}(\beta)dS\right| +\left|\int_{\mathcal{N}}\rho_{\mathcal{A},h}(\beta)\Delta g_{h}(\beta)dS\right|\\ &\leq\eta\mu_{h}(\mathcal{N})+(M_{h}+|g^{*}|)\mu_{h}(\partial B-\mathcal{N})\\ &\leq\eta\mu_{h}(\mathcal{N})+(M_{h}+|g^{*}|)C_{\mathcal{N}}e^{-\Delta_{\mathcal{N}}/(2h^{2})}. \tag*{(50)} \end{aligned}

The upper bound of the error can go to 0 when h→+0h\to+0. This is because η\eta can be made arbitrarily small, μh(N)≤μh(∂B)=1\mu_{h}(\mathcal{N})\leq\mu_{h}(\partial B)=1, and the fifth property in Definition 6 guarantees that Mhe−ΔN/(2h2)→0M_{h}e^{-\Delta_{\mathcal{N}}/(2h^{2})}\to0. Finally, the second property in Definition 6 guarantees that ∣dAh−dA∣|d_{\mathcal{A}}^{h}-d_{\mathcal{A}}| as h→+0h\to+0. And the proof is complete.

■

Proof of Proposition 4: Note the f(t)f(t) can be written as dAh−fnum(t)/fden(t)d_{\mathcal{A}}^{h}-f_{\mathrm{num}}(t)/f_{\mathrm{den}}(t), in which fden(t)>0f_{\mathrm{den}}(t)>0 for all tt. Thus, differentiability follows if the differentiability of fnum(t)f_{\mathrm{num}}(t) and fden(t)f_{\mathrm{den}}(t) are established.

We will prove for fnum(t)f_{\mathrm{num}}(t). The proof for the other follows similarly. The major step is to rewrite the integral using the formulas for the rigid motion.

Now, define TA−1(y,t)=QA(t)⊤(y−sA(t))T_{\mathcal{A}}^{-1}(y,t)=Q_{\mathcal{A}}(t)^{\top}(y-s_{\mathcal{A}}(t)), TB(y,t)=QB(t)y+sB(t)T_{\mathcal{B}}(y,t)=Q_{\mathcal{B}}(t)y+s_{\mathcal{B}}(t) and TAB(β,t)=TA−1(TB(β′,t),t)T_{\mathcal{A}}^{B}(\beta,t)=T_{\mathcal{A}}^{-1}(T_{\mathcal{B}}(\beta',t),t). Let F(β′,t)F(\beta',t) be defined as

e−EAh(TAB(β′,t))/h2nB(β′)⊤QB(t)⊤QA(t)∇EAh(TAB(β′,t)).(51)e^{-E_{\mathcal{A}}^{h}(T_{\mathcal{A}}^{B}(\beta',t))/h^{2}}n_{B}(\beta')^{\top}Q_{\mathcal{B}}(t)^{\top}Q_{\mathcal{A}}(t)\nabla E_{\mathcal{A}}^{h}(T_{\mathcal{A}}^{B}(\beta',t)). \tag*{(51)}

Using (11) and the change of variable β=TB(β′,t)\beta=T_{\mathcal{B}}(\beta',t), we can write

fnum(t)=∫∂bF(β′,t)dS.(52)f_{\mathrm{num}}(t)=\int_{\partial b}F(\beta',t)dS. \tag*{(52)}

This is kk times differentiable as long as F(β,t)F(\beta,t) is kk times differentiable in tt. Since EhhE_{h}^{h} is infinitely differentiable, the limit of differentiability is on QA(t)Q_{A}(t), QB(t)Q_{B}(t), sA(t)s_{A}(t) and sB(t)s_{B}(t).

References

  1. [1]A. Singletary, K. Klingiebiel, J. Bourne, A. Browning, P. Tokumaru, and A. Ames, “Comparative Analysis of Control Barrier Functions and Artificial Potential Fields for Obstacle Avoidance,” IEEE International Conference on Intelligent Robots and Systems, pp. 8129–8136, 2021.arxiv.org/abs/2010.09819
  2. [2]A. Singletary, W. Guffey, T. G. Molnar, R. Sinnet, and A. D. Ames, “Safety-Critical Manipulation for Collision-Free Food Preparation,” IEEE Robotics and Automation Letters, vol. 7, no. 4, pp. 10954–10961, 2022.arxiv.org/abs/2205.01026
  3. [3]A. Thirugnaman, J. Zeng, and K. Sreenath, “Safety-Critical Control and Planning for Obstacle Avoidance between Polytopes with Control Barrier Functions,” Proceedings - IEEE International Conference on Robotics and Automation, vol. 2022-January, pp. 286–292, 2022.
  4. [4]A. Thirugnaman, J. Zeng, and K. Sreenath, “Quality-based Convex Optimization for Real-time Obstacle Avoidance between Polytopes with Control Barrier Functions,” Proceedings of the American Control Conference, vol. 2022-June, pp. 2239–2246, 2022.
  5. [5]A. Thirugnaman, J. Zeng, and K. Sreenath, “Control Barrier Functions for Collision Avoidance Between Strongly Convex Regions,” arXiv preprint arXiv:2306.13259, 2023.
  6. [6]S. Wu, Y. Fang, N. Sun, B. Lu, X. Liang, and Y. Zhao, “Optimization-free smooth control barrier function for polygonal collision avoidance,” IEEE Transactions on Cybernetics, vol. 55, no. 9, pp. 4257–4269, 2025.arxiv.org/abs/2502.16293
  7. [7]B. G. Ferreira, V. M. Gonçalves, M. A. Santos, and G. V. Raffo, “Point-to-Cloud NMPC with Smooth Avoidance Constraints,” arXiv preprint arXiv:2605.01431, 2026.arxiv.org/abs/2605.01431
  8. [8]V. M. Gonçalves, A. Tzes, F. Khorrami, and P. Fraisse, “Smooth Distances for Second-Order Kinematic Robot Control,” IEEE Transactions on Robotics, vol. 40, pp. 2950–2966, 2024.DOI
  9. [9]V. M. Gonçalves, S. Wei, E. Malacarne, S. De Souza, K. Prashanth, A. Tzes, F. Khorrami, E. M. S. de Souza, P. Krishnamurthy, A. Tzes, and F. Khorrami, “A Differentiable Distance Metric for Robotics Through Generalized Alternating Projection,” IEEE Robotics and Automation Letters, pp. 1–8, 2026.arxiv.org/abs/2507.01181
  10. [10]N. Ratliff, M. Zucker, J. Andrew Bagnell, and S. Srinivasa, “CHOMP: Gradient optimization techniques for efficient motion planning,” Proceedings - IEEE International Conference on Robotics and Automation, pp. 489–494, 2009.DOI
  11. [11]A. Escande, S. Miossec, M. Benallegue, and A. Kheddar, “A strictly convex hull for computing proximity distances with continuous gradients,” IEEE Transactions on Robotics, vol. 30, no. 3, pp. 666–678, 2014.DOI
  12. [12]A. H. D. Nunes, V. M. Gonçalves, and L. C. A. Pimenta, “Safe Vector Field for Robot Navigation in n-Dimensions,” IEEE Robotics and Automation Letters, vol. 11, no. 3, pp. 3071–3078, 2026.DOI
  13. [13]F. Bartelt, A. U. Kaypak, A. Tzes, F. Khorrami, L. C. Pimenta, and V. M. Gonçalves, “H” older signed distance: A differentiable, signed, parallelizable metric for robotics,” arXiv preprint arXiv:2608.07707, 2026.arxiv.org/abs/2608.07707
  14. [14]S.-L. Liu, H.-X. Guo, H. Pan, P.-S. Wang, X. Tong, and Y. Liu, “Deep implicit moving least-squares functions for 3d reconstruction,” in 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1788–1797, 2021.arxiv.org/abs/2103.12266
  15. [15]J. E. Hicken and S. Kaur, “An explicit level-set formula to approximate geometries,” in AIAA SCITECH 2022 Forum, 2022.DOI
  16. [16]O. Beker, N. Gürtler, J. Shi, A. R. Geist, A. Razmijo, G. Martius, and S. Calinon, “A smooth analytical formulation of collision detection and rigid body dynamics with contact,” in 2025 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 18558–18565, 2025.
  17. [17]S. Osher and R. Fedkiw, Level Set Methods and Dynamic Implicit Surfaces, vol. 153 of Applied Mathematical Sciences. Springer, 2003.
  18. [18]J. Schulman, Y. Duan, J. Ho, A. Lee, I. Awwal, H. Bradlow, J. Pan, S. Patil, K. Goldberg, and P. Abbeel, “Motion planning with sequential convex optimization and convex collision checking,” The International Journal of Robotics Research, vol. 33, no. 9, pp. 1251–1270, 2014.DOI
  19. [19]A. Kuntz, M. Fu, and R. Alterovitz, “Planning high-quality motions for concentric tube robots in point clouds via parallel sampling and optimization,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 2205–2212, 2019.DOI
  20. [20]S. Badia, A. F. Martín, and J. Principe, “FEMPAR: An object-oriented parallel finite element framework,” Archives of Computational Methods in Engineering, vol. 25, pp. 195–271, 2018.arxiv.org/abs/1708.01773
  21. [21]Y. E. Nesterov, “A method of solving a convex programming problem with convergence rate o(1/k²),” Soviet Mathematics Doklady, vol. 27, no. 2, pp. 372–376, 1983.
  22. [22]Y. Hu, Q. Zhou, X. Gao, A. Jacobson, D. Zorin, and D. Panozzo, “Tetrahedral meshing in the wild,” ACM Transactions on Graphics, vol. 37, no. 4, pp. 60:1–60:14, 2018.DOI
  23. [23]Blue Robotics, “BlueROV2: Affordable and capable underwater ROV.” https://bluerobotics.com/store/rov/bluerov2/. Accessed: 2026-10-31.
  24. [24]K. Shoemake, “Animating rotation with quaternion curves,” ACM SIGGRAPH Computer Graphics, vol. 19, no. 3, pp. 245–254, 1985.
  25. [25]J. A. Baerentzen and H. Aanæs, “Signed distance computation using the angle weighted pseudonormal,” IEEE Transactions on Visualization and Computer Graphics, vol. 11, no. 3, pp. 243–253, 2005.

Paper details

vlnc:W_2nxnw5xc
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents