Remove tweaks added by me but not part of roboschool.
This commit is contained in:
@@ -44,7 +44,7 @@ class MJCFBaseBulletEnv(gym.Env):
|
|||||||
else:
|
else:
|
||||||
self.physicsClientId = p.connect(p.DIRECT)
|
self.physicsClientId = p.connect(p.DIRECT)
|
||||||
p.configureDebugVisualizer(p.COV_ENABLE_GUI,0)
|
p.configureDebugVisualizer(p.COV_ENABLE_GUI,0)
|
||||||
|
|
||||||
if self.scene is None:
|
if self.scene is None:
|
||||||
self.scene = self.create_single_player_scene()
|
self.scene = self.create_single_player_scene()
|
||||||
if not self.scene.multiplayer:
|
if not self.scene.multiplayer:
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import numpy as np
|
|||||||
|
|
||||||
class InvertedPendulum(MJCFBasedRobot):
|
class InvertedPendulum(MJCFBasedRobot):
|
||||||
swingup = False
|
swingup = False
|
||||||
force_gain = 12 # TODO: Try to find out why we need to scale the force
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
MJCFBasedRobot.__init__(self, 'inverted_pendulum.xml', 'cart', action_dim=1, obs_dim=5)
|
MJCFBasedRobot.__init__(self, 'inverted_pendulum.xml', 'cart', action_dim=1, obs_dim=5)
|
||||||
|
|
||||||
@@ -16,16 +15,16 @@ class InvertedPendulum(MJCFBasedRobot):
|
|||||||
self.j1.set_motor_torque(0)
|
self.j1.set_motor_torque(0)
|
||||||
|
|
||||||
def apply_action(self, a):
|
def apply_action(self, a):
|
||||||
#assert( np.isfinite(a).all() )
|
assert( np.isfinite(a).all() )
|
||||||
if not np.isfinite(a).all():
|
if not np.isfinite(a).all():
|
||||||
print("a is inf")
|
print("a is inf")
|
||||||
a[0] = 0
|
a[0] = 0
|
||||||
self.slider.set_motor_torque( self.force_gain * 100*float(np.clip(a[0], -1, +1)) )
|
self.slider.set_motor_torque( 100*float(np.clip(a[0], -1, +1)) )
|
||||||
|
|
||||||
def calc_state(self):
|
def calc_state(self):
|
||||||
self.theta, theta_dot = self.j1.current_position()
|
self.theta, theta_dot = self.j1.current_position()
|
||||||
x, vx = self.slider.current_position()
|
x, vx = self.slider.current_position()
|
||||||
#assert( np.isfinite(x) )
|
assert( np.isfinite(x) )
|
||||||
|
|
||||||
if not np.isfinite(x):
|
if not np.isfinite(x):
|
||||||
print("x is inf")
|
print("x is inf")
|
||||||
@@ -50,7 +49,6 @@ class InvertedPendulum(MJCFBasedRobot):
|
|||||||
|
|
||||||
class InvertedPendulumSwingup(InvertedPendulum):
|
class InvertedPendulumSwingup(InvertedPendulum):
|
||||||
swingup = True
|
swingup = True
|
||||||
force_gain = 2.2 # TODO: Try to find out why we need to scale the force
|
|
||||||
|
|
||||||
|
|
||||||
class InvertedDoublePendulum(MJCFBasedRobot):
|
class InvertedDoublePendulum(MJCFBasedRobot):
|
||||||
@@ -70,8 +68,7 @@ class InvertedDoublePendulum(MJCFBasedRobot):
|
|||||||
|
|
||||||
def apply_action(self, a):
|
def apply_action(self, a):
|
||||||
assert( np.isfinite(a).all() )
|
assert( np.isfinite(a).all() )
|
||||||
force_gain = 0.78 # TODO: Try to find out why we need to scale the force
|
self.slider.set_motor_torque( 200*float(np.clip(a[0], -1, +1)) )
|
||||||
self.slider.set_motor_torque( force_gain *200*float(np.clip(a[0], -1, +1)) )
|
|
||||||
|
|
||||||
def calc_state(self):
|
def calc_state(self):
|
||||||
theta, theta_dot = self.j1.current_position()
|
theta, theta_dot = self.j1.current_position()
|
||||||
|
|||||||
@@ -15,10 +15,6 @@ class Scene:
|
|||||||
|
|
||||||
self.dt = self.timestep * self.frame_skip
|
self.dt = self.timestep * self.frame_skip
|
||||||
self.cpp_world = World(gravity, timestep, frame_skip)
|
self.cpp_world = World(gravity, timestep, frame_skip)
|
||||||
#self.cpp_world.set_glsl_path(os.path.join(os.path.dirname(__file__), "cpp-household/glsl"))
|
|
||||||
|
|
||||||
#self.big_caption = self.cpp_world.test_window_big_caption # that's a function you can call
|
|
||||||
#self.console_print = self.cpp_world.test_window_print # this too
|
|
||||||
|
|
||||||
self.test_window_still_open = True # or never opened
|
self.test_window_still_open = True # or never opened
|
||||||
self.human_render_detected = False # if user wants render("human"), we open test window
|
self.human_render_detected = False # if user wants render("human"), we open test window
|
||||||
@@ -52,8 +48,6 @@ class Scene:
|
|||||||
The idea is: apply motor torques for all robots, then call global_step(), then collect
|
The idea is: apply motor torques for all robots, then call global_step(), then collect
|
||||||
observations from robots using step() with the same action.
|
observations from robots using step() with the same action.
|
||||||
"""
|
"""
|
||||||
#if self.human_render_detected:
|
|
||||||
# self.test_window_still_open = self.cpp_world.test_window()
|
|
||||||
self.cpp_world.step(self.frame_skip)
|
self.cpp_world.step(self.frame_skip)
|
||||||
|
|
||||||
class SingleRobotEmptyScene(Scene):
|
class SingleRobotEmptyScene(Scene):
|
||||||
|
|||||||
Reference in New Issue
Block a user