July 02, 2026
Autonomous surface vehicles vary widely in hydrodynamic and actuation characteristics, yet most controllers are designed for single-platform deployment. We present an adaptive reinforcement learning approach for trajectory tracking that enables zero-shot cross-platform deployment using a single policy. Since the deployment platform’s dynamics are unknown to the policy, we address cross-platform generalization with the standard partial-observability approach of conditioning on interaction history, employing a teacher–student architecture in which a learned module infers a latent representation of the platform dynamics. The policy is trained in simulation under randomized vessel dynamics and is deployed zero-shot to two real-world platforms without any fine-tuning, despite relying on a simple analytical dynamics model rather than a high-fidelity hydrodynamic simulator. In real-world experiments on two different platforms, the adaptive policy outperforms non-adaptive learning-based baselines by up to 58% in position mean absolute error while approaching the tracking accuracy of a platform-specific tuned controller.
Autonomous surface vehicles (ASVs) are increasingly deployed across a wide range of domains [@manley2008usv; @yan2010development], including surveillance and maritime security, oceanographic observation [@meinig2019saildrone], environmental and water quality monitoring [@dunbabin2010experimental], disaster response and search and rescue [@jorge2019survey], hydrographic surveying and autonomous shipping [@barrera2021trends], urban waterway transportation [@wang2023roboat3; @homburger2025solgenia], offshore infrastructure inspection [@campos2024nautilus], and, more recently, aquatic entertainment and robotic art [@ramachandranvenkatapathy2026wayofwater]. ASV platforms span a wide range of hydrodynamic and actuation characteristics, which increases the per-platform engineering effort required to deploy heterogeneous fleets. A single controller that generalizes across this diversity would remove the per-platform bottleneck.
Standard approaches to ASV trajectory tracking often rely on model-based control [@fossen2011handbook; @liu2016unmanned; @wang2018icra; @kinjo2021trajectory], which can achieve high accuracy but requires both a sufficiently accurate dynamics model obtained through system identification and platform-specific controller tuning. Reinforcement learning (RL) offers an alternative by training in simulation [@woo2019deep; @wang2023deepreinforcementlearningbased; @slawik2024drl], but existing methods rely on a simulator that accurately captures the target platform’s dynamics and are designed for a single, fixed vehicle rather than cross-platform deployment. A generalist controller eliminates both requirements: it demands neither explicit knowledge of the deployment platform’s dynamics nor per-platform tuning.
Because the deployment platform’s dynamics are unknown, cross-platform generalization is naturally a partial observability problem, for which conditioning on interaction history is a standard approach. We propose a recipe for cross-platform ASV control: (i) output normalized body-frame forces to decouple the policy from absolute force magnitudes; (ii) train over widely randomized vessel dynamics using a lightweight analytical dynamics model for straightforward randomization and training speed; and (iii) equip the policy with mechanisms that infer the unknown dynamics from interaction history at deployment time.
We employ a teacher–student pipeline [@Lee_2020; @kumar2021rmarapidmotoradaptation], adapted from legged locomotion, which first trains a teacher that learns a latent representation of system dynamics and then distills the teacher into a student whose adaptation module recovers the latent representation from interaction history alone. To our knowledge, no prior work has trained a single RL policy and deployed it zero-shot across multiple marine vessels of the same class with different dynamics and actuation.
The main contribution of this work is a cross-platform adaptive control framework for ASVs: a single generalist policy that, by conditioning on interaction history, deploys zero-shot on different platforms of the same class without per-platform identification or tuning. Training relies solely on a simple analytical dynamics model rather than high-fidelity hydrodynamic simulation. We validate this approach in real-world experiments on two different platforms of the same class (Fig. 1), where the adaptive policy approaches the tracking accuracy of a platform-specific tuned model predictive controller (MPC) and outperforms non-adaptive baselines by up to 58% in position error. A supporting simulation study across five ASV platforms corroborates these findings under controlled conditions.
Reinforcement learning has been applied to ASV path following [@woo2019deep; @slawik2024drl; @zhao2021path], collision avoidance [@meyer2020colreg], and trajectory tracking [@wang2023deepreinforcementlearningbased], with several demonstrating real-world deployment [@woo2019deep; @wang2023deepreinforcementlearningbased; @slawik2024drl]. However, each method is trained and validated on a single, fixed platform: the learned policy is coupled to a specific vessel, so deploying on a new platform requires re-identification of the dynamics model and retraining.
More recently, single-policy cross-platform deployment has been demonstrated across legged robots with diverse masses and morphologies [@feng2023genloco; @shafiee2024manyquadrupeds]; we bring this objective to the marine domain.
We treat the unknown deployment dynamics as a partial observability problem, where the prior approaches adapt to unknown dynamics by combining randomized training with online system identification or recurrent policies [@yu2017uposi; @peng2018sim; @ni2022recurrent]. Predicting exact dynamics parameters online is often brittle and unnecessary, while a learned latent embedding captures the information relevant for control. A teacher–student architecture from legged locomotion [@Lee_2020; @kumar2021rmarapidmotoradaptation] learns such an embedding, distilling a teacher with privileged access to environment parameters into a student that infers it from interaction history alone. In contrast to purely recurrent approaches, this framework provides explicit supervision for what the adaptation module should recover, yielding a more structured and interpretable adaptation mechanism.
This section introduces the vessel dynamics model used for simulation and training, and formulates trajectory tracking as a partially observable Markov decision process in which the vessel’s physical parameters are unknown at deployment time. For ease of notation, vectors are expressed as \(n\)-tuples \((x_1, x_2, \ldots)\), with dimension and stacking clear from context.
We adopt a three-degree-of-freedom (3-DoF) horizontal-plane model (Fig. 2) following the standard Fossen [@fossen2011handbook] formulation, used for simulation, training, and inside the MPC baseline.
We define the system state as \(\boldsymbol{s} = (\boldsymbol{\eta}, \boldsymbol{\nu})\), where the vessel pose \(\boldsymbol{\eta} = (x, y, \psi)\) in the inertial frame and body-frame velocity \(\boldsymbol{\nu} = (u, v, r)\) are related by \[\dot{\boldsymbol{\eta}} = \boldsymbol{J}(\psi)\,\boldsymbol{\nu}, \qquad \boldsymbol{J}(\psi) = \begin{bmatrix} \cos\psi & -\sin\psi & 0 \\ \sin\psi & \cos\psi & 0 \\ 0 & 0 & 1 \end{bmatrix}. \label{eq:kinematics}\tag{1}\]
The equations of motion are \[\boldsymbol{M}\dot{\boldsymbol{\nu}} + \boldsymbol{N}(\boldsymbol{\nu}_r)\,\boldsymbol{\nu}_r = \boldsymbol{\tau} + \boldsymbol{\tau}_{\mathrm{ext}}, \label{eq:fossen95dynamics}\tag{2}\] where \(\boldsymbol{\tau} = (F_x, F_y, M_z)\) is the vector of body-frame control forces and torque, \(\boldsymbol{\tau}_{\mathrm{ext}}\) represents external disturbances, and \(\boldsymbol{\nu}_r = \boldsymbol{\nu} - \boldsymbol{\nu}_c\) is the velocity relative to the water current \(\boldsymbol{\nu}_c\). Each vessel is characterized by seven parameters: \[\boldsymbol{\theta} = (m,\, X_{\dot{u}},\, Y_{\dot{v}},\, X_u,\, Y_v,\, N_r,\, I_{\mathrm{comb}}),\] where \(m\) is the mass, \(I_{\mathrm{comb}}\) is the combined yaw inertia, \(X_{\dot{u}}, Y_{\dot{v}}\) are added-mass coefficients, and \(X_u, Y_v, N_r\) are linear damping coefficients. The inertia matrix is diagonal: \[\boldsymbol{M} = \mathrm{diag}(m - X_{\dot{u}},\; m - Y_{\dot{v}},\; I_{\mathrm{comb}}), \label{eq:mass95matrix}\tag{3}\] and \(\boldsymbol{N}(\boldsymbol{\nu}_r) = \boldsymbol{C}(\boldsymbol{\nu}_r) + \boldsymbol{D}\) combines Coriolis–centripetal and linear damping terms: \[\boldsymbol{N}(\boldsymbol{\nu}_r) = \begin{bmatrix} X_u & -m\,r & Y_{\dot{v}}\,v \\ m\,r & Y_v & -X_{\dot{u}}\,u \\ -Y_{\dot{v}}\,v & X_{\dot{u}}\,u & N_r \end{bmatrix}. \label{eq:hydro95matrix}\tag{4}\]
The goal is to build a single controller that operates across a family of ASVs with diverse inertial, hydrodynamic, and actuation properties, parameterized by dynamics \(\boldsymbol{\theta} \in \Theta\) that are unknown at deployment time. We formulate trajectory tracking as a Markov decision process \((\mathcal{S}, \mathcal{A}, p, R, \gamma)\). At each timestep, the system is in state \(\boldsymbol{s}_t \in \mathcal{S}\), the agent selects action \(\boldsymbol{a}_t \in \mathcal{A}\) and receives reward \(R_t\), and the state transitions according to \[\boldsymbol{s}_{t+1} \sim p(\cdot \mid \boldsymbol{s}_t,\, \boldsymbol{a}_t;\, \boldsymbol{\theta}), \label{eq:transition}\tag{5}\] where \(\boldsymbol{\theta}\) parameterizes the vessel dynamics. While \(\boldsymbol{s}_t\) is accessible via onboard sensors, \(\boldsymbol{\theta}\) is not directly accessible during deployment. Identical \((\boldsymbol{s}_t, \boldsymbol{a}_t)\) pairs can therefore produce different next states on different platforms, making the problem a partially observable Markov decision process with true Markov state \((\boldsymbol{s}_t, \boldsymbol{\theta})\). Conditioning on interaction history restores approximate Markovianity, as past state transitions and corresponding actions serve as proxies for \(\boldsymbol{\theta}\).
The policy \(\pi\) is optimized to maximize expected discounted return: \[\pi^* = \arg\max_\pi \,\mathbb{E}_\pi\!\left[\sum_{t=0}^{\infty} \gamma^t\, R_t\right].\] The reference trajectory is a time series of desired states: \[\boldsymbol{s}^{\mathrm{ref}}_t = (x^{\mathrm{ref}}_t,\, y^{\mathrm{ref}}_t,\, \psi^{\mathrm{ref}}_t,\, u^{\mathrm{ref}}_t,\, v^{\mathrm{ref}}_t,\, r^{\mathrm{ref}}_t).\]
This section describes the observation and action spaces, the policy architecture, the reward, and the training procedure.
The base observation \(\boldsymbol{o}_t \in \mathbb{R}^{6N+12}\) concatenates:
Base features (9): body-frame position errors \((e_x^b, e_y^b)\), heading error \(e_\psi\), velocity errors \((e_u, e_v, e_r)\), and velocities \((u, v, r)\).
Lookahead (\(6N\)): \(N\) future reference waypoints, each encoded as body-frame relative position \((dx^b, dy^b)\), heading difference \(\Delta\psi\), reference velocities \((u_{\mathrm{ref}}, v_{\mathrm{ref}}, r_{\mathrm{ref}})\).
Previous action (3): \(\bar{\boldsymbol{\tau}}_{t-1}\).
Since \(\boldsymbol{o}_t\) alone does not satisfy the Markov property (Section 3), the adaptation architecture additionally conditions on a history feature \(\boldsymbol{h}_t \in \mathbb{R}^{9}\) that captures recent interaction: \[\boldsymbol{h}_t = (\Delta x_t, \Delta y_t, \Delta\psi_t, u_t, v_t, r_t, \bar{\tau}_{x_{t-1}}, \bar{\tau}_{y_{t-1}}, \bar{\tau}_{\psi_{t-1}}),\] where \((\Delta x_t, \Delta y_t, \Delta\psi_t)\) are body-frame state difference relative to the current state, \((u_t, v_t, r_t)\) are body-frame velocities, and \((\bar{\tau}_{x_{t-1}}, \bar{\tau}_{y_{t-1}}, \bar{\tau}_{\psi_{t-1}})\) are the normalized policy outputs at the respective timestep.
The policy outputs normalized body-frame force and torque commands \(\bar{\boldsymbol{\tau}} \in [-1,1]^3\), which are scaled by platform-specific actuator limits: \[\boldsymbol{\tau}_c = \mathrm{diag}\!\left(F_x^{\max},\, F_y^{\max},\, M_z^{\max}\right)\bar{\boldsymbol{\tau}}.\] This normalization decouples the policy from absolute force magnitudes. For real-world deployment, the body-frame forces and torques are mapped to individual actuators via a platform-specific allocation scheme [@johansen2013allocation].
We adopt a two-phase approach inspired by privileged learning [@Lee_2020; @kumar2021rmarapidmotoradaptation] (Fig. 3). In Phase 1, a teacher policy receives a privileged vector \(\boldsymbol{e} \in \mathbb{R}^{d_e}\) encoding platform dynamics. We construct \(\boldsymbol{e}\) from coefficients in the 3-DoF equations of motion, written in terms of the normalized outputs \(\bar{\tau}_x, \bar{\tau}_y, \bar{\tau}_\psi \in [-1,1]\): \[\begin{align} \dot{u} &= \alpha_u \bar{\tau}_x - \tfrac{1}{\tau_u} u + c_{rv}\, r\, v, \\ \dot{v} &= \alpha_v \bar{\tau}_y - \tfrac{1}{\tau_v} v + c_{ru}\, r\, u, \\ \dot{r} &= \alpha_r \bar{\tau}_\psi - \tfrac{1}{\tau_r} r + c_{uv}\, u\, v, \end{align}\] where the \(\alpha\) terms map normalized commands to peak accelerations, the \(1/\tau\) terms represent linear hydrodynamic drag, and the \(c\) terms capture Coriolis effects. This yields the nine-dimensional privileged vector: \[\boldsymbol{e} = \Big( \underbrace{\alpha_u,\, \alpha_v,\, \alpha_r}_{\text{peak accel.}},\; \underbrace{\tfrac{1}{\tau_u},\, \tfrac{1}{\tau_v},\, \tfrac{1}{\tau_r}}_{\text{damping rates}},\; \underbrace{c_{rv},\, c_{ru},\, c_{uv}}_{\text{Coriolis}} \Big)\] with coefficients: \[\begin{align} \alpha_u &= \tfrac{F_x^{\max}}{m - X_{\dot{u}}}, &\quad \alpha_v &= \tfrac{F_y^{\max}}{m - Y_{\dot{v}}}, &\quad \alpha_r &= \tfrac{M_z^{\max}}{I_{\mathrm{comb}}}, \\[4pt] \tfrac{1}{\tau_u} &= \tfrac{X_u}{m - X_{\dot{u}}}, &\quad \tfrac{1}{\tau_v} &= \tfrac{Y_v}{m - Y_{\dot{v}}}, &\quad \tfrac{1}{\tau_r} &= \tfrac{N_r}{I_{\mathrm{comb}}}, \\[4pt] c_{rv} &= \tfrac{m - Y_{\dot{v}}}{m - X_{\dot{u}}}, &\quad c_{ru} &= \tfrac{-(m - X_{\dot{u}})}{m - Y_{\dot{v}}}, &\quad c_{uv} &= \tfrac{Y_{\dot{v}} - X_{\dot{u}}}{I_{\mathrm{comb}}}. \end{align}\]
An encoder \(\mu: \mathbb{R}^{d_e} \rightarrow \mathbb{R}^{d_z}\) maps the privileged vector to a latent representation \(\boldsymbol{z} = \mu(\boldsymbol{e})\). The actor and critic receive \([\boldsymbol{o}_t, \boldsymbol{z}]\) and output the action \(\bar{\boldsymbol{\tau}}_t\) and value \(V_t\).
In Phase 2, the encoder is replaced by an adapter \(\phi\) that estimates \(\boldsymbol{z}\) from per-step features \(\boldsymbol{h}_t\) via the GRU: \[\boldsymbol{g}_t = \mathrm{GRU}(\boldsymbol{h}_t,\, \boldsymbol{g}_{t-1}), \qquad \hat{\boldsymbol{z}}_t = \mathrm{MLP}(\boldsymbol{g}_t) \in \mathbb{R}^{d_z}.\]
In Phase 1, the policy and encoder are trained jointly with Proximal Policy Optimization (PPO) [@schulman2017proximalpolicyoptimizationalgorithms] using the hyperparameters in Table 1. In Phase 2, the encoder is replaced by the adapter and the actor weights are frozen. The adapter is trained by minimizing \(\|\hat{\boldsymbol{z}}_t - \boldsymbol{z}\|^2\) via supervised learning using AdamW, with weight decay \(10^{-5}\) and learning rate annealed linearly from \(3 \times 10^{-4}\) to \(3 \times 10^{-5}\). The actor conditions on the adapter’s estimate \(\hat{\boldsymbol{z}}_t\) during Phase 2 rollouts, so the adapter is trained on the state distribution induced by its own predictions rather than by the teacher’s latent. Architecture details are in Table ¿tbl:tab:architecture?.
| Parameter | Value |
|---|---|
| Lookahead horizon \(N\) | 10 |
| Observation dim \(d_o\) | \(6N+12 = 72\) |
| Privileged vector dim \(d_e\) | 9 |
| Latent dim \(d_z\) | 9 |
| Encoder MLP | \([128, 128]\) |
| Actor MLP | \([128, 128, 64]\) |
| Critic MLP | \([128, 128, 64]\) |
| Adapter feature dim \(d_h\) | 9 |
| GRU hidden dim | 128 |
| GRU layers | 1 |
| Projection MLP | \([128]\) |
The latent dimension is set equal to the privileged-vector dimension (\(d_z = d_e = 9\)) to avoid an information bottleneck and to remove a hyperparameter. A post-hoc analysis (Fig. [fig:scree]) shows the latent’s variance concentrates in a low-dimensional subspace.
Both phases are trained on the 3-DoF dynamics model over a wide randomization range, so that training does not require explicit knowledge of the target platform’s dynamics. This simple setup carries several practical advantages: (i) the lightweight model enables massive parallelization and low per-step computation cost for fast training; (ii) randomization is straightforward over the few, physically interpretable parameters; and (iii) no high-fidelity hydrodynamic simulator is required.
Each tracking reward term uses a bounded form: \[R_i = \frac{w_i}{1 + w_i e_i^2},\] where \(e_i\) is the tracking error and \(w_i\) is the weight from Table 2. The total reward is \(R_t = R_t^{\mathrm{track}} + R_t^{\mathrm{aux}}\), with \[R_t^{\mathrm{track}} = R_p + R_\psi + \alpha_t (R_v + R_r),\] where \(\alpha_t = \exp(-e_p) \exp(-0.1 |e_\psi|)\) gates velocity tracking on position and heading accuracy. The auxiliary reward is \[R_t^{\mathrm{aux}} = R_{\mathrm{prox}} + R_{\mathrm{fwd}} - p_{\mathrm{sway}} - p_{\mathrm{spin}} - p_{\mathrm{act}}.\] The auxiliary terms comprise a proximity bonus \(R_{\mathrm{prox}} = w_{\mathrm{prox}} \exp(-10\, e_p)\), a forward velocity bonus \(R_{\mathrm{fwd}} = w_{\mathrm{fwd}}\, u\), quadratic penalties on lateral drift \(p_{\mathrm{sway}} = w_{\mathrm{sway}}\, v^2\) and excessive yaw rate \(p_{\mathrm{spin}} = w_{\mathrm{spin}} \max(0,|r|-0.3)^2\), and action regularization \(p_{\mathrm{act}} = p_{\tau} + p_{\Delta\tau}\), where \(p_{\tau} = w_\tau \|\bar{\boldsymbol{\tau}}_t\|^2\) and \(p_{\Delta\tau} = w_{\Delta\tau} \|\bar{\boldsymbol{\tau}}_t - \bar{\boldsymbol{\tau}}_{t-1}\|^2\). Action-regularization weights are annealed from zero to their final values (Table 2) over the course of training.
| Parameter | Value |
|---|---|
| Total environment steps | \(6\times10^7\) |
| Control timestep | 100 ms |
| Number of environments | 1024 |
| Steps per environment | 32 |
| Mini-batches | 8 |
| Learning epochs per update | 10 |
| Discount factor \(\gamma\) | 0.96 |
| Generalized advantage estimation (GAE) \(\lambda\) | 0.95 |
| Clip parameter \(\epsilon_{\mathrm{clip}}\) | 0.10 |
| Learning rate | \(3 \times 10^{-4} \to 3 \times 10^{-5}\) |
| Entropy coefficient | 0.005 |
| Value loss coefficient | 0.5 |
| Max gradient norm | 0.7 |
| Target Kullback–Leibler (KL) divergence | 0.02 |
| Episode length | 1000 steps |
Training uses a progressive curriculum [@bengio2009curriculum] that gradually increases the difficulty as the number of timesteps grows. Dynamics parameters are sampled from a wide distribution whose ranges expand progressively with the curriculum. Reference trajectories progress from simple to complex, starting with straight lines and large circles and progressing to tight turns. Initial state perturbations in position and orientation are introduced progressively with the curriculum.
Environmental disturbances comprise water currents and forces from wind and waves, both modeled as Ornstein–Uhlenbeck processes [@uhlenbeck1930theory]. The inertial-frame current velocity \(\boldsymbol{\nu}_c = (v_{c,x}, v_{c,y})\) evolves as: \[\mathrm{d}\boldsymbol{\nu}_c = -\lambda_c \boldsymbol{\nu}_c \, \mathrm{d}t + \sigma_c \, \mathrm{d}\boldsymbol{W}_t,\] with decay rate \(\lambda_c\) and clipped to a maximum magnitude. Body-frame forces \(\boldsymbol{\tau}_{\mathrm{ext}} = (F_x^w, F_y^w, M_z^w)\) follow a similar Ornstein–Uhlenbeck process with per-platform bounds set as a fraction of the respective actuator limits, ensuring that disturbances scale appropriately across platforms.
Actuator characteristics are approximated as a pure time delay \(\delta\) applied to the commanded action, randomized per episode during training.
| Term | Weight |
|---|---|
| Position tracking \(w_p\) | 6.0 |
| Heading tracking \(w_\psi\) | 3.0 |
| Velocity tracking \(w_v\) | 1.0 |
| Yaw rate tracking \(w_r\) | 2.0 |
| Proximity bonus \(w_{\mathrm{prox}}\) | 5.0 |
| Forward velocity \(w_{\mathrm{fwd}}\) | 0.05 |
| Sway penalty \(w_{\mathrm{sway}}\) | 0.05 |
| Spin penalty \(w_{\mathrm{spin}}\) | 0.1 |
| Action magnitude \(w_{\tau}\) | \(0 \to 3\) |
| Action smoothness \(w_{\Delta\tau}\) | \(0 \to 10\) |
| Failure threshold | 5 m |
To compare controller performance, we evaluate four controllers across both real-world and simulation experiments: (i) a platform-specific model predictive controller (MPC) with a prediction horizon of \(N=10\) steps, matching the lookahead horizon of the RL policies; (ii) PPO (specific), a PPO policy trained and deployed on a single platform with domain randomization [@peng2018sim] around that platform’s dynamics; (iii) PPO (general), a PPO policy trained on the full dynamics range for cross-platform deployment but without any adaptation mechanism, serving as the non-adaptive baseline; and (iv) Student, the teacher–student adaptation approach for cross-platform deployment. Both PPO (specific) and PPO (general) receive only the base observation \(\boldsymbol{o}_t\) without history features to isolate the contribution of adaptation from interaction history. All policies are trained in the same vectorized simulation environment with identical reward functions and training budgets. They are trained on a single NVIDIA RTX 4090 GPU; the full teacher–student pipeline (Phase 1 and Phase 2 combined) completes in approximately 30 minutes for \(6\times10^7\) timesteps.
The simulation study includes three additional baselines: (v) Teacher, a Phase 1 oracle policy that receives the privileged dynamics vector \(\boldsymbol{e}\) directly, establishing an upper bound on student performance; (vi) Recurrent, an end-to-end recurrent baseline [@ni2022recurrent] in which the observation \(\boldsymbol{o}_t\) is compressed by a feedforward encoder, concatenated with the history features \(\boldsymbol{h}_t\), and passed into a GRU whose hidden state drives both the actor and critic heads, trained end-to-end with sequence-aware PPO without explicit supervision on the dynamics; and (vii) Student (avg.\(\boldsymbol{z}\)), an ablation of the student in which the adapter’s output is replaced by the training-set mean latent, isolating the contribution of online adaptation.
We perform real-world experiments on two physical platforms, Platform A and Platform B (Table 3), which differ in dynamics and actuation. Simulation experiments across all five platforms in Table 3, including Roboat 1 [@wang2019roboat], Roboat 2 [@wang2020roboat2], and Roboat 3 [@wang2023roboat3], provide supporting analysis under controlled conditions. The Roboat dynamics parameters in Table 3 were derived from the reported vessel specifications and adapted to fit our model parameterization.
| PA | PB | R1 | R2 | R3 | ||
|---|---|---|---|---|---|---|
| \(m\) | kg | 22 | 5 | 9.2 | 80 | 1050 |
| \(I_{\mathrm{comb}}\) | kg m\(^2\) | 1.7 | 0.7 | 1.3 | 24 | 3800 |
| \(X_{\dot{u}}\) | kg | \(-\)22 | \(-\)10 | \(-\)3.8 | \(-\)92 | \(-\)120 |
| \(Y_{\dot{v}}\) | kg | \(-\)22 | \(-\)10 | \(-\)14 | \(-\)108 | \(-\)120 |
| \(X_u\) | kg/s | 54 | 32 | 6.0 | 38 | 126 |
| \(Y_v\) | kg/s | 54 | 32 | 7.1 | 168 | 460 |
| \(N_r\) | kg m\(^2\)/s | 1.7 | 1.1 | 0.8 | 16 | 160 |
| \(F_x^{\max}\) | N | 40 | 50 | 40 | 100 | 1500 |
| \(F_y^{\max}\) | N | 40 | 50 | 40 | 100 | 500 |
| \(M_z^{\max}\) | N m | 20 | 20 | 27 | 150 | 1500 |
3pt
PA = Platform A, PB = Platform B, R1–R3 = Roboat
1–3.
Table 4 reports the ranges of normalized dynamics components encountered by the cross-platform policies during training, including acceleration capabilities (\(\alpha_u, \alpha_v, \alpha_r\)), inverse time constants (\(1/\tau_u, 1/\tau_v, 1/\tau_r\)), and Coriolis coupling coefficients (\(c_{rv}, c_{ru}, c_{uv}\)).
| Component | Range |
|---|---|
| \(\alpha_u = F_x^{\max}/(m - X_{\dot{u}})\) | \([0.15, 12]\) m/s\(^2\) |
| \(\alpha_v = F_y^{\max}/(m - Y_{\dot{v}})\) | \([0.11, 11]\) m/s\(^2\) |
| \(\alpha_r = M_z^{\max}/I_{\mathrm{comb}}\) | \([0.10, 86]\) rad/s\(^2\) |
| \(1/\tau_u = X_u/(m - X_{\dot{u}})\) | \([0.007, 34]\) s\(^{-1}\) |
| \(1/\tau_v = Y_v/(m - Y_{\dot{v}})\) | \([0.019, 34]\) s\(^{-1}\) |
| \(1/\tau_r = N_r/I_{\mathrm{comb}}\) | \([0.003, 25]\) s\(^{-1}\) |
| \(c_{rv} = (m - Y_{\dot{v}})/(m - X_{\dot{u}})\) | \([0.06, 29]\) |
| \(c_{ru} = -(m - X_{\dot{u}})/(m - Y_{\dot{v}})\) | \([-16, -0.03]\) |
| \(c_{uv} = (Y_{\dot{v}} - X_{\dot{u}})/I_{\mathrm{comb}}\) | \([-218, 218]\) m\(^{-2}\) |
4pt
| Platform | Method | Pos. | Head. |
|---|---|---|---|
| Platform A | MPC | \(4.6 \pm 2.5\) | \(1.9 \pm 2.1\) |
| Student | \(4.0 \pm 2.1\) | \(2.5 \pm 1.9\) | |
| PPO (specific) | \(5.5 \pm 3.2\) | \(4.0 \pm 3.0\) | |
| PPO (general) | \(5.6 \pm 3.0\) | \(2.6 \pm 1.9\) | |
| Platform B | MPC | \(4.1 \pm 2.6\) | \(2.9 \pm 3.9\) |
| Student | \(4.0 \pm 2.4\) | \(2.0 \pm 1.5\) | |
| PPO (specific) | \(5.3 \pm 2.8\) | \(2.1 \pm 2.6\) | |
| PPO (general) | \(9.5 \pm 3.4\) | \(2.2 \pm 1.6\) |
3pt
All RL policies were trained with wind and waves (\(10\%\) of control authority), currents up to \(0.2\) m/s, and actuator delay randomized in \([0, 200]\) ms. They were then deployed zero-shot on Platform A and Platform B without any platform-specific retraining. The validation trajectory is a rectangle with rounded corners traversed at \(0.6\) m/s, covering both straight and curved segments representative of common ASV operational patterns. Both platforms are equipped with a real-time kinematic (RTK) GPS running at 7 Hz and an inertial measurement unit (IMU) at 100 Hz; the control loop executes at 10 Hz. The tracking accuracy is measured as the difference between the reference and the estimated state using measurements from those onboard sensors. Results are reported in Table 5.
The student achieves the lowest position error (\(4.0\) cm), followed by MPC (\(4.6\) cm), while MPC leads in heading (\(1.9^\circ\) vs.\(2.5^\circ\)). Both outperform PPO (specific) in heading (\(4.0^\circ\)) and position (\(5.5\) cm). Relative to PPO (general), the student reduces position error by \(29\%\) (\(4.0\) cm vs.\(5.6\) cm) with comparable heading performance (\(2.5^\circ\) vs.\(2.6^\circ\)).
On Platform B, the student matches MPC in position (\(4.0\) cm vs.\(4.1\) cm) and shows lower heading error (\(2.0^\circ\) vs.\(2.9^\circ\)). Compared to PPO (general), the student reduces position error by \(58\%\) (\(4.0\) cm vs.\(9.5\) cm) while heading remains comparable (\(2.0^\circ\) vs.\(2.2^\circ\)).
Across both platforms, the student consistently reduces position error relative to PPO (general), while heading errors remain comparable among the general policies. The student achieves equal position accuracy (\(4.0\) cm) on both platforms despite their different dynamics, with a larger improvement on Platform B compared with PPO (general). We attribute this to Platform B’s higher thrust-to-weight ratio: on such a platform, suboptimal commands produce proportionally larger tracking deviations, amplifying the benefit of adaptation. Notably, PPO (specific) does not outperform the adaptive student: without adaptation and with a narrower training distribution, it cannot compensate for the sim-to-real gap, leading to weaker performance.
| Method | Pos.\(\downarrow\) | Head. |
|---|---|---|
| MPC\(^\star\) | \(0.33 \pm 0.00\) | \(0.07 \pm 0.00\) |
| PPO (specific)\(^\star\) | \(0.65 \pm 0.04\) | \(0.97 \pm 0.13\) |
| Student | \(0.84 \pm 0.11\) | \(1.81 \pm 0.50\) |
| Teacher | \(0.85 \pm 0.13\) | \(1.79 \pm 0.50\) |
| Recurrent | \(0.96 \pm 0.31\) | \(2.34 \pm 0.42\) |
| PPO (general) | \(1.49 \pm 0.10\) | \(3.98 \pm 0.28\) |
| Student avg.\(\bm{z}\) | \(2.18 \pm 0.16\) | \(4.06 \pm 0.37\) |
4pt
The simulation study extends the real-world findings to five vessels (Table 3) under controlled conditions. All policies are trained and evaluated under ideal conditions (no delay, no disturbances) in Table 6, characterizing nominal tracking ability, while robustness is assessed in the real-world experiments under external disturbances. MPC achieves the lowest error (\(0.33\) cm), as expected when the controller operates on a perfect model of the simulated dynamics. PPO (specific) (\(0.65\) cm) also performs well, because it is trained and validated on the same conditions without domain mismatch. The student reduces position error by \(44\%\) (\(0.84\) cm vs.\(1.49\) cm) and heading error by \(55\%\) (\(1.81^\circ\) vs.\(3.98^\circ\)) relative to PPO (general). The larger heading improvement compared with the real-world results reflects the wider spread of yaw control authorities across the simulated platforms, where adaptation has a stronger effect.
The recurrent policy achieves \(0.96\) cm and \(2.34^\circ\), improving over PPO (general) but remaining above the student (\(0.84\) cm, \(1.81^\circ\)). Beyond tracking performance, the teacher–student framework yields an interpretable latent that directly encodes platform dynamics. Fixing the latent to its training-set mean (Student avg.\(\boldsymbol{z}\)) more than doubles tracking error (\(2.18\) cm, \(4.06^\circ\)), confirming the contribution of the adaptation module.
Fig. 4 shows a principal component analysis of the learned latent across dynamics: the first two components explain \(91\%\) of the variance (PC1 \(63.7\%\), PC2 \(27.3\%\)), so the nine-dimensional latent effectively occupies a low-dimensional subspace. Note that the effective dimensionality is also task-dependent: trained end-to-end with the policy, the encoder represents the dynamics variation that affects tracking on the training trajectories. A controlled single-axis illustration of the adaptation mechanism for a separate variant policy is provided in Appendix 8.
We presented a single adaptive trajectory-tracking policy that is deployed zero-shot across platforms by conditioning on interaction history. Deployment on a new platform requires neither explicit knowledge of the platform’s dynamics nor any retraining. In real-world experiments on two different platforms, the adaptive policy reduces position error by up to 58% relative to the non-adaptive baseline, approaching the tracking accuracy of a platform-specific tuned MPC. Notably, the entire training pipeline uses only a lightweight 3-DoF analytical model and completes in about 30 minutes on a single consumer GPU.
Limitations. Our experiments cover a low-speed displacement regime, where the 3-DoF linear-damping model captures the dominant dynamics. The adapter offers limited ability to accommodate velocity-dependent effects such as quadratic drag, which at a given speed appear as an effective damping within the randomized range (Table 4) that it re-estimates online. Regimes the 3-DoF model omits, such as planing or strong heave, roll, and pitch coupling, remain future work.
Beyond broadening this operating envelope, the approach could be augmented with online or continual adaptation, allowing the policy to progressively specialize into a platform-specific expert controller, improving performance as more operational data from the deployed system becomes available. A second direction is tighter integration with model-based control: a learned module could condition the parameters and objectives online, combining the constraint-handling and interpretability of model-based methods with the flexibility of learning-based adaptation.
To illustrate the adaptation mechanism, we train a separate variant policy on a controlled one-dimensional dynamics sweep, in which a single factor \(s\) uniformly scales all inertial and damping parameters while actuation limits remain fixed. Because the variation is one-dimensional, a single latent component \(z_0\) suffices to capture it. Fig. 5 shows that the teacher’s latent \(z_0\) varies smoothly and monotonically with \(s\), so the encoder learns a continuous, physically meaningful embedding of the dynamics. Reducing \(s\) abruptly from \(1.0\) to \(0.3\) at \(t=10\,\mathrm{s}\), Fig. 6 shows the student’s inferred \(\hat{z}_0\), recovered online from interaction history alone, converging within approximately \(1.0\,\mathrm{s}\), illustrating the adaptation mechanism in isolation from other factors.
The authors thank Sebastian Burmester, Jan Kamm, and Noa Sendlhofer for their help with experimental testing and for valuable discussions.
\(^{1}\) Institute for Dynamic Systems and Control, ETH Zurich, Switzerland. Corresponding author: rjiang@ethz.ch↩︎