【gym环境】基于迭代算法CartPole-v1倒立摆控制测试例程Pycharm代码仿真与实现

上篇文章讲述了环境的搭建,我相信很多同学迫不及待想控制一下这个倒立摆了,我知道你很急,但你先别急,这不就来了~~~       

首先说明本人是一个刚刚接触RL的科研小白,单单一个例程就成功耗费我一个下午,“gym你是有两下的”,网上关于如何实现这个例程也有很多文章,但大多只是分析好一点的给出了控制代码,对于实现过程的分析比较少见,所以今天我就总结一下我的实现过程,可供大家学习参考。后续我还会用其他方法研究怎样控制这个倒立摆,特别是会用到神经网络,小小期待一下吧!

另外再推荐一个本人的小经验,当我们苦苦追求一个事情的结果,但是还没想出解决办法的时候,不妨先做点别的事情,换换脑子,比如去健身去跑步,相信半个小时的有氧运动会帮助你更好的完成任务,亲身经历,确实有效。当然这有个前提,你知道当前这个任务你有很强烈的意愿完成它,这个方法才奏效,不然就成了拖延的理由。。。ok言归正传吧~

承接上一篇文章,这里我们需要再向我们的环境中添加一个包,如果不会添加可以看上一篇文章,这里同样直接复制下方代码即可:

安装box2d包

conda install -c conda-forge box2d-py

等待安装即可。。。

接下来重头戏:

实现代码分析

别担心,虽然分析代码很重要,但是如果一看代码就头疼那还不如先放一放,先来听一下这个游戏怎么玩。言归正传,我们正式来分析一下这个例程中的游戏让我们做什么?

我们看到画面中有一辆小车和一个倒立摆,倒立摆与小车只有一个连接点位于车顶,由基本的物理定律可知,如果此时保持小车不动,那么这根倒立摆势必会随着时间的推移向左或向右倾倒。那么答案显而易见,我们就是要控制这辆小车左右移动,来保持这跟倒立摆直立。绝对的直立是不可能的,所以这个游戏设定了

倾倒角度 \theta不能超过±15°

小车可移动范围 x :中间到两边各2.4个单位长度

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值