Autoware.Auto
autoware::prediction Namespace Reference

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

Namespaces

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

Classes

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  Measurement
 
class  MeasurementBasedTimeKeeper
 This is a time storage class that keeps the time with respect to the clock that timestamped the last measurement. More...
 
class  Time
 This class describes a time point with respect to some time reference frame. More...
 

Typedefs

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 >
 
using MeasurementBasedTime = Time< TimeReferenceFrame::kMeasurement >
 Utility typedef to define time based on a measurement clock. More...
 
using GlobalTime = Time< TimeReferenceFrame::kGlobal >
 Utility typedef to define time based on some global clock. More...
 

Enumerations

enum  TimeReferenceFrame { TimeReferenceFrame::kGlobal, TimeReferenceFrame::kMeasurement }
 This class describes a time reference frame. This is used to define in which clock a particular time point lives. More...
 

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...
 

Detailed Description

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

Typedef Documentation

◆ ConstantAccelerationFilter

◆ GlobalTime

Utility typedef to define time based on some global clock.

◆ MeasurementBasedTime

Utility typedef to define time based on a measurement clock.

◆ MeasurementPose

◆ MeasurementPoseAndSpeed

◆ MeasurementSpeed

Enumeration Type Documentation

◆ TimeReferenceFrame

This class describes a time reference frame. This is used to define in which clock a particular time point lives.

Enumerator
kGlobal 
kMeasurement 

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)
staticconstexpr

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/4]

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() [2/4]

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() [3/4]

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() [4/4]

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.