Decentralized Gait Generator

Goal

The goal of this project was the design and implementation of a simple decentralized gait generator in which each leg has a independent controller. Each controller can only use local sensor information and has no knowledge of the total number of legs or their position.

Problem/Complication

Since typical model predictive control approaches do not work with multiple independent systems, this required a complete rethinking of walking robot control.

A further complication is that one first has to investigate how a three-legged system can even walk, meaning what kind of gaits are possible.

Contribution

I first specified the possible walking gaits of a three-legged system. Using a self-developed switching diagram, I analyzed which gaits are easiest to decentralize. These switching diagrams pictured below show the required hybrid switches for a given gait.

walking_patterns

Additional information about the different gaits can be found here.

Using the best-suited gaits, I developed a hybrid controller for each leg. It comprises three individual controllers, controlling the leg while on the ground, in the air, and lastly, choosing when to switch between the two.

tri_ctr

To judge the system’s stability, the controllers model the system as a mixture of three linearized inverted pendulums. converting this pendulum mixture model into barycentric coordinates yields a formulation that easily expresses the available information for each leg.

Result

The new controller results in stable movement, as can be seen down below. decent_walking

Note that the perfectly synchronous moving of the chassis is due to the self-synchronization of the weight redistribution controller, which can be seen here:

decent_synchro

Since the controller also makes no assumptions about the position and number of different legs, it is also able to control this QuadPed:

ezgif-4-2e85bb39e4d8

Ultimately, however, the system is still rather slow and reacts poorly to outside disturbances. To mitigate this, I want to replace the weight redistribution with a game-theoretic controller using what I call a Talker Listener Game. This, however is still part of my active research.

Additionally, the controller has yet to be tested on the actual TriPed.