Autoware.Auto
autoware::prediction Namespace Reference

Functionality relating to prediction, including state estimation, kinematic prediction, maneuver-based prediction, map-aware prediction etc... More...

Namespaces

 detail
 
 kalman_filter
 Contains the kalman filter package and related classes and functionality.
 
 state
 
 state_estimation_nodes
 
 variable
 

Classes

struct  AngleVariable
 A tag struct used to disambiguate variables that store angles from other types. More...
 
class  GenericState
 A representation of a generic state vectors with specified variables. More...
 
class  History
 This class encapsulates a history of events used with EKF. More...
 
struct  is_angle
 A trait to check if a variable represents an angle. More...
 
struct  is_state
 Forward-declare is_state trait. More...
 
struct  is_state< GenericState< ScalarT, VariableTs... > >
 A specialization of this trait for GenericState type. More...
 
struct  is_variable
 A trait to check if a type is a variable by checking if it inherits from Variable. More...
 
class  KalmanFilterWrapper
 This class provides a high level interface to the Kalman Filter allowing to predict the state of the filter with time and observe it by receiving ROS messages. More...
 
class  LinearMeasurement
 A class that represents a linear measurement. More...
 
class  LinearMotionModel
 A generic linear motion model class. More...
 
class  Measurement
 
struct  MeasurementInterface
 A CRTP interface to any measurement. More...
 
class  MotionModelInterface
 A CRTP interface for any motion model. More...
 
class  NoiseInterface
 A CRTP interface for implementing noise models used for providing motion model noise covariance. More...
 
struct  PredictionEvent
 An event to indicate a prediction step. More...
 
struct  ResetEvent
 An event to reset the state of the filter. More...
 
class  SteadyTimeGrid
 This is a utility class that allows querying timestamps on a 1D grid. More...
 
struct  Variable
 A tag struct used to disambiguate variables from other types. More...
 
class  WienerNoise
 A class that describes the Wiener process noise. More...
 

Typedefs

template<typename ... Ts>
using FloatState = GenericState< common::types::float32_t, Ts... >
 A typedef for the 32 bit floating point state. More...
 
template<typename ... Ts>
using DoubleState = GenericState< common::types::float64_t, Ts... >
 A typedef for the 64 bit floating point state. More...
 
using ConstantAccelerationFilter = KalmanFilterWrapper< motion::motion_model::ConstantAcceleration, 6, 2 >
 
using MeasurementPose = Measurement< common::types::float32_t, motion::motion_model::ConstantAcceleration::States::POSE_X, motion::motion_model::ConstantAcceleration::States::POSE_Y >
 
using MeasurementPoseAndSpeed = Measurement< common::types::float32_t, motion::motion_model::ConstantAcceleration::States::POSE_X, motion::motion_model::ConstantAcceleration::States::POSE_Y, motion::motion_model::ConstantAcceleration::States::VELOCITY_X, motion::motion_model::ConstantAcceleration::States::VELOCITY_Y >
 
using MeasurementSpeed = Measurement< common::types::float32_t, motion::motion_model::ConstantAcceleration::States::VELOCITY_X, motion::motion_model::ConstantAcceleration::States::VELOCITY_Y >
 

Functions

template<typename MeasurementT , typename MessageT >
MeasurementT message_to_measurement (const MessageT &, const Eigen::Isometry3f &)
 Interface for converting a message into a measurement. More...
 
template<std::int32_t kStateDimentionality, typename FloatT >
static constexpr Eigen::Transform< FloatT, kStateDimentionality, Eigen::TransformTraits::Isometry > downscale_isometry (const Eigen::Transform< FloatT, 3, Eigen::TransformTraits::Isometry > &isometry)
 Downscale the isometry to a lower dimention if needed. More...
 
