26 namespace perception {
31 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
47 double target_timestamp)
override;
54 double measurement_timestamp,
55 double target_timestamp)
override;
57 std::string
Name()
const override {
return "KalmamnMotionFusion"; }
64 void MotionFusionWithoutMeasurement(
const double time_diff);
69 void UpdateMotionState();
78 Eigen::VectorXd ComputeAccelerationMeasurement(
80 const double& timestamp);
84 const double& timestamp);
88 void RewardRMatrix(
const base::SensorType& sensor_type,
const bool& converged,
89 Eigen::MatrixXd* r_matrix);
95 Eigen::Vector4d ComputePseudoMeasurement(
const Eigen::Vector4d& measurement,
101 Eigen::Vector4d ComputePseudoLidarMeasurement(
102 const Eigen::Vector4d& measurement);
106 Eigen::Vector4d ComputePseudoCameraMeasurement(
107 const Eigen::Vector4d& measurement);
111 Eigen::Vector4d ComputePseudoRadarMeasurement(
112 const Eigen::Vector4d& measurement);
116 const int& trace_length);
119 bool filter_init_ =
false;
120 std::deque<Eigen::Vector3d> history_velocity_;
121 std::deque<double> history_timestamp_;
122 std::deque<base::SensorType> history_sensor_type_;
131 static int s_eval_window_;
132 static size_t s_history_size_maximum_;
133 double velocity_length_change_thresh_ = 5.0f;
void GetStates(Eigen::Vector3d *anchor_point, Eigen::Vector3d *velocity)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: kalman_motion_fusion.h:29
Eigen::Vector3d Vector3d
Definition: frame_transform.h:27
KalmanMotionFusion & operator=(const KalmanMotionFusion &)=delete
~KalmanMotionFusion()=default
Definition: base_motion_fusion.h:29
Eigen::Matrix3f Matrix3f
Definition: base_map_fwd.h:27
void UpdateWithMeasurement(const SensorObjectConstPtr &measurement, double target_timestamp) override
Definition: kalman_filter.h:26
std::string Name() const override
Definition: kalman_motion_fusion.h:57
std::shared_ptr< Track > TrackPtr
Definition: track.h:160
SensorType
Sensor types are set in the order of lidar, radar, camera, ultrasonic Please make sure SensorType has...
Definition: sensor_meta.h:29
std::shared_ptr< const SensorObject > SensorObjectConstPtr
Definition: sensor_object.h:69
void UpdateWithoutMeasurement(const std::string &sensor_id, double measurement_timestamp, double target_timestamp) override
KalmanMotionFusion(TrackPtr track)
Definition: kalman_motion_fusion.h:34