Skip to content

Merge pull request #740 from StanfordVL/revive-scene-graph #293

Merge pull request #740 from StanfordVL/revive-scene-graph

Merge pull request #740 from StanfordVL/revive-scene-graph #293

GitHub Actions / Test Results failed Jul 18, 2024 in 1s

68 passed, 9 failed and 17 skipped

Tests failed

Report Passed Failed Skipped Time
9998317179-tests-test_dump_load_states/test_dump_load_states.xml 2✅ 668s
9998317179-tests-test_envs/test_envs.xml 1✅ 4❌ 420s
9998317179-tests-test_object_removal/test_object_removal.xml 2✅ 680s
9998317179-tests-test_object_states/test_object_states.xml 30✅ 2⚪ 827s
9998317179-tests-test_primitives/test_primitives.xml 5⚪ 350s
9998317179-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml 1❌ 443s
9998317179-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml 3❌ 369s
9998317179-tests-test_robot_teleoperation/test_robot_teleoperation.xml 1⚪ 135ms
9998317179-tests-test_sensors/test_sensors.xml 2✅ 868s
9998317179-tests-test_symbolic_primitives/test_symbolic_primitives.xml 1✅ 9⚪ 596s
9998317179-tests-test_systems/test_systems.xml 1✅ 763s
9998317179-tests-test_transition_rules/test_transition_rules.xml 29✅ 1❌ 832s

✅ 9998317179-tests-test_dump_load_states/test_dump_load_states.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 668s

✅ pytest

tests.test_dump_load_states
  ✅ test_dump_load
  ✅ test_dump_load_serialized

❌ 9998317179-tests-test_envs/test_envs.xml

5 tests were completed in 420s with 1 passed, 4 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 1✅ 4❌ 420s

❌ pytest

tests.test_envs
  ✅ test_dummy_task
  ❌ test_point_reaching_task
	def test_point_reaching_task():
  ❌ test_point_navigation_task
	def test_point_navigation_task():
  ❌ test_behavior_task
	def test_behavior_task():
  ❌ test_rs_int_full_load
	def test_rs_int_full_load():

✅ 9998317179-tests-test_object_removal/test_object_removal.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 680s

✅ pytest

tests.test_object_removal
  ✅ test_removal_and_readdition
  ✅ test_readdition

✅ 9998317179-tests-test_object_states/test_object_states.xml

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

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

✅ 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

✅ 9998317179-tests-test_primitives/test_primitives.xml

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

Test suite Passed Failed Skipped Time
pytest 5⚪ 350s

✅ pytest

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

❌ 9998317179-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 1❌ 443s

❌ pytest

tests.test_robot_states_flatcache
  ❌ test_camera_pose_flatcache_on
	def test_camera_pose_flatcache_on():

❌ 9998317179-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 3❌ 369s

❌ 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():

✅ 9998317179-tests-test_robot_teleoperation/test_robot_teleoperation.xml

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

Test suite Passed Failed Skipped Time
pytest 1⚪ 135ms

✅ pytest

tests.test_robot_teleoperation
  ⚪ test_teleop

✅ 9998317179-tests-test_sensors/test_sensors.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 868s

✅ pytest

tests.test_sensors
  ✅ test_seg
  ✅ test_clear_sim

✅ 9998317179-tests-test_symbolic_primitives/test_symbolic_primitives.xml

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

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

✅ 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

✅ 9998317179-tests-test_systems/test_systems.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 763s

✅ pytest

tests.test_systems
  ✅ test_system_clear

❌ 9998317179-tests-test_transition_rules/test_transition_rules.xml

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

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

❌ 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 9998317179-tests-test_envs/test_envs.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_envs ► test_point_reaching_task

Failed test found in:
  9998317179-tests-test_envs/test_envs.xml
Error:
  def test_point_reaching_task():
Raw output
def test_point_reaching_task():
>       task_tester("PointReachingTask")

tests/test_envs.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_envs.py:40: in task_tester
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.envs.env_base.Environment object at 0x7fb650b3c520>
configs = [{'robots': [{'obs_modalities': [], 'type': 'Fetch'}], 'scene': {'load_object_categories': ['floors', 'breakfast_table...Scene'}, 'task': {'activity_name': 'laying_wood_floors', 'online_object_sampling': True, 'type': 'PointReachingTask'}}]
in_vec_env = False

    def __init__(self, configs, in_vec_env=False):
        """
        Args:
            configs (str or dict or list of str or dict): config_file path(s) or raw config dictionaries.
                If multiple configs are specified, they will be merged sequentially in the order specified.
                This allows procedural generation of a "full" config from small sub-configs. For valid keys, please
                see @default_config below
        """
        # Call super first
        super().__init__()
    
        # Required render mode metadata for gymnasium
        self.render_mode = "rgb_array"
        self.metadata = {"render.modes": ["rgb_array"]}
    
        # Store if we are part of a vec env
        self.in_vec_env = in_vec_env
    
        # Convert config file(s) into a single parsed dict
        configs = configs if isinstance(configs, list) or isinstance(configs, tuple) else [configs]
    
        # Initial default config
        self.config = self.default_config
    
        # Merge in specified configs
        for config in configs:
            merge_nested_dicts(base_dict=self.config, extra_dict=parse_config(config), inplace=True)
    
        # Store settings and other initialized values
        self._automatic_reset = self.env_config["automatic_reset"]
        self._flatten_action_space = self.env_config["flatten_action_space"]
        self._flatten_obs_space = self.env_config["flatten_obs_space"]
        self.physics_frequency = self.env_config["physics_frequency"]
        self.action_frequency = self.env_config["action_frequency"]
        self.device = self.env_config["device"] if self.env_config["device"] else "cpu"
        self._initial_pos_z_offset = self.env_config[
            "initial_pos_z_offset"
        ]  # how high to offset object placement to account for one action step of dropping
    
        physics_frequency = 1.0 / self.physics_frequency
        rendering_frequency = 1.0 / self.action_frequency
        viewer_width = self.render_config["viewer_width"]
        viewer_height = self.render_config["viewer_height"]
        # If the sim is launched, check that the parameters match
        if og.sim is not None:
            assert og.sim.initial_physics_dt == physics_frequency
            assert og.sim.initial_rendering_dt == rendering_frequency
>           assert og.sim.device == self.device
E           AssertionError

omnigibson/envs/env_base.py:86: AssertionError

Check failure on line 0 in 9998317179-tests-test_envs/test_envs.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_envs ► test_point_navigation_task

Failed test found in:
  9998317179-tests-test_envs/test_envs.xml
Error:
  def test_point_navigation_task():
Raw output
def test_point_navigation_task():
>       task_tester("PointNavigationTask")

tests/test_envs.py:59: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_envs.py:40: in task_tester
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.envs.env_base.Environment object at 0x7fb6c4d1d450>
configs = [{'robots': [{'obs_modalities': [], 'type': 'Fetch'}], 'scene': {'load_object_categories': ['floors', 'breakfast_table...ene'}, 'task': {'activity_name': 'laying_wood_floors', 'online_object_sampling': True, 'type': 'PointNavigationTask'}}]
in_vec_env = False

    def __init__(self, configs, in_vec_env=False):
        """
        Args:
            configs (str or dict or list of str or dict): config_file path(s) or raw config dictionaries.
                If multiple configs are specified, they will be merged sequentially in the order specified.
                This allows procedural generation of a "full" config from small sub-configs. For valid keys, please
                see @default_config below
        """
        # Call super first
        super().__init__()
    
        # Required render mode metadata for gymnasium
        self.render_mode = "rgb_array"
        self.metadata = {"render.modes": ["rgb_array"]}
    
        # Store if we are part of a vec env
        self.in_vec_env = in_vec_env
    
        # Convert config file(s) into a single parsed dict
        configs = configs if isinstance(configs, list) or isinstance(configs, tuple) else [configs]
    
        # Initial default config
        self.config = self.default_config
    
        # Merge in specified configs
        for config in configs:
            merge_nested_dicts(base_dict=self.config, extra_dict=parse_config(config), inplace=True)
    
        # Store settings and other initialized values
        self._automatic_reset = self.env_config["automatic_reset"]
        self._flatten_action_space = self.env_config["flatten_action_space"]
        self._flatten_obs_space = self.env_config["flatten_obs_space"]
        self.physics_frequency = self.env_config["physics_frequency"]
        self.action_frequency = self.env_config["action_frequency"]
        self.device = self.env_config["device"] if self.env_config["device"] else "cpu"
        self._initial_pos_z_offset = self.env_config[
            "initial_pos_z_offset"
        ]  # how high to offset object placement to account for one action step of dropping
    
        physics_frequency = 1.0 / self.physics_frequency
        rendering_frequency = 1.0 / self.action_frequency
        viewer_width = self.render_config["viewer_width"]
        viewer_height = self.render_config["viewer_height"]
        # If the sim is launched, check that the parameters match
        if og.sim is not None:
            assert og.sim.initial_physics_dt == physics_frequency
            assert og.sim.initial_rendering_dt == rendering_frequency
>           assert og.sim.device == self.device
E           AssertionError

omnigibson/envs/env_base.py:86: AssertionError

Check failure on line 0 in 9998317179-tests-test_envs/test_envs.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_envs ► test_behavior_task

Failed test found in:
  9998317179-tests-test_envs/test_envs.xml
Error:
  def test_behavior_task():
Raw output
def test_behavior_task():
>       task_tester("BehaviorTask")

tests/test_envs.py:63: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_envs.py:40: in task_tester
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.envs.env_base.Environment object at 0x7fb6bc343520>
configs = [{'robots': [{'obs_modalities': [], 'type': 'Fetch'}], 'scene': {'load_object_categories': ['floors', 'breakfast_table...sableScene'}, 'task': {'activity_name': 'laying_wood_floors', 'online_object_sampling': True, 'type': 'BehaviorTask'}}]
in_vec_env = False

    def __init__(self, configs, in_vec_env=False):
        """
        Args:
            configs (str or dict or list of str or dict): config_file path(s) or raw config dictionaries.
                If multiple configs are specified, they will be merged sequentially in the order specified.
                This allows procedural generation of a "full" config from small sub-configs. For valid keys, please
                see @default_config below
        """
        # Call super first
        super().__init__()
    
        # Required render mode metadata for gymnasium
        self.render_mode = "rgb_array"
        self.metadata = {"render.modes": ["rgb_array"]}
    
        # Store if we are part of a vec env
        self.in_vec_env = in_vec_env
    
        # Convert config file(s) into a single parsed dict
        configs = configs if isinstance(configs, list) or isinstance(configs, tuple) else [configs]
    
        # Initial default config
        self.config = self.default_config
    
        # Merge in specified configs
        for config in configs:
            merge_nested_dicts(base_dict=self.config, extra_dict=parse_config(config), inplace=True)
    
        # Store settings and other initialized values
        self._automatic_reset = self.env_config["automatic_reset"]
        self._flatten_action_space = self.env_config["flatten_action_space"]
        self._flatten_obs_space = self.env_config["flatten_obs_space"]
        self.physics_frequency = self.env_config["physics_frequency"]
        self.action_frequency = self.env_config["action_frequency"]
        self.device = self.env_config["device"] if self.env_config["device"] else "cpu"
        self._initial_pos_z_offset = self.env_config[
            "initial_pos_z_offset"
        ]  # how high to offset object placement to account for one action step of dropping
    
        physics_frequency = 1.0 / self.physics_frequency
        rendering_frequency = 1.0 / self.action_frequency
        viewer_width = self.render_config["viewer_width"]
        viewer_height = self.render_config["viewer_height"]
        # If the sim is launched, check that the parameters match
        if og.sim is not None:
            assert og.sim.initial_physics_dt == physics_frequency
            assert og.sim.initial_rendering_dt == rendering_frequency
>           assert og.sim.device == self.device
E           AssertionError

omnigibson/envs/env_base.py:86: AssertionError

Check failure on line 0 in 9998317179-tests-test_envs/test_envs.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_envs ► test_rs_int_full_load

Failed test found in:
  9998317179-tests-test_envs/test_envs.xml
Error:
  def test_rs_int_full_load():
Raw output
def test_rs_int_full_load():
        cfg = {
            "scene": {
                "type": "InteractiveTraversableScene",
                "scene_model": "Rs_int",
            },
            "robots": [
                {
                    "type": "Fetch",
                    "obs_modalities": [],
                }
            ],
            # Task kwargs
            "task": {
                "type": "DummyTask",
            },
        }
    
        # Make sure sim is stopped
        if og.sim:
            og.sim.stop()
    
        # Create the environment
>       env = og.Environment(configs=cfg)

tests/test_envs.py:89: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
omnigibson/utils/python_utils.py:91: in wrapper
    func(*values.args, **values.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <omnigibson.envs.env_base.Environment object at 0x7fb6b1f84f40>
configs = [{'robots': [{'obs_modalities': [], 'type': 'Fetch'}], 'scene': {'scene_model': 'Rs_int', 'type': 'InteractiveTraversableScene'}, 'task': {'type': 'DummyTask'}}]
in_vec_env = False

    def __init__(self, configs, in_vec_env=False):
        """
        Args:
            configs (str or dict or list of str or dict): config_file path(s) or raw config dictionaries.
                If multiple configs are specified, they will be merged sequentially in the order specified.
                This allows procedural generation of a "full" config from small sub-configs. For valid keys, please
                see @default_config below
        """
        # Call super first
        super().__init__()
    
        # Required render mode metadata for gymnasium
        self.render_mode = "rgb_array"
        self.metadata = {"render.modes": ["rgb_array"]}
    
        # Store if we are part of a vec env
        self.in_vec_env = in_vec_env
    
        # Convert config file(s) into a single parsed dict
        configs = configs if isinstance(configs, list) or isinstance(configs, tuple) else [configs]
    
        # Initial default config
        self.config = self.default_config
    
        # Merge in specified configs
        for config in configs:
            merge_nested_dicts(base_dict=self.config, extra_dict=parse_config(config), inplace=True)
    
        # Store settings and other initialized values
        self._automatic_reset = self.env_config["automatic_reset"]
        self._flatten_action_space = self.env_config["flatten_action_space"]
        self._flatten_obs_space = self.env_config["flatten_obs_space"]
        self.physics_frequency = self.env_config["physics_frequency"]
        self.action_frequency = self.env_config["action_frequency"]
        self.device = self.env_config["device"] if self.env_config["device"] else "cpu"
        self._initial_pos_z_offset = self.env_config[
            "initial_pos_z_offset"
        ]  # how high to offset object placement to account for one action step of dropping
    
        physics_frequency = 1.0 / self.physics_frequency
        rendering_frequency = 1.0 / self.action_frequency
        viewer_width = self.render_config["viewer_width"]
        viewer_height = self.render_config["viewer_height"]
        # If the sim is launched, check that the parameters match
        if og.sim is not None:
            assert og.sim.initial_physics_dt == physics_frequency
            assert og.sim.initial_rendering_dt == rendering_frequency
>           assert og.sim.device == self.device
E           AssertionError

omnigibson/envs/env_base.py:86: AssertionError

Check failure on line 0 in 9998317179-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:
  9998317179-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 0x7fd6823bf7f0>(array([150.16671753, 149.99916077, 101.38970947]), array([150.16513062, 150.        , 101.39360809]), atol=0.001)
E        +    where <function allclose at 0x7fd6823bf7f0> = np.allclose

tests/test_robot_states_flatcache.py:64: AssertionError

Check failure on line 0 in 9998317179-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:
  9998317179-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 0x7fb3483d77f0>(array([150.16671753, 149.99916077, 101.38970947]), array([150.16513062, 150.        , 101.39360809]), atol=0.001)
E        +    where <function allclose at 0x7fb3483d77f0> = np.allclose

tests/test_robot_states_flatcache.py:64: AssertionError

Check failure on line 0 in 9998317179-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:
  9998317179-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:115: in __init__
    self.load()
omnigibson/envs/env_base.py:408: in load
    self._load_robots()
omnigibson/envs/env_base.py:271: 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:104: in load
    self._prim = self._load()
omnigibson/robots/robot_base.py:190: in _load
    self._dummy.load(self.scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:110: 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:110: 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 0x7fb0e9b30d00>

    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 9998317179-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:
  9998317179-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:115: in __init__
    self.load()
omnigibson/envs/env_base.py:408: in load
    self._load_robots()
omnigibson/envs/env_base.py:271: 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:104: in load
    self._prim = self._load()
omnigibson/robots/robot_base.py:190: in _load
    self._dummy.load(self.scene)
omnigibson/objects/object_base.py:124: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:110: 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:110: 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 0x7fb13c30ea70>

    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 9998317179-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:
  9998317179-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 0x7f1630434160>

    @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 0x7f146bd2fa30>.n_particles

tests/test_transition_rules.py:455: AssertionError