Visualization Markers not showing for the Command

I can’t add a visualization marker for the command of this custom robot manager-based RL environment. I set debug_viz=True and also added this line of code

goal_pose_visualizer_cfg = VisualizationMarkersCfg(
            prim_path="{ENV_REGEX_NS}/Marker",
            markers={
                'goal': sim_utils.UsdFileCfg(
                    usd_path=f"{ISAAC_NUCLEUS_DIR}/Props/UIElements/frame_prim.usd",
                    scale=(1.0, 1.0, 1.0),
                )
            }
        )

This is my entire code.

import argparse
from omni.isaac.lab.app import AppLauncher

parser = argparse.ArgumentParser(description="Manager-based base environment tutorial.")
parser.add_argument('--num_envs', type=int, default=2, help='Number of environments.')
AppLauncher.add_app_launcher_args(parser)
args_cli = parser.parse_args()

app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app

import math
import torch
import os
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.envs.mdp as mdp
from omni.isaac.lab.envs import ManagerBasedEnv, ManagerBasedEnvCfg
from omni.isaac.lab.managers import EventTermCfg as EventTerm
from omni.isaac.lab.managers import ObservationGroupCfg as ObsGroup
from omni.isaac.lab.managers import ObservationTermCfg as ObsTerm
from omni.isaac.lab.managers import TerminationTermCfg as DoneTerm
from omni.isaac.lab.managers import RewardTermCfg as RewTerm
from omni.isaac.lab.managers import CommandTerm
from omni.isaac.lab.managers import SceneEntityCfg
from omni.isaac.lab.actuators import ImplicitActuatorCfg
from omni.isaac.lab.assets import ArticulationCfg, AssetBaseCfg, RigidObjectCfg
from omni.isaac.lab.markers import VisualizationMarkersCfg
from omni.isaac.lab.scene import InteractiveSceneCfg
import omni.isaac.lab_tasks.manager_based.manipulation.reach.mdp as mdp
from omni.isaac.lab.utils.noise import AdditiveUniformNoiseCfg as Unoise
from omni.isaac.lab.utils.assets import ISAAC_NUCLEUS_DIR
from omni.isaac.lab.utils import configclass


ARCTOS_CFG = ArticulationCfg(
    spawn=sim_utils.UsdFileCfg(
        usd_path=os.path.join(os.getcwd(), 'scripts', 'arctos.usd'),
        activate_contact_sensors=False,
        rigid_props=sim_utils.RigidBodyPropertiesCfg(
            disable_gravity=False,
            max_depenetration_velocity=5.0,
        ),
        articulation_props=sim_utils.ArticulationRootPropertiesCfg(
            enabled_self_collisions=True,
            solver_position_iteration_count=8,
            solver_velocity_iteration_count=2,
        ),
        visual_material= sim_utils.PreviewSurfaceCfg(diffuse_color=(0.75, 0.75, 0.75))
    ),
    init_state=ArticulationCfg.InitialStateCfg(
        joint_pos={
            'arctos_x': 0.0,
            'arctos_y': 0.0,
            'arctos_z': 0.0,
            'arctos_a': 0.0,
            'arctos_b': 0.0,
            'arctos_c': 0.0,
            'slide_left': 0.0,
            'slide_right': 0.0,
        },
        joint_vel={
            '.*': 0.0,
        },
    ),
    actuators={
        "arm": ImplicitActuatorCfg(
            joint_names_expr=["arctos_.*"],
            velocity_limit=0.6,
            effort_limit={
                "arctos_.*": 80.0,
            },
            stiffness={
                "arctos_.*": 40.0,
            },
            damping={
                "arctos_.*": 1.0,
            },
        ),
        "gripper": ImplicitActuatorCfg(
            joint_names_expr=['slide_.*'],
            velocity_limit=1.0,
            effort_limit={
                "slide_.*": 80.0,
            },
            stiffness={
                "slide_.*": 1.5,
            },
            damping={
                "slide_.*": 0.1,
            },
        ),
    },
    soft_joint_pos_limit_factor=1.05
)

@configclass
class ArctosReachSceneCfg(InteractiveSceneCfg):
    ground = AssetBaseCfg(prim_path='/World/defaultGroundPlane', spawn=sim_utils.GroundPlaneCfg())
    light = AssetBaseCfg(prim_path='/World/light', spawn=sim_utils.DistantLightCfg(intensity=3000.0, color=(0.75, 0.75, 0.75)))

    table = RigidObjectCfg(
        prim_path="{ENV_REGEX_NS}/Table",
        spawn=sim_utils.CuboidCfg(
            size=(0.8, 0.8, 0.8),
            rigid_props=sim_utils.RigidBodyPropertiesCfg(),
            mass_props=sim_utils.MassPropertiesCfg(mass=1000.0),
            collision_props=sim_utils.CollisionPropertiesCfg(),
            visual_material=sim_utils.PreviewSurfaceCfg(metallic=0.2, diffuse_color=(0.05, 0.05, 0.05)),
        ),
    )

    robot = ARCTOS_CFG.replace(prim_path="{ENV_REGEX_NS}/Arctos")
    robot.init_state.pos = (-0.3, 0.0, 0.81)

