|
Formula Student Autonomous Systems
The code for the main driverless system
|
TODO: abandoned for now, not working properly. More...
#include <double_pose_updater.hpp>


Public Member Functions | |
| DoublePoseUpdater (const SLAMParameters ¶ms) | |
| DoublePoseUpdater (const DoublePoseUpdater &other) | |
| DoublePoseUpdater & | operator= (const DoublePoseUpdater &other) |
| std::shared_ptr< PoseUpdater > | clone () const override |
| Clone the pose updater. | |
| void | predict_pose (const MotionData &motion_data, std::shared_ptr< V2PMotionModel > motion_model) override |
| Updates the last pose and returns the pose difference. | |
| Eigen::Vector3d | get_second_accumulated_pose_difference () const override |
| Get the accumulated pose difference from the second source. | |
| bool | second_pose_difference_ready () const override |
| Check if the second pose difference is ready. | |
Public Member Functions inherited from DifferenceBasedReadyPoseUpdater | |
| DifferenceBasedReadyPoseUpdater (const SLAMParameters ¶ms) | |
| DifferenceBasedReadyPoseUpdater (const DifferenceBasedReadyPoseUpdater &other) | |
| DifferenceBasedReadyPoseUpdater & | operator= (const DifferenceBasedReadyPoseUpdater &other) |
| virtual | ~DifferenceBasedReadyPoseUpdater () |
| virtual bool | pose_ready_for_graph_update () const override |
| Check if the accumulated pose difference is greater than the minimum threshold. | |
Public Member Functions inherited from PoseUpdater | |
| PoseUpdater (const SLAMParameters ¶ms) | |
| PoseUpdater (const PoseUpdater &other) | |
| PoseUpdater & | operator= (const PoseUpdater &other) |
| virtual | ~PoseUpdater () |
| virtual void | update_pose (const Eigen::Vector3d &last_pose) |
| Updates the last pose with the given pose. | |
| 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 |
Private Attributes | |
| bool | _received_first_velocities_ |
| bool | _received_first_odometry_ = false |
| rclcpp::Time | _last_velocities_receive_time_ |
| Last pose update timestamp for velocities. | |
| Eigen::Vector3d | _accumulated_odometry_pose_difference_ |
| Accumulated odometry pose difference since the last pose update. | |
| Eigen::Vector3d | _last_odometry_pose_ = Eigen::Vector3d::Zero() |
Additional Inherited Members | |
Protected Attributes inherited from PoseUpdater | |
| 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_ |
TODO: abandoned for now, not working properly.
Definition at line 13 of file double_pose_updater.hpp.
|
explicit |
Definition at line 3 of file double_pose_updater.cpp.
| DoublePoseUpdater::DoublePoseUpdater | ( | const DoublePoseUpdater & | other | ) |
Definition at line 13 of file double_pose_updater.cpp.
|
inlineoverridevirtual |
Clone the pose updater.
This method is used to create a copy of the pose updater It is useful for polymorphic classes that use pointers to base class
Reimplemented from DifferenceBasedReadyPoseUpdater.
Definition at line 33 of file double_pose_updater.hpp.
|
overridevirtual |
Get the accumulated pose difference from the second source.
Implements SecondPoseInputTrait.
Definition at line 43 of file double_pose_updater.cpp.
| DoublePoseUpdater & DoublePoseUpdater::operator= | ( | const DoublePoseUpdater & | other | ) |
|
overridevirtual |
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 from PoseUpdater.
Definition at line 36 of file double_pose_updater.cpp.
|
overridevirtual |
Check if the second pose difference is ready.
Implements SecondPoseInputTrait.
Definition at line 39 of file double_pose_updater.cpp.
|
private |
Accumulated odometry pose difference since the last pose update.
Definition at line 21 of file double_pose_updater.hpp.
|
private |
Definition at line 24 of file double_pose_updater.hpp.
|
private |
Last pose update timestamp for velocities.
Definition at line 18 of file double_pose_updater.hpp.
|
private |
Definition at line 16 of file double_pose_updater.hpp.
|
private |
Definition at line 14 of file double_pose_updater.hpp.