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

isaacsim new version support and windows installation fix #829

Merged
merged 3 commits into from
Aug 12, 2024

Merge branch 'og-develop' into pip-install

a0f8ce1
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

isaacsim new version support and windows installation fix #829

Merge branch 'og-develop' into pip-install
a0f8ce1
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Results failed Aug 12, 2024 in 0s

72 passed, 5 failed and 17 skipped

Tests failed

Report Passed Failed Skipped Time
10351970674-tests-test_dump_load_states/test_dump_load_states.xml 2✅ 746s
10351970674-tests-test_envs/test_envs.xml 5✅ 1097s
10351970674-tests-test_object_removal/test_object_removal.xml 2✅ 3097s
10351970674-tests-test_object_states/test_object_states.xml 30✅ 2⚪ 3683s
10351970674-tests-test_primitives/test_primitives.xml 5⚪ 433s
10351970674-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml 1❌ 423s
10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml 3❌ 432s
10351970674-tests-test_robot_teleoperation/test_robot_teleoperation.xml 1⚪ 28ms
10351970674-tests-test_sensors/test_sensors.xml 2✅ 767s
10351970674-tests-test_symbolic_primitives/test_symbolic_primitives.xml 1✅ 9⚪ 539s
10351970674-tests-test_systems/test_systems.xml 1✅ 787s
10351970674-tests-test_transition_rules/test_transition_rules.xml 29✅ 1❌ 2754s

✅ 10351970674-tests-test_dump_load_states/test_dump_load_states.xml

2 tests were completed in 746s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 2✅ 746s

✅ pytest

tests.test_dump_load_states
  ✅ test_dump_load
  ✅ test_dump_load_serialized

✅ 10351970674-tests-test_envs/test_envs.xml

5 tests were completed in 1097s with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 5✅ 1097s

✅ pytest

tests.test_envs
  ✅ test_dummy_task
  ✅ test_point_reaching_task
  ✅ test_point_navigation_task
  ✅ test_behavior_task
  ✅ test_rs_int_full_load

✅ 10351970674-tests-test_object_removal/test_object_removal.xml

2 tests were completed in 3097s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 2✅ 3097s

✅ pytest

tests.test_object_removal
  ✅ test_removal_and_readdition
  ✅ test_readdition

✅ 10351970674-tests-test_object_states/test_object_states.xml

32 tests were completed in 3683s with 30 passed, 0 failed and 2 skipped.

Test suite Passed Failed Skipped Time
pytest 30✅ 2⚪ 3683s

✅ pytest

tests.test_object_states
  ✅ test_on_top
  ✅ test_inside
  ✅ test_under
  ✅ test_touching
  ✅ test_contact_bodies
  ✅ test_next_to
  ✅ test_overlaid
  ✅ test_pose
  ✅ test_aabb
  ✅ test_adjacency
  ✅ test_temperature
  ✅ test_max_temperature
  ✅ test_heat_source_or_sink
  ✅ test_cooked
  ✅ test_burnt
  ✅ test_frozen
  ✅ test_heated
  ✅ test_on_fire
  ⚪ test_toggled_on
  ⚪ test_attached_to
  ✅ test_particle_source
  ✅ test_particle_sink
  ✅ test_particle_applier
  ✅ test_particle_remover
  ✅ test_saturated
  ✅ test_open
  ✅ test_folded_unfolded
  ✅ test_draped
  ✅ test_filled
  ✅ test_contains
  ✅ test_covered
  ✅ test_clear_sim

✅ 10351970674-tests-test_primitives/test_primitives.xml

5 tests were completed in 433s with 0 passed, 0 failed and 5 skipped.

Test suite Passed Failed Skipped Time
pytest 5⚪ 433s

✅ pytest

tests.test_primitives
  ⚪ test_navigate
  ⚪ test_grasp
  ⚪ test_place
  ⚪ test_open_prismatic
  ⚪ test_open_revolute

❌ 10351970674-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml

1 tests were completed in 423s with 0 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 1❌ 423s

❌ pytest

tests.test_robot_states_flatcache
  ❌ test_camera_pose_flatcache_on
	def test_camera_pose_flatcache_on():

❌ 10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

3 tests were completed in 432s with 0 passed, 3 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 3❌ 432s

❌ pytest

tests.test_robot_states_no_flatcache
  ❌ test_camera_pose_flatcache_off
	def test_camera_pose_flatcache_off():
  ❌ test_camera_semantic_segmentation
	def test_camera_semantic_segmentation():
  ❌ test_object_in_FOV_of_robot
	def test_object_in_FOV_of_robot():

