Work log — Assembly cell project, vision-to-machine datum week
Engineer: M. Offredi (automation integration)
Project: ASC-12B smart assembly cell, camera-guided gear insert
Log period: Day 01 to Day 07
Document ref: WL-2026-0911-VD04
Day 01 — morning stand-up, the robot that serves the right gear to the wrong hole
Stand-up 08:10. The ASC-12B inserts a timing gear into a housing under a fixed camera, and the first-pass success rate has slid to 62 percent this week from 91 at launch. The failure mode is consistent: the robot places the gear offset by 0.6 to 1.1 mm in the same direction, toward the corner of the table, and the faulty contacts look like a datum error more than a camera error, because the camera re-localises every part and still misses by the same amount. My job for the week is to find out whether the machine’s mechanical references and the camera’s pixel references are telling the same story, and to make them write it in the same language.
Morning I started with the tape measure and the dials, because vision problems have a habit of being mechanical problems wearing a camera costume. I measured the camera bracket against the robot base: the bracket, an aluminium stand-off bolted to the cell table, was 2.1 mm out over its 320 mm height, tilted toward the table corner, which at the 800 mm working height puts the optical axis 0.9 mm off the mechanical centreline at the work plane. That single 0.9 mm is the doppelganger of the 0.6 to 1.1 mm placement error, and I wrote it into the day’s log before touching a single vision parameter.
Evening note: the handshake I keep coming back to is the transformation between the camera frame and the robot frame, a rigid body transform, and if the camera sits on a tilted bracket the calibration transform cannot be a clean constant, it absorbs the tilt and drifts with temperature. Tomorrow I bolt the datum story together before I change one line of the vision config.
Day 02 — the bracket fix and the truth about the fixture
Morning, I levelled the camera bracket before calibrating anything. Two hardened spacer washers under the low corner and a dial-indicator sweep across the lens mount face brought the tilt from 2.1 mm over 320 mm down to 0.05 mm, a change of about 0.35 degrees. Then the optical axis check: a plumb line from the lens to the work plane now lands within 0.1 mm of the marked machine centreline, a 0.8 mm improvement in one morning of washers and bolts. I left the calibration file untouched and re-ran the placement test to see what the geometry alone fixes.
The test surprised me in the good direction: first-pass success climbed from 62 to 84 percent with just the bracket levelled and no calibration change. Then it surprised me in the bad direction: the remaining 16 percent still missed, by a smaller 0.3 to 0.5 mm, and the offset direction was no longer uniform, it scattered. That scatter told me the next suspect, the fixture that locates the gear blank. I measured the nest with the CMM, and it is the fixture that is lying: the gear nest locator pin sits 0.28 mm off datum on one axis, and the datum pin bore has 0.15 mm of ovality from a previous crash. The vision measures the gear in the camera frame accurately, but the gear sits in a nest whose own datum has wandered, so the robot receives a correct coordinate for a part on a wrong reference. Classic mechanical datum rot underneath a healthy camera.
Evening thought: the two failures looked identical from the line, same robot, same camera, same offset narrative, but they had completely different physics, one was a camera standing on a tilted leg, the other was a fixture sitting on an oval hole. Fixing the camera then stopping would have left a 16 percent miss rate that looked like a software riddle.
Day 03 — the fixture rebuild and a calibration with a new conscience
Morning started with the CMM report on the bench: the nest locator pin 0.28 mm off datum, the datum bore ovality 0.15 mm, both from the crash history I found in the maintenance notes, a dropped pallet in week three. The rebuild decision was easy and the execution took the morning: new locator pin pressed into a re-bored nest bore, datum bore reamed to size and the ovality cut out, and the nest re-zeroed against the master workpiece with a 0.01 mm square. Re-installed, the locator pin now sits within 0.02 mm of the CMM datum, and the gear blank nests with a repeatable 0.03 mm radial runout against the master part.
Afternoon I re-ran the hand eye calibration with the now-true geometry, the 0.05 mm bracket on a true fixture. The camera-to-robot transform came back clean: rotation residual under 0.02 degrees, translation residual 0.12 mm across the work plane, and I checked the transform’s stability by calibrating twice, once cold at 21 C and once after an hour of running at the cell’s 27 C, the transform shifted 0.09 mm, inside the 0.15 mm budget the process allows. The calibration is now an actual constant instead of a shape-shifter absorbing tilt.
The placement test after both fixes: first-pass success 98.5 percent on 400 parts, misses at 0.2 mm, all inside the 0.25 mm insert tolerance, and the scatter is gone, the residual 1.5 percent is the true noise floor of the nest, not a datum error wearing a random costume.
Day 04 to Day 06 — the week’s run and the temperature question
Days 04 to 06 ran the cell in production with the new geometry. Day 04: 2,400 inserts, 98.7 percent first pass, the miss distribution stable, no directionality. Day 05 with the shop warmed to 30 C after a hot afternoon: the transform shifted another 0.08 mm and first-pass held at 98.2, the 0.15 mm budget absorbing it cleanly. Day 06 I photographed the placement ring under the camera each morning as a datum audit, three morning reads identical within 0.05 mm, the bracket never moved. I also added the monthly datum audit to the PM plan, the fixture pin, the bracket tilt, and the calibration residual, one sheet, three columns, forty minutes.
The honest note for the log: the vision package was never the villain. The camera was accurate at every step, it reported what it saw, and what it saw was two mechanical references quietly walking. The machine fixed itself the moment the mechanical datums held still, and the vision calibration became valuable only when it had a fixed frame to stand in.
Day 07 — handover and the datum discipline record
Handover day. I wrote the datum discipline into the cell’s operating manual: the camera bracket is a monthly tilt check item, the nest pins are a quarterly CMM item, and the calibration residual goes on the same monthly sheet. The line supervisor and I watched the robot run forty inserts into a fresh housing at 0.15 mm offset, all forty landed clean, and he signed the release. The 62 percent week is a footnote, the 98.5 percent is the number in the handover sheet.
Closing the log with the numbers the job owed: camera bracket tilt from 2.1 mm over 320 mm to 0.05 mm, plumb axis offset from 0.9 mm to 0.1 mm, nest pin from 0.28 mm off datum to 0.02 mm, calibration residual 0.12 mm cold to 0.09 to 0.12 mm thermal on a 0.15 mm budget, first-pass insert from 62 percent to 98.5 percent on 400 parts. The camera now serves the machine’s true references, and the machine’s references finally hold still long enough to be served.
Attachment A — datum and calibration record
| Item | Before | After |
|---|---|---|
| Camera bracket tilt | 2.1 mm / 320 mm | 0.05 mm |
| Optical axis offset | 0.9 mm | 0.1 mm |
| Nest locator pin | 0.28 mm off datum | 0.02 mm |
| Datum bore ovality | 0.15 mm | re-bored, 0.02 mm |
| Calibration residual | unstable, tilted | 0.12 mm, thermal stable |
| First-pass insert | 62 percent | 98.5 percent |
Attachment B — datum audit check list
1. Sweep the camera bracket face with a dial, record tilt. 2. Drop a plumb line and check the optical axis against the machine centre. 3. CMM or pin-check the nest locator against the drawing datum. 4. Re-run the hand eye calibration and record the residual. 5. Repeats the audit cold and after an hour of running. 6. Compare the residual against the process budget and log the trend.
Glossary
Hand eye calibration: the transform between the camera frame and the robot frame. Datum: the fixed reference a feature is measured from. Nest: the fixture that locates the incoming part. Residual: the error left after fitting the calibration transform. First-pass success: the rate of placements that land inside tolerance without a retry.
Week-end reflection — why the camera needed a mechanical chaperone
Friday evening in the integration office, and the week closes with a lesson I want underlined in this diary: a vision system measures in pixels and assumes the world it stands in is stable, but the world is a cameraman’s tripod with a loose leg and a drawer full of oval holes, and nobody tells the pixels. This project failed as a software mystery and succeeded as a mechanics job. The camera never lied, the machine’s references did, quietly, by millimetres that mattered more than the pixel resolution.
Three habits from this week that I will take to every vision station from now on. First, measure the mechanical frame before trusting any calibration output, a bracket tilt and a fixture pin tell you more in an hour than a software dig in a week. Second, calibrate twice, cold and warm, because a transform that moves 0.09 mm with temperature is a budget line, not a surprise. Third, keep a datum audit on the PM sheet, because the 0.28 mm pin was weeks old and the line had learned to live with it. The gear inserts at 98.5 percent now, the bracket has washers under one corner, the nest has a new pin, and most importantly, the handshake between the camera and the machine finally carries the same truth on both ends.
A last arithmetic note for the maintenance file: with the field of view covering a 900 by 700 mm work plane through a 5 mm lens at 0.12 mm per pixel, the 0.28 mm fixture pin error was more than two pixels, which is why the robot’s offset repeated at a size the vision software could not explain away. Two pixels sounds small on paper and is a rejected part on the line, and the whole job was teaching the machine to agree about where a millimetre lives. It agrees now, within a budget of 0.15 mm, and the log I wrote over the week is the manual the calibration finally deserved.