Self-calibrating obstacle detection for a manufacturing line
Built the AI model that turns raw sensor readings on a factory floor into a warning workers can trust, and replaced hand-tuning of every single sensor with calibration that runs itself and reports when it's drifted off.
A hardware startup had a working obstacle-detection device for manufacturing lines, but no reliable way to tell what its sensors were actually seeing. Reflections off steel guarding, vibration, dust, and the machinery's own movement meant the simple threshold-based approach triggered false alarms often enough that plants would just switch the device off. On top of that, every unit had to be tuned by hand when installed, and those settings would quietly go stale the first time the line was rearranged.
The model had to run on the device's existing, limited hardware, with no round-trip to the cloud allowed in the warning path, a warning has to fire instantly, not after a network call. No labelled training data existed yet, so building that dataset was itself on the critical path, and the calibration process had to run unattended and be simple enough for a field technician to install. This system is a warning layer, not a certified safety device, it works alongside the line's existing safety barriers and shutoffs, and replaces none of them.
We built a labelled dataset from recording sessions across multiple live production lines, then trained the model to recognize patterns over short time windows rather than single instant readings, how fast something is approaching, how its reflected signal changes, how long it lingers, and the steady rhythm that separates a robot arm from a person. We weighted the model to treat a false alarm as more costly than a narrowly-missed detection, because a false alarm is what gets a device switched off entirely. We also built a calibration step that learns each unit's normal surroundings when it's installed, keeps that baseline up to date as the line changes, and flags it when things have drifted too far to trust automatically.
A trained detection model that runs within the device's existing hardware limits, unattended per-sensor calibration that keeps re-checking its own baseline and flags drift, a labelled dataset the client owns outright, and a repeatable testing setup, including a dedicated check that a person standing still isn't gradually learned into the background and missed.
Our self-calibration worked too well. Anything that stayed still long enough got quietly learned as part of the background, the right call for a guard rail, but dangerous for a worker standing still at a station, who the system gradually stopped noticing. We only caught this because we specifically tested on lines the model had never seen, not by inspecting the code. We rebuilt it to track short-term and long-term background separately, require real evidence before treating something as permanent background, and exclude the areas workers actually stand in from ever being absorbed that way, then we added a permanent test that checks for exactly this failure. It cost roughly a week against the timeline, and we flagged it to the client the day the test caught it.