|
Apurva Prakash (95050) Ashutosh Nandan (95072)
Project Report : ME 751 Computer
Aided Engineering Design
Indian Institute of Technology
- Kanpur : August 1998
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
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.
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 above specified objectives are satisfied :
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.
- 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 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 :
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
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 Walking Phase
The Flight Phase
The Turning Phase
@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. } }
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 )
[CAED COURSE
LECTURES HOME PAGE]