Simulation

The snake robots were inspired by my early work on physically-based computer animation. The following simulations were created to demonstrate a variety of snake locomotion styles. They are based on a physically-based simulation with muscles being actuated with different patterns of contraction. The first example shows lateral undulation in which a continuously traveling wave of lateral flexing travels down the length of the snake. Provided that there are obstacles to push against laterally, this leads to forward locomotion. In the case of sand, piles form on the side of the snake creating the snake's own obstacles. This is modeled in the simulation as a different coefficient of friction laterally versus longitudinally for each section. The result is successful forward locomotion. This form of locomotion involves the body sliding forward over the terrain, requiring low-friction skin.

In this second simulation of lateral undulation the anisotropic frictional model has been replaced with an isotropic model. The same undulations fail to propel the snake forwards. The same result is achieved for this gait on uniform smooth surfaces such as plywood. This demonstrates the utility of anisotropic friction which is achieved in the robot snakes S1 to S6 using free-spinning wheels under each segment.

The following simulation demonstrates sidewinding locomotion. Undulating waves again travel along the length of the snake flexing both vertically and horizontally. The result is a diagonally rolling gait in which the contact area does not slide over the ground. This gait was successfully demonstrated with the robot S3. Note the pattern of tracks left in the sand relative to the snake motion.

The following simulation demonstrates concertina locomotion. Undulating waves of amplitude (but fixed phase) travel along the length of the snake flexing both vertically and horizontally. When only modulated horizontally, this gait is used to travel through cracks and tunnels, by pushing on and gripping the side of the tunnel while extending forwards. In this simulation, however, the use of horizontal and vertical flexing is used to achieve forward locomotion using an isotropic friction model. Such locomotion can be observed in large pythons in mud, leading to the characteristic patterns left in the sand in this example. This gait has been partially recreated using the S7 robot. Ideally, the portions of the snake in contact with the ground are static while the elevated sections are freely moving. In practice the gait involves some sliding as well.