Three sequential banana cuts#

Historical protocol archive. See the current showcase for continuous cut-to-push motion and per-frame contact forces/displacements. Numbers and videos below retain their historical inputs; they are not the latest task.

A force-driven blade descends and withdraws at three positions, cutting a curved peeled-banana shape into four pieces. Surface and particle views replay the same physical states. Pause, scrub or switch representations to inspect each cut.

Three banana cuts

Three sequential cuts with persistent separation.

At 6.2 s, the outer piece receives a known diagnostic impulse to test independent motion. This is not a robotic pushing policy. See also tofu halving.

The displayed new record uses a 5 mm grid and 2,480 native particles, ending with four pieces and 2.350 mm relative motion. The original 6 mm default and historical controls remain below; additional fine-sampling records are listed separately.

Implementation and parameters#

This is an independent CPU TLMPM implementation of mechanisms in BladeMaster v2. Cuts are at x = −30, 0 and 30 mm, in three 2 s cycles within a 7 s record. A bounded PD force drives the blade, material reactions change its velocity, and board support impulses are recorded separately.

The blade is 1 × 80 × 40 mm with a 5 mm symmetric bevel at the cutting edge. Contact uses the actual closest point and normal of this convex prism; rendering uses the same geometry. The retained tofu baseline uses its original rectangular blade.

Each particle stores successive cut sides as ternary digits. Opposing assigned sides in any previous cut prevent grid momentum exchange; unassigned material can still bridge a partial incision. A new cut resets contact-work progress but retains earlier side assignments. An independent scorer reconstructs the transfer graph and checks progressive 2→3→4 components, rather than inferring separation from colours or visible gaps.

The authored banana geometry is 120 mm long, with a maximum diameter of about 24 mm, sampled using equal-volume particles. Density is 1,100 kg/m³, Young’s modulus 6 kPa and Poisson ratio 0.35. Other contact/drive parameters follow the tofu experiment; the task’s transfer blend is recorded below and in each manifest. These are synthetic parameters, not a real-banana calibration. Changing timestep also changes penalty stiffness, so it is a sensitivity check.

Qualification records#

Defaults: Δx=6 mm; dt=0.25 ms; FLIP=0.95; normal scale=0.1. Sensitivities: half-step: dt=0.000125 s; refined: Δx=0.005 m.

Case / 案例

Result / 任务

Components / 分量

Overlap / 重叠 (mm)

Probe / 相对位移 (mm)

Peak force / 峰值反力 (N)

Time / 记录 (s)

018-final-full

Pass / 通过

4

0.754

3.807

0.03071

214.63

013-final-half-step

Pass / 通过

4

0.531

4.034

0.05387

427.21

014-final-refined

Pass / 通过

4

1.145

2.350

0.06982

363.93

015-final-uncut

Rejected / 拒绝

1

0.616

0.464

0.00000

201.47

016-final-partial

Rejected / 拒绝

3

0.733

0.740

0.03043

212.14

017-tofu-regression

Pass / 通过

2

0.633

3.221

0.07661

24.63

Full-cut transfer graphs progress through 2, 3 and 4 components; default final mass fractions are 32.78%, 32.78%, 17.22%, 17.22%. Uncut and partial-last-cut controls fail the four-piece task while passing numerical checks. Limits remain: momentum error ≤10⁻⁹ N·s, det F≥0.05, overlap ≤one proxy radius, relative motion ≥1 mm and other pieces’ x drift ≤3 mm.

All 18 bounded invocations consume 3610.32 s including guard waits. Final-batch source hashes match. Development penetration failures and one inverted-material run are retained. Transfer damping/contact coefficients were development choices; this batch qualifies numerical/task behaviour, not held-out food generalization or cutting-force convergence.

Complete metrics, configurations and failures · Raw data and replay downloads.

How the surface is made#

A dense peeled-fruit skin follows the initial material profile, with longitudinal ridges, fibre colours and fresh cut-core detail. Replay reads each blade path from trace.npz and generates a straight reference seam at the median actual blade position during that active cut; frame measurements and complete-task scoring use the same planes. Native side-history conflicts expose local cap triangles as cutting proceeds; compatible or unassigned seam vertices in the same native mechanical component are welded, preserving the uncut lower bridge. No clock or prescribed visual displacement opens a cut. Complete records are rejected if any cut is missing, planes coincide, or the paths are not parallel x-normal straight cuts; manifest-declared planes in incomplete probes serve failed-run diagnostics only.

The current reference linked volume stores Hermite points/normals for the original boundary and recorded blade surfaces on uniform primal links. A link disconnects only when local native histories contain opposing side labels; uncut material remains connected. While material is connected, each within-cell link component receives a QEF dual vertex. Once saved native mechanical components separate, each is rebuilt as a closed local volume clipped by the recorded cut half-spaces, preventing triangles from spanning incompatible motion fields. Surface representatives inherit native component/cut codes and follow a compatible TLMPM field reconstructed from saved particle positions and deformation through fixed trilinear weights. Replay adds no opening and applies no geometric smoothing. Support remains limited to recorded x/y straight planes in an offline CPU rebuild; it is not scanned food or the authors’ online GPU arbitrary-path update. Coarse particle deformation can leave small outer-surface spikes, and particle views expose the underlying mechanical sampling. Detailed implementation and qualification boundary.

The measured GIF displays all three signed cut openings and per-piece probe displacement. Force and interior tetrahedral volume appear below; definitions and limitations are in the paper audit. Raw-state, renderer and output hashes plus actual frame mappings accompany the media. Board, pore/fibre colours, lighting and handle are scenery.

Reproduce#

Install .[cutting,cutting-render] in the existing DexLab environment. Under the repository’s bounded runner and shared research lock, use new output directories:

python -m dexlab.tofu_cut --task banana --motion-protocol impulse --output RUN
python -m dexlab.cutting_score RUN
python -m dexlab.cutting_showcase RUN --output MEDIA

These are the commands inside the resource guard; see the complete bounded-run example. --mode uncut retains the uncut control; --mode partial makes only the third incision shallow. Timestep/grid sensitivity settings are listed above. A successful runner exit means the record completed; use the independent score for the task verdict. Render in a separate bounded postprocessing window.

Implementation #197 · Source and evidence · Cutting discussion