Papers
Topics
Authors
Recent
Search
2000 character limit reached

Kernel-Perceptron Collision Detector

Updated 6 July 2026
  • Kernel-Perceptron Collision Detector is a sparse decision-boundary method that separates occupied and free space using support vectors in a binary classifier.
  • It leverages incremental learning and efficient k-nearest-neighbor searches to update collision status quickly from streaming sensor data.
  • The approach enables certifiable collision checking for continuous trajectories via pointwise bounds and nearest support evaluations, ensuring safe robot navigation.

Searching arXiv for the cited papers to ground the article in the latest indexed records. A kernel-perceptron collision detector is a family of collision-checking and occupancy-mapping methods in which occupied and free space are separated by the decision boundary of a sparse kernel classifier. In these methods, the boundary of obstacles in configuration space (C-space), or the boundary between occupied and free regions in an environment map, is represented by a small set of support vectors or related sparse basis elements. The resulting models support fast point classification, incremental updates from streaming data, and, in the occupancy-mapping setting, provable collision-checking conditions for continuous piecewise-linear and piecewise-polynomial trajectories without sampling (Duong et al., 2020). Closely related developments include the Fastron proxy collision detector for manipulators (Das et al., 2017), a sparse Bayesian generalization based on Relevance Vector Machines (Duong et al., 2020), a forward-kinematics kernel for manipulator collision checking (Das et al., 2019), and configuration-space decomposition for scalable local models (Verghese et al., 2022).

1. Formal model and decision boundary

The core object is a binary classifier over C-space. In the sparse kernel-based occupancy mapping formulation, if SS is the set of support vectors and each support vector qiRdq_i\in\mathbb{R}^d has weight αiR\alpha_i\in\mathbb{R}, the decision function is

f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),

with no explicit bias term, b=0b=0, and labeling

y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),

where +1+1 denotes “occupied” and 1-1 denotes “free” (Duong et al., 2020). The same representation can be written by splitting the support set into positive and negative parts, S=Λ+ΛS=\Lambda^+\cup\Lambda^-, yielding

f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).

The decision boundary qiRdq_i\in\mathbb{R}^d0 separates occupied from free C-space, and support vectors lie near this boundary and grow only when new boundary structure appears (Duong et al., 2020).

A closely related manipulator-collision formulation uses

qiRdq_i\in\mathbb{R}^d1

or, equivalently in label-weighted form,

qiRdq_i\in\mathbb{R}^d2

with qiRdq_i\in\mathbb{R}^d3 interpreted as “in collision” and qiRdq_i\in\mathbb{R}^d4 as “collision-free” (Das et al., 2017, Verghese et al., 2022). This family resemblance is substantive: the same kernel-perceptron mechanism is used either as an online occupancy classifier or as a proxy for exact geometric collision detection.

The most common kernel in these papers is the Gaussian or radial basis function kernel. In the occupancy-mapping model,

qiRdq_i\in\mathbb{R}^d5

with qiRdq_i\in\mathbb{R}^d6 and qiRdq_i\in\mathbb{R}^d7 chosen offline, for example by ARD (Duong et al., 2020). In manipulator applications, additional kernels have been studied. The forward-kinematics kernel places control points on the manipulator, computes their workspace positions qiRdq_i\in\mathbb{R}^d8, and averages second-order rational quadratic kernel evaluations:

qiRdq_i\in\mathbb{R}^d9

Because it is a convex combination of positive-definite rational quadratic kernels, it is itself positive definite (Das et al., 2019).

2. Incremental learning, sparsification, and conservative biasing

The detector is typically trained incrementally on locally observed or selectively relabeled data. In the autonomous navigation setting, the online training algorithm uses only local data αiR\alpha_i\in\mathbb{R}0 sampled from the latest depth scan, with αiR\alpha_i\in\mathbb{R}1. An R*-tree over αiR\alpha_i\in\mathbb{R}2 supports fast αiR\alpha_i\in\mathbb{R}3-nearest-neighbor lookups of support vectors near each αiR\alpha_i\in\mathbb{R}4. For each local point, the algorithm computes

αiR\alpha_i\in\mathbb{R}5

then repeatedly selects the worst-classified point αiR\alpha_i\in\mathbb{R}6, applies a one-step weight correction, updates an existing support vector or inserts a new one, updates all margins αiR\alpha_i\in\mathbb{R}7, and removes redundant supports whose deletion keeps all remaining margins positive. With fixed αiR\alpha_i\in\mathbb{R}8 and small constant αiR\alpha_i\in\mathbb{R}9, the overall cost is f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),0 (Duong et al., 2020).

The same structural ideas appear in Fastron. Its kernel perceptron introduces one-step weight correction,

f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),1

with f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),2 for collision points and f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),3 for free points, margin-based prioritization via

f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),4

