- Notifications
You must be signed in to change notification settings - Fork 291
Fix FreeJoint world Jacobian translation #2298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@ ## main #2298 +/- ## ========================================== + Coverage 62.88% 62.96% +0.08% ========================================== Files 363 363 Lines 33023 33068 +45 Branches 4348 4348 ========================================== + Hits 20766 20822 +56 + Misses 12257 12246 -11
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Use passed positions in getRelativeJacobianStatic - Integrate relative transform and solve back for Q - Fix relative Jacobian time-derivative rotation handling - Add FD Jacobian/Jdot + energy conservation tests - Add free_joint_cases ImGui example
| @codex review |
| Codex Review: Didn't find any major issues. Swish! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
CI links gz-physics tests against vendored gtest but can compile with conda-forge gtest headers, causing undefined references to MakeAndRegisterTestInfo(std::string,...). Force-include a small compatibility header in the gz-physics build to forward the std::string overload to the legacy const char* implementation.
This reverts commit 4fdf479.
This reverts commit 766ffb8.
- Clamp the initial ImGui window size to the available display area so large --gui-scale values don't push the window off-screen. - Use a scale-specific ImGui window ID so changing --gui-scale doesn't reuse prior saved window geometry. - Add an XY grid visual (toggleable) to improve depth perception in the zero-gravity scene.
- Track the ImGui scale in ImGuiViewer and add getImGuiScale(). - Add ImGuiViewer::setUpViewInWindowScaled() to scale window dimensions. - Update ImGui examples using --gui-scale to call setUpViewInWindowScaled(). - Add missing compatibility header dart/gui/ViewerAttachment.hpp (re-export from Viewer.hpp) so dart/gui/All.hpp builds.
Fixes #1657.
This updates
dynamics::FreeJointJacobian/integration logic to remain consistent whenT_parentBodyToJointandT_childBodyToJointare non-identity.FreeJoint::integratePositions()to integrate the relative transform (body twist) and solve back forQ, preserving correct motion with offset joint frames.FreeJoint::getRelativeJacobianStatic(positions)to use the passed positions (instead of a cached Jacobian).setRelativeSpatialVelocity()uses the up-to-date pose-dependent Jacobian; fixupdateRelativeJacobianTimeDeriv()for non-identity child joint frames.free_joint_cases(ImGui) to visualize linear-only/angular-only/both and edge cases, with built-in numeric checks.Before creating a pull request
pixi run test-allto lint, build, and test your changes (CI passed; locally ranpixi run lint,pixi run test,pixi run test-py)