🤖 Robot Reach Study

Blade Generation System — Project Plan

🤖 Robot Reach Study

Mathematical accessibility analysis for robotic welding without full kinematic simulation. Uses arm segment lengths to determine if welds are reachable.

💡 Design Philosophy

This is NOT a full kinematic simulation. We're doing a simplified "can the torch tip physically reach this point?" check based on maximum arm extension. Real robots have joint limits, singularities, and collision constraints we're ignoring. This is a quick feasibility filter, not a motion planning tool.

Input Parameters

ROBOT ARM SEGMENT MODEL (Generic 6-Axis) ┌─────────────────────────────────────────────────────┐ │ ROBOT BASE (mounted position) │ │ - X, Y, Z position relative to fixture origin │ │ - Rotation about Z (base orientation) │ └───────────────────────┬─────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────┐ │ SEGMENT LENGTHS (from robot datasheet) │ │ - L1: Base to J2 axis (vertical reach) │ │ - L2: J2 to J3 (upper arm) │ │ - L3: J3 to J5 (forearm/wrist center) │ │ - L4: J5 to torch tip (tool length) │ └─────────────────────────────────────────────────────┘ TOTAL MAX REACH = L1 + L2 + L3 + L4 (fully extended) INNER DEAD ZONE = typically ~300-500mm (can't reach too close)
  • Robot base position input (X, Y, Z, Rz)
  • Segment length inputs (L1, L2, L3, L4)
  • Inner dead zone radius (min reach)
  • Optional: multiple robot positions for cell layout

Reach Envelope Calculation

REACH ENVELOPE (Top View) Max Reach Sphere ╱ ╲ ╱ REACHABLE ╲ ╱ ZONE ╲ │ ┌───────────┐ │ │ │ INNER │ │ │ │ DEAD ZONE │ │ │ │ (can't │ │ │ │ reach) │ │ │ └───────────┘ │ ╲ ╱ ╲ ╱ ╲ ╱ ───────────── ⊕ Robot Base For each weld point P: distance = sqrt((Px-Rx)² + (Py-Ry)² + (Pz-Rz)²) IF distance > MAX_REACH: UNREACHABLE (too far) IF distance < MIN_REACH: UNREACHABLE (too close) ELSE: POTENTIALLY REACHABLE

Weld Accessibility Analysis

For each weld bead, check if the torch can reach the start, end, and key intermediate points.

ACCESSIBILITY OUTPUT (CSV/JSON) Weld_ID | Start_X | Start_Y | Start_Z | End_X | End_Y | End_Z | Reachable | Distance | Notes --------|---------|---------|---------|-------|-------|-------|-----------|----------|-------- W001 | 150.0 | 200.0 | 50.0 | 150.0 | 350.0 | 50.0 | YES | 890mm | W002 | 850.0 | 100.0 | 25.0 | 850.0 | 250.0 | 25.0 | MARGINAL | 1180mm | Near max reach W003 | 1200.0 | 400.0 | 75.0 | 1350.0| 400.0 | 75.0 | NO | 1450mm | Exceeds 1200mm max W004 | 50.0 | 50.0 | 200.0 | 50.0 | 150.0 | 200.0 | NO | 280mm | Inside dead zone
  • Iterate all weld beads in model
  • Calculate distance from robot base to each weld point
  • Classify: REACHABLE / MARGINAL (90-100% of max) / UNREACHABLE
  • Generate reach study report (CSV/JSON/HTML)
  • Visualize reach envelope as transparent sphere in 3D

Optional Enhancements (Future)

  • Torch angle feasibility (can torch approach at required angle?)
  • Fixture collision check (is torch path blocked by blades?)
  • Positioner rotation optimization (find best index angle)
  • Multi-robot coverage analysis (which robot welds which beads)

⚠️ Limitations

This reach study does NOT account for:

  • Joint angle limits (J1-J6 min/max)
  • Singularity zones
  • Cable dress interference
  • Actual motion planning / collision avoidance

Use offline programming software (e.g., RoboDK, DELMIA) for full simulation.

📦 Deliverables

fxRobotReachStudy.ovm - main reach analysis macro

fxReachEnvelope.ovm - generate visual reach sphere

fxWeldAccessibilityReport.ovm - CSV/JSON export

robot_params.json - robot segment length database