and redundant-support-point removal after convergence for a fixed number of iterations (Das et al., 2017). Because f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),5 is used whenever f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),6, the learned decision boundary is pushed farther into nominally safe regions, padding the learned f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),7 in C-space. The stated effect is conservative collision status prediction: false negatives are reduced at the cost of some increase in false positives (Das et al., 2017).

Dynamic environments introduce a relabeling problem. Fastron addresses this with a two-stage active learning strategy. Exploitation rechecks the current support set and nearby non-supports, while exploration uses random samples from the remaining dataset to detect obstacle incursions far from the old boundary. At each control cycle or planning iteration, the method snapshots current workspace obstacles, runs active learning to select a relabeling set f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),8, performs kinematic-based collision detection on those points, and reruns the modified kernel perceptron update for up to f(q)=iSαiK(q,qi),f(q)=\sum_{i\in S}\alpha_i\,K(q,q_i),9 iterations (Das et al., 2017). A plausible implication is that the learned proxy model is most effective when environmental change is localized enough that only a subset of stored configurations changes label between updates.

Support-set pruning is central across the literature. In the occupancy-mapping algorithm, only misclassified or borderline points become new support vectors, and redundant support vectors are pruned if all remaining margins stay positive without them (Duong et al., 2020). In D-Fastron and related manipulator variants, sparsification is explicitly treated as the main mechanism for reducing query cost because the online predictor evaluates only the support configurations retained after pruning (Verghese et al., 2022).

3. Deterministic collision certification for continuous trajectories

A distinctive feature of the sparse kernel occupancy-mapping line is that collision checking is elevated from point classification to certification for continuous trajectories. The goal is to certify, for a continuous trajectory b=0b=00, that b=0b=01 for all b=0b=02, which implies collision-free motion (Duong et al., 2020).

For pointwise certification, Proposition 1 derives an upper bound on the classifier score. For any b=0b=03 and any negative support vector b=0b=04, define

b=0b=05

Then

b=0b=06

If b=0b=07, then b=0b=08, hence b=0b=09 is free (Duong et al., 2020). This converts the full support-vector sum into a sufficient free-space test based on nearest positive and selected negative supports.

For piecewise-linear trajectories, let y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),0, y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),1, and assume y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),2. Define

y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),3

and

y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),4

Proposition 2 states that y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),5 is free as long as

y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),6

for some fixed y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),7, and Corollary 1 gives the tighter condition

y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),8

The practical segment test for y^(q)=signf(q),\hat y(q)=\operatorname{sign}f(q),9 computes +1+10 from +1+11 in the forward direction and +1+12 from +1+13 in the reverse direction; if +1+14, the entire segment is free, otherwise the segment is reported in collision (Duong et al., 2020). The naive complexity over all +1+15 support vectors is +1+16, but restricting to +1+17 nearest neighbors lowers this to +1+18 or, with separate +1+19 selection, to 1-10 (Duong et al., 2020).

For piecewise-polynomial curves, the method repeatedly grows a certified free Euclidean ball around the current point. With

1-11

one defines

1-12

All points in the ball 1-13 are free. The algorithm initializes 1-14, computes a certified radius 1-15 at each current curve point 1-16, reports “collision” if 1-17, solves 1-18 for the smallest 1-19, and either reports “free” when the solution reaches S=Λ+ΛS=\Lambda^+\cup\Lambda^-0 or continues iteratively (Duong et al., 2020). The paper explicitly states that these conditions allow complete, without-sampling collision-checking for piecewise-linear and piecewise-polynomial robot trajectories (Duong et al., 2020).

The sparse Bayesian extension generalizes this idea to probabilistic occupancy classification. It replaces the hard-margin perceptron score with a probit RVM model, derives predictive probabilities in closed form, and obtains line and curve collision bounds through inflated-boundary constructions under RBF kernels. For line segments, this produces a quadratic S=Λ+ΛS=\Lambda^+\cup\Lambda^-1 whose real roots determine whether the whole segment is free; for general curves, one marches along the trajectory through maximal free ellipsoid balls (Duong et al., 2020). This suggests that deterministic certificate-style checking and uncertainty-aware occupancy modeling can coexist within the same sparse kernel framework.

4. Data structures, computational profile, and implementation

The map representation is explicitly boundary-centric. In the occupancy-mapping formulation, the decision boundary S=Λ+ΛS=\Lambda^+\cup\Lambda^-2 separates occupied from free C-space, support vectors lie near this boundary, and query-time occupancy evaluates the score only over nearest S=Λ+ΛS=\Lambda^+\cup\Lambda^-3 positive and S=Λ+ΛS=\Lambda^+\cup\Lambda^-4 negative support vectors (Duong et al., 2020). An R*-tree stores S=Λ+ΛS=\Lambda^+\cup\Lambda^-5 and supports fast S=Λ+ΛS=\Lambda^+\cup\Lambda^-6-nearest-neighbor queries in S=Λ+ΛS=\Lambda^+\cup\Lambda^-7 (Duong et al., 2020). This is the main reason the representation scales with obstacle boundary complexity rather than map volume.

