Monthly update for Beam Bots. Eight releases of bb (0.26 → 0.31), about forty across the satellites.
The headline is that a decision I made a few months ago was wrong. BB.Math.Vec3, Quaternion and Transform held Nx tensors, on the grounds that machines running BB have ample CPU headroom. On a two-core Cortex-A7 closing a 100 Hz loop, that premise is false — and the balance bot that couldn’t hold itself up is what told me. They’re plain BEAM floats now, and the numbers off real hardware are worse than I’d have guessed: 6.9× fewer reductions, and about a whole CPU core handed back on a board that has two.
Also in there:
• Multi-DoF joints (:planar, :floating) — both were in the enum and both silently returned identity from forward kinematics
• BB.Loop — the framework owns periodic timing now, because everyone’s hand-rolled tick loop was drifting 13%
• set_position/4 is synchronous, so a refused command can finally say so
• Trajectories turned out to be broken on any joint with a transmission — five of six on an SO-101
Write-up, with the measurements:


















