5.2 KiB
5.2 KiB
UPDATE
20251226
v0.1.16
Bugs: level_results会存储到MultiPipeline下, 因为MultiPipeline不是子进程启动的, 会覆盖LevelPipeline的Logger冲突
- 基本完成StressPipeline, 继续调试完毕
20251225
v0.1.15
-
统一terrain的大小为10x10m, 某一边的中点在(0,0,0), 对全部的带等级的terrain都加上边界墙高度10m
-
完成stairs_up调试台阶高度范围改为(0.05-0.23m)非线性增加, 简单测试了5个种子下moe和mlp能达到的最大地形等级
frction 0.5 0.75 1.0 1.5 2.0 moe 1 7 9 8 10 mlp 1 4 7 8 9 -
发现有穿模问题, 加入穿模判定0.035m, BaesPipeline新增一个warning穿模报错, 发生穿模重置当前goal并重置环境, 不计入失败 3.1. 穿模判定在斜坡上会有很大的问题, 对slope一侧加上0.8m的可供站立平地, 并取消关于wall和floor的穿模判定
-
发现可以通过同时增加台阶的宽度从而避免产生体积为0的接触点, 一定程度减少穿模问题
-
判定Level通过比例为0.8, 也就是5个种子有4个通过即可
-
完成stairs_down地形调试, 简单比较moe和mlp通过地形难度, 初始点和中点在y方向上有3m差距, 避免直接滚下去恰好通过
frction 0.5 0.75 1.0 1.5 2.0 moe 5 10 10 10 10 mlp 3 6 7 10 10
20251224
v0.1.14
- 处理LevelPipeline返回的result信息, 保存最高等级可通过地形返回的aggregated_results和level等级
- 完成wave地形的LevelPipeline支持
- 各种Pipeline的run直接返回dict信息, 不再是路径
20251222
v0.1.13
- 即使模型崩溃也要继续测完后续的goals, 但是跳过当前的sub goals
- 加入当翻滚角>2.5rad时认为崩溃, 自动切换为下一个goal
- 初步完成二分查找level等级, 细节如下 LevelPipeline: 一种二分查找当前域随机化(friction, base_mass)下的最大成功terrain等级, 每次测试中采用三个seeds, 调用MultiPipeline同时测试三个seeds, 如果同时全部成功, 则判定为通过
20251221
v0.1.12
- 在模型崩溃时也记录下最后的gauge信息, 修改single/multi pipeline逻辑
- 添加slope全等级地形, 关系式: 斜率$0.1+0.47d$,角度范围
5.7\sim29.7^\circ, 发现29.7度在2.4摩擦系数下可以稳定通过
20251220
v0.1.11
- 加入
os.environ["OMP_NUM_THREADS"] = "2"; os.environ["MKL_NUM_THREADS"] = "2"避免并行时cpu线程爆炸,--multi模式能稳定提高速度了 - 完成target_position_goal, 超参数包含: 目标点位置, 最大线速度角速度, 最长追踪时间, 追踪到达阈值范围; 并在mujoco中绘制红色目标点, result.yaml中记录当前terrain和success
- 修改goal的reset逻辑 旧版: 在sub_goal开始时通过实现类中的get_goal异常返回None判断当前goals全部结束, 并且goals全部结束也不reset环境; 新版: 加入goal.pre_get_goal, 判断当前系列goals是否全部结束, 并根据sim_data更新当前的sub_goal索引, 实现类中无需考虑异常处理, 并且goals全部结束时判断为change goal执行一次reset环境, 保证新的goal可以直接无缝衔接上
- 添加vscode python debug启动配置文件, 支持参数输入调试 Fix Bugs: 修复sub_goal重名, 日志info不显示的问题
20251218
v0.1.10
- 加入
--write-tensorboard参数, 默认为False即不记录gauge的日志信息 - 指令系数改为1.8 (比2.0稳定点)
- 完成全部指标, 新增
dof_power, orientation_stability, torque_smoothness - 加入雷达图绘图 Fix Bugs: 日志记录重复的问题
v0.1.9
- 在
MaxVelocityGoal基础上加入end_stance, 最终保持站立姿态 - 在开始goal控制前, 先等机器人落地, 通过线速度小于0.05阈值判断静止后, 执行goal
- 支持1920x1080录像保存 Fix Bugs: 修复Video frame skip过大问题
20251206
v0.1.8
- 加入run_eval_models.sh多模型评估bash脚本
- 加入域随机化,
action delay, 基于配置修改的base mass,friction - 加入MultiPipeline支持多种seeds, frictions, base masses并行评估
20251205
v0.1.7
- 加入moe模型的测试, 及moe模型, 平地的指令最大范围开到2
20251203
v0.1.6.1
- 加入lin_vel, ang_vel err指标
20251202
v0.1.6
- 加入新目标
diagonal_velocity, 记录的信息中仅保留总goal的metrics信息, metrics加入@25, @50两个后25%和50%的平均值
20251201
v0.1.5
- 加入goals, metrics结果存储
- 优化路径存储:
logs/experiment_name/下分别有两个文件{time_tag}_{run_name}存储实验启动的参数, 保存视频;data/robot/model/goal/{time_tag}_{run_name}下存储tensorboard - 优化视频存储, 优先记录可视化界面, 否则使用跟随base的相机
- 修改
go2.xml大腿的电机范围不超过base的高度
20251130
v0.1.4
- 加入velocity_goals中的MaxVelocityGoal, 依次执行每种维度上的极值
- 加入metrics中的dof_limits_metric, 计算关节扭矩超过soft_dof_limit的比例
20251128
v0.1.3
- 完成go2模型预测
20251127
v0.1.2
- 修改logger
- 完成mujoco的sensor数据, sim_data数据类处理
20251124-25
v0.1.1
- 完成初始化
- 架构设计