Virtual Chassis for Snake Robots

David Rollinson and Howie Choset
Conference Paper, IEEE International Conference on Intelligent Robots and Systems (IROS), September, 2011

Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.


We present a new method of defining a body coordinate frame for locomoting snake robots. Representing the motion of snake robots from the perspective of the robot is difficult because the internal shape changes that the robot uses to locomote interact with world in a complex way. Therefore, rather than representing the system in a body frame that is static to some fixed point on a link, we instead define a body frame that is consistent with the overall shape of the robot in all configurations. We are able to define such a body frame by continuously aligning it with the principal moments of inertia taken at the center of mass of the robot. In some cases we are able to further exploit symmetry in the shape of the robot’s cyclic motion (gait), and use non-linear optimization to more precisely align the body frame with the true axis of symmetry of the robot’s shape. These shape stable body frames serve as virtual chassis that effectively separate the internal motion of a gait from the external motion due to that gait’s interaction with the world. Furthermore, these body frames allow the motion of the robot to be described in a way that is well-aligned with one’s intuitive notions of position and orientation that arise when considering the system as a whole.

author = {David Rollinson and Howie Choset},
title = {Virtual Chassis for Snake Robots},
booktitle = {IEEE International Conference on Intelligent Robots and Systems (IROS)},
year = {2011},
month = {September},
} 2017-09-13T10:40:07-04:00