遗传优化
一.训练过程
Vscode打开训练文件夹
- 服务器模式转换: 于
Vscode终端输入服务器模式转换指令
./Train.mode.sh //训练模式
./Normal.mode.sh //正常模式
./run_opt.sh
- 依次输入机器人的Type、迭代次数,popsize(种群大小)
//需要注意的是,原运行文件(run_opt.sh)的迭代次数默认是一千,但是注释给的是一万,可自行修改
- 于Ubuntu系统终端打开服务器,进行状态监测
二.过程中出现服务器卡顿、停滞
- 需要关闭当前服务器
- 于终端执行pkill命令(最好多kill几遍)
pkill -9 rcss
- 于终端重新打开服务器
- 在
Vscode终端最后,输入Ctrl+C便可以继续启动优化
三.数据整理及变更
获取训练数据
- 训练完一个周期之后会出现大量的数据集,需要整理出得分值最高的动作参数集
cd optimization/
python3 optimization.py
- 然后会程序会自动找出评分最优集合放入到
optimized_params文件中
- 然后从最优动作集中随便复制一个参数(两个逗号之间就是一个关节参数),然后去
opt_output中搜索,检索方式如下:
- 在
opt_output文件中同时按下Ctrl+F,弹出搜索框
- 粘贴复制的参数,找到最后一列,查看分值。(分值一般是距离,后期如果对优化文件的评分机制改动了记得进行相应的转换)
- 自己创建个txt文件,记录下整个动作参数集和相应的距离,方便后期筛选测试。
- 如果想在这个高分动作基础上继续优化,而不是遵循正常的协方差矩阵自适应优化,可以直接把获取到的动作参数复制进优化文件夹中
origin_
转换数据(针对于动作编辑器的数据)
上场测试数据(以下说的是球队文件夹中的文件)
- 修改Skill文件下的kick_ik(快踢)/kick_far(大脚)文件,可以测试训练/修改/新增的动作效果是否满意(实战性测试效果)
- 另外如果想单独测试动作,可以再拉取一个仓库,把
selectSkill函数中只写个要测试的动作,并且修改Skill下的动作文件(同上),多次测量求取期望值(单独测试效果)
- 注意:动作文件一般只修改 “State0----⇒最后一帧的ENDSTATE” 这个区间段的东西
几大重要的文件
- 优化文件中
- paramfiles下的
defaultparam...文件,训练获取数据的来源?????
optimized_params,python show出来的最佳动作参数集存放处
origin_params?????
opt_output训练所得的全部数据集
- 球队文件中