94 research outputs found
Anderson acceleration for geometry optimization and physics simulation
Many computer graphics problems require computing geometric shapes subject to certain constraints. This often results in non-linear and non-convex optimization problems with globally coupled variables, which pose great challenge for interactive applications. Local-global solvers developed in recent years can quickly compute an approximate solution to such problems, making them an attractive choice for applications that prioritize efficiency over accuracy. However, these solvers suffer from lower convergence rate, and may take a long time to compute an accurate result. In this paper, we propose a simple and effective technique to accelerate the convergence of such solvers. By treating each local-global step as a fixed-point iteration, we apply Anderson acceleration, a well-established technique for fixed-point solvers, to speed up the convergence of a local-global solver. To address the stability issue of classical Anderson acceleration, we propose a simple strategy to guarantee the decrease of target energy and ensure its global convergence. In addition, we analyze the connection between Anderson acceleration and quasi-Newton methods, and show that the canonical choice of its mixing parameter is suitable for accelerating local-global solvers. Moreover, our technique is effective beyond classical local-global solvers, and can be applied to iterative methods with a common structure. We evaluate the performance of our technique on a variety of geometry optimization and physics simulation problems. Our approach significantly reduces the number of iterations required to compute an accurate result, with only a slight increase of computational cost per iteration. Its simplicity and effectiveness makes it a promising tool for accelerating existing algorithms as well as designing efficient new algorithms
Parallel iterative solvers for real-time elastic deformations
Physics-based animation of elastic materials allows to simulate dynamic deformable objects such as fabrics, human tissue, hair, etc. Due to their complex inner mechanical behaviour, it is difficult to replicate their motions interactively and accurately at the same time. This course introduces students and practitioners to several parallel iterative techniques to tackle this problem and achieve elastic deformations in real-time. We focus on techniques for applications such as video games and interactive design, with\ua0fixed and small hard time budgets\ua0available for physically-based animation, and where responsiveness and stability are often more important than accuracy, as long as the results are believable. The course focuses on solvers able to fully exploit the computational capabilities of modern GPU architectures, effectively solving systems of hundreds of thousands of nonlinear equations in a matter of few milliseconds. The course introduces the basic concepts concerning physics-based elastic objects, and provide an overview of the different types of numerical solvers available in the literature. Then, we show how some variants of traditional solvers can address real-time animation and assess them in terms of accuracy, robustness and performance. Practical examples are provided throughout the course, in particular how to apply the depicted solvers to Projective Dynamics and Position-based Dynamics, two recent and popular physics models for elastic materials
Position-Based Multi-Agent Dynamics for Real-Time Crowd Simulation (MiG paper)
Exploiting the efficiency and stability of Position-Based Dynamics (PBD), we
introduce a novel crowd simulation method that runs at interactive rates for
hundreds of thousands of agents. Our method enables the detailed modeling of
per-agent behavior in a Lagrangian formulation. We model short-range and
long-range collision avoidance to simulate both sparse and dense crowds. On the
particles representing agents, we formulate a set of positional constraints
that can be readily integrated into a standard PBD solver. We augment the
tentative particle motions with planning velocities to determine the preferred
velocities of agents, and project the positions onto the constraint manifold to
eliminate colliding configurations. The local short-range interaction is
represented with collision and frictional contact between agents, as in the
discrete simulation of granular materials. We incorporate a cohesion model for
modeling collective behaviors and propose a new constraint for dealing with
potential future collisions. Our new method is suitable for use in interactive
games.Comment: 9 page
Position based constraint enforcement in game physics
La simulación de sistemas mecánicos para videojuegos y otras aplicaciones interactivas impone restricciones importantes en cuanto a estabilidad, flexibilidad en las escenas y complejidad computacional. En los últimos años han aparecido varias estrategias para la resolución de sistemas mecánicos con restricciones. Algunas de las más populares en el desarrollo de videojuegos usan solamente la posición de las partículas y un algoritmo de proyección sobre la variedad definida por las restricciones, evitando la manipulación de la primera derivada del sistema (las velocidades). De esta forma se consigue una gran estabilidad numérica. El principal defecto de estos métodos es su dependencia en parámetros sin significado físico, por lo que es difícil simular materiales concretos. En este trabajo explicamos los susodichos métodos y nos centramos en la simulación de materiales elásticos, tomando como referencia otro modelo ampliamente estudiado que depende de parámetros físicos reales. Proponemos un algoritmo para ajustar los parámetros no físicos del algoritmo basado en posiciones y probamos este procedimiento en un cubo elástico. La extrapolación a otros objetos más complejos no debería resultar muy difícil. Como última contribución relacionamos estos algoritmos con algunos métodos numéricos clásicos y resaltamos las principales hipótesis que se asumen en el proceso. Esta parte, aunque no es muy robusta porque no llegamos a alcanzar un resultado cerrado, puede ser útil como un primer paso para trabajos futuros que involucren el tema de la convergencia de este tipo de métodos.Mechanical systems simulation for video games and other interactive applications
imposes important restrictions as regards to stability, flexibility in the scenes and
computational complexity. In the last few years several resolution strategies for
mechanical systems with constraints have appeared. Some of the most popular ones in
the development of video games use only the positions of the particles and a projection
algorithm over the manifold defi ned by the constraints, avoiding manipulation of
the system's fi rst derivative (velocities). In this way, a great numerical stability is
obtained. The main drawback of these methods is its dependence in non-physical
parameters, so is hard to simulate a speci c material. In this work we explain all the
aforementioned methods and focus in the simulation of elastic materials taking as
reference another model deeply studied that depends on real, physical parameters.
We propose an algorithm to fit the non-physical parameters of the position based
algorithm and test this procedure in a elastic cube. An extrapolation to other,
more complex objects should not be dificult. As a last contribution we relate these
algorithms with some classical numerical methods and point out which are the main
hypothesis assumed in the process. This part, although is not very robust since we
have not been able to reach a closed result, can be useful as a fi rst step for future
works dealing with the convergence topic of this kind of methods
DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact
Cloth simulation has wide applications in computer animation, garment design,
and robot-assisted dressing. This work presents a differentiable cloth
simulator whose additional gradient information facilitates cloth-related
applications. Our differentiable simulator extends a state-of-the-art cloth
simulator based on Projective Dynamics (PD) and with dry frictional contact. We
draw inspiration from previous work to propose a fast and novel method for
deriving gradients in PD-based cloth simulation with dry frictional contact.
Furthermore, we conduct a comprehensive analysis and evaluation of the
usefulness of gradients in contact-rich cloth simulation. Finally, we
demonstrate the efficacy of our simulator in a number of downstream
applications, including system identification, trajectory optimization for
assisted dressing, closed-loop control, inverse design, and real-to-sim
transfer. We observe a substantial speedup obtained from using our gradient
information in solving most of these applications
Towards Real-Time Simulation Of Hyperelastic Materials
We propose a new method for physics-based simulation supporting many different types of hyperelastic materials from mass-spring systems to three-dimensional finite element models, pushing the performance of the simulation towards real-time. Fast simulation methods such as Position Based Dynamics exist, but support only limited selection of materials; even classical materials such as corotated linear elasticity and Neo-Hookean elasticity are not supported. Simulation of these types of materials currently relies on Newton\u27s method, which is slow, even with only one iteration per timestep. In this work, we start from simple material models such as mass-spring systems or as-rigid-as-possible materials. We express the widely used implicit Euler time integration as an energy minimization problem and introduce auxiliary projection variables as extra unknowns. After our reformulation, the minimization problem becomes linear in the node positions, while all the non-linear terms are isolated in individual elements. We then extend this idea to efficiently simulate a more general spatial discretization using finite element method. We show that our reformulation can be interpreted as a quasi-Newton method. This insight enables very efficient simulation of a large class of hyperelastic materials. The quasi-Newton interpretation also allows us to leverage ideas from numerical optimization. In particular, we show that our solver can be further accelerated using L-BFGS updates (Limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm). Our final method is typically more than ten times faster than one iteration of Newton\u27s method without compromising quality. In fact, our result is often more accurate than the result obtained with one iteration of Newton\u27s method. Our method is also easier to implement, implying reduced software development costs
Accelerating ADMM for efficient simulation and optimization
The alternating direction method of multipliers (ADMM) is a popular approach for solving optimization problems that are potentially non-smooth and with hard constraints. It has been applied to various computer graphics applications, including physical simulation, geometry processing, and image processing. However, ADMM can take a long time to converge to a solution of high accuracy. Moreover, many computer graphics tasks involve non-convex optimization, and there is often no convergence guarantee for ADMM on such problems since it was originally designed for convex optimization. In this paper, we propose a method to speed up ADMM using Anderson acceleration, an established technique for accelerating fixed-point iterations. We show that in the general case, ADMM is a fixed-point iteration of the second primal variable and the dual variable, and Anderson acceleration can be directly applied. Additionally, when the problem has a separable target function and satisfies certain conditions, ADMM becomes a fixed-point iteration of only one variable, which further reduces the computational overhead of Anderson acceleration. Moreover, we analyze a particular non-convex problem structure that is common in computer graphics, and prove the convergence of ADMM on such problems under mild assumptions. We apply our acceleration technique on a variety of optimization problems in computer graphics, with notable improvement on their convergence speed
Fast GPU-Based Two-Way Continuous Collision Handling
Step-and-project is a popular way to simulate non-penetrated deformable
bodies in physically-based animation. First integrating the system in time
regardless of contacts and post resolving potential intersections practically
strike a good balance between plausibility and efficiency. However, existing
methods could be defective and unsafe when the time step is large, taking risks
of failures or demands of repetitive collision testing and resolving that
severely degrade performance. In this paper, we propose a novel two-way method
for fast and reliable continuous collision handling. Our method launches the
optimization at both ends of the intermediate time-integrated state and the
previous intersection-free state, progressively generating a piecewise-linear
path and finally reaching a feasible solution for the next time step.
Technically, our method interleaves between a forward step and a backward step
at a low cost, until the result is conditionally converged. Due to a set of
unified volume-based contact constraints, our method can flexibly and reliably
handle a variety of codimensional deformable bodies, including volumetric
bodies, cloth, hair and sand. The experiments show that our method is safe,
robust, physically faithful and numerically efficient, especially suitable for
large deformations or large time steps
- …