The main goal in this collaborative research project is to advance the state of the art in realistic robot simulation by developing reasonably accurate contact models for rigid body dynamics that are both robustly and efficiently solvable. Since the times of Newton and Leibniz, the modeling of rigid body dynamics has been a tremendous success story. However, when rigid bodies come into contact and when that contact includes Coulomb friction, standard force-acceleration models sometimes fail. In such cases, a smooth solution is theoretically not even possible. A set of contact models that address this problem has been developed, derived from the well-established Signorini-Fichera (S-F) complementarity conditions. However, there is some evidence that these conditions are not accurate for impacting (rather than smoothly contacting) rigid bodies. This project will investigate situations in which the complementarity conditions are called into question, and will develop a new approach to address three critical shortcomings, present in varying degrees in state of the art contact models: (i.) their exponential worst-case solution times; (ii.) their inability to find solutions even though one exists; (iii.) their numerical brittleness. This project will investigate and evaluate new contact models that, by virtue of eliminating complementarity conditions, may not suffer from these shortcomings; in tandem, the project will use elastodynamic finite element analysis and physical experimentation in order to evaluate model accuracy for impacting rigid bodies.
This project will impact a broad range of technologies, including aerospace, manufacturing, and civil engineering. In the near term, the project will enable the simulation of complex robot environments that help roboticists fine-tune both mechanical design and control algorithms. The computational models developed will be made public via the open-source Moby dynamics library. Additionally, participation in STEM is broadened through mentoring of students.
In order to better build and program the robots of the future we need smarter software today. We need robust and efficient simulation software, but simulation of physical systems that interact with their world -- for example, robots that can pick up dirty dishes to place in the dishwasher -- is difficult to do well. One of the crucial questions is how to treat things that touch one another. Imagine a box resting on a flat plane Computing just the right forces to keep the box in exactly the right spot can be tricky if other forces are being applied and, for example, the box is sliding to a stop. In practice a real box might "kiss" the ground making contact across a whole surface, but efficient simulation uses some small number of points to apply the compensatory forces to. The real box has a frictional effect related to that whole face -- it is a "bulk" effect coming from molecular interactions at the region of contact -- so the simulation has to have a law which is concise and can be applied at the few representative points. Picking that law is, somewhat, a matter of taste. Some laws seem more obviously physical, others might clearly be coarse approximations but have the advantage of computational expediency, or reliability -- always being relied upon to give an answer. And that' assuming you know which points you're going to apply the forces to, and precisely along which direction the forces ought to be applied. Those, of course, have to be chosen somehow too. From this myriad of complex choices, each with complicated implications and consequences, the practitioner must choose something that will yield the right sort of robot behavior. So as (simulated) Rosey tries to pick up the dustpan, her manipulator fingers don't just pass through the handle. This research project looked at problems like realistic simulation of robot grasping, but also more basic ones too. For example, we looked at how toys like spinning tops and swings might best be simulated. One such model is the tippe top (see figure "Tippe Top Model") a somewhat surprising toy that inverts itself as it spins. One finding from the research is that choosing how to apply forces to a point (or region where a circle kisses a plane) can have important implications for how energy is dissipated, and ultimately whether the top ever comes to rest. But back to Rosey and the dirty dishes! How will Rosey ever know how to operate a dish washer, or open a fridge, or window? If she's seen these things in both open and shut states, perhaps she'll be able to determine a model for herself of the articulated object. One of the outcomes of our project was an algorithm for matching these "open" and "shut" versions, as they might appear to a robot, with one another so that one can conclude that they function in some way. (The diagram titled "Matching Meshes" shows this.) Once that is known, it is a matter of planning movement to change the object from one state to another. But that's a story for another time.