Files
RoboGauge/robogauge/tasks/gauge/gauge_configs/terrain_levels_config.py
2025-12-29 23:41:09 +08:00

175 lines
5.3 KiB
Python

# -*- coding: utf-8 -*-
'''
@File : terrain_levels_config.py
@Time : 2025/12/25 11:27:05
@Author : wty-yy
@Version : 1.0
@Blog : https://wty-yy.github.io/
@Desc : Terrain Levels Configuration
'''
from robogauge.utils.config import Config
SEARCH_LEVELS_TERRAINS = ['slope_fd', 'slope_bd', 'wave', 'stairs_fd', 'stairs_bd', 'obstacle']
TERRAIN_NAME2_XML_NAME = {
'flat': 'flat',
'slope_fd': 'slope',
'slope_bd': 'slope',
'wave': 'wave',
'stairs_fd': 'stairs',
'stairs_bd': 'stairs',
'obstacle': 'obstacle',
}
class TerrainSearchLevelsConfig(Config):
""" Go2 robot init/target position """
class flat:
levels = [0]
targets = [[4, 0, 0]] # target positions for each level, if target goal is used
class slope:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
targets = [
[4.8, 0, 0.588 + 0.1],
[4.8, 0, 0.776 + 0.1],
[4.8, 0, 0.964 + 0.1],
[4.8, 0, 1.152 + 0.1],
[4.8, 0, 1.340 + 0.1],
[4.8, 0, 1.528 + 0.1],
[4.8, 0, 1.716 + 0.1],
[4.8, 0, 1.904 + 0.1],
[4.8, 0, 2.092 + 0.1],
[4.8, 0, 2.280 + 0.1],
]
class wave:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
targets = [
[6.5, -2.65, 0.08],
[6.5, -2.65, 0.16],
[6.5, -2.65, 0.24],
[6.5, -2.65, 0.32],
[6.5, -2.65, 0.40],
[6.5, -2.65, 0.48],
[6.5, -2.65, 0.56],
[6.5, -2.65, 0.64],
[6.5, -2.65, 0.72],
[6.5, -2.65, 0.80],
]
class stairs:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
targets = [
[4.5, 0.0, 1.35],
[4.5, 0.0, 1.80],
[4.5, 0.0, 2.25],
[4.5, 0.0, 2.70],
[4.5, 0.0, 2.85],
[4.5, 0.0, 3.00],
[4.5, 0.0, 3.15],
[4.5, 0.0, 3.30],
[4.5, 0.0, 3.45],
[4.5, 0.0, 3.60],
]
spawns = [
[1.15, 0.0, 1.1 - 0.05 * 6 - 0.15 * 3],
[1.15, 0.0, 1.1 - 0.05 * 6 - 0.15 * 2],
[1.15, 0.0, 1.1 - 0.05 * 6 - 0.15],
[1.15, 0.0, 1.1 - 0.05 * 6],
[1.15, 0.0, 1.1 - 0.05 * 5],
[1.15, 0.0, 1.1 - 0.05 * 4],
[1.15, 0.0, 1.1 - 0.05 * 3],
[1.15, 0.0, 1.1 - 0.05 * 2],
[1.15, 0.0, 1.1 - 0.05 * 1],
[1.15, 0.0, 1.1],
]
class obstacle:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
class slope_fd(slope): # forward direction
pass
class slope_bd(slope): # backward direction
pass
class stairs_fd(stairs): # forward direction
pass
class stairs_bd(stairs): # backward direction
pass
class TerrainEvalLevelsConfig(Config):
class flat:
levels = [0]
class slope:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
spawns = [
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 9)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 8)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 7)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 6)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 5)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 4)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 3)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047 * 2)],
[5.0, 0, 0.03 + 4.2 * (0.57 - 0.047)],
[5.0, 0, 0.03 + 4.2 * 0.57],
]
class wave:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
spawns = [
[4.55, 0, 0.65 - 0.075 * 9],
[4.55, 0, 0.65 - 0.075 * 8],
[4.55, 0, 0.65 - 0.075 * 7],
[4.55, 0, 0.65 - 0.075 * 6],
[4.55, 0, 0.65 - 0.075 * 5],
[4.55, 0, 0.65 - 0.075 * 4],
[4.55, 0, 0.65 - 0.075 * 3],
[4.55, 0, 0.65 - 0.075 * 2],
[4.55, 0, 0.65 - 0.075 * 1],
[4.55, 0, 0.65],
]
class stairs:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
spawns = [
[4.85, 0.0, 0.05 + 1.35],
[4.85, 0.0, 0.05 + 1.80],
[4.85, 0.0, 0.05 + 2.25 + 0.03],
[4.85, 0.0, 0.05 + 2.70 + 0.08],
[4.85, 0.0, 0.05 + 2.85 + 0.1],
[4.85, 0.0, 0.05 + 3.00 + 0.12],
[4.85, 0.0, 0.05 + 3.15 + 0.14],
[4.85, 0.0, 0.05 + 3.30 + 0.16],
[4.85, 0.0, 0.05 + 3.45 + 0.18],
[4.85, 0.0, 0.05 + 3.60 + 0.2],
]
class obstacle:
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
spawns = [
[5, 0.0, 0.20 - 0.023 * 9],
[5, 0.0, 0.20 - 0.023 * 8],
[5, 0.0, 0.20 - 0.023 * 7],
[5, 0.0, 0.20 - 0.023 * 6],
[5, 0.0, 0.20 - 0.023 * 5],
[5, 0.0, 0.20 - 0.023 * 4],
[5, 0.0, 0.20 - 0.023 * 3],
[5, 0.0, 0.20 - 0.023 * 2],
[5, 0.0, 0.20 - 0.023 * 1],
[5, 0.0, 0.20],
]
class slope_fd(slope): # forward direction
pass
class slope_bd(slope): # backward direction
pass
class stairs_fd(stairs): # forward direction
pass
class stairs_bd(stairs): # backward direction
pass
if __name__ == '__main__':
terrain_search_cfg = TerrainSearchLevelsConfig()
print(terrain_search_cfg.stairs.spawns)