Coverage Planner Feature Comparison
slic3r_coverage_planner (current OpenMower) vs Fields2Cover
Reference: current slic3r behaviour as described by the OpenMower community.
Feature-by-feature breakdown
1. Outline covered by rounds, inner to outer
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
⚠️ Partial |
Notes |
Generates multiple perimeter passes as a native 3D-printing concept — inward offset rings are a first-class feature. |
The headland generator creates a single headland band of configurable width (expressed as multiples of robot width). There is currently only one headland generator ( |
2. Rounds around obstacles
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
⚠️ Requires workaround |
Notes |
Slic3r treats obstacles as island polygons and naturally generates perimeter passes around them, exactly as it does for the outer border. |
F2C v2.0 supports obstacles and non-convex fields via decomposition, but it does not generate dedicated perimeter passes around obstacles the way slic3r does. Obstacle areas are excluded from swaths; navigating around them in perimeter-pass style would need to be implemented separately. |
3. Rounds near outline and obstacle merged into one track
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
❌ Not supported |
Notes |
When an obstacle is close enough to the outer boundary, slic3r intelligently merges the perimeter passes into a single combined track, avoiding a tiny gap that would be impractical to mow. |
Fields2Cover has no equivalent merging logic. Headland and obstacle exclusion zones are computed independently. A narrow strip between an obstacle’s exclusion zone and the field’s headland zone would either be included in the fill swaths (possibly poorly) or dropped entirely. This would need custom post-processing. |
4. Smooth transitions between rounds
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
✅ Supported, and better |
Notes |
Slic3r generates smooth spiral-like transitions between perimeter rings. |
F2C’s path planner supports Dubins curves, Dubins with continuous curvature (CC), Reeds-Shepp curves, and Reeds-Shepp CC. The CC variants explicitly smooth out instantaneous curvature changes, making the result more physically accurate for a real vehicle with a minimum turning radius. This is more capable than slic3r’s transitions, but applies to swath-to-swath turns rather than ring-to-ring transitions specifically. |
5. Fill using parallel lines
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
✅ Fully supported |
Notes |
Standard infill pattern from 3D printing. |
F2C’s swath generator produces parallel line fills natively. The |
6. Multiple fills for complex/concave shapes
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
✅ Supported, explicit step required |
Notes |
Slic3r automatically detects when a single fill region doesn’t work and splits into multiple regions — this is implicit and requires no configuration. |
F2C v2.0 achieves this via the cell decomposition step (Trapezoidal or Boustrophedon decomposition). For an L-shaped field, decomposing first then applying swath generation can reduce swath count dramatically (e.g. from 84 to 26 in the documented example). However, this is an explicit pipeline step — the user must decide when to decompose and configure it. It is not automatic. The decomposition also requires a specific two-pass headland workflow to keep the route planner connected across decomposed cells. |
7. Consistent fill angle across all regions, easily configurable
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
✅ Fully supported |
Notes |
One angle parameter applies to all fill regions. |
F2C passes the sweep angle directly to the swath generator as a parameter. When using decomposition across multiple cells, all cells can be given the same angle. The |
8. Half-circle turns between fill lines
slic3r |
Fields2Ford |
|
|---|---|---|
Status |
✅ Works well |
✅ Supported, and more flexible |
Notes |
Fixed half-circle U-turns between parallel swaths. |
F2C supports four turn types: straight, Dubins, Dubins-CC, and Reeds-Shepp(-CC). For a non-holonomic mower with a minimum turning radius, Dubins or Dubins-CC produces the shortest valid turn — which may be a half-circle or tighter, depending on the robot parameters. This is physically more correct than a fixed half-circle, but requires setting |
10. Paths ordered in a sensible way
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works reasonably |
✅ More principled, and optimisable |
Notes |
Slic3r uses printing-derived heuristics to order paths in a practical way, but there is no formal optimisation. |
F2C offers multiple explicit strategies: Boustrophedon (simple sequential), Snake (fewer sharp turns), Spiral (useful for capacity-limited machines), and a full OR-Tools optimiser that finds the globally shortest route. A defined start/end point can also be enforced. This is strictly more capable, at the cost of needing to choose a strategy. |
11. Input as polygon with holes; border = mower centre line
slic3r |
Fields2Cover |
|
|---|---|---|
Status |
✅ Works well |
✅ Fully supported |
Notes |
The input polygon represents the area reachable by the mower’s centre, with holes for exclusion zones. Slic3r handles this natively. |
F2C accepts |
Summary matrix
Feature |
slic3r (OpenMower) |
Fields2Cover |
|---|---|---|
Outline perimeter passes (multiple rounds) |
✅ Native |
⚠️ Manual multi-call workaround |
Perimeter passes around obstacles |
✅ Native |
⚠️ Not built-in |
Merge nearby outline/obstacle rounds |
✅ Automatic |
❌ Not supported |
Smooth ring-to-ring transitions |
✅ Spiral-style |
✅ Kinematically correct curves |
Parallel line fill |
✅ |
✅ |
Multiple fills for concave shapes |
✅ Automatic |
✅ Explicit decomposition step |
Consistent configurable fill angle |
✅ |
✅ (plus auto-optimise) |
Half-circle / U-turn between swaths |
✅ Fixed half-circle |
✅ Kinematically optimal turns |
Inter-path navigation pre-planned |
❌ Runtime costmap |
✅ Pre-planned (+ local planner still needed) |
Sensible path ordering |
✅ Heuristic |
✅ Multiple strategies + OR-Tools |
Polygon-with-holes input, centre-line border |
✅ |
✅ |
Bottom line
Fields2Cover is more powerful on fill ordering, turn geometry, and route optimisation. However, slic3r has two behaviours that Fields2Cover does not replicate cleanly out of the box:
Perimeter passes around obstacles — F2C excludes obstacle areas but doesn’t orbit them with offset rings.
Automatic merging of obstacle rounds with outline rounds — this contextual geometry simplification is unique to slic3r’s approach and would require custom logic in F2C.
For a migration to F2C, these two features would likely need bespoke implementation on top of the F2C primitives.