|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
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) | |
Environmental-Robust Bayesian Calibration Implements Algorithm 1 from PressureTransducerCalibrationFramework.tex
Definition at line 57 of file robust_pt_calibration_gui.py.
| robust_pt_calibration_gui.BayesianPTCalibration.__init__ | ( | self, | |
| sensor_id ) |
Definition at line 63 of file robust_pt_calibration_gui.py.
|
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().
|
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().
|
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().
|
protected |
Update confidence level based on calibration data
Definition at line 186 of file robust_pt_calibration_gui.py.
References autonomous_lc_calibration.SensorCalibrationState.confidence_level, autonomous_pt_calibration.SensorCalibrationState.confidence_level, autonomous_rtd_calibration.SensorCalibrationState.confidence_level, autonomous_tc_calibration.SensorCalibrationState.confidence_level, confidence_level, get_reliability_score(), and human_input_count.
Referenced by 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().
| robust_pt_calibration_gui.BayesianPTCalibration.from_dict | ( | cls, | |
| data ) |
Deserialize from dictionary
Definition at line 256 of file robust_pt_calibration_gui.py.
Referenced by engine.control.robust_ddp.data_models.ControllerConfig.from_json(), and engine.control.robust_ddp.data_models.ControllerConfig.from_yaml().
| robust_pt_calibration_gui.BayesianPTCalibration.get_reliability_score | ( | self | ) |
Calculate reliability score
Definition at line 199 of file robust_pt_calibration_gui.py.
References _evaluate_basis(), calibration_data, human_input_count, max, fsw::control::RobustDDPController::NavState.theta, and theta.
Referenced by _update_confidence().
| robust_pt_calibration_gui.BayesianPTCalibration.needs_human_input | ( | self, | |
| voltage ) |
Determine if human input is needed for this voltage
Definition at line 229 of file robust_pt_calibration_gui.py.
References autonomous_lc_calibration.SensorCalibrationState.confidence_level, autonomous_pt_calibration.SensorCalibrationState.confidence_level, autonomous_rtd_calibration.SensorCalibrationState.confidence_level, autonomous_tc_calibration.SensorCalibrationState.confidence_level, and confidence_level.
| 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.
| robust_pt_calibration_gui.BayesianPTCalibration.to_dict | ( | self | ) |
Serialize to dictionary for JSON storage
Definition at line 240 of file robust_pt_calibration_gui.py.
References autonomous_failure_count, autonomous_success_count, calibration_data, autonomous_lc_calibration.SensorCalibrationState.confidence_level, autonomous_pt_calibration.SensorCalibrationState.confidence_level, autonomous_rtd_calibration.SensorCalibrationState.confidence_level, autonomous_tc_calibration.SensorCalibrationState.confidence_level, confidence_level, human_input_count, autonomous_calibration_engine.OnlineBayesianLearner.sensor_id, ball_valve_gui.ValvePanel.sensor_id, calibration_sequence.SensorCalibrator.sensor_id, daq_comms::protocol::ParsedSelfTestPacket::Result.sensor_id, fsw::config::PressureSensorSpec.sensor_id, fsw::config::SensorAssignment.sensor_id, imu_calibration.IMUCalibrator.sensor_id, robust_calibration.RobustCalibrationFramework.sensor_id, sensor_id, Valve.sensor_id, sigma_base, Sigma_theta, fsw::control::RobustDDPController::NavState.theta, and theta.
Referenced by engine.control.robust_ddp.data_models.ControllerConfig.to_json(), and engine.control.robust_ddp.data_models.ControllerConfig.to_yaml().
| robust_pt_calibration_gui.BayesianPTCalibration.autonomous_failure_count = 0 |
Definition at line 82 of file robust_pt_calibration_gui.py.
Referenced by to_dict().
| robust_pt_calibration_gui.BayesianPTCalibration.autonomous_success_count = 0 |
Definition at line 81 of file robust_pt_calibration_gui.py.
Referenced by to_dict().
| robust_pt_calibration_gui.BayesianPTCalibration.calibration_data = [] |
Definition at line 76 of file robust_pt_calibration_gui.py.
Referenced by _update_calibration(), add_calibration_point(), smart_calibration_gui.SmartCalibrationGUI.confirm_human_input(), smart_calibration_gui.SmartCalibrationGUI.create_human_input_request(), get_reliability_score(), smart_calibration_gui.SmartCalibrationGUI.is_extrapolation(), predict_pressure(), smart_calibration_gui.SmartCalibrationGUI.predict_pressure(), smart_calibration_gui.SmartCalibrationGUI.save_learning_state(), and to_dict().
| 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().
| robust_pt_calibration_gui.BayesianPTCalibration.human_input_count = 0 |
Definition at line 80 of file robust_pt_calibration_gui.py.
Referenced by _update_confidence(), add_calibration_point(), get_reliability_score(), and to_dict().
| float robust_pt_calibration_gui.BayesianPTCalibration.Q_env = np.eye(5) * 0.01 |
Definition at line 71 of file robust_pt_calibration_gui.py.
| float robust_pt_calibration_gui.BayesianPTCalibration.Q_interaction = np.eye(5) * 0.001 |
Definition at line 72 of file robust_pt_calibration_gui.py.
| robust_pt_calibration_gui.BayesianPTCalibration.sensor_id = sensor_id |
Definition at line 64 of file robust_pt_calibration_gui.py.
Referenced by to_dict().
| 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().
| 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().
| robust_pt_calibration_gui.BayesianPTCalibration.theta = np.zeros(6) |
Definition at line 67 of file robust_pt_calibration_gui.py.
Referenced by _update_calibration(), get_reliability_score(), predict_pressure(), engine.control.robust_ddp.data_models.NavState.to_dict(), and to_dict().