qbhf2's picture
added NvidiaWarp and GarmentCode repos
66c9c8a
# Copyright (c) 2022 NVIDIA CORPORATION. All rights reserved.
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
###########################################################################
# Cartpole environment
#
# Shows how to set up a simulation of a rigid-body cartpole articulation
# from a URDF using the Environment class.
# Note this example does not include a trained policy.
#
###########################################################################
import os
import math
import warp as wp
import warp.sim
from environment import Environment, run_env
class CartpoleEnvironment(Environment):
sim_name = "env_cartpole"
env_offset = (2.0, 0.0, 2.0)
opengl_render_settings = dict(scaling=3.0)
usd_render_settings = dict(scaling=100.0)
sim_substeps_euler = 32
sim_substeps_xpbd = 5
activate_ground_plane = False
show_joints = True
def create_articulation(self, builder):
wp.sim.parse_urdf(
os.path.join(os.path.dirname(__file__), "../assets/cartpole.urdf"),
builder,
xform=wp.transform((0.0, 0.0, 0.0), wp.quat_from_axis_angle(wp.vec3(1.0, 0.0, 0.0), -math.pi * 0.5)),
floating=False,
armature=0.1,
stiffness=0.0,
damping=0.0,
shape_ke=1.0e4,
shape_kd=1.0e2,
shape_kf=1.0e2,
shape_mu=1.0,
limit_ke=1.0e4,
limit_kd=1.0e1,
enable_self_collisions=False,
)
# joint initial positions
builder.joint_q[-3:] = [0.0, 0.3, 0.0]
builder.joint_target[:3] = [0.0, 0.0, 0.0]
if __name__ == "__main__":
run_env(CartpoleEnvironment)