Featured picture from Cheung et al. 2016
Or in other words: Predictive Control of Bio-Inspired Biped Locomotion
Back in my days of undergrad this topic caught me by storm and thunder, inflicting inspiration exactly where I liked it. This inspiration lead me from Mechanical Engineering directly into the realm of computational biology where I have fumbled around for the past 4 years.
In essence you let a computer figure out how a virtual model of a human body would move in order to optimise certain criteria. Ie. travel at a certain speed while using the minimum amount of energy.
The point here is that you don’t control individual muscle activations and forces (kinetics) and neither do you control how the body moves (kinematics). Instead you define the abstract intention through a high-level objective. Ie. “Move with 1.5m/s in the forward direction”. Then you let a computer do the hard work of guessing on a number of unknown parameter values until you are close enough to your target. You can then add further terms such as: “try also to minimise the energy consumption per distance travelled” and let the computer think again. Further terms can be made such as “minimise head-movements while walking” and “minimise impact forces” which are both inspired by physiological observations.
If you optimise for such 4 terms and the model is sufficiently made, even with no other input; ie. no motion capture, no keyframes and no predefined patterns, this simple and high-level ‘objective’-function can result in human-like gait patterns out of nowhere. By this means we can effectively synthesise human gait (Within reasonable tolerances)
The fun one first. Thomas Geijtenbeek’s project is targeted games so it does not prioritize physiological plausibility too much. However, the foundation is the same and it is very charming. The “Generation” shows the progress of the computer optimisation trying to find the right parameters. He is furthermore including a pass that seeks to find the optimal position of muscles. This makes sense for imaginary creatures but not so much for humans:
Credit: Thomas Geijtenbeek, Michiel van de Panne, Frank van der Stappen
Then a rather technical video showing a more physiologically correct method. Notice here how the model adapt its walking strategy when muscle strength is changed (This could be of particular interest for animators):
Credit: Jack Wang, Samuel R. Hammer, Scott Delp, Vladlen Koltun
And another, also very technical but this one greatly illustrates the humanoid model used, the muscles and its Neural Control Circuitry.
Credit: Seungmoon Song and Hartmut Geyer
To put the above results into context, Google recently ‘asked’ an AI to find locomotion patterns for a human virtual puppet (Without muscles and proper skeletal features).
The hilarious yet obnoxious result, which hurts my animator heart dearly, is this:
Credit: Nicolas Heess, Dhruva TB, Srinivasan Sriram, Jay Lemmon, Josh Merel, Greg Wayne, Yuval Tassa, Tom Erez, Ziyu Wang, S. M. Ali Eslami, Martin Riedmiller, David Silver
I admit that the aim of the project is different, but it still goes to show that asking computers to synthesize human locomotion does not automatically converge on human-like motion.
To summarise why I find this topic and approach super interesting, here are a few points:
- The fact that we can get so close to human locomotion by such a simple objective means that minimization of energy may be a big deciding factor on why we move as we do. That’s pretty cool by itself. Obvious if you think about it, but still pretty cool. Many other parameters are definitely important as well, such as stability and intention, but when their requirements are being met, it seems metabolic cost is significant. (note: turns out that minimizing muscle fatigue performs even better than minimizing overall metabolic cost, but it requires a few more assumptions)
- The reasonable match between simulation and humans mean that the model that was simulated include some of the key elements of the human locomotor and nervous system, which provides a two-way benefit: (1) Exploring and enhancing the modelled nervous system to yield better matching locomotion can help explore how the human nervous system work, or at least a part relating to locomotion. (2) We get the possibility of using the model to diagnose and treat pathologies as well as being able to predict data within the models capabilities, which could help lower cost of early clinical trials (An interesting example can be found here which uses such models to explore which physiological parameters are likely to cause the degraded efficiency of locomotion in elders)
- Being able to synthesize human gait with no preconceptions about gender, culture, mood etc allows for a great groundtruth (maybe not yet, but in the future) for comparing clinical trials, as well as establishing the foundation for exploring how such differences affect locomotion.
One issue though, between all the awesome. The models as of this day are still very limited in their capabilities for any of the above. The theory and tech is still in it’s infancy but great progress is being made all the time.
None of such progress has been made by me, however. I did scratch the surface and wrote a little bachelor thesis about the topic, and I had fun doing it. However, it was more a learning experience than conducting research.
If you are interested you are more than welcome to take a look at my thesis here:
Description follow below:
My B.Sc Eng Thesis: Framework for Predictive Simulation of Biologically Inspired Human Gait
My thesis didn’t give anything new to the science community but what it did do was to give me an incredible amount of new insight on the topic. Most of which I have tried documenting. You may therefore see it as a naïve introduction to the subject
As with any topic that you don’t quite master, it is incredibly difficult to explain it briefly and in clear terms. This is also true for my thesis so I am afraid that it may not be the easiest reading. However, with the strong selling points sorted, what you will find in the thesis is an explanation of these 3 categories:
- Introduction to Predictive Simulation, what it is and how it works
- Introductory theory about the workings of the locomotor nervous system
- Overview of software and how it is used