ONE INTERNAL MOTOR · TWO PROPULSION REFERENCES
Same goal. Two ways to get there.
Click either world to guide both robots. Their shapes and paths emerge from the dynamics.
Loading the model and preparing two browser workers. No recorded trajectory is being played.
Flexible end leads
⊕ Same targets & world scale · Grid: 0.5 L · L = 0.50 m
Waiting for the first live steps.
Exploratory finite-model browser simulation · manuscript in preparation. Not an experiment, an obstacle-avoidance system or a global navigation guarantee. Playback speed depends on your device; real-time performance is not promised.
What is being calculated?
A flexible beam, a skate, one torque
Slender inextensible Kirchhoff lamella, finite-mass centred rotor, no added support plate. Four response-informed profiles from a 97-profile FE parent; nonlinear geometry and dynamics are retained. The same mechanical system is used on both sides.
Rotor and wheels are enlarged for legibility. The orange rotor, its three spokes and the outlined white mark are drawn sharply at the interpolated absolute angle. No motion blur, angular filtering or rotor-speed scaling. The unique mark distinguishes one spoke from the other two. At high angular speed, finite screen refresh can still make rotation hard to follow; 0.5× slows the entire shared physical clock, not just the rotor.
Two reference pairs, not a sign switch
The positive reference uses A = 1, T = 0.5; the negative uses A = 2, T = 1 (model units). Recorded root oscillations and their generating sine torque supply feedforward plus feedback. The negative template was inherited from the earlier plate-loaded model; both live plants use the corrected rotor-only model.
Clicks change guidance, not physical state. New session resets both robots to straight rest. After capture: fade, momentum braking, then motor off. A new target can restart from the current state.
Numerics and playback
Browser-side implicit midpoint with condensed velocities, Jacobian reuse/Broyden, Newton tolerance 10⁻¹¹ and bounded failure subdivision. Both steps are 1/250 model-time unit, or about 2.28 ms physically. This port follows the frozen demonstrator; its numerical checks are separate from the article’s resolved audit.
Both simulations run locally in separate Web Workers; no computation server, analytics or CDN is used. Target coordinates and grid labels are in beam lengths L; time, speed, distance and torque readouts use the model’s physical scales. The display interpolates accepted states on one clock with a small bounded buffer; it never extrapolates or jumps forward to catch up. Playback is a request, including 2×: actual playback and recent paired compute capacity are reported separately. No obstacle avoidance, global navigation theorem, or unconditional stopping guarantee. Arbitrary clicks remain exploratory finite-model tests.
This demo uses midpoint integration, not the resolved Radau audit. Its regression does not establish instantaneous-rate accuracy.
Measuring display cadence…