Skip to content

Speed up UR5e analytical Jacobian path for OmniReset RelCartesianOSC#30

Open
AbdelStark wants to merge 2 commits intoUW-Lab:mainfrom
AbdelStark:perf/ur5e-relcartesianosc-jacobian-cache
Open

Speed up UR5e analytical Jacobian path for OmniReset RelCartesianOSC#30
AbdelStark wants to merge 2 commits intoUW-Lab:mainfrom
AbdelStark:perf/ur5e-relcartesianosc-jacobian-cache

Conversation

@AbdelStark
Copy link
Copy Markdown

Description

Accelerates the analytical Jacobian path used by RelCartesianOSCAction in OmniReset UR5e tasks.

The previous implementation rebuilt batched 4x4 calibrated transforms on every physics step. This change replaces that path with a device/dtype-cached recurrence over rotation and translation, so the control loop reuses calibrated constants instead of reconstructing them for every Jacobian evaluation.

What changed:

  • cached calibrated UR5e constants in uwlab_assets.robots.ur5e_robotiq_gripper.kinematics
  • rewrote compute_jacobian_analytical() to avoid repeated 4x4 transform materialization
  • updated OmniReset RelCartesianOSCAction to use the optimized Jacobian path directly
  • added a pure regression test that compares the fast path against the previous algorithm and checks cache reuse
  • updated affected extension changelogs and version metadata

Why this matters:

  • RelCartesianOSCAction.apply_actions() sits on the physics-step path for OmniReset UR5e tasks
  • reducing Jacobian overhead improves scaling with larger num_envs
  • the regression test makes future performance refactors safer by locking in numerical equivalence

Verification:

  • python3 -m compileall source/uwlab_assets/uwlab_assets/robots/ur5e_robotiq_gripper/kinematics.py source/uwlab_tasks/uwlab_tasks/manager_based/manipulation/omnireset/mdp/actions/task_space_actions.py source/uwlab_assets/test/test_ur5e_kinematics.py
  • git diff --check
  • full runtime tests were not run in this shell because torch and isaaclab are not installed locally

Fixes N/A

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Screenshots

Not applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./uwlab.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

Signed-off-by: AbdelStark <AbdelStark@users.noreply.github.com>
Signed-off-by: AbdelStark <AbdelStark@users.noreply.github.com>
@AbdelStark AbdelStark requested a review from zoctipus as a code owner March 26, 2026 17:48
@github-actions github-actions bot added the asset label Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant