93773f3887
Includes FastAPI backend, vendored step2urdf frontend, and A7 handtuned arm JSON for URDF generation.
222 lines
4.7 KiB
JSON
222 lines
4.7 KiB
JSON
{
|
||
"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
|
||
}
|
||
}
|
||
]
|
||
}
|