{ "robot_name": "handtuned_arm", "source": "manual UI screenshots 2026-08-26", "unit_linear": "m", "unit_angular": "rad", "notes": [ "xyz/rpy 来自属性面板:相对 parent link,线性单位米、角度弧度。", "旋转关节默认绕关节局部 Z(axis=[0,0,1]),姿态由 origin_rpy 决定。", "导入时:线性量 ×1000→mm;挂在 base_link 下的关节会烘焙成 STEP 世界坐标(页面 FK 从世界原点起步)。" ], "base_link": { "name": "base_link", "solid_names": ["Solid_56", "Solid_55"], "origin_xyz": [0.1135, 0.6081, 0.0071], "origin_rpy": [0.0, 0.0, 0.0], "up_axis": "Z+" }, "links": [ { "name": "base_link", "solid_names": ["Solid_56", "Solid_55"] }, { "name": "Link_1", "solid_names": [ "Solid_54", "Solid_53", "Solid_52", "Solid_48", "Solid_47", "Solid_51", "Solid_49", "Solid_50" ] }, { "name": "Link_2", "solid_names": [ "Solid_41", "Solid_42", "Solid_45", "Solid_46", "Solid_43", "Solid_40" ] }, { "name": "Link_3", "solid_names": [ "Solid_44", "Solid_39", "Solid_33", "Solid_29", "Solid_38", "Solid_37", "Solid_35", "Solid_36" ] }, { "name": "Link_4", "solid_names": [ "Solid_26", "Solid_32", "Solid_24", "Solid_23", "Solid_34", "Solid_30", "Solid_25", "Solid_31", "Solid_28", "Solid_27", "Solid_22" ] }, { "name": "Link_5", "solid_names": [ "Solid_21", "Solid_15", "Solid_17", "Solid_16", "Solid_20" ] }, { "name": "Link_6", "solid_names": [ "Solid_11", "Solid_12", "Solid_8", "Solid_13", "Solid_9", "Solid_14", "Solid_19", "Solid_18" ] }, { "name": "Link_7", "solid_names": [ "Solid_6", "Solid_5", "Solid_2", "Solid_10", "Solid_1", "Solid_4", "Solid_3", "Solid_7", "Solid_0" ] } ], "joints": [ { "name": "Joint_1", "joint_type": "revolute", "parent": "base_link", "child": "Link_1", "origin_xyz": [-0.048, 0.001, 0.0], "origin_rpy": [0.0, 1.57, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_2", "joint_type": "revolute", "parent": "Link_1", "child": "Link_2", "origin_xyz": [0.0, -0.001, -0.062], "origin_rpy": [0.0, 1.57, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_3", "joint_type": "revolute", "parent": "Link_2", "child": "Link_3", "origin_xyz": [0.0, -0.121, 0.0], "origin_rpy": [1.57, 0.0, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_4", "joint_type": "revolute", "parent": "Link_3", "child": "Link_4", "origin_xyz": [0.003, 0.0, 0.159], "origin_rpy": [0.0, 1.57, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_5", "joint_type": "revolute", "parent": "Link_4", "child": "Link_5", "origin_xyz": [-0.128, 0.0, 0.0], "origin_rpy": [0.0, 1.57, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_6", "joint_type": "revolute", "parent": "Link_5", "child": "Link_6", "origin_xyz": [0.0, -0.001, -0.089], "origin_rpy": [0.0, 1.57, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } }, { "name": "Joint_7", "joint_type": "revolute", "parent": "Link_6", "child": "Link_7", "origin_xyz": [0.065, 0.0, 0.0], "origin_rpy": [1.57, 0.0, 0.0], "axis": [0.0, 0.0, 1.0], "limits": { "lower": -3.142, "upper": 3.142, "effort": 10.0, "velocity": 1.0 } } ] }