Hybrid Control of Obstacle-Aided Locomotion

Abstract

In this chapter, we propose a control strategy that enables a snake robot to propel its body forward by active use of the interaction with obstacles in its environment. This form of propulsion is called obstacle-aided locomotion. Obstacle-aided locomotion represents an interesting control problem for which previous research is very limited. The literature review presented in the Introduction of this book clearly shows that a large majority of control strategies proposed for snake robots so far assume that the environment of the robot is flat. We believe control strategies for snake robots that consider environment interaction are important since the main advantage of these mechanisms are their potential ability to move in uneven and cluttered environments.

The difference in complexity between flat surface locomotion, which was considered in Part I of this book, and obstacle-aided locomotion is significant. Unlike flat surface locomotion, where we know that periodic body waves will propel a snake robot forward under anisotropic ground friction conditions, there exists no clear intuition as to how we can control a snake robot so that it is propelled forward by obstacle contact forces. One obvious and major challenge is that we do not know in advance how, when, and where the snake robot will make contact with its environment. A second major challenge is to develop a general strategy for adjusting the shape of the robot so that forward propulsion is achieved in any given contact situation.

Our proposed solution to this problem is simple and, in many ways, obvious. In particular, since we are seeking a form of locomotion where obstacle contact forces are what propel the snake robot forward, we hypothesise that obstacle-aided snake robot locomotion can be achieved by producing body shape changes where the links in contact with obstacles are rotated so that the components of the contact forces in the desired direction of motion are increased. In order to investigate this fundamental control principle, we introduce the concepts of jam detection and jam resolution. A snake robot which moves in a cluttered environment without taking the environment interaction into account, is likely to become jammed between the obstacles in its path. In this chapter, we show that a control strategy based on the control principle proposed above is efficient for resolving such jams and maintaining the propulsion of the snake robot. The performance of the controller is illustrated with simulation results and with experimental results based on the snake robot Kulko.