Programming a computer to understand and navigate roads designed for human drivers is hard.