From Footprints to Animation

Apurva Prakash (95050)          Ashutosh Nandan (95072)

Project Report : ME 751 Computer Aided Engineering Design
Indian Institute of Technology - Kanpur : August 1998


Contents


Introduction

Throughout the history we have been fascinated by the desire to create characters which can behave on our instructions. Puppetry is a very good example of it. These days cartooning and animation are fields through which we satisfy our instincts of playing GOD. In cartooning and traditional animation we have to draw and design numerous frame which when showed in sequence give us the impression of movement. Preparation of frames is a repetative job most of the time, as consecutive frames are very slightly different. So with the help of computers we can get rid of this tedious job, as the generation of these frames can be programmed.

Our project is an attempt to program the motion of a bipedal character - A Man. We will explore the relationship between footprints of a man and it's motion, with the goal of being able to synthesize complete motions of all the body joints from a set of footprints, using inverse kinematics. This will help in making animation films, which in the past were made manually frame by frame.
 


A Walking Man


Past Work

* A lot of work has been done in this field by Michiel van de Panne.
A technique for synthesizing animated motions from a series of footprints and timing information has been presented in his paper From Footprints to Animation. This paper describes the motion as a physics-based origin and where necessary, it strikes a balance between physical correctness and natural motion. By carring out a global optimization over a trajectory, motions exhibit anticipation and recovery, which is otherwise difficult to obtain in an automated way.
Some of his work is also present online  <http://www.dgp.utoronto.ca/people/van/ani.html>
 
 

Animated sequence of a Dinosaur walking and running on a set of specified footprints
From the work done by Michiel van de Panne


 


* More work has been done by Evangelos Kokkevis, Dimitri Metaxas and Norman I. Badler of University of Pennsylvania. Their model is based on dynamics of motion.  Their paper Used Controlled Physics-Based Animation for Articulated Figures presents a physics-based system for the guided animation of articulated figures.


The Model

Our program is divided into three parts :

* The GUI Module - This part has a user interface to specify the footprints and the time frame as the input.
* The Computational Module - This part takes footprints and the time frame as the input and generates the motion parameters of the various body joints as output.
* The Graphics Module - This part takes the motion parameters as the input and generate an animation sequence as the output.
 

THE GUI MODULE

How does this module works ?

* This module is developed using OpenGL graphics.
* The user can specify the Input ( which includes the footprint location, orientation, and the time frame ) interactively, with the help of a mouse.
* Three clicks with the mouse and one set of data is complete.
 

THE COMPUTATIONAL MODULE

How does this module works ?

* First it gets the Input from the GUI module.
- The position and orientation of the footprints.
- The time frame which includes the stance and the step time.
- The body geometry ( this is not generated from the GUI module and has to be specify seperately).
* Generates the Center of Mass (COM) trajectory using a series of spline curves passing through some known configurations of COM.
* Optimizes the COM trajectory using dynamics.
* Using inverse kinematics generates the motion of primary degrees of freedom, like the legs.
* From human gaits, then the secondary degrees of freedom are generated, like the hands and head.
 

THE GRAPHICS MODULE

How does this module works ?

* The set of inputs to this module are :
- The body geometry defined using local coordinate frames on the body joints and then specifying the geometry type and orientation in that local frame.
- The motion parameters of the various body joints at different time steps.
* The body geometry which now is in the form of a tree structure can be displayed using stack ( push and pop ) algorithm.
* The graphics libraries used for the module are OpenGL Graphic Libraries.
* The output is an animated sequence where the bipedal character - the Man, walks on the specified footprints in the specified time frame.

The Center of Mass (COM) Trajectory

The foundation of the  model is to represent the motion solely in terms of a center of mass (COM) trajectory which itself is synthesized from the footprint information.

