强化学习仿真环境Mujoco以及python bindings

jinxing众所周知,mujoco是强化学习领域很常用的仿真引擎。

众所周知,在实现强化学习的算法的时候我们需要用到其pytho接口。

众所周知,mujoco原来是openai的,提供的接口是mujoco-py,但很多年不维护了。

众所周知,mujoco被deepmind收购并开源了,现在接口是dm_control,更新很勤。

所以今天主要讲解一下dm_control的用法。

其官网文档链接为:https://colab.research.google.com/github/deepmind/dm_control/blob/main/tutorial.ipynb#scrollTo=T5f4w3Kq2X14首先,引入模型文件。

from dm_control import mujoco
import PIL.Image
swinging_body = """
<mujoco>
  <worldbody>
    <light name="top" pos="0 0 1"/>
    <body name="box_and_sphere" euler="0 0 -30">  
      <joint name="swing" type="hinge" axis="1 -1 0" pos="-.2 -.2 -.2"/>
      <geom name="red_box" type="box" size=".2 .2 .2" rgba="1 0 0 1"/>
      <geom name="green_sphere" pos=".2 .2 .2" size=".1" rgba="0 1 0 1"/>
    </body>
  </worldbody>
</mujoco>
"""
physics = mujoco.Physics.from_xml_string(swinging_body) 
pixels = physics.render()
PIL.Image.fromarray(pixels)

进行仿真。 

duration = 2    # (seconds)
framerate = 30  # (Hz)

# Visualize the joint axis
scene_option = mujoco.wrapper.core.MjvOption()
scene_option.flags[enums.mjtVisFlag.mjVIS_JOINT] = True

physics.reset()  # Reset state and time
while physics.data.time < duration:
  physics.step()

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值