Geometric Mechanics Reveals Optimal Complex Terrestrial Undulation Patterns - Robotics Institute Carnegie Mellon University

Geometric Mechanics Reveals Optimal Complex Terrestrial Undulation Patterns

Chaohui Gong, Henry Astley, Perrin Schiebel, Jin Dai, Matthew Travers, Daniel Goldman, and Howie Choset
Conference Paper, Proceedings of APS March Meeting, March, 2016

Abstract

Geometric mechanics offers useful tools for intuitively analyzing biological and robotic locomotion. However, utility of these tools were previously restricted to systems that have only two internal degrees of freedom and in uniform media. We show kinematics of complex locomotors that make intermittent contacts with substrates can be approximated as a linear combination of two shape bases, and can be represented using two variables. Therefore, the tools of geometric mechanics can be used to analyze motions of locomotors with many degrees of freedom. To demonstrate the proposed technique, we present studies on two different types of snake gaits which utilize combinations of waves in the horizontal and vertical planes: sidewinding (in the sidewinder rattlesnake C. cerastes) and lateral undulation (in the desert specialist snake C. occipitalis). C. cerastes moves by generating posteriorly traveling body waves in the horizontal and vertical directions, with a relative phase offset equal to +/-π/2 while C. occipitalismaintains a π/2 offset of a frequency doubled vertical wave. Geometric analysis reveals these coordination patterns enable optimal movement in the two different styles of undulatory terrestrial locomotion. More broadly, these examples demonstrate the utility of geometric mechanics in analyzing realistic biological and robotic locomotion.

BibTeX

@conference{Gong-2016-122405,
author = {Chaohui Gong and Henry Astley and Perrin Schiebel and Jin Dai and Matthew Travers and Daniel Goldman and Howie Choset},
title = {Geometric Mechanics Reveals Optimal Complex Terrestrial Undulation Patterns},
booktitle = {Proceedings of APS March Meeting},
year = {2016},
month = {March},
}