template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementPoseAndSpeed message_to_measurement (const nav_msgs::msg::Odometry &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for odometry message. More...
 
template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementSpeed message_to_measurement (const geometry_msgs::msg::TwistWithCovarianceStamped &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for twist message. More...
 
template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementPose message_to_measurement (const geometry_msgs::msg::PoseWithCovarianceStamped &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for pose message. More...
 
template<>
MeasurementPoseAndSpeed message_to_measurement (const nav_msgs::msg::Odometry &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for odometry message. More...
 
template<>
MeasurementSpeed message_to_measurement (const geometry_msgs::msg::TwistWithCovarianceStamped &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for twist message. More...
 
template<>
MeasurementPose message_to_measurement (const geometry_msgs::msg::PoseWithCovarianceStamped &msg, const Eigen::Isometry3f &tf_world_message)
 Specialization of message_to_measurement for pose message. More...
 

Detailed Description

Functionality relating to prediction, including state estimation, kinematic prediction, maneuver-based prediction, map-aware prediction etc...

Typedef Documentation

◆ ConstantAccelerationFilter

◆ DoubleState

template<typename ... Ts>
using autoware::prediction::DoubleState = typedef GenericState<common::types::float64_t, Ts...>

A typedef for the 64 bit floating point state.

◆ FloatState

template<typename ... Ts>
using autoware::prediction::FloatState = typedef GenericState<common::types::float32_t, Ts...>

A typedef for the 32 bit floating point state.

◆ MeasurementPose

◆ MeasurementPoseAndSpeed

◆ MeasurementSpeed

Function Documentation

◆ downscale_isometry()

template<std::int32_t kStateDimentionality, typename FloatT >
static constexpr Eigen::Transform< FloatT, kStateDimentionality, Eigen::TransformTraits::Isometry> autoware::prediction::downscale_isometry ( const Eigen::Transform< FloatT, 3, Eigen::TransformTraits::Isometry > &  isometry)
static

Downscale the isometry to a lower dimention if needed.

Parameters
[in]isometryThe isometry transform
Template Parameters
kStateDimentionalityDimentionality of the space.
FloatTType of scalar.
Returns
Downscaled isometry.

◆ message_to_measurement() [1/7]

template<>
MeasurementPoseAndSpeed autoware::prediction::message_to_measurement ( const nav_msgs::msg::Odometry &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for odometry message.

Parameters
[in]msgThe odometry message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing pose and speed.

◆ message_to_measurement() [2/7]

template<typename MeasurementT , typename MessageT >
MeasurementT autoware::prediction::message_to_measurement ( const MessageT &  ,
const Eigen::Isometry3f &   
)

Interface for converting a message into a measurement.

Template Parameters
MeasurementTType of measurement.
MessageTType of ROS 2 message.
Returns
The measurement created from a message.

◆ message_to_measurement() [3/7]

template<>
MeasurementSpeed autoware::prediction::message_to_measurement ( const geometry_msgs::msg::TwistWithCovarianceStamped &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for twist message.

Parameters
[in]msgThe twist message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing speed.

◆ message_to_measurement() [4/7]

template<>
MeasurementPose autoware::prediction::message_to_measurement ( const geometry_msgs::msg::PoseWithCovarianceStamped &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for pose message.

Parameters
[in]msgThe pose message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing pose.

◆ message_to_measurement() [5/7]

template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementPoseAndSpeed autoware::prediction::message_to_measurement ( const nav_msgs::msg::Odometry &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for odometry message.

Parameters
[in]msgThe odometry message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing pose and speed.

◆ message_to_measurement() [6/7]

template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementSpeed autoware::prediction::message_to_measurement ( const geometry_msgs::msg::TwistWithCovarianceStamped &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for twist message.

Parameters
[in]msgThe twist message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing speed.

◆ message_to_measurement() [7/7]

template<>
STATE_ESTIMATION_NODES_PUBLIC MeasurementPose autoware::prediction::message_to_measurement ( const geometry_msgs::msg::PoseWithCovarianceStamped &  msg,
const Eigen::Isometry3f &  tf_world_message 
)

Specialization of message_to_measurement for pose message.

Parameters
[in]msgThe pose message.
[in]tf_world_messageA transform from message frame to world frame.
Returns
The measurement containing pose.