Skip to content

Conversation

@cdinea
Copy link

@cdinea cdinea commented Jan 17, 2026

Summary

This PR implements the "Direct Position-Based Solver for Stiff Rods" algorithm from Deul et al. (Computer Graphics Forum / Eurographics 2018) as an extension to the isaaclab_newton package.

Motivation

Standard XPBD solvers using Gauss-Seidel iteration struggle with stiff materials, requiring many iterations to converge. This direct solver exploits the rod's serial (acyclic) topology to solve all constraints simultaneously in O(n) time

Implementation

The solver simulates an inextensible Cosserat rod discretized as a chain of rigid body segments. Key features:

  • O(n) direct solver via block-tridiagonal matrix factorization (Thomas algorithm)
  • GPU-accelerated Warp kernels for parallel constraint evaluation
  • Cosserat rod model with stretch and bend-twist constraints
  • Physically meaningful parameters: Young's modulus, density, damping
  • Multiple visualization options: Isaac Sim (USD), Matplotlib (standalone)

Files Added

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

Reference: 'Direct Position-Based Solver for Stiff Rods' - Deul, Kugelstadt,
Weiler & Bender, Computer Graphics Forum (Eurographics), 2018
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 17, 2026

Skipped: This PR changes more files than the configured file change limit: (1012 files found, 100 file limit)

@github-actions github-actions bot added documentation Improvements or additions to documentation enhancement New feature or request asset New asset feature or request isaac-sim Related to Isaac Sim team isaac-mimic Related to Isaac Mimic team infrastructure labels Jan 17, 2026
@cdinea cdinea marked this pull request as draft January 17, 2026 00:19
@cdinea cdinea changed the base branch from main to dev/newton January 17, 2026 00:35
@github-actions github-actions bot added the isaac-lab Related to Isaac Lab team label Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request documentation Improvements or additions to documentation enhancement New feature or request infrastructure isaac-lab Related to Isaac Lab team isaac-mimic Related to Isaac Mimic team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant