Sequence-level planning
Temporal ordering and surface coverage are modeled jointly as trajectory-level properties.
Accepted at IROS 2026
1Mohamed bin Zayed University of Artificial Intelligence · Abu Dhabi, UAE
Diffusion models have shown strong potential for robot skill learning, yet their role in coverage path planning remains underexplored. In industrial surface processing (painting, polishing, spray coating), high coverage requires globally ordered, temporally coherent trajectories rather than stitching unordered local segments. We reformulate coverage path planning as conditional sequence generation and adopt a geometry-conditioned diffusion framework that synthesizes continuous trajectories directly from raw 3D point clouds. Our method produces temporally ordered trajectory chunks and avoids post-hoc heuristic ordering or stitching in prior learning-based methods via simple sequential concatenation, improving sequence-level consistency. A single shared policy generalizes across different geometries without category-specific architectures. Extensive benchmarks show substantial gains over prior learning-based baselines: 98.2% lower point-wise Chamfer Distance (lower is better), 97.0% lower jerk (smoother trajectories), and +67.5 percentage points overlapping surface coverage on average.
Temporal ordering and surface coverage are modeled jointly as trajectory-level properties.
Raw point clouds and recent motion condition every iterative denoising stage.
The paper reports a joint model; the public release supplies separately trained category checkpoints with a common geometry- and history-conditioned architecture.

A point-cloud encoder maps the raw surface into a compact global observation feature.
A conditional diffusion model jointly refines an ordered chunk of 6-DoF poses.
Recent execution history anchors the next chunk for direct sequential concatenation.
Synchronized trajectory-generation and surface-coverage comparisons against Point-Wise and PaintNet baselines across four matched examples per category.
Trajectory Generation
Surface Coverage
Trajectory Generation
Surface Coverage
Trajectory Generation
Surface Coverage
Trajectory Generation
Surface Coverage
3D-CovDiffusion conditions iterative trajectory denoising on a raw 3D point cloud and recent motion history to generate temporally ordered 6-DoF trajectory chunks, which are concatenated sequentially into a coverage path.
3D-CovDiffusion conditions iterative trajectory denoising on a raw 3D point cloud and recent motion history to generate temporally ordered 6-DoF trajectory chunks, which are concatenated sequentially into a coverage path. It targets industrial surface-processing tasks such as robotic painting, spray coating, and polishing.
It models trajectory order during sequence generation instead of predicting unordered poses or local strokes that require a separate heuristic sorting or stitching stage. The paper reports lower point-wise Chamfer Distance and translational jerk together with higher overlapping surface coverage than prior learning-based baselines.
The paper reports a jointly trained, category-agnostic model. The current public v1.0.0 release provides separately trained checkpoints for Windows, Cuboids, Shelves, and Containers and documents the checkpoint-producing saved configuration. The release includes source code, pretrained category checkpoints, 2,470 training episodes, and 618 fixed-test cases.
2,470 training episodes in processed form, with 5,120-point observations and ordered 24D actions packaged for direct use by the training pipeline.
Open dataset ↗Validated EMA safetensors for Windows, Cuboids, Shelves, and Containers, with inference configs, provenance, and SHA-256 manifests.
Open models ↗If this project is useful in your research, please cite the paper.
@misc{chen2026_3dcovdiffusion,
title = {{3D-CovDiffusion}: 3D-Aware Diffusion Policy
for Coverage Path Planning},
author = {Chen, Chenyuan and Ding, Haoran and Ding, Ran
and Liu, Tianyu and He, Zewen and Duan, Anqing
and Nakamura, Yoshihiko},
year = {2026},
eprint = {2510.03011},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
url = {https://arxiv.org/abs/2510.03011},
note = {Accepted at IROS 2026}
}