
Productive Robotics
Touch Sense & Groove Search
Built a wire-as-probe contact detection system with a world-frame groove search algorithm for automatically finding weld joints before welding begins. The robot feeds wire at controlled speed, detects contact via DeltaWeld EtherNet/IP hardware feedback, and records absolute position — then probes both walls of V-groove joints to compute the seam centerline. Integrated as a first-class step type in the executive interpreter with a full ROS action server pattern.
Implemented wire-as-probe contact detection using the DeltaWeld welder's built-in touch sense hardware. The robot extends the welding wire at a controlled feed rate toward the workpiece. When the wire touches metal, the welder detects the electrical contact via its EtherNet/IP interface and signals the robot to record the absolute position. This approach uses the welding wire itself as the sensor — no additional hardware required.
Developed a world-frame groove search algorithm that probes both walls of V-groove weld joints. The robot jogs in the world coordinate frame (not tool frame) for consistent wall detection regardless of torch angle, then performs a single touch in the tool frame for depth measurement. The algorithm computes the groove centerline from the two wall contact points, providing the seam start position for the welding path. Edge case handling includes configurable probe distances, approach speeds, and retry logic for missed contacts.
Integrated touch sensing as a first-class step type in the Python executive interpreter alongside Move, Weld, and Gripper steps. The implementation follows the ROS action server pattern (TouchSearch.action) with goal, feedback, and result messages — enabling the tablet UI to show real-time probe progress and allowing the operator to cancel mid-search. The touch sense step stores its result (contact position) in the program's variable space, making it available to subsequent weld steps for automatic seam tracking.