Applications

Parallel Impulse Based Dynamic Simulation has numerous applications in a wide variety of areas. Several of the most obvious areas are discussed below.


Rendering Physically Accurate Dynamical Systems

Most rendering systems that contain models of dynamic elements currently use a variety of ad hoc methods for maintaining reasonably accurate physical results. Most of these fall into the category of constraint based simulation. Objects in the simulation are "controlled" by a set of constraints. Often only one of these constrains is valid at a time. For example, a ball rolling up a ramp will adhere first to a rolling constraint, followed by a ballistic constraint as it leaves the ramp. Next, it will impact with some surface and bounce, each of these also having their own constrains.

It would be useful if a designer could describe models of the various objects that are to be rendered. Then, with the help of Impulse, the proper dynamic behavior of the system would result. For example, assume that a designer has just constructed a series of common desktop items such as books, pens, etc. If the designer wanted to "throw" another book onto the desk and achieve a realistic resulting scene, Impulse could be used. Impulse could also be used to provide the designer with all of the intermediate images in the scene to produce a physically accurate movie of the dynamic behavior involved in such a system.


Rendering Physical Reality

Often the issue is not just to produce reasonably accurate physical results but to determine the effects of some dynamical system over time. Imagine again, the same common desktop with various items as described above. By simply providing the correct shaking in the scene, the simulation of the results of an earthquake can be observed. Clearly, a truly realistic earthquake simulation would require a more intricate simulator that can correctly model cracking and breaking of objects. However, even without such additions, Impulse is currently capable of producing a wide variety of simulations. Some of these simulations fall into a category in which they can be considered tests. That is, the simulator is able to test the result of particular dynamic affect on a scene of objects.


Virtual Reality, Shared, and Interactive Environments

Virtual words involve virtual objects. However, the sense of realism is utmost of importance in a VR system. The user must feel as if they are truly immersed in another world. If virtual objects are pushed, dropped, or thrown around in the VR world, they should often behave as the user would expect they would in the real world. Impulse can be used to model this dynamic behavior feeding back the result to the VR system.

Parts Feeder Design

One typically method for re-orienting parts in a known final configuration is using a vibratory bowl feeder. In such a feeder system parts walk up a bowl along a helical track. Small features along the track cause undesirable part poses to be rejected by falling off of the track. The result is that parts reaching the top of the bowl are correctly oriented.

Imagine a similar system but with the helical track stretched out lengthwise. In this case gates and other features will cause parts sliding down the track to be re-oriented.

In both of these cases Impulse would allow designers of part feeders to simulate virtual parts running through one of many possible virtual feeder. Problems in the feeder design that either result in jammed parts or a high probability of undesirable final part poses can be changed and re-simulated with Impulse. This allows for cheaper feeder debugging as well as a more robust final feeder design.


Parts Design for Robotics and Industrial Automation

When a part is being designed to be assembled by an automated robotic system, it is invaluable to know various properties of a part from its design. For example, if the part will be dropping from a ledge onto conveyor belt it would be useful to know what stable poses the part may assume and with what probabilities. This is useful for determining what type of robotic arm, the number of degrees of freedom (DOF) of the arm, the gripper, etc are needed to assembly they system. Typically, this is done at the design stage using ad hoc rules that the designer has acquired through years of trial and error or time consuming physical experiments. With Impulse, if the part does not conform to some set of constraints, hence making it impossible to correctly assemble on the existing equipment, a part change can take place and simulations run without a physical model ever being made. In addition these tests can be run in a fraction of the time in which one would need to perform physical experiments which of course require a physical model of the part to be produced.

With an accurate impulse based dynamic simulator, the part can be tested in a matter of minutes in a virtual mock up of the automated assembly plant. Not only can the final pose of a part be tabulated but also multiple part simulations with data taken on part singulation, where and how many parts have a final configuration such that they are not touching any other parts. The result is that changes in part design can occur before any physical model of the part has been produced. It can be known quickly and inexpensively whether a proposed change in the automation system will affect any of the sub-assembly parts. It is hoped that the resulting parts designed for assembly with such a system will be more robust during automation changes since they can be quickly checked for proper pose distribution in several different automation systems in which they may find themselves.

Below are tests of an actual part designed for assembly by an Adept robot. Actual experimental results were taken by observing the final pose of the object after successive drops by various researchers at Adept. A quasi-static model approach developed by Ken Goldberg was also used to predict pose distribution. Finally, Impulse performed several thousand drop tests in under an hour and matched experimental results quite well.

The physical accuracy of Impulse is extremely important in cases like these where it is being used as a design tool for a real-life physical system. Karl Sims, designer of the a system for evolving virtual creatures also comments on the importance of the accuracy of physical simulations in his paper, "Evolving Virtual Creatures,"


Agents and Virtual Creatures

In the SIGGRAPH 1994 at the Technical Papers Track Karl Sims of Thinking Machines Corporation presented a paper entitled "Evolving Virtual Creatures". In this paper he describes a genetic algorithm and various other methods for creating virtual creatures that move and behave in simulated three-dimensional physical worlds. One of the results of his work is a truly amazing movie featuring the evolved creatures and comments about the movie. It's interesting to note that a Connection Machine CM-5 was used for the evolution simulation. Here Sims uses a similar impulse based simulation approach with a simplified collision impulse model. However, he does handle multiple articulated connected bodies in the simulation, which is only now in development for Impulse.

Addition discussion on the behavioral aspects of the creatures can be found in "Evolving 3D Morphology and Behavior by Competition" which appeared in Artificial Life in 1994. More info on the project can be found at Thinking Machines Corporation.



[ Home ]


Eric Paulos / paulos@robotics.eecs.berkeley.edu / 10 May 1995