# -*- coding: utf-8 -*-
'''
@File    : stairs_up_gauge_config.py
@Time    : 2025/12/25 11:26:47
@Author  : wty-yy
@Version : 1.0
@Blog    : https://wty-yy.github.io/
@Desc    : Stairs Forward(fd)/Backward(bd) Gauge Configuration
'''
from robogauge.tasks.gauge.base_gauge_config import BaseGaugeConfig

class StairsForwardGaugeConfig(BaseGaugeConfig):
    gauge_class = 'BaseGauge'

    class assets(BaseGaugeConfig.assets):
        terrain_name = "stairs_fd"
        terrain_level = 10  # 1-10
        terrain_xmls = [
            '{ROBOGAUGE_ROOT_DIR}/resources/terrains/stairs/stairs_10.xml',
            '{ROBOGAUGE_ROOT_DIR}/resources/terrains/wall/10x10_wall.xml',
        ]
        terrain_spawn_pos = [1.0, 0.0, 1.5]  # x y z [m], robot freejoint spawn position on the terrain
    
    class goals(BaseGaugeConfig.goals):
        class target_pos_velocity:  # goal to reach a target position by velocity command
            enabled = True
            target_pos = [4.5, 0.0, 3.8]  # x y z [m], target position in the environment, used for target position goal
            lin_vel_x = 0.8  # +/- m/s
            lin_vel_y = 1.0  # +/- m/s
            ang_vel_yaw = 1.5  # +/- rad/s
            max_cmd_duration = 30.0  # [s] maximum duration to reach the target position
            reach_threshold = 0.1

class StairsBackwardGaugeConfig(StairsForwardGaugeConfig):
    backward = True

    class assets(StairsForwardGaugeConfig.assets):
        terrain_name = "stairs_bd"