✅ 10351970674-tests-test_robot_teleoperation/test_robot_teleoperation.xml

1 tests were completed in 28ms with 0 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
pytest 1⚪ 28ms

✅ pytest

tests.test_robot_teleoperation
  ⚪ test_teleop

✅ 10351970674-tests-test_sensors/test_sensors.xml

2 tests were completed in 767s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 2✅ 767s

✅ pytest

tests.test_sensors
  ✅ test_seg
  ✅ test_clear_sim

✅ 10351970674-tests-test_symbolic_primitives/test_symbolic_primitives.xml

10 tests were completed in 539s with 1 passed, 0 failed and 9 skipped.

Test suite Passed Failed Skipped Time
pytest 1✅ 9⚪ 539s

✅ pytest

tests.test_symbolic_primitives.TestSymbolicPrimitives
  ⚪ test_in_hand_state
  ⚪ test_open
  ⚪ test_close
  ⚪ test_place_inside
  ⚪ test_place_ontop
  ⚪ test_toggle_on
  ⚪ test_soak_under
  ⚪ test_wipe
  ⚪ test_cut
  ✅ test_persistent_sticky_grasping

✅ 10351970674-tests-test_systems/test_systems.xml

1 tests were completed in 787s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 1✅ 787s

✅ pytest

tests.test_systems
  ✅ test_system_clear

❌ 10351970674-tests-test_transition_rules/test_transition_rules.xml

30 tests were completed in 2754s with 29 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 29✅ 1❌ 2754s

❌ pytest

tests.test_transition_rules
  ✅ test_dryer_rule
  ✅ test_washer_rule
  ✅ test_slicing_rule
  ✅ test_dicing_rule_cooked
  ✅ test_dicing_rule_uncooked
  ✅ test_melting_rule
  ✅ test_cooking_physical_particle_rule_failure_recipe_systems
  ✅ test_cooking_physical_particle_rule_success
  ❌ test_mixing_rule_failure_recipe_systems
	def wrapper():
  ✅ test_mixing_rule_failure_nonrecipe_systems
  ✅ test_mixing_rule_success
  ✅ test_cooking_system_rule_failure_recipe_systems
  ✅ test_cooking_system_rule_failure_nonrecipe_systems
  ✅ test_cooking_system_rule_failure_nonrecipe_objects
  ✅ test_cooking_system_rule_success
  ✅ test_cooking_object_rule_failure_wrong_container
  ✅ test_cooking_object_rule_failure_recipe_objects
  ✅ test_cooking_object_rule_failure_unary_states
  ✅ test_cooking_object_rule_failure_binary_system_states
  ✅ test_cooking_object_rule_failure_binary_object_states
  ✅ test_cooking_object_rule_failure_wrong_heat_source
  ✅ test_cooking_object_rule_success
  ✅ test_single_toggleable_machine_rule_output_system_failure_wrong_container
  ✅ test_single_toggleable_machine_rule_output_system_failure_recipe_systems
  ✅ test_single_toggleable_machine_rule_output_system_failure_recipe_objects
  ✅ test_single_toggleable_machine_rule_output_system_failure_nonrecipe_systems
  ✅ test_single_toggleable_machine_rule_output_system_failure_nonrecipe_objects
  ✅ test_single_toggleable_machine_rule_output_system_success
  ✅ test_single_toggleable_machine_rule_output_object_failure_unary_states
  ✅ test_single_toggleable_machine_rule_output_object_success

Annotations

Check failure on line 0 in 10351970674-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_robot_states_flatcache ► test_camera_pose_flatcache_on

Failed test found in:
  10351970674-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml
Error:
  def test_camera_pose_flatcache_on():
Raw output
def test_camera_pose_flatcache_on():
>       camera_pose_test(True)

tests/test_robot_states_flatcache.py:116: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

flatcache = True

    def camera_pose_test(flatcache):
        env = setup_environment(flatcache)
        robot = env.robots[0]
        env.reset()
    
        sensors = [s for s in robot.sensors.values() if isinstance(s, VisionSensor)]
        assert len(sensors) > 0
        vision_sensor = sensors[0]
    
        # Get vision sensor world pose via directly calling get_position_orientation
        robot_world_pos, robot_world_ori = robot.get_position_orientation()
        sensor_world_pos, sensor_world_ori = vision_sensor.get_position_orientation()
    
        robot_to_sensor_mat = pose2mat(
            relative_pose_transform(sensor_world_pos, sensor_world_ori, robot_world_pos, robot_world_ori)
        )
    
        sensor_world_pos_gt = np.array([150.16513062, 150.0, 101.39360809])
        sensor_world_ori_gt = np.array([-0.29444984, 0.29444979, 0.64288365, -0.64288352])
    
>       assert np.allclose(sensor_world_pos, sensor_world_pos_gt, atol=1e-3)
E       assert False
E        +  where False = <function allclose at 0x7f10cddcb7f0>(array([150.16671753, 149.99916077, 101.38970947]), array([150.16513062, 150.        , 101.39360809]), atol=0.001)
E        +    where <function allclose at 0x7f10cddcb7f0> = np.allclose

tests/test_robot_states_flatcache.py:64: AssertionError

Check failure on line 0 in 10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_robot_states_no_flatcache ► test_camera_pose_flatcache_off

Failed test found in:
  10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml
Error:
  def test_camera_pose_flatcache_off():
Raw output
def test_camera_pose_flatcache_off():
>       camera_pose_test(False)

tests/test_robot_states_no_flatcache.py:11: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

flatcache = False

    def camera_pose_test(flatcache):
        env = setup_environment(flatcache)
        robot = env.robots[0]
        env.reset()
    
        sensors = [s for s in robot.sensors.values() if isinstance(s, VisionSensor)]
        assert len(sensors) > 0
        vision_sensor = sensors[0]
    
        # Get vision sensor world pose via directly calling get_position_orientation
        robot_world_pos, robot_world_ori = robot.get_position_orientation()
        sensor_world_pos, sensor_world_ori = vision_sensor.get_position_orientation()
    
        robot_to_sensor_mat = pose2mat(
            relative_pose_transform(sensor_world_pos, sensor_world_ori, robot_world_pos, robot_world_ori)
        )
    
        sensor_world_pos_gt = np.array([150.16513062, 150.0, 101.39360809])
        sensor_world_ori_gt = np.array([-0.29444984, 0.29444979, 0.64288365, -0.64288352])
    
>       assert np.allclose(sensor_world_pos, sensor_world_pos_gt, atol=1e-3)
E       assert False
E        +  where False = <function allclose at 0x7f91cbfcb7f0>(array([150.16671753, 149.99916077, 101.38970947]), array([150.16513062, 150.        , 101.39360809]), atol=0.001)
E        +    where <function allclose at 0x7f91cbfcb7f0> = np.allclose

tests/test_robot_states_flatcache.py:64: AssertionError

Check failure on line 0 in 10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_robot_states_no_flatcache ► test_camera_semantic_segmentation

Failed test found in:
  10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml
Error:
  def test_camera_semantic_segmentation():
Raw output
def test_camera_semantic_segmentation():
>       env = setup_environment(False)

tests/test_robot_states_no_flatcache.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_robot_states_flatcache.py:40: in setup_environment
    env = og.Environment(configs=config)
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:122: in __init__
    self.load()
omnigibson/envs/env_base.py:415: in load
    self._load_robots()
omnigibson/envs/env_base.py:278: in _load_robots
    self.scene.add_object(robot)
omnigibson/scenes/scene_base.py:557: in add_object
    prim = obj.load(self)
