HOME ACADEMIC INTERESTS Nihongo

Current Research Projects Publications Collaborators Curriculum Vitae


Dynamic Simulation

Dynamic simulation may be used in animation and robotics to synthesize realistic motion for an articulated body. By taking into consideration the so-called dynamic properties of an articulated body, the motion of the body may be deduced automatically. The body may be subjected to external forces such as gravity, and internal forces mimicking muscles or robotic actuators.

With the aid of a dynamic simulator, an animator may produce physically realistic motion in an entirely automatic way. Simulation guarantees that the resultant motion is physically plausible, but the problem of producing a particular type of motion is mapped from the kinematic domain to the dynamic domain, i.e., the animator's task involves specifying control forces/muscle activation levels rather than the joint angles themselves. A roboticist may likewise utilize dynamic simulation to develop motion control programs for a real robot. Control programs may be tested in a simulated environment to prevent damage to a robot or its surroundings, and to test extreme physical conditions in a way that may be replicated exactly.

The dynamic simulation project involved the development of an articulated body simulator called dojinII (composed of the Japanese characters for motion and person: 動人 -apologies if these do not display correctly). This simulation tool includes both forward (FD) and inverse (ID) dynamics algorithms based on Featherstone's articulated body method and utilizing spatial algebra. Both algorithms are O(n), and have been implemented to handle a body with a floating base, multiple degree of freedom joints and branching kinematic chains. It is possible to manipulate the kinematic structure and topology of the articulated body under simulation, as well as its dynamic properties while the program is running. The resulting articulated body specification may be stored and subsequently loaded. The simulator includes a graphical user interface (GUI) that was designed in Qt and exploits the "dynamic dialog" technology of Qt, allowing the structure of the interface to be manipulated without needing to recompile any object code.

The main window of the simulator may be seen below.

Simulator main window

The simulator provides menu and task bar functionality:

These controls facilitate, from left to right: loading and storage of motions, loading and storage of articulated figure configurations, editing of the figure configuration using the topology and dynamic properties dialogue (discussed below), run, pause and reset the simulator, toggle display of simulator state using an interactive dialog described below, setting of simulator rate and time-step, toggling of inverse dynamics control forces, spring-damper control forces, velocity-damping forces, feed-forward control forces, gravity and external forces. Finally, the last three buttons are used to start, stop and select custom motion controllers, which are discussed below. Currently, the motion loading and storage features, simulator reset control and the time-step adjustment control are unimplemented and exist as hooks in the GUI for implementing these features.

The topology and dynamic properties editing window may be seen below:

This panel allows the user to create new links attached to any existing link of the figure as well as delete links. The type of joint connecting a link to its parent may be selected from a drop down menu and the default parameters for the joint may be entered. The dynamic properties of the link such as its mass, centre of mass vector, length and radius may all be specified. The inertia matrix for the link is computed by assuming that the link is equivalent to a cylinder of uniform mass.

The state display window shown above may be expanded hierarchically to examine the dynamic or kinematic properties of each link in the articulation, and the state of the simulator.

The following sequence shows the result of an external force applied to the figure in an environment without gravity.

The following sequence shows the figure obtaining a new posture using a minimum jerk joint trajectory controller.

The work formed part of the RACINE-S project, and was conducted at Glasgow University. The RACINE-S project aims to reconstruct damaged movie sequences and the simulator was intended as a tool for generating realistic motion for a human actor over missing frames. An initial kinematic approximation to the target motion may be obtained by interpolating the postures of the figure at the start and end points of motion. This may be as simple as a linear interpolation, or be based on minimum jerk. Inverse dynamics may be used to analyse the initial motion approximation and provides a basis for manipulating the realism of the movement since excessive or unrealistic joint torques may be revealed and filtered. Forward dynamic simulation may be used to reconstruct a "dynamically filtered" motion based on the adjusted control forces revealed using inverse dynamics, and possible additional control forces needed to ensure that motion constraints are satisfied. Additional forces might for example, take the form of spring-damper joint controllers.


Last Update 10th March 2006
webmaster@joshhale.com

Home