Posture Prediction Model


Posture Prediction Model#

This is a model which can predict the posture as a consequence of applied loads in hands. It does this by minimizing joint torques and applying balance drivers which account for external applied loads.

See also

Main file location in AMMR:

Application ‣ Examples ‣ StandingPosturePredictionWithLoad ‣ StandingPosturePrediction.main.any

The model is driven by a combination of the following drivers:
  • Drivers which minimize the joint moments (arising from gravity and applied loads in hands) in elbow, shoulder, L4L5 and knee

  • Driver which tries to keep the CoP inside the foot stance area.

  • Feet maintain contact with the ground, but the position can be controlled by widgets

  • Hands are linked to an object, of which positioning can be altered using widgets


Two type of loads can be applied, either a fixed weight of the object and/or a force vector.


To run the model
  • Load the model


The example model has a force vector applied on the object, currently the object has no weight (this is editable)

AnyVar ObjectWeight = 0;   //weight of mass applied
  • Try to drag (click and drag) one of the widgets in the ModelView (seen as small coordinate systems). For example the force vector widget:

  • When the widget is release the model will run the analysis. The Force vector is shown by the blue arrow, the weight of the object is represented by a red line, and the resulting reaction force is depicted by the green arrow.


There are three remaining widgets, 2 controlling the starting position of the feet, and 1 controlling object’s location.


The model can also be adjusted to apply the load to both hands or a single hand. Three combinations can be made using the define statements

#define LoadInRightHand 1
#define LoadInLeftHand  1

In the following example a force vector is applied to only the right hand.


The following video shows an example of how you can manipulate the multiple widgets to achieve different predictive postures:

Please note the speed of the video was increased for viewing purposes.