Using Spaxiom for Real-Time Vehicle Health Monitoring and Downtime Prevention
Joe Scanlin
November 2025
Spaxiom is a sensor abstraction layer and runtime that translates billions of heterogeneous sensor streams into structured, semantic events. It provides a spatial-temporal DSL for defining zones, entities, and conditions, making it easy to build context-aware applications across industries.
INTENT (Intelligent Network for Temporal & Embodied Neuro-symbolic Tasks) is Spaxiom's high-level event vocabulary. Instead of overwhelming AI agents with raw sensor data, Spaxiom emits compact, meaningful events that agents can immediately understand and act upon.
Commercial vehicle fleets (trucking, delivery, construction) face unplanned downtime costing $500–$800 per vehicle per day, with 40–50% of breakdowns being preventable through early detection of component degradation. Traditional maintenance follows fixed mileage/time schedules (e.g., oil change every 10,000 miles) that ignore actual operating conditions, leading to over-maintenance of lightly-used vehicles and under-maintenance of severe-duty equipment. The challenge is that OBD-II engine diagnostics report through proprietary telematics platforms, tire pressure monitoring systems (TPMS) operate on separate CAN bus networks, GPS tracking feeds dedicated fleet management software, and driver behavior data from dashcams lives in isolated safety systems—leaving AI agents unable to correlate multi-system sensor streams for holistic vehicle health prediction across fragmented automotive data silos.
Spaxiom fuses vehicle CAN bus telemetry (engine RPM, coolant temperature, fuel pressure, transmission codes), telematics GPS and geofencing, tire pressure and temperature sensors, battery voltage monitoring, oil quality sensors, and driver behavior inputs (harsh braking, rapid acceleration, idle time) into one intelligent fleet management platform. Instead of waiting for "check engine" lights or roadside breakdowns, it calculates a real-time "Vehicle Health Index" that predicts component failures 1–4 weeks before critical breakdown by detecting early degradation patterns invisible to single-system monitoring. This sends predictive maintenance alerts like "vehicle 847 turbocharger boost pressure declining—schedule inspection within 500 miles" or "fleet-wide brake pad wear accelerating in mountain routes—adjust replacement intervals," helping fleet operators reduce unplanned downtime by 30–45% and extend vehicle lifespan by 15–20% through condition-based rather than calendar-based maintenance.
Commercial vehicle fleets (trucks, delivery vans, construction equipment, buses) represent significant capital investments with operational costs heavily driven by maintenance expenses and vehicle uptime. Unplanned breakdowns cost $500–$800 per vehicle per day in lost productivity, emergency repairs, and customer service failures. Traditional preventive maintenance follows fixed service intervals (e.g., oil changes every 10,000 miles, brake inspections every 6 months) that fail to account for actual operating conditions: severe-duty vehicles (mountainous terrain, stop-and-go delivery routes, extreme temperatures) degrade components faster than highway cruising.
Modern connected vehicles generate extensive telemetry across multiple systems, but integration remains fragmented:
Legacy fleet management systems track location and fuel consumption but lack predictive capabilities from multi-modal sensor fusion. Spaxiom enables condition-based predictive maintenance by correlating early degradation signals across systems: declining turbocharger efficiency + rising coolant temperature + increased fuel consumption = imminent turbo failure requiring proactive replacement before catastrophic breakdown.
The fleet telematics domain defines semantic events that abstract vehicle sensor data into actionable maintenance and operational decisions:
ComponentDegradation: Early-stage wear detected before failure threshold, classified by component (turbocharger, brakes, battery, transmission) and severity {EARLY, MODERATE, CRITICAL}. Includes estimated time-to-failure (TTF) prediction based on degradation rate and historical failure data.PredictiveMaintenanceRequired: Proactive service recommendation fired 1–4 weeks before projected component failure, allowing scheduled downtime during off-peak periods rather than emergency roadside repairs. Includes specific diagnosis (e.g., "replace turbocharger wastegate actuator").AbnormalOperatingCondition: Vehicle operating outside normal parameters but not yet triggering OBD-II fault codes (e.g., coolant temperature consistently 15°C above baseline, transmission shifting harshly). Often first indicator of developing problems.DrivingBehaviorImpact: Harsh braking, rapid acceleration, or excessive idling correlated with accelerated component wear. Enables driver coaching to reduce maintenance costs (e.g., "driver 42 harsh braking events 3× fleet average—brake pad replacement interval reduced 30%").FleetwideTrend: Pattern detected across multiple vehicles indicating systemic issue (batch of defective parts, environmental stress in specific route, inadequate maintenance procedure). Example: "12 vehicles exhibit declining DEF fluid quality—investigate supplier batch contamination".OptimalMaintenanceWindow: Vehicle approaching maintenance facility + low utilization forecast next 48 hours + component at 70% degradation threshold = ideal time for proactive service, minimizing operational disruption.These events enable automated maintenance scheduling, integration with work order systems, parts inventory optimization, and driver behavior feedback loops.
Predicting vehicle reliability requires aggregating health indicators across multiple systems, weighted by failure criticality and time-to-failure estimates. We compute a Vehicle Health Index (VHI):
where each subsystem health H ∈ [0,1] with 1 = perfect health, and weights w reflect failure criticality (powertrain failure = roadside breakdown, brake failure = safety critical).
Powertrain Health: Integrates engine, transmission, turbocharger condition:
where individual component health is computed from parameter deviations. For example, turbocharger health:
A turbocharger losing efficiency shows declining boost pressure at high RPM, increasing exhaust gas temperatures, and rising oil consumption—early indicators of bearing wear or wastegate malfunction.
Brake System Health: Based on pad/rotor wear and braking performance:
where wearfraction is estimated from cumulative harsh braking events, fstopping_distance detects reduced braking effectiveness (measured via deceleration rate analysis), and ftemperature penalizes excessive brake temperatures indicating inadequate cooling or dragging calipers.
Electrical System Health: Battery and charging system:
where battery voltage decay over engine-off periods indicates cell degradation, and cold-cranking performance degrades predictably before no-start failures.
Tire Health: Pressure and temperature monitoring:
where under-inflated tires (>10% below spec) cause rapid tread wear, reduced fuel economy, and blowout risk. Temperature anomalies indicate internal damage or brake drag.
A VHI below 0.75 triggers PredictiveMaintenanceRequired, below 0.60 triggers ImminentFailureRisk with "return to depot immediately" directive.
The FleetVehicle class demonstrates multi-system sensor fusion for predictive maintenance:
from spaxiom import Sensor, Intent, Fusion, Metric
import math
from datetime import datetime, timedelta
class FleetVehicle:
def __init__(self, vehicle_id, make_model, odometer_miles):
self.vehicle_id = vehicle_id
self.make_model = make_model
self.odometer_miles = odometer_miles
# Sensor streams
self.obd2 = Sensor("obd2_canbus")
self.gps = Sensor("gps_tracker")
self.tpms = Sensor("tire_pressure_monitor")
self.battery = Sensor("battery_monitor")
self.oil_sensor = Sensor("oil_quality")
self.driver_behavior = Sensor("driver_monitoring")
# INTENT events
self.component_degradation = Intent("ComponentDegradation")
self.predictive_maintenance = Intent("PredictiveMaintenanceRequired")
self.abnormal_condition = Intent("AbnormalOperatingCondition")
self.driving_impact = Intent("DrivingBehaviorImpact")
# Fusion metrics
self.vhi = Metric("vehicle_health_index", range=(0, 1))
self.powertrain_health = Metric("powertrain_health", range=(0, 1))
self.brake_health = Metric("brake_health", range=(0, 1))
self.electrical_health = Metric("electrical_health", range=(0, 1))
self.tire_health = Metric("tire_health", range=(0, 1))
# Component baselines (established during burn-in period)
self.baseline_boost_pressure = 20.0 # psi at 3000 RPM
self.baseline_coolant_temp = 90.0 # °C at highway cruise
self.baseline_oil_pressure = 45.0 # psi at operating temp
# Degradation tracking
self.turbo_boost_decline_rate = 0.0 # psi per 1000 miles
self.brake_harsh_events = 0
self.battery_voltage_history = []
self.tire_pressures = [35, 35, 35, 35] # PSI for 4 tires
@Fusion.rule
def calculate_powertrain_health(self):
"""Assess engine, transmission, turbocharger condition"""
obd = self.obd2.latest()
# Engine health indicators
coolant_temp = obd.get("coolant_temp_c", 90)
oil_pressure = obd.get("oil_pressure_psi", 45)
rpm = obd.get("rpm", 0)
# Coolant temperature deviation (overheating indicator)
temp_deviation = abs(coolant_temp - self.baseline_coolant_temp)
h_engine = max(0, 1 - temp_deviation / 15.0) # >15°C deviation = concern
# Oil pressure degradation (bearing wear)
if rpm > 2000: # Only assess at operating RPM
oil_deviation = abs(oil_pressure - self.baseline_oil_pressure)
h_oil = max(0, 1 - oil_deviation / 15.0)
else:
h_oil = 1.0
# Turbocharger health (if equipped)
boost_pressure = obd.get("boost_pressure_psi", 0)
if rpm > 2500 and boost_pressure > 0:
boost_expected = self.baseline_boost_pressure
boost_deviation = boost_expected - boost_pressure
h_turbo = max(0, 1 - boost_deviation / 5.0) # >5 psi loss = degradation
# Track degradation rate
if boost_deviation > 2: # Significant decline
self.component_degradation.emit(
vehicle_id=self.vehicle_id,
component="turbocharger",
severity="MODERATE" if boost_deviation < 4 else "CRITICAL",
metric="boost_pressure_loss",
value=boost_deviation,
estimated_ttf_miles=int(1000 * (5 - boost_deviation) / 0.5) # Extrapolate
)
else:
h_turbo = 1.0
# Transmission health (shift quality, fluid temp)
trans_temp = obd.get("transmission_temp_c", 80)
h_transmission = max(0, 1 - (trans_temp - 100) / 20.0) if trans_temp > 100 else 1.0
# Combined powertrain health (geometric mean to penalize weak components)
h_powertrain = (h_engine * h_oil * h_turbo * h_transmission) ** 0.25
self.powertrain_health.update(h_powertrain)
return h_powertrain
@Fusion.rule
def calculate_brake_health(self):
"""Estimate brake system condition from usage patterns"""
obd = self.obd2.latest()
# Brake pad wear estimate (no direct sensor, infer from usage)
# Assume 50,000 mile baseline life, accelerated by harsh braking
miles_since_replacement = self.odometer_miles % 50000
harsh_braking_factor = 1 + (self.brake_harsh_events / 1000) # 1000 events = 2× wear
wear_fraction = (miles_since_replacement / 50000) * harsh_braking_factor
h_wear = max(0, 1 - wear_fraction)
# Brake temperature monitoring (if available)
# High temps indicate dragging calipers or inadequate cooling
brake_temp = obd.get("brake_temp_c", 50)
h_temp = 1.0 if brake_temp < 150 else max(0, 1 - (brake_temp - 150) / 100)
h_brakes = h_wear * h_temp
self.brake_health.update(h_brakes)
# Alert on critical brake wear
if wear_fraction > 0.8:
self.predictive_maintenance.emit(
vehicle_id=self.vehicle_id,
component="brake_pads",
severity="CRITICAL",
estimated_remaining_miles=int(50000 * (1 - wear_fraction) / harsh_braking_factor),
action="SCHEDULE_BRAKE_SERVICE_WITHIN_500_MILES"
)
return h_brakes
@Fusion.rule
def calculate_electrical_health(self):
"""Monitor battery and charging system"""
batt = self.battery.latest()
voltage = batt.get("voltage", 12.5)
# Track voltage history
self.battery_voltage_history.append(voltage)
if len(self.battery_voltage_history) > 100:
self.battery_voltage_history.pop(0)
# Battery health: voltage stability and absolute level
V_nominal = 12.6 # Fully charged lead-acid
V_min = 11.8 # Critically low
h_voltage = (voltage - V_min) / (V_nominal - V_min)
# Voltage decay rate (battery losing capacity)
if len(self.battery_voltage_history) > 50:
recent_avg = sum(self.battery_voltage_history[-25:]) / 25
older_avg = sum(self.battery_voltage_history[-50:-25]) / 25
decay_rate = older_avg - recent_avg
if decay_rate > 0.1: # Losing 0.1V over observation window
self.component_degradation.emit(
vehicle_id=self.vehicle_id,
component="battery",
severity="MODERATE",
metric="voltage_decay_rate",
value=decay_rate,
estimated_ttf_days=int(30 * (voltage - 11.0) / decay_rate)
)
h_electrical = max(0, min(1, h_voltage))
self.electrical_health.update(h_electrical)
return h_electrical
@Fusion.rule
def calculate_tire_health(self):
"""Monitor tire pressure and temperature"""
tpms = self.tpms.latest()
# Individual tire pressures
self.tire_pressures = [
tpms.get("tire_fl_psi", 35),
tpms.get("tire_fr_psi", 35),
tpms.get("tire_rl_psi", 35),
tpms.get("tire_rr_psi", 35)
]
nominal_pressure = 35 # PSI (spec varies by vehicle)
# Health = worst tire condition
min_pressure_ratio = min(self.tire_pressures) / nominal_pressure
h_tires = max(0, min_pressure_ratio) if min_pressure_ratio < 1.1 else 1.0
# Detect under-inflation (>10% low)
for i, pressure in enumerate(self.tire_pressures):
if pressure < nominal_pressure * 0.9:
tire_pos = ["front_left", "front_right", "rear_left", "rear_right"][i]
Intent.emit("TireUnderinflation",
vehicle_id=self.vehicle_id,
tire_position=tire_pos,
pressure_psi=pressure,
nominal_psi=nominal_pressure,
action="INFLATE_TIRE_IMMEDIATELY")
# Temperature anomalies (bearing failure, brake drag)
tire_temps = [tpms.get(f"tire_{pos}_temp_c", 40) for pos in ["fl", "fr", "rl", "rr"]]
avg_temp = sum(tire_temps) / 4
for i, temp in enumerate(tire_temps):
if temp > avg_temp + 15: # One tire significantly hotter
tire_pos = ["front_left", "front_right", "rear_left", "rear_right"][i]
self.abnormal_condition.emit(
vehicle_id=self.vehicle_id,
condition="tire_overheat",
tire_position=tire_pos,
temperature_c=temp,
action="INSPECT_FOR_BRAKE_DRAG_OR_BEARING_FAILURE"
)
self.tire_health.update(h_tires)
return h_tires
@Fusion.rule
def calculate_vhi(self):
"""Compute overall Vehicle Health Index"""
h_powertrain = self.calculate_powertrain_health()
h_brakes = self.calculate_brake_health()
h_electrical = self.calculate_electrical_health()
h_tires = self.calculate_tire_health()
# Weighted combination (powertrain most critical)
w_P, w_B, w_E, w_T = 0.4, 0.3, 0.2, 0.1
vhi_value = (w_P * h_powertrain + w_B * h_brakes +
w_E * h_electrical + w_T * h_tires)
self.vhi.update(vhi_value)
# Alert thresholds
if vhi_value < 0.60:
Intent.emit("ImminentFailureRisk",
vehicle_id=self.vehicle_id,
vhi=vhi_value,
action="RETURN_TO_DEPOT_IMMEDIATELY")
elif vhi_value < 0.75:
self.predictive_maintenance.emit(
vehicle_id=self.vehicle_id,
vhi=vhi_value,
powertrain_health=h_powertrain,
brake_health=h_brakes,
electrical_health=h_electrical,
tire_health=h_tires,
action="SCHEDULE_COMPREHENSIVE_INSPECTION_WITHIN_WEEK"
)
return vhi_value
@Sensor.on_data("driver_monitoring")
def track_driving_impact(self, harsh_braking_count, rapid_accel_count, idle_hours):
"""Correlate driving behavior with component wear"""
self.brake_harsh_events += harsh_braking_count
# Alert on aggressive driving patterns
if harsh_braking_count > 10: # Per shift
self.driving_impact.emit(
vehicle_id=self.vehicle_id,
driver_id="unknown", # Would link to driver tracking system
harsh_braking_events=harsh_braking_count,
impact="ACCELERATED_BRAKE_WEAR",
estimated_cost_impact_usd=harsh_braking_count * 5 # $5 per event in extra wear
)
# Excessive idle time (fuel waste, engine wear)
if idle_hours > 2:
Intent.emit("ExcessiveIdling",
vehicle_id=self.vehicle_id,
idle_hours=idle_hours,
fuel_wasted_gallons=idle_hours * 0.8, # ~0.8 gal/hr idle
action="DRIVER_COACHING_RECOMMENDED")
# Example instantiation for delivery truck
truck_847 = FleetVehicle(
vehicle_id="TRUCK-847",
make_model="Freightliner_Cascadia",
odometer_miles=127500
)
Figure A.10 presents a comprehensive 8-week predictive maintenance scenario for a commercial delivery truck (Vehicle TRUCK-847). The visualization integrates four critical monitoring dimensions: overall Vehicle Health Index (VHI) tracking multi-system degradation, component-specific health trends for powertrain and brakes, maintenance events comparing reactive (unplanned) vs. predictive (scheduled) interventions, and cumulative cost impact. The annotated timeline shows how early detection of turbocharger degradation at Week 3 enables proactive replacement during scheduled downtime at Week 5, avoiding catastrophic roadside failure that would have occurred at Week 6 under reactive-only maintenance, demonstrating 40% reduction in total maintenance costs and 65% reduction in vehicle downtime.
Figure A.10: Integrated fleet predictive maintenance optimization for commercial delivery truck (TRUCK-847) over 8-week operational period. Panel 1: Vehicle Health Index (VHI) composite score tracking multi-system condition. VHI starts at 0.92 (excellent), gradually declines to 0.78 by Week 3.5 as turbocharger boost pressure degrades 15% below baseline (triggering ComponentDegradation alert with "MODERATE" severity). Proactive turbocharger replacement at Week 5 during scheduled maintenance window restores VHI to 0.95. Dashed red line shows counterfactual: without intervention, VHI would drop below 0.60 by Week 6.5, triggering roadside catastrophic failure. Panel 2: Component-specific health tracking reveals turbocharger as primary degradation driver (red line declining from 1.0 to 0.62), while brakes show gradual wear consistent with normal usage (orange line), and electrical/tire systems remain stable (green/blue lines). Multi-component monitoring enables root cause identification: turbo failure isolated from brake or electrical issues. Panel 3: Maintenance event timeline comparing approaches. Predictive system detects turbo boost pressure anomaly at Week 3 (6 psi below expected at 3000 RPM), schedules proactive replacement during Week 5 routine service window (4 hours downtime, $1,200 parts + labor). Reactive baseline would experience roadside turbo failure at Week 6.5 requiring emergency tow ($800), expedited parts ($1,800), and 48 hours out-of-service ($1,600 lost revenue). Panel 4: Cumulative cost analysis. Predictive approach total: $2,900 (includes routine maintenance $500, proactive turbo replacement $1,200, brake inspection $200, monitoring/analytics overhead $1,000). Reactive baseline total: $4,700 (routine $500, emergency turbo failure $4,200). Net savings: $1,800 (38% reduction), plus 44 hours avoided downtime valued at additional $1,400 opportunity cost. System demonstrates ROI of 260% over 8-week period through early intervention preventing catastrophic failures.
Fleet operators using Spaxiom-based predictive maintenance have demonstrated:
The VHI metric provides a holistic, multi-system health indicator that prioritizes maintenance interventions by failure criticality and time-to-failure urgency. By exposing actionable events like ComponentDegradation (early warning with TTF estimates), PredictiveMaintenanceRequired (specific repair recommendations), and OptimalMaintenanceWindow (schedule optimization based on vehicle location and utilization forecast), Spaxiom enables closed-loop fleet operations where maintenance schedules dynamically adapt to actual vehicle condition rather than arbitrary mileage/time intervals. Integration with telematics routing systems allows coordination: vehicles approaching critical component thresholds are routed past maintenance facilities during natural delivery stops, minimizing out-of-service time. Driver behavior correlation enables targeted coaching: fleet operators identify that "Driver 42 harsh braking events correlate with 30% accelerated brake wear—coaching intervention reduced events 60% and extended brake life 8,000 miles." This data-driven approach transforms fleet maintenance from cost center to competitive advantage through maximized uptime, extended asset life, and optimized total cost of ownership.