Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
V2PMotionModel Class Referenceabstract

Base class for the 'vehicle to pose' (more in interal background review) motion models. More...

#include <base_v2p_motion_model.hpp>

Inheritance diagram for V2PMotionModel:
Inheritance graph
Collaboration diagram for V2PMotionModel:
Collaboration graph

Public Member Functions

virtual ~V2PMotionModel ()=default
 
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 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::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::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)
 

Detailed Description

Base class for the 'vehicle to pose' (more in interal background review) motion models.

This class defines the interface for the motion models that predict the pose of the robot given the motion data

Definition at line 11 of file base_v2p_motion_model.hpp.

Constructor & Destructor Documentation

◆ ~V2PMotionModel()

virtual V2PMotionModel::~V2PMotionModel ( )
virtualdefault

Member Function Documentation

◆ get_jacobian_motion_data()

virtual Eigen::MatrixXd V2PMotionModel::get_jacobian_motion_data ( const Eigen::Vector3d &  previous_pose,
const Eigen::VectorXd &  motion_data,
const double  delta_t 
)
pure virtual

Get the Jacobian matrix of the motion model in relation to motion data (commands)

This is used to multiplty by the motion data noise to get the matrix to be summed to the covariance

Parameters
previous_pose
motion_data(vx, vy, omega, ax)
delta_t
Returns
Eigen::Matrix3d

Implemented in ConstantAccelerationTurnrateModel, ConstantVelocityModel, ConstantVelocityTurnrateModel, and OdometryModel.

◆ get_jacobian_pose()

virtual Eigen::Matrix3d V2PMotionModel::get_jacobian_pose ( const Eigen::Vector3d &  previous_pose,
const Eigen::VectorXd &  motion_data,
const double  delta_t 
)
pure virtual

Get the Jacobian matrix of the motion model in relation to the pose (state)

This is used to multiplty by the previous covariance to get the matrix, propagating the previous pose error to the current pose error (variance)

Parameters
previous_pose
motion_data(vx, vy, omega, ax)
delta_t
Returns
Eigen::Matrix3d

Implemented in ConstantAccelerationTurnrateModel, ConstantVelocityModel, ConstantVelocityTurnrateModel, and OdometryModel.

◆ get_next_pose()

Eigen::Vector3d V2PMotionModel::get_next_pose ( const Eigen::Vector3d &  previous_pose,
const Eigen::VectorXd &  motion_data,
const double  delta_t 
)
virtual

Predict the pose of the robot given the motion data.

Parameters
previous_pose
motion_data(vx, vy, omega, ax)
delta_t
Returns
Eigen::Vector3d

Definition at line 5 of file base_v2p_motion_model.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_pose_difference()

virtual Eigen::Vector3d V2PMotionModel::get_pose_difference ( const Eigen::Vector3d &  previous_pose,
const Eigen::VectorXd &  motion_data,
const double  delta_t 
)
pure virtual

Gives the increments to the pose instead of the next pose.

Parameters
previous_pose
motion_data(vx, vy, omega, ax)
delta_t
Returns
Eigen::Vector3d

Implemented in ConstantAccelerationTurnrateModel, ConstantVelocityModel, ConstantVelocityTurnrateModel, and OdometryModel.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: