Fix gym deprecation warnings

This commit is contained in:
Antonin RAFFIN
2018-12-28 14:30:05 +01:00
parent 8bc1c8e01b
commit 0df3527884
24 changed files with 229 additions and 244 deletions

View File

@@ -34,8 +34,8 @@ class CartPoleBulletEnv(gym.Env):
p.connect(p.GUI)
else:
p.connect(p.DIRECT)
self.theta_threshold_radians = 12 * 2 * math.pi / 360
self.x_threshold = 0.4 #2.4
self.theta_threshold_radians = 12 * 2 * math.pi / 360
self.x_threshold = 0.4 #2.4
high = np.array([
self.x_threshold * 2,
np.finfo(np.float32).max,
@@ -47,21 +47,19 @@ class CartPoleBulletEnv(gym.Env):
self.action_space = spaces.Discrete(2)
self.observation_space = spaces.Box(-high, high, dtype=np.float32)
self._seed()
self.seed()
# self.reset()
self.viewer = None
self._configure()
def _configure(self, display=None):
self.display = display
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
def _step(self, action):
def step(self, action):
force = self.force_mag if action==1 else -self.force_mag
p.setJointMotorControl2(self.cartpole, 0, p.TORQUE_CONTROL, force=force)
@@ -79,7 +77,7 @@ class CartPoleBulletEnv(gym.Env):
#print("state=",self.state)
return np.array(self.state), reward, done, {}
def _reset(self):
def reset(self):
# print("-----------reset simulation---------------")
p.resetSimulation()
self.cartpole = p.loadURDF(os.path.join(pybullet_data.getDataPath(),"cartpole.urdf"),[0,0,0])
@@ -101,11 +99,5 @@ class CartPoleBulletEnv(gym.Env):
#print("self.state=", self.state)
return np.array(self.state)
def _render(self, mode='human', close=False):
def render(self, mode='human', close=False):
return
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step

View File

@@ -53,7 +53,7 @@ class KukaCamGymEnv(gym.Env):
else:
p.connect(p.DIRECT)
#timinglog = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS, "kukaTimings.json")
self._seed()
self.seed()
self.reset()
observationDim = len(self.getExtendedObservation())
#print("observationDim")
@@ -66,11 +66,11 @@ class KukaCamGymEnv(gym.Env):
action_dim = 3
self._action_bound = 1
action_high = np.array([self._action_bound] * action_dim)
self.action_space = spaces.Box(-action_high, action_high)
self.observation_space = spaces.Box(low=0, high=255, shape=(self._height, self._width, 4))
self.action_space = spaces.Box(-action_high, action_high, dtype=np.float32)
self.observation_space = spaces.Box(low=0, high=255, shape=(self._height, self._width, 4), dtype=np.uint8)
self.viewer = None
def _reset(self):
def reset(self):
self.terminated = 0
p.resetSimulation()
p.setPhysicsEngineParameter(numSolverIterations=150)
@@ -95,7 +95,7 @@ class KukaCamGymEnv(gym.Env):
def __del__(self):
p.disconnect()
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -127,7 +127,7 @@ class KukaCamGymEnv(gym.Env):
self._observation = np_img_arr
return self._observation
def _step(self, action):
def step(self, action):
if (self._isDiscrete):
dv = 0.01
dx = [0,-dv,dv,0,0,0,0][action]
@@ -167,7 +167,7 @@ class KukaCamGymEnv(gym.Env):
return np.array(self._observation), reward, done, {}
def _render(self, mode='human', close=False):
def render(self, mode='human', close=False):
if mode != "rgb_array":
return np.array([])
base_pos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId)
@@ -256,8 +256,8 @@ class KukaCamGymEnv(gym.Env):
#print(reward)
return reward
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step

View File

@@ -57,7 +57,7 @@ class KukaGymEnv(gym.Env):
else:
p.connect(p.DIRECT)
#timinglog = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS, "kukaTimings.json")
self._seed()
self.seed()
self.reset()
observationDim = len(self.getExtendedObservation())
#print("observationDim")
@@ -74,7 +74,7 @@ class KukaGymEnv(gym.Env):
self.observation_space = spaces.Box(-observation_high, observation_high)
self.viewer = None
def _reset(self):
def reset(self):
#print("KukaGymEnv _reset")
self.terminated = 0
p.resetSimulation()
@@ -100,7 +100,7 @@ class KukaGymEnv(gym.Env):
def __del__(self):
p.disconnect()
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -138,7 +138,7 @@ class KukaGymEnv(gym.Env):
self._observation.extend(list(blockInGripperPosXYEulZ))
return self._observation
def _step(self, action):
def step(self, action):
if (self._isDiscrete):
dv = 0.005
dx = [0,-dv,dv,0,0,0,0][action]
@@ -183,10 +183,10 @@ class KukaGymEnv(gym.Env):
return np.array(self._observation), reward, done, {}
def _render(self, mode="rgb_array", close=False):
def render(self, mode="rgb_array", close=False):
if mode != "rgb_array":
return np.array([])
base_pos,orn = self._p.getBasePositionAndOrientation(self._kuka.kukaUid)
view_matrix = self._p.computeViewMatrixFromYawPitchRoll(
cameraTargetPosition=base_pos,
@@ -203,10 +203,10 @@ class KukaGymEnv(gym.Env):
projectionMatrix=proj_matrix, renderer=self._p.ER_BULLET_HARDWARE_OPENGL)
#renderer=self._p.ER_TINY_RENDERER)
rgb_array = np.array(px, dtype=np.uint8)
rgb_array = np.reshape(rgb_array, (RENDER_HEIGHT, RENDER_WIDTH, 4))
rgb_array = rgb_array[:, :, :3]
return rgb_array
@@ -283,8 +283,8 @@ class KukaGymEnv(gym.Env):
#print(reward)
return reward
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step

View File

@@ -35,7 +35,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
height=48,
numObjects=5,
isTest=False):
"""Initializes the KukaDiverseObjectEnv.
"""Initializes the KukaDiverseObjectEnv.
Args:
urdfRoot: The diretory from which to load environment URDF's.
@@ -71,7 +71,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
self._maxSteps = maxSteps
self.terminated = 0
self._cam_dist = 1.3
self._cam_yaw = 180
self._cam_yaw = 180
self._cam_pitch = -40
self._dv = dv
self._p = p
@@ -90,7 +90,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
p.resetDebugVisualizerCamera(1.3,180,-41,[0.52,-0.2,-0.33])
else:
self.cid = p.connect(p.DIRECT)
self._seed()
self.seed()
if (self._isDiscrete):
if self._removeHeightHack:
@@ -105,7 +105,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
shape=(4,)) # dx, dy, dz, da
self.viewer = None
def _reset(self):
def reset(self):
"""Environment reset called at the beginning of an episode.
"""
# Set the camera settings.
@@ -122,7 +122,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
far = 10
self._proj_matrix = p.computeProjectionMatrixFOV(
fov, aspect, near, far)
self._attempted_grasp = False
self._env_step = 0
self.terminated = 0
@@ -131,9 +131,9 @@ class KukaDiverseObjectEnv(KukaGymEnv):
p.setPhysicsEngineParameter(numSolverIterations=150)
p.setTimeStep(self._timeStep)
p.loadURDF(os.path.join(self._urdfRoot,"plane.urdf"),[0,0,-1])
p.loadURDF(os.path.join(self._urdfRoot,"table/table.urdf"), 0.5000000,0.00000,-.820000,0.000000,0.000000,0.0,1.0)
p.setGravity(0,0,-10)
self._kuka = kuka.Kuka(urdfRootPath=self._urdfRoot, timeStep=self._timeStep)
self._envStepCounter = 0
@@ -185,7 +185,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
np_img_arr = np.reshape(rgb, (self._height, self._width, 4))
return np_img_arr[:, :, :3]
def _step(self, action):
def step(self, action):
"""Environment step.
Args:
@@ -325,9 +325,7 @@ class KukaDiverseObjectEnv(KukaGymEnv):
for object_index in selected_objects:
selected_objects_filenames += [found_object_directories[object_index]]
return selected_objects_filenames
if parse_version(gym.__version__)>=parse_version('0.9.6'):
reset = _reset
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_reset = reset
_step = step

View File

@@ -2,7 +2,8 @@
"""
import os, inspect
import os
import inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(os.path.dirname(currentdir))
os.sys.path.insert(0,parentdir)
@@ -10,6 +11,8 @@ os.sys.path.insert(0,parentdir)
import math
import time
from pkg_resources import parse_version
import gym
from gym import spaces
from gym.utils import seeding
@@ -17,7 +20,6 @@ import numpy as np
import pybullet
from . import bullet_client
from . import minitaur
import os
import pybullet_data
from . import minitaur_env_randomizer
@@ -155,7 +157,7 @@ class MinitaurBulletDuckEnv(gym.Env):
else:
self._pybullet_client = bullet_client.BulletClient()
self._seed()
self.seed()
self.reset()
observation_high = (
self.minitaur.GetObservationUpperBound() + OBSERVATION_EPS)
@@ -163,8 +165,8 @@ class MinitaurBulletDuckEnv(gym.Env):
self.minitaur.GetObservationLowerBound() - OBSERVATION_EPS)
action_dim = 8
action_high = np.array([self._action_bound] * action_dim)
self.action_space = spaces.Box(-action_high, action_high)
self.observation_space = spaces.Box(observation_low, observation_high)
self.action_space = spaces.Box(-action_high, action_high, dtype=np.float32)
self.observation_space = spaces.Box(observation_low, observation_high, dtype=np.float32)
self.viewer = None
self._hard_reset = hard_reset # This assignment need to be after reset()
@@ -174,7 +176,7 @@ class MinitaurBulletDuckEnv(gym.Env):
def configure(self, args):
self._args = args
def _reset(self):
def reset(self):
if self._hard_reset:
self._pybullet_client.resetSimulation()
self._pybullet_client.setPhysicsEngineParameter(
@@ -217,7 +219,7 @@ class MinitaurBulletDuckEnv(gym.Env):
self._pybullet_client.stepSimulation()
return self._noisy_observation()
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -231,7 +233,7 @@ class MinitaurBulletDuckEnv(gym.Env):
action = self.minitaur.ConvertFromLegModel(action)
return action
def _step(self, action):
def step(self, action):
"""Step forward the simulation, given the action.
Args:
@@ -268,7 +270,7 @@ class MinitaurBulletDuckEnv(gym.Env):
done = self._termination()
return np.array(self._noisy_observation()), reward, done, {}
def _render(self, mode="rgb_array", close=False):
def render(self, mode="rgb_array", close=False):
if mode != "rgb_array":
return np.array([])
base_pos = self.minitaur.GetBasePosition()
@@ -386,7 +388,8 @@ class MinitaurBulletDuckEnv(gym.Env):
self.minitaur.GetObservationUpperBound())
return observation
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step

View File

@@ -152,7 +152,7 @@ class MinitaurBulletEnv(gym.Env):
else:
self._pybullet_client = bullet_client.BulletClient()
self._seed()
self.seed()
self.reset()
observation_high = (
self.minitaur.GetObservationUpperBound() + OBSERVATION_EPS)
@@ -160,8 +160,8 @@ class MinitaurBulletEnv(gym.Env):
self.minitaur.GetObservationLowerBound() - OBSERVATION_EPS)
action_dim = 8
action_high = np.array([self._action_bound] * action_dim)
self.action_space = spaces.Box(-action_high, action_high)
self.observation_space = spaces.Box(observation_low, observation_high)
self.action_space = spaces.Box(-action_high, action_high, dtype=np.float32)
self.observation_space = spaces.Box(observation_low, observation_high, dtype=np.float32)
self.viewer = None
self._hard_reset = hard_reset # This assignment need to be after reset()
@@ -171,7 +171,7 @@ class MinitaurBulletEnv(gym.Env):
def configure(self, args):
self._args = args
def _reset(self):
def reset(self):
if self._hard_reset:
self._pybullet_client.resetSimulation()
self._pybullet_client.setPhysicsEngineParameter(
@@ -215,7 +215,7 @@ class MinitaurBulletEnv(gym.Env):
self._pybullet_client.stepSimulation()
return self._noisy_observation()
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -229,7 +229,7 @@ class MinitaurBulletEnv(gym.Env):
action = self.minitaur.ConvertFromLegModel(action)
return action
def _step(self, action):
def step(self, action):
"""Step forward the simulation, given the action.
Args:
@@ -260,8 +260,8 @@ class MinitaurBulletEnv(gym.Env):
yaw = camInfo[8]
pitch=camInfo[9]
targetPos = [0.95*curTargetPos[0]+0.05*base_pos[0],0.95*curTargetPos[1]+0.05*base_pos[1],curTargetPos[2]]
self._pybullet_client.resetDebugVisualizerCamera(
distance, yaw, pitch, base_pos)
action = self._transform_action_to_motor_command(action)
@@ -274,7 +274,7 @@ class MinitaurBulletEnv(gym.Env):
done = self._termination()
return np.array(self._noisy_observation()), reward, done, {}
def _render(self, mode="rgb_array", close=False):
def render(self, mode="rgb_array", close=False):
if mode != "rgb_array":
return np.array([])
base_pos = self.minitaur.GetBasePosition()
@@ -388,8 +388,8 @@ class MinitaurBulletEnv(gym.Env):
self.minitaur.GetObservationUpperBound())
return observation
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step

View File

@@ -1,8 +1,9 @@
import os
import numpy as np
import copy
import math
import numpy as np
class Racecar:
def __init__(self, bullet_client, urdfRootPath='', timeStep=0.01):
@@ -18,7 +19,7 @@ class Racecar:
# print (self._p.getJointInfo(car,i))
for wheel in range(self._p.getNumJoints(car)):
self._p.setJointMotorControl2(car,wheel,self._p.VELOCITY_CONTROL,targetVelocity=0,force=0)
self._p.getJointInfo(car,wheel)
self._p.getJointInfo(car,wheel)
#self._p.setJointMotorControl2(car,10,self._p.VELOCITY_CONTROL,targetVelocity=1,force=10)
c = self._p.createConstraint(car,9,car,11,jointType=self._p.JOINT_GEAR,jointAxis =[0,1,0],parentFramePosition=[0,0,0],childFramePosition=[0,0,0])
@@ -80,4 +81,3 @@ class Racecar:
self._p.setJointMotorControl2(self.racecarUniqueId,motor,self._p.VELOCITY_CONTROL,targetVelocity=targetVelocity,force=self.maxForce)
for steer in self.steeringLinks:
self._p.setJointMotorControl2(self.racecarUniqueId,steer,self._p.POSITION_CONTROL,targetPosition=steeringAngle)

View File

@@ -5,10 +5,10 @@ os.sys.path.insert(0,parentdir)
import math
import gym
import time
from gym import spaces
from gym.utils import seeding
import numpy as np
import time
import pybullet
from . import racecar
import random
@@ -47,7 +47,7 @@ class RacecarGymEnv(gym.Env):
else:
self._p = bullet_client.BulletClient()
self._seed()
self.seed()
#self.reset()
observationDim = 2 #len(self.getExtendedObservation())
#print("observationDim")
@@ -60,11 +60,11 @@ class RacecarGymEnv(gym.Env):
action_dim = 2
self._action_bound = 1
action_high = np.array([self._action_bound] * action_dim)
self.action_space = spaces.Box(-action_high, action_high)
self.observation_space = spaces.Box(-observation_high, observation_high)
self.action_space = spaces.Box(-action_high, action_high, dtype=np.float32)
self.observation_space = spaces.Box(-observation_high, observation_high, dtype=np.float32)
self.viewer = None
def _reset(self):
def reset(self):
self._p.resetSimulation()
#p.setPhysicsEngineParameter(numSolverIterations=300)
self._p.setTimeStep(self._timeStep)
@@ -95,7 +95,7 @@ class RacecarGymEnv(gym.Env):
def __del__(self):
self._p = 0
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -109,7 +109,7 @@ class RacecarGymEnv(gym.Env):
self._observation.extend([ballPosInCar[0],ballPosInCar[1]])
return self._observation
def _step(self, action):
def step(self, action):
if (self._renders):
basePos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId)
#self._p.resetDebugVisualizerCamera(1, 30, -40, basePos)
@@ -139,7 +139,7 @@ class RacecarGymEnv(gym.Env):
return np.array(self._observation), reward, done, {}
def _render(self, mode='human', close=False):
def render(self, mode='human', close=False):
if mode != "rgb_array":
return np.array([])
base_pos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId)
@@ -176,8 +176,8 @@ class RacecarGymEnv(gym.Env):
#print(reward)
return reward
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step

View File

@@ -49,7 +49,7 @@ class RacecarZEDGymEnv(gym.Env):
else:
self._p = bullet_client.BulletClient()
self._seed()
self.seed()
self.reset()
observationDim = len(self.getExtendedObservation())
#print("observationDim")
@@ -62,12 +62,12 @@ class RacecarZEDGymEnv(gym.Env):
action_dim = 2
self._action_bound = 1
action_high = np.array([self._action_bound] * action_dim)
self.action_space = spaces.Box(-action_high, action_high)
self.observation_space = spaces.Box(low=0, high=255, shape=(self._height, self._width, 4))
self.action_space = spaces.Box(-action_high, action_high, dtype=np.float32)
self.observation_space = spaces.Box(low=0, high=255, shape=(self._height, self._width, 4), dtype=np.uint8)
self.viewer = None
def _reset(self):
def reset(self):
self._p.resetSimulation()
#p.setPhysicsEngineParameter(numSolverIterations=300)
self._p.setTimeStep(self._timeStep)
@@ -98,7 +98,7 @@ class RacecarZEDGymEnv(gym.Env):
def __del__(self):
self._p = 0
def _seed(self, seed=None):
def seed(self, seed=None):
self.np_random, seed = seeding.np_random(seed)
return [seed]
@@ -124,7 +124,7 @@ class RacecarZEDGymEnv(gym.Env):
self._observation = np_img_arr
return self._observation
def _step(self, action):
def step(self, action):
if (self._renders):
basePos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId)
#self._p.resetDebugVisualizerCamera(1, 30, -40, basePos)
@@ -154,7 +154,7 @@ class RacecarZEDGymEnv(gym.Env):
return np.array(self._observation), reward, done, {}
def _render(self, mode='human', close=False):
def render(self, mode='human', close=False):
if mode != "rgb_array":
return np.array([])
base_pos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId)
@@ -191,8 +191,8 @@ class RacecarZEDGymEnv(gym.Env):
#print(reward)
return reward
if parse_version(gym.__version__)>=parse_version('0.9.6'):
render = _render
reset = _reset
seed = _seed
step = _step
if parse_version(gym.__version__) < parse_version('0.9.6'):
_render = render
_reset = reset
_seed = seed
_step = step