Seahorse tail

Seahorses grasp seagrass and corals with a prehensile tail. Its hypaxial myomeres (HM) form long muscle-tendon sheets that can span up to eleven vertebral segments, next to short median ventral muscles (MVM) between neighbouring segments. The BRT seahorse is the in-silico tail of Marzougui et al. (2025), a digital twin of a 3D-printed prototype. It has no task: it is a playground for muscle architectures, driven with open-loop controls.

Sliders set how strongly each muscle group contracts (HM: fraction of the maximum force, MVM: fraction of the beam's length it pulls in). Muscles light up red as they pull. Drag to orbit, right-drag or shift-drag to pan, scroll to zoom. The meshes are a 3.4 MB download.

What you are seeing

The default seahorse/tail environment: 11 segments, each a vertebra inside four overlapping plates, hanging from a fixed base with its ventral side to the right. Two force-controlled HM beams run along the ventral side from the base to the tip, and every pair of neighbouring segments has two position-controlled MVM beams. Contracting both HM beams curls the whole tail ventrally; contracting one bends it sideways as well. The MVMs bend the tail locally. Contacts are off, as in the original model. Gravity is switched on in this demo (it is off by default in Python) so that the tail hangs straight again when its muscles relax.

Your own muscle architecture

In Python, the morphology specification sets the number of segments, which segments each HM beam spans and which attachment points it passes, whether the MVM beams exist, and position or force control. The reward is always 0 and episodes never terminate, so you drive the tail with your own open-loop controls.

Read the seahorse README, the paper (J. R. Soc. Interface 22: 20240876), or try the seahorse muscle playground from the paper's repository.