omnigibson/objects/controllable_object.py:178: in load
    prim = super().load(scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:111: in load
    self._prim = self._load()
omnigibson/robots/robot_base.py:189: in _load
    self._dummy.load(self.scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:117: in load
    self._post_load()
omnigibson/objects/object_base.py:162: in _post_load
    super()._post_load()
omnigibson/prims/entity_prim.py:127: in _post_load
    self.update_links()
omnigibson/prims/entity_prim.py:259: in update_links
    self._links[link_name].load(self.scene)
omnigibson/prims/prim_base.py:117: in load
    self._post_load()
omnigibson/prims/rigid_prim.py:105: in _post_load
    super()._post_load()
omnigibson/prims/xform_prim.py:65: in _post_load
    self._set_xform_properties()
omnigibson/prims/xform_prim.py:93: in _set_xform_properties
    current_position, current_orientation = self.get_position_orientation()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.prims.rigid_prim.RigidPrim object at 0x7f9047d337f0>

    def get_position_orientation(self):
        # Return cached pose if we're kinematic-only
        if self.kinematic_only and self._kinematic_world_pose_cache is not None:
            return self._kinematic_world_pose_cache
    
        pos, ori = self._rigid_prim_view.get_world_poses()
    
>       assert np.isclose(
            np.linalg.norm(ori), 1, atol=1e-3
        ), f"{self.prim_path} orientation {ori} is not a unit quaternion."
E       AssertionError: /World/scene_1/dummy__fetch__robot0/base_link orientation [[nan nan nan nan]] is not a unit quaternion.

omnigibson/prims/rigid_prim.py:330: AssertionError

Check failure on line 0 in 10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_robot_states_no_flatcache ► test_object_in_FOV_of_robot

Failed test found in:
  10351970674-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml
Error:
  def test_object_in_FOV_of_robot():
Raw output
def test_object_in_FOV_of_robot():
>       env = setup_environment(False)

tests/test_robot_states_no_flatcache.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_robot_states_flatcache.py:40: in setup_environment
    env = og.Environment(configs=config)
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:122: in __init__
    self.load()
omnigibson/envs/env_base.py:415: in load
    self._load_robots()
omnigibson/envs/env_base.py:278: in _load_robots
    self.scene.add_object(robot)
omnigibson/scenes/scene_base.py:557: in add_object
    prim = obj.load(self)
omnigibson/objects/controllable_object.py:178: in load
    prim = super().load(scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:111: in load
    self._prim = self._load()
omnigibson/robots/robot_base.py:189: in _load
    self._dummy.load(self.scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:117: in load
    self._post_load()
omnigibson/objects/object_base.py:162: in _post_load
    super()._post_load()
omnigibson/prims/entity_prim.py:127: in _post_load
    self.update_links()
omnigibson/prims/entity_prim.py:259: in update_links
    self._links[link_name].load(self.scene)
omnigibson/prims/prim_base.py:117: in load
    self._post_load()
omnigibson/prims/rigid_prim.py:105: in _post_load
    super()._post_load()
omnigibson/prims/xform_prim.py:65: in _post_load
    self._set_xform_properties()
omnigibson/prims/xform_prim.py:93: in _set_xform_properties
    current_position, current_orientation = self.get_position_orientation()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.prims.rigid_prim.RigidPrim object at 0x7f8fc15534f0>

    def get_position_orientation(self):
        # Return cached pose if we're kinematic-only
        if self.kinematic_only and self._kinematic_world_pose_cache is not None:
            return self._kinematic_world_pose_cache
    
        pos, ori = self._rigid_prim_view.get_world_poses()
    
>       assert np.isclose(
            np.linalg.norm(ori), 1, atol=1e-3
        ), f"{self.prim_path} orientation {ori} is not a unit quaternion."
E       AssertionError: /World/scene_2/dummy__fetch__robot0/base_link orientation [[nan nan nan nan]] is not a unit quaternion.

omnigibson/prims/rigid_prim.py:330: AssertionError

Check failure on line 0 in 10351970674-tests-test_transition_rules/test_transition_rules.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_transition_rules ► test_mixing_rule_failure_recipe_systems

Failed test found in:
  10351970674-tests-test_transition_rules/test_transition_rules.xml
Error:
  def wrapper():
Raw output
def wrapper():
        assert_test_env()
        try:
>           func(env)

tests/utils.py:26: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

env = <omnigibson.envs.env_base.Environment object at 0x7f0c5032b190>

    @og_test
    def test_mixing_rule_failure_recipe_systems(env):
        assert len(REGISTERED_RULES) > 0, "No rules registered!"
        bowl = env.scene.object_registry("name", "bowl")
        tablespoon = env.scene.object_registry("name", "tablespoon")
        water = env.scene.get_system("water")
        granulated_sugar = env.scene.get_system("granulated_sugar")
        lemon_juice = env.scene.get_system("lemon_juice")
        lemonade = env.scene.get_system("lemonade")
        sludge = env.scene.get_system("sludge")
    
        place_obj_on_floor_plane(bowl)
        og.sim.step()
    
        water.generate_particles(positions=[[-0.02, 0.0, 0.02]])
        granulated_sugar.generate_particles(positions=[[0.0, 0.0, 0.02]])
        # This fails the recipe because lemon juice (recipe system) is not in the bowl
        lemon_juice.generate_particles(positions=[[0.02, 0.0, 1.02]])
    
        assert bowl.states[Contains].get_value(water)
        assert bowl.states[Contains].get_value(granulated_sugar)
        assert not bowl.states[Contains].get_value(lemon_juice)
    
        assert lemonade.n_particles == 0
        assert sludge.n_particles == 0
    
        tablespoon.set_position_orientation([0.04, 0.0, 0.11], [0, 0, 0, 1])
        og.sim.step()
    
        assert tablespoon.states[Touching].get_value(bowl)
    
        # Recipe should fail: no milkshake should be created, and sludge should be created.
        assert lemonade.n_particles == 0
>       assert sludge.n_particles > 0
E       assert 0 > 0
E        +  where 0 = <omnigibson.systems.micro_particle_system.FluidSystem object at 0x7f0a8a167790>.n_particles

tests/test_transition_rules.py:455: AssertionError