{ "schema_version": "1.0", "id": "mechanism.planetary.ferguson_wolfrom", "version": "1.0.0", "legacy_family": "ferguson_wolfrom", "description": "Ferguson-Wolfrom mechanical-paradox planetary reducer represented by two coupled sun/ring/planet sets.", "members": [ {"id": "sun1", "component_ref": "component.gear.cylindrical.external", "role": "sun_fixed_side", "repeat": "single"}, {"id": "sun2", "component_ref": "component.gear.cylindrical.external", "role": "sun_output_side", "repeat": "single"}, {"id": "planet1", "component_ref": "component.gear.cylindrical.external", "role": "input_planet", "repeat": "planet_count"}, {"id": "planet2", "component_ref": "component.gear.cylindrical.external", "role": "output_planet", "repeat": "planet_count"}, {"id": "ring1", "component_ref": "component.gear.cylindrical.internal", "role": "ring_fixed_side", "repeat": "single"}, {"id": "ring2", "component_ref": "component.gear.cylindrical.internal", "role": "ring_output_side", "repeat": "single"}, {"id": "static_carrier", "component_ref": "component.carrier.planetary", "role": "static_carrier", "repeat": "single"}, {"id": "output_carrier", "component_ref": "component.carrier.planetary", "role": "output_carrier", "repeat": "single"}, {"id": "housing", "component_ref": "component.reference.housing", "role": "housing", "repeat": "single"}, {"id": "main_axis", "component_ref": "component.reference.main_axis", "role": "main_axis", "repeat": "single"} ], "relations": [ {"id": "sun1_planet1", "source": "sun1", "target": "planet1", "relation_ref": "relation.mesh.external_cylindrical", "carrier_ref": "static_carrier"}, {"id": "ring1_planet1", "source": "ring1", "target": "planet1", "relation_ref": "relation.mesh.internal_cylindrical", "carrier_ref": "static_carrier"}, {"id": "sun2_planet2", "source": "sun2", "target": "planet2", "relation_ref": "relation.mesh.external_cylindrical", "carrier_ref": "output_carrier"}, {"id": "ring2_planet2", "source": "ring2", "target": "planet2", "relation_ref": "relation.mesh.internal_cylindrical", "carrier_ref": "output_carrier"}, {"id": "planet1_carrier", "source": "planet1", "target": "static_carrier", "relation_ref": "relation.joint.revolute"}, {"id": "planet2_carrier", "source": "planet2", "target": "output_carrier", "relation_ref": "relation.joint.revolute"}, {"id": "sun_pair", "source": "sun1", "target": "sun2", "relation_ref": "relation.joint.rigid"}, {"id": "ring_pair", "source": "ring1", "target": "ring2", "relation_ref": "relation.joint.rigid"}, {"id": "sun1_axis", "source": "sun1", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "sun2_axis", "source": "sun2", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "ring1_axis", "source": "ring1", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "ring2_axis", "source": "ring2", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "static_carrier_axis", "source": "static_carrier", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "output_carrier_axis", "source": "output_carrier", "target": "main_axis", "relation_ref": "relation.alignment.coaxial"}, {"id": "static_carrier_ground", "source": "static_carrier", "target": "housing", "relation_ref": "relation.joint.fixed"} ], "external_ports": [ {"id": "input_rotation", "member": "planet1", "type": "port.joint.revolute"}, {"id": "output_rotation", "member": "output_carrier", "type": "port.rotation.coaxial"}, {"id": "housing_mount", "member": "housing", "type": "port.mount.stationary"} ], "boundary_profiles": [ {"id": "planet1_in_static_carrier_fixed_output_carrier_out", "input": "planet1", "fixed": ["static_carrier"], "output": "output_carrier", "production_evidence": true} ], "constraint_rules": [ "paired_suns_rigid", "paired_rings_rigid", "required_tooth_counts_explicit", "minimum_teeth_exclusive_17", "graph_kinematics_residual_within_tolerance" ], "capability_refs": [ "capability.parameter_solver.ferguson_wolfrom", "capability.kinematics.graph", "capability.layout.ferguson_wolfrom", "capability.cad.ferguson_wolfrom", "capability.validation.reducer" ], "source_topology": { "path": "src/configurations/ferguson_wolfrom/topology.template.json", "sha256": "82a19e71d776628c79d9d16871d7e7a07f093ecaff84d1114d77f620d3ae074c" }, "limitations": [ "Current implementation supports kinematic_demo detail level only.", "The eccentric planet-pin input is not compatible with the current coaxial joint-module adapter." ], "maturity": "geometry_validated" }