用于机器学习实验的肌肉模型和环境。
muscledagents的Python项目详细描述
肌肉毒剂
openai健身房mujoco环境,配有肌肉,可与 PyMuscle疲劳的肌肉模型。
先决条件
- mujoco 1.5
- mujoco py
- 健身房
设置
python setup.py develop
用法
importgymimportmuscledagentsimportmathdefmain():# Load a muscled antenv=gym.make("MuscledAnt-v0")# Only functional env at the momentenv.reset()print("Observation Space Dims",env.observation_space.shape)print("Action Space Dims",env.action_space.shape)action_size=env.action_space.shape[0]action=[0.0]*action_sizetotal_steps=60*10foriinrange(total_steps):action[1]=((math.sin(i/25)+1)/2)action[5]=((math.sin(i/35)+1)/2)action[9]=((math.sin(i/45)+1)/2)action[13]=((math.sin(i/55)+1)/2)env.step(action)env.render()if__name__=='__main__':main()
要进一步探索这些环境和模型,您需要了解 如何将输入值转换为最终的模拟运动。
控制信号
蚂蚁的动作空间是连续控制16块肌肉。为了 四条腿各有四块肌肉。一条腿伸肌,一条腿屈肌, 两块臀部肌肉左右(或前后)移动腿部 取决于您的视角。)
健身房环境
step
方法接受16个值的数组,这些值表示
每个肌肉的疲劳肌肉模型。输入应在[0-1]范围内。
肾盂肌疲劳
使用后,肌肉在相同的输入水平下产生的力较小。所以如果你 发送一个输入信号,让肌肉中的所有运动单位都参与进来 持续几秒钟,模型将返回的输出将迅速 减少。肌肉恢复需要一段时间的光照或不使用。
mujoco模型
每个肌腱执行器的控制范围限制在[-1.0,0.0]。当 一般执行机构系在mujoco的肌腱上负值是 相当于收缩。肌肉在伸展时不能产生力量所以 允许为正的非零值。
执行器有一个gainprm
来缩放这个输入值。这是调谐到
当蚂蚁的质量和抵抗力为100时
肌腱。
更改模型
由于编辑xml文件的失败,python生成了ant
模型
使用mjcf库的脚本
我写这篇文章是为了在python类中包装mujoco xml元素。注:今年5月
以后用dm_control中的mjcf库替换。
您可以在scripts/gen_ant.py
中查看和修改该脚本。