Enhanced Sequential-Impulse Projected Gauss-Seidel Solver for Real-time Multibody Dynamics Simulation

With the increasing demand for real-time and efficient rigid-body dynamics simulations in fields such as robotics, virtual reality, and video games, multibody dynamics solvers have become a critical area of research. Among various solving methods, the Sequential-Impulse (SI) approach, which incorporates the iterative characteristics of the Projected Gauss-Seidel (PGS) method, is widely employed due to its simplicity, computational efficiency, and ease of parallelization. However, traditional SI-PGS algorithms still face significant challenges in complex scenarios such as large-scale rigid-body stacking and high mass-ratio systems, often struggling with convergence and stability.

To address these issues, several algorithmic improvements have been proposed, including Warm-Start, Split-Impulse penetration correction, relaxation factors (over-relaxation), Block-PGS for simultaneous solving of multiple contact points, Nonlinear Gauss-Seidel (NGS) position correction, and Temporal Gauss-Seidel (TGS) sub-stepping strategies. This thesis leverages these state-of-the-art algorithmic concepts and engineering techniques proposed in recent years, presenting an optimized Sequential-Impulse PGS solver tailored for complex rigid-body dynamics scenarios.

The workflow begins with an extensive survey of advanced algorithmic concepts and engineering practices, followed by implementing the optimized SI-PGS solver in a C++-based simulation engine. The solver is then tested using realistic digital twin models. Finally, the performance of the optimized solver is compared with the conventional PGS method.

Keywords: Multibody dynamics simulation, optimization, contact, friction

Requirements:

  • You are studying Electrical Engineering, Automation, or Robotics Systems Engineering.

  • You are interested in robot simulation or game physics engines; ideally, you have studied multibody dynamics or robotics dynamics.

  • Ideally, you have programming skills in C++

Betreuer: Shao,   Email: