|
JointCombinedFilterPtr | clone () const |
|
virtual void | correctState () |
|
virtual void | estimateJointFilterProbabilities () |
|
virtual JointCombinedFilterId | getJointCombinedFilterId () const |
|
virtual JointFilterPtr | getJointFilter (JointFilterType joint_type) const |
| Get the joint filter of the type given. More...
|
|
virtual JointFilterPtr | getMostProbableJointFilter () |
|
std::map< JointFilterType, Eigen::Twistd > | getPredictedMeasurement () |
|
virtual void | initialize () |
|
| JointCombinedFilter () |
|
| JointCombinedFilter (const JointCombinedFilter &joint_combined_filter) |
|
virtual void | normalizeJointFilterProbabilities () |
| Estimate the probability of each joint filter type. NOTE: Using the Bayes Rule, the probability of a model given the data is the likelihood of the data given the model, times the (prior) probability of the model, divided by the probability of the data: p(Model|Data) = p(Data|Model) x p(Model) / p(Data) p(Data) is just a regularization term. We can ignore it and say that p(Model|Data) is proportional to... At the end, we can renormalize with the assumption that SUM_all_models( p(Model|Data) ) = 1 p(Model) is the prior probability of a certain model. We usually assume an uniform distribution, so that p(Model) = 1/(NumDifferentModels), but we can set them differently, checking that SUM_all_models(p(Model)) = 1 Finally, the probability of a model is proportional to the likelihood of the data given that model. More...
|
|
virtual void | predictMeasurement () |
|
virtual void | predictState (double time_interval_ns) |
| First step when updating the filter. The next state is predicted from current state and system model. More...
|
|
virtual void | setCovarianceAdditiveSystemNoiseJointState (const JointFilterType &joint_type, double sys_noise_js) |
|
virtual void | setCovarianceAdditiveSystemNoiseJointVelocity (const JointFilterType &joint_type, double sys_noise_jv) |
|
virtual void | setCovarianceAdditiveSystemNoisePhi (const JointFilterType &joint_type, double sys_noise_phi) |
|
virtual void | setCovarianceAdditiveSystemNoisePx (const JointFilterType &joint_type, double sys_noise_px) |
|
virtual void | setCovarianceAdditiveSystemNoisePy (const JointFilterType &joint_type, double sys_noise_py) |
|
virtual void | setCovarianceAdditiveSystemNoisePz (const JointFilterType &joint_type, double sys_noise_pz) |
|
virtual void | setCovarianceAdditiveSystemNoiseTheta (const JointFilterType &joint_type, double sys_noise_theta) |
|
virtual void | setCovarianceDeltaMeasurementAngular (double sigma_delta_meas_uncertainty_angular) |
|
virtual void | setCovarianceDeltaMeasurementLinear (double sigma_delta_meas_uncertainty_linear) |
|
virtual void | setCovarianceMeasurementNoise (const JointFilterType &joint_type, double meas_noise) |
|
virtual void | setCovariancePrior (const JointFilterType &joint_type, double prior_cov_vel) |
|
virtual void | setInitialMeasurement (const joint_measurement_t &initial_measurement, const Eigen::Twistd &rrb_pose_at_srb_birth_in_sf, const Eigen::Twistd &srb_pose_at_srb_birth_in_sf) |
|
void | setJointCombinedFilterId (JointCombinedFilterId new_joint_combined_filter_id) |
|
virtual void | setJointLikelihoodDisconnected (double disconnected_joint_likelihood) |
|
virtual void | setLoopPeriodNS (double loop_period_ns) |
|
virtual void | setMaxRadiusDistanceRevolute (const double &value) |
|
virtual void | setMaxRotationRigid (double rig_max_rotation) |
|
virtual void | setMaxTranslationRigid (double rig_max_translation) |
|
virtual void | setMeasurement (joint_measurement_t acquired_measurement, const double &measurement_timestamp_ns) |
| Set the latest acquired measurement. More...
|
|
virtual void | setMinRotationRevolute (const double &value) |
|
virtual void | setNormalizingTerm (double normalizing_term) |
|
virtual void | setNumSamplesForLikelihoodEstimation (int likelihood_sample_num) |
|
virtual | ~JointCombinedFilter () |
|
Class JointCombinedFilter It contains one of instance of each joint filter type and updates them with each acquired measurement The measurements are RB poses: one is the reference RB and the other is the called "Second RB" Each joint filter type defines a different motion constraint Each joint filter type tracks a different set of parameters (joint parameters) Each joint filter type generates a measurement prediction (pose of one of the rigid bodies given the motion of the reference body)
Definition at line 70 of file JointCombinedFilter.h.
void JointCombinedFilter::normalizeJointFilterProbabilities |
( |
| ) |
|
|
virtual |
Estimate the probability of each joint filter type. NOTE: Using the Bayes Rule, the probability of a model given the data is the likelihood of the data given the model, times the (prior) probability of the model, divided by the probability of the data: p(Model|Data) = p(Data|Model) x p(Model) / p(Data) p(Data) is just a regularization term. We can ignore it and say that p(Model|Data) is proportional to... At the end, we can renormalize with the assumption that SUM_all_models( p(Model|Data) ) = 1 p(Model) is the prior probability of a certain model. We usually assume an uniform distribution, so that p(Model) = 1/(NumDifferentModels), but we can set them differently, checking that SUM_all_models(p(Model)) = 1 Finally, the probability of a model is proportional to the likelihood of the data given that model.
Definition at line 215 of file JointCombinedFilter.cpp.