Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 4 additions & 15 deletions src/pioneer_humanoid/pioneer_humanoid/hand.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
import math
import os
import sys

import isaaclab.sim as sim_utils
from isaaclab.assets.articulation import ArticulationCfg

# Robot meshes/USD still live under src/simulation/Humanoid_Wato/ (asset
# consolidation is a separate step).
_HUMANOID_WATO_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), "..", "..", "simulation", "Humanoid_Wato")
)
_HAND_ASSET_DIR = os.path.join(_HUMANOID_WATO_ROOT, "wato_hand")
if _HAND_ASSET_DIR not in sys.path:
sys.path.insert(0, _HAND_ASSET_DIR)

from wato_hand_cfg import ( # noqa: E402
from .hand_cfg import (
HAND_CFG,
JOINT_POS_LIMITS,
WATO_HAND_CFG,
apply_joint_limits,
)

Expand Down Expand Up @@ -74,8 +63,8 @@ def _quat_y_deg(deg: float) -> tuple[float, float, float, float]:
for _mcp_a in ("MCP_A_1", "MCP_A_2", "MCP_A_3", "MCP_A_4"):
_INHAND_INIT_JOINT_POS[_mcp_a] = min(_INHAND_SPREAD_RAD, _USD_MCP_A_MAX)

INHAND_HAND_CFG = WATO_HAND_CFG.replace(
spawn=WATO_HAND_CFG.spawn.replace(
INHAND_HAND_CFG = HAND_CFG.replace(
spawn=HAND_CFG.spawn.replace(
rigid_props=sim_utils.RigidBodyPropertiesCfg(
disable_gravity=True,
retain_accelerations=False,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"""20-DOF Wato hand articulation config."""
"""20-DOF pioneer hand articulation config."""
import math
import os

import isaaclab.sim as sim_utils
from isaaclab.actuators import ImplicitActuatorCfg
from isaaclab.assets.articulation import ArticulationCfg

_THIS_DIR = os.path.abspath(os.path.dirname(__file__))
_HAND_USD_PATH = os.path.join(_THIS_DIR, "urdf", "hand_urdf", "hand_urdf.usd")
_HAND_URDF_PATH = os.path.join(_THIS_DIR, "urdf", "hand_urdf.urdf")
_ASSET_DIR = os.path.join(os.path.dirname(__file__), "..", "assets", "hand")
_HAND_USD_PATH = os.path.join(_ASSET_DIR, "urdf", "hand_urdf", "hand_urdf.usd")
_HAND_URDF_PATH = os.path.join(_ASSET_DIR, "urdf", "hand_urdf.urdf")


def _deg(degrees: float) -> float:
Expand Down Expand Up @@ -105,7 +105,7 @@ def apply_joint_limits(robot) -> None:
print(f"[INFO] Applied joint limits for {len(updated)} joints.")


WATO_HAND_CFG = ArticulationCfg(
HAND_CFG = ArticulationCfg(
spawn=sim_utils.UsdFileCfg(
usd_path=_HAND_USD_PATH,
rigid_props=sim_utils.RigidBodyPropertiesCfg(
Expand Down
14 changes: 0 additions & 14 deletions src/simulation/Humanoid_Wato/wato_hand/CMakeLists.txt

This file was deleted.

3,716 changes: 0 additions & 3,716 deletions src/simulation/Humanoid_Wato/wato_hand/export.log

This file was deleted.

20 changes: 0 additions & 20 deletions src/simulation/Humanoid_Wato/wato_hand/launch/display.launch

This file was deleted.

20 changes: 0 additions & 20 deletions src/simulation/Humanoid_Wato/wato_hand/launch/gazebo.launch

This file was deleted.

21 changes: 0 additions & 21 deletions src/simulation/Humanoid_Wato/wato_hand/package.xml

This file was deleted.

139 changes: 0 additions & 139 deletions src/simulation/Humanoid_Wato/wato_hand/splay_demo.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
### 7. Instanceable USD + scaling to 1024 envs (WORKS)
`replicate_physics = True` was already set. The existing `hand_urdf.usd` has no companion `_meshes.usd` but runs at 1024 envs without OOM — effectively sufficient.

**To make fully instanceable (not yet done):** Isaac Sim GUI → URDF Importer → "Create Instanceable Asset" → produces `hand_urdf.usd` + `instanceable_meshes.usd`. Update `_HAND_USD_PATH` in `wato_hand_cfg.py`.
**To make fully instanceable (not yet done):** Isaac Sim GUI → URDF Importer → "Create Instanceable Asset" → produces `hand_urdf.usd` + `instanceable_meshes.usd`. Update `_HAND_USD_PATH` in `pioneer_humanoid/hand_cfg.py`.

**Throughput:**
- 256 envs: ~11k steps/s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ def apply_wato_hand_joint_limits(
env_ids: torch.Tensor,
asset_cfg: SceneEntityCfg = SceneEntityCfg("robot"),
) -> None:
"""Push expanded JOINT_POS_LIMITS from wato_hand_cfg into PhysX at startup.
"""Push expanded JOINT_POS_LIMITS from pioneer_humanoid.hand_cfg into PhysX at startup.

The USD has the original hardware limits baked in (±8.6 deg for MCP_A).
This overwrites them so the RL policy can explore a larger abduction range.
Expand Down
Loading