Independent developer project · not affiliated with, endorsed by, or sponsored by BrainChip Holdings Ltd. Akida and AKD1500 are their trademarks.

08 — First commissioning in the UI

Cameras, zones, empty belt, first object, first verdict, first line run, first arm cycle — in the order that works.

OUR OBSERVATIONEvent 2026-09-27Published 2026-09-27SE Inspect build 1.9.37

The UI (version 2.2) follows high-performance-HMI ideas: calm surfaces, colour only for state, one place per function. Seven navigation entries in three groups — Operation (Recognition, Line, Recipes), Set up (Camera & zones, Objects & learning; visible in the expert view) and System (Status, Messages). The header carries the machine commands only: Line start/stop, the operator/expert toggle and, when an arm is present, Robot arm.

8.1 Camera and image

Click Camera above the image. A one-line strip appears under the picture — the same strip every zone tile has: Focus: Auto / Sharp · Light: − / Auto / + · Auto all · More · Empty belt.

  1. Sharp once (one-shot autofocus), then leave focus alone. The Set-up column shows the sharpness score; below 25 is too soft.
  2. Light −/+ changes real exposure (shutter and gain ×1.4 per step), not a brightness offset. When it looks right, stop the automatics: More opens the full control panel (exposure time, gain, lens position, white balance in Kelvin, contrast, saturation, sharpness). Any moved slider switches off the corresponding automatic. Auto all brings them back.
  3. Fix white balance and exposure before learning. A re-balancing camera makes the same part look different from frame to frame, and the model cannot tell that from a real change.
  4. Rotate (↻) turns the frame in 90° steps; zones bound to the main camera rotate with it.

8.2 Zones (Set up → Camera & zones, or in the Line view)

Each zone tile has a camera selector ("1. Cam (left)", "2. Cam (right)", USB cameras if present). Draw the zone with the dashed-rectangle button: the whole camera image opens, drag the rectangle, done. Rules from experience:

8.3 Empty belt reference (per camera)

With nothing on the belt and the belt running, click Empty belt in the camera strip. The system takes 16 frames over ~2 s: the median is the reference, the largest per-pixel deviation is the noise map. Because the belt moves, the noise map contains the belt's own texture in every phase — only a real part lies outside it. Glare spots in the reference are always belt. Repeat after any change of light or camera settings; the button shows the time of the last capture.

8.4 Objects and learning (Set up → Objects & learning)

  1. New object, name it. Set the learning window (size slider; the frame can be dragged in the image). The window edge should be ≥ 256 px; the column warns when the model would have to upscale.
  2. Take photo (space bar works) for 5–10 poses per object; or Series (count and interval) while you slowly rotate the part. Each photo is checked immediately (sharpness, area); "empty" crops are refused — the poison guard.
  3. Variants per object: horizontal/vertical mirror, 90° steps, free rotation. Handedness locks mirroring for left/right parts and says why.
  4. A negative class ("nothing / foreign parts") only with real foreign parts. Photos of empty belt are not learned (the empty guard) — they would turn the class into an everything-matcher. The learning dialog tells you if it skipped any.
  5. Learning zones A/B (button above the image): two camera tiles, each with its own zone; one click takes one photo per active zone — two perspectives per pose. When the learning-zone view is closed, photos come from the normal learning window only.
  6. Train → Chip learning: seconds. The dialog shows "Step 3 of 3 · 0.3 s" and lists what was skipped and why. M3 training is the other button and takes hours (chapter 09).

8.5 Recognition (Operation → Recognition)

Put a part in the window. The summary shows the verdict (GOOD / UNKNOWN / REJECT), the object name and confidence — confidence is the share of the learned pattern found again, so a clean, free-lying part reaches > 90 %. Below: Why recognised? — the live crop next to the learned photo that won ("Neuron 3 · Card 2").

Operator settings that matter: confidence threshold (below it a part is "unknown", not a wrong name), the unknown-rate target with its retrain trigger, the inspection log with CSV export, alarms (edge-triggered, acknowledge in Messages), recipes (Operation → Recipes: save the current thresholds/zones per part variant, load them later).

8.6 Line (Operation → Line)

Two tiles: delivery and pickup, each with camera, zone and strip. In the line block of the analysis view choose the belt mode:

Line start in the header (stopping asks for confirmation — a running cycle is interrupted). Safety rules built in: an unknown part in the pickup zone stops the belt and never calls the arm; without working recognition the belt does not run.

8.7 Robot arm (header → Robot arm)

After every power-up: Motors on, then HOME (all three axes to their MAX end stops, position set to 0). The dialog shows REFERENCED or HOME MISSING; without homing, every target move is refused. Then teach: jog to a pose → Remember point (name it) → repeat → Save program "Holen" (pick-up sequence: points, pump on/off, waits). The line calls "Holen" when a known part sits in the pickup zone; the camera is the "done" sensor — when the zone is empty for 0.6 s, the cycle is complete. If "Holen" does not exist, the line only acknowledges the job and does not move.

8.8 Status (System → Status)

Hardware: every card with its live task ("Silhouette match · 1.4 ms · 0.2 s ago · 5.1/s"), state lamp, and — when a card is faulty — a Reset card button (PCIe remove/rescan, learned state reloaded). Diagnostics: the Pi-vs-Akida measurement series and the single-pass core-goal check. Maintenance: clear unclear cases, forget learned state.

Checkpoint: one object learned, a verdict with "Why recognised?", one flow-mode cycle from delivery to pickup, and — if present — one arm pick with the camera confirming an empty zone.