I. Introduction
For robots to be useful in real world settings, they need to be able to interact efficiently and effectively with their environments. However, systems like the quadcopter perching example shown in Fig. 1 often have highly nonlinear dynamics and complex, time-varying environmental interactions that make trajectory planning computationally challenging. These systems are often modeled as mechanical systems with impacts, a type of hybrid dynamical system (Def. 1), [1]–[3]. Hybrid dynamical systems differ from smooth dynamical systems in many ways which make planning and control more difficult, including: 1) they contain a discrete component of state (the "hybrid mode") over which the continuous dynamics may differ. 2) These modes are connected by a reset function that applies a discrete (and potentially discontinuous) change to the state. 3) There may be different control authority available in each mode.