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

Revive action primitives example and test #842

Open
wants to merge 40 commits into
base: og-develop
Choose a base branch
from
Open

Conversation

yyf20001230
Copy link

Prevent loading a robot with the wrong configuration upon initializing the environment

@cgokmen cgokmen changed the title Scene file robot loading bugfix Don't load scene robot's state into env-created new robot Aug 21, 2024
@cgokmen
Copy link
Contributor

cgokmen commented Aug 21, 2024

This is a pre-step for #844

@yyf20001230
Copy link
Author

Changed fetch robot arm from ik controller to joint controller

  • Additional fixes on torch tensors

Action items

  • Fix use_delta_motion arm behavior
  • performing grasping does not pick up the object (video attached)
  • performing grasping when navigation is still necessary, navigate_to_pose not triggered / invalid RRT solution (video attached)

Screencast from 08-26-2024 07:25:12 PM.webm
Screencast from 08-26-2024 07:27:27 PM.webm

@yyf20001230 yyf20001230 changed the title Don't load scene robot's state into env-created new robot Revive action primitives example and test Sep 6, 2024
@yyf20001230
Copy link
Author

yyf20001230 commented Sep 6, 2024

Revived the action primitives test (symbolic primitives test wip) and examples for both Fetch and Tiago robot

Fixed issues:
Fixed issue 1: the sticky grasp does not pick up the object issue - caused by multi-scene import
Fixed issue 2: the settle_robot action raises the robot arm instead of performing an no-op
Fixed issue 3: torch tensors dtype for Fetch and Tiago
Fixed issue 4: action primitives navigation across all example scenes
Fixed issue 5: added a more verbose output of the action primitive errors
Fixed issue 6: Don't load scene robot's state into env-created new robot, prevent loading a robot with the wrong configuration upon initializing the environment

Pending issues:
Collision detection with the grasped object, pending for curobo implementation

@yyf20001230 yyf20001230 self-assigned this Sep 16, 2024
tests/test_robot_states_flatcache.py Outdated Show resolved Hide resolved
tests/test_symbolic_primitives.py Outdated Show resolved Hide resolved
omnigibson/utils/motion_planning_utils.py Show resolved Hide resolved
Comment on lines +1437 to +1439
# TODO: wip solution for goal pose not consistent with action pose. if the controller uses delta motion, convert the no_op to all zeros
if self.robot._controller_config[name].get("use_delta_commands", True):
no_op_goal = {key: th.zeros_like(value) for key, value in no_op_goal.items()}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge og-develop and revert your changes here - this is already fixed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put this back and figure out why it wont work

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the configs directory, there should be exactly ONE config PER robot (e.g. fetch_primitives, tiago_primitives) that we use for ALL primitives-related tests, examples, etc - if things need to be edited a bit for each example (e.g. add task) we should do that in code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants