Every reclining bed on the market rotates the upper body about a point on the bed frame below the mattress. Not about where the human needs it. About where it's easy to build it.

Why does this geometric detail matter? The human body has a natural pivot at the hip, the point about which your torso folds relative to your legs when you sit up. A reclining bed has a hinge too, the joint where the upper section lifts from the lower. These are two different points in space, and the consequence is immediately recognisable if you've ever used one.

As the bed reclines, the mattress surface rotates about the frame hinge. The human lying on it doesn't. Their body wants to fold at the hip. Because these two centres of rotation are offset, the person slides along the mattress to accommodate the difference. The further the bed reclines, the worse it gets. At 45 degrees, you're no longer lying where you started. You've been pushed headward, your lower back has lifted off the surface, and the mattress is bunching at the fold line. Every time, you reach up and pull yourself back into position.

The human hip point and the bed pivot point are offset. The occupant slides.

Every reclining bed user knows this discomfort. Most assume it's just how reclining beds work.

It isn't. It's a first-principles geometric error. The bed and the body are rotating about different points, and the user is absorbing the mismatch with their muscles, their patience, and their comfort.

Shared pivot point. The bed rotates where the body rotates. Zero sliding.

The fix, making both points coincident, is obvious in principle but nightmarish in execution. One shared axis of rotation, zero relative sliding, the body and the bed move as a single system. Simple to say. Terrifyingly constrained to build, when every millimetre of your upper bed frame is already occupied.

We solved it. Here's how.

How We Stumbled Into the Right Answer

Cama is a robotic bed. A grid of independently actuated blocks tiles the mattress surface, currently forty-two, forming a pixelated grid that generates contours in Z for any XY position. Infinite surface profiles to fit every human body.

Early in development, we added an upper-body reclining feature. The obvious approach: hinge the upper frame section at a convenient point on the base frame, same as every reclining bed before us. It worked, until we looked at what was happening to the mattress.

The segmented mattress pieces, riding on blocks that were now at different angles across the hinge line, were crushing into each other. The block just below the fold was driving its mattress segment into the neighbouring one. The geometry didn't allow them to coexist across a fold.

The fix was mechanical: slide the hinge point forward so that as the bed reclined, the segments would move apart instead of into each other. We iterated on the pivot mechanism, and the position that resolved the mattress collision left the occupant's hip sinking into a void between the separating segments. A solved mechanism. A terrible experience. Back to the drawing board.

Thinking about what the right experience actually is, we arrived at something we should have seen from the start: the bed has to move the way the body is supposed to move. The pivot must sit at the hip. Not because it's a convenient location for the frame, but because it's the only location that's correct for the human.

We didn't set out to solve the pivot-mismatch problem. We were trying to stop mattress pieces from destroying each other. But the geometric constraint that crushed the segments, a rotation axis in the wrong place, was the same geometric error that makes every reclining bed uncomfortable. We had accidentally walked into one of the fundamental problems in ergonomic robotics.

The bed has to move the way the body moves. Not approximately. Not close enough. At the same point, about the same axis, through the same arc. Any deviation and the human absorbs the error.

We had to fix it. For the bed, and for the human.

What remained was the engineering.

The upper bed frame is packed with independently actuated linear blocks, every square millimetre allocated. You cannot put a physical joint at the hip through the mattress, so the pivot must be virtual: a synthesised remote centre of rotation, demanding a complex multi-link mechanism. That mechanism needs links sweeping through arcs, but the space below the surface is filled with actuators, aluminium structure, and wiring. Cross-bracing to resist wobble is ruled out; diagonal members would block the linear travel paths. The problem, fully stated: a linkage that rotates zero to sixty-five degrees about a virtual hip point, carries frame and human, resists out-of-plane instability without triangulation, and fits within the residual gaps of a packed actuator array. Every constraint individually is manageable. It is the combination that is punishing.

The Mechanism

This class of problem is known in mechanism theory as a remote centre of motion: a linkage whose output rotates about a fixed point that no physical joint occupies. It appears in surgical robotics for the same reason it appears here. The rotation centre must coincide with anatomy that you cannot put hardware through.

