63 std::string
Name()
const override {
return "MrfMotionFilter"; }
97 Eigen::Vector4d* gain);
120 bool velocity_source_is_belief =
true);
void ClipingState(TrackedObjectPtr object)
Cliping state if is within noise level
bool use_convergence_boostup_
void StateToBelief(TrackedObjectPtr object)
Synchronize state to belief to keep consistency
std::shared_ptr< MrfMotionMeasurement > motion_measurer_
size_t boostup_history_size_maximum_
std::shared_ptr< MrfMotionRefiner > motion_refiner_
void UpdateConverged(const MrfTrackDataConstPtr &track_data, TrackedObjectPtr object)
Update convergence confidence
void UpdateWithObject(const MrfFilterOptions &options, const MrfTrackDataConstPtr &track_data, TrackedObjectPtr new_object) override
Updating motion filter with object
double converged_confidence_minimum_
void BeliefToOutput(TrackedObjectPtr object)
Copy belief to output
double init_velocity_variance_
bool Init(const MrfFilterInitOptions &options=MrfFilterInitOptions()) override
Init mrf fitler
void OnlineCovarianceEstimation(const MrfTrackDataConstPtr &track_data, TrackedObjectPtr object)
Estimate covariance considering history measurment
double predict_variance_per_sqrsec_
void ConvergenceEstimationAndBoostUp(const MrfTrackDataConstPtr &track_data, const TrackedObjectConstPtr &latest_object, TrackedObjectPtr new_object)
Estimate convergence confidence and boost up state
void ComputeConvergenceConfidence(const MrfTrackDataConstPtr &track_data, TrackedObjectPtr new_object, bool velocity_source_is_belief=true)
Compute convergence confidence
void UpdateWithoutObject(const MrfFilterOptions &options, double timestamp, MrfTrackDataPtr track_data) override
Updating motion filter without object
MrfMotionFilter()=default
void StateGainAdjustment(const MrfTrackDataConstPtr &track_data, const TrackedObjectConstPtr &latest_object, const TrackedObjectConstPtr &new_object, Eigen::Vector4d *gain)
Adjust kalman state gain with several strategies
void BoostupState(const MrfTrackDataConstPtr &track_data, TrackedObjectPtr new_object)
Boost up state considering track history
double init_acceleration_variance_
double trust_orientation_range_
virtual ~MrfMotionFilter()=default
void InitializeTrackState(TrackedObjectPtr new_object)
Initialize track state and store in the new object
std::string Name() const override
Get class name
double measured_velocity_variance_
void KalmanFilterUpdateWithPartialObservation(const MrfTrackDataConstPtr &track_data, const TrackedObjectConstPtr &latest_object, TrackedObjectPtr new_object)
Update state with kalman filter, constant acceleration motion model, only velocity measurement is obs...
size_t boostup_history_size_minimum_
std::shared_ptr< const TrackedObject > TrackedObjectConstPtr
std::shared_ptr< MrfTrackData > MrfTrackDataPtr
std::shared_ptr< TrackedObject > TrackedObjectPtr
std::shared_ptr< const MrfTrackData > MrfTrackDataConstPtr