  In this paper, we propose a method for generating undulatory gaits for snake
robots. Instead of starting from a pre-defined movement pattern such as a
serpenoid curve, we use a Model Predictive Control approach to automatically
generate effective locomotion gaits via trajectory optimization. An important
advantage of this approach is that the resulting gaits are automatically
adapted to the environment that is being modeled as part of the snake dynamics.
To illustrate this, we use a novel model for anisotropic dry friction, along
with existing models for viscous friction and fluid dynamic effects such as
drag and added mass. For each of these models, gaits generated without any
change in the method or its parameters are as efficient as Pareto-optimal
serpenoid gaits tuned individually for each environment. Furthermore, the
proposed method can also produce more complex or irregular gaits, e.g. for
obstacle avoidance or executing sharp turns.
