mani-skill-nightly 2025.8.19.2202__py3-none-any.whl → 2025.8.28.2229__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))
@@ -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.28.2229
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,7 +794,7 @@ 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
@@ -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.28.2229.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
830
+ mani_skill_nightly-2025.8.28.2229.dist-info/METADATA,sha256=4syinioe9vhNbp_fsYSOAcNa4Ap-y63218Wfyp4nOCk,9316
831
+ mani_skill_nightly-2025.8.28.2229.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
832
+ mani_skill_nightly-2025.8.28.2229.dist-info/top_level.txt,sha256=bkBgOVl_MZMoQx2aRFsSFEYlZLxjWlip5vtJ39FB3jA,11
833
+ mani_skill_nightly-2025.8.28.2229.dist-info/RECORD,,