本文整理汇总了Python中pybullet.applyExternalForce方法的典型用法代码示例。如果您正苦于以下问题:Python pybullet.applyExternalForce方法的具体用法?Python pybullet.applyExternalForce怎么用?Python pybullet.applyExternalForce使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pybullet
的用法示例。
在下文中一共展示了pybullet.applyExternalForce方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _reset
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _reset(self):
# reset state
self.steps = 0
self.done = False
# reset pole on cart in starting poses
p.resetBasePositionAndOrientation(self.cartpole, (0,0,0.08), (0,0,0,1)) # reset cart position and orientation
p.resetJointState(self.cartpole, 0, 0) # reset joint position of pole
for _ in xrange(100): p.stepSimulation()
# give a fixed force push in a random direction to get things going...
theta = (np.random.random()*2-1) if self.random_theta else 0.0
for _ in xrange(self.initial_force_steps):
p.stepSimulation()
p.applyExternalForce(self.cartpole, 0, (theta, 0 , 0), (0, 0, 0), p.WORLD_FRAME)
if self.delay > 0:
time.sleep(self.delay)
# bootstrap state by running for all repeats
for i in xrange(self.repeats):
self.set_state_element_for_repeat(i)
# return this state
return np.copy(self.state)
示例2: _reset
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _reset(self):
# reset state
self.steps = 0
self.done = False
# reset pole on cart in starting poses
p.resetBasePositionAndOrientation(self.cart, (0,0,0.08), (0,0,0,1))
p.resetBasePositionAndOrientation(self.pole, (0,0,0.35), (0,0,0,1))
for _ in xrange(100): p.stepSimulation()
# give a fixed force push in a random direction to get things going...
theta = np.multiply(np.multiply((np.random.random(), np.random.random(), 0),2) - (1,1,0),5) if self.random_theta else (1,0,0)
for _ in xrange(self.initial_force_steps):
p.stepSimulation()
p.applyExternalForce(self.pole, -1, theta, (0, 0, 0), p.WORLD_FRAME)
if self.delay > 0:
time.sleep(self.delay)
# bootstrap state by running for all repeats
for i in xrange(self.repeats):
self.set_state_element_for_repeat(i)
# return this state
return np.copy(self.state)
示例3: apply_force
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def apply_force(self, uid, lid, force, pos):
p.applyExternalForce(uid, lid, force, pos, p.WORLD_FRAME)
示例4: _reset
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _reset(self):
# reset state
self.steps = 0
self.done = False
# reset pole on cart in starting poses
p.resetBasePositionAndOrientation(self.cart, (0,0,0.08), (0,0,0,1))
p.resetBasePositionAndOrientation(self.pole, (0,0,0.35), (0,0,0,1))
for _ in xrange(100): p.stepSimulation()
# give a fixed force push in a random direction to get things going...
theta = (np.random.random() * 2 * np.pi) if self.random_theta else 0.0
fx, fy = self.initial_force * np.cos(theta), self.initial_force * np.sin(theta)
for _ in xrange(self.initial_force_steps):
p.stepSimulation()
p.applyExternalForce(self.cart, -1, (fx, fy, 0), (0, 0, 0), p.WORLD_FRAME)
if self.delay > 0:
time.sleep(self.delay)
# bootstrap state by running for all repeats
for i in xrange(self.repeats):
self.set_state_element_for_repeat(i)
# reset event log (if applicable) and add entry with only state
if self.event_log:
self.event_log.reset()
self.event_log.add_just_state(self.state)
# return this state
return np.copy(self.state)
示例5: _flag_reposition
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _flag_reposition(self):
#self.walk_target_x = self.np_random.uniform(low=-self.scene.stadium_halflen,
# high=+self.scene.stadium_halflen)
#self.walk_target_y = self.np_random.uniform(low=-self.scene.stadium_halfwidth,
# high=+self.scene.stadium_halfwidth)
force_x = self.np_random.uniform(-300,300)
force_y = self.np_random.uniform(-300, 300)
more_compact = 0.5 # set to 1.0 whole football field
#self.walk_target_x *= more_compact
#self.walk_target_y *= more_compact
startx, starty, _ = self.robot.get_position()
self.flag = None
self.flag_timeout = 3000 / self.scene.frame_skip
if self.lastid:
p.removeBody(self.lastid)
self.lastid = p.createMultiBody(baseMass = 1, baseVisualShapeIndex=self.visualid, baseCollisionShapeIndex=self.colisionid, basePosition=[startx, starty, 0.5])
p.applyExternalForce(self.lastid, -1, [force_x,force_y,50], [0,0,0], p.LINK_FRAME)
ball_xyz, _ = p.getBasePositionAndOrientation(self.lastid)
self.robot.walk_target_x = ball_xyz[0]
self.robot.walk_target_y = ball_xyz[1]
示例6: _flag_reposition
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _flag_reposition(self):
# self.walk_target_x = self.np_random.uniform(low=-self.scene.stadium_halflen,
# high=+self.scene.stadium_halflen)
# self.walk_target_y = self.np_random.uniform(low=-self.scene.stadium_halfwidth,
# high=+self.scene.stadium_halfwidth)
force_x = self.np_random.uniform(-300, 300)
force_y = self.np_random.uniform(-300, 300)
more_compact = 0.5 # set to 1.0 whole football field
# self.walk_target_x *= more_compact
# self.walk_target_y *= more_compact
startx, starty, _ = self.robot.body_xyz
self.flag = None
# self.flag = self.scene.cpp_world.debug_sphere(self.walk_target_x, self.walk_target_y, 0.2, 0.2, 0xFF8080)
self.flag_timeout = 3000 / self.scene.frame_skip
# print('targetxy', self.flagid, self.walk_target_x, self.walk_target_y, p.getBasePositionAndOrientation(self.flagid))
# p.resetBasePositionAndOrientation(self.flagid, posObj = [self.walk_target_x, self.walk_target_y, 0.5], ornObj = [0,0,0,0])
if self.lastid:
p.removeBody(self.lastid)
self.lastid = p.createMultiBody(baseMass=1, baseVisualShapeIndex=self.visualid,
baseCollisionShapeIndex=self.colisionid, basePosition=[startx, starty, 0.5])
p.applyExternalForce(self.lastid, -1, [force_x, force_y, 50], [0, 0, 0], p.LINK_FRAME)
ball_xyz, _ = p.getBasePositionAndOrientation(self.lastid)
self.robot.walk_target_x = ball_xyz[0]
self.robot.walk_target_y = ball_xyz[1]
示例7: _flag_reposition
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _flag_reposition(self):
#self.walk_target_x = self.np_random.uniform(low=-self.scene.stadium_halflen,
# high=+self.scene.stadium_halflen)
#self.walk_target_y = self.np_random.uniform(low=-self.scene.stadium_halfwidth,
# high=+self.scene.stadium_halfwidth)
force_x = self.np_random.uniform(-300,300)
force_y = self.np_random.uniform(-300, 300)
more_compact = 0.5 # set to 1.0 whole football field
#self.walk_target_x *= more_compact
#self.walk_target_y *= more_compact
startx, starty, _ = self.robot.get_position()
self.flag = None
#self.flag = self.scene.cpp_world.debug_sphere(self.walk_target_x, self.walk_target_y, 0.2, 0.2, 0xFF8080)
self.flag_timeout = 3000 / self.scene.frame_skip
#print('targetxy', self.flagid, self.walk_target_x, self.walk_target_y, p.getBasePositionAndOrientation(self.flagid))
#p.resetBasePositionAndOrientation(self.flagid, posObj = [self.walk_target_x, self.walk_target_y, 0.5], ornObj = [0,0,0,0])
if self.lastid:
p.removeBody(self.lastid)
self.lastid = p.createMultiBody(baseMass = 1, baseVisualShapeIndex=self.visualid, baseCollisionShapeIndex=self.colisionid, basePosition=[startx, starty, 0.5])
p.applyExternalForce(self.lastid, -1, [force_x,force_y,50], [0,0,0], p.LINK_FRAME)
ball_xyz, _ = p.getBasePositionAndOrientation(self.lastid)
self.robot.walk_target_x = ball_xyz[0]
self.robot.walk_target_y = ball_xyz[1]
示例8: _reset
# 需要导入模块: import pybullet [as 别名]
# 或者: from pybullet import applyExternalForce [as 别名]
def _reset(self):
pass
# reset your environment
# # reset state
# self.steps = 0
# self.done = False
#
# # reset pole on cart in starting poses
# p.resetBasePositionAndOrientation(self.cartpole, (0,0,0.08), (0,0,0,1)) # reset cart position and orientation
# p.resetJointState(self.cartpole, 0, 0) # reset joint position of pole
# for _ in xrange(100): p.stepSimulation()
#
# # give a fixed force push in a random direction to get things going...
# theta = (np.random.random()*2-1) if self.random_theta else 0.0
# for _ in xrange(self.initial_force_steps):
# p.stepSimulation()
# p.applyExternalForce(self.cartpole, 0, (theta, 0 , 0), (0, 0, 0), p.WORLD_FRAME)
# if self.delay > 0:
# time.sleep(self.delay)
#
# # bootstrap state by running for all repeats
# for i in xrange(self.repeats):
# self.set_state_element_for_repeat(i)
#
# # return this state
# return np.copy(self.state)