177 std::vector<PosHumanDistance>
178 getSortedDistances(std::vector<HumanTracker::TrackedHuman>& oldHumans,
179 std::vector<HumanTracker::DetectedHuman>& newHumans);
188 std::vector<PosLaserDistance>
189 getSortedDistances(std::vector<HumanTracker::TrackedHuman>& oldHumans,
190 std::vector<AdvancedCluster>& newClusters);
197 void associateHumans(std::vector<DetectedHuman>& detectedHumans);
211 float getClusterSize(
Cluster cluster);
218 Eigen::Vector2f getClusterCenter(
Cluster cluster);
224 void prepareTrackedHumans(
DateTime time);
228 std::vector<TrackedHuman> trackedHumans;
static Duration MilliSeconds(std::int64_t milliSeconds)
Constructs a duration in milliseconds.
Represents a point in time.
The HumanFilter class can be used to track and filter the state of a single human.
void update(const CameraMeasurement &measurements)
HumanTracker::update Updates the tracked humans with the human measurements from a camera.
void reset()
HumanTracker::reset Resets this instance to the same state as if it just would have been created.
std::vector< human::Human > getTrackedHumans() const
HumanTracker::getTrackedHumans Returns all humans that are currently tracked.
This file is part of ArmarX.
memory::LaserScannerFeature Cluster
std::vector< armem::human::HumanPose > humanPoses
std::optional< std::string > trackingId
std::vector< Cluster > clusters
float maxAssociationDistance
const std::string rotationKeypoint
HumanTracker::TrackedHuman * oldHuman
HumanTracker::DetectedHuman * newHuman
HumanTracker::TrackedHuman * oldHuman
AdvancedCluster * newCluster
std::optional< std::string > trackingId
AdvancedCluster * associatedCluster