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
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
def Xform "linkerhand_g20_left" (
prepend references = @./payloads/base.usda@
variants = {
string Physics = "physx"
}
append variantSets = "Physics"
)
{
variantSet "Physics" = {
"mujoco" (
prepend payload = @./payloads/Physics/mujoco.usda@
) {
}
"none" {
}
"physics" (
prepend payload = @./payloads/Physics/physics.usda@
) {
}
"physx" (
prepend payload = @./payloads/Physics/physx.usda@
) {
}
}
}
@@ -0,0 +1,398 @@
#usda 1.0
(
defaultPrim = "linkerhand_g20_left"
metersPerUnit = 1
kilogramsPerUnit = 1
upAxis = "Z"
)
over "linkerhand_g20_left"
{
over "Geometry"
{
over "hand_base_link" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
over "hand_base_link"
{
over "thumb_metacarpals_base1" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
over "hand_base_link"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals_base2" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
over "hand_base_link"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals_base2"
{
over "thumb_metacarpals" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
over "hand_base_link"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals_base2"
{
over "thumb_metacarpals"
{
over "thumb_proximal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
over "hand_base_link"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals_base2"
{
over "thumb_metacarpals"
{
over "thumb_proximal"
{
over "thumb_distal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
}
over "hand_base_link"
{
over "index_metacarpals" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
over "hand_base_link"
{
over "index_metacarpals"
{
over "index_proximal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
over "hand_base_link"
{
over "index_metacarpals"
{
over "index_proximal"
{
over "index_middle" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
over "hand_base_link"
{
over "index_metacarpals"
{
over "index_proximal"
{
over "index_middle"
{
over "index_distal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
over "hand_base_link"
{
over "middle_metacarpals" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
over "hand_base_link"
{
over "middle_metacarpals"
{
over "middle_proximal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
over "hand_base_link"
{
over "middle_metacarpals"
{
over "middle_proximal"
{
over "middle_middle" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
over "hand_base_link"
{
over "middle_metacarpals"
{
over "middle_proximal"
{
over "middle_middle"
{
over "middle_distal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
over "hand_base_link"
{
over "ring_metacarpals" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
over "hand_base_link"
{
over "ring_metacarpals"
{
over "ring_proximal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
over "hand_base_link"
{
over "ring_metacarpals"
{
over "ring_proximal"
{
over "ring_middle" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
over "hand_base_link"
{
over "ring_metacarpals"
{
over "ring_proximal"
{
over "ring_middle"
{
over "ring_distal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
over "hand_base_link"
{
over "pinky_metacarpals" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
over "hand_base_link"
{
over "pinky_metacarpals"
{
over "pinky_proximal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
over "hand_base_link"
{
over "pinky_metacarpals"
{
over "pinky_proximal"
{
over "pinky_middle" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
over "hand_base_link"
{
over "pinky_metacarpals"
{
over "pinky_proximal"
{
over "pinky_middle"
{
over "pinky_distal" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 6.0
float physxRigidBody:angularDamping = 6.0
}
}
}
}
}
}
}
@@ -0,0 +1,582 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./physics.usda@
]
upAxis = "Z"
)
over "linkerhand_g20_left"
{
over "Physics"
{
def MjcActuator "thumb_cmc_roll_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/thumb_cmc_roll>
}
def MjcActuator "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_g20_left/Physics/thumb_cmc_yaw>
}
def MjcActuator "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_g20_left/Physics/thumb_cmc_pitch>
}
def MjcActuator "thumb_mcp_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/thumb_mcp>
}
def MjcActuator "thumb_ip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/thumb_ip>
}
def MjcActuator "index_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/index_mcp_roll>
}
def MjcActuator "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_g20_left/Physics/index_mcp_pitch>
}
def MjcActuator "index_pip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/index_pip>
}
def MjcActuator "index_dip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/index_dip>
}
def MjcActuator "middle_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/middle_mcp_roll>
}
def MjcActuator "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_g20_left/Physics/middle_mcp_pitch>
}
def MjcActuator "middle_pip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/middle_pip>
}
def MjcActuator "middle_dip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/middle_dip>
}
def MjcActuator "ring_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/ring_mcp_roll>
}
def MjcActuator "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_g20_left/Physics/ring_mcp_pitch>
}
def MjcActuator "ring_pip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/ring_pip>
}
def MjcActuator "ring_dip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/ring_dip>
}
def MjcActuator "pinky_mcp_roll_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/pinky_mcp_roll>
}
def MjcActuator "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_g20_left/Physics/pinky_mcp_pitch>
}
def MjcActuator "pinky_pip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/pinky_pip>
}
def MjcActuator "pinky_dip_actuator"
{
uniform double mjc:forceRange:max = 100
uniform double mjc:forceRange:min = -100
custom rel mjc:target
prepend rel mjc:target = </linkerhand_g20_left/Physics/pinky_dip>
}
over "root_joint"
{
}
over "thumb_cmc_roll" (
delete apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
}
over "thumb_cmc_yaw" (
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 "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 "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 "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 "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 "Geometry"
{
over "hand_base_link"
{
over "thumb_metacarpals_base1"
{
over "thumb_metacarpals_base2"
{
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_base2"
{
}
over "thumb_metacarpals_base2_1"
{
}
}
over "thumb_metacarpals_base1"
{
}
over "thumb_metacarpals_base1_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 "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 "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 "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 "hand_base_link"
{
}
over "hand_base_link_1"
{
}
}
}
over "Materials"
{
}
over "VisualMaterials"
{
}
}
@@ -0,0 +1,720 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
over "linkerhand_g20_left"
{
over "Geometry" (
prepend apiSchemas = ["PhysicsArticulationRootAPI", "NewtonArticulationRootAPI"]
)
{
bool newton:selfCollisionEnabled = 1
over "hand_base_link" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.000986417, 0.000268049, 0.077379845)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.1103735
quatf physics:principalAxes = (0.70273006, 0.038762398, 0.7092034, -0.04121172)
over "thumb_metacarpals_base1" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.011515513, 0.0039806883, 0.00027288825)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.69315267, 0.09873541, 0.69662505, -0.15653834)
over "thumb_metacarpals_base2" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.0028671462, -0.0061572655, 0.0047260527)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (-0.4856348, 0.6328352, 0.57746726, 0.17381014)
over "thumb_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (0.0067065787, 0.000086075896, 0.033141293)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.028716035
quatf physics:principalAxes = (0.5003233, 0.49646425, 0.50234294, 0.50085074)
over "thumb_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.002687344, 0.00056824455, 0.011850173)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.4466405, 0.44347262, 0.5443941, 0.55450827)
over "thumb_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0007100218, -0.0026757591, 0.012476266)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.7076172, 0.49610376, 0.40506423, 0.29846585)
}
}
}
}
}
over "index_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.007942997, -2.9367396e-7, 0.0022010603)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.15955442, 0.6888882, 0.68885684, -0.15953577)
over "index_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0011418548, 0.000034731576, 0.02289284)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.5117973, 0.51168644, 0.48817277, 0.48777848)
over "index_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00020699194, 0.0000026061707, 0.016706534)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.7445136, -0.00005444173, 0.6676073, 0.000047438436)
over "index_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.008162465, 0.000022705892, 0.008118065)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.90243715, -0.0029940915, 0.43080872, -0.0014403827)
}
}
}
}
over "middle_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.007942996, -2.9300665e-7, 0.0022010633)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.1595545, 0.6888883, 0.6888567, -0.15953599)
over "middle_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0011418548, 0.000034731576, 0.02289284)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.5117973, 0.51168644, 0.48817277, 0.48777848)
over "middle_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0002069919, 0.0000026062498, 0.016706534)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.7445136, -0.000054456927, 0.6676073, 0.00004744315)
over "middle_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.008162466, 0.000022705855, 0.008118066)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.90243715, -0.0029941155, 0.4308087, -0.0014403895)
}
}
}
}
over "ring_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.007942996, -2.945131e-7, 0.0022010615)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.15955459, 0.6888881, 0.68885696, -0.1595357)
over "ring_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0011418548, 0.00003473158, 0.02289284)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.5117973, 0.51168644, 0.48817277, 0.48777848)
over "ring_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00020699321, 0.0000026074692, 0.016706532)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.74451363, -0.000054586842, 0.6676073, 0.000047385933)
over "ring_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.008162466, 0.000022705732, 0.008118066)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.90243715, -0.0029941578, 0.43080872, -0.0014404262)
}
}
}
}
over "pinky_metacarpals" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.007942996, -2.9300685e-7, 0.0022010633)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.1595545, 0.6888883, 0.6888567, -0.15953599)
over "pinky_proximal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.0011418548, 0.00003473158, 0.02289284)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.5117973, 0.51168644, 0.48817277, 0.48777848)
over "pinky_middle" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.00020699325, 0.00000260749, 0.016706532)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.74451363, -0.0000545887, 0.6676073, 0.000047383306)
over "pinky_distal" (
prepend apiSchemas = ["PhysicsRigidBodyAPI", "PhysicsMassAPI"]
)
{
point3f physics:centerOfMass = (-0.008162466, 0.000022705419, 0.008118066)
float3 physics:diagonalInertia = (0.0005, 0.0005, 0.0005)
float physics:mass = 0.02
quatf physics:principalAxes = (0.90243715, -0.002994122, 0.43080872, -0.001440418)
}
}
}
}
}
}
over "Physics"
{
def PhysicsRevoluteJoint "thumb_cmc_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1>
point3f physics:localPos0 = (0.01916, -0.01, 0.0436)
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 = 84.22480
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_cmc_yaw" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Z"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2>
point3f physics:localPos0 = (0.019845, 0, 0)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (0.9264883, 0.3763236, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 89.95438
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_cmc_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals>
point3f physics:localPos0 = (0.0088218, -0.024245, 0.0005)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (0.49418968, 0.41577393, -0.29111633, 0.7058044)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = 0
float physics:upperLimit = 48.128456
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_mcp" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals/thumb_proximal>
point3f physics:localPos0 = (0.012701825, -6.938894e-18, 0.06272562)
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 = 72.19268
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "thumb_ip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
float newton:mimicCoef1 = 1.02
rel newton:mimicJoint = </linkerhand_g20_left/Physics/thumb_mcp>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals/thumb_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals/thumb_proximal/thumb_distal>
point3f physics:localPos0 = (-0.004836522, 1.3877788e-17, 0.034222648)
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 = 73.91155
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals>
point3f physics:localPos0 = (0.0038, -0.03525, 0.1481)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -13.178029
float physics:upperLimit = 13.178029
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>
point3f physics:localPos0 = (-0.0021302, 0, 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 = 69.90085
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>
point3f physics:localPos0 = (-0.0041946, 0, 0.044819)
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 = 99.69466
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "index_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
float newton:mimicCoef1 = 0.89
rel newton:mimicJoint = </linkerhand_g20_left/Physics/index_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle/index_distal>
point3f physics:localPos0 = (0.0028245, 0, 0.031696)
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 = 88.80846
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals>
point3f physics:localPos0 = (0.0038, -0.01175, 0.1526)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -13.178029
float physics:upperLimit = 13.178029
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>
point3f physics:localPos0 = (-0.0021302, 0, 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 = 69.90085
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>
point3f physics:localPos0 = (-0.004194577, 0, 0.044819433)
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 = 99.69466
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "middle_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
float newton:mimicCoef1 = 0.89
rel newton:mimicJoint = </linkerhand_g20_left/Physics/middle_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle/middle_distal>
point3f physics:localPos0 = (0.0028245, 0, 0.031696)
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 = 88.80846
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals>
point3f physics:localPos0 = (0.0038, 0.01175, 0.1481)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -13.178029
float physics:upperLimit = 13.178029
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>
point3f physics:localPos0 = (-0.0021302, 0, 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 = 69.90085
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>
point3f physics:localPos0 = (-0.004194577, 0, 0.044819433)
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 = 99.69466
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "ring_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
float newton:mimicCoef1 = 0.89
rel newton:mimicJoint = </linkerhand_g20_left/Physics/ring_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle/ring_distal>
point3f physics:localPos0 = (0.0028245, 0, 0.031696)
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 = 88.80846
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_mcp_roll" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "X"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals>
point3f physics:localPos0 = (0.0038, 0.03525, 0.1436)
point3f physics:localPos1 = (0, 0, 0)
quatf physics:localRot0 = (1, 0, 0, 0)
quatf physics:localRot1 = (1, 0, 0, 0)
float physics:lowerLimit = -13.178029
float physics:upperLimit = 13.178029
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_mcp_pitch" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>
point3f physics:localPos0 = (-0.0021302, 0, 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 = 69.90085
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_pip" (
prepend apiSchemas = ["PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>
point3f physics:localPos0 = (-0.0041946, 0, 0.044819)
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 = 99.69466
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsRevoluteJoint "pinky_dip" (
prepend apiSchemas = ["NewtonMimicAPI", "PhysicsDriveAPI:angular", "PhysicsJointStateAPI:angular"]
)
{
float drive:angular:physics:maxForce = 10
uniform token drive:angular:physics:type = "force"
float newton:mimicCoef1 = 0.89
rel newton:mimicJoint = </linkerhand_g20_left/Physics/pinky_pip>
uniform token physics:axis = "Y"
custom rel physics:body0
prepend rel physics:body0 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle/pinky_distal>
point3f physics:localPos0 = (0.0028245, 0, 0.031696)
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 = 88.80846
custom float urdf:limit:effort = 100
custom float urdf:limit:velocity = 1
}
def PhysicsFixedJoint "root_joint"
{
# Deliverable fixed base: empty body0 = world, body1 = palm rigid body.
# Mount pose comes from the referencing Xform in the scene (not localPos0).
custom rel physics:body0
custom rel physics:body1
prepend rel physics:body1 = </linkerhand_g20_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)
bool physics:jointEnabled = 1
}
}
}
@@ -0,0 +1,230 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./physics.usda@,
@./hand_body_limits.usda@
]
upAxis = "Z"
)
over "linkerhand_g20_left"
{
# Deliverable PhysX limits: prevent contact impulse blow-ups when fingertips collide
over "Geometry" (
prepend apiSchemas = ["PhysxArticulationAPI"]
)
{
bool physxArticulation:enabledSelfCollisions = 1
bool newton:selfCollisionEnabled = 1
int physxArticulation:solverPositionIterationCount = 32
int physxArticulation:solverVelocityIterationCount = 4
float physxArticulation:sleepThreshold = 0.005
over "hand_base_link" (
prepend apiSchemas = ["PhysxRigidBodyAPI"]
)
{
# Retarget/PD 稳定:限速 + 阻尼,避免握拳末端冲飞
float physxRigidBody:maxLinearVelocity = 3.0
float physxRigidBody:maxAngularVelocity = 360.0
float physxRigidBody:linearDamping = 5.0
float physxRigidBody:angularDamping = 5.0
bool physxRigidBody:disableGravity = 0
}
}
over "Physics"
{
over "thumb_cmc_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "thumb_cmc_yaw" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "thumb_cmc_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "thumb_mcp" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "thumb_ip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "index_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "index_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "index_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "index_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "middle_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "middle_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "middle_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "middle_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "ring_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "ring_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "ring_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "ring_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "pinky_mcp_roll" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "pinky_mcp_pitch" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "pinky_pip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
over "pinky_dip" (
prepend apiSchemas = ["PhysxJointAPI"]
)
{
float physxJoint:maxJointVelocity = 171.887
float physxJoint:armature = 0.05
}
}
}
@@ -0,0 +1,730 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
defaultPrim = "linkerhand_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
subLayers = [
@./robot.usda@
]
upAxis = "Z"
)
def Xform "linkerhand_g20_left" (
prepend apiSchemas = ["GeomModelAPI"]
assetInfo = {
string name = "linkerhand_g20_left"
}
kind = "component"
)
{
float3[] extentsHint = [(-0.031971373, -0.153883, -0.007755601), (0.095290326, 0.052480385, 0.25205174), (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.031971373, -0.153883, -0.007755601), (0.095290326, 0.052480385, 0.25205174)]
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 "thumb_metacarpals_base1"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.01916, -0.01, 0.0436)
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_base2"
{
quatf xformOp:orient = (0.9264883, 0.3763236, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.019845, 0, 0)
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"
{
quatf xformOp:orient = (0.49418968, 0.41577393, -0.29111633, 0.7058044)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0088218, -0.024245, 0.0005)
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.0127018248047608, 0, 0.0627256157349894)
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.00483652209209624, 0, 0.0342226492098615)
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 = (0.70, 0.70, 0.70)
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 = (0.55, 0.55, 0.55)
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 = (0.55, 0.55, 0.55)
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 = (0.65, 0.65, 0.65)
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 = (0.65, 0.65, 0.65)
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.0038, -0.03525, 0.1481)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "index_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_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.0021302, 0, 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.0041946, 0, 0.044819)
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.0028245, 0, 0.031696)
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 = (0.75, 0.75, 0.75)
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 = (0.85, 0.85, 0.85)
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 = (0.85, 0.85, 0.85)
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/index_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.75, 0.75, 0.75)
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.00379999999265848, -0.0117500000029305, 0.1526)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "middle_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_metacarpals_2>
)
{
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.0021302, 0, 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.00419457745591796, 0, 0.0448194332262389)
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.0028245, 0, 0.031696)
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 = (0.75, 0.75, 0.75)
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 = (0.85, 0.85, 0.85)
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 = (0.85, 0.85, 0.85)
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/index_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.75, 0.75, 0.75)
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.00379999999632174, 0.0117499999970695, 0.1481)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_metacarpals_3>
)
{
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.0021302, 0, 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.00419457745591796, 0, 0.0448194332262389)
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.0028245, 0, 0.031696)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "ring_distal" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_distal_2>
)
{
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/index_distal_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.75, 0.75, 0.75)
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 = (0.85, 0.85, 0.85)
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 = (0.85, 0.85, 0.85)
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/index_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.75, 0.75, 0.75)
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.00379999999998499, 0.0352499999970695, 0.1436)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_metacarpals" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_metacarpals_4>
)
{
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.0021302, 0, 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.0041946, 0, 0.044819)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def Xform "pinky_middle" (
instanceable = true
prepend references = @./instances.usda@</Instances/index_middle_2>
)
{
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.0028245, 0, 0.031696)
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 = (0.75, 0.75, 0.75)
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/index_middle_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.85, 0.85, 0.85)
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 = (0.85, 0.85, 0.85)
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/index_metacarpals_1>
)
{
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.75, 0.75, 0.75)
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>
)
{
# Same visual mesh as collision source; scale 1 = match rendered palm.
# purpose=guide on the mesh keeps this collider invisible in viewport.
quatd xformOp:orient = (1, 0, 0, 0)
double3 xformOp:scale = (0.90, 0.90, 0.90)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}
}
def Scope "Physics"
{
}
def Scope "VisualMaterials"
{
}
}
@@ -0,0 +1,798 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_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/material_1>
}
def Scope "VisualMaterials"
{
def Material "material_1" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "hand_base_link_1" (
prepend references = @./geometries.usd@</Geometries/hand_base_link>
)
{
over "hand_base_link" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# Self-collision ON: palm visual-mesh collider (purpose=guide).
# Mid/proximal finger hulls stay OFF to avoid PD fist-end explode.
bool physics:collisionEnabled = 1
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
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/material_2>
}
def Scope "VisualMaterials"
{
def Material "material_2" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "thumb_metacarpals_base1_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base1>
)
{
over "thumb_metacarpals_base1" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: CMC rest-pose convexHull overlaps palm.
bool physics:collisionEnabled = 0
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/material_3>
}
def Scope "VisualMaterials"
{
def Material "material_3" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "thumb_metacarpals_base2_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base2>
)
{
over "thumb_metacarpals_base2" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: CMC rest-pose convexHull overlaps palm.
bool physics:collisionEnabled = 0
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/material_4>
}
def Scope "VisualMaterials"
{
def Material "material_4" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "thumb_metacarpals_1" (
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals>
)
{
over "thumb_metacarpals" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# OFF: open-pose convexHull embeds into palm → Instant NaN.
bool physics:collisionEnabled = 0
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
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/material_5>
}
def Scope "VisualMaterials"
{
def Material "material_5" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "thumb_proximal_1" (
prepend references = @./geometries.usd@</Geometries/thumb_proximal>
)
{
over "thumb_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# OFF: open-pose convexHull embeds into palm → Instant NaN.
bool physics:collisionEnabled = 0
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
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/material_6>
}
def Scope "VisualMaterials"
{
def Material "material_6" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "thumb_distal_1" (
prepend references = @./geometries.usd@</Geometries/thumb_distal>
)
{
over "thumb_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# ON: tip vs palm only (shaft OFF for open-pose stability).
bool physics:collisionEnabled = 1
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
def Xform "index_metacarpals" (
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
)
{
over "index_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_metacarpals/VisualMaterials/material_7>
}
def Scope "VisualMaterials"
{
def Material "material_7" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_metacarpals_1" (
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
)
{
over "index_metacarpals" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "index_metacarpals_2" (
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
)
{
over "index_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_metacarpals_2/VisualMaterials/material_11>
}
def Scope "VisualMaterials"
{
def Material "material_11" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_metacarpals_3" (
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
)
{
over "index_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_metacarpals_3/VisualMaterials/material_15>
}
def Scope "VisualMaterials"
{
def Material "material_15" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_metacarpals_4" (
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
)
{
over "index_metacarpals" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_metacarpals_4/VisualMaterials/material_19>
}
def Scope "VisualMaterials"
{
def Material "material_19" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
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/material_8>
}
def Scope "VisualMaterials"
{
def Material "material_8" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_proximal_1" (
prepend references = @./geometries.usd@</Geometries/index_proximal>
)
{
over "index_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_9>
}
def Scope "VisualMaterials"
{
def Material "material_9" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_middle_1" (
prepend references = @./geometries.usd@</Geometries/index_middle>
)
{
over "index_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
token physics:approximation = "convexHull"
token purpose = "guide"
}
}
def Xform "index_middle_2" (
prepend references = @./geometries.usd@</Geometries/index_middle>
)
{
over "index_middle" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_middle_2/VisualMaterials/material_21>
}
def Scope "VisualMaterials"
{
def Material "material_21" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
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/material_10>
}
def Scope "VisualMaterials"
{
def Material "material_10" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "index_distal_1" (
prepend references = @./geometries.usd@</Geometries/index_distal>
)
{
over "index_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# ON: fingertip contact under self-collision.
bool physics:collisionEnabled = 1
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
def Xform "index_distal_2" (
prepend references = @./geometries.usd@</Geometries/index_distal>
)
{
over "index_distal" (
apiSchemas = ["MaterialBindingAPI"]
)
{
custom rel material:binding
prepend rel material:binding = </Instances/index_distal_2/VisualMaterials/material_18>
}
def Scope "VisualMaterials"
{
def Material "material_18" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
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/material_12>
}
def Scope "VisualMaterials"
{
def Material "material_12" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "middle_proximal_1" (
prepend references = @./geometries.usd@</Geometries/middle_proximal>
)
{
over "middle_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_13>
}
def Scope "VisualMaterials"
{
def Material "material_13" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "middle_middle_1" (
prepend references = @./geometries.usd@</Geometries/middle_middle>
)
{
over "middle_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_14>
}
def Scope "VisualMaterials"
{
def Material "material_14" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "middle_distal_1" (
prepend references = @./geometries.usd@</Geometries/middle_distal>
)
{
over "middle_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# ON: fingertip contact under self-collision.
bool physics:collisionEnabled = 1
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
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/material_16>
}
def Scope "VisualMaterials"
{
def Material "material_16" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "ring_proximal_1" (
prepend references = @./geometries.usd@</Geometries/ring_proximal>
)
{
over "ring_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_17>
}
def Scope "VisualMaterials"
{
def Material "material_17" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "ring_middle_1" (
prepend references = @./geometries.usd@</Geometries/ring_middle>
)
{
over "ring_middle" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_20>
}
def Scope "VisualMaterials"
{
def Material "material_20" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "pinky_proximal_1" (
prepend references = @./geometries.usd@</Geometries/pinky_proximal>
)
{
over "pinky_proximal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
)
{
# OFF: fat/adjacent hulls explode under PD close-fist.
bool physics:collisionEnabled = 0
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/material_22>
}
def Scope "VisualMaterials"
{
def Material "material_22" (
instanceable = true
prepend references = @./materials.usda@</Materials/material_1>
)
{
}
}
}
def Xform "pinky_distal_1" (
prepend references = @./geometries.usd@</Geometries/pinky_distal>
)
{
over "pinky_distal" (
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
)
{
# ON: fingertip contact under self-collision.
bool physics:collisionEnabled = 1
token physics:approximation = "convexHull"
token purpose = "guide"
float physxCollision:contactOffset = 0.001
float physxCollision:restOffset = -0.0005
}
}
}
@@ -0,0 +1,57 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
def Scope "Materials"
{
def Material "material_1"
{
color3f inputs:diffuseColor = (1, 1, 1)
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/material_1/PreviewSurface.outputs:displacement>
token outputs:surface (
displayGroup = "Outputs"
)
prepend token outputs:surface.connect = </Materials/material_1/PreviewSurface.outputs:surface>
token outputs:volume (
displayGroup = "Outputs"
)
def Shader "PreviewSurface" (
apiSchemas = ["NodeDefAPI"]
)
{
token info:id = "UsdPreviewSurface"
prepend color3f inputs:diffuseColor.connect = </Materials/material_1.inputs:diffuseColor>
prepend float inputs:metallic.connect = </Materials/material_1.inputs:metallic>
prepend float inputs:opacity.connect = </Materials/material_1.inputs:opacity>
prepend float inputs:roughness.connect = </Materials/material_1.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_g20_left"
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
over "linkerhand_g20_left" (
prepend apiSchemas = ["IsaacRobotAPI"]
)
{
prepend rel isaac:physics:robotJoints = [
</linkerhand_g20_left/Physics/root_joint>,
</linkerhand_g20_left/Physics/thumb_cmc_roll>,
</linkerhand_g20_left/Physics/index_mcp_roll>,
</linkerhand_g20_left/Physics/middle_mcp_roll>,
</linkerhand_g20_left/Physics/ring_mcp_roll>,
</linkerhand_g20_left/Physics/pinky_mcp_roll>,
</linkerhand_g20_left/Physics/thumb_cmc_yaw>,
</linkerhand_g20_left/Physics/thumb_cmc_pitch>,
</linkerhand_g20_left/Physics/thumb_mcp>,
</linkerhand_g20_left/Physics/thumb_ip>,
</linkerhand_g20_left/Physics/index_mcp_pitch>,
</linkerhand_g20_left/Physics/index_pip>,
</linkerhand_g20_left/Physics/index_dip>,
</linkerhand_g20_left/Physics/middle_mcp_pitch>,
</linkerhand_g20_left/Physics/middle_pip>,
</linkerhand_g20_left/Physics/middle_dip>,
</linkerhand_g20_left/Physics/ring_mcp_pitch>,
</linkerhand_g20_left/Physics/ring_pip>,
</linkerhand_g20_left/Physics/ring_dip>,
</linkerhand_g20_left/Physics/pinky_mcp_pitch>,
</linkerhand_g20_left/Physics/pinky_pip>,
</linkerhand_g20_left/Physics/pinky_dip>,
]
prepend rel isaac:physics:robotLinks = [
</linkerhand_g20_left/Geometry/hand_base_link>,
</linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1>,
</linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2>,
</linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals>,
</linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals/thumb_proximal>,
</linkerhand_g20_left/Geometry/hand_base_link/thumb_metacarpals_base1/thumb_metacarpals_base2/thumb_metacarpals/thumb_proximal/thumb_distal>,
</linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals>,
</linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal>,
</linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle>,
</linkerhand_g20_left/Geometry/hand_base_link/index_metacarpals/index_proximal/index_middle/index_distal>,
</linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals>,
</linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal>,
</linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle>,
</linkerhand_g20_left/Geometry/hand_base_link/middle_metacarpals/middle_proximal/middle_middle/middle_distal>,
</linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals>,
</linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal>,
</linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle>,
</linkerhand_g20_left/Geometry/hand_base_link/ring_metacarpals/ring_proximal/ring_middle/ring_distal>,
</linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals>,
</linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal>,
</linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle>,
</linkerhand_g20_left/Geometry/hand_base_link/pinky_metacarpals/pinky_proximal/pinky_middle/pinky_distal>,
]
token isaac:robotType = "End Effector"
over "Geometry"
{
over "hand_base_link" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_metacarpals_base1" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_metacarpals_base2" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "thumb_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 "middle_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "middle_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 "pinky_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_middle" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "pinky_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
}
}
over "Physics"
{
over "root_joint" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_roll" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_yaw" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_cmc_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_mcp" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "thumb_ip" (
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 "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 "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 "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"]
)
{
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
#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"
)
def Xform "linkerhand_l20_left" (
prepend references = @./payloads/base.usda@
variants = {
string Physics = "physx"
}
append variantSets = "Physics"
)
{
variantSet "Physics" = {
"mujoco" (
prepend payload = @./payloads/Physics/mujoco.usda@
) {
}
"none" {
}
"physics" (
prepend payload = @./payloads/Physics/physics.usda@
) {
}
"physx" (
prepend payload = @./payloads/Physics/physx.usda@
) {
}
}
}
@@ -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"]
)
{
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+666
View File
@@ -0,0 +1,666 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
Commit Version: 1.6.0-4-g7f85cfe Build Version: 1.6.7995.38578
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
name="linkerhand_o6_left">
<material name="silver">
<color rgba="0.5 0.5 0.52 1.0"/>
</material>
<material name="BlackAccent">
<color rgba="0.15 0.15 0.15 1.0"/>
</material>
<link
name="lh_hand_base_link">
<inertial>
<origin
xyz="-0.00157788568070457 -0.00034876725935859 0.0538452219801211"
rpy="0 0 0" />
<mass
value="0.0672935238166485" />
<inertia
ixx="5.22525212160954E-05"
ixy="3.06955729584715E-07"
ixz="-3.90341166950521E-07"
iyy="3.33522349207724E-05"
iyz="-7.76680063574627E-07"
izz="2.28469461105385E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/hand_base_link.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/hand_base_link.STL" />
</geometry>
</collision>
</link>
<link
name="lh_thumb_metacarpals_base2">
<inertial>
<origin
xyz="0.00162800681276937 -0.0027668017246415 -0.00184234438641236"
rpy="0 0 0" />
<mass
value="0.00138588296544333" />
<inertia
ixx="5.26292160685909E-08"
ixy="-3.92888681640568E-09"
ixz="-2.43767371295222E-09"
iyy="4.82620491570326E-08"
iyz="3.71869784206147E-09"
izz="2.88550286112821E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base2.STL" />
</geometry>
<material name="BlackAccent"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base2.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_thumb_cmc_yaw"
type="revolute">
<origin
xyz="0.011508 -0.022975 0.032794"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_thumb_metacarpals_base2" />
<axis
xyz="0 0 1" />
<limit
lower="0"
upper="1.3"
effort="100"
velocity="1" />
</joint>
<link
name="lh_thumb_metacarpals">
<inertial>
<origin
xyz="4.24816204999817E-05 1.74183907812875E-05 0.0228341640631254"
rpy="0 0 0" />
<mass
value="0.0123381586619931" />
<inertia
ixx="1.10292537368909E-06"
ixy="-5.99642232777877E-10"
ixz="-1.14233573940545E-07"
iyy="1.76757772551884E-06"
iyz="-4.03963570823777E-10"
izz="9.36347792411098E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_thumb_cmc_pitch"
type="revolute">
<origin
xyz="0.0061649 -0.010678 -0.004891"
rpy="0 -1.1529 2.0944" />
<parent
link="lh_thumb_metacarpals_base2" />
<child
link="lh_thumb_metacarpals" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="0.58"
effort="100"
velocity="1" />
</joint>
<link
name="lh_thumb_distal">
<inertial>
<origin
xyz="-0.00413725702921841 -5.90704520436747E-08 0.023011401589736"
rpy="0 0 0" />
<mass
value="0.00763332957284057" />
<inertia
ixx="1.3057487813702E-06"
ixy="-1.19781508112714E-11"
ixz="-7.19551697268541E-08"
iyy="1.2248908905341E-06"
iyz="4.55347974652679E-12"
izz="2.77271910592615E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_thumb_ip"
type="revolute">
<origin
xyz="0.0037776 0 0.045368"
rpy="0 0 0" />
<parent
link="lh_thumb_metacarpals" />
<child
link="lh_thumb_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.08"
effort="100"
velocity="1" />
<mimic
joint="lh_thumb_cmc_pitch"
multiplier="2.29"
offset="0" />
</joint>
<link
name="lh_index_proximal">
<inertial>
<origin
xyz="-0.00208656556336452 2.53838713251686E-06 0.0172734941980264"
rpy="0 0 0" />
<mass
value="0.00253174651934627" />
<inertia
ixx="2.65988714157799E-07"
ixy="-1.67174578825824E-11"
ixz="-4.31047725546034E-08"
iyy="2.72914069166233E-07"
iyz="1.8756709532167E-10"
izz="8.56017305636748E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_proximal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_index_mcp_pitch"
type="revolute">
<origin
xyz="0.0024758 -0.02419 0.098779"
rpy="0.05236 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_index_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.60"
effort="100"
velocity="1" />
</joint>
<link
name="lh_index_distal">
<inertial>
<origin
xyz="0.00658986616416549 5.13855642059191E-06 0.0194393600039178"
rpy="0 0 0" />
<mass
value="0.00376951085886838" />
<inertia
ixx="3.22347106085043E-07"
ixy="1.3801788663582E-11"
ixz="1.14352857317951E-07"
iyy="3.65328133721509E-07"
iyz="-2.11505011705634E-10"
izz="1.24287996386442E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_index_dip"
type="revolute">
<origin
xyz="-0.0052516 0 0.036625"
rpy="0 0 0" />
<parent
link="lh_index_proximal" />
<child
link="lh_index_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.43"
effort="100"
velocity="1" />
<mimic
joint="lh_index_mcp_pitch"
multiplier="0.89"
offset="0" />
</joint>
<link
name="lh_middle_proximal">
<inertial>
<origin
xyz="-0.00208660654138235 2.56918180119303E-06 0.0172735011723351"
rpy="0 0 0" />
<mass
value="0.00253177375206983" />
<inertia
ixx="2.65989021304483E-07"
ixy="-1.69816046635662E-11"
ixz="-4.31046683215273E-08"
iyy="2.72914402745606E-07"
iyz="1.87484652324395E-10"
izz="8.5602213431865E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_proximal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_middle_mcp_pitch"
type="revolute">
<origin
xyz="0.00052576 -0.00634 0.1027"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_middle_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.60"
effort="100"
velocity="1" />
</joint>
<link
name="lh_middle_distal">
<inertial>
<origin
xyz="0.00658986516319194 5.10862924271716E-06 0.0194393315699782"
rpy="0 0 0" />
<mass
value="0.00376952789210256" />
<inertia
ixx="3.22348591068053E-07"
ixy="1.37122394856588E-11"
ixz="1.1435291391668E-07"
iyy="3.65329535087755E-07"
iyz="-2.10453810291991E-10"
izz="1.24288425862546E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_middle_dip"
type="revolute">
<origin
xyz="-0.0052516 0 0.036625"
rpy="0 0 0" />
<parent
link="lh_middle_proximal" />
<child
link="lh_middle_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.43"
effort="100"
velocity="1" />
<mimic
joint="lh_middle_mcp_pitch"
multiplier="0.89"
offset="0" />
</joint>
<link
name="lh_ring_proximal">
<inertial>
<origin
xyz="-0.00208667931345812 2.63000419462034E-06 0.0172734926448377"
rpy="0 0 0" />
<mass
value="0.00253182223645066" />
<inertia
ixx="2.65989756076584E-07"
ixy="-1.74912952703656E-11"
ixz="-4.31043325594253E-08"
iyy="2.7291510093393E-07"
iyz="1.87158326740895E-10"
izz="8.56031522765909E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_proximal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_ring_mcp_pitch"
type="revolute">
<origin
xyz="0.0010258 0.011135 0.098767"
rpy="-0.05236 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_ring_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.60"
effort="100"
velocity="1" />
</joint>
<link
name="lh_ring_distal">
<inertial>
<origin
xyz="0.00658986648895491 5.05883528165163E-06 0.019439397215532"
rpy="0 0 0" />
<mass
value="0.00376949588316609" />
<inertia
ixx="3.2234524157181E-07"
ixy="1.35766976056011E-11"
ixz="1.14353011012842E-07"
iyy="3.65326570102147E-07"
iyz="-2.08672149138738E-10"
izz="1.24287770218135E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_ring_dip"
type="revolute">
<origin
xyz="-0.0052516 0 0.036625"
rpy="0 0 0" />
<parent
link="lh_ring_proximal" />
<child
link="lh_ring_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.43"
effort="100"
velocity="1" />
<mimic
joint="lh_ring_mcp_pitch"
multiplier="0.89"
offset="0" />
</joint>
<link
name="lh_pinky_proximal">
<inertial>
<origin
xyz="-0.00208673599799501 2.68062251165824E-06 0.0172734848131236"
rpy="0 0 0" />
<mass
value="0.00253185993162408" />
<inertia
ixx="2.6599033687183E-07"
ixy="-1.79030790016555E-11"
ixz="-4.31040829565781E-08"
iyy="2.72915617381577E-07"
iyz="1.86906787420486E-10"
izz="8.56039175034871E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_proximal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_pinky_mcp_pitch"
type="revolute">
<origin
xyz="0.0024758 0.028372 0.092741"
rpy="-0.087266 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_pinky_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.60"
effort="100"
velocity="1" />
</joint>
<link
name="lh_pinky_distal">
<inertial>
<origin
xyz="0.00658987588903027 5.03087534178825E-06 0.0194394491065091"
rpy="0 0 0" />
<mass
value="0.00376948071276134" />
<inertia
ixx="3.22343583730488E-07"
ixy="1.35768173270357E-11"
ixz="1.14353289593012E-07"
iyy="3.65325180884183E-07"
iyz="-2.0744198062439E-10"
izz="1.24287567374229E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="lh_pinky_dip"
type="revolute">
<origin
xyz="-0.0052516 0 0.036625"
rpy="0 0 0" />
<parent
link="lh_pinky_proximal" />
<child
link="lh_pinky_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.43"
effort="100"
velocity="1" />
<mimic
joint="lh_pinky_mcp_pitch"
multiplier="0.89"
offset="0" />
</joint>
</robot>
@@ -0,0 +1,52 @@
#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"
)
def Xform "linkerhand_o6_left" (
prepend references = @./payloads/base.usda@
variants = {
string Physics = "physx"
}
append variantSets = "Physics"
)
{
variantSet "Physics" = {
"mujoco" (
prepend payload = @./payloads/Physics/mujoco.usda@
) {
}
"none" {
}
"physics" (
prepend payload = @./payloads/Physics/physics.usda@
) {
}
"physx" (
prepend payload = @./payloads/Physics/physx.usda@
) {
}
}
}
@@ -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
}
}
}
@@ -0,0 +1,418 @@
#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 = [
@./robot.usda@
]
upAxis = "Z"
)
def Xform "linkerhand_o6_left" (
prepend apiSchemas = ["GeomModelAPI"]
assetInfo = {
string name = "linkerhand_o6_left"
}
kind = "component"
)
{
float3[] extentsHint = [(-0.02, -0.116600335, 8.4912535e-11), (0.071913876, 0.040911872, 0.17689712), (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.02, -0.116600335, 8.4912535e-11), (0.071913876, 0.040911872, 0.17689712)]
def Scope "Materials"
{
}
def Scope "Geometry"
{
def Xform "lh_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 "lh_thumb_metacarpals_base2"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.011508, -0.022975, 0.032794)
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 "lh_thumb_metacarpals"
{
quatf xformOp:orient = (0.41919965, 0.47202873, -0.27252436, 0.7260792)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0061649, -0.010678, -0.004891)
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 "lh_thumb_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0037776, 0, 0.045368)
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_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_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 "lh_index_proximal"
{
quatf xformOp:orient = (0.99965733, 0.026176646, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0024758, -0.02419, 0.098779)
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 "lh_index_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0052516, 0, 0.036625)
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_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 "lh_middle_proximal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.00052576, -0.00634, 0.1027)
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 "lh_middle_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0052516, 0, 0.036625)
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_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 "lh_ring_proximal"
{
quatf xformOp:orient = (0.99965733, -0.026176646, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0010258, 0.011135, 0.098767)
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 "lh_ring_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0052516, 0, 0.036625)
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_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 "lh_pinky_proximal"
{
quatf xformOp:orient = (0.99904823, -0.043619126, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0.0024758, 0.028372, 0.092741)
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 "lh_pinky_distal"
{
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (-0.0052516, 0, 0.036625)
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_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 "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,456 @@
#usda 1.0
(
customLayerData = {
string creator = "URDF USD Converter v0.1.3"
}
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"
)
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 "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" (
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_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"
}
}
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_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 "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_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 "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_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 "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_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"
}
}
}
@@ -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/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"
)
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,197 @@
#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
"""
kilogramsPerUnit = 1
metersPerUnit = 1
upAxis = "Z"
)
over "linkerhand_o6_left" (
prepend apiSchemas = ["IsaacRobotAPI"]
)
{
prepend rel isaac:physics:robotJoints = [
</linkerhand_o6_left/Physics/root_joint>,
</linkerhand_o6_left/Physics/lh_thumb_cmc_yaw>,
</linkerhand_o6_left/Physics/lh_index_mcp_pitch>,
</linkerhand_o6_left/Physics/lh_middle_mcp_pitch>,
</linkerhand_o6_left/Physics/lh_ring_mcp_pitch>,
</linkerhand_o6_left/Physics/lh_pinky_mcp_pitch>,
</linkerhand_o6_left/Physics/lh_thumb_cmc_pitch>,
</linkerhand_o6_left/Physics/lh_thumb_ip>,
</linkerhand_o6_left/Physics/lh_index_dip>,
</linkerhand_o6_left/Physics/lh_middle_dip>,
</linkerhand_o6_left/Physics/lh_ring_dip>,
</linkerhand_o6_left/Physics/lh_pinky_dip>,
]
prepend rel isaac:physics:robotLinks = [
</linkerhand_o6_left/Geometry/lh_hand_base_link>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2/lh_thumb_metacarpals>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_thumb_metacarpals_base2/lh_thumb_metacarpals/lh_thumb_distal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_index_proximal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_index_proximal/lh_index_distal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_middle_proximal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_middle_proximal/lh_middle_distal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_ring_proximal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_ring_proximal/lh_ring_distal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_pinky_proximal>,
</linkerhand_o6_left/Geometry/lh_hand_base_link/lh_pinky_proximal/lh_pinky_distal>,
]
token isaac:robotType = "Default"
over "Geometry"
{
over "lh_hand_base_link" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_thumb_metacarpals_base2" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_thumb_metacarpals" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_thumb_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
over "lh_index_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_index_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
over "lh_middle_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_middle_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
over "lh_ring_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_ring_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
over "lh_pinky_proximal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
over "lh_pinky_distal" (
prepend apiSchemas = ["IsaacLinkAPI"]
)
{
}
}
}
}
over "Physics"
{
over "root_joint" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_thumb_cmc_yaw" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_thumb_cmc_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_thumb_ip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_index_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_index_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_middle_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_middle_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_ring_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_ring_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_pinky_mcp_pitch" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
over "lh_pinky_dip" (
prepend apiSchemas = ["IsaacJointAPI"]
)
{
}
}
}
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More