ELAI S.r.l.

The robot clears every checked pose: can it collide between them?

A path is more than a list of poses. An executable geometric example explains minimum distance, sampling and margins without claiming physical safety.

The robot clears every checked pose: can it collide between them?

The problem hides between two successful checks

A robot must move a tool across a fixture. The program checks a sequence of poses and finds no collision. During motion, however, the tool crosses a pin. There is no contradiction: the program checked isolated points, while the robot also traverses the space between them. The practical question is when discrete checks actually establish that the intervening path is clear.

Abstract. Model a circular tool moving in a plane near a circular obstacle. Calculate a collision missed by six checks, derive continuous minimum distance and construct a sufficient condition using clearance and sample spacing. Separate observed collision, a path geometrically certified within the model, and an inconclusive result. This educational model omits the full arm, sensor uncertainty and real robot behavior. It identifies what is missing from the statement that every tested pose is valid.

From tool volume to center distance

Coordinates are in meters. The tool center moves straight from a=(0,0) to b=(1,0); the pin center is c=(0.5,0). Tool radius is 0.02 m and obstacle radius 0.04 m. Disks touch or overlap when center distance is at most the sum R=0.06 m. Replace the tool by a point and expand the obstacle by 0.02 m: this is exact for these disks, not for arbitrary robot geometry.

Define clearance g(p)=||p−c||−R. The norm is Euclidean distance, computed with Pythagoras in two dimensions. Positive g means separation, zero contact and negative overlap. We count contact as collision. Clearance is a length, not a probability, and says nothing about impact force, speed or consequences.

Six clear poses and a collision in the model

Split the one-meter path into five equal segments. Six checks occur at x=0,0.2,0.4,0.6,0.8,1. The nearest checks, 0.4 and 0.6, are 0.1 m from the obstacle center, giving clearance 0.04 m. Every check passes. But x=0.5 coincides with the obstacle center and has clearance −0.06 m. The collision interval [0.44,0.56] lies entirely between samples.

Four segments would include x=0.5 and detect collision. Increasing from five to six checks while changing the grid can therefore lose a previously detected event. Finer resolution is not useless; non-nested grids simply lack monotonic detection outcomes. Refinement that retains old samples and adds new ones preserves every collision already observed.

Find the nearest point along the entire segment

Sampling is unnecessary for this simple geometry. Write segment points as p(u)=a+ud, with d=b−a and dimensionless u between zero and one. Minimize squared distance ||a+ud−c||²; squaring avoids a root without changing the minimizer. Differentiation gives 2d·(a+ud−c). Setting this to zero projects c onto the infinite line.

u₀ = [(c − a)·d] / (d·d) u* = min(1, max(0, u₀)) g_min = ||a + u*d − c|| − R

The dot product d·d is squared segment length. Clamping u₀ to [0,1] matters: if the projection falls beyond an endpoint, that endpoint is nearest. When a=b the denominator vanishes and the single point is checked directly. Here u*=0.5 and g_min=−0.06 m. Each segment-obstacle pair needs a constant number of operations; directly checking M obstacles costs O(M).

When clearance makes samples sufficient

Exact calculation is convenient for a segment and disk, but may be unavailable for complex geometry. Ask samples for more than a yes/no answer: how much clearance surrounds them? Distance to an obstacle cannot decrease by more than point displacement. Moving one centimeter can reduce distance by at most one centimeter. The triangle inequality gives this property, called Lipschitz continuity with constant one.

|g(p) − g(q)| ≤ ||p − q||

p and q are positions in the same frame and units. Subtracting constant R leaves the inequality unchanged. If the largest spacing along the segment is Δs, every path point is within Δs/2 of an adjacent sample. Let m be the smallest sampled clearance. No unchecked point can have clearance below m−Δs/2. This connects discrete information to a continuous conclusion.

g_min ≥ m − Δs/2 m > Δs/2 ⇒ g_min > 0

The second line is sufficient, not necessary. Passing proves geometric clearance under the assumptions. Failure does not prove collision; it means those samples cannot settle the question. A boolean interface can hide that distinction. Separate observed collision, a strictly positive lower bound, and an inconclusive interval. The latter can be subdivided and rechecked while retaining existing samples.

