Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0cf1f5f
add fine grained subtask data class and state machine
peterd-NV Jun 2, 2026
a510bf7
update fgs tests
peterd-NV Jun 3, 2026
6b734ff
update task base and composite task base with fgs
peterd-NV Jun 3, 2026
231db88
update get_fgs in composite tasks
peterd-NV Jun 3, 2026
4c9aa2b
update state machine naming
peterd-NV Jun 3, 2026
ddbb730
update state machine file name
peterd-NV Jun 3, 2026
b394b09
update naming from subtasks to progress_tracking
peterd-NV Jun 5, 2026
83f0ca3
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 5, 2026
de73e3d
move from step hook from terminations mgr to recorder mgr
peterd-NV Jun 5, 2026
680fa6d
address comments for readbility in state machine
peterd-NV Jun 5, 2026
24807a4
perf improvement in reset and resolve object lists
peterd-NV Jun 5, 2026
00693fb
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 9, 2026
b343a8b
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 22, 2026
cd88773
move progress tracking to it's own module
peterd-NV Jun 22, 2026
91080a2
fix copyright years
peterd-NV Jun 22, 2026
c2bdbde
Remove FineGrained* naming and add fixes for review comments
peterd-NV Jun 23, 2026
5a815b5
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 23, 2026
3a5bfad
remove statemachine term from docstring
peterd-NV Jun 23, 2026
61a0134
update copyright year
peterd-NV Jun 23, 2026
7f40e69
address comments
peterd-NV Jun 23, 2026
8d4b8b3
fix tests and address review comments
peterd-NV Jun 23, 2026
7a3b3b1
create dataclasses for state to repalce dicts
peterd-NV Jun 23, 2026
d5ba6dd
lint
peterd-NV Jun 23, 2026
c37c3f5
handle tensor input bug in progress tracker reset
peterd-NV Jun 24, 2026
de4de42
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 24, 2026
e4c9f10
Merge branch 'main' of github.com:isaac-sim/IsaacLab-Arena into peter…
peterd-NV Jun 24, 2026
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
2 changes: 2 additions & 0 deletions isaaclab_arena/environments/arena_env_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,14 @@ def compose_manager_cfg(self) -> IsaacLabArenaManagerBasedRLEnvCfg:
self.arena_env.scene.get_events_cfg(),
task.get_events_cfg(),
placement_event_cfg,
task.get_fine_grained_subtask_events_cfg(),
)
termination_cfg = combine_configclass_instances(
"TerminationCfg",
task.get_termination_cfg(),
self.arena_env.scene.get_termination_cfg(),
embodiment.get_termination_cfg(),
task.get_fine_grained_subtask_termination_cfg(),
)
actions_cfg = embodiment.get_action_cfg()
xr_cfg = embodiment.get_xr_cfg()
Expand Down
27 changes: 27 additions & 0 deletions isaaclab_arena/tasks/composite_task_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# SPDX-License-Identifier: Apache-2.0

import copy
import dataclasses
import numpy as np
import torch
import warnings
Expand All @@ -20,6 +21,7 @@
from isaaclab_arena.metrics.metric_base import MetricBase
from isaaclab_arena.metrics.metric_term_cfg import MetricTermCfg
from isaaclab_arena.tasks.common.mimic_default_params import MIMIC_DATAGEN_CONFIG_DEFAULTS
from isaaclab_arena.tasks.fine_grained_subtask import FineGrainedSubtask
from isaaclab_arena.tasks.task_base import TaskBase
from isaaclab_arena.utils.configclass import (
check_configclass_field_duplicates,
Expand Down Expand Up @@ -360,6 +362,31 @@ def get_metrics(self) -> list[MetricBase]:

return subtask_metrics

def get_own_fine_grained_subtasks(self) -> list[FineGrainedSubtask]:
"""Composite-level FineGrainedSubtasks.

These are added on top of whatever FGSs the child subtasks declare and are not gated.
"""
return []

def get_fine_grained_subtasks(self) -> list[FineGrainedSubtask]:
"""Concatenate child subtasks's FineGrainedSubtasks with namespace prefixes.

Each child's FGS gets a new name (subtask_{i}/{original_name}) and a parent_subtask_idx = i tag.
"""
fgs_list: list[FineGrainedSubtask] = []
for i, child in enumerate(self.subtasks):
for fgs in child.get_fine_grained_subtasks():
fgs_list.append(
dataclasses.replace(
fgs,
name=f"subtask_{i}/{fgs.name}",
parent_subtask_idx=i,
)
)
fgs_list.extend(self.get_own_fine_grained_subtasks())
return fgs_list

def _validate_consistent_mimic_eef_names(self, arm_mode: ArmMode) -> set[str]:
"Check that all subtasks have the same Mimic eef_names."
mimic_eef_names = set(self.subtasks[0].get_mimic_env_cfg(arm_mode).subtask_configs.keys())
Expand Down
Loading
Loading