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
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ in the GR00T N1.5 repository. An example closed-loop policy rollout is shown in
:figclass: align-center

Simulation rollout of GR00T N1.5 policy finetuned for locomanipulation.

The policy shown above uses the camera image, hand poses, hand joint positions, object pose, and base goal pose as inputs.
The output of the model is the target base velocity, hand poses, and hand joint positions for the next several timesteps.

Expand Down
17 changes: 8 additions & 9 deletions scripts/imitation_learning/locomanipulation_sdg/generate_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,20 +119,16 @@
from isaaclab.utils.datasets import EpisodeData, HDF5DatasetFileHandler

import isaaclab_mimic.locomanipulation_sdg.envs # noqa: F401
from isaaclab_mimic.locomanipulation_sdg.envs.locomanipulation_sdg_env import LocomanipulationSDGEnv
from isaaclab_mimic.locomanipulation_sdg.data_classes import LocomanipulationSDGOutputData
from isaaclab_mimic.locomanipulation_sdg.path_utils import ParameterizedPath, plan_path
from isaaclab_mimic.locomanipulation_sdg.scene_utils import RelativePose, place_randomly
from isaaclab_mimic.locomanipulation_sdg.transform_utils import (
transform_inv,
transform_mul,
transform_relative_pose,
)
from isaaclab_mimic.locomanipulation_sdg.envs.locomanipulation_sdg_env import LocomanipulationSDGEnv
from isaaclab_mimic.locomanipulation_sdg.occupancy_map_utils import (
OccupancyMap,
merge_occupancy_maps,
occupancy_map_add_to_stage,
)
from isaaclab_mimic.locomanipulation_sdg.path_utils import ParameterizedPath, plan_path
from isaaclab_mimic.locomanipulation_sdg.scene_utils import RelativePose, place_randomly
from isaaclab_mimic.locomanipulation_sdg.transform_utils import transform_inv, transform_mul, transform_relative_pose

from isaaclab_tasks.utils import parse_env_cfg

Expand Down Expand Up @@ -249,7 +245,10 @@ def load_and_transform_recording_data(


def setup_navigation_scene(
env: LocomanipulationSDGEnv, input_episode_data: EpisodeData, approach_distance: float, randomize_placement: bool = True
env: LocomanipulationSDGEnv,
input_episode_data: EpisodeData,
approach_distance: float,
randomize_placement: bool = True,
) -> tuple[OccupancyMap, ParameterizedPath, RelativePose, RelativePose]:
"""Set up the navigation scene with occupancy map and path planning.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,14 @@

import isaaclab.sim as sim_utils
from isaaclab.assets import AssetBaseCfg
from isaaclab.envs.common import ViewerCfg
from isaaclab.sim.spawners.from_files.from_files_cfg import UsdFileCfg
from isaaclab.utils import configclass
from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR, retrieve_file_path
from isaaclab.utils.datasets import EpisodeData
from isaaclab.envs.common import ViewerCfg

from isaaclab_mimic.locomanipulation_sdg.data_classes import LocomanipulationSDGInputData
from isaaclab_mimic.locomanipulation_sdg.scene_utils import (
HasPose,
SceneBody,
SceneFixture,
)
from isaaclab_mimic.locomanipulation_sdg.scene_utils import HasPose, SceneBody, SceneFixture

from isaaclab_tasks.manager_based.locomanipulation.pick_place.locomanipulation_g1_env_cfg import (
LocomanipulationG1EnvCfg,
Expand Down Expand Up @@ -84,16 +80,15 @@ class G1LocomanipulationSDGSceneCfg(LocomanipulationG1SceneCfg):
@configclass
class G1LocomanipulationSDGEnvCfg(LocomanipulationG1EnvCfg, LocomanipulationSDGEnvCfg):
"""Configuration for the G1 29DoF environment."""

viewer: ViewerCfg = ViewerCfg(
eye=(0.0, 3.0, 1.25),
lookat=(0.0, 0.0, 0.5),
origin_type="asset_body",
asset_name="robot",
body_name="pelvis"
eye=(0.0, 3.0, 1.25), lookat=(0.0, 0.0, 0.5), origin_type="asset_body", asset_name="robot", body_name="pelvis"
)

# Scene settings
scene: G1LocomanipulationSDGSceneCfg = G1LocomanipulationSDGSceneCfg(num_envs=1, env_spacing=2.5, replicate_physics=True)
scene: G1LocomanipulationSDGSceneCfg = G1LocomanipulationSDGSceneCfg(
num_envs=1, env_spacing=2.5, replicate_physics=True
)
recorders: LocomanipulationSDGRecorderManagerCfg = LocomanipulationSDGRecorderManagerCfg()

def __post_init__(self):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
from isaaclab.managers.recorder_manager import RecorderTerm
from isaaclab.utils.datasets import EpisodeData

from isaaclab_mimic.locomanipulation_sdg.data_classes import (
LocomanipulationSDGInputData,
LocomanipulationSDGOutputData,
)
from isaaclab_mimic.locomanipulation_sdg.data_classes import LocomanipulationSDGInputData, LocomanipulationSDGOutputData
from isaaclab_mimic.locomanipulation_sdg.scene_utils import HasPose, SceneFixture


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

from isaacsim.replicator.mobility_gen.impl.path_planner import compress_path, generate_paths

from .scene_utils import HasPose2d
from .occupancy_map_utils import OccupancyMap
from .scene_utils import HasPose2d


def nearest_point_on_segment(a: torch.Tensor, b: torch.Tensor, c: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

import isaaclab.utils.math as math_utils

from .transform_utils import transform_mul
from .occupancy_map_utils import OccupancyMap, intersect_occupancy_maps
from .transform_utils import transform_mul


class HasOccupancyMap:
Expand Down
Loading