Robot Locomotion

Snake robot

The problem of locomotion is inherently broad, as it extends beyond robots and mechanical systems to biological organisms. Robots have increasingly been looking to biology for inspiration, with the development of systems based on animals such as bugs and snakes, robots that balance and move on balls, and robots that can move and fly around in swarms. Clearly, with the advent of all these new forms of moving machines, the study of locomotion is very important, along with the ever-popular fields of vision, machine learning, and AI.

Moving systems are as complex as the number of variables required to describe them. But more often than not, a system can be reduced; that is, one often can use extra information to help reduce the problem to be solved. For example, many systems exhibit symmetries. A robot that moves on a flat plane via some form of motor actuation doesn't care when or where I study its properties — this may not be true for a system like a thermometer, whose properties absolutely depend on whether it is in sunlight or if it is the middle of the night. By a very well-known theorem, these symmetries lead to conserved quantities like energy or momentum, allowing us to simplify our equations of motion.

Principal bundle

If the configuration of a system can be neatly split into components that correspond to symmetries and components that correspond to inputs, then geometric mechanics tells us that the system naturally takes on a fiber bundle structure, shown above. This structure comes with a connection mapping that can be exploited to find motion plans for the system without regard to the symmetric components of its configuration.

In an ideal world, many of the robots we care about would fit into the above description and we would have an easy time understanding their locomotion. Unfortunately, most scenarios are not exactly ideal. For example, while the planar three-link robot shown below does have a fiber bundle structure, it is only useful if we assume that we can command both its internal joints. If there are any nontrivial dynamics in those joints though, for example compliance or complete passitivity, then we must consider how to incorporate them into the geometric picture.

Three-link snake Five-link snake

Generalizing the problem to a robot with an arbitrary number of links, e.g. five as shown on the right, leads us to require that all but one or two joints remain passive, due to the nature of the constraints imposed by all the non-slip wheels. While each additional degree of freedom seemingly complicates the problem, in my research I was able to decouple the kinematics of the first three links (from previous geometric theory) from the dynamics of the remaining links. In general, such a system exhibits motions that fit into certain gait families, and simply manipulating the parameters (e.g. phase or amplitude) of the one or two actuated joints is sufficient to induce periodic motions in the passive ones for overall locomotion.

Clearly, even simple modifications to an existing problem can significantly affect its complexity. Consider yet another tweak to our robot system, as shown below. Suppose that the three-link robot is sitting on a movable platform. This time, it is completely passive, and we would like to actuate it by shaking the platform underneath. While the robot's position is still a symmetry, its orientation relative to the platform is not, as the dynamic interactions depend on the direction that the robot is facing (as well as its internal joint configurations). In this problem then, the challenge is to find ways to exploit the properties of the non-symmetric orientation in order to tease back out the original geometric structure and derive new motion controllers.

Snake robot