SpaceTeamSat1 Mechanical Design, zenodo 15482346,
CS_Yminus.STEP, Tormach 1100M certificate of inspection, TD10547A light milling machine's factory inspection sheet allows the spindle head's Z travel to stand 0.04 mm per 200 mm out of square with the table along Y. That is 0.2 mrad: a machine just at the edge of its acceptance, not a typical one. An AI agent put exactly that error into the STS1 case's three-axis machine and looked at one side panel of the CubeSat in the clampings that read it two different ways.
The error sits on a branch of the machine marked as an error term, directly upstream of the Z axis, so the head, the spindle and the tool lean together, and the tool tip moves 0.2 µm toward +Y for every millimetre it goes down. The pivot is where the tool tip stands at the touch-off: the centre of the stock top when the plate lies flat, the end face when it stands on edge, one machine file for each. There the deviation is 0, and each project's own G54 is the one a real touch-off would find. The controller solves its axes as if the branch were not there, while the simulated machine moves and cuts with it whenever the project's Enable Error Terms switch is on. The agent changed no line of the programs.
Before the first play, the agent wrote down the tool-tip offset it expected, the deviation of 25 feature boxes and ten pass criteria. Milled flat, every face toward ±Y would shift and lean, the −Y end face cut too deep and the +Y one with material left, more toward the bottom. Drilled on edge, the holes would lean toward the part's +z by 0.2 µm per millimetre of depth while their mouths stayed on the touch-off face. The real value leaves at most about 3.2 µm on the part, so each clamping also played at ten times the error, 2 mrad, as a display value. Each was played at 0.125 mm, geometry only:
The programs are plain three-axis work: G54, G43 and drilling cycles, with no RTCP, tilted plane or CL. Their machine coordinates come from the program and its offsets alone, and one trimmed run with the mark cleared, the controller knowing the error, cut exactly what the run with the mark cut.
HiNC rendered these pictures from the plate, the vise, the tools and the programs of the base case; no drawing of the team is reproduced. The colours are HiNC's geometry difference (Df in the colour bar) against the cut of the same clamping's nominal run, on a symmetric scale: red = cut too deep, blue = material left, green = 0; ±0.035 mm on the plate milled flat and ±0.005 mm on the plate on edge, at ten times the error. The pictures were taken with the recorded stock and its Diff put back on the canvas, not from a replay; for the two holder pictures, a pose program brought the tool into view. The charts are drawn from the meshes of the cuts HiNC exported. Grid 0.125 mm.
| Key number | What it is |
|---|---|
| 0.2 mrad | the error: the Z travel out of square with the table along Y by 0.04 mm per 200 mm, the limit a light milling machine's factory inspection sheet allows, not a measurement of any machine. The tool tip moves 0.2 µm toward +Y per millimetre of depth, from 0 at the touch-off. Every number is also given at ten times the error, 2 mrad, the display value |
| 2.54×10⁻¹³ mm | the largest gap, over every step of the six runs with the error, between the measured tool-tip offset and the formula written before the first play, δ = (0, −Z·sin θ, −Z·(1 − cos θ)) with Z the tip's program Z: effectively zero. The machine coordinates equal the nominal run's at every step |
| ∓2.03 / ∓2.77 µm | the end bars' end faces of the plate milled flat, upper and lower band at the real value: the −Y face cut too deep and the +Y face with material left, as predicted to the hundredth of a micrometre; at ten times the error ∓20.31 and ∓27.69 µm. The end bars' inner faces read the other way round, ±2.39 µm |
| 2.000 µm per mm | the lean of the M3 hole's axis at ten times the error, 0.0019998 against sin θ = 0.002 (the M4: 0.0019945), extrapolating to only −0.10 to +0.13 µm at the end face, against 15 to 20 µm at the deepest slice: the mouth stays, the hole leans |
| −0.588 µm | the corner-block tops, cut last by a D6 at one height: an almost even overcut from the tool's tilted bottom, its radius times the angle (predicted −0.59). The rail's side facing −X reads 0 |
| 9.925–10.169 | the ratio of the deviation at 2 mrad to the deviation at 0.2 mrad in the 20 boxes that read at both: the part's response is linear in the error, so either set gives each feature's sensitivity |
| 55 min | server time for the 18 plays at 0.125 mm on the shared 32-thread server, 3,288.2 s: the plate on edge 4,535 or 5,251 steps and 5–30 s a play; the plate milled flat about 314,000 steps and 666–741 s, at up to 5.75 GB of memory |
The plate's five clampings hand the stock on, each reading the record the one before it wrote, so the clamping that drills the −Y end face read the record of E1, a clamping the base case places 120° about a diagonal. HiNC has a known defect there: such a clamping reads no force, and the exported part has open edges round what it cut. The first round of the edge runs inherited it: the boxes of the M3 hole and its counterbore held not one vertex, and the exported cuts had 6,289 and 9,052 open edges at the corner blocks. A trial from the record of the clamping before E1 brought them down to 726 and 1,272 and the M3 hole out whole. E1's own holes meet none of the measured ones, so the agent wrote the change into a dated section after the plan, before it played the edge runs again.
A real machine's touch-off takes the constant shift the error causes at the touch-off pose into the work offset; HiNC's program-zero measurement, made on the nominal machine, takes in nothing. This plate is touched off at two heights: on the stock top when it lies flat, on the end face when it stands. With one pivot, at least one clamping's program zero would move by the height difference times the angle, the runs would disagree on G54, and the Diff would charge the missing touch-off to the error. The agent gave each touch-off height its own pivot, where the tool tip stands at that touch-off, at the price of two machine files. The offset a fit finds at program zero is at most 8.44×10⁻¹⁴ mm, and every run used its project's G54 unchanged.
At the real value the largest deviation on the part is about 3.2 µm, at the foot of the end faces, 15.9 mm below the touched-off stock top; the hole mouths and the floors move only a few tenths of a micrometre, against a grid cell of 125 µm. The agent played a second set at ten times the error, kept in folders of its own and named as the display value wherever it appears, and measured both. Twenty boxes read at both values, in a ratio of 9.925–10.169; one, the counterbore floor's upper side, reads 0.28 µm at the real value, below three times its noise floor, and is reported as below it, as the plan said. The real-value pictures, at a ten times finer colour scale, look the same as the display ones.
Before the plan was committed, four read-only agents read the design, each from one side: the kinematics, the tool's behaviour, the criteria and the feature predictions. The corner-block top had been predicted from the D16, which stops 0.15 mm short; the D6 cuts it last, leaving an almost even −0.59 µm that the design's range of −1.6 to 0 was too wide to check. The counterbore-floor box took in the hole walls, which lean several times more than the floor tilts, so even a correct cut would have failed; it became two boxes on the ring alone. A rail-top box ran over a step. And a missing stock record lets HiNC play from the raw stock with one message, so every run now checks the records it reads before it plays.
The full record has the other five: the first round's seat floor, which read +1.75 µm from 46 vertices on the same broken stock and −0.50 µm from 1,081 once the stock was whole; the flat floors of the edge clampings, which still export a few hundred open edges, so that HiNC's own Diff reports its ideal geometry as not closed; why the hole walls are measured on the exported meshes, since the canvas has no section view; a slice past the M3 hole's exit that first pulled its axis to 0.00116; and the one or two extra steps of the flat runs with the error, so that their steps were paired by program line.
All 18 plays ran to the end, with no collision, no rapid move through stock and no travel alarm, and every stage program of every play touched the stock. Eight of the ten criteria written before the first play passed as written; the other two, the noise floor and the cost, are records.
With the controller unaware of the error, the tool tip of every step sat where the formula written before the first play put it, the largest gap 2.54×10⁻¹³ mm: 0 at the touch-off height, toward +Y below it, and 0.7 to 0.8 mm off at ten times the error at the tool-change height, in the air. The machine coordinates of every step equal the nominal run's.
Milled flat, every face toward ±Y shifts and leans: the end bars' end faces read ∓2.03 µm on their upper band and ∓2.77 µm on their lower band at the real value, the corner blocks' end faces lean from ∓0.63 µm at the top to ∓2.73 µm at the bottom, and every 0.5 mm of height lies on the predicted line. The end bars' inner faces read ±2.39 µm the other way round, the floors carry the tilt of the tool's bottom, and the faces toward ±X read 0. Drilled on edge, the hole axes lean by 0.2 µm per millimetre of depth, within 0.3 % of the angle, and extrapolate to a tenth of a micrometre at the end face; the mouth box of the M4 hole reads 0.158 of its deep stretch. The control runs cut the nominal part to about 10⁻¹⁰ mm.
The study models this one error only, constant, at a published limit rather than a measured value; with the tilt the other way, every sign flips. The plays are geometry only, with no cutting force or deflection, and the edge parts lack the side holes of E1, the clamping the runs had to leave out. Everything is simulated; no plate was cut.
Read the full case record: the CubeSat side panel with the Z axis 0.2 mrad out of square
How the six plates, the 24 clampings and the agent's own CAM came about is told in the base case: SpaceTeamSat1 CubeSat structure.