1. A controller for a vehicle, comprising a processor configured to: receive a first sensor input from a first sensor and a second sensor input from a second sensor, the first and second sensors having, respectively, different first and second modalities and the first and second sensors being local to the vehicle; detect, synchronously, first and second observations of a target from, respectively, the first and second sensor inputs, the first and second observations being from a perspective of the vehicle; generate a graph network from a road map of a road network of an area in which the vehicle is present and an acquired position of the vehicle, wherein the graph network includes one dimensional lanes as links between nodes; project the detected first and second observations of the target onto the graph network; associate the first and second observations with the target on the graph network, the target having a trajectory on the graph network, wherein the trajectory of the target is based on one of the one dimensional lanes; select either the first or the second observation of the target as a best observation of the target based on characteristics of the first and second sensors; and estimate a current position of the target by performing a prediction based on the best observation and a current timestamp.