SciML / ModelingToolkit.jl

An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
https://mtk.sciml.ai/dev/
Other
1.38k stars 196 forks source link

position based dynamics for contact modeling in robotics simulaitons #1316

Open vpuri3 opened 2 years ago

vpuri3 commented 2 years ago

hi all, I'm new to robotics and was wondering if anybody has thoughts on Position Based Dynamics methods: https://matthias-research.github.io/pages/publications/smallsteps.pdf. They seem to be able to account for constraints in a seemingly straightforward way.

if there is interest, I'm willing to prototype these algorithms in RigidBodyDynamics.jl, or start a new project altogether. im really just trying to get started with robotics simulations for kicks. my background is in writing fluid dynamics solvers. thanks in advance for your guidance.

ref https://github.com/JuliaRobotics/RigidBodyDynamics.jl/issues/627

vpuri3 commented 2 years ago

as discussed with @baggepinnen , I'll do this implementation in a new repo.

vpuri3 commented 2 years ago

@rdeits, Chris Rackauckas mentioned you might be knowledgeable on this topic. any thoughts on this method?

ChrisRackauckas commented 2 years ago

That has nothing to do with this repo, so I don't know why this paper is posted here. But it's quite obviously a silly paper: Jacobian reuse schemes are the standard way to improve the performance of implicit integrators and they aren't even mentioned here. Simple handwritten implicit Euler is routinely around 2-3 orders of magnitude slower then well optimized higher order integration techniques with proper reuse schemes. Why was their baseline something nobody would ever use? Any paper that doesn't use something like Sundials CVODES or ARKODE as the baseline and instead uses simple implementations of first order methods should be an immediate red flag.