- Python Reinforcement Learning
- Sudharsan Ravichandiran Sean Saito Rajalingappaa Shanmugamani Yang Wenzhuo
- 361字
- 2021-06-24 15:17:27
Training a robot to walk
Now let's learn how to train a robot to walk using Gym along with some fundamentals.
The strategy is that X points will be given as a reward when the robot moves forward, and if the robot fails to move then Y points will be reduced. So the robot will learn to walk in the event of maximizing the reward.
First, we will import the library, then we will create a simulation instance by the make function. Open AI Gym provides an environment called BipedalWalker-v2 for training robotic agents in a simple terrain:
import gym
env = gym.make('BipedalWalker-v2')
Then, for each episode (agent-environment interaction between the initial and final state), we will initialize the environment using the reset method:
for episode in range(100):
observation = env.reset()
Then we will loop and render the environment:
for i in range(10000):
env.render()
We sample random actions from the environment's action space. Every environment has an action space which contains all possible valid actions:
action = env.action_space.sample()
For each action step, we will record observation, reward, done, and info:
observation, reward, done, info = env.step(action)
observation is the object representing an observation of the environment. For example, the state of the robot in the terrain.
reward are the rewards gained by the previous action. For example, the reward gained by a robot on successfully moving forward.
done is the Boolean; when it is true, it indicates that the episode has completed (that is, the robot learned to walk or failed completely). Once the episode has completed, we can initialize the environment for the next episode using env.reset().
info is the information that is useful for debugging.
When done is true, we print the time steps taken for the episode and break the current episode:
if done:
print("{} timesteps taken for the Episode".format(i+1))
break
The complete code is as follows:
import gym
env = gym.make('BipedalWalker-v2')
for i_episode in range(100):
observation = env.reset()
for t in range(10000):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
print("{} timesteps taken for the episode".format(t+1))
break
The output is shown in the following screenshot:

- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)
- ETL數(shù)據(jù)整合與處理(Kettle)
- Voice Application Development for Android
- Creating Mobile Apps with Sencha Touch 2
- 大數(shù)據(jù)導(dǎo)論
- 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例
- 智慧的云計(jì)算
- 中文版Access 2007實(shí)例與操作
- Python數(shù)據(jù)分析從小白到專家
- Spring MVC Beginner’s Guide
- 中國(guó)云存儲(chǔ)發(fā)展報(bào)告
- 推薦系統(tǒng)全鏈路設(shè)計(jì):原理解讀與業(yè)務(wù)實(shí)踐
- Hands-On Java Deep Learning for Computer Vision
- 大數(shù)據(jù)原理與技術(shù)
- 大數(shù)據(jù)處理之道