mani-skill-nightly 2025.8.19.2202__py3-none-any.whl → 2025.8.29.2141__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mani-skill-nightly might be problematic. Click here for more details.

@@ -102,49 +102,13 @@ class SO100(BaseAgent):
102
102
  def tcp_pose(self):
103
103
  return Pose.create_from_pq(self.tcp_pos, self.finger1_link.pose.q)
104
104
 
105
- def is_grasping(self, object: Actor, min_force=0.5, max_angle=110):
106
- """Check if the robot is grasping an object
107
-
108
- Args:
109
- object (Actor): The object to check if the robot is grasping
110
- min_force (float, optional): Minimum force before the robot is considered to be grasping the object in Newtons. Defaults to 0.5.
111
- max_angle (int, optional): Maximum angle of contact to consider grasping. Defaults to 85.
112
- """
113
- l_contact_forces = self.scene.get_pairwise_contact_forces(
114
- self.finger1_link, object
115
- )
116
- r_contact_forces = self.scene.get_pairwise_contact_forces(
117
- self.finger2_link, object
118
- )
119
- lforce = torch.linalg.norm(l_contact_forces, axis=1)
120
- rforce = torch.linalg.norm(r_contact_forces, axis=1)
121
-
122
- # direction to open the gripper
123
- ldirection = self.finger1_link.pose.to_transformation_matrix()[..., :3, 1]
124
- rdirection = -self.finger2_link.pose.to_transformation_matrix()[..., :3, 1]
125
- langle = common.compute_angle_between(ldirection, l_contact_forces)
126
- rangle = common.compute_angle_between(rdirection, r_contact_forces)
127
- lflag = torch.logical_and(
128
- lforce >= min_force, torch.rad2deg(langle) <= max_angle
129
- )
130
- rflag = torch.logical_and(
131
- rforce >= min_force, torch.rad2deg(rangle) <= max_angle
132
- )
133
- return torch.logical_and(lflag, rflag)
134
-
135
105
  def _after_loading_articulation(self):
136
106
  super()._after_loading_articulation()
137
- # self.set_colors()
138
107
  self.finger1_link = self.robot.links_map["Fixed_Jaw"]
139
108
  self.finger2_link = self.robot.links_map["Moving_Jaw"]
140
109
  self.finger1_tip = self.robot.links_map["Fixed_Jaw_tip"]
141
110
  self.finger2_tip = self.robot.links_map["Moving_Jaw_tip"]
142
111
 
143
- @property
144
- def tcp_pos(self):
145
- # computes the tool center point as the mid point between the the fixed and moving jaw's tips
146
- return (self.finger1_tip.pose.p + self.finger2_tip.pose.p) / 2
147
-
148
112
  def is_grasping(self, object: Actor, min_force=0.5, max_angle=110):
