  We develop optimal control strategies for Autonomous Vehicles (AVs) that are
required to meet complex specifications imposed by traffic laws and cultural
expectations of reasonable driving behavior. We formulate these specifications
as rules, and specify their priorities by constructing a priority structure. We
propose a recursive framework, in which the satisfaction of the rules in the
priority structure are iteratively relaxed based on their priorities. Central
to this framework is an optimal control problem, where convergence to desired
states is achieved using Control Lyapunov Functions (CLFs), and safety is
enforced through Control Barrier Functions (CBFs). We also show how the
proposed framework can be used for after-the-fact, pass / fail evaluation of
trajectories - a given trajectory is rejected if we can find a controller
producing a trajectory that leads to less violation of the rule priority
structure. We present case studies with multiple driving scenarios to
demonstrate the effectiveness of the proposed framework.
