From: "Androgen deprivation causes selective deficits in the biomechanical leg muscle function of men during walking: a prospective case-control study: Biomechanical leg muscle function deficits with ADT"

Synthesizing Human Walking with Musculoskeletal Models: An Inspirational Post

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)

Examples follow:

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

Enjoy

 


Biomimetic Synthetic Gait – First peek at my Bachelor Thesis

Here is the first sneak peek of my Bachelor Thesis for Mechanical Engineering. It is wildly optimistic, super amazing and touches upon topics like: mechanics, software, neuroscience, robot technology, AI, control theory, physiology, biomechanics, genetic algorithms, underactuated dynamical systems as well as muscle redundancy problems.

The elevator speech is still an elusive one, but here goes:

My overall objective is to gain insight into the human nervous system related to gait koordination. How are the muscles orchestrated, which areas handle what, what is the actual involvement of the brain, what has been subcontracted elsewhere and how could a theoretical model of this look like.

My approach is through using a so called Predictive Controller for Forward Dynamics simulation. I am mainly concerned with humanoid gait patterns and have ended up basing my project on an existing system called PredictiveSim.

This system is written by and published alongside the following article:

Dorn, T. W., Wang, J. M., Hicks, J. L., & Delp, S. L. (2015). Predictive Simulation Generates Human Adaptations during Loaded and Inclined Walking. Plos One, 10(4), e0121407. doi:10.1371/journal.pone.0121407

In short terms the system defines a humanoid model with bones, joints, tendons and muscles along with a number of reflex loops between muscles and senses (Ie: foot contact, muscle stretch etc.). Basically just a greatly simplified model of a human containing only what is believed to be the most neccessary parts related to walking – Weirdly enough the brain isn’t included.

With this model you can define a goal that it should aim for, ie: try to move forward with a certain speed while doing your best to minimize energy consumption. This is a problem that gets solved/optimized by a Genetic Algorithm and after leaving it in the hands of a computer (or several) a lot of thinking starts happening but out comes something similar to this:

It doesn’t look like much for an animator or in general, but the interesting bit is that nobody has told this model how to move. It never saw anyone doing it, there are no parameters in the model that dictates how this should be done, no keyframes or experience or anything. The only input it got was to try to move and do it in the most energyefficient way.
Realizing that this looks somewhat like human gait in general, one may get the feeling that minimizing energy consumption is a pretty big reason for why we move as we do.

If anyone feels like trying it out for themselves feel free to either get the original code or pick up my version, which I will be updating throughout my project. So far it mainly has a bit more documentation and annotation.
It can be found here: jwPredictiveSim at bitbucket.org