149
113
  """Check if the robot is grasping an object
150
114
 
@@ -178,3 +142,15 @@ class SO100(BaseAgent):
178
142
  def is_static(self, threshold=0.2):
179
143
  qvel = self.robot.get_qvel()[:, :-1] # exclude the gripper joint
180
144
  return torch.max(torch.abs(qvel), 1)[0] <= threshold
145
+
146
+ @staticmethod
147
+ def build_grasp_pose(approaching, closing, center):
148
+ """Build a grasp pose (panda_hand_tcp)."""
149
+ assert np.abs(1 - np.linalg.norm(approaching)) < 1e-3
150
+ assert np.abs(1 - np.linalg.norm(closing)) < 1e-3
151
+ assert np.abs(approaching @ closing) <= 1e-3
152
+ ortho = np.cross(closing, approaching)
153
+ T = np.eye(4)
154
+ T[:3, :3] = np.stack([ortho, closing, approaching], axis=1)
155
+ T[:3, 3] = center
156
+ return sapien.Pose(T)
@@ -33,7 +33,7 @@ def register_scene_builder(uid: str, override=False):
33
33
  logger.warn(
34
34
  f"Scene Builder {uid} is already registered. Skip registration."
35
35
  )
36
- return scene_builder_cls
36
+ return scene_builder_cls
37
37
 
38
38
  REGISTERED_SCENE_BUILDERS[uid] = SceneBuilderSpec(
39
39
  scene_builder_cls=scene_builder_cls
@@ -281,7 +281,7 @@ class TableSceneBuilder(SceneBuilder):
281
281
  qpos = self.env.agent.keyframes["ready_to_grasp"].qpos
282
282
  self.env.agent.reset(qpos)
283
283
  elif self.env.robot_uids == "so100":
284
- qpos = np.array([0, np.pi / 2, np.pi / 2, np.pi / 2, -np.pi / 2, 1.0])
284
+ qpos = np.array([0, 0, 0, np.pi / 2, np.pi / 2, 0])
285
285
  qpos = (
286
286
  self.env._episode_rng.normal(
287
287
  0, self.robot_init_qpos_noise, (b, len(qpos))
@@ -824,7 +824,7 @@ class Articulation(BaseStruct[physx.PhysxArticulation]):
824
824
  arg1 = common.to_tensor(arg1, device=self.device)
825
825
  self.px.cuda_rigid_body_data.torch()[
826
826
  self.root._body_data_index[self.scene._reset_mask[self._scene_idxs]],
827
- 7:10,
827
+ 10:13,
828
828
  ] = arg1
829
829
  else:
830
830
  arg1 = common.to_numpy(arg1)
@@ -842,7 +842,7 @@ class Articulation(BaseStruct[physx.PhysxArticulation]):
842
842
  arg1 = common.to_tensor(arg1, device=self.device)
843
843
  self.px.cuda_rigid_body_data.torch()[
844
844
  self.root._body_data_index[self.scene._reset_mask[self._scene_idxs]],
845
- 10:13,
845
+ 7:10,
846
846
  ] = arg1
847
847
  else:
848
848
  arg1 = common.to_numpy(arg1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mani-skill-nightly
3
- Version: 2025.8.19.2202
3
+ Version: 2025.8.29.2141
4
4
  Summary: ManiSkill3: A Unified Benchmark for Generalizable Manipulation Skills
5
5
  Home-page: https://github.com/haosulab/ManiSkill
6
6
  Author: ManiSkill contributors
@@ -46,7 +46,7 @@ mani_skill/agents/robots/panda/panda.py,sha256=aufC9et7TK5Ojms03ITT3cb7jsVClcbqL
46
46
  mani_skill/agents/robots/panda/panda_stick.py,sha256=YEGYLPGZFKkCTTAry4F82_fNZqrso3LdMWgBfT_RRbY,6131
47
47
  mani_skill/agents/robots/panda/panda_wristcam.py,sha256=eSw652CaA82YfetCqasHGAcUkaJ_aXJijJm6tHZmKyQ,875
48
48
  mani_skill/agents/robots/so100/__init__.py,sha256=54RRpI3ue89zbNtSKOK8JxvSaKrHt6PXQrriTN6X01c,26
49
- mani_skill/agents/robots/so100/so_100.py,sha256=WohuT8mw0fm2-mSPPZNDeZfKjuL_QaibnvkIfLZpIrA,7096
49
+ mani_skill/agents/robots/so100/so_100.py,sha256=JWfDM6f-QP-WTv-KGcHiZoaZkMWr-c4Dd9vHuU2-IpI,5896
50
50
  mani_skill/agents/robots/so100/so_100_real.py,sha256=-M1iRAe81AQgnM8XE32Q2jsFBmE87MGXgQwA138BVis,125
51
51
  mani_skill/agents/robots/stompy/__init__.py,sha256=fNuqeJqKneHPnzvjDYtzbpV3MIGGll8-CMok89hf0zo,27
52
52
  mani_skill/agents/robots/stompy/stompy.py,sha256=doBI0c4QCbjCiaHAxdngI73Ux_ISBy6N5JTgPovrX34,4052
@@ -743,7 +743,7 @@ mani_skill/utils/geometry/geometry.py,sha256=6hvxNDVLNBV5yBzHxam7hjEI2PVGvp67gFr
743
743
  mani_skill/utils/geometry/rotation_conversions.py,sha256=GmivoJ3pmXCVRDPvZRxel-RP1G_rsLLRbFYa2VTHfu8,20673
744
744
  mani_skill/utils/geometry/trimesh_utils.py,sha256=JruFftu0YPMut4Ig3ucv7lq_29dhKf1FH8Brc2nYY08,4558
745
745
  mani_skill/utils/scene_builder/__init__.py,sha256=9jJXXQYBuYPabZ_GTIskD41_JX33R5ZT8jiaQOEEf0c,40
746
- mani_skill/utils/scene_builder/registration.py,sha256=jz0CODY0myH0t1PHKwUuuGoed9dngq0l_8QPcs5Mp1Q,1508
746
+ mani_skill/utils/scene_builder/registration.py,sha256=O76fnn3XkDidXTxEhrVwWbDDJWpUZua9ge4-IGu4fEs,1512
747
747
  mani_skill/utils/scene_builder/scene_builder.py,sha256=7cmP_Em1Xi3hhltrqvtLdSvk8eHkMEgjkEfqEuqecpY,4295
748
748
  mani_skill/utils/scene_builder/ai2thor/__init__.py,sha256=kyHl6QlUDKvFJHzuPjYVnAMVKtMq0fICWLsLcBHy-v0,131
749
749
  mani_skill/utils/scene_builder/ai2thor/constants.py,sha256=Yiv7awe7MSc0CpsH5UG2rYaSuo30w4NKtcVYt7oY4KY,4027
@@ -794,13 +794,13 @@ mani_skill/utils/scene_builder/robocasa/utils/placement_samplers.py,sha256=ZUbue
794
794
  mani_skill/utils/scene_builder/robocasa/utils/scene_registry.py,sha256=16ZHhI1mgDGy3373aMVRliN8pcvrVigNJIMExyTxE1c,3770
795
795
  mani_skill/utils/scene_builder/robocasa/utils/scene_utils.py,sha256=a8HnoRtbwmqQyvLQCHUXKj951G2_wlzodW_eD_CBvsc,6293
796
796
  mani_skill/utils/scene_builder/table/__init__.py,sha256=g5qmrh4wZ7V_PuKv-ZU9RVwNQUbQhCshAFInAyRLuZc,45
797
- mani_skill/utils/scene_builder/table/scene_builder.py,sha256=fxs_Z-s9dj-CQMgrhdQReH6hzUAdvIgfat-BwYcjjIg,10364
797
+ mani_skill/utils/scene_builder/table/scene_builder.py,sha256=zSjZGjvFiu_e-P0QT6ylhV7lPwaks-neS2ZGtOHZcJw,10345
798
798
  mani_skill/utils/scene_builder/table/assets/Dining_Table_204_1.glb,sha256=IleHi35xfR8O9atKehqjWiuC9McjEFRCBKHRF85w_Tg,150524
799
799
  mani_skill/utils/scene_builder/table/assets/table.glb,sha256=yw69itZDjBFg8JXZAr9VQV-dZD-MaZChhqBSJR_nlRo,3891588
800
800
  mani_skill/utils/structs/README.md,sha256=qnYKimp_ZkgNcduURrYQxVTimNmq_usDMKoQ8VtMdCs,286
801
801
  mani_skill/utils/structs/__init__.py,sha256=BItR3Xe0z6xCrMHAEaH0AAAVyeonsQ3q-DJUyRUibAA,524
802
802
  mani_skill/utils/structs/actor.py,sha256=L0p6vkr8rGtJmF22xAq8Q7nhXKnDD5dahzODSAko0bg,17394
803
- mani_skill/utils/structs/articulation.py,sha256=QvWQsHdgCUCiGHVfUzZOeEqJ_OQsbi7CrxkCgjy3wyM,38491
803
+ mani_skill/utils/structs/articulation.py,sha256=gmjIxscXwZh4yhPAHzUslnIzkZ2daW8b3yV_sVUaQoA,38491
804
804
  mani_skill/utils/structs/articulation_joint.py,sha256=xDQkCAXM3XZ56YgFqLwH5Ec8aFqhR5BqMSvDYCS0bzw,12972
805
805
  mani_skill/utils/structs/base.py,sha256=R3L8s3acMUmzQTeP5iYISHp3CXVeJFg1Nml8wF0Zm40,18526
806
806
  mani_skill/utils/structs/decorators.py,sha256=Lv6wQ989dOnreo2tB-qopDnkeBp_jsn1pmfUR-OY8VQ,535
@@ -826,8 +826,8 @@ mani_skill/vector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
826
826
  mani_skill/vector/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
827
827
  mani_skill/vector/wrappers/gymnasium.py,sha256=voHNmYg5Jyy-laMSC2Fd8VggQvhXw3NnfYLbD9QDXAc,7305
828
828
  mani_skill/vector/wrappers/sb3.py,sha256=SlXdiEPqcNHYMhJCzA29kBU6zK7DKTe1nc0L6Z3QQtY,4722
829
- mani_skill_nightly-2025.8.19.2202.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
830
- mani_skill_nightly-2025.8.19.2202.dist-info/METADATA,sha256=AUKAKHdJL1CFsXi4rUeZLyCvD966GO51Pu6e-fg-r70,9316
831
- mani_skill_nightly-2025.8.19.2202.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
832
- mani_skill_nightly-2025.8.19.2202.dist-info/top_level.txt,sha256=bkBgOVl_MZMoQx2aRFsSFEYlZLxjWlip5vtJ39FB3jA,11
833
- mani_skill_nightly-2025.8.19.2202.dist-info/RECORD,,
829
+ mani_skill_nightly-2025.8.29.2141.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
830
+ mani_skill_nightly-2025.8.29.2141.dist-info/METADATA,sha256=W0frdHuysIxceLikvjeffl6WZFSIB0331zQPGYMlCqM,9316
831
+ mani_skill_nightly-2025.8.29.2141.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
832
+ mani_skill_nightly-2025.8.29.2141.dist-info/top_level.txt,sha256=bkBgOVl_MZMoQx2aRFsSFEYlZLxjWlip5vtJ39FB3jA,11
833
+ mani_skill_nightly-2025.8.29.2141.dist-info/RECORD,,