Go to the documentation of this file.
17 #ifndef TRACKING__TRACK_CREATOR_HPP_
18 #define TRACKING__TRACK_CREATOR_HPP_
20 #include <autoware_auto_perception_msgs/msg/classified_roi_array.hpp>
21 #include <autoware_auto_perception_msgs/msg/detected_objects.hpp>
23 #include <message_filters/cache.h>
24 #include <tf2/buffer_core.h>
33 #include <unordered_map>
50 std::chrono::milliseconds max_vision_lidar_timestamp_diff{20};
71 const tf2::BufferCore & tf_buffer);
78 const tf2::BufferCore & m_tf_buffer;
89 const tf2::BufferCore & tf_buffer);
94 const autoware_auto_perception_msgs::msg::ClassifiedRoiArray & vision_rois,
99 message_filters::Cache<autoware_auto_perception_msgs::msg::ClassifiedRoiArray>;
101 void create_using_cache(
103 const VisionCache & vision_cache,
106 static constexpr std::uint32_t kVisionCacheSize = 20U;
110 const tf2::BufferCore & m_tf_buffer;
115 std::unordered_map<std::string, VisionCache> m_vision_cache_map;
119 template<
class PolicyT>
125 : m_policy{policy} {}
131 return m_policy->create(objects);
137 template<
typename ... Ts>
140 return m_policy->add_objects(std::forward<Ts>(args)...);
144 std::shared_ptr<PolicyT> m_policy{};
151 #endif // TRACKING__TRACK_CREATOR_HPP_
std::vector< Association > Associations
Definition: objects_with_associations.hpp:69
Class to associate the detections and tracks in euclidean space to ROIs in image space on a first-com...
Definition: greedy_roi_associator.hpp:67
This file includes common type definition.
builtin_interfaces::msg::Time related_rois_stamp
Timestamps of msgs from each of the ClassifiedROIArray topics used for track creation.
Definition: track_creator.hpp:61
This class describes an associated object array of a certain message type.
Definition: objects_with_associations.hpp:80
TrackCreator(std::shared_ptr< PolicyT > policy)
Constructor.
Definition: track_creator.hpp:124
Struct defining configuration parameters for LidarIfVision policy.
Definition: track_creator.hpp:45
GreedyRoiAssociatorConfig associator_cfg
Definition: track_creator.hpp:48
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24
Struct to store results after the assignment is done.
Definition: tracker_types.hpp:40
std::vector< TrackedObject > tracks
List of newly created tracks.
Definition: track_creator.hpp:57
Associations associations
List of associations that matches an association to each track.
Definition: track_creator.hpp:59
Class implementing LidarIfVision track creation policy.
Definition: track_creator.hpp:82
auto add_objects(Ts &&... args)
Definition: track_creator.hpp:138
Definition: greedy_roi_associator.hpp:59
TrackCreationResult create_tracks(const ObjectsWithAssociations &objects)
Create new tracks based on the policy and unassociated detections. Call the appropriate add_unassigne...
Definition: track_creator.hpp:129
This file defines the multi_object_tracking class.
Struct to be used as the return value from track creation process.
Definition: track_creator.hpp:54
double float64_t
Definition: types.hpp:47
Class to create new tracks based on a predefined policy and unassociated detections.
Definition: track_creator.hpp:120
Definition: track_creator.hpp:65