One or more non-transitory computer-readable media storing instructions, which when executed by one or more processors cause the one or more processors to conduct a method for navigating a vehicle, the method comprising:
- receiving navigation coordinates defining a route comprising a straight path;
- receiving, according to a first time frequency, pairs of images from at least one camera on the vehicle, each pair of images providing depth information about the straight path;
- detecting detected lines that are parallel to the straight path based on a subset of the pairs of images, the subset of the pairs of images being received according to a second time frequency slower than the first time frequency and from the at least one camera on the vehicle;
- assigning each detected line a unique line identifier;
- recognizing, based on a unique line identifier corresponding to a detected line, the detected line in a first pair of images in the subset of the pairs of images and in a second pair of images in the subset of the pairs of images;
- accessing location information;
- deriving vehicle coordinates from the location information;
- determining a centerline in vehicle coordinates based on the detected lines in the first pair of images and the second pair of images;
- determining corrected vehicle coordinates based on the centerline in vehicle coordinates and the vehicle coordinates from the location information;
- and
- generating control signals to navigate the vehicle along the route using the corrected vehicle coordinates.