Add continuous OFF ON OFF VIV video research driver
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# Continuous VIV videos
|
||||
|
||||
Research-only, two separate settings, each one uninterrupted OFF -> ON -> OFF
|
||||
fluid/oscillator trajectory. No production changes, topology switching, moving
|
||||
checkpoint feature, retraining, force filtering, or parameter search.
|
||||
|
||||
The user selected separate videos because runtime topology changes are unsupported
|
||||
with translating circles. This is deliberately different from the old Legacy
|
||||
multi-setting video, which rebuilt solvers and transferred full state.
|
||||
|
||||
## Frozen physical and control contract
|
||||
|
||||
- Source baseline `73d3f6214e0d28ced4744665aa3bb05522aa2fa8`; D40, U=.005,
|
||||
nu=.004, MRT/FP32/unshifted double-buffer. Same parabolic regularized inlet,
|
||||
NEQ outlet and bounce-back walls as the retained m*=4 pair.
|
||||
- Common transverse assembly: m*=4 (all three disks), fn D/U=.2, zeta=0.
|
||||
Structure uses previous native-step sum CME_y+Wen_y. No policy-force averaging
|
||||
is applied to this RHS. Same +/-D travel, speed, finite-state and no-donor stops.
|
||||
- Each phase: Karman400 complete SI of3200, steady320 SI of4000 native steps
|
||||
=160 D/U. Steady's SI follows the actual old video1000-step interval under
|
||||
diffusive D40 scaling, rather than borrowing PPO's800-step interval. Total480 D/U.
|
||||
No extension, retuning or replacement if steady motion/control is weak.
|
||||
- Steady: canonical new-reproduce constant surface velocities
|
||||
(0,-5.1,+5.1) U. This is NOT a PPO transfer. No model/normalizer is loaded.
|
||||
Existing 2,048,000-step at-rest warmup precedes the free response.
|
||||
- Karman: actual pinball Re_D50, historically named `karman_re100`, frozen
|
||||
model `148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d`
|
||||
and norm `534fda818c030a56960e95d0f3ac1e350d887d03db7f80f1d6453195a502b7f0`.
|
||||
Use the verified static release once, at video start (clock4576000).
|
||||
- Both switches occur on SI boundaries. The oscillator y/v, previous RHS,
|
||||
both DDF buffers, moving geometry and solver clock are never reset. OFF still
|
||||
gathers sensor/CME observations. First PPO action uses the immediately previous
|
||||
complete OFF interval, unlike an independent arm's initial all-zero observation.
|
||||
Deterministic feed-forward PPO has no recurrent state. EMA resets to zero each
|
||||
SI, as in training/reproduction; original video's SplitAdvance also reset the
|
||||
constant-steady actuation every interval. Physical OFF is exactly zero wall speed.
|
||||
There is no extra transition blend. The first1 D/U after either switch is
|
||||
explicitly labeled a switch transient. ON from an already moving state differs
|
||||
from the previous independent pair; +/-D stops are retained without retuning.
|
||||
A visual ON label means enabled control,
|
||||
not a proven suppression/cloaking result.
|
||||
|
||||
## Video provenance and presentation
|
||||
|
||||
Read-only source: DynamisLab `src/drl_pinball/reproduce/continuous_video.py`, SHA256
|
||||
`3bd9c777171c9e8932c78298accbb6f61a8323b0eed5938e0f56e167b3df0743`.
|
||||
Approved original MP4 SHA256
|
||||
`578d2cf5113429006b6919bbb8ef8ff6ce65ebcd0c056ac478f8ce2515e4cbab`.
|
||||
The actual new-reproduce conversation confirms fixed-position plain-language
|
||||
labels, white bars, OFF/ON toggle, rotation sectors, and 1/2/5/10/5/2/1 gears.
|
||||
|
||||
Only the display idiom/gear schedule are reused. Legacy population decoding,
|
||||
physics, topology handoff and policy runner are not imported. Modern macroscopic
|
||||
fields feed centered vorticity with all stencil nodes fluid. Fixed color limits
|
||||
[-3,+3], 21 RdBu_r bins; per-frame clipping fraction retained. Box downsampling
|
||||
is display-only. Both main field and enlarged inset have fixed lab coordinates;
|
||||
the inset shows the equilibrium line. Actual moving centers and applied surface
|
||||
speeds drive the body overlays. y/D trace has fixed +/-1 limits. No motion gain.
|
||||
|
||||
1280x800,30fps; first80 D/U of each phase uses the original display gear ramps,
|
||||
last80 D/U uses normal cadence (800 native steps/frame =.1D/U). Every native
|
||||
step and every SI is still executed. Streaming ffmpeg avoids stored PNG sequences.
|
||||
Keep raw scalar histories, SI observations/actions, per-frame time/motion records,
|
||||
selected keyframes, source/input hashes and terminal status. These are new
|
||||
continuous runs, not an exact replay of the old independent paired histories.
|
||||
|
||||
## Gates and limits
|
||||
|
||||
CPU: switch-state/clock continuity, first ON observation, exactly zero OFF action,
|
||||
SI timing despite sampling, physical scaling, schedule monotonicity, vorticity
|
||||
sign/mask, fixed-coordinate mapping. Real smoke:32 warmup +3x32 response steps
|
||||
on D40 (smoke SI32), all switches/encoder; not a physical comparison. Grok reviews
|
||||
the exact research diff before full runs. Capture no-donor, finite state, native
|
||||
RHS and all stop outcomes. Report per-phase late-half motion statistics and
|
||||
raw-force limits; appearance and successful duration are not physics qualification.
|
||||
|
||||
Example (outputs must be new, outside checkout; select a safe GPU):
|
||||
|
||||
```sh
|
||||
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python research/continuous_viv/run.py --scene steady --out /tmp/celeris-results-continuous-viv/steady
|
||||
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python research/continuous_viv/run.py --scene karman --model /tmp/celeris-karman-viv-assets/model.zip --norm /tmp/celeris-karman-viv-assets/norm.json --release-dir /tmp/celeris-results-karman-viv-516975e/pair --out /tmp/celeris-results-continuous-viv/karman
|
||||
```
|
||||
|
||||
Append `--smoke` and use separate output directories for the bounded gates.
|
||||
The Karman smoke does not read/install the physical release. Source and review
|
||||
SHA, interpreter/version and GPU resource readings belong in the execution receipt.
|
||||
Reference in New Issue
Block a user