I. Introduction
Motion Planning is one of the most important modules in autonomous driving. A typical motion planner for autonomous vehicles takes into account the information from the environment (e.g. motions of the host vehicle and the surrounding vehicles), and plans a trajectory for the vehicle to execute. Although motion planning has been investigated for decades, it is still challenging to design a motion planner for autonomous vehicles satisfying the following requirements simultaneously: (1) The computation needs to be in real time to interact with the dynamic environment and deal with emergencies. (2) The planning needs to be spatiotemporal to deal with dynamic obstacles. (3) The planner needs to be able to deal with complex constraints such as collision avoidance.