|
Formula Student Autonomous Systems
The code for the main driverless system
|
Class to update the pose of the vehicle. More...
#include <base_pose_updater.hpp>


Classes | |
| struct | TimedPose |
Public Member Functions | |
| PoseUpdater (const SLAMParameters ¶ms) | |
| PoseUpdater (const PoseUpdater &other) | |
| PoseUpdater & | operator= (const PoseUpdater &other) |
| virtual | ~PoseUpdater () |
| virtual std::shared_ptr< PoseUpdater > | clone () const |
| Class to update the pose of the vehicle. | |
| virtual void | predict_pose (const MotionData &motion_data, std::shared_ptr< V2PMotionModel > motion_model) |
| Updates the last pose and returns the pose difference. | |
| virtual void | update_pose (const Eigen::Vector3d &last_pose) |
| Updates the last pose with the given pose. | |
| virtual bool | pose_ready_for_graph_update () const |
| Check if the pose is ready for graph update. | |
| Eigen::Matrix3d | get_adjoint_operator_matrix (double x_translation, double y_translation, double rotation_angle) const |
| Eigen::Vector3d | get_last_pose () const |
| Eigen::Vector3d | get_last_graphed_pose () const |
| Eigen::Vector3d | get_pose_difference_noise () const |
| rclcpp::Time | get_last_pose_update () const |
| size_t | pose_buffer_size () const |
| size_t | pose_buffer_capacity () const |
| Eigen::Vector3d | get_pose_at_timestamp (const rclcpp::Time ×tamp) const |
Protected Attributes | |
| Eigen::Vector3d | _last_pose_ |
| Eigen::Vector3d | _last_graphed_pose_ |
| Eigen::Matrix3d | _last_pose_covariance_ |
| rclcpp::Time | _last_pose_update_ |
| bool | _received_first_motion_data_ = false |
| bool | _new_pose_from_graph_ = false |
| CircularBuffer< TimedPose > | _pose_buffer_ |
Class to update the pose of the vehicle.
This class is the one to apply the motion model and keep track of the most up to date pose. It allows for the pose estimate to be calculated independently of the graph optimization, and only update the graph when needed.
Definition at line 18 of file base_pose_updater.hpp.
|
explicit |
Definition at line 5 of file base_pose_updater.cpp.
| PoseUpdater::PoseUpdater | ( | const PoseUpdater & | other | ) |
Definition at line 14 of file base_pose_updater.cpp.
|
virtualdefault |
|
virtual |
Class to update the pose of the vehicle.
This class is the one to apply the motion model and keep track of the most up to date pose. It allows for the pose estimate to be calculated independently of the graph optimization, and only update the graph when needed.
Reimplemented in DifferenceBasedReadyPoseUpdater, and DoublePoseUpdater.
Definition at line 39 of file base_pose_updater.cpp.
| Eigen::Matrix3d PoseUpdater::get_adjoint_operator_matrix | ( | double | x_translation, |
| double | y_translation, | ||
| double | rotation_angle | ||
| ) | const |
|
inline |
Definition at line 82 of file base_pose_updater.hpp.
|
inline |
Definition at line 80 of file base_pose_updater.hpp.
|
inline |
Definition at line 89 of file base_pose_updater.hpp.
| Eigen::Vector3d PoseUpdater::get_pose_at_timestamp | ( | const rclcpp::Time & | timestamp | ) | const |
Definition at line 43 of file base_pose_updater.cpp.
|
inline |
Definition at line 84 of file base_pose_updater.hpp.
| PoseUpdater & PoseUpdater::operator= | ( | const PoseUpdater & | other | ) |
|
inline |
Definition at line 92 of file base_pose_updater.hpp.
|
inline |
Definition at line 91 of file base_pose_updater.hpp.
|
virtual |
Check if the pose is ready for graph update.
Reimplemented in DifferenceBasedReadyPoseUpdater.
Definition at line 119 of file base_pose_updater.cpp.
|
virtual |
Updates the last pose and returns the pose difference.
| motion_data | Motion data containing the velocities and timestamp |
| motion_model | Motion model to apply the velocities |
Reimplemented in DoublePoseUpdater.
Definition at line 71 of file base_pose_updater.cpp.

|
virtual |
Updates the last pose with the given pose.
This method is used to set the last pose directly, for example after an optimization or when the pose is known from another source. It resets the accumulated pose difference.
| last_pose | The last pose to set |
Definition at line 60 of file base_pose_updater.cpp.
|
protected |
Definition at line 30 of file base_pose_updater.hpp.
|
protected |
Definition at line 29 of file base_pose_updater.hpp.
|
protected |
Definition at line 31 of file base_pose_updater.hpp.
|
protected |
Definition at line 32 of file base_pose_updater.hpp.
|
protected |
Definition at line 35 of file base_pose_updater.hpp.
|
protected |
Definition at line 37 of file base_pose_updater.hpp.
|
protected |
Definition at line 34 of file base_pose_updater.hpp.