The trajectory of the center of mass must satisfy several properties :

  • the COM trajectory varies smoothly.
  • the COM only accelerates as allowed by the supporting leg(s) and the laws of physics.
  • the animated character must be in 'comfortable' configurations throughout the motion.

  • The above specified objectives are satisfied :

  • implicitly by modeling the COM trajectory using a series of spline curves.
  • explicitly by optimizing the COM trajectory.

  • The technique we propose employs the features of both kinematics and dynamics. The use of simplified COM dynamics provides for correct timing and balance of all motions. Simultaneously, inverse kinematics is used to ensure natural shapes for the body and legs as they intermediate between the environment and the body.The various elements of the synthesis technique work together as shown in the figure below.
     


    Block Diagram for motion synthesis from footprints.


    ASSUMPTIONS

  • Human behaviour modelling is a vast area of research. Walking is a very complex phenomenon of human behaviour.  So to simplify our job, we have assumed some pre-defined configurations or steps to model a human being walking.

  •  
  • Using inverse kinematics, we get the COM trajectory, which then should be made dynamically stable using some dynamics model, where all the force and torque at the body joints should be calculated, and then collisions and intersections should be checked for. This again is a very difficult job, so while making assumptions for pre-defined configurations, we take the following into consideration
  • - Intersection with other body parts and with the ground is never taking place.
    - CG of the body is always lying on the foot which is on the ground. This rule is violated only in the flight phase, where we assume that the man get some momentum while bending, before lifting both the feet from the ground.
    - We assume that no collisions are taking place while walking.

    THE INPUT

    The Foot Prints and the Time Frame

    The basic input provided by the animator is a track of footprints as shown in the figure below. Also required is timing information, which can be as timing diagrams or timing daggers.

    The use of timing diagrams is a traditional means for viewing gait data. Timing daggers are an alternative representation in which timing in formation can be directly associated with individual footprints.

    The timing daggers associate two timing parameters with each step :

  • The stance time is shown graphically using a bar projecting from the side of the foot, whose length a is proportional to the stance time for the given foot.
  • The step time is the time until the next footfall and is indicated by a crossbar at a distance b from the foot.

  •  


    Footprints with Timing information and Manipulated handles.


    Hence the user input will be five degrees of freedom of  a footprint : x , y location, orientation, stance time, and step time.

    The GUI Interface allows the user to input the five degrees of freedom in a very convenient way.
     
     

    The sample GUI Interface screen dump


     



    The Body Geometry

    First the body skeleton is created using locate coordinate frames at the body joints in terms of the parameters  -  a , alpha , d , theta .  Then the joint type is specified as either revolute or prismatic joint. The geometry shape and orientation is then defined in the local coordinate frame using pre-defined 3D primitives.

    Sample Input File for Body Geometry

    26                                 # Total no of frames

    22                                 # frame 1, parent link = 22
    -90 0 0 0                     # alpha(i-1), a(i-1), d(i), theta(i)
    0                                   # Joint type Revolute
    -50 0 5                        # Joints lower, upper limit and step size
    1                                   # 3D primitive type - Cylinder
    0.1 0.3                         # Radius and Height of the Cylinder
    0 90 0.1 0 0.34           # theta, phi, x_trans, y_trans, z_trans


    THE RESULTS


    The Walking Phase
     
     

    The Flight Phase
     
     

    The Turning Phase



    Annotated Bibliography

    @Article{Panne:1997,
      author =      { Michiel van de Panne},
      year  =       { 1997},
      keywords =    { FOOTPRINT ANIMATION GAIT},
      institution = { Dept. of Computer Science, Univ. of Toronto, Canada},
      title =       { From Footprints to Animation},
      journal =     { Computer Graphics forum },
      volume =      { 16},
      year  =       { 1997},
      number  =     { 4},
      pages =       { 211-223 },
      annote =      {
    A method of using footprints as a basis for generating animated locomotion
    is proposed. An optimisation process is used to maximise the physical
    plausibility and percieved comfort of a motion which is constrained to
    match given footprint and timing information. The proposed method creates
    plausible walking,turning,leaping, and running motions for bipedal figures
    at interactive rates. Autonomous motions are generated using a planning
    algorithm which dynamically generates new footprints and the associated new motions
    } 
    }
    @Article{Badler:1995,
      author =      { Evangelos Kokkevis, Dimitri Metaxas and Norman I. Badler},
      year  =       { 1995},
      keywords =    { ANIMATION ARTICULATED FIGURES},
      institution = { University of Pennsylvania},
      title =       { Used Controlled Physics-Based Animation for Articulated Figures},
      annote =      {
    They have presented a physics-based system for the guided animation of
    articulated figures.  A user of there system provides kinematic 
    trajectories for those degrees of freedom of the figure they want 
    direct control over. The output motion is fully generated using 
    forward dynamics. The specified motion trajectories are the input 
    to a control system which computes the forces and torques that 
    should be exerted to achieve the desired motion.
    
    }
    }

    Conclusions

    The aim of the project was to get  the input in the form of footprint data eg. location of the footprint steps, the time for which a step was in contact with the ground, the time the other step fall etc. And then to generate the walking sequence of the bi-pedlar Man. The strategy applied was to break the movements of the bi-pedlar's body into small sections. Then using various interpolations and inverse kinematics, locate the position of centre of mass. After knowing the COM position, apply usual frame transformations to get the values of the various body parameters. This way the position and orientation of the whole body is known, which then is displayed graphically as a Walking Man.


    This final presentation report was prepared by Apurva Prakash and Ashutosh Nandan as a part of the project component in the Course on Computer Aided Engineering Design in the July-December Semester, 1998. (Instructor : Amitabha Mukerjee )
    This page was last updated on 3rd December,1998.