diff --git a/source/isaaclab/isaaclab/envs/mdp/terminations.py b/source/isaaclab/isaaclab/envs/mdp/terminations.py index ac472a923574..413c3c3f752a 100644 --- a/source/isaaclab/isaaclab/envs/mdp/terminations.py +++ b/source/isaaclab/isaaclab/envs/mdp/terminations.py @@ -89,6 +89,8 @@ def joint_pos_out_of_limit(env: ManagerBasedRLEnv, asset_cfg: SceneEntityCfg = S limits = asset.data.soft_joint_pos_limits[:, asset_cfg.joint_ids] out_of_upper_limits = torch.any(asset.data.joint_pos[:, asset_cfg.joint_ids] > limits[..., 1], dim=1) out_of_lower_limits = torch.any(asset.data.joint_pos[:, asset_cfg.joint_ids] < limits[..., 0], dim=1) + if torch.any(out_of_upper_limits | out_of_lower_limits): + print("Joint position out of limit", asset.data.joint_pos[:, asset_cfg.joint_ids]) return torch.logical_or(out_of_upper_limits, out_of_lower_limits) diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_insert_vismot.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_insert_vismot.py index 3c9ab028214c..d17376b70dd8 100755 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_insert_vismot.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_insert_vismot.py @@ -12,7 +12,7 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, NVIDIA_NUCLEUS_DIR -from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG +from isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import isaaclab.sim as sim_utils from isaaclab.sensors import CameraCfg diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place.py index b68bac84e865..9e9fb2a2269c 100755 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place.py @@ -12,7 +12,6 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR -#from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import math from isaaclab.managers import SceneEntityCfg diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place_vismot.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place_vismot.py index fabf3a6cfc84..8681f75d1236 100755 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place_vismot.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_env_place_vismot.py @@ -12,7 +12,7 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, NVIDIA_NUCLEUS_DIR -from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG +from isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import isaaclab.sim as sim_utils from isaaclab.sensors import CameraCfg @@ -27,11 +27,11 @@ # Pre-defined configs ## from isaaclab_assets.robots.franka import FRANKA_PANDA_HIGH_PD_CFG # isort: skip -from isaaclab_assets.robots.universal_robots import UR10e_ROBOTIQ_GRIPPER_CFG +#from isaaclab_assets.robots.universal_robots import UR10e_ROBOTIQ_GRIPPER_CFG ## add some cameras in - +## this is fully configured for cosmos now! @configclass class FrankaDevEnvVMCfg(dev_env_cfg.FrankaDevEnvCfg): @@ -70,12 +70,15 @@ def __post_init__(self): self.scene.table_cam = CameraCfg( prim_path="{ENV_REGEX_NS}/table_cam", update_period=0.0, - height=84, - width=84, - data_types=["rgb", "distance_to_image_plane"], + height=200, + width=200, + data_types=["rgb", "semantic_segmentation", "normals","distance_to_image_plane"], + colorize_semantic_segmentation=True, + semantic_segmentation_mapping=SEMANTIC_MAPPING, spawn=sim_utils.PinholeCameraCfg( focal_length=24.0, focus_distance=400.0, horizontal_aperture=20.955, clipping_range=(0.1, 2) ), + ### Where is this in the scene? offset=CameraCfg.OffsetCfg( pos=(1.0, 0.0, 0.4), rot=(0.35355, -0.61237, -0.61237, 0.35355), convention="ros" ), @@ -154,6 +157,37 @@ def __post_init__(self): self.observations.policy.table_cam = ObsTerm( func=mdp.image, params={"sensor_cfg": SceneEntityCfg("table_cam"), "data_type": "rgb", "normalize": False} ) + + #### for cosmos add the segmentation, normals and depth data + self.observations.table_cam_segmentation= ObsTerm( + func = mdp.image, + params = { + "sensor_cfg": SceneEntityCfg("table_cam"), + "data_type": "semantic_segmentation", + "normalize" : True, + } + ) + + self.observations.table_cam_normals= ObsTerm( + func=mdp.image, + params={ + "sensor_cfg": SceneEntityCfg("table_cam"), + "data_type" : "normals", + "normalize" : True, + } + ) + + self.observations.table_cam_depth = ObsTerm( + func=mdp.image, + params={ + "sensor_cfg": SceneEntityCfg("table_cam"), + "data_type": "distance_to_image_plane", + "normalize" : True, + } + ) + + ## wrist cam? do we have one? + self.observations.policy.wrist_cam = ObsTerm( func=mdp.image, params={"sensor_cfg": SceneEntityCfg("wrist_cam"), "data_type": "rgb", "normalize": False} ) diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_skillgen.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_skillgen.py index 0872b185059a..d9159313831a 100755 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_skillgen.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_skillgen.py @@ -12,7 +12,7 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR -from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG +from isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import math from isaaclab.managers import SceneEntityCfg diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert.py index 2f6c9ff9edac..69dc64dd95cb 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert.py @@ -12,7 +12,6 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, NVIDIA_NUCLEUS_DIR -#from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG from isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import isaaclab.sim as sim_utils diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert_top_down.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert_top_down.py index a58caa636834..2ebe3b8758f9 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert_top_down.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/config/franka/dev_ik_rel_vial_insert_top_down.py @@ -12,7 +12,6 @@ from isaaclab.assets import AssetBaseCfg from isaaclab.sim.spawners.from_files import UsdFileCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, NVIDIA_NUCLEUS_DIR -#from source.isaaclab_assets.isaaclab_assets.robots.universal_robots import UR10_CFG from isaaclab_assets.robots.universal_robots import UR10_CFG from . import dev_env_cfg import isaaclab.sim as sim_utils diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/lift_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/lift_env_cfg.py index afdc2d1174fa..9546c29a3851 100755 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/lift_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/cube_lift/lift_env_cfg.py @@ -294,7 +294,7 @@ class TerminationsCfg: time_out = DoneTerm(func=mdp.time_out, time_out=True) - joint_violation = DoneTerm(func=mdp.joint_pos_out_of_limit) + #joint_violation = DoneTerm(func=mdp.joint_pos_out_of_limit) #object_orientation = DoneTerm(func=mdp.bad_orientation) diff --git a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/franka/stack_ik_rel_visuomotor_cosmos_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/franka/stack_ik_rel_visuomotor_cosmos_env_cfg.py index 6dda2c8b4274..6780bbd04e98 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/franka/stack_ik_rel_visuomotor_cosmos_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/manager_based/manipulation/stack/config/franka/stack_ik_rel_visuomotor_cosmos_env_cfg.py @@ -44,7 +44,10 @@ class PolicyCfg(ObsGroup): ) table_cam_normals = ObsTerm( func=mdp.image, - params={"sensor_cfg": SceneEntityCfg("table_cam"), "data_type": "normals", "normalize": True}, + params={ + "sensor_cfg": SceneEntityCfg("table_cam"), + "data_type": "normals", + "normalize": True}, ) table_cam_depth = ObsTerm( func=mdp.image,