-
Notifications
You must be signed in to change notification settings - Fork 2
Probability Map Tracking
The tracking node takes the noisy observation data (position of targets) from the object detector, and is maintaining a probability map of the entire surveillance area (perimeter) to estimate the targets' position more accurately. If there are multiple trackers watching on the same perimeter, all of them will also communicate with each other and make a consensus.
The grid map class is designed to manage the probability map data. It can handle the coordinates converting, map updating and fusing, also responsible for outputting the estimated results.
Every tracking robot (whether it is a drone or a ground robot) runs this node. It's responsible for receiving data from the object detector, reformat the data so that it can fit into the grid map class.
When there are multiple tracking robots, the node will finish a map updating process by two steps. First, the data from the local detectors are transformed and sent to the consensus network. The detection data from other trackers is then received and integrated into the local probability map. Second, the updated probability map will be broadcasted to the consensus network again for achieving a final consensus. Each tracker will pull down neighbors' map and fuse them all with the local map.
The benchmark node is collecting estimation message from trackers and the ground truth from targets. Then it will compute and plot the Root Mean Square Error (RMSE) value to measure how good is the estimation from trackers.
It's also publishing the Marker message to Rviz to simply visualize the estimation data.