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:
@@ -0,0 +1,332 @@
|
||||
#usda 1.0
|
||||
(
|
||||
customLayerData = {
|
||||
string creator = "URDF USD Converter v0.1.3"
|
||||
}
|
||||
defaultPrim = "linkerhand_o6_left"
|
||||
doc = """Generated from Composed Stage of root layer /tmp/tmp43xsk_0z/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/usdex_linkerhand_o6_left/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/temp_linkerhand_o6_left/linkerhand_o6_left.usd
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/o6/left/linkerhand_o6_left/payloads/base.usd
|
||||
"""
|
||||
kilogramsPerUnit = 1
|
||||
metersPerUnit = 1
|
||||
subLayers = [
|
||||
@./physics.usda@
|
||||
]
|
||||
upAxis = "Z"
|
||||
)
|
||||
|
||||
over "linkerhand_o6_left"
|
||||
{
|
||||
over "Physics"
|
||||
{
|
||||
def MjcActuator "lh_thumb_cmc_yaw_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_thumb_cmc_yaw>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_thumb_cmc_pitch_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_thumb_cmc_pitch>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_thumb_ip_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_thumb_ip>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_index_mcp_pitch_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_index_mcp_pitch>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_index_dip_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_index_dip>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_middle_mcp_pitch_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_middle_mcp_pitch>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_middle_dip_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_middle_dip>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_ring_mcp_pitch_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_ring_mcp_pitch>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_ring_dip_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_ring_dip>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_pinky_mcp_pitch_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_pinky_mcp_pitch>
|
||||
}
|
||||
|
||||
def MjcActuator "lh_pinky_dip_actuator"
|
||||
{
|
||||
uniform double mjc:forceRange:max = 100
|
||||
uniform double mjc:forceRange:min = -100
|
||||
custom rel mjc:target
|
||||
prepend rel mjc:target = </linkerhand_o6_left/Physics/lh_pinky_dip>
|
||||
}
|
||||
|
||||
over "root_joint"
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_thumb_cmc_yaw" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_thumb_cmc_pitch" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_thumb_ip" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_index_mcp_pitch" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_index_dip" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_middle_mcp_pitch" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_middle_dip" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_ring_mcp_pitch" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_ring_dip" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_pinky_mcp_pitch" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
over "lh_pinky_dip" (
|
||||
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "Geometry"
|
||||
{
|
||||
over "lh_hand_base_link"
|
||||
{
|
||||
over "lh_thumb_metacarpals_base2"
|
||||
{
|
||||
over "lh_thumb_metacarpals"
|
||||
{
|
||||
over "lh_thumb_distal"
|
||||
{
|
||||
over "thumb_distal"
|
||||
{
|
||||
}
|
||||
|
||||
over "thumb_distal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "thumb_metacarpals"
|
||||
{
|
||||
}
|
||||
|
||||
over "thumb_metacarpals_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "thumb_metacarpals_base2"
|
||||
{
|
||||
}
|
||||
|
||||
over "thumb_metacarpals_base2_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_index_proximal"
|
||||
{
|
||||
over "lh_index_distal"
|
||||
{
|
||||
over "index_distal"
|
||||
{
|
||||
}
|
||||
|
||||
over "index_distal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "index_proximal"
|
||||
{
|
||||
}
|
||||
|
||||
over "index_proximal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_middle_proximal"
|
||||
{
|
||||
over "lh_middle_distal"
|
||||
{
|
||||
over "middle_distal"
|
||||
{
|
||||
}
|
||||
|
||||
over "middle_distal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "middle_proximal"
|
||||
{
|
||||
}
|
||||
|
||||
over "middle_proximal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_ring_proximal"
|
||||
{
|
||||
over "lh_ring_distal"
|
||||
{
|
||||
over "ring_distal"
|
||||
{
|
||||
}
|
||||
|
||||
over "ring_distal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "ring_proximal"
|
||||
{
|
||||
}
|
||||
|
||||
over "ring_proximal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_pinky_proximal"
|
||||
{
|
||||
over "lh_pinky_distal"
|
||||
{
|
||||
over "pinky_distal"
|
||||
{
|
||||
}
|
||||
|
||||
over "pinky_distal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "pinky_proximal"
|
||||
{
|
||||
}
|
||||
|
||||
over "pinky_proximal_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
over "hand_base_link"
|
||||
{
|
||||
}
|
||||
|
||||
over "hand_base_link_1"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
over "Materials"
|
||||
{
|
||||
}
|
||||
|
||||
over "VisualMaterials"
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,394 @@
|
||||
#usda 1.0
|
||||
(
|
||||
customLayerData = {
|
||||
string creator = "URDF USD Converter v0.1.3"
|
||||
}
|
||||
defaultPrim = "linkerhand_o6_left"
|
||||
doc = """Generated from Composed Stage of root layer /tmp/tmp43xsk_0z/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/usdex_linkerhand_o6_left/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/temp_linkerhand_o6_left/linkerhand_o6_left.usd
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/o6/left/linkerhand_o6_left/payloads/base.usd
|
||||
"""
|
||||
kilogramsPerUnit = 1
|
||||
metersPerUnit = 1
|
||||
upAxis = "Z"
|
||||
)
|
||||
|
||||
over "linkerhand_o6_left"
|
||||
{
|
||||
over "Geometry"
|
||||
{
|
||||
over "lh_hand_base_link" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsArticulationRootAPI", "NewtonArticulationRootAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
bool newton:selfCollisionEnabled = 0
|
||||
point3f physics:centerOfMass = (-0.0015778857, -0.00034876727, 0.053845223)
|
||||
float3 physics:diagonalInertia = (0.000022785269, 0.000033403405, 0.00005226303)
|
||||
float physics:mass = 0.067293525
|
||||
quatf physics:principalAxes = (0.7112235, 0.0196564, 0.7019677, -0.031875554)
|
||||
|
||||
over "lh_thumb_metacarpals_base2" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.0016280068, -0.0027668017, -0.0018423444)
|
||||
float3 physics:diagonalInertia = (2.804746e-8, 4.6153662e-8, 5.5545172e-8)
|
||||
float physics:mass = 0.001385883
|
||||
quatf physics:principalAxes = (0.71651435, 0.1483551, 0.6348633, 0.2480857)
|
||||
|
||||
over "lh_thumb_metacarpals" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.00004248162, 0.000017418392, 0.022834163)
|
||||
float3 physics:diagonalInertia = (8.782631e-7, 0.0000011610094, 0.0000017675784)
|
||||
float physics:mass = 0.012338159
|
||||
quatf physics:principalAxes = (0.602796, 0.6027095, 0.37003604, 0.3693936)
|
||||
|
||||
over "lh_thumb_distal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (-0.004137257, -5.907045e-8, 0.023011401)
|
||||
float3 physics:diagonalInertia = (2.7226213e-7, 0.0000012248909, 0.0000013107585)
|
||||
float physics:mass = 0.0076333294
|
||||
quatf physics:principalAxes = (0.7312508, 0.000050898147, 0.68210864, 0.000050140923)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_index_proximal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (-0.0020865656, 0.0000025383872, 0.017273495)
|
||||
float3 physics:diagonalInertia = (7.583063e-8, 2.7291307e-7, 2.757608e-7)
|
||||
float physics:mass = 0.0025317466
|
||||
quatf physics:principalAxes = (0.78133, 0.007643632, 0.6240355, 0.0066868095)
|
||||
|
||||
over "lh_index_distal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.0065898662, 0.0000051385564, 0.01943936)
|
||||
float3 physics:diagonalInertia = (7.204472e-8, 3.6532765e-7, 3.7459085e-7)
|
||||
float physics:mass = 0.003769511
|
||||
quatf physics:principalAxes = (0.54057455, 0.0024824692, 0.84128624, 0.0032386186)
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_middle_proximal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (-0.0020866066, 0.0000025691818, 0.0172735)
|
||||
float3 physics:diagonalInertia = (7.5831146e-8, 2.7291338e-7, 2.757611e-7)
|
||||
float physics:mass = 0.0025317736
|
||||
quatf physics:principalAxes = (0.7813296, 0.0076768305, 0.62403536, 0.0067128767)
|
||||
|
||||
over "lh_middle_distal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.0065898653, 0.0000051086295, 0.019439332)
|
||||
float3 physics:diagonalInertia = (7.204529e-8, 3.6532907e-7, 3.745922e-7)
|
||||
float physics:mass = 0.003769528
|
||||
quatf physics:principalAxes = (0.5405751, 0.0024706838, 0.84128594, 0.003223407)
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_ring_proximal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (-0.0020866792, 0.0000026300042, 0.017273493)
|
||||
float3 physics:diagonalInertia = (7.5832226e-8, 2.7291406e-7, 2.7576172e-7)
|
||||
float physics:mass = 0.0025318223
|
||||
quatf physics:principalAxes = (0.78132856, 0.0077359965, 0.62403536, 0.0067587425)
|
||||
|
||||
over "lh_ring_distal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.0065898667, 0.000005058835, 0.019439397)
|
||||
float3 physics:diagonalInertia = (7.20441e-8, 3.6532612e-7, 3.7458938e-7)
|
||||
float physics:mass = 0.003769496
|
||||
quatf physics:principalAxes = (0.54057366, 0.002450255, 0.841287, 0.0031969126)
|
||||
}
|
||||
}
|
||||
|
||||
over "lh_pinky_proximal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (-0.002086736, 0.0000026806224, 0.017273486)
|
||||
float3 physics:diagonalInertia = (7.5833086e-8, 2.7291458e-7, 2.7576223e-7)
|
||||
float physics:mass = 0.00253186
|
||||
quatf physics:principalAxes = (0.78132784, 0.007784023, 0.6240353, 0.0067960154)
|
||||
|
||||
over "lh_pinky_distal" (
|
||||
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
|
||||
)
|
||||
{
|
||||
point3f physics:centerOfMass = (0.006589876, 0.0000050308754, 0.01943945)
|
||||
float3 physics:diagonalInertia = (7.2043434e-8, 3.6532472e-7, 3.7458818e-7)
|
||||
float physics:mass = 0.0037694806
|
||||
quatf physics:principalAxes = (0.54057276, 0.0024336982, 0.8412878, 0.0031746821)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
over "Physics"
|
||||
{
|
||||
def PhysicsRevoluteJoint "lh_thumb_cmc_yaw" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Z"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2>
|
||||
point3f physics:localPos0 = (0.011508, -0.022975, 0.032794)
|
||||
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 = 74.48451
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_thumb_cmc_pitch" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2/lh_thumb_metacarpals>
|
||||
point3f physics:localPos0 = (0.0061649, -0.010678, -0.004891)
|
||||
point3f physics:localPos1 = (0, 0, 0)
|
||||
quatf physics:localRot0 = (0.41919965, 0.47202873, -0.27252436, 0.7260792)
|
||||
quatf physics:localRot1 = (1, 0, 0, 0)
|
||||
float physics:lowerLimit = 0
|
||||
float physics:upperLimit = 33.231552
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_thumb_ip" (
|
||||
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
float newton:mimicCoef1 = 2.29
|
||||
rel newton:mimicJoint = </linkerhand_o6_left/Physics/lh_thumb_cmc_pitch>
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2/lh_thumb_metacarpals>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2/lh_thumb_metacarpals/lh_thumb_distal>
|
||||
point3f physics:localPos0 = (0.0037776, 7.372575e-18, 0.045368)
|
||||
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 = 61.87944
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_index_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_index_proximal>
|
||||
point3f physics:localPos0 = (0.0024758, -0.02419, 0.098779)
|
||||
point3f physics:localPos1 = (0, 0, 0)
|
||||
quatf physics:localRot0 = (0.99965733, 0.026176646, 0, 0)
|
||||
quatf physics:localRot1 = (1, 0, 0, 0)
|
||||
float physics:lowerLimit = 0
|
||||
float physics:upperLimit = 91.67325
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_index_dip" (
|
||||
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
float newton:mimicCoef1 = 0.89
|
||||
rel newton:mimicJoint = </linkerhand_o6_left/Physics/lh_index_mcp_pitch>
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_index_proximal>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_index_proximal/lh_index_distal>
|
||||
point3f physics:localPos0 = (-0.0052516, 0, 0.036625)
|
||||
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 = 81.93297
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_middle_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_middle_proximal>
|
||||
point3f physics:localPos0 = (0.00052576, -0.00634, 0.1027)
|
||||
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 = 91.67325
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_middle_dip" (
|
||||
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
float newton:mimicCoef1 = 0.89
|
||||
rel newton:mimicJoint = </linkerhand_o6_left/Physics/lh_middle_mcp_pitch>
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_middle_proximal>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_middle_proximal/lh_middle_distal>
|
||||
point3f physics:localPos0 = (-0.0052516, 0, 0.036625)
|
||||
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 = 81.93297
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_ring_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_ring_proximal>
|
||||
point3f physics:localPos0 = (0.0010258, 0.011135, 0.098767)
|
||||
point3f physics:localPos1 = (0, 0, 0)
|
||||
quatf physics:localRot0 = (0.99965733, -0.026176646, 0, 0)
|
||||
quatf physics:localRot1 = (1, 0, 0, 0)
|
||||
float physics:lowerLimit = 0
|
||||
float physics:upperLimit = 91.67325
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_ring_dip" (
|
||||
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
float newton:mimicCoef1 = 0.89
|
||||
rel newton:mimicJoint = </linkerhand_o6_left/Physics/lh_ring_mcp_pitch>
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_ring_proximal>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_ring_proximal/lh_ring_distal>
|
||||
point3f physics:localPos0 = (-0.0052516, 0, 0.036625)
|
||||
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 = 81.93297
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_pinky_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_pinky_proximal>
|
||||
point3f physics:localPos0 = (0.0024758, 0.028372, 0.092741)
|
||||
point3f physics:localPos1 = (0, 0, 0)
|
||||
quatf physics:localRot0 = (0.99904823, -0.043619126, 0, 0)
|
||||
quatf physics:localRot1 = (1, 0, 0, 0)
|
||||
float physics:lowerLimit = 0
|
||||
float physics:upperLimit = 91.67325
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsRevoluteJoint "lh_pinky_dip" (
|
||||
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
|
||||
)
|
||||
{
|
||||
float drive:angular:physics:maxForce = 100
|
||||
float newton:mimicCoef1 = 0.89
|
||||
rel newton:mimicJoint = </linkerhand_o6_left/Physics/lh_pinky_mcp_pitch>
|
||||
uniform token physics:axis = "Y"
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_pinky_proximal>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_hand_base_link/lh_pinky_proximal/lh_pinky_distal>
|
||||
point3f physics:localPos0 = (-0.0052516, -3.469447e-18, 0.036625)
|
||||
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 = 81.93297
|
||||
custom float urdf:limit:effort = 100
|
||||
custom float urdf:limit:velocity = 1
|
||||
}
|
||||
|
||||
def PhysicsFixedJoint "root_joint"
|
||||
{
|
||||
custom rel physics:body0
|
||||
prepend rel physics:body0 = </linkerhand_o6_left>
|
||||
custom rel physics:body1
|
||||
prepend rel physics:body1 = </linkerhand_o6_left/Geometry/lh_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,108 @@
|
||||
#usda 1.0
|
||||
(
|
||||
customLayerData = {
|
||||
string creator = "URDF USD Converter v0.1.3"
|
||||
}
|
||||
defaultPrim = "linkerhand_o6_left"
|
||||
doc = """Generated from Composed Stage of root layer /tmp/tmp43xsk_0z/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/usdex_linkerhand_o6_left/linkerhand_o6_left.usdc
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_o6_left_7nekwe14/temp_linkerhand_o6_left/linkerhand_o6_left.usd
|
||||
|
||||
|
||||
Generated from Composed Stage of root layer /home/lxqs/mujoco_testwork/linkerhand-urdf/o6/left/linkerhand_o6_left/payloads/base.usd
|
||||
"""
|
||||
kilogramsPerUnit = 1
|
||||
metersPerUnit = 1
|
||||
subLayers = [
|
||||
@./physics.usda@
|
||||
]
|
||||
upAxis = "Z"
|
||||
)
|
||||
|
||||
over "linkerhand_o6_left"
|
||||
{
|
||||
over "Physics"
|
||||
{
|
||||
over "lh_thumb_cmc_yaw" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_thumb_cmc_pitch" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_thumb_ip" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_index_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_index_dip" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_middle_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_middle_dip" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_ring_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_ring_dip" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_pinky_mcp_pitch" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
|
||||
over "lh_pinky_dip" (
|
||||
prepend apiSchemas = ["PhysxJointAPI"]
|
||||
)
|
||||
{
|
||||
float physxJoint:maxJointVelocity = 57.29578
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user