How Do Self-Driving Cars Work and What Problems Remain?