Autoware.Auto
autoware::perception::tracking Namespace Reference

Namespaces

 detail
 
 details
 

Classes

class  Associated
 This class describes an associated object array of a certain message type. More...
 
struct  Association
 A struct that represents an association. It holds an enum that indicates the type of a match and an index of an object to which this association is matched. More...
 
struct  AssociatorResult
 Struct to store results after the assignment is done. More...
 
struct  CameraIntrinsics
 Camera intrinsic parameters. More...
 
class  CameraModel
 This model represents a camera in 3D space and can project 3D shapes into an image. More...
 
struct  ClassificationVariable
 A struct to create a variable type from a given uint8_t value. More...
 
class  DataAssociationConfig
 Class to create configuration parameters for data association. More...
 
class  DetectedObjectAssociator
 Class to perform data association between existing tracks and new detections using mahalanobis distance and hungarian assigner. More...
 
struct  DetectedObjectsUpdateResult
 Output of MultiObjectTracker::update. More...
 
class  GenericClassificationTracker
 A class for tracking classification information that works on any set of variables. More...
 
class  GreedyRoiAssociator
 Class to associate the detections and tracks in euclidean space to ROIs in image space on a first-come-first-serve manner. More...
 
struct  GreedyRoiAssociatorConfig
 
struct  IOUHeuristic
 Simple heuristic functor that returns the IoU between two shapes. More...
 
class  LidarClusterIfVisionPolicy
 Class implementing LidarIfVision track creation policy. More...
 
class  LidarOnlyPolicy
 
class  MultiObjectTracker
 A class for multi-object tracking. More...
 
struct  MultiObjectTrackerOptions
 Options for object tracking, with sensible defaults. More...
 
struct  Projection
 
struct  TrackCreationResult
 Struct to be used as the return value from track creation process. More...
 
class  TrackCreator
 Class to create new tracks based on a predefined policy and unassociated detections. More...
 
class  TrackedObject
 Internal class containing the object state and other information. More...
 
struct  TrackedObjects
 A collection of tracked objects. More...
 
struct  VisionPolicyConfig
 Struct defining configuration parameters for LidarIfVision policy. More...
 

Typedefs

using ClassificationTracker = GenericClassificationTracker< ObjectClassificationState >
 
using assigner_idx_t = autoware::fusion::hungarian_assigner::index_t
 
using Associations = std::vector< Association >
 
using ObjectsWithAssociations = Associated< autoware_auto_perception_msgs::msg::DetectedObjects >
 
using RoisWithAssociations = Associated< autoware_auto_perception_msgs::msg::ClassifiedRoiArray >
 
using TracksWithAssociations = Associated< autoware_auto_perception_msgs::msg::ClassifiedRoiArray >
 
using ObjectClassificationState = common::state_vector::FloatState< ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::UNKNOWN >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::CAR >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::TRUCK >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::BUS >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::TRAILER >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::MOTORCYCLE >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::BICYCLE >, ClassificationVariable< autoware_auto_perception_msgs::msg::ObjectClassification::PEDESTRIAN > >
 A common state used for classification in the tracker. More...
 

Enumerations

enum  TrackerUpdateStatus {
  TrackerUpdateStatus::Ok, TrackerUpdateStatus::WentBackInTime, TrackerUpdateStatus::DetectionFrameMismatch, TrackerUpdateStatus::TrackerFrameMismatch,
  TrackerUpdateStatus::FrameNotGravityAligned, TrackerUpdateStatus::InvalidShape
}
 A return code for the tracker update. More...
 
enum  Matched { Matched::kNothing, Matched::kOtherDetection, Matched::kExistingTrack, Matched::kNewTrack }
 This enum holds various values that signify a match to a certain modality. More...
 
enum  TrackCreationPolicy { TrackCreationPolicy::LidarClusterOnly, TrackCreationPolicy::LidarClusterIfVision }
 

Functions

template<typename StateT >
static void assert_indices_match_classification_constants ()
 Check that all the indices in the state vector correspond to the integral constant that the variable type represents. More...
 

Variables

constexpr uint16_t MAX_NUM_TRACKS = 256U
 Maximum number of tracks possible in every timestep. More...
 
constexpr uint16_t NUM_OBJ_POSE_DIM = 2U
 Number of dimensions needed to represent object position for tracking (x and y) More...
 
template class TRACKING_PUBLIC MultiObjectTracker< TrackCreator< LidarOnlyPolicy > >
 
template class TRACKING_PUBLIC MultiObjectTracker< TrackCreator< LidarClusterIfVisionPolicy > >
 

Typedef Documentation

◆ assigner_idx_t

◆ Associations

◆ ClassificationTracker

◆ ObjectClassificationState

using autoware::perception::tracking::ObjectClassificationState = typedef common::state_vector::FloatState< ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::UNKNOWN>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::CAR>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::TRUCK>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::BUS>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::TRAILER>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::MOTORCYCLE>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::BICYCLE>, ClassificationVariable<autoware_auto_perception_msgs::msg::ObjectClassification::PEDESTRIAN> >

A common state used for classification in the tracker.

◆ ObjectsWithAssociations

◆ RoisWithAssociations

using autoware::perception::tracking::RoisWithAssociations = typedef Associated<autoware_auto_perception_msgs::msg::ClassifiedRoiArray>

◆ TracksWithAssociations

using autoware::perception::tracking::TracksWithAssociations = typedef Associated<autoware_auto_perception_msgs::msg::ClassifiedRoiArray>

Enumeration Type Documentation

◆ Matched

This enum holds various values that signify a match to a certain modality.

Enumerator
kNothing 

Nothing was matched.

kOtherDetection 

Matched another detection.

kExistingTrack 

Matched an existing track.

kNewTrack 

Matched a new track.

◆ TrackCreationPolicy

Enumerator
LidarClusterOnly 

Create tracks from every unassociated lidar cluster.

LidarClusterIfVision 

Create tracks from unassociated lidar clusters only if they have associated vision detections.

◆ TrackerUpdateStatus

A return code for the tracker update.

Enumerator
Ok 

Success.

WentBackInTime 

The provided detections were older than the previous detections. The Kalman filter can only extrapolate forward, so this is an error.

DetectionFrameMismatch 

The frame of the detections does not match the source frame of the transform.

TrackerFrameMismatch 

The target frame of the transform does not match the frame in which the tracker operates.

FrameNotGravityAligned 

The provided detections are not in a usable frame – the detection frame must be gravity-aligned.

InvalidShape 

At least one of the provided detections has an invalid shape.

Function Documentation

◆ assert_indices_match_classification_constants()

template<typename StateT >
static void autoware::perception::tracking::assert_indices_match_classification_constants ( )
inlinestatic

Check that all the indices in the state vector correspond to the integral constant that the variable type represents.

This check is needed to ensure that all the values from ObjectClassification constants are covered by the variables used in the state. The function itself does nothing important but it will not compile if there is a mismatch in variable values.

Template Parameters
StateTA state that needs checking.

Variable Documentation

◆ MAX_NUM_TRACKS

constexpr uint16_t autoware::perception::tracking::MAX_NUM_TRACKS = 256U
constexpr

Maximum number of tracks possible in every timestep.

◆ MultiObjectTracker< TrackCreator< LidarClusterIfVisionPolicy > >

◆ MultiObjectTracker< TrackCreator< LidarOnlyPolicy > >

◆ NUM_OBJ_POSE_DIM

constexpr uint16_t autoware::perception::tracking::NUM_OBJ_POSE_DIM = 2U
constexpr

Number of dimensions needed to represent object position for tracking (x and y)