49 const double timestamp) {
50 *obs_radar_ = *obs_radar;
52 double time_diff = timestamp - timestamp_;
54 Eigen::VectorXd state;
55 state = filter_->UpdateWithObject(*obs_radar_, time_diff);
56 obs_->center(0) =
static_cast<float>(state(0));
57 obs_->center(1) =
static_cast<float>(state(1));
58 obs_->velocity(0) =
static_cast<float>(state(2));
59 obs_->velocity(1) =
static_cast<float>(state(3));
60 Eigen::Matrix4d covariance_matrix = filter_->GetCovarianceMatrix();
61 obs_->center_uncertainty(0) =
static_cast<float>(covariance_matrix(0, 0));
62 obs_->center_uncertainty(1) =
static_cast<float>(covariance_matrix(1, 1));
63 obs_->velocity_uncertainty(0) =
static_cast<float>(covariance_matrix(2, 2));
64 obs_->velocity_uncertainty(1) =
static_cast<float>(covariance_matrix(3, 3));
66 tracking_time_ += time_diff;
67 timestamp_ = timestamp;