Conversation
Migrate DexUni example settings to the current namespaced solver interface and preserve the existing cloth contact values. Update the Newton config regression test and document the new mapping contract.
Port the retained MJVBD V2 integration consumers to the current DexUni public interface, while keeping AutoSolver as the Newton default. Preserve namespaced solver options, tutorial calibration, reset/mimic handling, and current task configuration.
3 of 6 tasks
Allow geometry-only ContactQuery data for DexUni VBD paths and full impulse/friction data for pure MuJoCo. Add capability tests and GPU end-to-end coverage.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Unify the Newton/MJVBD integration changes on the current public DexUni interface.
This PR absorbs the retained simulation, reset, mimic, robot-preset, task-config, tutorial, and example adaptations from PR #645, while migrating their old
mjvbd_v2configuration identity to the current DexSimDexUniSolverCfgcontract.The unified configuration uses:
solver_type: dexunijoint_modeandcontact_modefor dispatchvbd_options,mujoco_options, andcollision_optionsfor namespaced expert optionscollision_cfg: nullwhere DexUni owns contact generationThe Newton default remains DexSim
AutoSolverCfg; explicitly selected DexUni scenes use the current MJVBD V2 implementation throughDexUniSolverCfg. This avoids depending on the removedMJVBDV2SolverCfgexport and preserves explicit automatic solver selection.PR #645 is superseded by this unified PR.
Dependencies: current DexSim
DexUniSolverCfginterface (0.5.1rc1-style); no EmbodiChain package dependency changes.Type of change
Validation
black --check --diff --color .passed (1171 files unchanged).python docs/scripts/check_api_docs.pypassed (2387/2387 exports documented).python examples/sim/demo/fold_tshirt.py --headless --steps 1 --disable-cuda-graphreached
Scene readyand completed one frame with DexSim 0.5.1rc1.Checklist
black .command to format the code base.DexUni ContactSensor support
This PR also enables the backend-neutral ContactSensor for DexUni after solver resolution:
pure_mujoco: geometry, normal impulse, and tangential impulse are available when MuJoCo runs on CUDA.impulseandfrictioncapabilities are disabled and their output columns are placeholders.Validation:
force · normal × substep_dtwithin a 2e-3 relative tolerance, with finite geometry, unit normals, tangent orthogonality, and valid actor IDs checked.