HumanTracker Class Reference

The HumanTracker class can be used to track and filter multiple humans. More...

#include <armarx/navigation/human/HumanTracker.h>

Classes

struct  AdvancedCluster
 
struct  CameraMeasurement
 
struct  DetectedHuman
 
struct  LaserMeasurement
 
struct  Parameters
 
struct  PosHumanDistance
 
struct  PosLaserDistance
 
struct  TrackedHuman
 

Public Member Functions

std::vector< human::HumangetTrackedHumans () const
 HumanTracker::getTrackedHumans Returns all humans that are currently tracked. More...
 
 HumanTracker ()=default
 
void reset ()
 HumanTracker::reset Resets this instance to the same state as if it just would have been created. More...
 
void update (const CameraMeasurement &measurements)
 HumanTracker::update Updates the tracked humans with the human measurements from a camera. More...
 
std::vector< Clusterupdate (const LaserMeasurement &measurements)
 HumanTracker::update Updates the tracked humans with the measurements from a lasersensor. More...
 

Detailed Description

The HumanTracker class can be used to track and filter multiple humans.

It hides implementation detail on how new detected humans are associated to the old, already tracked humans. New detected humans can be fed by using the update method. The tracked humans can be obtained using the getTrackedHumans method.

Definition at line 47 of file HumanTracker.h.

Constructor & Destructor Documentation

◆ HumanTracker()

HumanTracker ( )
default

Member Function Documentation

◆ getTrackedHumans()

std::vector< human::Human > getTrackedHumans ( ) const

HumanTracker::getTrackedHumans Returns all humans that are currently tracked.

Returns
the tracked humans

Definition at line 152 of file HumanTracker.cpp.

+ Here is the call graph for this function:

◆ reset()

void reset ( )

HumanTracker::reset Resets this instance to the same state as if it just would have been created.

Definition at line 161 of file HumanTracker.cpp.

+ Here is the caller graph for this function:

◆ update() [1/2]

void update ( const CameraMeasurement measurements)

HumanTracker::update Updates the tracked humans with the human measurements from a camera.

When a measurement is close enough to an existing tracked human, they are associated, otherwise a new tracked human is created. Tracked humans that were not associated with a new measurement for a specified amount of time are removed. New associated measurements for a tracked human are always filtered to provide a less noisy state.

Parameters
measurementsthe new measurements of the environment

Definition at line 19 of file HumanTracker.cpp.

+ Here is the call graph for this function:

◆ update() [2/2]

std::vector< Cluster > update ( const LaserMeasurement measurements)

HumanTracker::update Updates the tracked humans with the measurements from a lasersensor.

When a measurement is close enough to an existing tracked human, they are associated, otherwise the measurement is not used for human tracking but returned in the list of unused measurements. Tracked humans that were not associated with a new measurement for a specified amount of time are removed. New associated measurements for a tracked human are always filtered to provide a less noisy state.

Parameters
measurements
Returns

Definition at line 52 of file HumanTracker.cpp.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: