|
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::Human > | getTrackedHumans () 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< Cluster > | update (const LaserMeasurement &measurements) |
HumanTracker::update Updates the tracked humans with the measurements from a lasersensor. More... | |
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.
|
default |
std::vector< human::Human > getTrackedHumans | ( | ) | const |
HumanTracker::getTrackedHumans Returns all humans that are currently tracked.
Definition at line 152 of file HumanTracker.cpp.
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.
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.
measurements | the new measurements of the environment |
Definition at line 19 of file HumanTracker.cpp.
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.
measurements |
Definition at line 52 of file HumanTracker.cpp.