Vision-Guided Machine Tending
Three-robot CNC tending system for multi-operation bone screw manufacturing.
Three robots tending three CNC lathes across sequential bone-screw operations, using hierarchical robot state machines, safety integration, pneumatics, and in-line inspection. Customer identity and process details are withheld.
Problem
Bone screws were being produced on a Swiss lathe at roughly ten minutes a part, from bar stock, as a single long operation. The volume the customer wanted could not be reached by running that process faster.
Splitting it across three shorter operations makes the arithmetic work, but only if the parts move between three machines without a person carrying them, and only if a part that fails inspection is caught before it consumes time on the next lathe. That is the actual problem: not the machining, but the part flow, the machine availability, and the failure handling between them.
Architecture
- Three robots coordinated with three CNC machines across sequential operations.
- Robot-side hierarchical state machines handled process flow, recovery, and machine interaction.
- PLC integration managed critical signals, permissives, interlocks, and cell-level behavior.
- Safety systems and pneumatics were integrated into the machine tending process.
- Inspection logic supported process validation before downstream operations.
Contribution
Owned end-to-end project development across design, programming, integration, commissioning, troubleshooting, customer support, documentation, and training.
Results
- One cell replaced the prior process at roughly 12× the output — a finished bone screw every ~50 s against ~10 min/part on the Swiss lathe it displaced.
- Held 95% uptime at SAT with predictable fault recovery across the three-robot, three-lathe flow.
- Automated in-line length inspection of blanks and finished screws before downstream operations.
- The customer has since ordered the same system seven times — five delivered, two under purchase order and in build, against a potential twelve.
The cell works from blanks rather than bar stock. The customer was already producing blanks in-house for other processes, so the design consumes capability they had rather than asking them to buy new capability — which is a large part of why the numbers closed.
What the environment did to the first design
The cell gauges length twice — once on the incoming blank, once on the finished screw. The original gauges used SMAC linear voice-coil actuators, and they passed FAT and SAT and ran correctly in production.
A few weeks in, oil mist began reaching the actuator encoders. It was never a stoppage, which is what made it insidious: the customer simply absorbed it, cleaning and swapping units for months as a maintenance nuisance rather than raising it as a failure.
The miss was mine and it was an environmental one. Oil mist carried further through that facility than we had accounted for — it was not confined to the machines producing it — and I had specified the actuator against its stated environmental rating rather than against the air the machine was actually going to live in. A datasheet describes a component; it does not describe a plant.
I went back at the design anyway. The replacement drives a SIKO magnetic encoder with a pneumatic actuator — no optical path and nothing for the mist to contaminate. I proposed it, designed it, built it, and tested it; it has held up in the same environment since. It shipped as standard from the fifth machine onward, and the customer chose to pay for the retrofit on the four already accepted.
Two lessons I kept. A machine passing acceptance testing does not mean the design survived the environment — SAT happens before the plant has had time to do its worst. And the customer had quietly decided to live with a defect rather than report it, so finding it required paying attention to their maintenance behavior rather than their fault log.
What mattered most
Three robots sharing one part flow means the failure cases outnumber the happy path. Most of the work went into structuring the cell so each robot could decide on its own, recover to a known state, and stay in step with the lathes — and so that when something did go wrong, operators and maintenance could see which stage it happened in.
That structure is also what made the design repeatable. A cell built around one customer's exact part would not have been ordered seven times.
System Diagram
Sanitized process flow — a generic representation of the architecture, with no customer data.