Skip to content
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] DifferentialIKController not working correctly when applying rotation to Articulation #366

Open
2 of 3 tasks
samueledelloca opened this issue Apr 19, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@samueledelloca
Copy link

Describe the bug

I'm developing a custom environment which makes (also) use of the DifferentialIKController for reaching a specific pose, defined through a command. Everything works fine until I apply a rotation into the Articulation's init_state. It took me a while to understand the cause, because the Articulation's behavior is pretty strange. See the attached example videos for both my custom environment and Isaac-Lift-Cube-Franka-IK-Abs-v0 task from orbit_tasks/manipulation/lift.
I tried with different articulations and configurations but the error persists, even when using only RL and DifferentialInverseKinematicsAction without state machine. Other actions are working fine when rotating the Articulation. So I suppose that the initial rotation is not taken into account when computing the change in joint positions through the IK controller, but I'm not sure how to fix it.

Steps to reproduce

Simply add the following lines into FRANKA_PANDA_HIGH_PD_CFG and execute the Isaac-Lift-Cube-Franka-IK-Abs-v0 task with ./orbit.sh -p source/standalone/environments/state_machine/lift_cube_sm.py --num_envs 8.
Note that this task aims first at reaching the cube object and then lifting it to a specific pose. I'm interested only in the second part, so I didn't fixed the code for reaching the cube after applying changes to initial position and rotation.

Additional context

You will find 2 attached videos: custom_environment (I apologize for the quality but it's the best I can upload) which shows the bug in my custom environment and franka_lift which is related to Isaac-Lift-Cube-Franka-IK-Abs-v0 and can be reproduced following the instructions in the previous section. The latter video is divided into 3 parts:
1- correct behavior without applying rotation
2- wrong behavior by applying rotation and translation
3- correct behavior by applying only translation

While for the custom environment video you have:
1- correct behavior without applying rotation
2- wrong behavior by applying rotation and translation

Checklist

  • I have checked that there is no similar issue in the repo
  • I have checked that the issue is not in running Isaac Sim itself and is related to the repo

Acceptance Criteria

  • Articulation behaving correctly (i.e. by reaching the defined pose) using DifferentialIKController when applying an initial rotation
@Mayankm96
Copy link
Contributor

Are the targets given in the same frame as in which the controller is working?

@samueledelloca
Copy link
Author

Are the targets given in the same frame as in which the controller is working?

Yes, I'm pretty sure they are, given that the target frames are visualized correctly as you can see in the videos. They are even reached correctly if I do not apply any initial rotation to the Articulation.

wangyan-hlab pushed a commit to wangyan-hlab/IsaacLab that referenced this issue Apr 23, 2024
…c-sim#366)

# Description

Adds an optional argument to the height-scan obs term defining the
offset. Previously, it was hardcoded to 0.5.

## Type of change

- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./orbit.sh --format`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have run all the tests with `./orbit.sh --test` and they pass
- [ x I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
fatimaanes pushed a commit to fatimaanes/omniperf that referenced this issue Aug 8, 2024
…c-sim#366)

# Description

Adds an optional argument to the height-scan obs term defining the
offset. Previously, it was hardcoded to 0.5.

## Type of change

- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./orbit.sh --format`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have run all the tests with `./orbit.sh --test` and they pass
- [ x I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
@Dhoeller19 Dhoeller19 added the bug Something isn't working label Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants