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

Fix draw boudning box example #816

Merged
merged 1 commit into from
Jul 26, 2024

Fix draw boudning box example

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

Fix draw boudning box example #816

Fix draw boudning box example
72fff4f
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Results failed Jul 26, 2024 in 1s

72 passed, 5 failed and 17 skipped

Tests failed

Report Passed Failed Skipped Time
10118299803-tests-test_dump_load_states/test_dump_load_states.xml 2✅ 603s
10118299803-tests-test_envs/test_envs.xml 5✅ 683s
10118299803-tests-test_object_removal/test_object_removal.xml 2✅ 648s
10118299803-tests-test_object_states/test_object_states.xml 30✅ 2⚪ 871s
10118299803-tests-test_primitives/test_primitives.xml 5⚪ 385s
10118299803-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml 1❌ 392s
10118299803-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml 3❌ 383s
10118299803-tests-test_robot_teleoperation/test_robot_teleoperation.xml 1⚪ 32ms
10118299803-tests-test_sensors/test_sensors.xml 2✅ 587s
10118299803-tests-test_symbolic_primitives/test_symbolic_primitives.xml 1✅ 9⚪ 584s
10118299803-tests-test_systems/test_systems.xml 1✅ 575s
10118299803-tests-test_transition_rules/test_transition_rules.xml 29✅ 1❌ 722s

✅ 10118299803-tests-test_dump_load_states/test_dump_load_states.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 603s

✅ pytest

tests.test_dump_load_states
  ✅ test_dump_load
  ✅ test_dump_load_serialized

✅ 10118299803-tests-test_envs/test_envs.xml

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

Test suite Passed Failed Skipped Time
pytest 5✅ 683s

✅ pytest

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

✅ 10118299803-tests-test_object_removal/test_object_removal.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 648s

✅ pytest

tests.test_object_removal
  ✅ test_removal_and_readdition
  ✅ test_readdition

✅ 10118299803-tests-test_object_states/test_object_states.xml

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

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

✅ 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

✅ 10118299803-tests-test_primitives/test_primitives.xml

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

Test suite Passed Failed Skipped Time
pytest 5⚪ 385s

✅ pytest

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

❌ 10118299803-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 1❌ 392s

❌ pytest

tests.test_robot_states_flatcache
  ❌ test_camera_pose_flatcache_on
	def test_camera_pose_flatcache_on():

❌ 10118299803-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 3❌ 383s

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

✅ 10118299803-tests-test_robot_teleoperation/test_robot_teleoperation.xml

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

Test suite Passed Failed Skipped Time
pytest 1⚪ 32ms

✅ pytest

tests.test_robot_teleoperation
  ⚪ test_teleop

✅ 10118299803-tests-test_sensors/test_sensors.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 587s

✅ pytest

tests.test_sensors
  ✅ test_seg
  ✅ test_clear_sim

✅ 10118299803-tests-test_symbolic_primitives/test_symbolic_primitives.xml

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

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

✅ 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

✅ 10118299803-tests-test_systems/test_systems.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 575s

✅ pytest

tests.test_systems
  ✅ test_system_clear

❌ 10118299803-tests-test_transition_rules/test_transition_rules.xml

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

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

❌ 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 10118299803-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:
  10118299803-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 0x7fcc5a1d77f0>(array([150.16671753, 149.99916077, 101.38970947]), array([150.16513062, 150.        , 101.39360809]), atol=0.001)
E        +    where <function allclose at 0x7fcc5a1d77f0> = np.allclose

tests/test_robot_states_flatcache.py:64: AssertionError

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

tests/test_robot_states_flatcache.py:64: AssertionError

Check failure on line 0 in 10118299803-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:
  10118299803-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 0x7f31ab78b2b0>

    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 10118299803-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:
  10118299803-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 0x7f31ab71cd00>

    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 10118299803-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:
  10118299803-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 0x7f6361ad8f70>

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

tests/test_transition_rules.py:455: AssertionError