-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[Bug Report] Ik Absolute seems to not work properly with rotated base frame #911
Comments
We don't read the robot's base pose for adjusting the geometric Jacobian and end-effector targets. This is definitely a bug that should be addressed. Would you be able to help on this? @zoctipus Otherwise @jtigue-bdai maybe this goes along your current efforts on the controllers as well? |
Let me give a try! |
Sounds good. Happy to discuss or assist as needed. |
@Mayankm96 @jtigue-bdai Screenshot of edit that fix the bug I got it, it is actually an easy fix, and got it to work with these four lines: 180 - 183
but it is not working as I expected, and I needed to matrix multiply the rotation as shown in the code to get it work correctly. |
So you are saying the quat_apply doesn't work? If so then you are correct The Now one thing to think about is the implementation. The current functionality isn't necessarily a bug but more an unstated feature. The Jacobians being returned are in the "world" frame. Depending on the use case you may want to describe end_effector velocities in the world frame. When you implement this you may want to create a alternative properties of the asset. I.e. world frame and root frame jacobians. |
Also required to update the end-effector targets for absolute poses to work:
Also, the scale parameter for quaternions would work differently. |
Thanks for the discussion, This is good point, |
It's task space action so maybe by design it should receive targets in global frame, though it's a design choice, can be kept in robot frame as well. |
Added visualization debug functions as well in case it's helpful.
|
Is this issue resolved? If so I'll close it. |
A pull request has been submitted, which I believe to resolved the issue and added a test unit to test against it. But hasn't been accepted yet. |
Can you share which pull request? I'll link it |
Describe the bug
Isaac-Lift-Cube-Franka-IK-Abs-v0
with robot based rotated 90 degree, step constant action in robot base frameThe Frame indicates the visualization of target pose
![frankar1](https://private-user-images.githubusercontent.com/127588710/363357526-fd572768-0216-4347-8b91-70da0aec9999.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI0MjMsIm5iZiI6MTczOTM3MjEyMywicGF0aCI6Ii8xMjc1ODg3MTAvMzYzMzU3NTI2LWZkNTcyNzY4LTAyMTYtNDM0Ny04YjkxLTcwZGEwYWVjOTk5OS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNDU1MjNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOTFmMDU0M2IzYTZkMDhmNmI0MjE0MzIyMDA2YzFhNTg1Y2I0NTM4MjZlMmE3ZmU5MmRlMjdlNjg3MzE4MDQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.zWb4-wQtduPz2k9bH1wFrYVnjJM_uviiRzeteucn7EQ)
Isaac-Lift-Cube-Franka-IK-Abs-v0
with no robot based rotation, step constant action in robot base frameThe Frame indicates the visualization of target pose
![frankar2](https://private-user-images.githubusercontent.com/127588710/363357561-a1ffeaf6-dd44-4d05-beeb-5dc8ca10963e.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI0MjMsIm5iZiI6MTczOTM3MjEyMywicGF0aCI6Ii8xMjc1ODg3MTAvMzYzMzU3NTYxLWExZmZlYWY2LWRkNDQtNGQwNS1iZWViLTVkYzhjYTEwOTYzZS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNDU1MjNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YjU2NTFkNmJmYTQxNDZlYjc4NzMxZGUzYTZlYWIzYzNiOWIxNjU3YWI2ODJkNWU3YjZkNGRiZmI1MTk5NjAyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.F417djNlXlb2MdiwUJNSvYDJ0NJW8e8fbbIo3AIOxOo)
As you can see from the gif, the rotation seems to cause the robot unable to track the target pose stably.
Steps to reproduce
I wrote below code that reproduce the bug, uncomment the denoted section to rotate robot
python source/standalone/environments/position_follow_agent.py --task Isaac-Lift-Cube-Franka-IK-Abs-v0 --num_envs 1
System Info
Describe the characteristic of your environment:
Additional context
I verified in the code until compute_delta_jointpos in ik_differential.py where the pos_error and quat_error are both close to [0, 0, 0] and [1, 0, 0, 0] when the environment just starts, indicating the target position is implemented correctly, but rotated franka will just drift away
Checklist
Acceptance Criteria
Add the criteria for which this task is considered done. If not known at issue creation time, you can add this once the issue is assigned.
The text was updated successfully, but these errors were encountered: