21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
51 virtual std::shared_ptr<PoseUpdater>
clone()
const;
60 std::shared_ptr<V2PMotionModel> motion_model);
69 virtual void update_pose(
const Eigen::Vector3d& last_pose);
78 double rotation_angle)
const;
Class to update the pose of the vehicle.
CircularBuffer< TimedPose > _pose_buffer_
rclcpp::Time get_last_pose_update() const
Eigen::Matrix3d get_adjoint_operator_matrix(double x_translation, double y_translation, double rotation_angle) const
Eigen::Vector3d get_pose_at_timestamp(const rclcpp::Time ×tamp) const
virtual void update_pose(const Eigen::Vector3d &last_pose)
Updates the last pose with the given pose.
Eigen::Vector3d get_last_graphed_pose() const
Eigen::Vector3d _last_graphed_pose_
Eigen::Matrix3d _last_pose_covariance_
Eigen::Vector3d get_pose_difference_noise() const
PoseUpdater & operator=(const PoseUpdater &other)
bool _received_first_motion_data_
size_t pose_buffer_capacity() const
virtual void predict_pose(const MotionData &motion_data, std::shared_ptr< V2PMotionModel > motion_model)
Updates the last pose and returns the pose difference.
virtual bool pose_ready_for_graph_update() const
Check if the pose is ready for graph update.
Eigen::Vector3d get_last_pose() const
virtual std::shared_ptr< PoseUpdater > clone() const
Class to update the pose of the vehicle.
rclcpp::Time _last_pose_update_
size_t pose_buffer_size() const
bool _new_pose_from_graph_
Eigen::Vector3d _last_pose_
Data structure to hold motion data.
TimedPose(const Eigen::Vector3d &p, const rclcpp::Time &t)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Vector3d pose
Parameters for the SLAM node.