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