STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
robust_pt_calibration_gui.BayesianPTCalibration Class Reference

Public Member Functions

 __init__ (self, sensor_id)
 add_calibration_point (self, voltage, reference_pressure, env_state)
 predict_pressure (self, voltage, env_state=None)
 get_reliability_score (self)
 needs_human_input (self, voltage)
 to_dict (self)
 from_dict (cls, data)

Public Attributes

 sensor_id = sensor_id
float theta = np.zeros(6)
float Sigma_theta = np.eye(6) * 1000.0
float Q_env = np.eye(5) * 0.01
float Q_interaction = np.eye(5) * 0.001
float sigma_base = 100.0
list calibration_data = []
int confidence_level = 0
int human_input_count = 0
int autonomous_success_count = 0
int autonomous_failure_count = 0

Protected Member Functions

 _update_calibration (self)
 _build_design_matrix (self, voltages)
 _evaluate_basis (self, voltage)
 _update_confidence (self)

Detailed Description

Environmental-Robust Bayesian Calibration
Implements Algorithm 1 from PressureTransducerCalibrationFramework.tex

Definition at line 57 of file robust_pt_calibration_gui.py.

Constructor & Destructor Documentation

◆ __init__()

robust_pt_calibration_gui.BayesianPTCalibration.__init__ ( self,
sensor_id )

Definition at line 63 of file robust_pt_calibration_gui.py.

Member Function Documentation

◆ _build_design_matrix()

robust_pt_calibration_gui.BayesianPTCalibration._build_design_matrix ( self,
voltages )
protected
Build design matrix with physically-informed basis functions
φ(v) = [1, v, v², v³, √v, log(1+v)]

Definition at line 131 of file robust_pt_calibration_gui.py.

References max.

Referenced by _update_calibration().

◆ _evaluate_basis()

robust_pt_calibration_gui.BayesianPTCalibration._evaluate_basis ( self,
voltage )
protected
Evaluate basis functions at given voltage

Definition at line 181 of file robust_pt_calibration_gui.py.

References max.

Referenced by get_reliability_score(), and predict_pressure().

◆ _update_calibration()

robust_pt_calibration_gui.BayesianPTCalibration._update_calibration ( self)
protected
Update calibration parameters using Bayesian regression
Implements Step 2-3 of Algorithm 1

Definition at line 95 of file robust_pt_calibration_gui.py.

References _build_design_matrix(), calibration_data, sigma_base, Sigma_theta, fsw::control::RobustDDPController::NavState.theta, and theta.

Referenced by add_calibration_point().

◆ _update_confidence()

◆ add_calibration_point()

robust_pt_calibration_gui.BayesianPTCalibration.add_calibration_point ( self,
voltage,
reference_pressure,
env_state )
Add human-provided calibration point

Definition at line 84 of file robust_pt_calibration_gui.py.

References _update_calibration(), _update_confidence(), calibration_data, human_input_count, and time.time().

◆ from_dict()

robust_pt_calibration_gui.BayesianPTCalibration.from_dict ( cls,
data )

◆ get_reliability_score()

robust_pt_calibration_gui.BayesianPTCalibration.get_reliability_score ( self)

◆ needs_human_input()

◆ predict_pressure()

robust_pt_calibration_gui.BayesianPTCalibration.predict_pressure ( self,
voltage,
env_state = None )
Predict pressure with uncertainty quantification
Returns: (pressure_mean, pressure_std)

Definition at line 150 of file robust_pt_calibration_gui.py.

References _evaluate_basis(), calibration_data, max, min, sigma_base, Sigma_theta, fsw::control::RobustDDPController::NavState.theta, and theta.

◆ to_dict()

Member Data Documentation

◆ autonomous_failure_count

robust_pt_calibration_gui.BayesianPTCalibration.autonomous_failure_count = 0

Definition at line 82 of file robust_pt_calibration_gui.py.

Referenced by to_dict().

◆ autonomous_success_count

robust_pt_calibration_gui.BayesianPTCalibration.autonomous_success_count = 0

Definition at line 81 of file robust_pt_calibration_gui.py.

Referenced by to_dict().

◆ calibration_data

◆ confidence_level

robust_pt_calibration_gui.BayesianPTCalibration.confidence_level = 0

Definition at line 79 of file robust_pt_calibration_gui.py.

Referenced by _update_confidence(), needs_human_input(), and to_dict().

◆ human_input_count

robust_pt_calibration_gui.BayesianPTCalibration.human_input_count = 0

◆ Q_env

float robust_pt_calibration_gui.BayesianPTCalibration.Q_env = np.eye(5) * 0.01

Definition at line 71 of file robust_pt_calibration_gui.py.

◆ Q_interaction

float robust_pt_calibration_gui.BayesianPTCalibration.Q_interaction = np.eye(5) * 0.001

Definition at line 72 of file robust_pt_calibration_gui.py.

◆ sensor_id

robust_pt_calibration_gui.BayesianPTCalibration.sensor_id = sensor_id

Definition at line 64 of file robust_pt_calibration_gui.py.

Referenced by to_dict().

◆ sigma_base

robust_pt_calibration_gui.BayesianPTCalibration.sigma_base = 100.0

Definition at line 73 of file robust_pt_calibration_gui.py.

Referenced by _update_calibration(), predict_pressure(), and to_dict().

◆ Sigma_theta

float robust_pt_calibration_gui.BayesianPTCalibration.Sigma_theta = np.eye(6) * 1000.0

Definition at line 68 of file robust_pt_calibration_gui.py.

Referenced by _update_calibration(), predict_pressure(), and to_dict().

◆ theta

robust_pt_calibration_gui.BayesianPTCalibration.theta = np.zeros(6)

The documentation for this class was generated from the following file: