The human body spends a third of its life horizontal. In that time, posture shifts continuously, pressure concentrates, joints load unevenly. Most of it happens below conscious awareness. The body wakes up stiff, or sore, or simply unrested, without ever knowing why.

CAMA reads the body and responds. A capacitive sensor array samples continuously beneath the surface. A trained model infers posture in real time, detects where load is concentrating, and issues corrective adjustments through the night without waking the sleeper. The mechanism doing that work is 42 independently actuated blocks, each with up to 250 mm of vertical travel, positioned where the body's anatomy demands control.

And this is where the engineering problem begins. The actuation system never touches the sleeper. There is exactly one layer between mechanism and body, and it is the only thing the sleeper actually feels. If it fails, the system fails. Not because the motors stopped or the sensors lost signal. Because the person felt the machine. And once that happens, nothing else matters.

The human body is a curve. The spine follows an S. Shoulders are wide, waist narrows, hips flare. A sleeping surface must trace that geometry continuously — no edges, no steps, no detectable transitions. CAMA's mechanism produces none of that. Mechanically, the surface the blocks produce is a step function.

S(x,t) = Σi=142 hi(t) · rect(x − xi)

x = position along the bed | xi = center of block i | rect(x − xi) = 1 within that block's footprint, 0 everywhere else. Result: 42 flat-topped rectangles at independent heights. A staircase.

A staircase and a sleeping body are geometrically incompatible. The human form requires:

∫ S(x, t) dx → smooth, continuous, no edges

The layer between mechanism and human has to perform the Σ → ∫ transformation. Passively. Without power. Thousands of times a night.

From Discrete to Continuous — figure 1

When the transformation is incomplete, the body finds the edges. An elbow falls between blocks. A shoulder detects the step. The mechanism is exposed. And once a sleeper feels the machine underneath, the product has failed regardless of how well everything else works.

Five constraints had to hold simultaneously.

ConstraintRequirement
ConformanceTrack up to ±250 mm per zone
Haptic transparencyNo perceptible edge detection by sleeper
Cycle lifeThousands of transitions per night
Liquid isolationFull electronics seal
Surface feelPremium bedding, no compromise

The obvious first move is a fabric that stretches. Give it enough elongation and it will follow any block height. This is where most attempts start, and where most of them fail in this application.

Elastomers and stretch knits (spandex, Lycra, TPU composites) obey Hooke's law at the fabric level. Elongation produces a restoring force proportional to strain.

Frestore = (E · A / L) · ΔL = kaxial · ΔL

E = elastic modulus of fabric | A = cross-sectional area | L = unstretched length | ΔL = extension. kaxial = EA/L is the axial stiffness. As a block rises, ΔL increases and so does the restoring force. The layer becomes a mechanical participant, not a passive surface.

That restoring force has two effects. It pushes back against the actuators, distorting the pressure profile the sleeper feels. And the same molecular architecture that gives spandex its stretch makes it thermally non-breathable and tacky against skin. Both failure modes stem from the same material property. You cannot fix one without introducing the other.

We moved away from stretch fabrics and looked at geometry. There is a body of work on using folded structures to accommodate displacement without material elongation. The idea: instead of the fabric stretching, the geometry of folds opens and closes. Three approaches were evaluated seriously.

Miura-ori

Miura-ori is a rigid-foldable tessellation of parallelogram units. A flat sheet folds into a compact state and deploys in a single degree of freedom.

θfold ∈ [0, π/2]    DOF = 1

Synchronized folding across all unit cells in the ideal rigid-fold model. When one section rises, adjacent geometry must follow. DOF = 1 is the theoretical minimum for a perfect rigid tessellation; real crease patterns in compliant material may exhibit slightly higher effective DOF, but kinematic coupling across the sheet remains the fundamental limitation for this application.

That kinematic coupling was the disqualifying issue. Each of CAMA's 42 blocks is independent. When block 7 rises and block 8 stays flat, the surface needs to accommodate that discontinuity locally, not propagate it across the sheet. In our prototypes, Miura-ori could not decouple adjacent zones sufficiently. The crease lines also created a faceted texture that was immediately perceptible to skin.

Auxetic Fabrics

Auxetic fabrics use reentrant hexagonal geometry to produce a negative Poisson's ratio. When stretched in one direction, they expand in the perpendicular direction rather than contracting. The surface can curve in two directions simultaneously (synclastic curvature).

ν = −(dεtransverse / dεaxial) < 0

Reentrant unit cell geometry reverses the normal stress-strain relationship. Synclastic curvature follows naturally from the lattice architecture.

The geometry worked in principle. The surface feel did not. The open hexagonal lattice created pressure concentration points at every hinge node. In our test samples, a person lying on the surface could detect the grid pattern. Yarn-on-yarn friction at each node produced acoustic noise during adjustments — measurably above acceptable levels for a bedroom environment. The elastomeric yarns required to maintain the auxetic mechanism also showed degradation under the cyclic thermal and mechanical loading expected in daily use.

Kirigami

Kirigami introduces strategic cuts into a sheet to reduce its effective modulus without removing material. Stress concentrates at cut tips and drives out-of-plane buckling, producing vertical displacement from a flat substrate.

Eeff ≈ E0 · f(a/W, pattern)

a = cut length | W = sheet width. f(·) is an empirically fitted function that depends on cut geometry, pattern, and base material; no closed-form universal expression exists. Effective modulus drops sharply as cut density increases. The sheet buckles rather than stretches to accommodate displacement.

The buckling mechanism introduced a fatigue problem. Each cut is a stress concentrator with fatigue life inversely proportional to cut density. Under thousands of micro-adjustment cycles per night, crack propagation from cut tips became evident in our test samples within weeks. The snap-through between folded and deployed states also generated an audible click per adjustment — individually subtle, but collectively unacceptable across an array of cuts through a full night.

Geometric folding approaches evaluated — figure 2

Every geometric approach encountered the same fundamental tension in our application. Methods that produce displacement through structured folding create structures. Structures have edges, nodes, hinge points. In our testing, the sleeping body detected all of them.

Moving to Springs

The lesson from the material search was that making the fabric itself do the conformance work was the wrong framing. The fabric should not be a mechanism. It should be a passive surface — fed slack as needed, pulled taut when the need is gone. Springs connected to the perimeter could do that.

Linear springs were the starting point. Pre-loaded to maintain baseline tension, extending to pay out slack when a block rises.

F = k · x

Force increases linearly with extension. As block height increases, spring tension increases with it.

Increasing tension is the problem. When multiple blocks sit at different heights, the spring on one edge is extended more than the spring on the opposite edge. Tension across the fabric becomes non-uniform. The sleeper perceives it as inconsistency in support — the exact thing a continuous surface is supposed to eliminate.

Torsional springs have the same issue expressed rotationally.

τ = κ · θ

Restoring torque is proportional to twist angle. The asymmetric tension problem persists regardless of spring geometry.

What the surface needed was a spring where force is independent of extension. A horizontal line on the force-displacement curve, not a slope.

F = C    ∀ x ∈ [0, xmax]

Constant force regardless of extension. Uniform tension on the fabric whether one block is raised or twenty.

Spring force comparison — figure 3

Constant-force springs are pre-stressed coils of spring steel. The geometry of uncoiling offsets the material's elastic restoring tendency, producing approximately flat force output across the working range. One tension value for the entire surface, regardless of the block configuration underneath.

Deriving the Target Force

With the mechanism settled, the remaining question was what force constant to set. As a bounding estimate, model the fabric spanning a block gap as a membrane under tension T, loaded by distributed body weight q across gap span L.

δ = qL² / 8T

1D cable approximation for membrane deflection. q = distributed body weight per unit length [N/m] | L = block-to-block gap span | T = constant spring tension [N]. A full 2D membrane analysis gives a similar central deflection for our aspect ratios; the 1D form is sufficient for bounding T.

Membrane deflection diagram — figure 4

Two bounds constrain T. At low tension, δ grows. The fabric sags between blocks and body parts — fingers, elbows, hip bones — sink into the gaps and find the edges. At high tension, the fabric becomes a drumhead, bridging across blocks instead of draping over them. The mechanism adjusts underneath but the surface does not follow. The spring force absorbs the block's travel before the adjustment reaches the sleeper.

The lower bound comes from anatomy: δ must stay below the point where any body part can reach a block edge. The upper bound comes from haptics: tension must be low enough that the fabric still conforms over the full block travel range. Those two constraints, applied to the block geometry and a 95th-percentile body weight, converge on a design target of approximately 10 N. The precise value was refined through iterative prototype testing across a range of body types and sleeping postures.

Engineering the Spring

The constant-force spring is defined by its strip geometry.

F = Ebt³ / (26.4 · Rn²)

E = Young's modulus of spring steel | b = strip width | t = strip thickness | R = neutral radius | N = number of active coils

F = 10 N must hold across the full working extension. That extension is the maximum slack the springs must pay out, which occurs when blocks across the surface rise simultaneously. For n blocks at displacement d, the slack demanded from one edge is:

S ≈ Σi 2 · (√((wi/2)² + di²) − wi/2)

di = rise of block i | wi = width of block i. Each block's rise adds path length because the fabric must travel over the step, not just across the flat width. For d ≪ w, this reduces to approximately 2d²/w per block — quadratic in rise height, meaning small adjustments demand very little slack while large ones grow sharply.

S defines the required extension range. Combined with the 10 N force target, the equation constrains every physical dimension of the spring: strip width, strip thickness, coil diameter, number of turns. Every dimension follows from one force constant and one slack budget.

Tuning the Fill

The silk layer carries a mulberry silk filling between the top sheet and the mechanism. Fill density is its own optimization, bounded by the same logic as spring tension.

Too much filling and the layer becomes plush enough that body weight pushes through it. The sleeper sinks past the smoothing effect of the fill and begins to feel the block structure underneath. The pressure sensor readings degrade as well: excess compliant material between sleeper and sensor acts as a low-pass filter, blurring the signal the system uses for real-time posture adjustment.

Too little filling and the top sheet sits close to the block faces. The drape radius over block edges narrows. The step discontinuity between adjacent zones becomes tactile. Fill density had to land in the window where the layer smooths block edges below human tactile resolution but stays firm enough that body weight does not push through to the gaps. Iterative testing across body types and postures settled on a range of approximately 300–450 g/m² as the working zone for this geometry.

The Emergent Property

During cyclic testing, we observed something the design had not explicitly targeted. When all blocks return to neutral and body weight is removed, the constant-force springs retract all slack simultaneously from every edge.

The result is uniform radial tension on an inextensible membrane with zero displacement input. The fabric reaches its minimum-energy state: flat, taut, wrinkle-free under normal operating loads. There is no excess material on the surface to wrinkle. It has all been retracted to the perimeter.

The surface resets itself every time. This is a direct mechanical consequence of the constant-force spring architecture — it was not a design objective, but it became one of the system's most useful properties.

research
\ safety frameworks