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,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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user