Skip to main content
Executive Interpreter

Productive Robotics

Executive Interpreter

Extended the robot's program execution engine — the Python-based interpreter that translates high-level weld programs (sequences of Move, Weld, Dispense, and Gripper steps) into real-time motion commands, process triggers, and state machine transitions. Added return-to-setup automation, live weld speed routing through a multi-layer gateway, trajectory inset direction correction, gripper API integration, and run state monitoring.

Built return-to-setup automation: the interpreter records the start_pos of the program's first step before execution begins, executes the full program, then auto-appends a synthetic Move step targeting the recorded start_pos with inherited move_settings (speed, force limit, acceleration limit) from the last executed step. Explicitly disabled for macro sub-programs where return-to-setup would interfere with the parent program's flow. This eliminates the manual 'jog back to start' step between cycles — for repetitive welding operations, the robot automatically returns to the load position.

Implemented the [live weld speed gateway](/portfolio/live-weld-speed-control) — a multi-layer routing system that translates operator speed slider adjustments into segment-level velocity modifications in the active trajectory. The gateway performs step ID traversal (walking the active program's step list to identify the currently executing weld step), job handler routing (identifying which job handler owns the active weld step in multi-job configurations), and segment-level application (updating velocity setpoints of specific trajectory segments without interrupting motion). This is not a global speed scale — it modifies actual velocity profiles while preserving the geometric path, with response within one control cycle.

Fixed trajectory inset direction for approach/retract geometry — the short linear moves at the start and end of weld paths that position the torch before striking the arc. For reversed-direction steps, the fix adds 1cm inset (extending the approach into the weld path); for normal direction, it subtracts 1cm (retracting away). A guard prevents negative width values that would invert the geometry and cause dangerous wrong-direction motion. Also integrated the gripper API as first-class program steps alongside Move and Weld, with blocking execution until gripper confirmation or timeout.

PythonROSMotion ControlTrajectory PlanningRobotics