Nimblephysics Versions Save

Nimble: Physics Engine for Biomechanics and Deep Learning

v0.10.42

1 month ago

This release adds a fix that will throw an exception (rather than segfaulting) when a GRF .mot file that does not have a 'endheader' string.

v0.10.41

2 months ago

This release adds new features to support real-time inverse kinematics from streamed mocap data and fixes some unhandled error conditions.

v0.10.40

4 months ago

This provides a few practical improvements to ensure that even when the system is underdetermined (multiple feet in contact with the ground) we solve for the closest possible torques to the original, so that if the virtual and "real" models are identical, then we get zero torques.

v0.10.39

4 months ago

This release adds a first experimental version of ExoSolverPinnedContact, for a simple haptic-rendering idealized full body exoskeleton.

v0.10.38

5 months ago

This allows DynamicsFitter foot contact heuristics to automatically distinguish between treadmill trials and overground trials.

v0.10.37

5 months ago

This includes a few critical fixes to DynamicsFitter::zeroLinearAndOptimizeAngular(), and a couple of other minor fixes.

v0.10.36

5 months ago

DynamicsFitter now will no longer mark frames you've marked as "good" as being bad again, even if doing so makes it easier to fit the data with low residuals.

v0.10.35

5 months ago

There are a few APIs on Skeleton that return lists of raw pointers to internal Skeleton data (BodyNodes and Joints) to Python. These APIs need to have the List object itself get garbage collected when Python is no longer using it, but not the individual contents of the List, because that is still in use by C++. Unfortunately, Pybind11 does not yet have support for doing this, so we've disabled the APIs for now. Instead, you can use things like [skel.getBodyNode(i) for i in range(skel.getNumBodyNodes())]

v0.10.34

5 months ago
  • Adding SubjectOnDisk.readOsim()
  • Fixing bugs in DynamicsFitter

v0.10.33

5 months ago

Fixes a bug in DynamicsFitter.fillInMissingGRFBlips()