The implementation reported for autonomous navigation uses kernel parameters S=Λ+ΛS=\Lambda^+\cup\Lambda^-8 and S=Λ+ΛS=\Lambda^+\cup\Lambda^-9, training data sampled on a f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).0 grid from each lidar scan, and an R*-tree over support vectors for f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).1-NN lookups. The mapping update uses f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).2, while collision checking uses f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).3 or f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).4. The implementation was written in Python and run on an Intel i7-2.2 GHz with 16 GB RAM in simulation and on an Nvidia TX2 on the real car (Duong et al., 2020).

Memory use is correspondingly small. Each support vector stores a grid index as a 32 bit int plus a weight as a 32 bit float, for f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).5 bytes per support vector. Typical counts are approximately f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).6 support vectors, corresponding to approximately f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).7, with reported peaks up to approximately f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).8 support vectors, or approximately f(x)=i=1M+αi+k(xi+,x)j=1Mαjk(xj,x).f(x)=\sum_{i=1}^{M^+}\alpha_i^+\,k(x_i^+,x)-\sum_{j=1}^{M^-}\alpha_j^-\,k(x_j^-,x).9. The same experimental summary compares this with OctoMap at approximately qiRdq_i\in\mathbb{R}^d00 octree nodes times qiRdq_i\in\mathbb{R}^d01 bytes, or approximately qiRdq_i\in\mathbb{R}^d02 (Duong et al., 2020).

The reported runtime is also explicitly quantified. Map update per lidar scan is approximately qiRdq_i\in\mathbb{R}^d03. Linear-segment collision checking is approximately qiRdq_i\in\mathbb{R}^d04 per segment using score approximation on qiRdq_i\in\mathbb{R}^d05 to qiRdq_i\in\mathbb{R}^d06 support vectors, and polynomial-curve checking is approximately qiRdq_i\in\mathbb{R}^d07 per motion primitive in real experiments (Duong et al., 2020). In warehouse simulation, the kernel map against ground truth achieved qiRdq_i\in\mathbb{R}^d08 accuracy and qiRdq_i\in\mathbb{R}^d09 recall for the inflated map, compared with an OctoMap baseline of qiRdq_i\in\mathbb{R}^d10 accuracy and qiRdq_i\in\mathbb{R}^d11 recall (Duong et al., 2020).

In manipulator settings, complexity statements are usually phrased relative to the support set. Fastron model queries take qiRdq_i\in\mathbb{R}^d12 kernel evaluations, and each model-update step is dominated by updating the margin vector through one column of the Gram matrix, which is qiRdq_i\in\mathbb{R}^d13. With capped update iterations qiRdq_i\in\mathbb{R}^d14 and relabeling budget qiRdq_i\in\mathbb{R}^d15, the total per-cycle cost is stated as qiRdq_i\in\mathbb{R}^d16 (Das et al., 2017). D-Fastron further reduces effective query cost by replacing one large model with several local ones; if there are qiRdq_i\in\mathbb{R}^d17 clusters with roughly qiRdq_i\in\mathbb{R}^d18 points each, the total training cost is qiRdq_i\in\mathbb{R}^d19 and the query cost becomes qiRdq_i\in\mathbb{R}^d20 rather than qiRdq_i\in\mathbb{R}^d21 (Verghese et al., 2022).

5. Major variants and extensions

The first major branch is Fastron, introduced as an online learning-based model and active learning strategy for proxy collision detection. It models C-space obstacles with a kernel perceptron, allows iterative updates in changing environments, and is explicitly designed as a proxy to kinematic-based collision detection rather than as an occupancy map (Das et al., 2017). Its emphasis is conservative prediction through obstacle padding, active learning under finite collision-checking budgets, and real-time CPU-only operation.

A second branch is sparse kernel-based occupancy mapping for autonomous navigation in unknown environments. Here the kernel-perceptron detector is not merely a classifier over stored samples; it is the map itself. The environment boundary is encoded by the support vectors, and the same sparse representation supports both mapping and deterministic collision checking for continuous trajectories (Duong et al., 2020). This is the formulation most directly associated with the phrase “Kernel-Perceptron Collision Detector” in onboard navigation.

The sparse Bayesian extension generalizes the kernel perceptron model to a probabilistic map using a probit Relevance Vector Machine. Features are kernel evaluations against a sparse set of relevance vectors, the posterior over weights is Laplace-approximated, and the predictive output is

qiRdq_i\in\mathbb{R}^d22

