diff options
| author | Thierry Berger <contact@thierryberger.com> | 2024-06-03 15:20:24 +0200 |
|---|---|---|
| committer | Thierry Berger <contact@thierryberger.com> | 2024-06-03 15:20:24 +0200 |
| commit | e1ed90603e618e28f48916690d761e0d8213e2ad (patch) | |
| tree | 8399da9825ca9ee8edd601b1265e818fa303b541 | |
| parent | fe336b9b98d5825544ad3a153a84cb59dc9171c6 (diff) | |
| parent | 856675032e76b6eb4bc9e0be4dc87abdbcfe0421 (diff) | |
| download | rapier-e1ed90603e618e28f48916690d761e0d8213e2ad.tar.gz rapier-e1ed90603e618e28f48916690d761e0d8213e2ad.tar.bz2 rapier-e1ed90603e618e28f48916690d761e0d8213e2ad.zip | |
Merge branch 'master' into collider-builder-debug
116 files changed, 5376 insertions, 1619 deletions
diff --git a/.github/workflows/rapier-ci-build.yml b/.github/workflows/rapier-ci-build.yml index 1b29d15..c38a1a5 100644 --- a/.github/workflows/rapier-ci-build.yml +++ b/.github/workflows/rapier-ci-build.yml @@ -13,7 +13,7 @@ jobs: check-fmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Check formatting run: cargo fmt -- --check build-native: @@ -21,7 +21,7 @@ jobs: env: RUSTFLAGS: -D warnings steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: sudo apt-get install -y cmake libxcb-composite0-dev - name: Clippy run: cargo clippy @@ -60,7 +60,7 @@ jobs: env: RUSTFLAGS: -D warnings steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: rustup target add wasm32-unknown-unknown - name: build rapier2d run: cd crates/rapier2d && cargo build --verbose --features wasm-bindgen --target wasm32-unknown-unknown; @@ -71,7 +71,7 @@ jobs: env: RUSTFLAGS: -D warnings steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: rustup target add wasm32-unknown-emscripten - name: build rapier2d run: cd crates/rapier2d && cargo build --verbose --target wasm32-unknown-emscripten; diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f57869..f9ec4d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,96 @@ +## Unreleased + +### Added + +- Add `Multibody::inverse_kinematics`, `Multibody::inverse_kinematics_delta`, + and `::inverse_kinematics_delta_with_jacobian` + for running inverse kinematics on a multibody to align one its links pose to the given prescribed pose. +- Add `InverseKinematicsOption` to customize some behaviors of the inverse-kinematics solver. +- Add `Multibody::body_jacobian` to get the jacobian of a specific link. +- Add `Multibody::update_rigid_bodies` to update rigid-bodies based on the multibody links poses. +- Add `Multibody::forward_kinematics_single_link` to run forward-kinematics to compute the new pose and jacobian of a + single link without mutating the multibody. This can take an optional displacement on generalized coordinates that are + taken into account during transform propagation. + +### Modified + +- The contact constraints regularization parameters have been changed from `erp/damping_ratio` to + `natural_frequency/damping_ratio`. This helps define them in a timestep-length independent way. The new variables + are named `IntegrationParameters::contact_natural_frequency` and `IntegrationParameters::contact_damping_ratio`. +- The `IntegrationParameters::normalized_max_penetration_correction` has been replaced + by `::normalized_max_corrective_velocity` + to make the parameter more timestep-length independent. It is now set to a non-infinite value to eliminate aggressive + "popping effects". +- The `Multibody::forward_kinematics` method will no longer automatically update the poses of the `RigidBody` associated + to each joint. Instead `Multibody::update_rigid_bodies` has to be called explicitly. +- The `Multibody::forward_kinematics` method will automatically adjust the multibody’s degrees of freedom if the root + rigid-body changed type (between dynamic and non-dynamic). It can also optionally apply the root’s rigid-body pose + instead of the root link’s pose (useful for example if you modified the root rigid-body pose externally and wanted + to propag |
