From 45e467c40d9e5cfd9a2f439aa4e797fa4036906f Mon Sep 17 00:00:00 2001 From: chenshijue <24121145@bjtu.edu.cn> Date: Fri, 7 Aug 2026 11:14:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20PJ=5FNGW=5FS2=5F090=5FT80?= =?UTF-8?q?=5F001=5F=E6=A8=A1=E6=9D=BF/joint=5Fmodule=5Fassembly.schema.js?= =?UTF-8?q?on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../joint_module_assembly.schema.json | 485 ++++++++++++++++++ 1 file changed, 485 insertions(+) diff --git a/PJ_NGW_S2_090_T80_001_模板/joint_module_assembly.schema.json b/PJ_NGW_S2_090_T80_001_模板/joint_module_assembly.schema.json index e69de29..8cfa6fe 100644 --- a/PJ_NGW_S2_090_T80_001_模板/joint_module_assembly.schema.json +++ b/PJ_NGW_S2_090_T80_001_模板/joint_module_assembly.schema.json @@ -0,0 +1,485 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "schemas/joint_module_assembly_with_example.schema.json", + "title": "完整关节模组装配JSON - 填写规范 + 行星关节实例", + "description": "前部分是Schema填写规范,后部分是具体数据实例", + + "metadata": { + "file_type": "schema_with_example", + "schema_version": "2.0", + "example_design": "JM_PLANETARY_001", + "notes": "本文件包含:①上方是字段填写规范(约束类型/枚举/必填),②下方是具体实例(行星关节模组)" + }, + + "field_definitions": { + "_comment_schema": "========== 以下是字段定义(填写说明) ==========", + + "design_id": { + "type": "string", + "pattern": "^[A-Z0-9_]+$", + "required": true, + "description": "设计唯一标识符", + "example": "JM_PLANETARY_001", + "rule": "必须大写字母+数字+下划线" + }, + + "module_type": { + "type": "string", + "enum": ["planetary", "harmonic"], + "required": true, + "description": "减速器类型", + "example": "planetary", + "rule": "planetary=行星齿轮,harmonic=谐波减速" + }, + + "global_frame": { + "type": "object", + "required": true, + "description": "定义全局坐标系的参考基准。程序读取此字段后,将指定零件的坐标系作为全局坐标系,所有'frame':'global'的关节都基于此坐标系计算运动", + "example": { "reference_part": "Main_case", "coordinate_system_name": "MAIN_CSYS", "description": "以Main_case零件中的MAIN_CSYS坐标系作为全局坐标系基准" }, + "fields": { + "reference_part": { + "type": "string", + "required": true, + "description": "作为全局坐标系基准的零件id,该零件的坐标系将被映射为全局坐标系" + }, + "coordinate_system_name": { + "type": "string", + "required": true, + "description": "该零件STEP文件中定义的坐标系名称(在SolidWorks中命名),程序从STEP文件中读取此坐标系" + }, + "description": { + "type": "string", + "description": "说明文字" + } + } + }, + + "units": { + "type": "object", + "required": true, + "description": "全局单位声明,所有数值字段必须使用这些单位", + "example": { + "length": "mm", + "angle": "deg", + "torque": "N_m", + "mass": "kg", + "speed": "rpm" + }, + "fields": { + "length": { "enum": ["mm", "m", "cm"], "default": "mm" }, + "angle": { "enum": ["deg", "rad"], "default": "deg" }, + "torque": { "enum": ["N_m", "N_mm", "kgf_m"], "default": "N_m" }, + "mass": { "enum": ["kg", "g", "lb"], "default": "kg" }, + "speed": { "enum": ["rpm", "rad_s", "deg_s"], "default": "rpm" } + } + }, + + "parts": { + "type": "array", + "required": true, + "description": "零件列表,每个零件一个对象。每个零件对应一个STEP文件,通过coordinate_system字段指定该STEP文件中定义的坐标系名称", + "minItems": 1, + "item_fields": { + "id": { "type": "string", "required": true, "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", "description": "零件唯一标识,其他字段(如constraints、joints)通过此id引用该零件" }, + "role": { + "type": "string", + "required": true, + "enum": ["stator", "rotor", "sun_gear", "planet_gear", "ring_gear", "planet_carrier", "housing", "end_cap", "output_flange", "bearing", "motor_assembly", "coupling", "shaft", "controller_mount", "magnet_holder", "magnet", "bearing_retainer", "other"], + "description": "零件功能角色,用于验证程序识别零件的功能类型" + }, + "file": { "type": "string", "required": true, "description": "STEP文件路径,相对于JSON文件的路径" }, + "coordinate_system": { + "type": "string", + "required": true, + "description": "该零件STEP文件中定义的坐标系名称。程序加载STEP文件时,会读取此名称对应的坐标系作为该零件的局部坐标系。多个零件可引用同一个STEP文件(如多个行星轮),此时应使用相同的坐标系名称", + "example": "PLANET_CSYS" + }, + "material": { + "type": "object", + "required": true, + "fields": { + "class": { "enum": ["steel", "aluminum", "plastic", "copper", "magnet", "other"] }, + "subclass": { "type": "string", "description": "材料子类,如20CrMnTi、6061-T6" } + } + }, + "gear": { + "type": "object", + "description": "齿轮参数(齿轮件必填)", + "fields": { + "teeth": { "type": "integer", "minimum": 1 }, + "module_mm": { "type": "number", "minimum": 0 }, + "face_width_mm": { "type": "number", "minimum": 0 }, + "pressure_angle_deg": { "type": "number", "default": 20 }, + "helix_angle_deg": { "type": "number", "default": 0 }, + "gear_type": { "enum": ["external_gear", "internal_gear"] } + } + }, + "notes": { "type": "string", "description": "备注说明" } + } + }, + + "constraints": { + "type": "array", + "required": true, + "description": "几何装配约束,程序根据这些约束将分散的STEP零件拼装成完整的模组。约束中的a和b字段可带面名(如'Main_case:Top_Face')以指定具体几何特征", + "minItems": 1, + "item_fields": { + "type": { + "enum": ["fixed_to_ground", "coaxial", "coincident", "distance", "parallel", "bearing_support", "bolt_pattern", "shaft_hub", "keyed"], + "required": true, + "description": "约束类型:fixed_to_ground=固定于大地,coaxial=同轴,coincident=面贴合,distance=保持距离,parallel=平行,bearing_support=轴承支承,bolt_pattern=螺栓连接,shaft_hub=轴毂连接,keyed=键连接" + }, + "a": { "type": "string", "required": true, "description": "第一个零件id,可带面名,如'sun_gear:Top_Face'" }, + "b": { "type": "string", "required": true, "description": "第二个零件id,可带面名" }, + "value_mm": { "type": "number", "description": "距离类约束的数值(mm)" }, + "source": { "enum": ["sw_mate", "manual"], "description": "约束来源:sw_mate=来自SolidWorks配合,manual=人工添加" }, + "mate_name": { "type": "string", "description": "SolidWorks配合名称,用于溯源" }, + "semantic_hint": { "type": "string", "description": "自然语言描述约束意图" } + } + }, + + "meshes": { + "type": "array", + "required": true, + "description": "齿轮啮合副(减速器核心),明确声明哪两个齿轮咬合传力。验证程序据此检查中心距、齿侧间隙、干涉等", + "minItems": 1, + "item_fields": { + "pair": { "type": "array", "minItems": 2, "maxItems": 2, "required": true, "items": { "type": "string" }, "description": "啮合的两个齿轮id" }, + "type": { "enum": ["external_gear", "internal_gear"], "required": true, "description": "外啮合或内啮合" }, + "center_distance_mm": { "type": "number", "minimum": 0, "required": true, "description": "中心距(mm),两个齿轮轴心之间的距离" }, + "backlash_mm": { "type": "number", "minimum": 0, "description": "齿侧间隙(mm)" }, + "source": { "enum": ["sw_mate", "manual"], "description": "啮合来源" }, + "semantic_hint": { "type": "string", "description": "自然语言描述啮合关系" } + } + }, + + "joints": { + "type": "array", + "required": true, + "description": "运动副定义 - 告诉程序零件之间如何相对运动。每个joint定义一对零件之间的相对运动关系,frame字段指定运动轴基于哪个坐标系", + "minItems": 1, + "item_fields": { + "id": { "type": "string", "required": true, "description": "运动副唯一标识" }, + "type": { + "enum": ["revolute", "fixed", "cylindrical", "prismatic"], + "required": true, + "description": "运动副类型:revolute=旋转副,fixed=固定副(无相对运动),cylindrical=圆柱副(旋转+移动),prismatic=移动副" + }, + "a": { "type": "string", "required": true, "description": "主动件id(运动件)" }, + "b": { "type": "string", "required": true, "description": "从动件/支架id(参考件)" }, + "axis": { + "enum": ["x", "y", "z"], + "description": "旋转轴方向,基于frame指定的坐标系。与axis_vector二选一使用,优先使用axis_vector" + }, + "axis_vector": { + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { "type": "number" }, + "description": "方向向量 [x, y, z],基于frame指定的坐标系。与axis二选一使用,当轴方向不是标准XYZ轴时使用此字段" + }, + "frame": { + "type": "string", + "default": "global", + "description": "坐标系引用:'global'=使用global_frame定义的全局坐标系;或指定零件id,使用该零件在STEP中定义的坐标系(需在parts中配置coordinate_system字段)" + }, + "description": { "type": "string", "description": "自然语言描述运动关系" } + } + }, + + "kinematics": { + "type": "object", + "required": true, + "description": "传动计算参数,定义减速器的类型和传动比。验证程序据此校核传动比是否与齿数自洽", + "fields": { + "type": { "enum": ["planetary", "harmonic"], "required": true, "description": "减速器类型" }, + "planet_count": { "type": "integer", "minimum": 1, "description": "行星轮数量(行星专用)" }, + "fixed_member": { "enum": ["ring_gear", "carrier", "sun_gear"], "description": "固定件(行星专用):ring_gear=齿圈固定,carrier=行星架固定,sun_gear=太阳轮固定" }, + "ratio_claimed": { "type": "number", "minimum": 0, "required": true, "description": "声称的传动比(输入转速/输出转速)" }, + "ratio_formula": { "type": "string", "description": "传动比计算公式说明(人类可读)" }, + "ratio_derived": { + "type": "object", + "description": "机器可读的派生计算,程序可据此自动校验传动比", + "fields": { + "formula": { "type": "string", "description": "表达式,引用parts中的齿轮参数,如'(ring_gear.teeth + sun_gear.teeth) / sun_gear.teeth'" }, + "input_params": { "type": "array", "items": { "type": "string" }, "description": "表达式中引用的零件id列表" } + } + }, + "notes": { "type": "string", "description": "备注" } + } + }, + + "verification_rules": { + "type": "object", + "required": true, + "description": "程序可执行的验证规则。程序解析expression字段中的表达式,计算出结果后与expected或compare_to对比,判断设计是否合理", + "fields": { + "ratio": { + "type": "array", + "description": "传动比验证规则", + "item_fields": { + "rule_id": { "type": "string", "description": "规则唯一标识" }, + "expression": { "type": "string", "description": "计算公式,引用parts中的齿轮参数" }, + "expected": { "type": "number", "description": "期望值" }, + "tolerance": { "type": "number", "default": 0.01, "description": "允许偏差" }, + "description": { "type": "string", "description": "规则说明" } + } + }, + "torque": { + "type": "array", + "description": "扭矩验证规则", + "item_fields": { + "rule_id": { "type": "string" }, + "expression": { "type": "string", "description": "扭矩计算公式" }, + "compare_to": { "type": "string", "description": "对比目标字段,如'targets.rated_torque_nm'" }, + "description": { "type": "string" } + } + }, + "geometry": { + "type": "array", + "description": "几何验证规则,如中心距校验、齿数关系校验", + "item_fields": { + "rule_id": { "type": "string" }, + "expression": { "type": "string", "description": "几何计算公式" }, + "compare_to": { "type": "string", "description": "对比目标" }, + "tolerance": { "type": "number", "description": "允许偏差" }, + "description": { "type": "string" } + } + } + } + }, + + "power_flow": { + "type": "object", + "required": true, + "description": "动力传输路径,声明动力从哪个零件输入、经过哪些零件、最终输出到哪个零件", + "fields": { + "path": { "type": "array", "items": { "type": "string" }, "description": "动力流经的零件id顺序" }, + "efficiency": { "type": "number", "minimum": 0, "maximum": 1, "description": "传输效率(0~1)" }, + "coupling_type": { "enum": ["direct", "coupling", "keyed", "spline"], "description": "连接方式" }, + "notes": { "type": "string", "description": "备注" } + } + }, + + "io": { + "type": "object", + "required": true, + "description": "输入/输出/固定定义,明确整机的动力流向和约束边界", + "fields": { + "ground": { "type": "array", "items": { "type": "string" }, "description": "相对大地固定的零件id列表" }, + "input": { "type": "string", "description": "动力输入零件id" }, + "output": { "type": "string", "description": "动力输出零件id" }, + "dof_expected": { "type": "string", "description": "期望的自由度描述,如'输出法兰绕Z轴旋转'" }, + "notes": { "type": "string", "description": "备注" } + } + }, + + "motor_spec": { + "type": "object", + "required": true, + "description": "电机规格参数,用于扭矩、功率、气隙等验证。早期可填估算值,但必须注明来源", + "fields": { + "motor_type": { "type": "string", "description": "电机类型,如bldc、pmsm" }, + "rated_torque_nm": { "type": "number", "description": "电机额定扭矩(N·m)" }, + "peak_torque_nm": { "type": "number", "description": "电机峰值扭矩(N·m)" }, + "rated_speed_rpm": { "type": "number", "description": "电机额定转速(rpm)" }, + "pole_pairs": { "type": "integer", "description": "电机极对数" }, + "air_gap_target_mm": { "type": "number", "description": "气隙目标值(mm)" }, + "air_gap_tol_mm": { "type": "number", "description": "气隙允许公差(mm)" }, + "voltage_v": { "type": "number", "description": "额定电压(V)" }, + "max_current_a": { "type": "number", "description": "最大电流(A)" }, + "assumption_notes": { "type": "string", "description": "参数来源说明,如'待台架标定'、'参考手册'等" } + } + }, + + "targets": { + "type": "object", + "required": true, + "description": "整机性能及格线,是验证程序判断设计是否通过的标准", + "fields": { + "rated_torque_nm": { "type": "number", "description": "输出端额定扭矩目标(N·m)" }, + "peak_torque_nm": { "type": "number", "description": "输出端峰值扭矩目标(N·m)" }, + "ratio": { "type": "number", "description": "目标传动比" }, + "max_od_mm": { "type": "number", "description": "最大外径限制(mm)" }, + "max_length_mm": { "type": "number", "description": "最大长度限制(mm)" }, + "max_mass_kg": { "type": "number", "description": "最大重量限制(kg)" }, + "max_temp_rise_c": { "type": "number", "description": "允许最大温升(°C)" } + } + } + }, + + "_comment_data_start": "========== 以下是具体数据实例(行星关节模组) ==========", + + "design_id": "JM_PLANETARY_001", + "module_type": "planetary", + "version": "1.0", + "created_date": "2026-08-03", + "global_frame": {"reference_part": "Main_case","coordinate_system_name": "MAIN_CSYS","description": "以Main_case零件中的MAIN_CSYS坐标系作为全局坐标系基准"}, + + "units": { + "length": "mm", + "angle": "deg", + "torque": "N_m", + "mass": "kg", + "speed": "rpm" + }, + + "requirement_text": "行星齿轮模组,包含电机、行星减速器、外壳、控制器及磁钢组件,输出端目标扭矩50N·m,最大外径≤100mm,总长≤120mm,总重≤1.5kg(设计师输入,可修改)", + + "parts": [ + { "id": "motor", "role": "motor_assembly", "file": "exports/3500-Motor_part2.step", "coordinate_system": "MOTOR_CSYS", "material": { "class": "other" }, "notes": "3500电机总成,坐标系定义在转子轴线上" }, + { "id": "ring_gear", "role": "ring_gear", "file": "exports/ring_gear_T100_m0_8.step", "coordinate_system": "RING_CSYS", "material": { "class": "steel" }, "gear": { "teeth": 100, "module_mm": 0.8, "face_width_mm": 3.8, "pressure_angle_deg": 20, "helix_angle_deg": 0, "gear_type": "internal_gear" }, "notes": "齿圈,内啮合,齿数100,模数0.8,坐标系定义在齿圈几何中心" }, + { "id": "sun_gear", "role": "sun_gear", "file": "exports/sun_gear_T20_m0_8.step", "coordinate_system": "SUN_CSYS", "material": { "class": "steel" }, "gear": { "teeth": 20, "module_mm": 0.8, "face_width_mm": 8, "pressure_angle_deg": 20, "helix_angle_deg": 0, "gear_type": "external_gear" }, "notes": "太阳轮,齿数20,模数0.8,坐标系定义在分度圆中心" }, + { "id": "planet_gear_1", "role": "planet_gear", "file": "exports/planet_gear_T40_m0_8.step", "coordinate_system": "PLANET_CSYS", "material": { "class": "steel" }, "gear": { "teeth": 40, "module_mm": 0.8, "face_width_mm": 3.8, "pressure_angle_deg": 20, "helix_angle_deg": 0, "gear_type": "external_gear" }, "notes": "行星轮1,齿数40,模数0.8,坐标系定义在自转轴线上" }, + { "id": "planet_gear_2", "role": "planet_gear", "file": "exports/planet_gear_T40_m0_8.step", "coordinate_system": "PLANET_CSYS", "material": { "class": "steel" }, "gear": { "teeth": 40, "module_mm": 0.8, "face_width_mm": 3.8, "pressure_angle_deg": 20, "helix_angle_deg": 0, "gear_type": "external_gear" }, "notes": "行星轮2,齿数40,模数0.8,坐标系定义在自转轴线上" }, + { "id": "planet_gear_3", "role": "planet_gear", "file": "exports/planet_gear_T40_m0_8.step", "coordinate_system": "PLANET_CSYS", "material": { "class": "steel" }, "gear": { "teeth": 40, "module_mm": 0.8, "face_width_mm": 3.8, "pressure_angle_deg": 20, "helix_angle_deg": 0, "gear_type": "external_gear" }, "notes": "行星轮3,齿数40,模数0.8,坐标系定义在自转轴线上" }, + { "id": "planet_bearing_1", "role": "bearing", "file": "exports/MF128_ZZ1_917195_U_10_plus_m0_8.step", "coordinate_system": "BEARING_CSYS", "material": { "class": "other" }, "notes": "行星轮1轴承,MF128 ZZ1,坐标系定义在轴承中心" }, + { "id": "planet_bearing_2", "role": "bearing", "file": "exports/MF128_ZZ1_917195_U_10_plus_m0_8.step", "coordinate_system": "BEARING_CSYS", "material": { "class": "other" }, "notes": "行星轮2轴承,MF128 ZZ1,坐标系定义在轴承中心" }, + { "id": "planet_bearing_3", "role": "bearing", "file": "exports/MF128_ZZ1_917195_U_10_plus_m0_8.step", "coordinate_system": "BEARING_CSYS", "material": { "class": "other" }, "notes": "行星轮3轴承,MF128 ZZ1,坐标系定义在轴承中心" }, + { "id": "Carrier_inner", "role": "planet_carrier", "file": "exports/Carrier_inner.step", "coordinate_system": "CARRIER_INNER_CSYS", "material": { "class": "aluminum" }, "notes": "内活塞,坐标系定义在自转轴线上" }, + { "id": "PlanetPin_Nut_1", "role": "shaft", "file": "exports/PlanetPin_Nut_U_10_plusm0_8.step", "coordinate_system": "PIN_CSYS", "material": { "class": "steel" }, "notes": "行星钉1,坐标系定义在销轴中心线上" }, + { "id": "PlanetPin_Nut_2", "role": "shaft", "file": "exports/PlanetPin_Nut_U_10_plusm0_8.step", "coordinate_system": "PIN_CSYS", "material": { "class": "steel" }, "notes": "行星钉2,坐标系定义在销轴中心线上" }, + { "id": "PlanetPin_Nut_3", "role": "shaft", "file": "exports/PlanetPin_Nut_U_10_plusm0_8.step", "coordinate_system": "PIN_CSYS", "material": { "class": "steel" }, "notes": "行星钉3,坐标系定义在销轴中心线上" }, + { "id": "motor_to_sun_gear_coupling", "role": "coupling", "file": "exports/motor_to_sun_gear_coupling.step", "coordinate_system": "COUPLING_CSYS", "material": { "class": "steel" }, "notes": "电机-太阳轮联轴器,坐标系定义在联轴器中轴线上" }, + { "id": "Carrier_bearing", "role": "bearing", "file": "exports/Carrier_bearing_6811_OD72_ID55.step", "coordinate_system": "CARRIER_BEARING_CSYS", "material": { "class": "steel" }, "notes": "行星架主轴承,坐标系定义在轴承中轴线上" }, + { "id": "Main_case", "role": "housing", "file": "exports/Main_case_2.step", "coordinate_system": "MAIN_CSYS", "material": { "class": "aluminum" }, "notes": "主框架,坐标系MAIN_CSYS作为全局基准" }, + { "id": "Carrier_outer", "role": "planet_carrier", "file": "exports/Carrier_outer.step", "coordinate_system": "CARRIER_OUTER_CSYS", "material": { "class": "aluminum" }, "notes": "外活塞,坐标系定义在输出轴线上" }, + { "id": "Moteus_controller_mount", "role": "controller_mount", "file": "exports/Moteus_controller_mount.step", "coordinate_system": "CONTROLLER_CSYS", "material": { "class": "aluminum" }, "notes": "控制器支架,坐标系定义在安装基准面" }, + { "id": "Magnet_holder", "role": "magnet_holder", "file": "exports/Magnet_holder_v2.step", "coordinate_system": "MAGNET_HOLDER_CSYS", "material": { "class": "steel" }, "notes": "磁铁支架,坐标系定义在中轴线" }, + { "id": "magnet", "role": "magnet", "file": "exports/magnet.step", "coordinate_system": "MAGNET_CSYS", "material": { "class": "magnet" }, "notes": "磁铁,坐标系定义在磁铁中轴线上" }, + { "id": "bearing_retainer", "role": "bearing_retainer", "file": "exports/Bearing_retainer.step", "coordinate_system": "RETAINER_CSYS", "material": { "class": "aluminum" }, "notes": "轴承保持架,坐标系定义在保持架中轴线上" }, + { "id": "Back_plate", "role": "end_cap", "file": "exports/Back_plate_2mm_v3_moteous.step", "coordinate_system": "BACKPLATE_CSYS", "material": { "class": "aluminum" }, "notes": "背板,坐标系定义在背板中心" } + ], + + "constraints": [ + { "type": "fixed_to_ground", "a": "Main_case", "source": "sw_mate", "semantic_hint": "主框架(外壳)固定于机座/大地" }, + { "type": "coincident", "a": "Moteus_controller_mount:Bottom_Face", "b": "Back_plate:Top_Face", "source": "sw_mate", "mate_name": "ControllerMount_BackPlate_Coincident", "semantic_hint": "控制器支架下平面与背板上平面重合" }, + { "type": "coaxial", "a": "Moteus_controller_mount:Hole_1", "b": "Back_plate:Hole_1", "source": "sw_mate", "mate_name": "ControllerMount_BackPlate_Hole1_Coaxial", "semantic_hint": "控制器支架与背板孔同轴" }, + { "type": "coaxial", "a": "Moteus_controller_mount:Hole_2", "b": "Back_plate:Hole_2", "source": "sw_mate", "mate_name": "ControllerMount_BackPlate_Hole1_Coaxial", "semantic_hint": "控制器支架与背板孔同轴" }, + { "type": "coincident", "a": "Magnet_holder:Top_Face", "b": "magnet:Top_Face", "source": "sw_mate", "mate_name": "MagnetHolder_Magnet_Coincident", "semantic_hint": "磁铁支架上表面与磁铁上表面重合" }, + { "type": "coaxial", "a": "Magnet_holder:Inner_Cyl", "b": "magnet:Outer_Cyl", "source": "sw_mate", "mate_name": "MagnetHolder_Magnet_Coaxial", "semantic_hint": "磁铁支架与磁铁同轴" }, + { "type": "coincident", "a": "Magnet_holder:Bottom_Face", "b": "motor:Top_Face", "source": "sw_mate", "mate_name": "Magnet_Motor_Coincident", "semantic_hint": "磁铁支架下表面与电机轴上表面重合" }, + { "type": "coaxial", "a": "magnet:Outer_Cyl", "b": "motor:Outer_Cyl", "source": "sw_mate", "mate_name": "Magnet_Motor_Coaxial", "semantic_hint": "磁铁与电机同轴" }, + { "type": "coincident", "a": "motor:Top_Face2", "b": "Back_plate:Bottom_Face", "source": "sw_mate", "mate_name": "Motor_BackPlate_Coincident", "semantic_hint": "电机上表面与背板下表面重合" }, + { "type": "coaxial", "a": "motor:Outer_Cyl", "b": "Back_plate:Outer_Cyl", "source": "sw_mate", "mate_name": "Motor_BackPlate_Coaxial", "semantic_hint": "电机与背板同轴" }, + { "type": "coincident", "a": "motor_to_sun_gear_coupling:Top_Face", "b": "motor:Bottom_Face", "source": "sw_mate", "mate_name": "Coupling_Motor_Coincident", "semantic_hint": "联轴器上表面与电机下表面重合" }, + { "type": "coaxial", "a": "motor_to_sun_gear_coupling:Outer_Cyl", "b": "motor:Outer_Cyl", "source": "sw_mate", "mate_name": "Coupling_Motor_Coaxial", "semantic_hint": "联轴器与电机同轴" }, + { "type": "coincident", "a": "motor_to_sun_gear_coupling:Bottom_Step", "b": "sun_gear:Top_Face", "source": "sw_mate", "mate_name": "Coupling_SunGear_Coincident", "semantic_hint": "联轴器下台阶面与太阳轮上表面重合" }, + { "type": "coaxial", "a": "motor_to_sun_gear_coupling:Outer_Cyl", "b": "sun_gear:Inner_Cyl", "source": "sw_mate", "mate_name": "Coupling_SunGear_Coaxial", "semantic_hint": "联轴器与太阳轮同轴" }, + { "type": "coaxial", "a": "planet_bearing_1:Outer_Cyl", "b": "planet_gear_1:Inner_Cyl", "source": "sw_mate", "mate_name": "Bearing1_PlanetGear1_Coaxial", "semantic_hint": "行星轮1轴承(MF128)与行星轮1同轴" }, + { "type": "coincident", "a": "planet_bearing_1:Step_face", "b": "planet_gear_1:Step_face", "source": "sw_mate", "mate_name": "Bearing1_PlanetGear1_coincident", "semantic_hint": "行星轮1轴承(MF128)与行星轮1台阶面重合" }, + { "type": "coaxial", "a": "planet_bearing_2:Outer_Cyl", "b": "planet_gear_2:Inner_Cyl", "source": "sw_mate", "mate_name": "Bearing2_PlanetGear1_Coaxial", "semantic_hint": "行星轮2轴承(MF128)与行星轮2同轴" }, + { "type": "coincident", "a": "planet_bearing_2:Step_face", "b": "planet_gear_2:Step_face", "source": "sw_mate", "mate_name": "Bearing2_PlanetGear1_coincident", "semantic_hint": "行星轮2轴承(MF128)与行星轮2台阶面重合" }, + { "type": "coaxial", "a": "planet_bearing_3:Outer_Cyl", "b": "planet_gear_3:Inner_Cyl", "source": "sw_mate", "mate_name": "Bearing3_PlanetGear1_Coaxial", "semantic_hint": "行星轮3轴承(MF128)与行星轮3同轴" }, + { "type": "coincident", "a": "planet_bearing_3:Step_face", "b": "planet_gear_3:Step_face", "source": "sw_mate", "mate_name": "Bearing3_PlanetGear1_coincident", "semantic_hint": "行星轮3轴承(MF128)与行星轮3台阶面重合" }, + { "type": "coaxial", "a": "Main_case:Inner_Cyl", "b": "Back_plate:Outer_Cyl", "source": "sw_mate", "mate_name": "MainCase_BackPlate_Coaxial", "semantic_hint": "主框架内圆柱面与背板外圆柱面重合" }, + { "type": "coincident", "a": "Main_case:Top_Face", "b": "Back_plate:Top_Face", "source": "sw_mate", "mate_name": "MainCase_BackPlate_coincident", "semantic_hint": "主框架与背板上表面重合" }, + { "type": "coincident", "a": "ring_gear:Bottom_Face", "b": "Main_case:Bottom_Step", "source": "sw_mate", "mate_name": "RingGear_MainCase_Coincident", "semantic_hint": "齿圈下表面与主框架下台阶面重合" }, + { "type": "coaxial", "a": "ring_gear:Outer_Cyl", "b": "Main_case:Inner_Cyl", "source": "sw_mate", "mate_name": "RingGear_MainCase_Coaxial", "semantic_hint": "齿圈与主框架同轴" }, + { "type": "coincident", "a": "ring_gear:Bottom_Face", "b": "planet_gear_1:Bottom_Face", "source": "sw_mate", "mate_name": "Ringgear_PlanetGear1_Coincident", "semantic_hint": "齿圈下表面与行星轮1下表面重合" }, + { "type": "coincident", "a": "ring_gear:Bottom_Face", "b": "planet_gear_2:Bottom_Face", "source": "sw_mate", "mate_name": "Ringgear_PlanetGear2_Coincident", "semantic_hint": "齿圈下表面与行星轮2下表面重合" }, + { "type": "coincident", "a": "ring_gear:Bottom_Face", "b": "planet_gear_3:Bottom_Face", "source": "sw_mate", "mate_name": "Ringgear_PlanetGear3_Coincident", "semantic_hint": "齿圈下表面与行星轮3下表面重合" }, + { "type": "coaxial", "a": "Carrier_inner:Outer_Cyl", "b": "Main_case:Inner_Cyl", "source": "sw_mate", "mate_name": "CarrierInner_MainCase_Coaxial", "semantic_hint": "内活塞与主框架同轴" }, + { "type": "coincident", "a": "Carrier_inner:Top_Face", "b": "planet_bearing_3:Bottom_Face", "source": "sw_mate", "mate_name": "Carrierinner_Planetbearing3_Coincident", "semantic_hint": "内活塞上表面与行星轮轴承3下表面重合" }, + { "type": "coincident", "a": "Carrier_bearing:Bottom_Face", "b": "Main_case:Bottom_Face", "source": "sw_mate", "mate_name": "CarrierBearing_MainCase_Coincident", "semantic_hint": "6811轴承下表面与主框架下表面重合" }, + { "type": "coaxial", "a": "Carrier_bearing:Outer_Cyl", "b": "Main_case:Inner_Cyl", "source": "sw_mate", "mate_name": "CarrierBearing_MainCase_Coaxial", "semantic_hint": "6811轴承与主框架同轴" }, + { "type": "coincident", "a": "Carrier_outer:Top_Step", "b": "Carrier_bearing:Bottom_Face", "source": "sw_mate", "mate_name": "CarrierOuter_CarrierBearing_Coincident", "semantic_hint": "外活塞上台阶面与6811轴承下表面重合" }, + { "type": "coaxial", "a": "Carrier_outer:Outer_Cyl", "b": "Carrier_inner:Outer_Cyl", "source": "sw_mate", "mate_name": "CarrierOuter_CarrierInner_Coaxial", "semantic_hint": "外活塞与内活塞同轴" }, + { "type": "coincident", "a": "bearing_retainer:Top_Face", "b": "Main_case:Bottom_Face", "source": "sw_mate", "mate_name": "BearingRetainer_MainCase_Coincident", "semantic_hint": "轴承保持架上表面与主框架下表面重合" }, + { "type": "coaxial", "a": "bearing_retainer:Outer_Cyl", "b": "Main_case:Inner_Cyl", "source": "sw_mate", "mate_name": "BearingRetainer_MainCase_Coaxial", "semantic_hint": "轴承保持架与主框架同轴" }, + { "type": "coaxial", "a": "bearing_retainer:Hole_1", "b": "Main_case:Hole_1", "source": "sw_mate", "mate_name": "BearingRetainer_MainCase_Coaxial", "semantic_hint": "轴承保持架与主框架安装孔对齐" } + ], + + "meshes": [ + { "pair": ["sun_gear", "planet_gear_1"], "type": "external_gear", "center_distance_mm": 24.17, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "太阳轮与行星轮1外啮合" }, + { "pair": ["sun_gear", "planet_gear_2"], "type": "external_gear", "center_distance_mm": 24.17, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "太阳轮与行星轮2外啮合" }, + { "pair": ["sun_gear", "planet_gear_3"], "type": "external_gear", "center_distance_mm": 24.17, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "太阳轮与行星轮3外啮合" }, + { "pair": ["ring_gear", "planet_gear_1"], "type": "internal_gear", "center_distance_mm": 24, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "齿圈与行星轮1内啮合" }, + { "pair": ["ring_gear", "planet_gear_2"], "type": "internal_gear", "center_distance_mm": 24, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "齿圈与行星轮2内啮合" }, + { "pair": ["ring_gear", "planet_gear_3"], "type": "internal_gear", "center_distance_mm": 24, "backlash_mm": 0.02, "source": "sw_mate", "semantic_hint": "齿圈与行星轮3内啮合" } + ], + + "joints": [ + { "id": "joint_sun_gear", "type": "revolute", "a": "sun_gear", "b": "Main_case", "axis": "z", "frame": "global", "description": "太阳轮相对于壳体绕全局Z轴旋转" }, + { "id": "joint_carrier_output", "type": "revolute", "a": "Carrier_outer", "b": "Main_case", "axis": "z", "frame": "global", "description": "行星架(输出端)相对于壳体绕全局Z轴旋转" }, + { "id": "joint_carrier_planet_1", "type": "revolute", "a": "planet_gear_1", "b": "Carrier_outer", "axis": "z", "frame": "global", "description": "行星轮1随行星架绕全局Z轴公转" }, + { "id": "joint_carrier_planet_2", "type": "revolute", "a": "planet_gear_2", "b": "Carrier_outer", "axis": "z", "frame": "global", "description": "行星轮2随行星架绕全局Z轴公转" }, + { "id": "joint_carrier_planet_3", "type": "revolute", "a": "planet_gear_3", "b": "Carrier_outer", "axis": "z", "frame": "global", "description": "行星轮3随行星架绕全局Z轴公转" }, + { "id": "joint_planet_1", "type": "revolute", "a": "planet_gear_1", "b": "Carrier_inner", "axis": "z", "frame": "PLANET_CSYS", "description": "行星轮1相对于行星架绕自身Z轴自转" }, + { "id": "joint_planet_2", "type": "revolute", "a": "planet_gear_2", "b": "Carrier_inner", "axis": "z", "frame": "PLANET_CSYS", "description": "行星轮2相对于行星架绕自身Z轴自转" }, + { "id": "joint_planet_3", "type": "revolute", "a": "planet_gear_3", "b": "Carrier_inner", "axis": "z", "frame": "PLANET_CSYS", "description": "行星轮3相对于行星架绕自身Z轴自转" }, + { "id": "joint_fixed_ring", "type": "fixed", "a": "ring_gear", "b": "Main_case", "axis": "z", "frame": "global", "description": "齿圈固定于主框架,不旋转" } + ], + + "kinematics": { + "type": "planetary", + "planet_count": 3, + "fixed_member": "ring_gear", + "ratio_claimed": 6.0, + "ratio_formula": "(ring_gear_teeth + sun_gear_teeth) / sun_gear_teeth = (100 + 20) / 20 = 6.0", + "ratio_derived": { + "formula": "(ring_gear.teeth + sun_gear.teeth) / sun_gear.teeth", + "input_params": ["ring_gear", "sun_gear"] + }, + "notes": "齿圈固定(T100),太阳轮输入(T20),行星架输出,理论传动比6:1" + }, + + "verification_rules": { + "ratio": [ + { "rule_id": "ratio_check", "expression": "(ring_gear.teeth + sun_gear.teeth) / sun_gear.teeth", "expected": 6.0, "tolerance": 0.01, "description": "齿圈固定时,传动比=(Zr+Zs)/Zs" } + ], + "torque": [ + { "rule_id": "torque_output_check", "expression": "motor_spec.rated_torque_nm * kinematics.ratio_claimed * power_flow.efficiency", "compare_to": "targets.rated_torque_nm", "description": "输出扭矩=电机扭矩×传动比×效率" } + ], + "geometry": [ + { "rule_id": "center_distance_check", "expression": "(sun_gear.gear.teeth + planet_gear_1.gear.teeth) * sun_gear.gear.module_mm / 2", "compare_to": "meshes[0].center_distance_mm", "tolerance": 0.05, "description": "理论中心距=(Zs+Zp)×m/2" }, + { "rule_id": "ring_gear_teeth_check", "expression": "sun_gear.gear.teeth + 2 * planet_gear_1.gear.teeth", "compare_to": "ring_gear.gear.teeth", "description": "齿圈齿数=Zs+2×Zp" } + ] + }, + + "power_flow": { + "path": ["motor", "motor_to_sun_gear_coupling", "sun_gear"], + "efficiency": 0.97, + "coupling_type": "coupling", + "notes": "电机→联轴器→太阳轮,效率按97%估算" + }, + + "io": { + "ground": ["Main_case", "ring_gear", "Moteus_controller_mount"], + "input": "motor", + "output": "Carrier_outer", + "dof_expected": "输出法兰绕Z轴旋转", + "notes": "电机驱动太阳轮,行星架输出" + }, + + "motor_spec": { + "motor_type": "bldc", + "rated_torque_nm": 2.0, + "peak_torque_nm": 4.0, + "rated_speed_rpm": 3000, + "pole_pairs": 7, + "air_gap_target_mm": 0.5, + "air_gap_tol_mm": 0.1, + "voltage_v": 24, + "max_current_a": 15, + "assumption_notes": "3500电机:额定扭矩2.0N·m@3000rpm,峰值4.0N·m,气隙0.5mm" + }, + + "targets": { + "rated_torque_nm": 50, + "peak_torque_nm": 80, + "ratio": 6.0, + "max_od_mm": 80, + "max_length_mm": 120, + "max_mass_kg": 1.5, + "max_temp_rise_c": 60 + }, + + "metadata": { + "author": "设计团队", + "source": "SolidWorks 2025", + "version": "1.0", + "notes": "行星关节模组完整实例,包含joints、verification_rules、power_flow" + } +} \ No newline at end of file