The paper states that this formulation allows robustness to measurement noise and probabilistic occupancy classification, while retaining efficient collision checking for general curves (Duong et al., 2020). In the comparison included in that work, kernel-perceptron or RVM methods store only qiRdq_i\in\mathbb{R}^d23 support or relevance vectors, whereas voxel and octree representations discretize the entire space and grow with volume and resolution (Duong et al., 2020).

For manipulators, the forward-kinematics kernel modifies the similarity measure rather than the learning rule. By comparing workspace control-point positions rather than raw joint vectors, it improves proxy collision checking within the Fastron framework. The reported results on a qiRdq_i\in\mathbb{R}^d24-DOF Baxter arm are a proxy-check time of qiRdq_i\in\mathbb{R}^d25 for Fastron FK versus qiRdq_i\in\mathbb{R}^d26 for Fastron RBF, model sizes of qiRdq_i\in\mathbb{R}^d27 supports versus qiRdq_i\in\mathbb{R}^d28, update times of qiRdq_i\in\mathbb{R}^d29 versus qiRdq_i\in\mathbb{R}^d30, and classification accuracy of qiRdq_i\in\mathbb{R}^d31 versus qiRdq_i\in\mathbb{R}^d32 (Das et al., 2019).

D-Fastron extends this line through configuration-space decomposition in forward-kinematics space. A feature map qiRdq_i\in\mathbb{R}^d33 is clustered with K-Means++, one Fastron model is trained per cluster, and each query is routed to the nearest centroid before local model evaluation (Verghese et al., 2022). The paper reports that D-Fastron support sets are qiRdq_i\in\mathbb{R}^d34 to qiRdq_i\in\mathbb{R}^d35 smaller than a global Fastron while maintaining qiRdq_i\in\mathbb{R}^d36 accuracy, and that on the qiRdq_i\in\mathbb{R}^d37-DOF Baxter it produces on average qiRdq_i\in\mathbb{R}^d38 faster collision checks and up to qiRdq_i\in\mathbb{R}^d39 faster motion planning compared to state-of-the-art geometric collision checkers (Verghese et al., 2022).

6. Empirical profile, scope, and common sources of confusion

Representative quantitative results across the literature are summarized below.

System Representative result Source
Sparse kernel occupancy map qiRdq_i\in\mathbb{R}^d40 accuracy, qiRdq_i\in\mathbb{R}^d41 recall; linear collision check qiRdq_i\in\mathbb{R}^d42/segment (Duong et al., 2020)
Fastron Proxy collision checks at least qiRdq_i\in\mathbb{R}^d43 times faster than an efficient polyhedral collision checker and at least qiRdq_i\in\mathbb{R}^d44 times faster than an efficient high-precision collision checker (Das et al., 2017)
Fastron FK qiRdq_i\in\mathbb{R}^d45 proxy checks; about qiRdq_i\in\mathbb{R}^d46 less memory; qiRdq_i\in\mathbb{R}^d47 overall accuracy (Das et al., 2019)
D-Fastron On average qiRdq_i\in\mathbb{R}^d48 faster collision checks and up to qiRdq_i\in\mathbb{R}^d49 faster motion planning; overall accuracy qiRdq_i\in\mathbb{R}^d50 (Verghese et al., 2022)

Two recurring interpretive issues should be separated. First, conservative proxy collision detection is not the same as exact geometric collision detection. In Fastron, padding the learned obstacle region is explicitly intended to reduce false negatives while accepting more false positives (Das et al., 2017). In OMPL integrations with Fastron FK, this is handled by a “Verify & Repair” stage using FCL after planning with the proxy checker (Das et al., 2019). Second, not all kernel-perceptron collision detectors are probabilistic. The plain kernel perceptron has no explicit noise model; the sparse Bayesian variant adds posterior uncertainty and threshold control through the probit RVM formulation (Duong et al., 2020).

A separate terminological confusion arises from the word “collision” itself. In the paper “Are Neural Networks Collision Resistant?” the term refers to two distinct weight vectors that assign the same labels to all data, not to geometric contact or C-space occupancy. That work studies collision-finding for a square-wave perceptron, overlap-gap barriers, and candidate collision-resistant functions, and is conceptually distinct from robotic collision detection despite the shared perceptron vocabulary (Benedetti et al., 24 Sep 2025).

Taken together, the literature defines the kernel-perceptron collision detector as a sparse decision-boundary method for C-space classification whose principal strengths are incremental learning, small memory footprint, rapid query time, and, in the occupancy-mapping setting, certificate-style collision checking for continuous motions. Variants differ mainly in how similarity is defined, how uncertainty is modeled, and how sparsity is organized, but they share the same central premise: the geometry of collision-relevant boundaries can be captured by a compact kernel machine rather than by exhaustive geometric or volumetric enumeration (Duong et al., 2020).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Kernel-Perceptron Collision Detector.