The primary goal of our research is to create new interactive computer modeling media based on real-time physical simulation and control The basic idea is to permit users to build models by manipulating virtual materials that move and deform in response to applied forces. Imagine, for example, building a mechanism out of simple parts that snap together like tinkertoys, or developing a model for a complex shape by forming, cutting, and joining flexible sheets.
Our core effort is aimed at developing the mathematical and computational foundations that are required to support interactive simulation. In this area, we are concerned with the problem of quick, accurate, and robust calculation of objects' differential motion subject to constraints. The constraints might represent mechanical connections and interactions, or simply reflect the model builder's desires. Calculating the constrained motion involves the solution of large but sparse systems of linear equations. Obtaining solutions interactively is a difficult task because the structure of the sparse matrix changes each time the user adds or removes an object or constraint. We have developed algorithms that operate on model graphs to efficiently extract these matrices on the fly. Our algorithms are embedded in a modeling toolkit which forms the substrate for many of our applications.
As we develop these basic capabilities, we are also pursuing several of the many potential applications in science, design, graphics, and animation.
One exciting application is in the area of free-form surface design. Most current modeling systems require the user to form surfaces by manipulating a fixed mesh of control points, each of which exerts local influence on the surface's shape. This can be an awkward mechanism, often requiring the user to precisely reposition a great many control points to effect conceptually simple changes to the surface. Our alternative is based on active surface models that continually try to maximize their smoothness subject to the constraints imposed on them. The user may grab or pin the surface at arbitrary points or along arbitrary curves, using the points and curves as customized shape controls. Complex models are formed by cutting and joining multiple surface sheets.
Another application area involves the design and analysis of mechanisms: in conceptual design, simple pieces can be literally snapped together to form constrained assemblies, which the user may then manipulate interactively. We are also addressing more specialized design applications, such as the analysis and adjustment of tolerances.
Computer animation raises special problems of motion control. Standard keyframe methods depend entirely on the animator's skill and perseverance to produce pleasing animation. Our methods make it possible to control motion much more directly and economically. For instance, a character's hand may be accurately dragged along a specified path as if it were sliding on a wire, while the direction of gaze is constrained to follow a moving target, and while the feet are kept firmly planted on the ground. This sort of coordinated action is surprisingly difficult to achieve using traditional methods. Motion control of the virtual camera is an important special case. Here, we have developed 'through-the-lens' control techniques that allow camera motions to be specified by what the camera sees, for instance requiring that certain objects be kept in view, or held at particular positions in the image.
Finally, we are applying the same basic machinery to biological modeling and data analysis, aimed at understanding intracellular mechanics. To analyze the motion and deformation of structures visualized by fluorescent light microscopy, we create active models whose behavior is coupled, through the data to that of the actual structures.
|The Robotics Institute is part of the School of Computer Science, Carnegie Mellon University.|
Contact Us | Update Instructions