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