Public Member Functions | |
def | __init__ |
def | calculate_error |
def | calculate_full_param_vec |
def | calculate_jacobian |
def | multisensor_pose_jacobian |
def | single_sensor_params_jacobian |
def | split_all |
Public Attributes | |
marker_pub | |
Private Attributes | |
_expanded_params | |
_free_list | |
_j_count | |
_multisensors | |
_robot_params | |
_use_cov |
Helpers for computing errors and jacobians
Definition at line 47 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.__init__ | ( | self, | |
robot_params, | |||
free_dict, | |||
multisensors, | |||
use_cov | |||
) |
Definition at line 51 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.calculate_error | ( | self, | |
opt_all_vec | |||
) |
Definition at line 70 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.calculate_full_param_vec | ( | self, | |
opt_param_vec | |||
) |
Take the set of optimization params, and expand it into the bigger param vec
Definition at line 61 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.calculate_jacobian | ( | self, | |
opt_all_vec | |||
) |
Full Jacobian: The resulting returned jacobian can be thought of as a set of several concatenated jacobians as follows: [ J_multisensor_0 ] J = [ J_multisensor_1 ] [ : ] [ J_multisensor_M ] where M is the number of multisensors, which is generally the number of calibration samples collected. Multisensor Jacobian: The Jacobian for a given multisensor is created by concatenating jacobians for each sensor [ J_sensor_m_0 ] J_multisensor_m = [ J_sensor_m_1 ] [ : ] [ J_sensor_m_S ] where S is the number of sensors in this multisensor. Sensor Jacobian: A single sensor jacobian is created by concatenating jacobians for the system parameters and checkerboards J_sensor_m_s = [ J_params_m_s | J_m_s_pose0 | J_m_s_pose1 | --- | J_m_s_CB_poseC ] The number of rows in J_sensor_m_s is equal to the number of rows in this sensor's residual. J_params_m_s shows how modifying the free system parameters affects the residual. Each J_m_s_pose_c is 6 columns wide and shows how moving a certain target affects the residual. All of the J_m_s_pose blocks are zero, except J_sensor_pose_m, since target m is the only target that was viewed by the sensors in this multisensor.
Definition at line 146 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.multisensor_pose_jacobian | ( | self, | |
opt_param_vec, | |||
pose_param_vec, | |||
multisensor | |||
) |
Generates the jacobian from a target pose to the multisensor's residual. Input: - opt_param_vec: Vector of the free system parameters (the parameters we're actuall optimizing) - pose_param_vec: Vector of length 6 encoding the target's pose 0:3=translation 3:6=rotation_axis - multisensor: The actual multisensor definition. Output: - J_scaled: An mx6 jacobian, where m is the length of multisensor's residual. There are 6 columns since the target's pose is encoded using 6 parameters. If covariance calculations are enabled, then the Jacobian is scaled by sqrt(Gamma), where Gamma is the information matrix for this measurement.
Definition at line 294 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.single_sensor_params_jacobian | ( | self, | |
opt_param_vec, | |||
target_pose_T, | |||
target_id, | |||
sensor | |||
) |
Computes the jacobian from the free system parameters to a single sensor Inputs: - opt_param_vec: Vector of the free system parameters (the parameters we're actuall optimizing) - target_pose_T: The pose of the target that this sensor is viewing - target_id: String name of the target that this sensor is viewing. This is necessary to generate the set of feature points on the target - sensor: The actual sensor definition Output: - J_scaled: An mxn jacobian, where m is the length of sensor's residual and n is the length of opt_param_vec. If covariance calculations are enabled, then the Jacobian is scaled by sqrt(Gamma), where Gamma is the information matrix for this measurement.
Definition at line 237 of file opt_runner.py.
def calibration_estimation.opt_runner.ErrorCalc.split_all | ( | self, | |
opt_all_vec | |||
) |
Splits the input vector into two parts: 1) opt_param_vec: The system parameters that we're optimizing, 2) full_pose_arr: A Nx6 array where each row is a checkerboard pose
Definition at line 224 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.
Definition at line 51 of file opt_runner.py.