Underwater Robotics • Sim-to-Real • MuJoCo

Simple Models, Real Swimming: Digital Twins for Tendon-Driven Underwater Robots

Mike Y. Michelis1,   Nana Obayashi2,3,   Josie Hughes3,   Robert K. Katzschmann1

1Soft Robotics Lab & ETH AI Center, ETH Zurich      2Prema Lab, NYU      3CREATE Lab, EPFL

Abstract

Mimicking the graceful motion of swimming animals remains a core challenge in soft robotics due to the complexity of fluid-structure interaction and the difficulty of controlling soft, biomimetic bodies. Existing modeling approaches are often computationally expensive and impractical for complex control or reinforcement learning needed for realistic motions to emerge in robotic systems. In this work, we present a tendon-driven fish robot modeled in an efficient underwater swimmer environment using a simplified, stateless hydrodynamics formulation implemented in the widespread robotics framework MuJoCo. With just two real-world swimming trajectories, we identify five fluid parameters that allow a matching to experimental behavior and generalize across a range of actuation frequencies. We show that this stateless fluid model can generalize to unseen actuation and outperform classical analytical models such as the elongated body theory. This simulation environment runs faster than real-time and can easily enable downstream learning algorithms such as reinforcement learning for target tracking, reaching a 93% success rate. Due to the simplicity and ease of use of the model and our open-source simulation environment, our results show that even simple, stateless models --- when carefully matched to physical data --- can serve as effective digital twins for soft underwater robots, opening up new directions for scalable learning and control in aquatic environments.

Overview of the tendon-driven fish robot and its simulation environment.
Overview of the simulated and real swimmer robots. A) Robot swimming from a top-down view. B) The 11 markers are tracked and extracted from the video. C) Side-view of the hardware with a single motor actuating the tendon-driven tail. D) Simulated robot with markers indicated by small orange spheres. Center of mass is located at the large orange sphere in the head. E) Simulated trajectory after matching fluid model to real experiment.

Results

Method overview figure
Simulation component overview.
Frequency comparison plot
Sim-to-real generalization across frequencies of our optimized fluid coefficient model, 0.019 m/s error, and the EBT model, 0.134 m/s error. Velocity direction is defined in the local fish frame.
Overview of the tendon-driven fish robot and its simulation environment.
A) SAC agent trained to track random target locations (green) with a 93% success rate. Robot states are overlaid 1s apart. B) SAC agent tracking waypoints along the green circle trajectory with an average target error of \SI{0.009}{\meter}. C) We demonstrate the ability to simulate a large number of swimmers in real-time.

Media

Markers extracted from top-down camera view.
Sim-to-real generalization of constant angular velocity swimming.
Random target locations reached with SAC policy.
Circle trajectory tracking.

Code

Source code is available at srl-ethz/fishsim. The repository contains geometry generation, marker tracking, system identification, and RL scripts.

git clone https://github.com/srl-ethz/fishsim.git
cd fishsim
conda env create -f environment.yml

# Example workflows
python run_sim.py
python opt_sysid.py --optType act -f f1_00 f1_75
python test_freq.py
python train_rl.py

Citation

@inproceedings{michelis2026simple,
  title     = {Simple Models, Real Swimming: Digital Twins for Tendon-Driven Underwater Robots},
  author    = {Michelis, Mike Y. and Obayashi, Nana and Hughes, Josie and Katzschmann, Robert K.},
  year      = {2026},
  booktitle = {2026 IEEE International Conference on Robotics and Automation (ICRA)}, 
  publisher = {IEEE},
}