20#include "modules/perception/lidar_tracking/tracker/multi_lidar_fusion/proto/multi_lidar_fusion_config.pb.h"
65 std::string
Name()
const {
return "MlfMotionRefiner"; }
93 double reasonable_angle_change_maximum)
const;
98 double* vel_change_angle,
99 double* velocity_heading_angle)
const;
bool CheckStaticHypothesisByState(const TrackedObjectConstPtr &latest_object, const TrackedObjectConstPtr &new_object) const
Check whether new observed object is static or not
bool Init(const MlfMotionRefinerInitOptions &options=MlfMotionRefinerInitOptions())
Init motion refiner
MlfMotionRefiner()=default
bool Refine(const MlfTrackDataConstPtr &track_data, TrackedObjectPtr new_object)
Refine velocity of new object
std::string Name() const
Get class name
double claping_speed_threshold_
bool NeedAssignMovableObjectSpeed(const TrackedObjectConstPtr &latest_object, const TrackedObjectConstPtr &new_object) const
bool CheckStaticHypothesisByVelocityAngleChange(const TrackedObjectConstPtr &latest_object, const TrackedObjectConstPtr &new_object, double reasonable_angle_change_maximum) const
Check whether new observed object is static or not via considering the angle velocity change
double claping_acceleration_threshold_
bool CalculateVelocityAngleChange(const TrackedObjectConstPtr &latest_object, const TrackedObjectConstPtr &new_object, double *vel_change_angle, double *velocity_heading_angle) const
bool use_movable_state_check_
~MlfMotionRefiner()=default
std::shared_ptr< const MlfTrackData > MlfTrackDataConstPtr
std::shared_ptr< const TrackedObject > TrackedObjectConstPtr
std::shared_ptr< TrackedObject > TrackedObjectPtr