-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add body_incoming_joint_wrench_b to ArticulationData field #2128
base: main
Are you sure you want to change the base?
Conversation
Small question: Should this be a sensor if we want to model it as force-torque sensor with some frequency? |
def body_joint_reaction_wrench_b(self) -> torch.Tensor: | ||
"""Joint reaction wrench applied from body parent to child body in parent body frame. | ||
|
||
Shape is (num_instances, num_bodies, 6). All body reaction wrenches are provided including the root body to the |
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.
Maybe useful to link to this documentation
Also the wording seems slightly confusing. The forces are in CoM frame or link frame? We have been using "_b" for link frame so if it not the latter, we should use something else I feel.
NIT: body joint reaction wrench seems a strange name to call it? Might be simpler to call it body_reaction_wrench
or body_incoming_wrench
🤔
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.
Yeah documentation link is good. The output is the force/torque at a joint in the bodies link frame orientation (need to double check if it's the parent or child body).
Yeah I don't really like it either. I went back and forth on the naming. There are as many wrenches as bodies but they are the result of wrenches imparted at joints. I'm down for other names.
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.
what about body_incoming_joint_wrench_b
that way it stays a bit more in convention with the physx documentation?
|
||
# check shape | ||
self.assertEqual( | ||
articulation.data.body_joint_reaction_wrench_b.shape, |
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.
Might make sense to test shape for an asset with more than one joint?
I think there is room to do a separate "sensor" that has the added abilities like offset frames, sensor updates, visualizations, sub selection of axes, and the like. Especially if a users is only interested in a single frame. I figured this would be the most easiest way to get all data available quickly since it was already part of the physics tensor API. |
Co-authored-by: Mayank Mittal <[email protected]> Signed-off-by: James Tigue <[email protected]>
Description
This PR exposes the physics tensor view of the joint reaction wrenches.
Fixes #2127
1566
Type of change
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there