Representation and control of three dimensional computer animated figures (graphics, robotics)

In this work I present a conceptual analysis of the domain of three dimensional computer animation, which is viewed as the process of simulating objects and their behaviors in a microworld specified by the animator. Abstraction and adaptive motion are key concepts for dealing with the degrees of freedom problem, which refers to the sheer volume of control information necessary for coordinating the motion of an articulated figure when the number of links is large. A three level hierarchy of control modes for animation is proposed: guiding, animator-level, and task-level systems. Guiding is best suited for specifying fine details but unsuited for controlling complex motion. Animator-level programming is powerful but difficult. Task-level systems give us facile control over complex motions and tasks by trading off explicit control over the details of motion. The integration of the three control levels is discussed, and criteria for designing an integrated animation system are presented. sa is a prototype system for animating articulated figures based on this analysis of the domain of computer animation. This implementation includes sdl, the kinematic description language, and the kinematic primitives bend and pivot for operating on figures. At the animator level we need to provide mechanisms for functional abstraction and adaptive motion in a transparent notation. sal provides this animator level access to sa. It is a language for describing the motions of arbitrary articulated figures to the task manager. I discuss the simulation mechanism of sa and the design and implementation of a task level skill--adaptive locomotion--using synergies and finite-state coordination. These techniques make it possible to build a hierarchical structure in which knowledge about figure motion is distributed throughout the animation system, relieving the animator of much of the burden of solving the motor coordination problem.