Skip to content

Feat/controller dependencies #2326

Feat/controller dependencies

Feat/controller dependencies #2326

GitHub Actions / Test Results succeeded Oct 23, 2024 in 0s

83 passed, 21 failed and 7 skipped

Tests failed

Report Passed Failed Skipped Time
11470584307-tests-test_controllers/test_controllers.xml 1✅ 974s
11470584307-tests-test_data_collection/test_data_collection.xml 1✅ 1754s
11470584307-tests-test_dump_load_states/test_dump_load_states.xml 4✅ 1603s
11470584307-tests-test_envs/test_envs.xml 5✅ 1847s
11470584307-tests-test_multiple_envs/test_multiple_envs.xml 7✅ 1❌ 2⚪ 622s
11470584307-tests-test_object_removal/test_object_removal.xml 2✅ 1438s
11470584307-tests-test_object_states/test_object_states.xml 33✅ 1972s
11470584307-tests-test_primitives/test_primitives.xml 6❌ 4⚪ 449s
11470584307-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml 3❌ 553s
11470584307-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml 3❌ 433s
11470584307-tests-test_robot_teleoperation/test_robot_teleoperation.xml 1⚪ 29ms
11470584307-tests-test_scene_graph/test_scene_graph.xml 1✅ 563s
11470584307-tests-test_sensors/test_sensors.xml 2✅ 1462s
11470584307-tests-test_systems/test_systems.xml 1✅ 1670s
11470584307-tests-test_transform_utils/test_transform_utils.xml 26✅ 8❌ 81s

✅ 11470584307-tests-test_controllers/test_controllers.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 974s

✅ pytest

tests.test_controllers
  ✅ test_arm_control

✅ 11470584307-tests-test_data_collection/test_data_collection.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 1754s

✅ pytest

tests.test_data_collection
  ✅ test_data_collect_and_playback

✅ 11470584307-tests-test_dump_load_states/test_dump_load_states.xml

4 tests were completed in 1603s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 4✅ 1603s

✅ pytest

tests.test_dump_load_states
  ✅ test_dump_load
  ✅ test_dump_load_serialized
  ✅ test_save_restore_partial
  ✅ test_save_restore_full

✅ 11470584307-tests-test_envs/test_envs.xml

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

Test suite Passed Failed Skipped Time
pytest 5✅ 1847s

✅ pytest

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

❌ 11470584307-tests-test_multiple_envs/test_multiple_envs.xml

10 tests were completed in 622s with 7 passed, 1 failed and 2 skipped.

Test suite Passed Failed Skipped Time
pytest 7✅ 1❌ 2⚪ 622s

❌ pytest

tests.test_multiple_envs
  ❌ test_multi_scene_dump_load_states
	def test_multi_scene_dump_load_states():
  ✅ test_multi_scene_get_local_position
  ✅ test_multi_scene_set_local_position
  ✅ test_multi_scene_scene_prim
  ✅ test_multi_scene_particle_source
  ✅ test_multi_scene_position_orientation_relative_to_scene
  ✅ test_tiago_getter
  ✅ test_tiago_setter
  ⚪ test_behavior_getter
  ⚪ test_behavior_setter

✅ 11470584307-tests-test_object_removal/test_object_removal.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 1438s

✅ pytest

tests.test_object_removal
  ✅ test_removal_and_readdition
  ✅ test_readdition

✅ 11470584307-tests-test_object_states/test_object_states.xml

33 tests were completed in 1972s with 33 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 33✅ 1972s

✅ 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_joint
  ✅ 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

❌ 11470584307-tests-test_primitives/test_primitives.xml

10 tests were completed in 449s with 0 passed, 6 failed and 4 skipped.

Test suite Passed Failed Skipped Time
pytest 6❌ 4⚪ 449s

❌ pytest

tests.test_primitives.TestPrimitives
  ❌ test_navigate[Tiago]
	self = <test_primitives.TestPrimitives object at 0x7f54775a8040>
  ❌ test_navigate[Fetch]
	self = <test_primitives.TestPrimitives object at 0x7f54775aaf50>
  ❌ test_grasp[Tiago]
	self = <test_primitives.TestPrimitives object at 0x7f54775abb80>
  ❌ test_grasp[Fetch]
	self = <test_primitives.TestPrimitives object at 0x7f54775ab5e0>
  ❌ test_place[Tiago]
	self = <test_primitives.TestPrimitives object at 0x7f54775aadd0>
  ❌ test_place[Fetch]
	self = <test_primitives.TestPrimitives object at 0x7f54775aa800>
  ⚪ test_open_prismatic[Tiago]
  ⚪ test_open_prismatic[Fetch]
  ⚪ test_open_revolute[Tiago]
  ⚪ test_open_revolute[Fetch]

❌ 11470584307-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 3❌ 553s

❌ pytest

tests.test_robot_states_flatcache
  ❌ test_camera_pose_flatcache_on
	def test_camera_pose_flatcache_on():
  ❌ test_robot_load_drive
	def test_robot_load_drive():
  ❌ test_grasping_mode
	def test_grasping_mode():

❌ 11470584307-tests-test_robot_states_no_flatcache/test_robot_states_no_flatcache.xml

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

Test suite Passed Failed Skipped Time
pytest 3❌ 433s

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

✅ 11470584307-tests-test_robot_teleoperation/test_robot_teleoperation.xml

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

Test suite Passed Failed Skipped Time
pytest 1⚪ 29ms

✅ pytest

tests.test_robot_teleoperation
  ⚪ test_teleop

✅ 11470584307-tests-test_scene_graph/test_scene_graph.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 563s

✅ pytest

tests.test_scene_graph
  ✅ test_scene_graph

✅ 11470584307-tests-test_sensors/test_sensors.xml

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

Test suite Passed Failed Skipped Time
pytest 2✅ 1462s

✅ pytest

tests.test_sensors
  ✅ test_segmentation_modalities
  ✅ test_bbox_modalities

✅ 11470584307-tests-test_systems/test_systems.xml

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

Test suite Passed Failed Skipped Time
pytest 1✅ 1670s

✅ pytest

tests.test_systems
  ✅ test_system_clear

❌ 11470584307-tests-test_transform_utils/test_transform_utils.xml

34 tests were completed in 81s with 26 passed, 8 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 26✅ 8❌ 81s

❌ pytest

tests.test_transform_utils.TestQuaternionOperations
  ✅ test_quat2mat_special_cases
  ✅ test_quat_multiply
  ✅ test_quat_conjugate
  ✅ test_quat_inverse
  ✅ test_quat_distance
tests.test_transform_utils.TestVectorOperations
  ❌ test_normalize
	self = <test_transform_utils.TestVectorOperations object at 0x7f67d317d4b0>
  ✅ test_dot_product
  ✅ test_l2_distance
tests.test_transform_utils.TestMatrixOperations
  ✅ test_rotation_matrix_properties
  ❌ test_rotation_matrix
	self = <test_transform_utils.TestMatrixOperations object at 0x7f67d2d6baf0>
  ❌ test_transformation_matrix
	self = <test_transform_utils.TestMatrixOperations object at 0x7f67d2d699c0>
  ❌ test_transformation_matrix_no_point
	self = <test_transform_utils.TestMatrixOperations object at 0x7f67d317cdc0>
  ✅ test_matrix_inverse
tests.test_transform_utils.TestCoordinateTransformations
  ✅ test_cartesian_to_polar
tests.test_transform_utils.TestPoseTransformations
  ✅ test_pose2mat_and_mat2pose
  ✅ test_pose_inv
tests.test_transform_utils.TestAxisAngleConversions
  ❌ test_axisangle2quat_and_quat2axisangle
	self = <test_transform_utils.TestAxisAngleConversions object at 0x7f67d2d699f0>
  ❌ test_vecs2axisangle
	self = <test_transform_utils.TestAxisAngleConversions object at 0x7f67d2d6a290>
  ❌ test_vecs2quat
	self = <test_transform_utils.TestAxisAngleConversions object at 0x7f67d2d6b820>
