Add LinkerHand Isaac Sim bridge and G20 assets.

Includes G20 PLAN/cmd_u8 bridge, joint mapping, dual-hand sim scripts,
and G20/L20/O6 URDF with USD payloads for Isaac Sim integration.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
sunxianghui
2026-07-27 14:13:00 +08:00
commit 0b727785c6
134 changed files with 17662 additions and 0 deletions
@@ -0,0 +1,582 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_l20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./physics.usda@
]
upAxis = "Z"
)
over "linkerhand_l20_left"
{
over "Physics"
{
def MjcActuator "pinky_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/pinky_mcp_roll>
}
def MjcActuator "pinky_mcp_pitch_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/pinky_mcp_pitch>
}
def MjcActuator "pinky_pip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/pinky_pip>
}
def MjcActuator "pinky_dip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/pinky_dip>
}
def MjcActuator "ring_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/ring_mcp_roll>
}
def MjcActuator "ring_mcp_pitch_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/ring_mcp_pitch>
}
def MjcActuator "ring_pip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/ring_pip>
}
def MjcActuator "ring_dip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/ring_dip>
}
def MjcActuator "middle_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/middle_mcp_roll>
}
def MjcActuator "middle_mcp_pitch_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/middle_mcp_pitch>
}
def MjcActuator "middle_pip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/middle_pip>
}
def MjcActuator "middle_dip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/middle_dip>
}
def MjcActuator "index_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/index_mcp_roll>
}
def MjcActuator "index_mcp_pitch_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/index_mcp_pitch>
}
def MjcActuator "index_pip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/index_pip>
}
def MjcActuator "index_dip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/index_dip>
}
def MjcActuator "thumb_cmc_yaw_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/thumb_cmc_yaw>
}
def MjcActuator "thumb_cmc_roll_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/thumb_cmc_roll>
}
def MjcActuator "thumb_cmc_pitch_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/thumb_cmc_pitch>
}
def MjcActuator "thumb_mcp_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/thumb_mcp>
}
def MjcActuator "thumb_ip_actuator"
{
uniform double mjc:forceRange:max = 1
uniform double mjc:forceRange:min = -1
custom rel mjc:target
prepend rel mjc:target = </linkerhand_l20_left/Physics/thumb_ip>
}
over "root_joint"
{
}
over "pinky_mcp_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "pinky_mcp_pitch" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "pinky_pip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "pinky_dip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "ring_mcp_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "ring_mcp_pitch" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "ring_pip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "ring_dip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "middle_mcp_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "middle_mcp_pitch" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "middle_pip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "middle_dip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "index_mcp_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "index_mcp_pitch" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "index_pip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "index_dip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_cmc_yaw" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_cmc_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_cmc_pitch" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_mcp" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_ip" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
}
over "Geometry"
{
over "hand_base_link"
{
over "pinky_metacarpals"
{
over "pinky_proximal"
{
over "pinky_middle"
{
over "pinky_distal"
{
over "pinky_distal"
{
}
over "pinky_distal_1"
{
}
}
over "pinky_middle"
{
}
over "pinky_middle_1"
{
}
}
over "pinky_proximal"
{
}
over "pinky_proximal_1"
{
}
}
over "pinky_metacarpals"
{
}
over "pinky_metacarpals_1"
{
}
}
over "ring_metacarpals"
{
over "ring_proximal"
{
over "ring_middle"
{
over "ring_distal"
{
over "ring_distal"
{
}
over "ring_distal_1"
{
}
}
over "ring_middle"
{
}
over "ring_middle_1"
{
}
}
over "ring_proximal"
{
}
over "ring_proximal_1"
{
}
}
over "ring_metacarpals"
{
}
over "ring_metacarpals_1"
{
}
}
over "middle_metacarpals"
{
over "middle_proximal"
{
over "middle_middle"
{
over "middle_distal"
{
over "middle_distal"
{
}
over "middle_distal_1"
{
}
}
over "middle_middle"
{
}
over "middle_middle_1"
{
}
}
over "middle_proximal"
{
}
over "middle_proximal_1"
{
}
}
over "middle_metacarpals"
{
}
over "middle_metacarpals_1"
{
}
}
over "index_metacarpals"
{
over "index_proximal"
{
over "index_middle"
{
over "index_distal"
{
over "index_distal"
{
}
over "index_distal_1"
{
}
}
over "index_middle"
{
}
over "index_middle_1"
{
}
}
over "index_proximal"
{
}
over "index_proximal_1"
{
}
}
over "index_metacarpals"
{
}
over "index_metacarpals_1"
{
}
}
over "thumb_metacarpals_base2"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals"
{
over "thumb_proximal"
{
over "thumb_distal"
{
over "thumb_distal"
{
}
over "thumb_distal_1"
{
}
}
over "thumb_proximal"
{
}
over "thumb_proximal_1"
{
}
}
over "thumb_metacarpals"
{
}
over "thumb_metacarpals_1"
{
}
}
over "thumb_metacarpals_base1"
{
}
over "thumb_metacarpals_base1_1"
{
}
}
over "thumb_metacarpals_base2"
{
}
over "thumb_metacarpals_base2_1"
{
}
}
over "hand_base_link"
{
}
over "hand_base_link_1"
{
}
}
}
over "Materials"
{
}
over "VisualMaterials"
{
}
}
@@ -0,0 +1,694 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_l20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
over "linkerhand_l20_left"
{
over "Geometry"
{
over "hand_base_link" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsArticulationRootAPI", "NewtonArticulationRootAPI", "PhysicsMassAPI"]
)
{
bool newton:selfCollisionEnabled = 0
point3f physics:centerOfMass = (-0.0116727725, 0.0023917088, 0.08717629)
float3 physics:diagonalInertia = (0.00009926712, 0.000186614, 0.00027272134)
float physics:mass = 0.10108445
quatf physics:principalAxes = (0.68135417, -0.0042015105, 0.73193634, -0.0028345578)
over "pinky_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.01127336, 5.5879735e-7, 0.0022016335)
float3 physics:diagonalInertia = (2.688093e-8, 3.2323626e-8, 4.510111e-8)
float physics:mass = 0.000876741
quatf physics:principalAxes = (-0.16874419, 0.6866895, 0.68666375, 0.16874777)
over "pinky_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0025991977, 0.000018026341, 0.022354048)
float3 physics:diagonalInertia = (1.075331e-7, 6.213918e-7, 6.5115984e-7)
float physics:mass = 0.0037241937
quatf physics:principalAxes = (0.48825243, 0.4883892, 0.511191, 0.511634)
over "pinky_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00021099352, 0.0000028486395, 0.016837623)
float3 physics:diagonalInertia = (9.68419e-8, 1.8334333e-7, 2.3855722e-7)
float physics:mass = 0.0024073792
quatf physics:principalAxes = (0.6712686, -0.0000017148097, 0.7412142, 0.0000113519045)
over "pinky_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00808923, 0.000019308107, 0.007983399)
float3 physics:diagonalInertia = (8.634609e-8, 1.7910685e-7, 2.0911786e-7)
float physics:mass = 0.0034042916
quatf physics:principalAxes = (0.43734092, -0.00058309664, 0.8992954, 0.0005812942)
}
}
}
}
over "ring_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.01127336, 5.5879735e-7, 0.0022016335)
float3 physics:diagonalInertia = (2.688093e-8, 3.2323626e-8, 4.510111e-8)
float physics:mass = 0.000876741
quatf physics:principalAxes = (-0.16874419, 0.6866895, 0.68666375, 0.16874777)
over "ring_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0025991977, 0.000018026341, 0.022354048)
float3 physics:diagonalInertia = (1.075331e-7, 6.213918e-7, 6.5115984e-7)
float physics:mass = 0.0037241937
quatf physics:principalAxes = (0.48825243, 0.4883892, 0.511191, 0.511634)
over "ring_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0002109929, 0.0000028491947, 0.016837623)
float3 physics:diagonalInertia = (9.6841916e-8, 1.8334333e-7, 2.3855722e-7)
float physics:mass = 0.0024073794
quatf physics:principalAxes = (0.6712686, -0.0000016942307, 0.7412142, 0.000011425998)
over "ring_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00808923, 0.000019308129, 0.007983399)
float3 physics:diagonalInertia = (8.634609e-8, 1.7910685e-7, 2.0911786e-7)
float physics:mass = 0.0034042916
quatf physics:principalAxes = (0.43734092, -0.0005831002, 0.8992954, 0.0005812897)
}
}
}
}
over "middle_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.01127336, 5.5879735e-7, 0.0022016335)
float3 physics:diagonalInertia = (2.688093e-8, 3.2323626e-8, 4.510111e-8)
float physics:mass = 0.000876741
quatf physics:principalAxes = (-0.16874419, 0.6866895, 0.68666375, 0.16874777)
over "middle_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0025991977, 0.000018026341, 0.022354048)
float3 physics:diagonalInertia = (1.075331e-7, 6.213918e-7, 6.5115984e-7)
float physics:mass = 0.0037241937
quatf physics:principalAxes = (0.48825243, 0.4883892, 0.511191, 0.511634)
over "middle_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00021099295, 0.000002849104, 0.016837623)
float3 physics:diagonalInertia = (9.6841916e-8, 1.8334333e-7, 2.3855722e-7)
float physics:mass = 0.0024073794
quatf physics:principalAxes = (0.6712686, -0.0000017088329, 0.7412142, 0.000011426379)
over "middle_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00808923, 0.000019306884, 0.007983399)
float3 physics:diagonalInertia = (8.634607e-8, 1.7910686e-7, 2.0911783e-7)
float physics:mass = 0.0034042913
quatf physics:principalAxes = (0.43734092, -0.00058307627, 0.89929545, 0.00058126054)
}
}
}
}
over "index_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.01127336, 5.5879735e-7, 0.0022016335)
float3 physics:diagonalInertia = (2.688093e-8, 3.2323626e-8, 4.510111e-8)
float physics:mass = 0.000876741
quatf physics:principalAxes = (-0.16874419, 0.6866895, 0.68666375, 0.16874777)
over "index_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0025991977, 0.000018026341, 0.022354048)
float3 physics:diagonalInertia = (1.075331e-7, 6.213918e-7, 6.5115984e-7)
float physics:mass = 0.0037241937
quatf physics:principalAxes = (0.48825243, 0.4883892, 0.511191, 0.511634)
over "index_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0002109937, 0.000002848504, 0.016837623)
float3 physics:diagonalInertia = (9.68419e-8, 1.8334332e-7, 2.3855722e-7)
float physics:mass = 0.002407379
quatf physics:principalAxes = (0.6712686, -0.0000017342365, 0.7412142, 0.000011354987)
over "index_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00808923, 0.000019308074, 0.007983399)
float3 physics:diagonalInertia = (8.634609e-8, 1.7910685e-7, 2.0911786e-7)
float physics:mass = 0.0034042916
quatf physics:principalAxes = (0.43734092, -0.00058310083, 0.8992954, 0.0005812904)
}
}
}
}
over "thumb_metacarpals_base2" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.02371242, -0.0032577133, -0.0017911186)
float3 physics:diagonalInertia = (1.1234051e-8, 6.543079e-8, 6.770053e-8)
float physics:mass = 0.0009972232
quatf physics:principalAxes = (-0.35413897, 0.5960251, 0.36731312, 0.6200167)
over "thumb_metacarpals_base1" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.0011972568, -0.006213203, 0.009803273)
float3 physics:diagonalInertia = (3.0495187e-7, 5.8936433e-7, 7.4814983e-7)
float physics:mass = 0.0045973556
quatf physics:principalAxes = (0.74903965, 0.1874994, 0.62139153, -0.13287634)
over "thumb_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.003908665, -0.0010197475, 0.025965149)
float3 physics:diagonalInertia = (0.0000023184932, 0.000008088414, 0.000009564724)
float physics:mass = 0.022965211
quatf physics:principalAxes = (0.4916204, 0.49165696, 0.5082044, 0.50824314)
over "thumb_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0015952424, -0.0013767378, 0.012809113)
float3 physics:diagonalInertia = (2.190736e-7, 4.8410817e-7, 6.1635996e-7)
float physics:mass = 0.005159339
quatf physics:principalAxes = (0.57155734, 0.56299645, 0.41924012, 0.42496464)
over "thumb_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.006749175, 0.001465402, 0.01296435)
float3 physics:diagonalInertia = (8.498717e-8, 2.6375918e-7, 2.7693662e-7)
float physics:mass = 0.004089755
quatf physics:principalAxes = (0.38330695, 0.37363276, 0.5807098, 0.6133926)
}
}
}
}
}
}
}
over "Physics"
{
def PhysicsRevoluteJoint "pinky_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals>
point3f physics:localPos0 = (-0.028670534, 0.038101938, 0.1503127)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -9.740282
float physics:upperLimit = 9.740282
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>
point3f physics:localPos0 = (0.016769808, -0.0000126288305, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>
point3f physics:localPos0 = (-0.0041945525, 0, 0.044819437)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 89.95438
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
float newton:mimicCoef1 = 0.8917
rel newton:mimicJoint = </linkerhand_l20_left/Physics/pinky_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle/pinky_distal>
point3f physics:localPos0 = (0.0027556196, 0, 0.031702425)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals>
point3f physics:localPos0 = (-0.0322943, 0.016501935, 0.15931144)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -9.740282
float physics:upperLimit = 9.740282
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>
point3f physics:localPos0 = (0.016769808, -0.0000126288305, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>
point3f physics:localPos0 = (-0.0041945525, 0, 0.044819437)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 89.95438
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
float newton:mimicCoef1 = 0.8917
rel newton:mimicJoint = </linkerhand_l20_left/Physics/ring_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle/ring_distal>
point3f physics:localPos0 = (0.0027556196, 0, 0.031702425)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals>
point3f physics:localPos0 = (-0.03459913, -0.005098064, 0.16380432)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -9.740282
float physics:upperLimit = 9.740282
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>
point3f physics:localPos0 = (0.016769808, -0.0000126288305, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>
point3f physics:localPos0 = (-0.0041945525, 0, 0.044819437)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 89.95438
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
float newton:mimicCoef1 = 0.8917
rel newton:mimicJoint = </linkerhand_l20_left/Physics/middle_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle/middle_distal>
point3f physics:localPos0 = (0.0027556196, 0, 0.031702425)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals>
point3f physics:localPos0 = (-0.02986529, -0.026698064, 0.15931144)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -9.740282
float physics:upperLimit = 9.740282
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>
point3f physics:localPos0 = (0.016769808, -0.0000126288305, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>
point3f physics:localPos0 = (-0.0041945525, 0, 0.044819437)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 89.95438
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
float newton:mimicCoef1 = 0.8917
rel newton:mimicJoint = </linkerhand_l20_left/Physics/index_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle/index_distal>
point3f physics:localPos0 = (0.0027556196, 0, 0.031702425)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_cmc_yaw" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2>
point3f physics:localPos0 = (-0.00091528, -0.0050818, 0.057392)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (0, 0, -1, 0)
quatf physics:localRot1 = (0, 0, -1, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 80.21409
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_cmc_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1>
point3f physics:localPos0 = (0.024508, -0.002864, 0.0035063)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (0.510268, 0.86001545, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 69.90085
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_cmc_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals>
point3f physics:localPos0 = (-0.0011523, -0.00048559, 0.030795)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (-0.6851425, 0.17486598, -0.17486534, -0.685145)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 45.263664
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_mcp" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals/thumb_proximal>
point3f physics:localPos0 = (0.0064539, 3.469447e-18, 0.055858)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 60.16057
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_ip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 1
float newton:mimicCoef1 = 1.1619
rel newton:mimicJoint = </linkerhand_l20_left/Physics/thumb_mcp>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals/thumb_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals/thumb_proximal/thumb_distal>
point3f physics:localPos0 = (0.0053547, 3.469447e-18, 0.034485)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 69.90085
custom float urdf:limit:effort = 1
custom float urdf:limit:velocity = 1
}
def PhysicsFixedJoint "root_joint"
{
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_l20_left>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_l20_left/Geometry/hand_base_link>
point3f physics:localPos0 = (0, 0, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
}
}
}
@@ -0,0 +1,178 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_l20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./physics.usda@
]
upAxis = "Z"
)
over "linkerhand_l20_left"
{
over "Physics"
{
over "pinky_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "pinky_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "pinky_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "pinky_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "ring_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "ring_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "ring_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "ring_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "middle_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "middle_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "middle_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "middle_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "index_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "index_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "index_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "index_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "thumb_cmc_yaw" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "thumb_cmc_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "thumb_cmc_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "thumb_mcp" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
over "thumb_ip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 57.29578
}
}
}
@@ -0,0 +1,728 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_l20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./robot.usda@
]
upAxis = "Z"
)
def Xform "linkerhand_l20_left" (
prepend apiSchemas = ["GeomModelAPI"]
assetInfo = {
string name = "linkerhand_l20_left"
}
kind = "component"
)
{
float3[] extentsHint = [(-0.03771345, -0.15657327, -1.4059577e-8), (0.038920756, 0.05546601, 0.2633897), (3.4028235e38, 3.4028235e38, 3.4028235e38), (-3.4028235e38, -3.4028235e38, -3.4028235e38), (3.4028235e38, 3.4028235e38, 3.4028235e38), (-3.4028235e38, -3.4028235e38, -3.4028235e38), (-0.03771345, -0.15657327, -1.4059577e-8), (0.038920756, 0.05546601, 0.2633897)]
def Scope "Materials"
{
}
def Scope "Geometry"
{
def Xform "hand_base_link"
{
def Xform "hand_base_link" (
instanceable = true
prepend references = @./instances.usda@</Instances/hand_base_link>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "pinky_metacarpals"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0286705351154727, 0.0381019360798378, 0.150312712339165)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "pinky_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0167698082541766, -0.0000126288306181443, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_proximal" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_proximal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "pinky_middle"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.00419455239160021, 0, 0.0448194355727413)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_middle" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_middle>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "pinky_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.00275561954550002, 0, 0.0317024252339397)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_distal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "pinky_distal_1" (
displayName = "pinky_distal"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "pinky_middle_1" (
displayName = "pinky_middle"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_middle_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "pinky_proximal_1" (
displayName = "pinky_proximal"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_proximal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "pinky_metacarpals_1" (
displayName = "pinky_metacarpals"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "ring_metacarpals"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0322943001717225, 0.0165019360798537, 0.1593114381003)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "ring_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0167698082541766, -0.0000126288306177003, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_proximal" (
instanceable = true
prepend references = @./instances.usda@</Instances/ring_proximal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "ring_middle"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.00419455239160021, 0, 0.0448194355727413)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_middle" (
instanceable = true
prepend references = @./instances.usda@</Instances/ring_middle>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "ring_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.00275561954550363, 0, 0.0317024242175084)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/ring_distal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "ring_distal_1" (
displayName = "ring_distal"
instanceable = true
prepend references = @./instances.usda@</Instances/ring_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "ring_middle_1" (
displayName = "ring_middle"
instanceable = true
prepend references = @./instances.usda@</Instances/ring_middle_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "ring_proximal_1" (
displayName = "ring_proximal"
instanceable = true
prepend references = @./instances.usda@</Instances/ring_proximal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "ring_metacarpals_1" (
displayName = "ring_metacarpals"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "middle_metacarpals"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0345991283789502, -0.00509806392012034, 0.163804328353988)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "middle_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "middle_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0167698082541766, -0.0000126288306171729, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "middle_proximal" (
instanceable = true
prepend references = @./instances.usda@</Instances/middle_proximal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "middle_middle"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.00419455239160021, 0, 0.0448194355727413)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "middle_middle" (
instanceable = true
prepend references = @./instances.usda@</Instances/middle_middle>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "middle_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.00275561954550102, 0, 0.0317024252339387)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "middle_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/middle_distal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "middle_distal_1" (
displayName = "middle_distal"
instanceable = true
prepend references = @./instances.usda@</Instances/middle_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "middle_middle_1" (
displayName = "middle_middle"
instanceable = true
prepend references = @./instances.usda@</Instances/middle_middle_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "middle_proximal_1" (
displayName = "middle_proximal"
instanceable = true
prepend references = @./instances.usda@</Instances/middle_proximal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "middle_metacarpals_1" (
displayName = "middle_metacarpals"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "index_metacarpals"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.029865288607565, -0.0266980639200853, 0.159311439204817)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "index_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "index_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0167698082541766, -0.0000126288306177003, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "index_proximal" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_proximal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "index_middle"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.00419455239160021, 0, 0.0448194355727413)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "index_middle" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_middle>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "index_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.00275561954550102, 0, 0.0317024252339397)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "index_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_distal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "index_distal_1" (
displayName = "index_distal"
instanceable = true
prepend references = @./instances.usda@</Instances/index_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "index_middle_1" (
displayName = "index_middle"
instanceable = true
prepend references = @./instances.usda@</Instances/index_middle_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "index_proximal_1" (
displayName = "index_proximal"
instanceable = true
prepend references = @./instances.usda@</Instances/index_proximal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "index_metacarpals_1" (
displayName = "index_metacarpals"
instanceable = true
prepend references = @./instances.usda@</Instances/pinky_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "thumb_metacarpals_base2"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.00091528, -0.0050818, 0.057392)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "thumb_metacarpals_base2" (
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals_base2>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "thumb_metacarpals_base1"
{
quatf xformOp:orient = (0.510268, 0.86001545, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.024508, -0.002864, 0.0035063)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "thumb_metacarpals_base1" (
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals_base1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "thumb_metacarpals"
{
quatf xformOp:orient = (0.6851425, -0.17486598, 0.17486534, 0.685145)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0011523, -0.00048559, 0.030795)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "thumb_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "thumb_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0064539, 0, 0.055858)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "thumb_proximal" (
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_proximal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "thumb_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0053547, 0, 0.034485)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "thumb_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_distal>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
def Xform "thumb_distal_1" (
displayName = "thumb_distal"
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "thumb_proximal_1" (
displayName = "thumb_proximal"
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_proximal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "thumb_metacarpals_1" (
displayName = "thumb_metacarpals"
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "thumb_metacarpals_base1_1" (
displayName = "thumb_metacarpals_base1"
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals_base1_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "thumb_metacarpals_base2_1" (
displayName = "thumb_metacarpals_base2"
instanceable = true
prepend references = @./instances.usda@</Instances/thumb_metacarpals_base2_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
def Xform "hand_base_link_1" (
displayName = "hand_base_link"
instanceable = true
prepend references = @./instances.usda@</Instances/hand_base_link_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
}
def Scope "Physics"
{
}
def Scope "VisualMaterials"
{
}
}
@@ -0,0 +1,708 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
def Scope "Instances"
{
def Xform "hand_base_link" (
prepend references = @./geometries.usd@</Geometries/hand_base_link>
)
{
over "hand_base_link" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/hand_base_link/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "hand_base_link_1" (
prepend references = @./geometries.usd@</Geometries/hand_base_link>
)
{
over "hand_base_link" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "pinky_metacarpals" (
prepend references = @./geometries.usd@</Geometries/pinky_metacarpals>
)
{
over "pinky_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/pinky_metacarpals/VisualMaterials/BlackAccent>
}
def Scope "VisualMaterials"
{
def Material "BlackAccent" (
instanceable = true
prepend references = @./materials.usda@</Materials/BlackAccent>
)
{
}
}
}
def Xform "pinky_metacarpals_1" (
prepend references = @./geometries.usd@</Geometries/pinky_metacarpals>
)
{
over "pinky_metacarpals" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "pinky_proximal" (
prepend references = @./geometries.usd@</Geometries/pinky_proximal>
)
{
over "pinky_proximal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/pinky_proximal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "pinky_proximal_1" (
prepend references = @./geometries.usd@</Geometries/pinky_proximal>
)
{
over "pinky_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "pinky_middle" (
prepend references = @./geometries.usd@</Geometries/pinky_middle>
)
{
over "pinky_middle" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/pinky_middle/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "pinky_middle_1" (
prepend references = @./geometries.usd@</Geometries/pinky_middle>
)
{
over "pinky_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "pinky_distal" (
prepend references = @./geometries.usd@</Geometries/pinky_distal>
)
{
over "pinky_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/pinky_distal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "pinky_distal_1" (
prepend references = @./geometries.usd@</Geometries/pinky_distal>
)
{
over "pinky_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "ring_proximal" (
prepend references = @./geometries.usd@</Geometries/ring_proximal>
)
{
over "ring_proximal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/ring_proximal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "ring_proximal_1" (
prepend references = @./geometries.usd@</Geometries/ring_proximal>
)
{
over "ring_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "ring_middle" (
prepend references = @./geometries.usd@</Geometries/ring_middle>
)
{
over "ring_middle" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/ring_middle/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "ring_middle_1" (
prepend references = @./geometries.usd@</Geometries/ring_middle>
)
{
over "ring_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "ring_distal" (
prepend references = @./geometries.usd@</Geometries/ring_distal>
)
{
over "ring_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/ring_distal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "ring_distal_1" (
prepend references = @./geometries.usd@</Geometries/ring_distal>
)
{
over "ring_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "middle_proximal" (
prepend references = @./geometries.usd@</Geometries/middle_proximal>
)
{
over "middle_proximal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/middle_proximal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "middle_proximal_1" (
prepend references = @./geometries.usd@</Geometries/middle_proximal>
)
{
over "middle_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "middle_middle" (
prepend references = @./geometries.usd@</Geometries/middle_middle>
)
{
over "middle_middle" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/middle_middle/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "middle_middle_1" (
prepend references = @./geometries.usd@</Geometries/middle_middle>
)
{
over "middle_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "middle_distal" (
prepend references = @./geometries.usd@</Geometries/middle_distal>
)
{
over "middle_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/middle_distal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "middle_distal_1" (
prepend references = @./geometries.usd@</Geometries/middle_distal>
)
{
over "middle_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "index_proximal" (
prepend references = @./geometries.usd@</Geometries/index_proximal>
)
{
over "index_proximal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_proximal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "index_proximal_1" (
prepend references = @./geometries.usd@</Geometries/index_proximal>
)
{
over "index_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "index_middle" (
prepend references = @./geometries.usd@</Geometries/index_middle>
)
{
over "index_middle" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_middle/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "index_middle_1" (
prepend references = @./geometries.usd@</Geometries/index_middle>
)
{
over "index_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "index_distal" (
prepend references = @./geometries.usd@</Geometries/index_distal>
)
{
over "index_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_distal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "index_distal_1" (
prepend references = @./geometries.usd@</Geometries/index_distal>
)
{
over "index_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "thumb_metacarpals_base2" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base2>
)
{
over "thumb_metacarpals_base2" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/thumb_metacarpals_base2/VisualMaterials/BlackAccent>
}
def Scope "VisualMaterials"
{
def Material "BlackAccent" (
instanceable = true
prepend references = @./materials.usda@</Materials/BlackAccent>
)
{
}
}
}
def Xform "thumb_metacarpals_base2_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base2>
)
{
over "thumb_metacarpals_base2" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "thumb_metacarpals_base1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base1>
)
{
over "thumb_metacarpals_base1" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/thumb_metacarpals_base1/VisualMaterials/BlackAccent>
}
def Scope "VisualMaterials"
{
def Material "BlackAccent" (
instanceable = true
prepend references = @./materials.usda@</Materials/BlackAccent>
)
{
}
}
}
def Xform "thumb_metacarpals_base1_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base1>
)
{
over "thumb_metacarpals_base1" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "thumb_metacarpals" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals>
)
{
over "thumb_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/thumb_metacarpals/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "thumb_metacarpals_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals>
)
{
over "thumb_metacarpals" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "thumb_proximal" (
prepend references = @./geometries.usd@</Geometries/thumb_proximal>
)
{
over "thumb_proximal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/thumb_proximal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "thumb_proximal_1" (
prepend references = @./geometries.usd@</Geometries/thumb_proximal>
)
{
over "thumb_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "thumb_distal" (
prepend references = @./geometries.usd@</Geometries/thumb_distal>
)
{
over "thumb_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/thumb_distal/VisualMaterials/silver>
}
def Scope "VisualMaterials"
{
def Material "silver" (
instanceable = true
prepend references = @./materials.usda@</Materials/silver>
)
{
}
}
}
def Xform "thumb_distal_1" (
prepend references = @./geometries.usd@</Geometries/thumb_distal>
)
{
over "thumb_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
}
@@ -0,0 +1,90 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/l20/left/linkerhand_l20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
def Scope "Materials"
{
def Material "silver"
{
color3f inputs:diffuseColor = (0.21404114, 0.21404114, 0.23302203)
float inputs:metallic = 0
float inputs:opacity = 1
float inputs:roughness = 0.5
token inputs:wrapMode = "repeat"
token outputs:displacement (
displayGroup = "Outputs"
)
prepend token outputs:displacement.connect = </Materials/silver/PreviewSurface.outputs:displacement>
token outputs:surface (
displayGroup = "Outputs"
)
prepend token outputs:surface.connect = </Materials/silver/PreviewSurface.outputs:surface>
token outputs:volume (
displayGroup = "Outputs"
)
def Shader "PreviewSurface" (
apiSchemas = ["NodeDefAPI"]
)
{
token info:id = "UsdPreviewSurface"
prepend color3f inputs:diffuseColor.connect = </Materials/silver.inputs:diffuseColor>
prepend float inputs:metallic.connect = </Materials/silver.inputs:metallic>
prepend float inputs:opacity.connect = </Materials/silver.inputs:opacity>
prepend float inputs:roughness.connect = </Materials/silver.inputs:roughness>
token outputs:displacement
token outputs:surface
}
}
def Material "BlackAccent"
{
color3f inputs:diffuseColor = (0.01960665, 0.01960665, 0.01960665)
float inputs:metallic = 0
float inputs:opacity = 1
float inputs:roughness = 0.5
token inputs:wrapMode = "repeat"
token outputs:displacement (
displayGroup = "Outputs"
)
prepend token outputs:displacement.connect = </Materials/BlackAccent/PreviewSurface.outputs:displacement>
token outputs:surface (
displayGroup = "Outputs"
)
prepend token outputs:surface.connect = </Materials/BlackAccent/PreviewSurface.outputs:surface>
token outputs:volume (
displayGroup = "Outputs"
)
def Shader "PreviewSurface" (
apiSchemas = ["NodeDefAPI"]
)
{
token info:id = "UsdPreviewSurface"
prepend color3f inputs:diffuseColor.connect = </Materials/BlackAccent.inputs:diffuseColor>
prepend float inputs:metallic.connect = </Materials/BlackAccent.inputs:metallic>
prepend float inputs:opacity.connect = </Materials/BlackAccent.inputs:opacity>
prepend float inputs:roughness.connect = </Materials/BlackAccent.inputs:roughness>
token outputs:displacement
token outputs:surface
}
}
}
@@ -0,0 +1,327 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_l20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp7daip3z6/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/usdex_linkerhand_l20_left/linkerhand_l20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_l20_left_dqwe6zav/temp_linkerhand_l20_left/linkerhand_l20_left.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
over "linkerhand_l20_left" (
prepend apiSchemas = ["IsaacRobotAPI"]
)
{
prepend rel isaac:physics:robotJoints = [
</linkerhand_l20_left/Physics/root_joint>,
</linkerhand_l20_left/Physics/pinky_mcp_roll>,
</linkerhand_l20_left/Physics/ring_mcp_roll>,
</linkerhand_l20_left/Physics/middle_mcp_roll>,
</linkerhand_l20_left/Physics/index_mcp_roll>,
</linkerhand_l20_left/Physics/thumb_cmc_yaw>,
</linkerhand_l20_left/Physics/pinky_mcp_pitch>,
</linkerhand_l20_left/Physics/pinky_pip>,
</linkerhand_l20_left/Physics/pinky_dip>,
</linkerhand_l20_left/Physics/ring_mcp_pitch>,
</linkerhand_l20_left/Physics/ring_pip>,
</linkerhand_l20_left/Physics/ring_dip>,
</linkerhand_l20_left/Physics/middle_mcp_pitch>,
</linkerhand_l20_left/Physics/middle_pip>,
</linkerhand_l20_left/Physics/middle_dip>,
</linkerhand_l20_left/Physics/index_mcp_pitch>,
</linkerhand_l20_left/Physics/index_pip>,
</linkerhand_l20_left/Physics/index_dip>,
</linkerhand_l20_left/Physics/thumb_cmc_roll>,
</linkerhand_l20_left/Physics/thumb_cmc_pitch>,
</linkerhand_l20_left/Physics/thumb_mcp>,
</linkerhand_l20_left/Physics/thumb_ip>,
]
prepend rel isaac:physics:robotLinks = [
</linkerhand_l20_left/Geometry/hand_base_link>,
</linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals>,
</linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>,
</linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>,
</linkerhand_l20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle/pinky_distal>,
</linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals>,
</linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>,
</linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>,
</linkerhand_l20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle/ring_distal>,
</linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals>,
</linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>,
</linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>,
</linkerhand_l20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle/middle_distal>,
</linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals>,
</linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>,
</linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>,
</linkerhand_l20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle/index_distal>,
</linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2>,
</linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1>,
</linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals>,
</linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals/thumb_proximal>,
</linkerhand_l20_left/Geometry/hand_base_link/thumb_metacarpals_base2/thumb_metacarpals_base1/thumb_metacarpals/thumb_proximal/thumb_distal>,
]
token isaac:robotType = "Default"
over "Geometry"
{
over "hand_base_link" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
over "ring_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "ring_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "ring_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "ring_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
over "middle_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
over "index_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "index_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "index_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "index_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
over "thumb_metacarpals_base2" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_metacarpals_base1" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
}
}
}
over "Physics"
{
over "root_joint" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "pinky_mcp_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "pinky_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "pinky_pip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "pinky_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "ring_mcp_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "ring_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "ring_pip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "ring_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "middle_mcp_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "middle_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "middle_pip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "middle_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "index_mcp_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "index_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "index_pip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "index_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_yaw" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_mcp" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_ip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
}
}