Skip to content
← Selected work

W-01 · Xihelm, London · 2023–24

Cacao packing robot

Packing soft produce is still largely manual, because the hard part is not the handling — it is the judgement. Grading a truss, deciding where to cut it, and hitting a pack weight to the gram, fast enough to hold line rate.

Led by — Software integration engineer

Deployed at — Flavourfresh Salads

The brief, in numbers

Concept to machine
9 months
Gross profit margin
30%
Target punnet weight
220 g ±10%
Run average
220–240 g
How the line works, stage by stage
Fig. 1 — How the line works, stage by stage

How the line works

  1. 01

    Bulk unload and truss detection

    Trays arrive unprocessed and are tipped at the head of the line. A tilting table flips the tray and a vibrating table brings the trusses into single file. A colour-thresholding detector finds fruit on the moving bed and triggers the quality assurance service as each truss passes.

  2. 02

    Quality assurance

    The QA camera decides three things about every truss: whether the crop has split on it, how many tomatoes it carries, and how long it is. Trusses below standard are rejected. Those carrying fewer than three fruit are not rejected but reclassified as loose fruit, which the packing stage uses later. The measured length is what the next stage cuts against.

  3. 03

    Cut planning and subdivision

    Trusses too long for a punnet are subdivided, using the length measured at QA to decide where the cut should fall. This customer preferred two trusses per punnet, since they sit better in the tray.

  4. 04

    Cutting

    A damage-prevention camera feeds the cutter, so the blade takes only the vine and never a tomato.

  5. 05

    Weighing

    Each subdivided piece travels on and is weighed independently, one after the other. That weight is what every packing decision downstream is made against.

  6. 06

    Punnet top-up

    Two turntables hold eight punnets each. As each weighed truss arrives, the system decides which punnet it should go into so that the punnet lands closest to 220 g. Where a punnet is still short, up to three loose tomatoes — roughly 10 g each — top it up into spec. When a punnet reaches target the turntable indexes it out, and a robot arm sets an empty one in its place. Two turntables rather than one is what keeps the line moving: while one is being ejected and reloaded, the other is packing.

  7. 07

    Denesting

    Empty punnets are fed to the arm automatically from a stack, so the reset never waits on an operator.

  8. 08

    Flow wrapping

    Finished punnets run through a flow wrapper, which seals them in plastic and applies the label and date code.

  9. 09

    Trayising

    A robot arm takes the final weight, discards anything outside spec, and arranges compliant punnets into a tray ready for distribution. When the tray is full the operator is prompted to bring the next one.

How it's wired

Digital I/O
Brainboxes ED-588, driven from Python inside ROS
Cameras
GigE over Ethernet, which lifts the camera-count ceiling a USB controller imposes and allows task-specific lenses
Scales
RS232 into the Raspberry Pi, one weight per truss
Motion
Pi to Arduino over ROSserial, Arduino to the turntable controllers over I²C
Host link
TCP/IP between the PC and the Pi

On the line

Installed and running at Flavourfresh Salads
Fig. 2Installed and running at Flavourfresh Salads
Operating in the lab
Fig. 3Operating in the lab
Development and commissioning
Fig. 4Development and commissioning

Got a line that needs this?

Vision, motion and the mechanical side of a cell, under one roof. Half an hour is usually enough to say whether it's worth doing.