OpenGL tidbits

Tuesday, February 08, 2005

Bipedal Movement

We all seem to take walking for granted, and we never do realize how complex a process it is. There's all sorts of muscle coordination, balance adjustments, and not to mention that there are terrain constraints as well. However, we seem to be able to walk pretty well in general on all sorts of surfaces (at least ones with some degree of friction) and all sorts of terrain. Simulating such an activity has been quite mind boggling and in most cases, all we can do is make a system copy what we do or mimic what we do.

I believe, however, that the motion of walking can be boiled down to a few things. So, to start tackling walking, you must first tackle the problem of standing. You might think standing is easy, but its not, especially trying to keep your balance. I think that it simply has to do with the location of our center of gravity in relations to our feet. Sound simple enough? It actually is. To stay balanced, we have to try and keep our center of gravity between our feet. To be more specific, we keep it within a bounding box that can be drawn out by our toes and heels. The more centered our CoG is in this bounding box, the more balanced we our. Now, to keep balance while the CoG shifts, we need to be able to readjust our feet locations to stretch or reshape this bounding box. But no matter how your CoG shifts, as long as you can keep it within the bounding box created by our feet, you're fine. This is another reason why standing on tip-toe is tough. Since in essence, standing on tip-toe narrows the effective bounding box and makes it less tolerant to any shifting of CoG.

So, given these constraints, I believe that I can use this assumption to create a optimization function to optimize leg joint rotations such that we satisfy all the constraints and requirements of staying balanced in real-time while the CoG is being pushed around. Sounds like it would be fun simulating it :p

0 Comments:

Post a Comment

<< Home