  Trajectory optimization is a popular strategy for planning trajectories for
robotic systems. However, many robotic tasks require changing contact
conditions, which is difficult due to the hybrid nature of the dynamics. The
optimal sequence and timing of these modes are typically not known ahead of
time. In this work, we extend the Iterative Linear Quadratic Regulator (iLQR)
method to a class of piecewise smooth hybrid dynamical systems by allowing for
changing hybrid modes in the forward pass, using the saltation matrix to update
the gradient information in the backwards pass, and using a reference extension
to account for mode mismatch. We demonstrate these changes on a variety of
hybrid systems and compare the different strategies for computing the
gradients.