tests.test_transform_utils.TestEulerAngleConversions
  ✅ test_euler2quat_and_quat2euler
  ✅ test_euler2mat_and_mat2euler
tests.test_transform_utils.TestQuaternionApplications
  ✅ test_quat_apply
  ❌ test_quat_slerp
	self = <test_transform_utils.TestQuaternionApplications object at 0x7f67d31f2050>
tests.test_transform_utils.TestTransformPoints
  ✅ test_transform_points_2d
  ✅ test_transform_points_3d
tests.test_transform_utils.TestMiscellaneousFunctions
  ✅ test_convert_quat
  ✅ test_random_quaternion
  ✅ test_random_axis_angle
  ✅ test_align_vector_sets
  ✅ test_copysign
  ✅ test_anorm
  ✅ test_check_quat_right_angle
  ✅ test_z_angle_from_quat
  ✅ test_integer_spiral_coordinates

Annotations

Check failure on line 0 in 11470584307-tests-test_multiple_envs/test_multiple_envs.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_multiple_envs ► test_multi_scene_dump_load_states

Failed test found in:
  11470584307-tests-test_multiple_envs/test_multiple_envs.xml
Error:
  def test_multi_scene_dump_load_states():
Raw output
def test_multi_scene_dump_load_states():
        vec_env = setup_multi_environment(3)
        robot_0 = vec_env.envs[0].scene.robots[0]
        robot_1 = vec_env.envs[1].scene.robots[0]
        robot_2 = vec_env.envs[2].scene.robots[0]
    
        robot_0_pos = robot_0.get_position_orientation()[0]
        robot_1_pos = robot_1.get_position_orientation()[0]
        robot_2_pos = robot_2.get_position_orientation()[0]
    
        dist_0_1 = robot_1_pos - robot_0_pos
        dist_1_2 = robot_2_pos - robot_1_pos
    
>       assert th.allclose(dist_0_1, dist_1_2, atol=1e-3)
E       assert False
E        +  where False = <built-in method allclose of type object at 0x7ff64f485840>(tensor([ 1.6278e+01, -1.1789e-05, -3.1210e-04]), tensor([ 1.6280e+01, -7.4792e-06, -4.9338e-05]), atol=0.001)
E        +    where <built-in method allclose of type object at 0x7ff64f485840> = th.allclose

