# Sensor Fusion Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/ai-measurement-semantics/sensor-fusion-ontology.html
FLOW SensorFusionOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> AI Measurement Semantics
-> Sensor Fusion Ontology
PURPOSE:
Represent sensor fusion as the machine-interpretable integration of observations from multiple sensors, instruments, modalities, models or measurement sources to estimate quantities, states, events or classifications with explicit treatment of units, dimensions, coordinate frames, timing, calibration, uncertainty, covariance, dependence, bias, drift, reliability, provenance and validation. The ontology models measurement-level, feature-level and decision-level fusion; deterministic and probabilistic fusion; weighted estimators; Kalman-family filtering; Bayesian fusion; information filters; particle methods; multisensor registration; synchronisation; redundancy; complementary sensing; fault detection; outlier rejection; data association; track fusion; spatial transformations; uncertainty propagation; provenance; semantic confidence; recursive updates and machine-consumable reasoning while preventing correlated, incompatible, stale, misregistered or semantically different measurements from being naively combined.
ENTITY SensorFusion {
TYPE: MultiSourceMeasurementInferenceProcess
PROPERTIES:
has_sources
has_observations
has_target_state
has_fusion_level
has_fusion_method
has_coordinate_context
has_temporal_context
has_uncertainty
has_covariance
has_calibration
has_provenance
has_validation
produces_fused_estimate
}
ENTITY Sensor {
TYPE: MeasurementSource
PROPERTIES:
has_identifier
has_quantity_kind
has_unit
has_dimension
has_coordinate_frame
has_sampling_model
has_calibration
has_uncertainty
has_bias
has_latency
has_reliability
}
ENTITY Observation {
TYPE: SensorMeasurement
COMPONENTS:
source_identifier
timestamp
measured_value
unit
quantity_kind
coordinate_frame
uncertainty
quality_flags
provenance
}
ENTITY FusedEstimate {
TYPE: DerivedMeasurementOrStateEstimate
COMPONENTS:
target_quantity_orstate
estimate
uncertainty
covariance
timestamp
reference_frame
source_contributions
algorithm
provenance
}
ENTITY StateVector {
TYPE: EstimatedSystemState
FORM:
x =
[x_1,x_2,...,x_n]^T
RULE:
component_order_units_andsemantic_meanings MUST be preserved
}
FUSION_LEVEL_MODEL {
levels:
raw_data_level
measurement_level
feature_level
state_level
decision_level
RULE:
fusion_level MUST be explicit
}
RAW_DATA_FUSION_MODEL {
inputs:
minimally_processed_sensor_outputs
RULE:
raw_sources_require_calibration_registration_andtiming_context
}
MEASUREMENT_LEVEL_FUSION_MODEL {
inputs:
calibrated_measurements_of_same_orrelated_quantity
output:
fused_measurement
RULE:
quantity_kind_andreference_frame_compatibility MUST be validated
}
FEATURE_LEVEL_FUSION_MODEL {
inputs:
derived_features
RULE:
feature_extraction_provenance MUST be preserved
}
DECISION_LEVEL_FUSION_MODEL {
inputs:
classifications_decisions_orprobabilities
RULE:
decision_semantics_andcalibration MUST be compatible
}
HOMOGENEOUS_SENSOR_MODEL {
sources:
sensors_measuring_same_quantity_kind
benefit:
redundancy
precision_improvement
fault_detection
RULE:
common_mode_dependencies MUST be considered
}
HETEROGENEOUS_SENSOR_MODEL {
sources:
different_modalities_orquantity_kinds
benefit:
complementary_information
RULE:
fusion_requires_explicit_measurement_model_linking_sources_to_common_state
}
REDUNDANT_FUSION_MODEL {
multiple_sources:
observe_same_oroverlapping_state_information
RULE:
redundancy_does_not_imply_independence
}
COMPLEMENTARY_FUSION_MODEL {
sources:
observe_different_aspects_orfrequency_ranges
example:
accelerometer_plus_gyroscope
GNSS_plus_inertial
camera_plus_lidar
RULE:
complementary_measurement_models MUST be explicit
}
CENTRALIZED_FUSION_MODEL {
architecture:
raw_orprocessed_source_data_sent_to_central_estimator
RULE:
source_covariance_andcross_correlation SHOULD be preserved
}
DECENTRALIZED_FUSION_MODEL {
architecture:
local_estimators_produce_intermediate_estimates
RULE:
cross_correlation_between_local_estimates MAY be difficult_and_must_not_be ignored_without_basis
}
DISTRIBUTED_FUSION_MODEL {
nodes:
exchange_information_peer_to_peer
RULE:
repeated_information_can_cause_double_counting
}
HIERARCHICAL_FUSION_MODEL {
layers:
local_sensor
subsystem
system
global
RULE:
lineage MUST show_each_fusion_stage
}
MEASUREMENT_MODEL {
generic:
z_k =
h(x_k)+v_k
WHERE:
z_k = observation
x_k = state
h = measurement_function
v_k = measurement_noise
RULE:
measurement_function MUST map_state_to_sensor_observation_space
}
LINEAR_MEASUREMENT_MODEL {
z_k =
H_k*x_k+v_k
covariance:
R_k =
Cov(v_k)
}
NONLINEAR_MEASUREMENT_MODEL {
z_k =
h(x_k)+v_k
RULE:
nonlinear_fusion_method MUST account_for_model_nonlinearity
}
PROCESS_MODEL {
x_k =
f(x_(k-1),u_k)+w_k
covariance:
Q_k =
Cov(w_k)
RULE:
process_model_andnoise_semantics MUST be preserved
}
STATIC_FUSION_MODEL {
target:
common_static_quantity
sources:
x_i
RULE:
temporal_dynamics_not_required_but_correlation_still_matters
}
DYNAMIC_FUSION_MODEL {
target:
time_varying_state
REQUIRE:
process_model
timestamps
measurement_models
RULE:
stale_measurements MUST be handled_explicitly
}
WEIGHTED_MEAN_MODEL {
independent_estimates:
x_i
weights:
w_i
fused:
x_f =
sum_i(w_i*x_i)/sum_i(w_i)
REQUIRE:
sum_i(w_i) != 0
RULE:
weight_semantics MUST be defined
}
INVERSE_VARIANCE_FUSION_MODEL {
independent_scalar_estimates:
variance_i =
sigma_i^2
weights:
w_i =
1/sigma_i^2
fused_variance:
sigma_f^2 =
1/sum_i(w_i)
RULE:
formula_requires_independent_unbiased_estimates_of_common_quantity_under_model
}
CORRELATED_FUSION_MODEL {
observations:
y
covariance:
Sigma
common_scalar_model:
y =
1*x+noise
BLUE:
x_hat =
(1^T*Sigma^-1*y)/
(1^T*Sigma^-1*1)
variance:
1/(1^T*Sigma^-1*1)
RULE:
covariance_matrix MUST include_cross_source_dependencies
}
BLUE_MODEL {
full_name:
Best_Linear_Unbiased_Estimator
RULE:
optimality_is_relative_to_linear_unbiased_model_andknown_covariance
}
LEAST_SQUARES_MODEL {
objective:
minimise_residual_norm
RULE:
weighting_andcovariance SHOULD reflect_measurement_uncertainty
}
WEIGHTED_LEAST_SQUARES_MODEL {
residual:
r =
z-h(x)
objective:
r^T*W*r
common:
W =
R^-1
RULE:
W_must_be_dimensionally_andstatistically_valid
}
MAXIMUM_LIKELIHOOD_MODEL {
estimate:
argmax_x p(z|x)
RULE:
likelihood_model MUST include_sensor_noise_anddependencies
}
BAYESIAN_FUSION_MODEL {
posterior:
p(x|z_1,...,z_n)
proportional_to
p(z_1,...,z_n|x)*p(x)
RULE:
conditional_independence MUST not_be assumed_without_model
}
PRIOR_MODEL {
state_prior:
p(x)
RULE:
prior_source_andtime MUST be preserved
}
LIKELIHOOD_MODEL {
sensor:
p(z_i|x)
RULE:
likelihood_calibration_is_critical_for_probabilistic_fusion
}
POSTERIOR_MODEL {
fused_distribution:
p(x|Z)
RULE:
posterior_uncertainty_is_model_dependent
}
KALMAN_FILTER_MODEL {
linear_Gaussian:
prediction
update
prediction:
x_k_minus =
F_k*x_(k-1)+B_k*u_k
P_k_minus =
F_k*P_(k-1)*F_k^T+Q_k
update:
innovation =
z_k-H_k*x_k_minus
S_k =
H_k*P_k_minus*H_k^T+R_k
K_k =
P_k_minus*H_k^T*S_k^-1
x_k =
x_k_minus+K_k*innovation
P_k =
(I-K_k*H_k)*P_k_minus
RULE:
dimensions_frames_andcovariances MUST be consistent
}
JOSEPH_COVARIANCE_MODEL {
P_k =
(I-KH)*P_minus*(I-KH)^T
+K*R*K^T
RULE:
Joseph_form_can_improve_numerical_covariance_consistency
}
EXTENDED_KALMAN_MODEL {
nonlinear:
f
h
linearisation:
Jacobians_F_and_H
RULE:
linearisation_point_andJacobians MUST be preserved
}
UNSCENTED_KALMAN_MODEL {
nonlinear:
sigma_points_propagated_through_models
RULE:
sigma_point_parameters_andweights MUST be preserved
}
INFORMATION_FILTER_MODEL {
information_matrix:
Y =
P^-1
information_vector:
y =
Y*x
RULE:
singular_orill_conditioned_covariance_requires_special_handling
}
PARTICLE_FILTER_MODEL {
particles:
x_k^(i)
weights:
w_k^(i)
operations:
propagate
weight
normalise
resample
RULE:
particle_count_resampling_method_andrandom_seed SHOULD be preserved
}
MONTE_CARLO_FUSION_MODEL {
samples:
propagate_nonlinear_uncertainty
RULE:
sampling_error_andseed_or stochastic_state SHOULD be recorded
}
COVARIANCE_INTERSECTION_MODEL {
use:
combine_estimates_when_cross_correlation_unknown
generic:
P_f^-1 =
omega*P_1^-1
+(1-omega)*P_2^-1
x_f =
P_f*(
omega*P_1^-1*x_1
+(1-omega)*P_2^-1*x_2
)
REQUIRE:
0 <= omega <= 1
RULE:
method_is_conservative_relative_to_unknown_correlation_context
}
DOUBLE_COUNTING_MODEL {
problem:
same_information_enters_fusion_multiple_times
causes:
shared_reference
previous_fusion_result_reused
network_loops
common_prior
RULE:
lineage_andcross_correlation MUST be checked
}
COMMON_MODE_MODEL {
error:
affects_multiple_sensors_similarly
examples:
shared_clock
shared_temperature
shared_reference
common_power_supply
common_algorithm
RULE:
common_mode_error_limits_benefit_of_redundant_fusion
}
COVARIANCE_MODEL {
P:
state_covariance
R:
measurement_covariance
Q:
process_covariance
RULE:
covariance_variable_order_units_andframes MUST be preserved
}
CROSS_COVARIANCE_MODEL {
P_12 =
Cov(x_1,x_2)
RULE:
cross_covariance MUST be retained_when_known
}
CORRELATION_MODEL {
rho:
normalised_covariance
RULE:
correlation != causal_relationship
}
UNCERTAINTY_PROPAGATION_MODEL {
nonlinear:
Jacobian_orMonte_Carlo
RULE:
fused_uncertainty MUST include_source_model_andcross_correlation_components
}
SENSOR_BIAS_MODEL {
observation:
z =
h(x)+b+v
RULE:
bias_should_be estimated_corrected_orincluded_in_state_model
}
BIAS_STATE_MODEL {
augmented_state:
[physical_state,bias_parameters]
RULE:
observability_of_bias MUST be considered
}
DRIFT_MODEL {
bias_or scale:
changes_over_time
RULE:
drift_model SHOULD be linked_to_time_andenvironment
}
SCALE_FACTOR_MODEL {
sensor:
z =
k*h(x)+b+v
RULE:
calibration_scale_uncertainty MUST be preserved
}
CALIBRATION_MODEL {
each_sensor:
calibration_relation
uncertainty
validity
RULE:
fusion_does_not_remove_need_for_sensor_calibration
}
CROSS_CALIBRATION_MODEL {
sensors:
estimate_relative_bias_scale_oralignment
RULE:
cross_calibration_requires_reference_oridentifiability_conditions
}
SELF_CALIBRATION_MODEL {
system:
estimates_calibration_parameters_from_operational_data
RULE:
self_calibration_result_requires_observability_andvalidation
}
TEMPORAL_SYNCHRONISATION_MODEL {
sensors:
timestamps_mapped_to_common_time_reference
RULE:
fusion_requires_time_alignment_within_application_tolerance
}
CLOCK_OFFSET_MODEL {
sensor_time:
t_i
common_time:
t =
t_i+delta_t_i
RULE:
clock_offset_uncertainty MAY propagate_to_state_uncertainty
}
CLOCK_DRIFT_MODEL {
offset:
changes_over_time
RULE:
clock_model SHOULD include_drift_when_material
}
LATENCY_MODEL {
observation:
generated_at_t
received_at_t_plus_latency
RULE:
acquisition_time_andarrival_time MUST be distinguished
}
OUT_OF_SEQUENCE_MODEL {
measurement:
arrives_after_newer_measurements
RULE:
estimator MUST define_out_of_sequence_policy
}
STALE_DATA_MODEL {
age:
current_time-observation_time
RULE:
stale_threshold MUST be application_specific
}
RESAMPLING_MODEL {
sources:
different_sample_rates
process:
interpolate_decimate_oraggregate_to_common_time_grid
RULE:
resampling_changes_noise_andcorrelation_structure
}
INTERPOLATION_MODEL {
estimate:
value_between_samples
RULE:
interpolation_uncertainty MUST be considered_when_material
}
COORDINATE_FRAME_MODEL {
fields:
frame_identifier
origin
axes
orientation
handedness
units
RULE:
measurements_in_different_frames MUST be transformed_before_direct_fusion
}
FRAME_TRANSFORMATION_MODEL {
vector:
p_B =
R_BA*p_A+t_BA
RULE:
transform_direction_andconvention MUST be explicit
}
ROTATION_MODEL {
possible:
rotation_matrix
quaternion
Euler_angles
RULE:
rotation_convention_andorder MUST be preserved
}
QUATERNION_MODEL {
q:
unit_quaternion
REQUIRE:
||q|| =
1
within_tolerance
RULE:
quaternion_sign_equivalence_andframe_convention MUST be handled
}
EXTRINSIC_CALIBRATION_MODEL {
sensors:
relative_pose
fields:
rotation
translation
uncertainty
validity
RULE:
extrinsic_calibration_version MUST be linked_to_fusion_result
}
INTRINSIC_CALIBRATION_MODEL {
sensor:
internal_parameters
examples:
camera_intrinsics
lidar_scale
IMU_bias_scale
RULE:
intrinsic_parameters MUST be versioned
}
REGISTRATION_MODEL {
datasets:
align_spatially_or temporally
RULE:
registration_error MUST contribute_to_uncertainty
}
SPATIAL_UNCERTAINTY_MODEL {
pose:
covariance_in_declared_coordinate_parameterisation
RULE:
covariance_transform MUST follow_frame_transformation
}
COVARIANCE_TRANSFORM_MODEL {
y =
f(x)
first_order:
P_y =
J*P_x*J^T
RULE:
Jacobian MUST match_coordinate_convention
}
DATA_ASSOCIATION_MODEL {
problem:
determine_which_observation_corresponds_to_which_target_orfeature
outputs:
association_hypothesis
probability_orcost
RULE:
association_uncertainty MUST be considered
}
GATING_MODEL {
innovation:
nu
covariance:
S
Mahalanobis_distance:
d2 =
nu^T*S^-1*nu
RULE:
gate_threshold MUST correspond_to_declared_dimension_andprobability_model
}
NEAREST_NEIGHBOUR_MODEL {
association:
choose_lowest_valid_cost
RULE:
nearest != necessarily_correct
}
JPDA_MODEL {
full_name:
Joint_Probabilistic_Data_Association
RULE:
association_probabilities_andtarget_hypotheses MUST be preserved
}
MULTIPLE_HYPOTHESIS_MODEL {
hypotheses:
maintained_over_time
RULE:
pruning_andmerging_policy MUST be recorded
}
TRACK_MODEL {
target:
state_estimate_over_time
fields:
track_identifier
state
covariance
history
source_associations
quality
provenance
RULE:
track_identity MUST be distinct_from_sensor_identity
}
TRACK_TO_TRACK_FUSION_MODEL {
inputs:
local_tracks
RULE:
cross_correlation_andshared_measurements MUST be considered
}
TRACK_MANAGEMENT_MODEL {
stages:
initiation
confirmation
maintenance
coasting
termination
RULE:
lifecycle_state MUST be preserved
}
FAULT_DETECTION_MODEL {
evidence:
residuals
redundancy
diagnostics
consistency_checks
RULE:
disagreement_does_not_identify_faulty_sensor_without_additional_evidence
}
RESIDUAL_MODEL {
innovation:
z-h(x_pred)
RULE:
residual_expected_distribution_depends_onmodel_andcovariance
}
NORMALIZED_INNOVATION_MODEL {
NIS =
nu^T*S^-1*nu
RULE:
NIS_interpretation_requires_measurement_dimension_andstatistical_model
}
SENSOR_HEALTH_MODEL {
statuses:
healthy
degraded
suspect
failed
unavailable
unknown
RULE:
health_state MUST be time_stamped
}
FAULT_ISOLATION_MODEL {
purpose:
identify_source_orcomponent_causing_inconsistency
RULE:
isolation_confidence MUST be represented
}
FAULT_TOLERANT_FUSION_MODEL {
process:
detect
isolate
exclude_or downweight
reconfigure
RULE:
excluded_sensor_andreason MUST remain_in_provenance
}
OUTLIER_MODEL {
observation:
inconsistent_with_declared_fusion_model
RULE:
outlier != automatically_sensor_fault
}
ROBUST_FUSION_MODEL {
possible:
Huber_loss
M_estimators
trimmed_fusion
RANSAC
heavy_tailed_likelihood
RULE:
robust_method_andparameters MUST be preserved
}
RANSAC_MODEL {
process:
sample_hypotheses
fit_model
classify_inliers
choose_consensus
RULE:
random_seed_threshold_anditeration_policy SHOULD be recorded
}
ADAPTIVE_WEIGHT_MODEL {
weights:
change_based_onestimated_quality_ornoise
RULE:
adaptation_rule MUST avoid_feedback_that_masks_real_faults_without_detection
}
RELIABILITY_MODEL {
source:
probability_orordinal_health_measure
RULE:
reliability_score != measurement_uncertainty
}
QUALITY_WEIGHT_MODEL {
fusion_weight:
may_depend_on
uncertainty
health
age
calibration
environment
RULE:
weighting_logic MUST be explicit_andvalidated
}
AVAILABILITY_MODEL {
sensor:
available_or unavailable
RULE:
fusion_architecture SHOULD degrade_gracefully_when_source_missing
}
MISSING_SENSOR_MODEL {
source:
expected_but absent
RULE:
missing_source MUST not_be replaced_with_zero_measurement
}
MODALITY_MODEL {
possible:
inertial
satellite_navigation
optical
lidar
radar
acoustic
magnetic
pressure
temperature
chemical
biological
RULE:
modality_specific_measurement_models MUST be preserved
}
GNSS_IMU_MODEL {
GNSS:
absolute_position_velocity_time_information
IMU:
high_rate_specific_force_andangular_rate
fusion:
complementary_long_andshort_term_information
RULE:
frames_gravity_model_biases_andtime_alignment MUST be explicit
}
CAMERA_LIDAR_MODEL {
camera:
image_features_colour_texture
lidar:
range_geometry
RULE:
intrinsic_extrinsic_andtemporal_calibration_are_required
}
RADAR_CAMERA_MODEL {
radar:
range_velocity_angle_information
camera:
image_semantics_andbearing
RULE:
association_andframe_registration MUST be explicit
}
COMPLEMENTARY_FILTER_MODEL {
sources:
separated_byfrequency_response
example:
low_frequency_absolute_reference
high_frequency_relative_sensor
RULE:
filter_transfer_functions SHOULD sum_to desired_combined_response
}
FREQUENCY_DOMAIN_FUSION_MODEL {
source_information:
weighted_byfrequency
RULE:
spectral_noise_andphase MUST be considered
}
MULTIRATE_FUSION_MODEL {
sensors:
different_sampling_rates
RULE:
estimator MUST process_measurements_at_correct_timestamps
}
EVENT_DRIVEN_FUSION_MODEL {
update:
occurs_when_measurement_arrives
RULE:
arrival_time != measurement_time
}
BATCH_FUSION_MODEL {
observations:
processed_jointly_over_window
possible:
least_squares
factor_graph
smoothing
RULE:
window_andboundary_conditions MUST be preserved
}
SMOOTHING_MODEL {
estimate:
state_at_time_using_past_andfuture_observations
RULE:
smoothed_estimate != real_time_filtered_estimate
}
FACTOR_GRAPH_MODEL {
variables:
state_nodes
factors:
measurement_process_prior_constraints
RULE:
factor_identity_noise_model_andconnected_variables MUST be preserved
}
OPTIMISATION_MODEL {
objective:
sum_of_measurement_andprocess_costs
RULE:
local_minima_parameterisation_andconvergence_status MUST be recorded
}
OBSERVABILITY_MODEL {
state:
inferable_from_measurement_history_andmodel
RULE:
unobservable_components MUST not_be reported_with_false_confidence
}
IDENTIFIABILITY_MODEL {
parameter:
distinguishable_from_available_measurements
RULE:
calibration_parameter_fusion_requires_identifiability
}
CONSISTENCY_MODEL {
estimator:
stated_covariance_matches_actual_error_statistics_under_model
RULE:
overconfident_fusion_is_inconsistent
}
NEES_MODEL {
normalized_estimation_error_squared:
e^T*P^-1*e
when_reference_truth_available
RULE:
interpretation_requires_state_dimension_andstatistical_assumptions
}
VALIDATION_MODEL {
checks:
units
dimensions
timestamps
frames
calibration
covariance
association
residuals
consistency
lineage
RULE:
fused_result_validity_is_scoped_to_model_andintended_use
}
GROUND_TRUTH_MODEL {
reference:
independently_established_higher_quality_state_orquantity
RULE:
ground_truth_has_uncertainty_andprovenance
}
CROSS_VALIDATION_MODEL {
source:
held_out_sensor_orreference
RULE:
validation_source_independence MUST be assessed
}
PERFORMANCE_MODEL {
possible:
RMSE
bias
covariance_consistency
detection_rate
false_alarm_rate
latency
availability
RULE:
metric_definition_andreference MUST be explicit
}
RMSE_MODEL {
RMSE =
sqrt(
mean(
||x_hat-x_ref||^2
)
)
RULE:
coordinate_frame_units_andreference_uncertainty MUST be preserved
}
PROVENANCE_MODEL {
fused_result:
links_to
every_source_observation
calibration
transformation
association
algorithm
configuration
validation
RULE:
source_contribution_lineage MUST be traversable
}
SOURCE_CONTRIBUTION_MODEL {
source:
contribution_to_fused_estimate
possible:
weight
information_increment
association_probability
qualitative_role
RULE:
contribution_metric_depends_onfusion_method
}
AI_FUSION_MODEL {
AI_system:
may_select_sources_models_weights_orassociations
RULE:
AI_decisions MUST preserve_evidence_confidence_andprovenance
}
LEARNED_FUSION_MODEL {
model:
neural_orstatistical_learned_mapping
inputs:
multisensor_data
output:
estimate_or decision
RULE:
training_data_model_version_andcalibration MUST be preserved
}
TRAINING_DATA_MODEL {
dataset:
source_sensors
labels_orreferences
preprocessing
splits
versions
RULE:
training_andvalidation_leakage MUST be controlled
}
DOMAIN_SHIFT_MODEL {
deployment:
differs_from_training_orcalibration_conditions
RULE:
shift SHOULD trigger_confidence_reassessment_orrevalidation
}
SEMANTIC_COMPATIBILITY_MODEL {
sources:
must_map_to_common_target_state_orrelated_measurement_model
RULE:
same_numeric_datatype_orunit_does_not_establish_fusibility
}
QUANTITY_KIND_MODEL {
source_quantity:
semantic_type
RULE:
different_quantity_kinds_can_be fused_only_through_explicit_state_orphysical_model
}
UNIT_MODEL {
source:
unit
RULE:
direct_fusion_requires_unit_compatibility_orconversion
}
DIMENSION_MODEL {
measurement:
dimensional_structure
RULE:
dimensional_consistency MUST be validated_before_fusion
}
UNIT_CONVERSION_MODEL {
source:
converted_to_common_unit
RULE:
conversion_uncertainty_andexactness MUST be preserved
}
SCALE_MODEL {
sensor:
may_use_different_scale_ornormalisation
RULE:
preprocessing_scale MUST be documented
}
UNCERTAINTY_DISTINCTION_MODEL {
measurement_uncertainty:
source_orfused_quantity_dispersion
semantic_confidence:
confidence_in_interpretation_orassociation
RULE:
uncertainty != semantic_confidence
}
DECISION_CONFIDENCE_MODEL {
classification:
probability_score_orbelief
RULE:
decision_confidence_requires_calibration_before_probabilistic_interpretation
}
DEMPSTER_SHAFER_MODEL {
evidence:
belief_masses_overhypotheses
RULE:
combination_rule_andconflict_handling MUST be explicit
}
VOTING_MODEL {
decisions:
majority_orweighted_vote
RULE:
votes_are_not_independent_if_models_share_data
}
ENSEMBLE_MODEL {
estimators:
multiple_models_or sensors
RULE:
ensemble_diversity_andshared_training_data SHOULD be considered
}
CONFLICT_MODEL {
sources:
materially_disagree
possible_causes:
fault
misregistration
latency
bias
wrong_association
model_failure
real_change
RULE:
disagreement MUST be surfaced_before_forced_combination
}
CONFLICT_RESOLUTION_MODEL {
process:
check_identity
check_time
check_frame
check_unit
check_calibration
check_covariance
check_health
check_model
RULE:
unresolved_conflict SHOULD reduce_confidence_orblock_fusion
}
SOURCE_PRIORITY_MODEL {
source:
may_have_priority_due_to
uncertainty
health
recency
authority
modality
RULE:
priority MUST be rule_based_not_name_based
}
FAILSAFE_MODEL {
severe_inconsistency:
fusion_may_enter_degraded_or safe_state
RULE:
safety_policy_is_application_specific_andmust_be explicit
}
QUALITY_FLAG_MODEL {
possible:
valid
degraded
suspect_source
stale_source
frame_mismatch
time_mismatch
unit_mismatch
calibration_issue
covariance_unknown
association_ambiguous
outlier_rejected
source_missing
fusion_inconsistent
manual_review
RULE:
flags MUST remain_linked_to_source_andfused_result
}
METADATA_MODEL {
fields:
fusion_identifier
fusion_level
target_state_identifier
source_identifiers
observation_identifiers
quantity_kinds
units
dimensions
timestamps
coordinate_frames
calibration_identifiers
uncertainty_models
covariance_matrices
cross_covariances
process_model
measurement_models
fusion_algorithm
algorithm_version
parameters
associations
source_health
quality_flags
fused_estimate
fused_covariance
validation_results
provenance
RULE:
fusion_metadata MUST support_reconstruction_of_fused_estimate
}
RELATIONSHIPS {
SensorFusion -> USES -> Sensor
Sensor -> PRODUCES -> Observation
Observation -> OBSERVES -> QuantityOrState
Observation -> HAS_UNCERTAINTY -> MeasurementUncertainty
Observation -> HAS_FRAME -> CoordinateFrame
Sensor -> HAS_CALIBRATION -> CalibrationRecord
SensorFusion -> USES_MODEL -> MeasurementModel
SensorFusion -> USES_MODEL -> ProcessModel
SensorFusion -> PRODUCES -> FusedEstimate
FusedEstimate -> DERIVED_FROM -> Observations
FusedEstimate -> HAS -> Covariance
DataAssociation -> LINKS -> ObservationAndTarget
Validation -> QUALIFIES -> FusedEstimate
}
SEMANTIC_EQUIVALENCE {
"sensor fusion" ~= integration_of_multiple_measurement_sources_for_common_inference
"multisensor fusion" ~= sensor_fusion
"fused estimate" ~= estimate_derived_from_multiple_sources_under_declared_fusion_model
fusion != averaging_in_all_contexts
redundancy != independence
correlation != causation
sensor_health != measurement_uncertainty
semantic_confidence != measurement_uncertainty
same_unit != same_quantity_kind
same_dimension != direct_fusibility
arrival_time != measurement_time
track_fusion != raw_measurement_fusion
ground_truth != uncertainty_free_truth
}
CONSTRAINTS {
fusion_target_must_be defined = true
source_identifiers_must_be preserved = true
quantity_kind_unit_anddimension_compatibility_must_be validated = true
coordinate_frames_must_be resolved_before_spatial_fusion = true
measurement_times_must_be aligned_or modelled = true
calibration_state_must_be applicable_atobservation_time = true
source_uncertainty_andcovariance_must_be preserved = true
cross_correlation_must_not_be assumed_zero_without_basis = true
double_counting_of_information_must_be prevented = true
data_association_uncertainty_must_be preserved = true
rejected_orfailed_sources_must_remain_inprovenance = true
fused_result_must_preserve_source_lineage = true
semantic_confidence_andmeasurement_uncertainty_must_be distinguished = true
provenance_must_be preserved = true
}
MEASUREMENT_RECORD_MODEL {
RECORD:
fusion_identifier
target_state_identifier
target_state_definition
fusion_level
architecture
source_identifiers
observation_identifiers
source_quantity_kinds
source_units
source_dimensions
source_timestamps
source_frames
source_calibrations
source_uncertainties
source_covariances
cross_covariances
process_model_identifier
measurement_model_identifiers
coordinate_transform_identifiers
synchronisation_model
association_model
fusion_algorithm
algorithm_version
parameters
source_health
rejected_sources
quality_flags
fused_state
fused_covariance
output_frame
output_timestamp
validation_metrics
semantic_confidence
transformation_history
provenance
RULE:
fused_measurement MUST remain_linked_to_sources_models_covariance_associations_algorithm_andprovenance
}
REASONING_RULES {
IF multiple_sources_observe_same_quantity
THEN validate_quantity_kind_units_frames_times_calibration_andcovariance_before_combining
IF units_compatible_but_different
THEN convert_to_common_unit
and_preserve_conversion_provenance
IF coordinate_frames_differ
THEN transform_to_common_frame
andpropagate_transform_uncertainty
IF timestamps_differ
THEN apply_temporal_model_interpolation_prediction_orout_of_sequence_policy
IF sources_share_reference_orprior_information
THEN model_cross_correlation
andprevent_double_counting
IF independent_unbiased_scalar_estimates_with_known_variances
THEN inverse_variance_fusion_MAY be applied
IF linear_Gaussian_dynamic_model
THEN Kalman_filter_MAY be applied
IF nonlinear_model
THEN choose_valid_nonlinear_estimator
andpreserve_approximation_method
IF cross_correlation_unknown_between_estimates
THEN conservative_method_SUCH_AS_covariance_intersection_MAY be used
IF observation_fails_gating_orhealth_check
THEN flag_source
andapply_declared_rejection_or downweight_policy
IF association_ambiguous
THEN preserve_multiple_hypotheses_orassociation_probabilities
IF fused_covariance_inconsistent_with_validation_reference
THEN flag_overconfidence_or model_mismatch
IF source_orcalibration_revision_occurs
THEN identify_dependent_fused_results
andrecursively_recompute_orrevalidate_under_policy
}
VALIDATION {
CHECK fusion_target
CHECK source_identity
CHECK fusion_level
CHECK quantity_kinds
CHECK units_anddimensions
CHECK timestamps_andlatency
CHECK coordinate_frames
CHECK intrinsic_andextrinsic_calibration
CHECK source_uncertainties
CHECK covariance_andcross_covariance
CHECK process_model
CHECK measurement_models
CHECK data_association
CHECK source_health
CHECK outliers
CHECK double_counting
CHECK fusion_algorithm_andparameters
CHECK numerical_stability
CHECK fused_covariance
CHECK consistency_metrics
CHECK validation_reference
CHECK quality_flags
CHECK source_lineage
CHECK semantic_confidence
CHECK provenance
}
CONFIDENCE {
source_semantic_confidence: 0.99
unit_dimension_confidence: 1.00
temporal_alignment_confidence: 0.99
coordinate_registration_confidence: 0.99
covariance_model_confidence: 0.98
fusion_algorithm_confidence: 0.99
data_association_confidence: 0.97
provenance_confidence: 1.00
RULE:
confidence decreases when source identity, timing, frame,
calibration, uncertainty, cross-correlation, association,
model validity or provenance is missing or ambiguous
}
UPDATE_MODEL {
ON new_observation:
identify_source
validate_semantics
align_time_andframe
resolve_calibration_anduncertainty
perform_association
update_fused_estimate
update_covariance
preserve_source_lineage
ON sensor_calibration_revision:
preserve_previous_calibration
identify_observations_andfused_results_using_old_state
update_future_fusion
reprocess_historical_results_only_under_declared_policy
ON source_health_change:
record_health_event
adjust_source_availability_orweight
preserve_previous_estimates
revalidate_fusion_consistency
ON frame_or timing_revision:
preserve_previous_transform
update_registration_orclock_model
identify_affected_fused_results
recompute_when_required
ON fusion_algorithm_revision:
preserve_previous_algorithm_version
register_new_parameters_andconfiguration
validate_against_reference_data
version_new_fused_outputs
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: SensorFusion
canonical_role: MultiSourceMeasurementInferenceProcess
interpretation_order:
identify_fusion_target
identify_sources_andobservations
identify_quantity_kinds_units_anddimensions
identify_timestamps_latency_andclock_context
identify_coordinate_frames_andtransforms
identify_intrinsic_extrinsic_andmeasurement_calibration
identify_source_uncertainty_covariance_andcross_correlation
identify_process_andmeasurement_models
identify_fusion_level_andarchitecture
identify_data_association
identify_source_health_outliers_andfaults
identify_fusion_algorithm_andparameters
compute_orupdate_fused_estimate
validate_covariance_andconsistency
identify_quality_flags_andsemantic_confidence
preserve_source_contributions_lineage_andprovenance
ambiguity_controls:
distinguish_fusion_from_simple_averaging
distinguish_redundancy_from_independence
distinguish_correlation_from_causation
distinguish_sensor_health_from_measurement_uncertainty
distinguish_semantic_confidence_from_measurement_uncertainty
distinguish_same_unit_from_same_quantity_kind
distinguish_same_dimension_from_direct_fusibility
distinguish_arrival_time_from_measurement_time
distinguish_track_fusion_from_raw_measurement_fusion
distinguish_ground_truth_from_uncertainty_free_truth
preserve_source_target_time_frame_calibration_covariance_association_algorithm_andprovenance_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_units_AI_measurement_semantics_andsensor_fusion
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> AI Measurement Semantics
-> Sensor Fusion Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
fusion_level_model
raw_data_fusion_model
measurement_level_fusion_model
feature_level_fusion_model
decision_level_fusion_model
homogeneous_sensor_model
heterogeneous_sensor_model
redundant_fusion_model
complementary_fusion_model
centralized_fusion_model
decentralized_fusion_model
distributed_fusion_model
hierarchical_fusion_model
measurement_model
linear_measurement_model
nonlinear_measurement_model
process_model
static_fusion_model
dynamic_fusion_model
weighted_mean_model
inverse_variance_fusion_model
correlated_fusion_model
BLUE_model
least_squares_model
weighted_least_squares_model
maximum_likelihood_model
Bayesian_fusion_model
prior_model
likelihood_model
posterior_model
Kalman_filter_model
Joseph_covariance_model
extended_Kalman_model
unscented_Kalman_model
information_filter_model
particle_filter_model
Monte_Carlo_fusion_model
covariance_intersection_model
double_counting_model
common_mode_model
covariance_model
cross_covariance_model
correlation_model
uncertainty_propagation_model
sensor_bias_model
bias_state_model
drift_model
scale_factor_model
calibration_model
cross_calibration_model
self_calibration_model
temporal_synchronisation_model
clock_offset_model
clock_drift_model
latency_model
out_of_sequence_model
stale_data_model
resampling_model
interpolation_model
coordinate_frame_model
frame_transformation_model
rotation_model
quaternion_model
extrinsic_calibration_model
intrinsic_calibration_model
registration_model
spatial_uncertainty_model
covariance_transform_model
data_association_model
gating_model
nearest_neighbour_model
JPDA_model
multiple_hypothesis_model
track_model
track_to_track_fusion_model
track_management_model
fault_detection_model
residual_model
normalized_innovation_model
sensor_health_model
fault_isolation_model
fault_tolerant_fusion_model
outlier_model
robust_fusion_model
RANSAC_model
adaptive_weight_model
reliability_model
quality_weight_model
availability_model
missing_sensor_model
modality_model
GNSS_IMU_model
camera_lidar_model
radar_camera_model
complementary_filter_model
frequency_domain_fusion_model
multirate_fusion_model
event_driven_fusion_model
batch_fusion_model
smoothing_model
factor_graph_model
optimisation_model
observability_model
identifiability_model
consistency_model
NEES_model
validation_model
ground_truth_model
cross_validation_model
performance_model
RMSE_model
provenance_model
source_contribution_model
AI_fusion_model
learned_fusion_model
training_data_model
domain_shift_model
semantic_compatibility_model
quantity_kind_model
unit_model
dimension_model
unit_conversion_model
scale_model
uncertainty_distinction_model
decision_confidence_model
Dempster_Shafer_model
voting_model
ensemble_model
conflict_model
conflict_resolution_model
source_priority_model
failsafe_model
quality_flag_model
metadata_model
relationships
semantic_equivalence
constraints
measurement_record_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
source_quantity_unit_or dimension_semantics_change
temporal_synchronisation_orcoordinate_frame_changes
calibration_bias_drift_orregistration_changes
uncertainty_covariance_orcross_correlation_changes
process_measurement_orfusion_model_changes
data_association_track_orfault_model_changes
fusion_algorithm_orparameter_changes
learned_model_training_or domain_context_changes
validation_quality_orconfidence_logic_changes
source_lineage_orprovenance_changes
measurement_record_changes
constraint_model_changes
reasoning_rule_changes
}
}
END FLOW
Download Code
Copy to Clipboard