32 #ifndef JOINTCOMBINEDFILTER_H_ 33 #define JOINTCOMBINEDFILTER_H_ 35 #include <pcl/point_types.h> 36 #include <unsupported/Eigen/MatrixFunctions> 37 #include <Eigen/Geometry> 39 #include <boost/shared_ptr.hpp> 40 #include <boost/unordered_map.hpp> 43 #include <geometry_msgs/Pose.h> 44 #include <geometry_msgs/Twist.h> 45 #include <geometry_msgs/PoseWithCovariance.h> 92 JointCombinedFilterPtr
clone()
const 209 const Eigen::Twistd& rrb_pose_at_srb_birth_in_sf,
const Eigen::Twistd& srb_pose_at_srb_birth_in_sf);
virtual JointFilterPtr getJointFilter(JointFilterType joint_type) const
Get the joint filter of the type given.
virtual void setCovarianceAdditiveSystemNoisePhi(const JointFilterType &joint_type, double sys_noise_phi)
std::pair< omip_msgs::RigidBodyPoseAndVelMsg, omip_msgs::RigidBodyPoseAndVelMsg > joint_measurement_t
virtual void setCovarianceAdditiveSystemNoisePx(const JointFilterType &joint_type, double sys_noise_px)
virtual void setJointLikelihoodDisconnected(double disconnected_joint_likelihood)
virtual void predictMeasurement()
joint_filters_map _joint_filters
std::map< JointFilterType, double > _joint_normalized_prediction_errors
std::map< JointFilterType, Eigen::Twistd > getPredictedMeasurement()
virtual void setCovarianceAdditiveSystemNoisePy(const JointFilterType &joint_type, double sys_noise_py)
virtual void setCovariancePrior(const JointFilterType &joint_type, double prior_cov_vel)
virtual void setCovarianceDeltaMeasurementAngular(double sigma_delta_meas_uncertainty_angular)
virtual void correctState()
virtual JointCombinedFilter * doClone() const
virtual void setCovarianceAdditiveSystemNoiseJointState(const JointFilterType &joint_type, double sys_noise_js)
static JointCombinedFilterId _joint_id_generator
boost::shared_ptr< JointCombinedFilter > JointCombinedFilterPtr
virtual void setMinRotationRevolute(const double &value)
virtual void initialize()
virtual void setCovarianceMeasurementNoise(const JointFilterType &joint_type, double meas_noise)
virtual void setMaxRotationRigid(double rig_max_rotation)
virtual void setCovarianceAdditiveSystemNoiseTheta(const JointFilterType &joint_type, double sys_noise_theta)
virtual void normalizeJointFilterProbabilities()
Estimate the probability of each joint filter type. NOTE: Using the Bayes Rule, the probability of a ...
virtual void estimateJointFilterProbabilities()
virtual void setMaxTranslationRigid(double rig_max_translation)
JointCombinedFilterPtr clone() const
virtual void predictState(double time_interval_ns)
First step when updating the filter. The next state is predicted from current state and system model...
virtual ~JointCombinedFilter()
virtual void setCovarianceAdditiveSystemNoiseJointVelocity(const JointFilterType &joint_type, double sys_noise_jv)
std::map< JointFilterType, JointFilterPtr > joint_filters_map
void setJointCombinedFilterId(JointCombinedFilterId new_joint_combined_filter_id)
virtual void setNormalizingTerm(double normalizing_term)
int long JointCombinedFilterId
virtual void setMaxRadiusDistanceRevolute(const double &value)
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)
virtual void setLoopPeriodNS(double loop_period_ns)
JointCombinedFilterId _joint_id
virtual void setCovarianceDeltaMeasurementLinear(double sigma_delta_meas_uncertainty_linear)
virtual void setNumSamplesForLikelihoodEstimation(int likelihood_sample_num)
virtual JointFilterPtr getMostProbableJointFilter()
virtual void setCovarianceAdditiveSystemNoisePz(const JointFilterType &joint_type, double sys_noise_pz)
virtual JointCombinedFilterId getJointCombinedFilterId() const
virtual void setMeasurement(joint_measurement_t acquired_measurement, const double &measurement_timestamp_ns)
Set the latest acquired measurement.