The industry default is a four-bar linkage that approximates the remote centre. For small angular ranges the deviation is imperceptible. Over zero to sixty-five degrees, it is centimetres of drift at the hip, which is exactly the sliding problem we set out to eliminate. An approximate remote centre over this range is a more expensive version of the same wrong answer. The mechanism had to be exact.

Formulation

Each link i has length li and angular position θi. The mechanism must satisfy the planar loop closure constraint:

Σ lᵢ · e^(jθᵢ) = 0

The remote centre point P at coordinates (xp, yp) is the nominal hip location. For every input angle θ1, the output must satisfy two conditions simultaneously:

(x_out(θ₁) − xₚ)² + (y_out(θ₁) − yₚ)² = R²

θ_out(θ₁) = arctan2(y_out(θ₁) − yₚ, x_out(θ₁) − xₚ) + C

Synthesis

All pivot locations on the base and coupler links are design variables. The objective: find the set of link lengths and pivot coordinates for which the output satisfies the RCM constraint continuously across zero to sixty-five degrees. Not at discrete precision points. Continuously.

The synthesis does not yield a single mechanism. It yields a family. The eight-link topology contains two pairs of rigidly coupled links, pairs that share fixed angular relationships and can never move independently relative to each other. The fixed angles within each pair are free parameters of the solution. Change them and you get a different mechanism from the same family: different link sweep paths, different compactness, different force distribution.

This is where the engineering judgment enters. We ran motion analyses across the solution family, evaluating each configuration against four coupled variables: compactness of the link envelope, mechanical advantage of the actuator at full recline, angular velocity of the output link, and forces at the pivot joints. These trade against each other. A more compact configuration routes links through tighter arcs but increases pivot forces. A configuration with better actuator leverage at sixty-five degrees sweeps wider and collides with the block array. The sweet spot is the configuration that fits within the residual gaps of the packed bed frame while keeping joint forces within the structural budget of the links and pins.

What the Math Gave Us

The chosen configuration yields four physical parts. Each coupled pair merges into a single component: one triangular, one boomerang-shaped. Every pivot location, every sweep path, fully determined by the synthesis.

The eight-bar mechanism as four physical components: boomerang, triangular, and two connecting links.

What the Math Could Not Give Us

A mechanism that fit. Even the most compact configuration in the solution family demanded space the block array could not spare. Two linear blocks in the path of the links were redesigned from scratch, their geometry broken from the modular architecture that every other block in the array shares. Where the bed had been a uniform grid of identical units, these two became asymmetric, purpose-shaped components whose only job was to open clearance corridors for the link arcs while still carrying their rated load. The kinematic solution was not negotiable. The pivot had to be at the hip. Everything else, block dimensions, frame symmetry, the modularity of the array itself, was redesigned around that non-negotiable point.

The mechanism drove the architecture. Not the other way around.

And a mechanism that didn't wobble. All motion is in the sagittal plane. The mechanism inherently cannot resist out-of-plane loads, and cross-bracing is ruled out by the block array. The first prototype confirmed it: the mechanism reclined to the exact position the kinematics predicted, and it wobbled visibly under load. Angular play at each pin, individually negligible, compounded across the chain into an output frame that swayed.

The fix combined two things. Link cross-sections were redesigned using FEA to maximise bending stiffness within the available clearance envelope. And every pin interface was redesigned for out-of-plane rigidity: oversized pins providing larger bearing contact area at each joint, machined to tight diametral tolerances against their housings. The effect is cumulative across the chain. Each joint contributes near-zero angular play, each link resists the lateral loads the planar kinematics ignore, and the output frame remains stable under asymmetric live loading.

The mechanism and linear actuator, nested between the block columns.

What This Means

The robot moves where the human moves. Not approximately. Not close enough. At the same point, about the same axis, through the same arc. The engineering cost of that commitment is high. The alternative, asking the human to compensate for the machine, is not engineering at all.

If you work at this intersection of mechanism design, biomechanics, and robotics, we would welcome the conversation. science@waterobots.com