tests/test_multiple_envs.py:58: AssertionError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_navigate[Tiago]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775a8040>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775a8040>
robot = 'Tiago'

    def test_navigate(self, robot):
        categories = ["floors", "ceilings", "walls"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:92: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:132: in __init__
    og.sim.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:151: in _initialize
    self.reload_controllers(self._controller_config)
omnigibson/objects/controllable_object.py:344: in reload_controllers
    self._load_controllers()
omnigibson/objects/controllable_object.py:227: in _load_controllers
    self._controller_config = self._generate_controller_config(custom_config=self._controller_config)
omnigibson/objects/controllable_object.py:326: in _generate_controller_config
    controller_config[group] = merge_nested_dicts(
omnigibson/utils/python_utils.py:183: in merge_nested_dicts
    equal = safe_equal(base_dict[k], v)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

a = tensor([ 8, 11, 14, 16, 18, 20, 22])
b = tensor([ 6,  8, 11, 14, 16, 18, 20, 22])

    def safe_equal(a, b):
        if isinstance(a, th.Tensor) and isinstance(b, th.Tensor):
>           return (a == b).all().item()
E           RuntimeError: The size of tensor a (7) must match the size of tensor b (8) at non-singleton dimension 0

omnigibson/utils/python_utils.py:154: RuntimeError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_navigate[Fetch]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775aaf50>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775aaf50>
robot = 'Fetch'

    def test_navigate(self, robot):
        categories = ["floors", "ceilings", "walls"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:92: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:429: in load
    self._load_scene()
omnigibson/envs/env_base.py:257: in _load_scene
    og.sim.import_scene(self._scene)
omnigibson/simulator.py:712: in import_scene
    self.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:137: in _initialize
    super()._initialize()
omnigibson/robots/manipulation_robot.py:210: in _initialize
    super()._initialize()
omnigibson/robots/robot_base.py:171: in _initialize
    super()._initialize()
omnigibson/objects/stateful_object.py:152: in _initialize
    super()._initialize()
omnigibson/objects/controllable_object.py:147: in _initialize
    super()._initialize()
omnigibson/objects/object_base.py:224: in _initialize
    super()._initialize()
omnigibson/prims/entity_prim.py:91: in _initialize
    link.initialize()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    def initialize(self):
        """
        Initializes state of this object and sets up any references necessary post-loading. Subclasses should
        implement / extend the _initialize() method.
        """
>       assert (
            not self._initialized
        ), f"Prim {self.name} at prim_path {self.prim_path} can only be initialized once! (It is already initialized)"
E       AssertionError: Prim robot_lwahzr:base_footprint at prim_path /World/scene_0/controllable__tiago__robot_lwahzr/base_footprint can only be initialized once! (It is already initialized)

omnigibson/prims/prim_base.py:76: AssertionError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_grasp[Tiago]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775abb80>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775abb80>
robot = 'Tiago'

    def test_grasp(self, robot):
        categories = ["floors", "ceilings", "walls", "coffee_table"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:109: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:429: in load
    self._load_scene()
omnigibson/envs/env_base.py:257: in _load_scene
    og.sim.import_scene(self._scene)
omnigibson/simulator.py:712: in import_scene
    self.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:137: in _initialize
    super()._initialize()
omnigibson/robots/manipulation_robot.py:210: in _initialize
    super()._initialize()
omnigibson/robots/robot_base.py:171: in _initialize
    super()._initialize()
omnigibson/objects/stateful_object.py:152: in _initialize
    super()._initialize()
omnigibson/objects/controllable_object.py:147: in _initialize
    super()._initialize()
omnigibson/objects/object_base.py:224: in _initialize
    super()._initialize()
omnigibson/prims/entity_prim.py:91: in _initialize
    link.initialize()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    def initialize(self):
        """
        Initializes state of this object and sets up any references necessary post-loading. Subclasses should
        implement / extend the _initialize() method.
        """
>       assert (
            not self._initialized
        ), f"Prim {self.name} at prim_path {self.prim_path} can only be initialized once! (It is already initialized)"
E       AssertionError: Prim robot_lwahzr:base_footprint at prim_path /World/scene_0/controllable__tiago__robot_lwahzr/base_footprint can only be initialized once! (It is already initialized)

omnigibson/prims/prim_base.py:76: AssertionError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_grasp[Fetch]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775ab5e0>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775ab5e0>
robot = 'Fetch'

    def test_grasp(self, robot):
        categories = ["floors", "ceilings", "walls", "coffee_table"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:109: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:429: in load
    self._load_scene()
omnigibson/envs/env_base.py:257: in _load_scene
    og.sim.import_scene(self._scene)
omnigibson/simulator.py:712: in import_scene
    self.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:137: in _initialize
    super()._initialize()
omnigibson/robots/manipulation_robot.py:210: in _initialize
    super()._initialize()
omnigibson/robots/robot_base.py:171: in _initialize
    super()._initialize()
omnigibson/objects/stateful_object.py:152: in _initialize
    super()._initialize()
omnigibson/objects/controllable_object.py:147: in _initialize
    super()._initialize()
omnigibson/objects/object_base.py:224: in _initialize
    super()._initialize()
omnigibson/prims/entity_prim.py:91: in _initialize
    link.initialize()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    def initialize(self):
        """
        Initializes state of this object and sets up any references necessary post-loading. Subclasses should
        implement / extend the _initialize() method.
        """
>       assert (
            not self._initialized
        ), f"Prim {self.name} at prim_path {self.prim_path} can only be initialized once! (It is already initialized)"
E       AssertionError: Prim robot_lwahzr:base_footprint at prim_path /World/scene_0/controllable__tiago__robot_lwahzr/base_footprint can only be initialized once! (It is already initialized)

omnigibson/prims/prim_base.py:76: AssertionError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_place[Tiago]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775aadd0>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775aadd0>
robot = 'Tiago'

    def test_place(self, robot):
        categories = ["floors", "ceilings", "walls", "coffee_table"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:126: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:429: in load
    self._load_scene()
omnigibson/envs/env_base.py:257: in _load_scene
    og.sim.import_scene(self._scene)
omnigibson/simulator.py:712: in import_scene
    self.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:137: in _initialize
    super()._initialize()
omnigibson/robots/manipulation_robot.py:210: in _initialize
    super()._initialize()
omnigibson/robots/robot_base.py:171: in _initialize
    super()._initialize()
omnigibson/objects/stateful_object.py:152: in _initialize
    super()._initialize()
omnigibson/objects/controllable_object.py:147: in _initialize
    super()._initialize()
omnigibson/objects/object_base.py:224: in _initialize
    super()._initialize()
omnigibson/prims/entity_prim.py:91: in _initialize
    link.initialize()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    def initialize(self):
        """
        Initializes state of this object and sets up any references necessary post-loading. Subclasses should
        implement / extend the _initialize() method.
        """
>       assert (
            not self._initialized
        ), f"Prim {self.name} at prim_path {self.prim_path} can only be initialized once! (It is already initialized)"
E       AssertionError: Prim robot_lwahzr:base_footprint at prim_path /World/scene_0/controllable__tiago__robot_lwahzr/base_footprint can only be initialized once! (It is already initialized)

omnigibson/prims/prim_base.py:76: AssertionError

Check failure on line 0 in 11470584307-tests-test_primitives/test_primitives.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.test_primitives.TestPrimitives ► test_place[Fetch]

Failed test found in:
  11470584307-tests-test_primitives/test_primitives.xml
Error:
  self = <test_primitives.TestPrimitives object at 0x7f54775aa800>
Raw output
self = <test_primitives.TestPrimitives object at 0x7f54775aa800>
robot = 'Fetch'

    def test_place(self, robot):
        categories = ["floors", "ceilings", "walls", "coffee_table"]
>       env = setup_environment(categories, robot=robot)

tests/test_primitives.py:126: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_primitives.py:63: in setup_environment
    env = og.Environment(configs=cfg)
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:429: in load
    self._load_scene()
omnigibson/envs/env_base.py:257: in _load_scene
    og.sim.import_scene(self._scene)
omnigibson/simulator.py:712: in import_scene
    self.play()
omnigibson/simulator.py:1035: in play
    self._non_physics_step()
omnigibson/simulator.py:933: in _non_physics_step
    obj.initialize()
omnigibson/prims/prim_base.py:79: in initialize
    self._initialize()
omnigibson/robots/holonomic_base_robot.py:137: in _initialize
    super()._initialize()
omnigibson/robots/manipulation_robot.py:210: in _initialize
    super()._initialize()
omnigibson/robots/robot_base.py:171: in _initialize
    super()._initialize()
omnigibson/objects/stateful_object.py:152: in _initialize
    super()._initialize()
omnigibson/objects/controllable_object.py:147: in _initialize
    super()._initialize()
omnigibson/objects/object_base.py:224: in _initialize
    super()._initialize()
omnigibson/prims/entity_prim.py:91: in _initialize
    link.initialize()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    def initialize(self):
        """
        Initializes state of this object and sets up any references necessary post-loading. Subclasses should
        implement / extend the _initialize() method.
        """
>       assert (
            not self._initialized
        ), f"Prim {self.name} at prim_path {self.prim_path} can only be initialized once! (It is already initialized)"
E       AssertionError: Prim robot_lwahzr:base_footprint at prim_path /World/scene_0/controllable__tiago__robot_lwahzr/base_footprint can only be initialized once! (It is already initialized)

omnigibson/prims/prim_base.py:76: AssertionError

Check failure on line 0 in 11470584307-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:
  11470584307-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:124: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

flatcache = True

    def camera_pose_test(flatcache):
        env = setup_environment(flatcache)
        robot = env.robots[0]
        env.reset()
        og.sim.step()
    
        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 = th.tensor([150.1620, 149.9999, 101.2193])
        sensor_world_ori_gt = th.tensor([-0.2952, 0.2959, 0.6427, -0.6421])
    
>       assert th.allclose(sensor_world_pos, sensor_world_pos_gt, atol=1e-3)
E       assert False
E        +  where False = <built-in method allclose of type object at 0x7f1a58685840>(tensor([150.1629, 149.9990, 101.3772]), tensor([150.1620, 149.9999, 101.2193]), atol=0.001)
E        +    where <built-in method allclose of type object at 0x7f1a58685840> = th.allclose

tests/test_robot_states_flatcache.py:67: AssertionError

Check failure on line 0 in 11470584307-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_robot_load_drive

Failed test found in:
  11470584307-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml
Error:
  def test_robot_load_drive():
Raw output
def test_robot_load_drive():
        if og.sim is None:
            # Set global flags
            gm.ENABLE_OBJECT_STATES = True
            gm.USE_GPU_DYNAMICS = True
            gm.ENABLE_TRANSITION_RULES = False
        else:
            # Make sure sim is stopped
            og.sim.stop()
    
        config = {
            "scene": {
                "type": "Scene",
            },
        }
    
        env = og.Environment(configs=config)
        og.sim.stop()
    
        # Iterate over all robots and test their motion
        for robot_name, robot_cls in REGISTERED_ROBOTS.items():
    
            if robot_name in ["FrankaMounted", "Stretch"]:
                # TODO: skipping FrankaMounted and Stretch for now because CI doesn't have the required assets
                continue
    
            if robot_name in ["Husky", "BehaviorRobot"]:
                # Husky base motion is a little messed up because of the 4-wheel drive; skipping for now
                # BehaviorRobot does not work with the primitive actions at the moment
                continue
    
            robot = robot_cls(
                name=robot_name,
                obs_modalities=[],
            )
>           env.scene.add_object(robot)

tests/test_robot_states_flatcache.py:162: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
omnigibson/scenes/scene_base.py:630: in add_object
    prim = obj.load(self)
omnigibson/objects/controllable_object.py:176: in load
    prim = super().load(scene)
omnigibson/objects/object_base.py:123: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:116: in load
    self._post_load()
omnigibson/robots/robot_base.py:164: in _post_load
    super()._post_load()
omnigibson/objects/stateful_object.py:144: in _post_load
    super()._post_load()
omnigibson/objects/controllable_object.py:194: in _post_load
    super()._post_load()
omnigibson/objects/object_base.py:161: 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:116: in load
    self._post_load()
omnigibson/prims/rigid_prim.py:93: in _post_load
    self._rigid_prim_view_direct = RigidPrimView(self.prim_path)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/rigid_prim_view.py:145: in __init__
    XFormPrimView.__init__(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:175: in __init__
    self._set_xform_properties()
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:321: in _set_xform_properties
    self.set_world_poses(positions=current_positions, orientations=current_orientations)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/rigid_prim_view.py:367: in set_world_poses
    XFormPrimView.set_world_poses(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:939: in set_world_poses
    calculated_translations, calculated_orientations = self._backend_utils.get_local_from_world(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/utils/torch/transformations.py:44: in get_local_from_world
    my_world_transforms = tf_matrices_from_poses(translations=positions, orientations=orientations, device=device)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/utils/torch/transformations.py:34: in tf_matrices_from_poses
    r = Rotation.from_quat(orientations[:, [1, 2, 3, 0]].detach().cpu().numpy())
_rotation.pyx:637: in scipy.spatial.transform._rotation.Rotation.from_quat
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   ValueError: Found zero norm quaternions in `quat`.

_rotation.pyx:532: ValueError

Check failure on line 0 in 11470584307-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_grasping_mode

Failed test found in:
  11470584307-tests-test_robot_states_flatcache/test_robot_states_flatcache.xml
Error:
  def test_grasping_mode():
Raw output
def test_grasping_mode():
    
        if og.sim is None:
            # Set global flags
            gm.ENABLE_FLATCACHE = True
        else:
            # Make sure sim is stopped
            og.sim.stop()
    
        scene_cfg = dict(type="Scene")
        objects_cfg = []
        objects_cfg.append(
            dict(
                type="DatasetObject",
                name=f"table",
                category="breakfast_table",
                model="lcsizg",
                bounding_box=[0.5, 0.5, 0.8],
                fixed_base=True,
                position=[0.7, -0.1, 0.6],
            )
        )
        objects_cfg.append(
            dict(
                type="PrimitiveObject",
                name=f"box",
                primitive_type="Cube",
                rgba=[1.0, 0, 0, 1.0],
                size=0.05,
                position=[0.53, 0.0, 0.87],
            )
        )
        cfg = dict(scene=scene_cfg, objects=objects_cfg)
    
>       env = og.Environment(configs=cfg)

tests/test_robot_states_flatcache.py:250: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
omnigibson/utils/python_utils.py:93: in wrapper
    func(*values.args, **values.kwargs)
omnigibson/envs/env_base.py:128: in __init__
    self.load()
omnigibson/envs/env_base.py:431: in load
    self._load_objects()
omnigibson/envs/env_base.py:315: in _load_objects
    self.scene.add_object(obj)
omnigibson/scenes/scene_base.py:630: in add_object
    prim = obj.load(self)
omnigibson/objects/object_base.py:123: in load
    prim = super().load(scene)
omnigibson/prims/prim_base.py:116: in load
    self._post_load()
omnigibson/objects/dataset_object.py:240: in _post_load
    super()._post_load()
omnigibson/objects/stateful_object.py:144: in _post_load
    super()._post_load()
omnigibson/objects/object_base.py:161: 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:116: in load
    self._post_load()
omnigibson/prims/rigid_prim.py:93: in _post_load
    self._rigid_prim_view_direct = RigidPrimView(self.prim_path)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/rigid_prim_view.py:145: in __init__
    XFormPrimView.__init__(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:175: in __init__
    self._set_xform_properties()
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:321: in _set_xform_properties
    self.set_world_poses(positions=current_positions, orientations=current_orientations)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/rigid_prim_view.py:367: in set_world_poses
    XFormPrimView.set_world_poses(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py:939: in set_world_poses
    calculated_translations, calculated_orientations = self._backend_utils.get_local_from_world(
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/utils/torch/transformations.py:44: in get_local_from_world
    my_world_transforms = tf_matrices_from_poses(translations=positions, orientations=orientations, device=device)
/isaac-sim/exts/omni.isaac.core/omni/isaac/core/utils/torch/transformations.py:34: in tf_matrices_from_poses
    r = Rotation.from_quat(orientations[:, [1, 2, 3, 0]].detach().cpu().numpy())
_rotation.pyx:637: in scipy.spatial.transform._rotation.Rotation.from_quat
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   ValueError: Found zero norm quaternions in `quat`.

_rotation.pyx:532: ValueError

Check failure on line 0 in 11470584307-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:
  11470584307-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()
        og.sim.step()
    
        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 = th.tensor([150.1620, 149.9999, 101.2193])
        sensor_world_ori_gt = th.tensor([-0.2952, 0.2959, 0.6427, -0.6421])
    
>       assert th.allclose(sensor_world_pos, sensor_world_pos_gt, atol=1e-3)
E       assert False
E        +  where False = <built-in method allclose of type object at 0x7f5a6f485840>(tensor([150.1629, 149.9990, 101.3772]), tensor([150.1620, 149.9999, 101.2193]), atol=0.001)
E        +    where <built-in method allclose of type object at 0x7f5a6f485840> = th.allclose

tests/test_robot_states_flatcache.py:67: AssertionError