Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
base_v2p_motion_model.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Eigen/Dense>
4
12public:
13 virtual ~V2PMotionModel() = default;
14
23 virtual Eigen::Vector3d get_next_pose(const Eigen::Vector3d &previous_pose,
24 const Eigen::VectorXd &motion_data, const double delta_t);
25
34 virtual Eigen::Vector3d get_pose_difference(const Eigen::Vector3d &previous_pose,
35 const Eigen::VectorXd &motion_data,
36 const double delta_t) = 0;
37
47 virtual Eigen::Matrix3d get_jacobian_pose(const Eigen::Vector3d &previous_pose,
48 const Eigen::VectorXd &motion_data,
49 const double delta_t) = 0;
50
60 virtual Eigen::MatrixXd get_jacobian_motion_data(
61 const Eigen::Vector3d &previous_pose, [[maybe_unused]] const Eigen::VectorXd &motion_data,
62 const double delta_t) = 0;
63};
Base class for the 'vehicle to pose' (more in interal background review) motion models.
virtual Eigen::Vector3d get_next_pose(const Eigen::Vector3d &previous_pose, const Eigen::VectorXd &motion_data, const double delta_t)
Predict the pose of the robot given the motion data.
virtual ~V2PMotionModel()=default
virtual Eigen::Matrix3d get_jacobian_pose(const Eigen::Vector3d &previous_pose, const Eigen::VectorXd &motion_data, const double delta_t)=0
Get the Jacobian matrix of the motion model in relation to the pose (state)
virtual Eigen::Vector3d get_pose_difference(const Eigen::Vector3d &previous_pose, const Eigen::VectorXd &motion_data, const double delta_t)=0
Gives the increments to the pose instead of the next pose.
virtual Eigen::MatrixXd get_jacobian_motion_data(const Eigen::Vector3d &previous_pose, const Eigen::VectorXd &motion_data, const double delta_t)=0
Get the Jacobian matrix of the motion model in relation to motion data (commands)