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

Hab tasks fix #684

Merged
merged 16 commits into from
Jul 13, 2021
Merged

Hab tasks fix #684

merged 16 commits into from
Jul 13, 2021

Conversation

ASzot
Copy link
Contributor

@ASzot ASzot commented Jul 12, 2021

Motivation and Context

On master there are critical bugs in the Habitat 2.0 pick task. While the task is runnable, many things don’t work at all (described in the changes section). This PR fixes all the issues to make the Pick task actually work as detailed in the Habitat 2.0 paper.

This PR is blocked by this Habitat Sim PR: facebookresearch/habitat-sim#1373

How Has This Been Tested

With test_rearrange_task.py. Also with the newly added interactive play script which is run as

python examples/interative_play.py

This allows the user to manually control the robot. Using this, I verified all aspects of the picking task work. I tried various scenarios such as picking up the correct object, wrong object, picking up no object, colliding with the scene, etc.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Critical fixes:

  • Collision force measurements. Before the collision force was not properly returned, resulting in episodes immediately terminating. I completely fixed this.
  • Contact measuring. The contact API changed. I updated the code to use the new API, and properly return contacts differentiating between obj-on-scene, robo-on-scene, and robo-on-obj types of contacts.
  • Starting state. Before the robot arm was not properly set and the lack of proper contact checking made the robot spawn in bad locations resulting in the episode immediately ending. I completely fixed this.
  • Snap to grasp manager. The old code for grasping objects didn’t work at all since it was with the old API. I fixed this and refactored it into a separate grasp manager. Now grasps work as before.
  • New collision groups. The collision group API changed which resulted in the grasped object being unstable. I fixed this so the grasp manager takes care of the collision groups.
    Non-critical fixes:
  • Added interactive play test utility script. This is an important way to test the functionality.
  • Refactored to add collision specific measurements.
  • Refactored the rearrange simulator class to have less responsibility.
  • Refactored which components get which parts of the config.
  • Removed unnecessary rearrange utility functions.
    Still TODO fixes which will be included in this PR.
  • Adding more documentation and typing.
  • Record trajectory from the interactive play script for automated testing.
  • Add episode generation script for rearrangement tasks under examples folder.
  • Properly load in scene config for new ReplicaCAD format.

Example of interactive play script:

vid.mov

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have completed my CLA (see CONTRIBUTING)
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jul 12, 2021
@ASzot ASzot requested a review from mathfac July 12, 2021 19:44
@mathfac mathfac merged commit 368007d into master Jul 13, 2021
@erikwijmans erikwijmans deleted the hab_tasks_fix branch July 13, 2021 03:27
dannymcy pushed a commit to dannymcy/habitat-lab that referenced this pull request Jul 8, 2024
Critical fixes for the Habitat 2.0 pick task. This PR fixes all the issues to make the Pick task actually work as detailed in the Habitat 2.0 paper.
HHYHRHY pushed a commit to SgtVincent/EMOS that referenced this pull request Aug 31, 2024
Critical fixes for the Habitat 2.0 pick task. This PR fixes all the issues to make the Pick task actually work as detailed in the Habitat 2.0 paper.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants