def __init__(self): client = p.connect(p.GUI) p.setTimeOut(2) p.setGravity(0, 0, -9.8) self.speed = 20 self.walls = [] self.wallThickness = 0.1 self.wallHeight = 1 self.wallColor = [1, 1, 1, 1] self.agent = 'r2d2.urdf' self.rotationSpeed = 20 self.max_timesteps = 10000 self.spawnPos = [0, 0, 1] self.spawnOrn = p.getQuaternionFromEuler([0, 0, 0]) self.prevAction = -1 self.forces = 100 self.frameStackSize = 4 self.frames = [] self.collisionDetected = False self.counter = 0 self.K = 3 self.viewer = None self.imgHeight = self.imgWidth = 300 self.screen = None p.setAdditionalSearchPath(pybullet_data.getDataPath())
maxKneeForce = 1000 physId = p.connect(p.SHARED_MEMORY) if (physId < 0): p.connect(p.GUI) #p.resetSimulation() angle = 0 # pick in range 0..0.2 radians orn = p.getQuaternionFromEuler([0, angle, 0]) p.loadURDF("plane.urdf", [0, 0, 0], orn) p.setPhysicsEngineParameter(numSolverIterations=numSolverIterations) p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof=16, logFlags=p.STATE_LOG_JOINT_TORQUES) p.setTimeOut(4000000) p.setGravity(0, 0, 0) p.setTimeStep(fixedTimeStep) orn = p.getQuaternionFromEuler([0, 0, 0.4]) p.setRealTimeSimulation(0) quadruped = p.loadURDF("quadruped/minitaur_v1.urdf", [1, -1, .3], orn, useFixedBase=False, useMaximalCoordinates=useMaximalCoordinates) nJoints = p.getNumJoints(quadruped) jointNameToId = {} for i in range(nJoints): jointInfo = p.getJointInfo(quadruped, i)
import pybullet as p import time import math import sys sys.path.append(".") from minitaur import Minitaur p.connect(p.GUI) p.setTimeOut(5) #p.setPhysicsEngineParameter(numSolverIterations=50) p.setGravity(0, 0, -10) p.setTimeStep(0.01) urdfRoot = '' p.loadURDF("%s/plane.urdf" % urdfRoot) minitaur = Minitaur(urdfRoot) while (True): p.stepSimulation() time.sleep(0.01)
physId = p.connect(p.SHARED_MEMORY_GUI) if physId < 0: p.connect(p.GUI) # p.resetSimulation() p.setAdditionalSearchPath(pybullet_data.getDataPath()) angle = 0 # pick in range 0..0.2 radians orn = p.getQuaternionFromEuler([0, angle, 0]) p.loadURDF("plane.urdf", [0, 0, 0], orn) p.setPhysicsEngineParameter(numSolverIterations=numSolverIterations) p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof=16, logFlags=p.STATE_LOG_JOINT_TORQUES) p.setTimeOut(4) p.setGravity(0, 0, 0) p.setTimeStep(fixedTimeStep) orn = p.getQuaternionFromEuler([0, 0, 0.4]) p.setRealTimeSimulation(0) quadruped = p.loadURDF( "quadruped/minitaur_v1.urdf", [1, -1, 0.3], orn, useFixedBase=False, useMaximalCoordinates=useMaximalCoordinates, flags=p.URDF_USE_IMPLICIT_CYLINDER, ) nJoints = p.getNumJoints(quadruped)
import pybullet as p import time import math import sys sys.path.append(".") from minitaur import Minitaur p.connect(p.GUI) p.setTimeOut(5) #p.setPhysicsEngineParameter(numSolverIterations=50) p.setGravity(0,0,-10) p.setTimeStep(0.01) urdfRoot = '' p.loadURDF("%s/plane.urdf" % urdfRoot) minitaur = Minitaur(urdfRoot) while (True): p.stepSimulation() time.sleep(0.01)
if useYUp: p.configureDebugVisualizer(p.COV_ENABLE_Y_AXIS_UP, 1) from pdControllerExplicit import PDControllerExplicitMultiDof from pdControllerStable import PDControllerStableMultiDof explicitPD = PDControllerExplicitMultiDof(p) stablePD = PDControllerStableMultiDof(p) p.resetDebugVisualizerCamera(cameraDistance=7, cameraYaw=-94, cameraPitch=-14, cameraTargetPosition=[0.31, 0.03, -1.16]) import pybullet_data p.setTimeOut(10000) useMotionCapture = False useMotionCaptureReset = False #not useMotionCapture useExplicitPD = True p.setAdditionalSearchPath(pybullet_data.getDataPath()) p.setPhysicsEngineParameter(numSolverIterations=30) #p.setPhysicsEngineParameter(solverResidualThreshold=1e-30) #explicit PD control requires small timestep timeStep = 1. / 600. #timeStep = 1./240. p.setPhysicsEngineParameter(fixedTimeStep=timeStep) path = pybullet_data.getDataPath() + "/data/motions/humanoid3d_backflip.txt"
useZUp = False useYUp = not useZUp if useYUp: p.configureDebugVisualizer(p.COV_ENABLE_Y_AXIS_UP , 1) from pdControllerExplicit import PDControllerExplicitMultiDof from pdControllerStable import PDControllerStableMultiDof explicitPD = PDControllerExplicitMultiDof(p) stablePD = PDControllerStableMultiDof(p) p.resetDebugVisualizerCamera(cameraDistance=7, cameraYaw=-94, cameraPitch=-14, cameraTargetPosition=[0.31,0.03,-1.16]) import pybullet_data p.setTimeOut(10000) useMotionCapture=False useMotionCaptureReset=False#not useMotionCapture useExplicitPD = True p.setAdditionalSearchPath(pybullet_data.getDataPath()) p.setPhysicsEngineParameter(numSolverIterations=30) #p.setPhysicsEngineParameter(solverResidualThreshold=1e-30) #explicit PD control requires small timestep timeStep = 1./600. #timeStep = 1./240. p.setPhysicsEngineParameter(fixedTimeStep=timeStep) path = pybullet_data.getDataPath()+"/motions/humanoid3d_backflip.txt"
maxKneeForce = 1000 physId = p.connect(p.SHARED_MEMORY) if (physId < 0): p.connect(p.GUI) #p.resetSimulation() angle = 0 # pick in range 0..0.2 radians orn = p.getQuaternionFromEuler([0, angle, 0]) p.loadURDF("plane.urdf", [0, 0, 0], orn) p.setPhysicsEngineParameter(numSolverIterations=numSolverIterations) p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof=16, logFlags=p.STATE_LOG_JOINT_TORQUES) p.setTimeOut(4000000) p.setGravity(0, 0, 0) p.setTimeStep(fixedTimeStep) orn = p.getQuaternionFromEuler([0, 0, 0.4]) p.setRealTimeSimulation(0) quadruped = p.loadURDF("quadruped/minitaur_v1.urdf", [1, -1, .3], orn, useFixedBase=False, useMaximalCoordinates=useMaximalCoordinates, flags=p.URDF_USE_IMPLICIT_CYLINDER) nJoints = p.getNumJoints(quadruped) jointNameToId = {} for i in range(nJoints):
amplitude = 0.8 jump_amp = 0.5 maxForce = 3.5 kneeFrictionForce = 0.00 kp = 1 kd = .1 physId = p.connect(p.SHARED_MEMORY) if (physId<0): p.connect(p.GUI) #p.resetSimulation() p.loadURDF("plane.urdf",0,0,0) p.setPhysicsEngineParameter(numSolverIterations=50) p.setTimeOut(4) p.setGravity(0,0,0) p.setTimeStep(fixedTimeStep) orn = p.getQuaternionFromEuler([0,0,0.4]) p.setRealTimeSimulation(0) quadruped = p.loadURDF("quadruped/minitaur.urdf",[1,0,0.2],orn,useFixedBase=False) nJoints = p.getNumJoints(quadruped) jointNameToId = {} for i in range(nJoints): jointInfo = p.getJointInfo(quadruped, i) jointNameToId[jointInfo[1].decode('UTF-8')] = jointInfo[0]