# [CNC Mill Concept: Compliance, State Estimation & Supervision](https://blog.hirnschall.net/cnc-mill-concept/compliance-state-estimation-supervision/)

author: [Sebastian Hirnschall](https://blog.hirnschall.net/about/)

meta description: Quasi-static compliance estimation from tilt, strain, and motor current; ECU state classification; and Schmitt-trigger feed-override supervision over RS-485.

meta title: CNC Mill Concept — Compliance, State Estimation & Supervision

date published: 25.03.2026 (DD.MM.YYYY format)
date last modified: 19.05.2026 (DD.MM.YYYY format)

---

Introduction
------------

This post is part of the [CNC Mill Concept hub](https://blog.hirnschall.net/cnc-mill-concept/). It covers quasi-static compliance estimation, ECU-based machine state classification, the supervision logic that acts on those states, and the state transition hysteresis model.

Compliance Estimation and Structural Observability
--------------------------------------------------

### Purpose

* Estimate quasi-static structural behavior under load
* Detect excessive compliance that risks tolerance loss
* Provide slow-varying state information for process supervision
* Not intended for real-time control loops

### Tilt Estimation

* Derived from accelerometer data
* Uses gravity vector for orientation reference
* Strong low-pass filtering applied
* Valid only in quasi-static conditions
* Used to estimate spindle plate rotation under load

### Strain Gauge Measurement

* Strain gauge mounted on X carriage
* Measures bending of X gantry under load
* Acts as cutting-force proxy
* Provides information independent of vibration measurements

### Motor Current as Load Proxy

* Motor current monitored at spindle drive
* Two components used:
  + fast component:
    - incipient stall detection
  + slow envelope:
    - mean cutting load estimation

### Compliance Model

* Structural compliance model maintained in ECU
* Model inputs:
  + spindle plate tilt
  + X-carriage strain
  + motor current
* Model output:
  + estimated tool/spindle deflection envelope
* Model characteristics:
  + calibrated using known static or quasi-static loads
  + evaluated only in steady-state conditions
  + versioned and recalibratable
* Model is:
  + a slow observer
  + not part of safety system

Machine State Estimation and Process Supervision
------------------------------------------------

### Purpose

* Combine sensor data into a coherent machine state
* Supervise the machining process based on estimated state
* Prevent tolerance loss, chatter, and spindle stall
* Never perform motion planning or trajectory generation

### Machine State Estimation

* State estimation performed in ECU
* Inputs:
  + vibration:
    - piezo surface microphones
    - accelerometers
  + quasi-static tilt:
    - low-pass-filtered accelerometer data
  + structural load:
    - X-carriage strain gauge
  + spindle load:
    - motor current
* Sensor fusion performed with explicit time-scale separation:
  + fast signals:
    - vibration
    - chatter indicators
  + slow signals:
    - tilt
    - strain
    - motor current envelope

### Machine State Classification

* ECU classifies the current operating state as:
  + normal operation
  + static overload / excessive compliance
  + dynamic instability (chatter)
  + incipient spindle stall

### Process Supervision Actions

* ECU supervises process only
* ECU does not:
  + control axis motion
  + modify trajectories
  + override safety systems
* Actions requested via:
  + Duet macros
  + GPIO signals for low latency

### Supervision Logic

* Static overload / excessive compliance:
  + detected by increased tilt and/or strain
  + action: reduce feed rate
* Dynamic instability (chatter):
  + detected by elevated vibration energy
  + action: adaptive spindle speed adjustment
* Incipient stall:
  + detected by rapid motor current increase
  + action: immediate feed reduction

### State Transitions and Hysteresis

* State transitions implemented using Schmitt-trigger logic
* Upper threshold:
  + spindle motor current ≥ 100 % rated
  + transition to reduced-feed state
* Lower threshold:
  + spindle motor current ≤ configurable value (e.g. 80 %)
  + maintained for configurable time
  + transition back to normal-feed state
* Hysteresis prevents oscillation and hunting

### Configuration and Scope

* All thresholds and timing parameters:
  + configurable via Raspberry Pi plugin
  + logged for analysis
* Supervisory logic:
  + non-safety-critical
  + fully disable-able
  + degrades gracefully if unavailable
* Safety functions remain hardware-only and independent

### Architecture Diagram

Fig. 1 shows the full state estimation and supervision architecture with sensor inputs, ECU processing layers, and output connections to the Duet and spindle drive.

![CNC state estimation, compliance supervision, and chatter control architecture: sensor inputs by time domain, ECU compliance model and chatter detection, state classification with hysteresis, and GPIO/RS-485 outputs to Duet and spindle drive.](https://blog.hirnschall.net/cnc-mill-concept/compliance-state-estimation-supervision/resources/img/state-estimation.jpg)


Figure 1: CNC state estimation, compliance supervision, and chatter control architecture: sensor inputs by time domain, ECU compliance model and chatter detection, state classification with hysteresis, and GPIO/RS-485 outputs to Duet and spindle drive.