A clear path may need more work to certify

Move the segment to y=0.08 m. Minimum center distance is 0.08 m, so continuous clearance is 0.02 m. With five segments the nearest samples at x=0.4 and 0.6 show about 0.06806 m clearance. That sounds generous, but Δs/2=0.1 m gives a lower bound about −0.03194 m. Exact checking knows the path is clear; this grid-based certificate cannot yet prove it.

Twenty-six segments of length 1/26 m include the center. Minimum sampled clearance is 0.02 m and half-spacing about 0.01923 m, yielding a positive 0.000769 m lower bound. The path did not become clearer; enough information was collected to prove an existing property. Checking effort is therefore not itself a measure of physical risk.

Height y (m)SegmentsSampled minimum (m)Exact minimum (m)Lower bound (m)
04−0.060000−0.060000−0.185000
050.040000−0.060000−0.060000
0.0850.0680620.020000−0.031938
0.08260.0200000.0200000.000769
Solid lines show continuous clearance; dots are the six checks on a five-segment grid. Every central-path dot is above zero while the curve crosses below between samples. The raised path stays positive. Synthetic geometric calculations.
Solid lines show continuous clearance; dots are the six checks on a five-segment grid. Every central-path dot is above zero while the curve crosses below between samples. The raised path stays positive. Synthetic geometric calculations.

From the drawing to a robot: assumptions that matter

Our point represents a tool translating along a straight line. Joint-angle interpolation generally does not create a straight tool-center path. Another arm link may collide while the tool clears. Transfer requires all body geometries and the planner’s actual interpolation. A joint-space Lipschitz bound must connect angular changes to physical point displacement; constant one cannot be reused automatically, and radians cannot be subtracted from meters.

Geometry is also estimated. If model clearance is 0.02 m and a verified relative-position error bound is 0.005 m, reserving it leaves 0.015 m in the robust model. Here 0.005 is merely hypothetical; an unjustified bound is no guarantee. Shape error, flexure, delay and moving obstacles need additional terms or a different model. Geometry simulation does not establish collaborative-cell safety or replace real-system validation and requirements.

A useful interface can say “not yet established”

OMPL separates state validity from motion validity. Its documentation notes that coarse discretization can miss invalid states while fine discretization increases work, and suggests a suitable motion validator when continuous checking is available. That is the distinction illustrated here. We did not run OMPL or benchmark planners; the attached code isolates geometry and checks formulas, grids and boundary cases.

Yes, a robot can cross an obstacle between individually valid poses. Excluding that within a model requires continuous motion checking or sample spacing linked to a justified clearance-variation bound. When the bound is insufficient, the answer is inconclusive, not clear. The lesson is to know which property checks establish and under what assumptions, rather than blindly adding points. This distinction is relevant to EL-AI’s stated future interest in industrial and collaborative robotics, without implying validation on company robots.

OMPL — State Validity Checking, StateValidityChecker, DiscreteMotionValidator and continuous motion checking; consulted 30 September 2026.

The snippet reproduces sampled margins and the sufficient criterion. The full archive includes exact projection, zero-length segments, out-of-segment projection, tangency, 39 height/grid combinations and plotted curves. All is deterministic: no seed, customer data or hardware measurement. Numerical tolerance 10^−12 m prevents rounding from treating contact as positive clearance; it is not a physical robot margin.

import math
obstacle = (0.5, 0.0)
radius = 0.06
def clearance(x, y):
    return math.dist((x,y), obstacle)-radius
for n in (4,5,26):
    for y in (0.0,0.08):
        smallest = min(clearance(i/n,y) for i in range(n+1))
        lower_bound = smallest-1/(2*n)
        print(n, y, round(smallest,6), lower_bound>1e-12)

Code, data, and instructions · JSON. Educational calculations executed with Python 3.14.0; figures with Matplotlib 3.11.2. AI-assisted analysis, without claiming peer review or human review. Original illustrative ImageGen cover: it does not document EL-AI people, premises, or installations. Sources accessed 30 September 2026.