@configclass
class CommandsCfg:
    """Command terms for the MDP."""

    ee_pose = mdp.UniformPoseCommandCfg(
        asset_name="robot",
        body_name='slide_left',
        resampling_time_range=(4.0, 4.0),
        debug_vis=True,
        ranges=mdp.UniformPoseCommandCfg.Ranges(
            pos_x=(0.35, 0.65),
            pos_y=(-0.2, 0.2),
            pos_z=(0.15, 0.5),
            roll=(0.0, 0.0),
            pitch=(0.0, 0.0),  # depends on end-effector axis
            yaw=(-3.14, 3.14),
        ),
        goal_pose_visualizer_cfg = VisualizationMarkersCfg(
            prim_path="{ENV_REGEX_NS}/Marker",
            markers={
                'goal': sim_utils.UsdFileCfg(
                    usd_path=f"{ISAAC_NUCLEUS_DIR}/Props/UIElements/frame_prim.usd",
                    scale=(1.0, 1.0, 1.0),
                )
            }
        )
    )

@configclass
class ActionsCfg:
    joint_positions = mdp.RelativeJointPositionActionCfg(asset_name='robot', joint_names=['.*'], scale=1.0)
    
@configclass
class ObservationsCfg:
    @configclass
    class PolicyCfg(ObsGroup):
        joint_pos_rel = ObsTerm(func=mdp.joint_pos_rel, noise=Unoise(n_min=-0.01, n_max=0.01))
        joint_vel_rel = ObsTerm(func=mdp.joint_vel_rel, noise=Unoise(n_min=-0.01, n_max=0.01))

        def __post_init__(self) -> None:
            self.enable_corruption = False
            self.concatenate_terms = True

    policy: PolicyCfg = PolicyCfg()

@configclass
class EventCfg:
    reset_joint_positions = EventTerm(func=mdp.reset_joints_by_offset,
                                    mode='reset',
                                    params={
                                        'asset_cfg': SceneEntityCfg('robot', joint_names=['.*']),
                                        'position_range': (-0.125 * math.pi, 0.125 * math.pi),
                                        "velocity_range": (-0.01 * math.pi, 0.01 * math.pi),
                                    },
                                    )

@configclass
class RewardsCfg:
    """Reward terms for the MDP."""

    # task terms
    end_effector_position_tracking = RewTerm(
        func=mdp.position_command_error,
        weight=-0.2,
        params={"asset_cfg": SceneEntityCfg("robot", body_names=['slide_left']), "command_name": "ee_pose"},
    )
    end_effector_position_tracking_fine_grained = RewTerm(
        func=mdp.position_command_error_tanh,
        weight=0.1,
        params={"asset_cfg": SceneEntityCfg("robot", body_names=['slide_left']), "std": 0.1, "command_name": "ee_pose"},
    )
    end_effector_orientation_tracking = RewTerm(
        func=mdp.orientation_command_error,
        weight=-0.1,
        params={"asset_cfg": SceneEntityCfg("robot", body_names=['slide_left']), "command_name": "ee_pose"},
    )

    # action penalty
    action_rate = RewTerm(func=mdp.action_rate_l2, weight=-0.0001)
    joint_vel = RewTerm(
        func=mdp.joint_vel_l2,
        weight=-0.0001,
        params={"asset_cfg": SceneEntityCfg("robot")},
    )


@configclass
class TerminationsCfg:
    """Termination terms for the MDP."""

    time_out = DoneTerm(func=mdp.time_out, time_out=True)

@configclass
class ArctosReachEnvCfg(ManagerBasedEnvCfg):
    scene = ArctosReachSceneCfg(num_envs=args_cli.num_envs, env_spacing=2.5)
    commands = CommandsCfg()
    observations = ObservationsCfg()
    actions = ActionsCfg()
    events = EventCfg()
    rewards = RewardsCfg()
    terminations = TerminationsCfg()

    def __post_init__(self):
        # viewer settings
        self.viewer.eye = [4.5, 0.0, 6.0]
        self.viewer.lookat = [0.0, 0.0, 2.0]
        # step settings
        self.decimation = 4
        # simulation settings
        self.sim.dt = 0.005
        self.sim.render_interval = self.decimation

def main():
    env_cfg = ArctosReachEnvCfg()
    env = ManagerBasedEnv(env_cfg)
    count = 0
    while simulation_app.is_running():
        with torch.inference_mode():
            if count % 300 == 0:
                count = 0
                env.reset()
                print("[INFO]: Resetting the environment...")
            joint_efforts = torch.randn_like(env.action_manager.action)
            obs, _ = env.step(joint_efforts)
            print("[Env 0]: Joint Position: ", obs["policy"][0])
            count += 1
    env.close()

if __name__ == '__main__':
    main()
    simulation_app.close()

Thank you for your interest in Isaac Lab. To ensure efficient support and collaboration, please submit your topic following the instructions provided on Isaac Lab’s Contributing Guidelines regarding discussions, submitting issues, feature requests, and contributing to the project.

We appreciate your understanding and look forward to assisting you.