PyBullet: add ANYmal.py quadruped example, usage:

pip install pybullet
python -m pybullet_envs.examples.ANYmal
This commit is contained in:
Erwin Coumans
2018-05-25 07:54:38 +10:00
parent ab7bbf4396
commit 5de53d7355

View File

@@ -0,0 +1,51 @@
import pybullet as p
import pybullet_data
import time
p.connect(p.GUI)
p.setAdditionalSearchPath(pybullet_data.getDataPath())
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0)
p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
ground = p.loadURDF("plane.urdf",[0,0,0], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
p.changeVisualShape(ground,-1,rgbaColor=[1,1,1,0.8])
#p.configureDebugVisualizer(p.COV_ENABLE_PLANAR_REFLECTION,1)
print("hasNumpy = ",p.isNumpyEnabled())
anymal = p.loadURDF("quadruped/ANYmal/robot.urdf",[3,3,3], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES, useMaximalCoordinates=False)
p.resetSimulation()
ground = p.loadURDF("plane.urdf",[0,0,0], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
#todo, tweak this value to trade solver quality versus performance
p.setPhysicsEngineParameter(solverResidualThreshold=1e-2)
index = 0
numX = 3
numY = 3
for i in range (numX):
for j in range (numY):
print("loading animal ", index)
index+=1
#anymal = p.loadURDF("atlas/atlas_v4_with_multisense.urdf",[i*3,j*3,1], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
anymal = p.loadURDF("quadruped/ANYmal/robot.urdf",[(i-numX/2)*2,(j-numY/2)*2,0.6], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES, useMaximalCoordinates=False)
for j in range(p.getNumJoints(anymal)):
p.setJointMotorControl2(anymal,j,p.POSITION_CONTROL,targetPosition=0, force=500)
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1)
p.setGravity(0,0,-10)
#p.setRealTimeSimulation(1)
while (1):
p.stepSimulation()
time.sleep(1./240.)