PyBullet: add ANYmal.py quadruped example, usage:
pip install pybullet python -m pybullet_envs.examples.ANYmal
This commit is contained in:
51
examples/pybullet/gym/pybullet_envs/examples/ANYmal.py
Normal file
51
examples/pybullet/gym/pybullet_envs/examples/ANYmal.py
Normal 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.)
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user