1,152 mission trials, and what they say
Every number here comes from the revised manuscript, and every table in the repository links to the commit that produced it. Nothing on this page comes from a rendered camera or an animated sea.
Resistance model
Mission kinematics and energy for 24 scenarios under two cruise profiles, Base and Fast. Propulsion power at cruise speed comes from an ITTC-57 based resistance model. The hotel load is 180 W by day and 230 W at night; a 108 W pod heater and fan run only on the return leg and the ten-minute landing. A 24 kWh pack is used when a mission needs no more than 70 % of it, otherwise a 28.8 kWh pack. This stage has no randomness.
Float check
The two hulls are separate buoyant bodies, so the restoring moment comes from the 1.86 m spacing, not from an offset centre of mass. A Python hydrostatic integrator gives a rest draft of 0.214 m against 0.211 m analytical; the same test in Gazebo Sim 8 returns the vessel from a 10° heel. The single-body version of the world is kept as the negative result: one body cannot represent the catamaran waterplane and capsizes.
Mission trials
24 seeded trials for each of the 48 scenario and profile cases. Speed, head current, path overhead and search overhead are drawn once per trial; propulsion power scales with the cube of speed. A trial is completed if the reserve stays at or above 15 % and the vessel can make way on both legs. Medians include every trial, including the ones that failed.
First-pass detection
A statistical model of the thermal scene and the detector, not a rendered camera. Each scene holds the casualty at 31–35 °C and distractors with their own temperatures: debris 18–26 °C, seabirds 38–41 °C, marine mammals 28–33 °C, foam 15–16 °C, sun glint 20–30 °C by day, sea at 15 °C. The camera is 640 × 512 pixels, 32° × 26°, NETD 50 mK. A target is confirmed after five consecutive frames. First-pass success means the casualty is confirmed before any distractor.
The seven that failed
All seven incomplete trials ended at 10.7–13.9 % reserve on the 28.8 kWh pack. Energy, not detection, is what fails first. That is why AR-Mini has a battery alarm and a fuse before it has anything else.
Waves
A second run replaces the sinusoidal speed draw with the orbital velocity of a JONSWAP spectrum scaled to each scenario's significant wave height. Navigation scatter is unchanged.
Tools: Python 3.12 standard library for the models; Gazebo Sim 8 (Harmonic) on Linux or WSL for the float check.
Each script is deterministic for its seed set and rewrites its own results files.
The earlier interactive Gazebo demo of the robot, with a lid, thrusters and an animated 100 m water plane, is kept in the repository. It predates the 250 kg mass budget and is not the source of any number in the paper.
Results and where they come from
| Result | Stage | Output file in the repository |
|---|---|---|
| Energy for the 48 scenario and profile cases | Resistance model | plan_v3/results/plan_v3_missions.csv |
| Rest draft 0.214 m vs 0.211 m analytical; return from 10° heel | Float check | plan_v4/results/float_check.txt, gazebo_float.txt |
| 1,152 trials, 1,145 completed, medians with IQR | Mission trials | plan_v4/results/table7_medians.csv |
| First-pass detection, 751 of 1,152 | Detection model | plan_v5/results/first_pass_detection.csv |
| The seven trials below the 15 % reserve floor | Failure replay | plan_v5/results/failure_reasons.csv |
| Same missions under a JONSWAP spectrum | Waves | plan_v5/results/table7_jonswap_medians.csv |
The README lists the commit hash for each row. Open the repository
What simulation can't show
Whether a cradle can actually lift a floating body without rolling it. Whether a thermal camera on a mast sees anything useful at wave height. Whether the tracks bite when the hull is still half in the water. Those are the questions AR-Mini is for.