v1.0.0
This commit is contained in:
6
CMD.md
6
CMD.md
@@ -7,7 +7,7 @@ python robogauge/scripts/run.py \
|
||||
--headless
|
||||
|
||||
# To evaluate metrics for level terrains, add `--goals` and `--spawn-type`
|
||||
# level terrains: wave, slope, stairs up, stairs down, obstacle (default is target_pos)
|
||||
# level terrains: wave, slope_fb, slope_bd, stairs_fb, stairs_bd, obstacle (default is target_pos)
|
||||
python robogauge/scripts/run.py \
|
||||
--task go2_moe.obstacle \
|
||||
--experiment-name debug \
|
||||
@@ -31,7 +31,7 @@ python robogauge/scripts/run.py \
|
||||
|
||||
# Terrain with Level, need specify goals (default is target_pos)
|
||||
python robogauge/scripts/run.py \
|
||||
--task go2_moe.stairs_up \
|
||||
--task go2_moe.stairs_bd \
|
||||
--experiment-name debug \
|
||||
--multi \
|
||||
--num-processes 5 \
|
||||
@@ -63,7 +63,7 @@ python robogauge/scripts/run.py \
|
||||
--task go2_moe \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fb slope_bd stairs_fb stairs_bd wave obstacle \
|
||||
--num-processes 50 \
|
||||
--seeds 0 1 2 3 4 \
|
||||
--frictions 0.5 0.75 1.0 1.25 1.5 1.75 2.0 2.25 2.5 \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
1. 完成stress pipeline的客户端, 服务端代码, 支持异步推理
|
||||
2. 加入MultiPipeline和LevelPipeline分开的种子数量`seeds, search_seeds`, Level 5个, Multi 3个, 这样可以显著提高速度, 并且保证评估精度不掉 (两种评估总分前三位都是相同的), 速度提升`3m 32s -> 2m 47s`
|
||||
3. 删除stairs_down任务, 将stairs_up重命名为stairs
|
||||
4. 对于slope, stairs再分化为两个任务, slope_fd, slope_bd, stairs_fd, stairs_bd, 分别表示正向/背向朝更高处的初始化, target_pos_velocity中指令同时根据是否backward反转
|
||||
4. 对于slope, stairs再分化为两个任务, slope_fd, slope_bd, stairs_fd, stairs_bd, 分别表示正向/背向朝更高处的初始化, target_pos_velocity中指令同时根据是否backward反转, 分别为slope, stairs写初始化位置, 原来6个地形换成现在7种, 测试用时变为`2m 59s`
|
||||
## 20251228
|
||||
### v0.1.18
|
||||
1. 将final_score改为merge_metrics, 并在multi_pipeline中也进行该评估
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_1">
|
||||
<!-- Terrain Type: stairs_up, Level: 1, Stairs step height: 0.0800 -->
|
||||
<mujoco model="stairs_1">
|
||||
<!-- Terrain Type: stairs, Level: 1, Stairs step height: 0.0800 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_10">
|
||||
<!-- Terrain Type: stairs_up, Level: 10, Stairs step height: 0.2300 -->
|
||||
<mujoco model="stairs_10">
|
||||
<!-- Terrain Type: stairs, Level: 10, Stairs step height: 0.2300 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_2">
|
||||
<!-- Terrain Type: stairs_up, Level: 2, Stairs step height: 0.1100 -->
|
||||
<mujoco model="stairs_2">
|
||||
<!-- Terrain Type: stairs, Level: 2, Stairs step height: 0.1100 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_3">
|
||||
<!-- Terrain Type: stairs_up, Level: 3, Stairs step height: 0.1400 -->
|
||||
<mujoco model="stairs_3">
|
||||
<!-- Terrain Type: stairs, Level: 3, Stairs step height: 0.1400 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_4">
|
||||
<!-- Terrain Type: stairs_up, Level: 4, Stairs step height: 0.1700 -->
|
||||
<mujoco model="stairs_4">
|
||||
<!-- Terrain Type: stairs, Level: 4, Stairs step height: 0.1700 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_5">
|
||||
<!-- Terrain Type: stairs_up, Level: 5, Stairs step height: 0.1800 -->
|
||||
<mujoco model="stairs_5">
|
||||
<!-- Terrain Type: stairs, Level: 5, Stairs step height: 0.1800 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_6">
|
||||
<!-- Terrain Type: stairs_up, Level: 6, Stairs step height: 0.1900 -->
|
||||
<mujoco model="stairs_6">
|
||||
<!-- Terrain Type: stairs, Level: 6, Stairs step height: 0.1900 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_7">
|
||||
<!-- Terrain Type: stairs_up, Level: 7, Stairs step height: 0.2000 -->
|
||||
<mujoco model="stairs_7">
|
||||
<!-- Terrain Type: stairs, Level: 7, Stairs step height: 0.2000 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_8">
|
||||
<!-- Terrain Type: stairs_up, Level: 8, Stairs step height: 0.2100 -->
|
||||
<mujoco model="stairs_8">
|
||||
<!-- Terrain Type: stairs, Level: 8, Stairs step height: 0.2100 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<mujoco model="stairs_up_9">
|
||||
<!-- Terrain Type: stairs_up, Level: 9, Stairs step height: 0.2200 -->
|
||||
<mujoco model="stairs_9">
|
||||
<!-- Terrain Type: stairs, Level: 9, Stairs step height: 0.2200 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_1">
|
||||
<!-- Terrain Type: stairs_down, Level: 1, Stairs step height: 0.0800 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 2.6" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 2.52" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 2.44" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 2.36" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 2.28" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 2.1999999999999997" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 2.1199999999999997" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 2.0399999999999996" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 1.9599999999999995" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 1.8799999999999994" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 1.7999999999999994" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 1.7199999999999993" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 1.6399999999999992" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 1.5599999999999992" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 1.479999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 1.399999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 1.319999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 1.2399999999999989" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 1.1599999999999988" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 1.0799999999999987" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 0.9999999999999988" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 0.9199999999999988" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 0.8399999999999989" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 0.7599999999999989" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 0.6799999999999989" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 0.599999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 0.519999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 0.439999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.359999999999999" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.27999999999999897" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.19999999999999896" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.11999999999999895" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.03999999999999895" type="box" size="0.186 5.0 0.04" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_10">
|
||||
<!-- Terrain Type: stairs_down, Level: 10, Stairs step height: 0.2300 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 7.4750000000000005" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 7.245" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 7.015" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 6.784999999999999" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 6.554999999999999" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 6.324999999999998" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 6.094999999999998" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 5.8649999999999975" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 5.634999999999997" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 5.404999999999997" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 5.174999999999996" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 4.944999999999996" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 4.714999999999995" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 4.484999999999995" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 4.254999999999995" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 4.024999999999994" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 3.794999999999994" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 3.564999999999994" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 3.334999999999994" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 3.104999999999994" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.8749999999999942" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.6449999999999942" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 2.4149999999999943" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 2.1849999999999943" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.9549999999999943" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.7249999999999943" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.4949999999999943" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 1.2649999999999944" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 1.0349999999999944" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.8049999999999944" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.5749999999999944" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.3449999999999944" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.11499999999999441" type="box" size="0.186 5.0 0.115" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_2">
|
||||
<!-- Terrain Type: stairs_down, Level: 2, Stairs step height: 0.1100 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 3.575" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 3.4650000000000003" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 3.3550000000000004" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 3.2450000000000006" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 3.1350000000000007" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 3.025000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 2.915000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 2.805000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 2.695000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 2.5850000000000013" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 2.4750000000000014" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 2.3650000000000015" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 2.2550000000000017" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 2.145000000000002" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 2.035000000000002" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 1.9250000000000018" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 1.8150000000000017" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 1.7050000000000016" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 1.5950000000000015" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 1.4850000000000014" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 1.3750000000000013" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 1.2650000000000012" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 1.1550000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.045000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 0.935000000000001" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 0.8250000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 0.7150000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 0.6050000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.4950000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.3850000000000011" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.27500000000000113" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.16500000000000115" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.055000000000001145" type="box" size="0.186 5.0 0.055" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_3">
|
||||
<!-- Terrain Type: stairs_down, Level: 3, Stairs step height: 0.1400 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 4.550000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 4.410000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 4.270000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 4.130000000000002" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 3.9900000000000015" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 3.8500000000000014" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 3.7100000000000013" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 3.570000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 3.430000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 3.290000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 3.150000000000001" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 3.0100000000000007" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 2.8700000000000006" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 2.7300000000000004" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 2.5900000000000003" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 2.45" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 2.31" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 2.17" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 2.03" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 1.8899999999999997" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 1.7499999999999996" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 1.6099999999999994" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 1.4699999999999993" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.3299999999999992" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.189999999999999" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.049999999999999" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 0.9099999999999989" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 0.7699999999999989" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.6299999999999989" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.4899999999999989" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.34999999999999887" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.20999999999999885" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.06999999999999884" type="box" size="0.186 5.0 0.07" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_4">
|
||||
<!-- Terrain Type: stairs_down, Level: 4, Stairs step height: 0.1700 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 5.5249999999999995" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 5.3549999999999995" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 5.185" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 5.015" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 4.845" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 4.675" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 4.505" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 4.335" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 4.165" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 3.995" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 3.825" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 3.6550000000000002" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 3.4850000000000003" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 3.3150000000000004" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 3.1450000000000005" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 2.9750000000000005" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 2.8050000000000006" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 2.6350000000000007" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 2.4650000000000007" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.295000000000001" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.125000000000001" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 1.955000000000001" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 1.785000000000001" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.615000000000001" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.4450000000000012" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.2750000000000012" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.1050000000000013" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 0.9350000000000014" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.7650000000000015" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.5950000000000015" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.42500000000000154" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.25500000000000156" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.08500000000000157" type="box" size="0.186 5.0 0.08499999999999999" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_5">
|
||||
<!-- Terrain Type: stairs_down, Level: 5, Stairs step height: 0.1800 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 5.8500000000000005" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 5.670000000000001" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 5.490000000000001" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 5.310000000000001" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 5.130000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 4.950000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 4.770000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 4.5900000000000025" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 4.410000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 4.230000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 4.050000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 3.870000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 3.690000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 3.510000000000003" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 3.3300000000000027" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 3.1500000000000026" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 2.9700000000000024" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 2.7900000000000023" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 2.610000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.430000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.2500000000000018" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.0700000000000016" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 1.8900000000000017" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.7100000000000017" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.5300000000000018" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.3500000000000019" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.170000000000002" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 0.9900000000000019" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.8100000000000018" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.6300000000000018" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.45000000000000173" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.2700000000000017" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.09000000000000166" type="box" size="0.186 5.0 0.09000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_6">
|
||||
<!-- Terrain Type: stairs_down, Level: 6, Stairs step height: 0.1900 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 6.175" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 5.984999999999999" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 5.794999999999999" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 5.604999999999999" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 5.414999999999998" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 5.224999999999998" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 5.0349999999999975" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 4.844999999999997" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 4.654999999999997" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 4.464999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 4.274999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 4.0849999999999955" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 3.8949999999999956" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 3.7049999999999956" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 3.5149999999999957" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 3.3249999999999957" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 3.134999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 2.944999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 2.754999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.564999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.374999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.184999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 1.994999999999996" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.8049999999999962" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.6149999999999962" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.4249999999999963" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.2349999999999963" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 1.0449999999999964" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.8549999999999964" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.6649999999999965" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.4749999999999965" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.2849999999999965" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.09499999999999648" type="box" size="0.186 5.0 0.095" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_7">
|
||||
<!-- Terrain Type: stairs_down, Level: 7, Stairs step height: 0.2000 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 6.5" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 6.3" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 6.1" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 5.8999999999999995" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 5.699999999999999" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 5.499999999999999" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 5.299999999999999" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 5.099999999999999" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 4.899999999999999" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 4.699999999999998" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 4.499999999999998" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 4.299999999999998" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 4.099999999999998" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 3.8999999999999977" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 3.6999999999999975" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 3.4999999999999973" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 3.299999999999997" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 3.099999999999997" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 2.899999999999997" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.6999999999999966" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.4999999999999964" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.2999999999999963" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 2.099999999999996" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.8999999999999961" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.6999999999999962" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.4999999999999962" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.2999999999999963" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 1.0999999999999963" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.8999999999999964" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.6999999999999964" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.4999999999999964" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.2999999999999964" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.09999999999999637" type="box" size="0.186 5.0 0.1" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_8">
|
||||
<!-- Terrain Type: stairs_down, Level: 8, Stairs step height: 0.2100 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 6.825000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 6.615000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 6.405000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 6.195000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 5.985000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 5.775000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 5.565000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 5.355000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 5.145000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 4.935000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 4.725000000000001" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 4.5150000000000015" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 4.3050000000000015" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 4.0950000000000015" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 3.8850000000000016" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 3.6750000000000016" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 3.4650000000000016" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 3.2550000000000017" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 3.0450000000000017" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.8350000000000017" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.6250000000000018" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.415000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 2.205000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 1.9950000000000019" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.785000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.575000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.365000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 1.155000000000002" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.9450000000000021" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.7350000000000021" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.5250000000000021" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.3150000000000021" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.10500000000000209" type="box" size="0.186 5.0 0.10500000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -1,51 +0,0 @@
|
||||
<mujoco model="stairs_down_9">
|
||||
<!-- Terrain Type: stairs_down, Level: 9, Stairs step height: 0.2200 -->
|
||||
<statistic center="0 0 0.1" extent="0.8" />
|
||||
<visual>
|
||||
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0" />
|
||||
<rgba haze="0.15 0.25 0.35 1" />
|
||||
<global azimuth="-130" elevation="-20" />
|
||||
</visual>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072" />
|
||||
<texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3" markrgb="0.8 0.8 0.8" width="300" height="300" />
|
||||
<material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.0" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />
|
||||
<geom name="floor" size="0 0 0.05" type="plane" material="groundplane" />
|
||||
<geom pos="0.155 0.0 7.150000000000001" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.46499999999999997 0.0 6.9300000000000015" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="0.7749999999999999 0.0 6.710000000000002" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.085 0.0 6.490000000000002" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.395 0.0 6.270000000000002" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="1.705 0.0 6.0500000000000025" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.015 0.0 5.830000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.325 0.0 5.610000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.6350000000000002 0.0 5.390000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="2.9450000000000003 0.0 5.1700000000000035" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.2550000000000003 0.0 4.950000000000004" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.5650000000000004 0.0 4.730000000000004" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="3.8750000000000004 0.0 4.510000000000004" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.1850000000000005 0.0 4.2900000000000045" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.495 0.0 4.070000000000005" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="4.805 0.0 3.8500000000000045" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.114999999999999 0.0 3.6300000000000043" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.424999999999999 0.0 3.410000000000004" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="5.7349999999999985 0.0 3.190000000000004" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.044999999999998 0.0 2.9700000000000037" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.354999999999998 0.0 2.7500000000000036" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.664999999999997 0.0 2.5300000000000034" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="6.974999999999997 0.0 2.310000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.284999999999997 0.0 2.090000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.594999999999996 0.0 1.870000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="7.904999999999996 0.0 1.650000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.214999999999996 0.0 1.430000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.524999999999997 0.0 1.210000000000003" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="8.834999999999997 0.0 0.9900000000000031" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.144999999999998 0.0 0.7700000000000031" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.454999999999998 0.0 0.5500000000000032" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="9.764999999999999 0.0 0.3300000000000031" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
<geom pos="10.075 0.0 0.1100000000000031" type="box" size="0.186 5.0 0.11000000000000001" quat="1.0 0.0 0.0 0.0" />
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -28,7 +28,7 @@ from pprint import pprint
|
||||
|
||||
default_args_list = [
|
||||
'--stress-benchmark',
|
||||
# '--stress-terrain-names', 'flat', 'wave', 'slope', 'stairs_up', 'stairs_down', 'obstacle',
|
||||
# '--stress-terrain-names', 'flat', 'wave', 'slope_fd', 'slope_bd', 'stairs_fd', 'stairs_bd', 'obstacle',
|
||||
'--stress-terrain-names', 'flat', 'wave',
|
||||
'--num-processes', '50',
|
||||
'--seeds', '0', '1', '2',
|
||||
|
||||
@@ -11,16 +11,18 @@ task_register.register('base', BasePipeline, MujocoConfig, BaseGaugeConfig, Robo
|
||||
|
||||
# Go2 MLP
|
||||
task_register.register('go2.flat', BasePipeline, MujocoConfig, Go2FlatGaugeConfig, Go2Config)
|
||||
task_register.register('go2.slope', BasePipeline, MujocoConfig, Go2SlopeGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.slope_fd', BasePipeline, MujocoConfig, Go2SlopeForwardGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.slope_bd', BasePipeline, MujocoConfig, Go2SlopeBackwardGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.wave', BasePipeline, MujocoConfig, Go2WaveGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.stairs_up', BasePipeline, MujocoConfig, Go2StairsUpGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.stairs_down', BasePipeline, MujocoConfig, Go2StairsDownGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.stairs_fd', BasePipeline, MujocoConfig, Go2StairsForwardGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.stairs_bd', BasePipeline, MujocoConfig, Go2StairsBackwardGaugeConfig, Go2TerrainConfig)
|
||||
task_register.register('go2.obstacle', BasePipeline, MujocoConfig, Go2ObstacleGaugeConfig, Go2TerrainConfig)
|
||||
|
||||
# Go2 MoE
|
||||
task_register.register('go2_moe.flat', BasePipeline, MujocoConfig, Go2FlatGaugeConfig, Go2MoEConfig)
|
||||
task_register.register('go2_moe.slope', BasePipeline, MujocoConfig, Go2SlopeGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.slope_fd', BasePipeline, MujocoConfig, Go2SlopeForwardGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.slope_bd', BasePipeline, MujocoConfig, Go2SlopeBackwardGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.wave', BasePipeline, MujocoConfig, Go2WaveGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.stairs_up', BasePipeline, MujocoConfig, Go2StairsUpGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.stairs_down', BasePipeline, MujocoConfig, Go2StairsDownGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.stairs_fd', BasePipeline, MujocoConfig, Go2StairsForwardGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.stairs_bd', BasePipeline, MujocoConfig, Go2StairsBackwardGaugeConfig, Go2MoETerrainConfig)
|
||||
task_register.register('go2_moe.obstacle', BasePipeline, MujocoConfig, Go2ObstacleGaugeConfig, Go2MoETerrainConfig)
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
@Blog : https://wty-yy.github.io/
|
||||
'''
|
||||
from .go2_flat_task import Go2FlatGaugeConfig
|
||||
from .go2_slope_task import Go2SlopeGaugeConfig
|
||||
from .go2_slope_task import Go2SlopeForwardGaugeConfig, Go2SlopeBackwardGaugeConfig
|
||||
from .go2_wave_task import Go2WaveGaugeConfig
|
||||
from .go2_stairs_up_task import Go2StairsUpGaugeConfig
|
||||
from .go2_stairs_down_task import Go2StairsDownGaugeConfig
|
||||
from .go2_stairs_task import Go2StairsForwardGaugeConfig, Go2StairsBackwardGaugeConfig
|
||||
from .go2_obstacle_task import Go2ObstacleGaugeConfig
|
||||
|
||||
@@ -8,12 +8,19 @@
|
||||
@Desc : Go2 Slope Task Configuration
|
||||
'''
|
||||
from robogauge.tasks.robots import Go2Config, Go2MoEConfig
|
||||
from robogauge.tasks.gauge import SlopeGaugeConfig
|
||||
from robogauge.tasks.gauge import SlopeForwardGaugeConfig, SlopeBackwardGaugeConfig
|
||||
from robogauge.tasks.simulator.mujoco_config import MujocoConfig
|
||||
|
||||
class Go2SlopeGaugeConfig(SlopeGaugeConfig):
|
||||
class metrics(SlopeGaugeConfig.metrics):
|
||||
class dof_limits(SlopeGaugeConfig.metrics.dof_limits):
|
||||
class Go2SlopeForwardGaugeConfig(SlopeForwardGaugeConfig):
|
||||
class metrics(SlopeForwardGaugeConfig.metrics):
|
||||
class dof_limits(SlopeForwardGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
|
||||
class Go2SlopeBackwardGaugeConfig(SlopeBackwardGaugeConfig):
|
||||
class metrics(SlopeBackwardGaugeConfig.metrics):
|
||||
class dof_limits(SlopeBackwardGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
@File : go2_stairs_down_task.py
|
||||
@Time : 2025/12/25 16:36:18
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Go2 Stairs Down Task Configuration
|
||||
'''
|
||||
from robogauge.tasks.robots import Go2Config, Go2MoEConfig
|
||||
from robogauge.tasks.gauge import StairsDownGaugeConfig
|
||||
from robogauge.tasks.simulator.mujoco_config import MujocoConfig
|
||||
|
||||
class Go2StairsDownGaugeConfig(StairsDownGaugeConfig):
|
||||
class metrics(StairsDownGaugeConfig.metrics):
|
||||
class dof_limits(StairsDownGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
25
robogauge/tasks/custom/go2/go2_stairs_task.py
Normal file
25
robogauge/tasks/custom/go2/go2_stairs_task.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
@File : go2_wave_task.py
|
||||
@Time : 2025/12/22 11:02:23
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Go2 Wave Task Configuration
|
||||
'''
|
||||
from robogauge.tasks.gauge import StairsForwardGaugeConfig, StairsBackwardGaugeConfig
|
||||
from robogauge.tasks.simulator.mujoco_config import MujocoConfig
|
||||
|
||||
class Go2StairsForwardGaugeConfig(StairsForwardGaugeConfig):
|
||||
class metrics(StairsForwardGaugeConfig.metrics):
|
||||
class dof_limits(StairsForwardGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
|
||||
class Go2StairsBackwardGaugeConfig(StairsBackwardGaugeConfig):
|
||||
class metrics(StairsBackwardGaugeConfig.metrics):
|
||||
class dof_limits(StairsBackwardGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
@@ -1,18 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
@File : go2_wave_task.py
|
||||
@Time : 2025/12/22 11:02:23
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Go2 Wave Task Configuration
|
||||
'''
|
||||
from robogauge.tasks.gauge import StairsUpGaugeConfig
|
||||
from robogauge.tasks.simulator.mujoco_config import MujocoConfig
|
||||
|
||||
class Go2StairsUpGaugeConfig(StairsUpGaugeConfig):
|
||||
class metrics(StairsUpGaugeConfig.metrics):
|
||||
class dof_limits(StairsUpGaugeConfig.metrics.dof_limits):
|
||||
enabled = True
|
||||
soft_dof_limit_ratio = 0.7
|
||||
dof_names = ['hip', 'thigh'] # List of DOF names to monitor, None for all
|
||||
@@ -1,8 +1,7 @@
|
||||
from .base_gauge import BaseGauge
|
||||
from .base_gauge_config import BaseGaugeConfig
|
||||
from .gauge_configs.flat_gauge_config import FlatGaugeConfig
|
||||
from .gauge_configs.slope_gauge_config import SlopeGaugeConfig
|
||||
from .gauge_configs.slope_gauge_config import SlopeForwardGaugeConfig, SlopeBackwardGaugeConfig
|
||||
from .gauge_configs.wave_gauge_config import WaveGaugeConfig
|
||||
from .gauge_configs.stairs_up_gauge_config import StairsUpGaugeConfig
|
||||
from .gauge_configs.stairs_down_gauge_config import StairsDownGaugeConfig
|
||||
from .gauge_configs.stairs_gauge_config import StairsForwardGaugeConfig, StairsBackwardGaugeConfig
|
||||
from .gauge_configs.obstacle_gauge_config import ObstacleGaugeConfig
|
||||
|
||||
@@ -52,7 +52,7 @@ class BaseGauge:
|
||||
self.goals.append(DiagonalVelocityGoal(robot_cfg.control.control_dt, robot_cfg.commands, **kwargs))
|
||||
log_str += f" - Diagonal Velocity Goal: {kwargs}\n"
|
||||
elif name == 'target_pos_velocity':
|
||||
self.goals.append(TargetPosVelocityGoal(robot_cfg.control.control_dt,**kwargs))
|
||||
self.goals.append(TargetPosVelocityGoal(robot_cfg.control.control_dt, cfg.backward, **kwargs))
|
||||
log_str += f" - Target Position Velocity Goal: {kwargs}\n"
|
||||
else:
|
||||
raise NotImplementedError(f"Goal '{name}' is not implemented in BaseGauge.")
|
||||
|
||||
@@ -12,6 +12,7 @@ from robogauge.utils.config import Config
|
||||
class BaseGaugeConfig(Config):
|
||||
gauge_class = 'BaseGauge'
|
||||
write_tensorboard = False # Whether to write tensorboard logs
|
||||
backward = False # Whether to invert init yaw orient and backward move to target
|
||||
|
||||
class assets:
|
||||
terrain_name = "flat"
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Slope Gauge Configuration
|
||||
@Desc : Slope Forward(fd)/Backward(bd) Gauge Configuration
|
||||
'''
|
||||
from robogauge.tasks.gauge.base_gauge_config import BaseGaugeConfig
|
||||
|
||||
class SlopeGaugeConfig(BaseGaugeConfig):
|
||||
class SlopeForwardGaugeConfig(BaseGaugeConfig):
|
||||
gauge_class = 'BaseGauge'
|
||||
|
||||
class assets(BaseGaugeConfig.assets):
|
||||
terrain_name = "slope"
|
||||
terrain_name = "slope_fd"
|
||||
terrain_level = 4 # 1-10
|
||||
terrain_xmls = [
|
||||
'{ROBOGAUGE_ROOT_DIR}/resources/terrains/slope/slope_4.xml',
|
||||
@@ -31,3 +31,8 @@ class SlopeGaugeConfig(BaseGaugeConfig):
|
||||
max_cmd_duration = 20.0 # [s] maximum duration to reach the target position
|
||||
reach_threshold = 0.1
|
||||
|
||||
class SlopeBackwardGaugeConfig(SlopeForwardGaugeConfig):
|
||||
backward = True
|
||||
|
||||
class assets(SlopeForwardGaugeConfig.assets):
|
||||
terrain_name = "slope_bd"
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
@File : stairs_down_gauge_config.py
|
||||
@Time : 2025/12/25 14:12:59
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Stairs Down Gauge Configuration
|
||||
'''
|
||||
from robogauge.tasks.gauge.base_gauge_config import BaseGaugeConfig
|
||||
|
||||
class StairsDownGaugeConfig(BaseGaugeConfig):
|
||||
gauge_class = 'BaseGauge'
|
||||
|
||||
class assets(BaseGaugeConfig.assets):
|
||||
terrain_name = "stairs_down"
|
||||
terrain_level = 10 # 1-10
|
||||
terrain_xmls = [
|
||||
'{ROBOGAUGE_ROOT_DIR}/resources/terrains/stairs_down/stairs_down_10.xml',
|
||||
'{ROBOGAUGE_ROOT_DIR}/resources/terrains/wall/10x10_wall.xml',
|
||||
]
|
||||
# NOTE: Adjusted y=3.0 to avoid rolling down just pass the target
|
||||
terrain_spawn_pos = [1.1, 3.0, 7] # 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 = [8.3, 0.0, 1.90] # 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.3
|
||||
@@ -5,18 +5,18 @@
|
||||
@Author : wty-yy
|
||||
@Version : 1.0
|
||||
@Blog : https://wty-yy.github.io/
|
||||
@Desc : Stairs Up Gauge Configuration
|
||||
@Desc : Stairs Forward(fd)/Backward(bd) Gauge Configuration
|
||||
'''
|
||||
from robogauge.tasks.gauge.base_gauge_config import BaseGaugeConfig
|
||||
|
||||
class StairsUpGaugeConfig(BaseGaugeConfig):
|
||||
class StairsForwardGaugeConfig(BaseGaugeConfig):
|
||||
gauge_class = 'BaseGauge'
|
||||
|
||||
class assets(BaseGaugeConfig.assets):
|
||||
terrain_name = "stairs_up"
|
||||
terrain_name = "stairs_fd"
|
||||
terrain_level = 10 # 1-10
|
||||
terrain_xmls = [
|
||||
'{ROBOGAUGE_ROOT_DIR}/resources/terrains/stairs_up/stairs_up_10.xml',
|
||||
'{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
|
||||
@@ -30,3 +30,9 @@ class StairsUpGaugeConfig(BaseGaugeConfig):
|
||||
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"
|
||||
@@ -9,9 +9,19 @@
|
||||
'''
|
||||
from robogauge.utils.config import Config
|
||||
|
||||
SEARCH_LEVELS_TERRAINS = ['slope', 'wave', 'stairs_up', 'stairs_down', 'obstacle']
|
||||
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
|
||||
@@ -46,7 +56,7 @@ class TerrainSearchLevelsConfig(Config):
|
||||
[6.5, -2.65, 0.80],
|
||||
]
|
||||
|
||||
class stairs_up:
|
||||
class stairs:
|
||||
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
targets = [
|
||||
[4.5, 0.0, 1.35],
|
||||
@@ -61,37 +71,31 @@ class TerrainSearchLevelsConfig(Config):
|
||||
[4.5, 0.0, 3.60],
|
||||
]
|
||||
|
||||
class stairs_down:
|
||||
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
targets = [
|
||||
[8.3, 0.0, 1.90 - 0.07 * 15],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 12],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 9],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 6],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 5],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 4],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 3],
|
||||
[8.3, 0.0, 1.90 - 0.07 * 2],
|
||||
[8.3, 0.0, 1.90 - 0.07],
|
||||
[8.3, 0.0, 1.90],
|
||||
]
|
||||
|
||||
spawns = [
|
||||
[1.1, 3.0, 7 - 0.3 * 15],
|
||||
[1.1, 3.0, 7 - 0.3 * 12],
|
||||
[1.1, 3.0, 7 - 0.3 * 9],
|
||||
[1.1, 3.0, 7 - 0.3 * 6],
|
||||
[1.1, 3.0, 7 - 0.3 * 5],
|
||||
[1.1, 3.0, 7 - 0.3 * 4],
|
||||
[1.1, 3.0, 7 - 0.3 * 3],
|
||||
[1.1, 3.0, 7 - 0.3 * 2],
|
||||
[1.1, 3.0, 7 - 0.3],
|
||||
[1.1, 3.0, 7],
|
||||
[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]
|
||||
@@ -99,16 +103,16 @@ class TerrainEvalLevelsConfig(Config):
|
||||
class slope:
|
||||
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
spawns = [
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 9)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 8)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 7)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 6)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 5)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 4)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 3)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047 * 2)],
|
||||
[5.0, 0, 4.2 * (0.57 - 0.047)],
|
||||
[5.0, 0, 4.2 * 0.57],
|
||||
[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:
|
||||
@@ -126,34 +130,19 @@ class TerrainEvalLevelsConfig(Config):
|
||||
[4.55, 0, 0.65],
|
||||
]
|
||||
|
||||
class stairs_up:
|
||||
class stairs:
|
||||
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
spawns = [
|
||||
[5.0, 0.0, 1.35],
|
||||
[5.0, 0.0, 1.80],
|
||||
[5.0, 0.0, 2.25 + 0.03],
|
||||
[5.0, 0.0, 2.70 + 0.08],
|
||||
[5.0, 0.0, 2.85 + 0.1],
|
||||
[5.0, 0.0, 3.00 + 0.12],
|
||||
[5.0, 0.0, 3.15 + 0.14],
|
||||
[5.0, 0.0, 3.30 + 0.16],
|
||||
[5.0, 0.0, 3.45 + 0.18],
|
||||
[5.0, 0.0, 3.60 + 0.2],
|
||||
]
|
||||
|
||||
class stairs_down:
|
||||
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
spawns = [
|
||||
[5.1, 0.0, 1.35],
|
||||
[5.1, 0.0, 1.80 + 0.08],
|
||||
[5.1, 0.0, 2.25 + 0.15],
|
||||
[5.1, 0.0, 2.70 + 0.25],
|
||||
[5.1, 0.0, 2.85 + 0.27],
|
||||
[5.1, 0.0, 3.00 + 0.30],
|
||||
[5.1, 0.0, 3.15 + 0.33],
|
||||
[5.1, 0.0, 3.30 + 0.36],
|
||||
[5.1, 0.0, 3.45 + 0.39],
|
||||
[5.1, 0.0, 3.60 + 0.42],
|
||||
[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:
|
||||
@@ -170,3 +159,16 @@ class TerrainEvalLevelsConfig(Config):
|
||||
[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)
|
||||
|
||||
@@ -171,6 +171,7 @@ class TargetPosVelocityGoal(BaseVelocityGoal):
|
||||
|
||||
def __init__(self,
|
||||
control_dt: float,
|
||||
backward: bool,
|
||||
target_pos: List[float],
|
||||
lin_vel_x: float,
|
||||
lin_vel_y: float,
|
||||
@@ -186,6 +187,7 @@ class TargetPosVelocityGoal(BaseVelocityGoal):
|
||||
self.lin_vel_y = lin_vel_y
|
||||
self.ang_vel_yaw = ang_vel_yaw
|
||||
self.reach_threshold = reach_threshold
|
||||
self.backward = backward
|
||||
|
||||
kwargs.pop('enabled', None)
|
||||
if kwargs:
|
||||
@@ -205,8 +207,12 @@ class TargetPosVelocityGoal(BaseVelocityGoal):
|
||||
self.update_runtime_count(sim_data)
|
||||
delta_pos, _, delta_ang = self.get_delta_info(sim_data)
|
||||
ang_vel_yaw = np.sign(delta_ang) * min(abs(delta_ang) * 2, self.ang_vel_yaw)
|
||||
lin_vel_x = self.lin_vel_x if abs(delta_ang) < PI / 4 else 0.0
|
||||
if self.backward:
|
||||
ang_vel_yaw = -np.sign(delta_ang) * min((PI - abs(delta_ang)) * 2, self.ang_vel_yaw)
|
||||
lin_vel_x = -self.lin_vel_x if abs(delta_ang) > PI * 3 / 4 else 0.0
|
||||
self.current_goal = VelocityGoal(
|
||||
lin_vel_x=self.lin_vel_x if abs(delta_ang) < PI / 4 else 0.0,
|
||||
lin_vel_x=lin_vel_x,
|
||||
lin_vel_y=np.sign(delta_pos[1]) * min(abs(delta_pos[1]), self.lin_vel_y) if abs(delta_ang) >= PI / 4 else 0.0,
|
||||
ang_vel_yaw=ang_vel_yaw
|
||||
)
|
||||
|
||||
@@ -56,7 +56,8 @@ class BasePipeline:
|
||||
self.gauge_cfg.assets.terrain_xmls,
|
||||
self.robot_cfg.assets.robot_xml,
|
||||
self.gauge_cfg.assets.terrain_spawn_pos,
|
||||
self.robot_cfg.control.default_dof_pos
|
||||
self.robot_cfg.control.default_dof_pos,
|
||||
self.gauge_cfg.backward,
|
||||
)
|
||||
|
||||
def run(self):
|
||||
|
||||
@@ -192,7 +192,6 @@ class StressPipeline:
|
||||
continue
|
||||
summary[key] = result['results']
|
||||
|
||||
if terrain_name != 'stairs_down': # skip stairs_down for metrics means calculation
|
||||
for metric, means in result['results']['terrain_weighted_summary'].items():
|
||||
for mean_name, value_str in means.items():
|
||||
value = float(value_str.split(' ± ')[0])
|
||||
@@ -214,7 +213,6 @@ class StressPipeline:
|
||||
values.extend([0.0] * zero_terrain_count[terrain_name]) # include zero terrains
|
||||
robust_score[terrain_name][mean_name] = float(np.mean(values))
|
||||
scores[terrain_name] = robust_score[terrain_name]['mean@50']
|
||||
if terrain_name != 'stairs_down': # skip stairs_down for benchmark score calculation
|
||||
robust_scores.append(robust_score[terrain_name]['mean@50'])
|
||||
summary['robust_score'] = dict(robust_score)
|
||||
summary['benchmark_score'] = float(np.mean(robust_scores))
|
||||
|
||||
@@ -35,6 +35,7 @@ class MujocoSimulator:
|
||||
self.terrain_spawn_pos = None
|
||||
self.robot_spawn_height = None
|
||||
self.default_dof_pos = None
|
||||
self.invert_yaw = None
|
||||
self.viewer = None
|
||||
self.offscreen_cam = mujoco.MjvCamera()
|
||||
self.renderer = None
|
||||
@@ -52,6 +53,7 @@ class MujocoSimulator:
|
||||
robot_xml: str = None,
|
||||
terrain_spawn_pos: list = None,
|
||||
default_dof_pos: list = None,
|
||||
invert_yaw: bool = None,
|
||||
):
|
||||
""" Load terrain and robot into the simulator, support re-loading. """
|
||||
if terrain_xmls is not None:
|
||||
@@ -62,6 +64,8 @@ class MujocoSimulator:
|
||||
self.terrain_spawn_pos = terrain_spawn_pos
|
||||
if default_dof_pos is not None:
|
||||
self.default_dof_pos = default_dof_pos
|
||||
if invert_yaw is not None:
|
||||
self.invert_yaw = invert_yaw
|
||||
|
||||
terrain_xmls = self.terrain_xmls
|
||||
robot_xml = self.robot_xml
|
||||
@@ -91,6 +95,9 @@ class MujocoSimulator:
|
||||
self.mj_data = self.mj_physics.data.ptr
|
||||
self.mj_model.opt.timestep = self.cfg.physics.simulation_dt
|
||||
self.sim_dt = self.cfg.physics.simulation_dt
|
||||
if self.invert_yaw:
|
||||
self.mj_data.qpos[3] = 0.0
|
||||
self.mj_data.qpos[6] = 1.0
|
||||
self.mj_data.qpos[7:] = default_dof_pos
|
||||
|
||||
# Domain randomization: base mass
|
||||
@@ -265,6 +272,7 @@ class MujocoSimulator:
|
||||
proprio=proprio
|
||||
)
|
||||
|
||||
# input("DEBUG")
|
||||
self.n_step += 1
|
||||
self.sim_time = self.n_step * self.sim_dt
|
||||
self.check_truncation(sim_data)
|
||||
@@ -305,6 +313,9 @@ class MujocoSimulator:
|
||||
def reset(self):
|
||||
""" Reset the simulator to initial state. """
|
||||
self.mj_physics.reset()
|
||||
if self.invert_yaw:
|
||||
self.mj_data.qpos[3] = 0.0
|
||||
self.mj_data.qpos[6] = 1.0
|
||||
self.mj_data.qpos[7:] = self.default_dof_pos
|
||||
mujoco.mj_forward(self.mj_model, self.mj_data)
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ def parse_args(args_list=None):
|
||||
{"name": "--base-mass", "type": float, "default": 0.0, "help": "Set the base mass of the robot."},
|
||||
{"name": "--friction", "type": float, "default": 1.0, "help": "Set the ground friction coefficient."},
|
||||
{"name": "--level", "type": int, "help": "Set the difficulty level of the environment, range 1-10 (flat is 0)."},
|
||||
{"name": "--spawn-type", "type": str, "choices": ["level_eval", "level_search"], "help": "Spawn type for the robot."},
|
||||
{"name": "--spawn-type", "type": str, "default": "level_search", "choices": ["level_eval", "level_search"], "help": "Spawn type for the robot when specify level (Default is level_search)."},
|
||||
{"name": "--goals", "type": str, "nargs": "+", "help": "List of goal names to evaluate."},
|
||||
|
||||
# Multiprocessing parameters, with different seeds
|
||||
@@ -91,7 +91,7 @@ def parse_args(args_list=None):
|
||||
|
||||
# Stress pipeline parameters
|
||||
{"name": "--stress-benchmark", "action": "store_true", "default": False, "help": "Use stress pipeline to benchmark model robustness."},
|
||||
{"name": "--stress-terrain-names", "type": str, "nargs": "+", "default": ["flat", "slope", "wave", "stairs_up", "stairs_down"], "help": "List of terrain names for stress benchmark."},
|
||||
{"name": "--stress-terrain-names", "type": str, "nargs": "+", "default": ["flat", "slope_fd", "slope_bd", "wave", "stairs_fd", "stairs_bd"], "help": "List of terrain names for stress benchmark."},
|
||||
|
||||
# Common parameters
|
||||
{"name": "--num-processes", "type": int, "default": 2, "help": "Number of parallel processes for Multi or Stress benchmark."},
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
from robogauge import ROBOGAUGE_ROOT_DIR
|
||||
from robogauge.utils.logger import logger
|
||||
from robogauge.utils.helpers import parse_args, set_seed, class_to_dict
|
||||
from robogauge.tasks.gauge.gauge_configs.terrain_levels_config import TerrainSearchLevelsConfig, TerrainEvalLevelsConfig
|
||||
from robogauge.tasks.gauge.gauge_configs.terrain_levels_config import TerrainSearchLevelsConfig, TerrainEvalLevelsConfig, TERRAIN_NAME2_XML_NAME
|
||||
|
||||
class TaskRegister():
|
||||
def __init__(self):
|
||||
@@ -82,10 +82,10 @@ class TaskRegister():
|
||||
gauger_cfg.goals.target_pos_velocity.target_pos = search_cfg.targets[search_cfg.levels.index(args.level)]
|
||||
if hasattr(search_cfg, 'spawns') and args.spawn_type == "level_search":
|
||||
gauger_cfg.assets.terrain_spawn_pos = search_cfg.spawns[search_cfg.levels.index(args.level)]
|
||||
elif hasattr(eval_cfg, 'spawns') and args.spawn_type == "level_eval":
|
||||
if hasattr(eval_cfg, 'spawns') and args.spawn_type == "level_eval":
|
||||
gauger_cfg.assets.terrain_spawn_pos = eval_cfg.spawns[eval_cfg.levels.index(args.level)]
|
||||
xml = gauger_cfg.assets.terrain_xmls[0]
|
||||
xml = xml.rsplit('/', 1)[0] + f"/{gauger_cfg.assets.terrain_name}_{args.level}.xml"
|
||||
xml = xml.rsplit('/', 1)[0] + f"/{TERRAIN_NAME2_XML_NAME[gauger_cfg.assets.terrain_name]}_{args.level}.xml"
|
||||
gauger_cfg.assets.terrain_xmls[0] = xml
|
||||
if args.goals is not None:
|
||||
keys = class_to_dict(gauger_cfg.goals).keys()
|
||||
|
||||
@@ -33,7 +33,7 @@ def load_terrain_data(file_paths):
|
||||
Returns:
|
||||
model_data: {model_name: {terrain_type: {friction: level}}}
|
||||
"""
|
||||
target_terrains = ['wave', 'slope', 'stairs_up', 'stairs_down', 'obstacle']
|
||||
target_terrains = ['wave', 'slope_fd', 'slope_bd', 'stairs_fd', 'stairs_bd', 'obstacle']
|
||||
model_data = {}
|
||||
|
||||
# 用于从键名中提取 friction 的正则 (例如 friction1.25)
|
||||
|
||||
12
run.bash
12
run.bash
@@ -6,7 +6,7 @@ python robogauge/scripts/run.py \
|
||||
--task-name go2_moe \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
@@ -19,7 +19,7 @@ python robogauge/scripts/run.py \
|
||||
--model-path /root/Coding/RoboGauge/mytest/go2_moe_cts_hard_terrain_141k.pt \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
@@ -32,7 +32,7 @@ python robogauge/scripts/run.py \
|
||||
--model-path /root/Coding/RoboGauge/mytest/go2_cts_hard_terrain_141k.pt \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
@@ -44,7 +44,7 @@ python robogauge/scripts/run.py \
|
||||
--task-name go2 \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
@@ -57,7 +57,7 @@ python robogauge/scripts/run.py \
|
||||
--model-path /root/Coding/RoboGauge/mytest/go2_moe_cts_hard_terrain_100k.pt \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
@@ -70,7 +70,7 @@ python robogauge/scripts/run.py \
|
||||
--model-path /root/Coding/RoboGauge/mytest/go2_cts_hard_terrain_100k.pt \
|
||||
--experiment-name debug \
|
||||
--stress-benchmark \
|
||||
--stress-terrain-names flat slope stairs_up stairs_down wave obstacle \
|
||||
--stress-terrain-names flat slope_fd slope_bd stairs_fd stairs_bd wave obstacle \
|
||||
--num-processes 62 \
|
||||
--seeds 0 1 2 \
|
||||
--search-seeds 0 1 2 3 4 \
|
||||
|
||||
Reference in New Issue
Block a user