feat(SR): complete article-grade symbolic regression evidence
Freeze the contract-audited discovery, closed-loop validation, robustness, plotting, and manuscript evidence so the SR section is reproducible and ready for paper development. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+321
-173
@@ -1,210 +1,358 @@
|
||||
# SR_analysis Pipeline
|
||||
# Article SR pipeline
|
||||
|
||||
> Symbolic regression pipeline for extracting interpretable DRL control laws (obs -> act)
|
||||
> from the fluidic pinball. Four independent stages: inference -> fitting -> validation -> analysis.
|
||||
This is the authoritative execution and design document for `SR_analysis`. Read `README.md` first for the scientific summary and current conclusions.
|
||||
|
||||
## Pipeline Architecture
|
||||
## 1. Method in one diagram
|
||||
|
||||
```
|
||||
[PPO Inference] [PySR Fitting] [CFD Validation] [Analysis/Figures]
|
||||
stage_1_infer.py -> stage_2_fit.py -> stage_3_validate.py -> stage_4_analyze.py
|
||||
| | | |
|
||||
controlled.npz formulas/*.json validations/*.json figures/*.png+pdf
|
||||
target.npz FIGURE_INDEX.md
|
||||
```mermaid
|
||||
flowchart LR
|
||||
contracts[Channel and causal contracts] --> data[PPO trajectories]
|
||||
data --> perCase[Per-case broad discovery]
|
||||
perCase --> joint[Within-objective joint discovery]
|
||||
joint --> refit[Fixed-topology all-data refit]
|
||||
refit --> safety[Static and replay safety]
|
||||
safety --> shortCFD[Short serial CFD]
|
||||
shortCFD --> standardCFD[200-step legacy DTW]
|
||||
standardCFD --> longCFD[400-step duration check]
|
||||
longCFD --> generalization[Unseen-condition CFD]
|
||||
standardCFD --> steady[Steady-cloak calibration]
|
||||
standardCFD --> ablation[Term deletion and scaling]
|
||||
steady --> interpretation[Physical interpretation and limits]
|
||||
generalization --> interpretation
|
||||
ablation --> interpretation
|
||||
```
|
||||
|
||||
## Environments
|
||||
The workflow has one scientific route:
|
||||
|
||||
| Env | Used For | Key Packages |
|
||||
|-----|----------|-------------|
|
||||
| `pycuda_3_10` | Stage 1 (CFD inference), Stage 3 (CFD validation), Stage 4 (analysis) | pycuda, numpy, matplotlib, torch, stable-baselines3 |
|
||||
| `sr_env` | Stage 2 (PySR symbolic regression) | pysr, numpy, sympy |
|
||||
```text
|
||||
stage_1_infer.py -> stage_2_fit.py -> stage_3_validate.py
|
||||
```
|
||||
|
||||
GPU: device 2 recommended (device 0 may conflict with PyTorch).
|
||||
Checks and diagnostics gate or interpret this route; they do not create a parallel pipeline.
|
||||
|
||||
## Key Conventions
|
||||
## 1.1 Article2 extension commands
|
||||
|
||||
### Reynolds Number
|
||||
- Code Re uses reference length 2D = 40: `Re = U0 * 40 / nu`
|
||||
- Physical Re_D uses D = 20: `Re_D = Re / 2`
|
||||
- Default: Re_code=100 -> Re_D=50, nu=0.004
|
||||
|
||||
### Action
|
||||
- `controlled.npz` stores actions as **normalized [-1, +1]** (not physical omega)
|
||||
- Physical omega: `omega = (action * scale + bias) * U0`
|
||||
- Fitting target: **non-dimensional alpha = (omega * radius) / (surface_vel * U0)**
|
||||
|
||||
### Action Decoder Bias (scene-specific)
|
||||
| Scene | Scale | Bias |
|
||||
|-------|:-----:|------|
|
||||
| Karman | 8 | [0, -4, 4] |
|
||||
| Illusion | 8 | [0, -2, 2] |
|
||||
| Vortex | 4 | [0, -4, 4] |
|
||||
|
||||
### G-Mirror Symmetry
|
||||
- Correct: `[aF, aT, aB] -> [-aF, -aB, -aT]`
|
||||
- v23 structure: Front no-bias, rear shared-head (alpha_B = -Top composed with G)
|
||||
|
||||
### Inlet
|
||||
- Parabolic velocity profile (not uniform). Top/bottom walls are no-slip bounce-back.
|
||||
- U0 = 0.01 at centerline (lattice units)
|
||||
|
||||
### Sample Interval & Validation Steps
|
||||
| Scene | SI | Validation Steps (rule: >= NX/U0/SI) |
|
||||
|-------|:--:|:-------------------------------------:|
|
||||
| Karman | 800 | 160-200 |
|
||||
| Illusion 0.75L | 400 | 320 |
|
||||
| Illusion 1L | 600 | 214 |
|
||||
| Illusion 1.5L | 800 | 160 |
|
||||
| Vortex | 800 | 150 (transient) |
|
||||
|
||||
---
|
||||
|
||||
## Stage 1: PPO Inference Data Generation
|
||||
|
||||
Generates `controlled.npz` (sensors, forces, actions) and `target.npz` for all scenes.
|
||||
All CFD commands remain serialized and use physical GPU 2. `--device 0` is the logical device after masking.
|
||||
|
||||
```bash
|
||||
# Karman cloak (all trained Reynolds numbers)
|
||||
for re in 50 100 200 400; do
|
||||
conda run -n pycuda_3_10 python stage_1_infer.py --scene karman_re${re} --device 2
|
||||
done
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_3_validate.py --scene steady --mode constant \
|
||||
--constant-alpha 0 -5 5 --device 0 --steps 200 \
|
||||
--run-id article2-steady-sweep-a5-20260720
|
||||
|
||||
# Illusion (trained diameters)
|
||||
for d in 0.75 1.0; do
|
||||
conda run -n pycuda_3_10 python stage_1_infer.py --scene illusion_${d}L --device 2
|
||||
done
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_3_validate.py --group karman_re50,karman_re100,karman_re200,karman_re400 \
|
||||
--mode pysr --formula-front <front.json> --formula-rear <rear.json> \
|
||||
--device 0 --steps 400 --run-id article2-long-karman-20260720
|
||||
|
||||
# Illusion target-only (generalization diameters -- no PPO model, just target recording)
|
||||
for d in 0.5 0.6 0.8 1.2 1.5 2.0; do
|
||||
conda run -n pycuda_3_10 python stage_1_infer.py --scene illusion_${d}L --target-only --device 2
|
||||
done
|
||||
|
||||
# Vortex
|
||||
for v in lamb taylor; do
|
||||
conda run -n pycuda_3_10 python stage_1_infer.py --scene vortex_${v} --device 2
|
||||
done
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_3_validate.py --group karman_re25,karman_re70,karman_re150,karman_re300 \
|
||||
--mode pysr --formula-front <front.json> --formula-rear <rear.json> \
|
||||
--device 0 --steps 200 --run-id article2-gen-karman-20260720
|
||||
```
|
||||
|
||||
**Output per scene** (in `data/{scene_id}/{scene_name}/`):
|
||||
- `controlled.npz`: actions [N,3], sensors [N,6], forces [N,6]
|
||||
- `target.npz`: target signals [FIFO_LEN, 6] for Karman/Vortex; **8 columns for Illusion** = [cyl_fx,cyl_fy, s0_ux,s0_uy, s1_ux,s1_uy, s2_ux,s2_uy] — extract sensors with `target[:, 2:8]`
|
||||
- `norm.json`: normalization factors
|
||||
- `result.json`: similarity + reward summary
|
||||
- `target_harmonics.json` (Illusion only): FFT harmonics for force reconstruction
|
||||
Illusion uses the corresponding article topology-A formulas and either the three training scenes for the duration test or `--group illusion_generalization`. Generalization PySR deployment does not require a PPO normalization file; target harmonics remain frozen per scene.
|
||||
|
||||
---
|
||||
|
||||
## Stage 2: PySR Symbolic Regression Fitting
|
||||
|
||||
Runs PySR on `controlled.npz` data to discover interpretable control laws.
|
||||
Export any Stage 1 or Stage 3 trajectory with:
|
||||
|
||||
```bash
|
||||
# Illusion joint (0.75L + 1.0L) -- primary contribution
|
||||
conda run -n sr_env python stage_2_fit.py \
|
||||
--scenes illusion_0.75L,illusion_1L --mode joint --deep
|
||||
|
||||
# Karman cross-Re joint (re50-400)
|
||||
conda run -n sr_env python stage_2_fit.py \
|
||||
--scenes karman_re50,karman_re100,karman_re200,karman_re400 --mode joint --deep
|
||||
|
||||
# Per-scene individual fitting (optional, for comparison)
|
||||
conda run -n sr_env python stage_2_fit.py --scene karman_re100 --mode per-scene --deep
|
||||
conda run -n sr_env python stage_2_fit.py --scene illusion_0.75L --mode per-scene --deep
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.tools.telemetry_to_csv \
|
||||
--input <trajectory.npz> --target <target.npz> --output-dir <csv-dir> \
|
||||
--scene <scene> --source ppo --sample-interval <SI> --conv-len <N>
|
||||
```
|
||||
|
||||
**Feature sets**:
|
||||
| Name | Features | Dim | Used For |
|
||||
|------|----------|:---:|----------|
|
||||
| ILLUSION_PHASE | u_a, du_a/dt, Cl_tot, dCl_tot/dt, Cd_tot, Cd_rear, Cd_err, Cl_err, dCd_err/dt, dCl_err/dt | 10 | Illusion |
|
||||
| PHYS_DADT+mu | Static + daF/dt, daB/dt, daT/dt + mu terms | 17 | Karman joint |
|
||||
The exporter writes wide and long CSV files, target tables, manifests and legacy-DTW window convergence diagnostics. For Stage 3 telemetry use `--source sr`; embedded target sensors are used automatically.
|
||||
|
||||
**Constraints (v23)**:
|
||||
- Front no-bias: alpha_F = 0 when features = 0
|
||||
- Rear shared-head: alpha_B = -Top composed with G-mirror
|
||||
|
||||
**Output**: `results/formulas/{scene}_{channel}.json`
|
||||
|
||||
---
|
||||
|
||||
## Stage 3: CFD Closed-Loop Validation
|
||||
|
||||
Validates PySR formulas or PPO baselines in closed-loop CFD. This is the final arbiter.
|
||||
Build the complete derived plotting package from immutable article artifacts with:
|
||||
|
||||
```bash
|
||||
# Karman cross-Re (trained + generalization)
|
||||
for re in 50 100 200 400 25 70 150 300; do
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene karman_re${re} --device 2 --mode pysr \
|
||||
--formula-front results/formulas/karman_joint_front.json \
|
||||
--formula-top results/formulas/karman_joint_top.json
|
||||
done
|
||||
|
||||
# Illusion trained (joint formula)
|
||||
for d in 0.75 1.0; do
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene illusion_${d}L --device 2 --mode pysr \
|
||||
--formula-front results/formulas/illusion_joint_front.json \
|
||||
--formula-top results/formulas/illusion_joint_top.json
|
||||
done
|
||||
|
||||
# Illusion generalization (joint formula on unseen diameters)
|
||||
for d in 0.5 0.6 0.8 1.2 2.0; do
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene illusion_${d}L --device 2 --mode pysr \
|
||||
--formula-front results/formulas/illusion_joint_front.json \
|
||||
--formula-top results/formulas/illusion_joint_top.json
|
||||
done
|
||||
|
||||
# PPO baselines
|
||||
for d in 0.75 1.0 1.5; do
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene illusion_${d}L --device 2 --mode ppo
|
||||
done
|
||||
|
||||
# Vortex generalization
|
||||
for v in lamb taylor; do
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene vortex_${v} --device 2 --mode pysr \
|
||||
--formula-front results/formulas/karman_joint_front.json \
|
||||
--formula-top results/formulas/karman_joint_top.json
|
||||
done
|
||||
PYTHONPATH=src conda run -n sr_env python -m SR_analysis.tools.prepare_plotting_data \
|
||||
--output-dir src/SR_analysis/results/runs/article2-plotting-package-<date>
|
||||
```
|
||||
|
||||
**Output**: `results/validations/{scene_name}.json` with similarity scores.
|
||||
This creates causal PPO-state predictions/residuals, feature and additive-term contributions, unified ablation/scaling summaries and steady-sweep time series. Render diagnostic PNG/PDF figures in an environment containing Matplotlib with `python -m SR_analysis.tools.plot_sr_diagnostics`. For 400-step PPO CFD, keep `--model-device cpu`; GPU 2 is reserved for the active PyCUDA context.
|
||||
|
||||
---
|
||||
## 2. Design decisions
|
||||
|
||||
## Stage 4: Publication Figures
|
||||
### Why fit PPO actions?
|
||||
|
||||
Generates all figures and the figure index. No CLI arguments needed.
|
||||
The PPO policy supplies successful state-action trajectories. Fitting its dimensionless physical actions provides candidate feedback structures without rerunning symbolic search inside CFD. The fitted expression is a policy surrogate, not a Navier–Stokes equation.
|
||||
|
||||
### Why not select the highest R² formula?
|
||||
|
||||
A candidate changes the closed-loop state distribution after deployment. A formula can imitate PPO actions well on recorded states and still drift or become unstable in CFD. R² and Pareto complexity are therefore used to discover recurring variables and topologies; CFD stability and legacy DTW decide closed-loop value.
|
||||
|
||||
### Why per-case before joint?
|
||||
|
||||
Per-case searches reveal whether variables and topologies recur across operating conditions. Joint search begins only after broad variables have been considered, preventing a compact hand-selected library from predetermining the mechanism.
|
||||
|
||||
### Why freeze topology before the final coefficient fit?
|
||||
|
||||
Unrestricted symbolic search on all rows would use the blind data for structure selection. The workflow first selects topology from discovery runs, then refits only its numerical constants using all accepted trajectories with case-equal and trajectory-equal weighting. The refit records its parent discovery artifact.
|
||||
|
||||
### Why exact G deployment?
|
||||
|
||||
The geometry and objective are reflection-symmetric, while the legacy PPO was not trained with an equivariance constraint. The final architecture deliberately imposes physical symmetry:
|
||||
|
||||
\[
|
||||
\alpha_F(x)=\frac{h_F(x)-h_F(Gx)}{2},\quad
|
||||
\alpha_U(x)=h_R(x),\quad
|
||||
\alpha_L(x)=-h_R(Gx).
|
||||
\]
|
||||
|
||||
This is physical symmetrization, not a claim that PPO itself is exactly equivariant. Three independent heads are retained only for diagnostic structure discovery.
|
||||
|
||||
### Why no automatic lag search?
|
||||
|
||||
For Illusion, target and actual forces share a causal deployment timeline. Cross-correlation can produce a statistically useful shift without identifying a physical delay. Temporal/derivative features are introduced only after controlled static-variable comparisons show insufficiency. DTW lag is reported as part of the legacy metric, not interpreted as control delay.
|
||||
|
||||
### Why separate Kármán and Illusion joint fits?
|
||||
|
||||
They are different objectives. Kármán seeks restoration of an incident wake; Illusion seeks a non-zero target wake. Joint means shared structure within one objective, not one formula across unrelated policies.
|
||||
|
||||
## 3. Contracts and gates
|
||||
|
||||
### Physical labels
|
||||
|
||||
Kármán names use `re_code`, whose reference length is `2D`; report \(Re_D=\texttt{re\_code}/2\) whenever the physical Reynolds number is intended. Illusion names are legacy target-size labels. Despite the historical field name `target_diameter`, the value is passed to `LegacyCelerisLab.add_cylinder` as its `radius` argument. Rear symmetric and antisymmetric force coordinates are half-sums and half-differences, so changing that convention would rescale fitted coefficients.
|
||||
|
||||
A run may proceed to fitting only when all applicable gates pass.
|
||||
|
||||
### Physical order gate
|
||||
|
||||
Canonical orders:
|
||||
|
||||
- body/action: `front, upper, lower`
|
||||
- forces: `front_fx, front_fy, upper_fx, upper_fy, lower_fx, lower_fy`
|
||||
- sensors: upper, centre, lower, each with streamwise/transverse components
|
||||
|
||||
Run after CFD/kernel changes:
|
||||
|
||||
```bash
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python -m SR_analysis.checks.order_contract \
|
||||
--scene karman_re100 --device 0 \
|
||||
--output src/SR_analysis/results/runs/<run_id>/karman_re100.json
|
||||
```
|
||||
|
||||
**Output** (in `results/figures/`):
|
||||
- `fig_illusion_degradation.png/pdf` — Main result: cross-diameter generalization
|
||||
- `fig_karman_cross_re.png/pdf` — Karman cross-Re validation bars
|
||||
- `fig_formula_comparison.png/pdf` — Formula structure diagram
|
||||
- `fig_vortex_generalization.png/pdf` — Vortex cross-scene transfer
|
||||
- `fig_action_comparison.png/pdf` — PPO action timeseries
|
||||
- `fig_master_table.png/pdf` — Complete results table
|
||||
- `FIGURE_INDEX.md` — Figure catalog with paper-ready captions
|
||||
Repeat for `illusion_1L`. The impulse response is diagnostic; object IDs, centres and slot mapping define the contract.
|
||||
|
||||
---
|
||||
### Temporal gate
|
||||
|
||||
## Canonical Formulas
|
||||
The article alignment is `causal_post_state_to_next_action`. Post-state `i` predicts normalized PPO action `i+1`. Warm-up rows are removed. Each trajectory is processed independently before stacking.
|
||||
|
||||
| Formula File | Scene | Formula | CFD Similarity |
|
||||
|-------------|-------|---------|:---:|
|
||||
| `results/formulas/karman_joint_front.json` | Karman cross-Re | `daF_dt - 14.952*mu*Cl_tot` | avg 0.847 |
|
||||
| `results/formulas/karman_joint_top.json` | Karman cross-Re | `3.414` (constant) | — |
|
||||
| `results/formulas/illusion_joint_front.json` | Illusion joint | `Cd_tot - (Cd_err + 5.428) - (-0.00978)*(du_a_dt + u_a)` | 0.978/0.970 |
|
||||
| `results/formulas/illusion_joint_top.json` | Illusion joint | `(Cd_err - (Cd_rear - Cl_err))*0.535 + 2.782` | — |
|
||||
### PPO wiring gate
|
||||
|
||||
## Known Limitations
|
||||
```bash
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python -m SR_analysis.checks.policy_replay \
|
||||
--scene <scene> \
|
||||
--trajectory <run>/<objective>/<scene>/controlled.npz \
|
||||
--model-device cpu \
|
||||
--output <result>.json
|
||||
```
|
||||
|
||||
- **Karman rear formula is constant** (alpha_T = 3.414): rear control information not fully utilized by the joint formula.
|
||||
- **Illusion 1.5L is non-fittable**: PPO policy uses high-frequency modulation (5.6x shedding frequency) that the current feature set cannot capture.
|
||||
- **daB_dt in Karman front formula** must be removed for deployment: it's a training distribution artifact (PPO trajectories have correlated front/rear actions, but rear is constant at deployment).
|
||||
The seven article trajectories passed with zero action replay error.
|
||||
|
||||
### Artifact gate
|
||||
|
||||
- Existing non-empty run directories are not overwritten.
|
||||
- Formula strings, formula files, telemetry and validations carry hashes.
|
||||
- Integrity audit never grants scientific promotion; `promotion_eligible` defaults to false.
|
||||
- Failed and incomplete validations remain rejected evidence.
|
||||
|
||||
## 4. Stage 1: collect article data
|
||||
|
||||
Environment: `pycuda_3_10`. CFD is serial on physical GPU 2. Isolate physical GPU 2 with `CUDA_VISIBLE_DEVICES=2`, then select logical device 0.
|
||||
|
||||
Kármán:
|
||||
|
||||
```bash
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_1_infer.py \
|
||||
--group karman_trained \
|
||||
--run-id <karman_data_run> \
|
||||
--device 0 --model-device cpu --steps 200 --norm-source existing
|
||||
```
|
||||
|
||||
Illusion:
|
||||
|
||||
```bash
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_1_infer.py \
|
||||
--group illusion_trained \
|
||||
--run-id <illusion_data_run> \
|
||||
--device 0 --model-device cpu --steps 200 --norm-source existing
|
||||
```
|
||||
|
||||
Outputs:
|
||||
|
||||
```text
|
||||
data/runs/<run_id>/<objective>/<scene>/
|
||||
config.json
|
||||
controlled.npz
|
||||
manifest.json
|
||||
norm.json
|
||||
result.json
|
||||
target.npz
|
||||
target_harmonics.json # Illusion
|
||||
uncontrolled.npz # Kármán Stage 1 baseline asset
|
||||
```
|
||||
|
||||
The article run uses 200 recorded rows per scene and 197 aligned Stage 2 rows after warm-up/causal alignment.
|
||||
|
||||
## 5. Stage 2A: per-case broad discovery
|
||||
|
||||
Environment: `sr_env`.
|
||||
|
||||
Use complete variable representations first:
|
||||
|
||||
- `raw_complete`
|
||||
- `symmetry`
|
||||
|
||||
For Illusion, compare:
|
||||
|
||||
- `actual_only`
|
||||
- `target_only`
|
||||
- `actual_plus_target`
|
||||
- `actual_plus_error`
|
||||
|
||||
Example diagnostic three-head discovery:
|
||||
|
||||
```bash
|
||||
PYTHONPATH=src conda run -n sr_env \
|
||||
python src/SR_analysis/stage_2_fit.py \
|
||||
--scene karman_re100 --mode per-scene \
|
||||
--run-id <discovery_run> \
|
||||
--data-root <karman_data_run_root> \
|
||||
--feature-set symmetry --feature-profile actual_only \
|
||||
--deployment-architecture three_head_independent \
|
||||
--fit-augmentation none \
|
||||
--fit-purpose discovery \
|
||||
--seed 0 --niterations 20 --smoke
|
||||
```
|
||||
|
||||
Repeat for at least three seeds. `--smoke` in the article discovery denotes the bounded PySR population/complexity configuration; the resulting candidates are still diagnostic until CFD validation.
|
||||
|
||||
Up to 25 retained Pareto candidates per fitted head record:
|
||||
|
||||
- expression and used variables
|
||||
- complexity/loss/PySR score
|
||||
- contiguous train/validation/blind R², MAE, RMSE and max error
|
||||
- static finite-value probing over observed feature ranges (not a global action-range guarantee)
|
||||
- seed, feature set, data and trajectory provenance
|
||||
|
||||
The blind block is not used for fitting.
|
||||
|
||||
## 6. Stage 2B: within-objective joint discovery
|
||||
|
||||
Kármán example:
|
||||
|
||||
```bash
|
||||
PYTHONPATH=src conda run -n sr_env \
|
||||
python src/SR_analysis/stage_2_fit.py \
|
||||
--scenes karman_re50,karman_re100,karman_re200,karman_re400 \
|
||||
--mode joint --run-id <joint_discovery_run> \
|
||||
--data-root <karman_data_run_root> \
|
||||
--feature-set symmetry --feature-profile actual_only \
|
||||
--deployment-architecture mapped_shared \
|
||||
--fit-augmentation G --fit-purpose discovery \
|
||||
--seed 0 --niterations 40 --smoke
|
||||
```
|
||||
|
||||
Illusion uses the three trained diameters and separate profile comparisons. Joint fitting is accepted only when scene objective, feature order, action order and action conversion contracts match.
|
||||
|
||||
If multiple data roots are accepted, provide repeated `--data-root` arguments or comma-separated `--data-roots`. Every trajectory is constructed and split independently. Joint PySR receives explicit case-equal, trajectory-equal sample weights.
|
||||
|
||||
## 7. Stage 2C: fixed-topology refit
|
||||
|
||||
Freeze a recurring topology before using all eligible rows. Example:
|
||||
|
||||
```bash
|
||||
PYTHONPATH=src conda run -n sr_env \
|
||||
python src/SR_analysis/stage_2_fit.py \
|
||||
--scenes karman_re50,karman_re100,karman_re200,karman_re400 \
|
||||
--mode joint --run-id <refit_run> \
|
||||
--data-root <karman_data_run_root> \
|
||||
--feature-set symmetry --feature-profile actual_only \
|
||||
--deployment-architecture mapped_shared --fit-augmentation G \
|
||||
--fit-purpose fixed-topology-refit \
|
||||
'--front-topology-expression=-0.377*Cd_rear_a' \
|
||||
'--rear-topology-expression=1.0*Cl_rear_s-3.398' \
|
||||
--front-discovery-parent-path <joint_front.json> \
|
||||
--rear-discovery-parent-path <joint_rear_shared_upper.json>
|
||||
```
|
||||
|
||||
Only numerical constants are optimized. Outputs report aggregate, per-case and per-trajectory errors and retain discovery-parent hashes.
|
||||
|
||||
## 8. Stage 3: closed-loop screening
|
||||
|
||||
Environment: `pycuda_3_10`, physical GPU 2, one CFD process at a time.
|
||||
|
||||
Short screening:
|
||||
|
||||
```bash
|
||||
CUDA_VISIBLE_DEVICES=2 PYTHONPATH=src conda run -n pycuda_3_10 \
|
||||
python src/SR_analysis/stage_3_validate.py \
|
||||
--group karman_re50,karman_re100,karman_re200,karman_re400 \
|
||||
--mode pysr \
|
||||
--formula-front <joint_front.json> \
|
||||
--formula-rear <joint_rear_shared_upper.json> \
|
||||
--device 0 --steps 40 --run-id <L2_run>
|
||||
```
|
||||
|
||||
Standard validation changes `--steps` to 200 and uses a new run ID.
|
||||
|
||||
The only active metric is `legacy_dtw_v1_abs_n_unclipped`, reported under `legacy_reference_cycle_vs_last_recorded_cycle`. It estimates lag from transverse sensor channel 1 between target samples `conv_len:2*conv_len` and the final controlled `conv_len` samples, circularly shifts the complete target sequence, computes absolute normalized unclipped DTW similarity independently for all six sensor channels, and reports their arithmetic mean. The lag is an alignment parameter, not a physical delay. Every validation stores per-channel values, lag, action ranges, termination, telemetry hash, formula hashes, scene config and GPU identity.
|
||||
|
||||
A candidate is rejected if any training case becomes non-finite or terminates early. Averages do not hide case failures.
|
||||
|
||||
## 9. Term necessity and coefficient robustness
|
||||
|
||||
`utils/formula_schema.py` deterministically decomposes top-level additive terms and creates immutable formula variants.
|
||||
|
||||
For each shortlisted law:
|
||||
|
||||
1. delete each term;
|
||||
2. delete physically linked groups where necessary;
|
||||
3. scale each term with the preregistered grid `0, 0.5, 0.75, 1, 1.25, 1.5`;
|
||||
4. run recorded-state shadow checks for finite values and action ranges;
|
||||
5. send only informative variants to short CFD.
|
||||
|
||||
A term is called important only when deletion causes repeatable closed-loop degradation. Scale zero must agree with deletion. The parent formula is never mutated.
|
||||
|
||||
## 10. Article evidence and interpretation
|
||||
|
||||
The current authoritative evidence chain is indexed by `results/README.md` and ends at:
|
||||
|
||||
```text
|
||||
results/runs/article-joint-sr-final-20260718/
|
||||
readable_summary.txt
|
||||
evidence_manifest.json
|
||||
```
|
||||
|
||||
Current conclusions:
|
||||
|
||||
- Kármán: rear constant is dominant, rear lift feedback is secondary, tested front feedback is weak; high-Re performance remains a limitation.
|
||||
- Illusion: a symmetric numerical family exists, but terms are replaceable and static target/error variables do not establish explicit target tracking; 1.5L is the weakest/different regime.
|
||||
|
||||
The manuscript draft must preserve these distinctions and must not import older historical numbers as current evidence.
|
||||
|
||||
## 11. Historical and inactive material
|
||||
|
||||
- `results/formulas/`, `results/validations/`, `scene_registry.json`, `old/` and old docs are `historical_frozen` context.
|
||||
- `round1-legacy-v2-20260716-*` is diagnostic only because it predates the final force-order contract.
|
||||
- `experiments/v5/` is a separate excluded experiment.
|
||||
- `archive/stage4/` and `archive/stage_docs/` are inactive publication tooling/history.
|
||||
- `diagnostics/` outputs do not become mechanism claims without closed-loop validation.
|
||||
|
||||
## 12. Tests
|
||||
|
||||
Run from the repository root:
|
||||
|
||||
```bash
|
||||
PYTHONPATH=src conda run -n sr_env python -m pytest \
|
||||
src/SR_analysis/tests tests/test_stage_3_validate.py -q
|
||||
```
|
||||
|
||||
Expected result at the 2026-07-21 plotting-package revision: `88 passed`.
|
||||
|
||||
+245
-72
@@ -1,81 +1,254 @@
|
||||
# SR_analysis: Symbolic Regression for DRL Flow Control
|
||||
# SR analysis: agent entry point
|
||||
|
||||
Extracts interpretable control laws (obs -> act) from DRL-trained PPO policies
|
||||
for the fluidic pinball using PySR symbolic regression. Validates all formulas
|
||||
in CFD closed-loop and produces publication-quality figures.
|
||||
This directory contains the active symbolic-regression analysis for extracting compact control laws from the legacy PPO policies of the fluidic pinball.
|
||||
|
||||
## Pipeline
|
||||
**Start here, then read `PIPELINE.md`.** The active scientific workflow has exactly three entry points:
|
||||
|
||||
```
|
||||
stage_1_infer.py -> stage_2_fit.py -> stage_3_validate.py -> stage_4_analyze.py
|
||||
(PPO data) (PySR formula) (CFD closed-loop) (paper figures)
|
||||
1. `stage_1_infer.py` — collect run-scoped PPO trajectories.
|
||||
2. `stage_2_fit.py` — discover and refit symbolic structures.
|
||||
3. `stage_3_validate.py` — evaluate formulas in closed-loop CFD with the legacy DTW metric.
|
||||
|
||||
The current article evidence is indexed in `results/README.md`. The manuscript-ready SR section is `../../docs/JFM_WYQ/SR_Draft.md`.
|
||||
|
||||
## Scientific question
|
||||
|
||||
SR is not used to maximize imitation of PPO actions. It is used to determine whether successful PPO control contains a compact, symmetric and physically interpretable feedback structure that remains effective when deployed in CFD.
|
||||
|
||||
The selection chain is therefore:
|
||||
|
||||
```text
|
||||
PPO trajectories
|
||||
-> broad per-case variable/topology discovery using R² and Pareto fronts
|
||||
-> within-objective joint topology discovery
|
||||
-> fixed-topology coefficient refit using all accepted rows
|
||||
-> short and standard closed-loop CFD screening using legacy DTW
|
||||
-> term-deletion and coefficient-scaling tests
|
||||
-> physical interpretation and explicit limitations
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
R² is a discovery diagnostic. It is not the acceptance criterion. Closed-loop stability and DTW decide whether a candidate is useful; deletion and scaling tests decide whether its terms are necessary.
|
||||
|
||||
## Current article scope
|
||||
|
||||
Two objectives are fitted separately:
|
||||
|
||||
- **Kármán cloaking:** `karman_re50`, `karman_re100`, `karman_re200`, `karman_re400`.
|
||||
- **Illusion:** `illusion_0.75L`, `illusion_1L`, `illusion_1.5L`.
|
||||
|
||||
Kármán and Illusion are never pooled into one fit. The fitted evidence is limited to these seven training scenes. The coefficient-frozen 2026-07-20 extension tests additional Reynolds-number and target-size points, but those points did not participate in fitting or model selection. Vortex, V5 and historical figures remain outside the current article evidence.
|
||||
|
||||
Seven new 200-step PPO trajectories were collected in:
|
||||
|
||||
- `data/runs/article-joint-data-karman-20260718/`
|
||||
- `data/runs/article-joint-data-illusion-20260718/`
|
||||
|
||||
All seven passed exact recorded-state policy replay. The accepted data inventory is:
|
||||
|
||||
- `results/runs/article-joint-data-audit-20260718/data_inventory.json`
|
||||
|
||||
Historical and round-one assets are retained, but are not silently pooled with the article data. The old `round1-legacy-v2-20260716-*` formulas are diagnostic only because they predate the final force-order contract.
|
||||
|
||||
## Non-negotiable contracts
|
||||
|
||||
### Native order
|
||||
|
||||
The canonical body, force and action order is:
|
||||
|
||||
```text
|
||||
front, upper, lower
|
||||
```
|
||||
|
||||
Sensors are ordered upper, centre, lower. Verify runtime binding with `checks/order_contract.py` before collecting data after any CFD change.
|
||||
|
||||
### Alignment
|
||||
|
||||
The article workflow uses:
|
||||
|
||||
```text
|
||||
causal_post_state_to_next_action
|
||||
```
|
||||
|
||||
Recorded post-state `i` predicts action `i+1`. Each trajectory is built independently so lag features and contiguous splits never cross trajectory boundaries.
|
||||
|
||||
### Action definition
|
||||
|
||||
Formula outputs are dimensionless cylinder surface velocities:
|
||||
|
||||
\[
|
||||
\alpha_i = \omega_i/U_0.
|
||||
\]
|
||||
|
||||
Normalized PPO actions are decoded with the scene action scale and bias before fitting.
|
||||
|
||||
### Exact reflection symmetry
|
||||
|
||||
The article candidate uses mapped-shared deployment:
|
||||
|
||||
\[
|
||||
\alpha_F(x)=\frac{h_F(x)-h_F(Gx)}{2},\qquad
|
||||
\alpha_U(x)=h_R(x),\qquad
|
||||
\alpha_L(x)=-h_R(Gx).
|
||||
\]
|
||||
|
||||
The front projection is exactly odd. The lower action is generated from the shared upper law. Three-head-independent fitting exists only as a PPO-structure diagnostic and is not the final physical architecture.
|
||||
|
||||
Fit augmentation and deployment architecture are separate choices:
|
||||
|
||||
- `--fit-augmentation none|G`
|
||||
- `--deployment-architecture mapped_shared|three_head_independent`
|
||||
|
||||
Hard G symmetry is a deliberate physical symmetrization; it is not presented as a property that the legacy PPO was trained to satisfy.
|
||||
|
||||
### Metric
|
||||
|
||||
The closed-loop metric is:
|
||||
|
||||
```text
|
||||
legacy_dtw_v1_abs_n_unclipped
|
||||
```
|
||||
|
||||
Its exact window is named:
|
||||
|
||||
```text
|
||||
legacy_reference_cycle_vs_last_recorded_cycle
|
||||
```
|
||||
|
||||
There are not separate “full” and “tail” DTW algorithms. Lag is part of the legacy comparison procedure and is not interpreted as a physical observation/control delay.
|
||||
|
||||
## Physical labels and units
|
||||
|
||||
The Kármán scene names contain the historical code Reynolds label `re_code`, defined with reference length `2D`; the cylinder-diameter Reynolds number is therefore \(Re_D=\texttt{re\_code}/2\). The Illusion names `0.75L`, `1L` and `1.5L` are legacy target-size labels: the stored `target_diameter` value is passed to `LegacyCelerisLab.add_cylinder` as a radius. Paper text must not silently reinterpret these labels as physical diameters.
|
||||
|
||||
SR uses dimensionless velocities and force coefficients, not the clipped PPO observation. Rear symmetry coordinates are half-sums and half-differences, for example
|
||||
|
||||
\[
|
||||
C_{d,\mathrm{rear},s}=\frac{C_{d,U}+C_{d,L}}{2},\qquad
|
||||
C_{d,\mathrm{rear},a}=\frac{C_{d,U}-C_{d,L}}{2},
|
||||
\]
|
||||
|
||||
with the same convention for rear lift.
|
||||
|
||||
## Feature strategy
|
||||
|
||||
Broad discovery starts from complete, dimensionless variable representations:
|
||||
|
||||
- `raw_complete`: six velocity components and six cylinder-force components.
|
||||
- `symmetry`: symmetric/antisymmetric velocity and force coordinates.
|
||||
- `physics_reduced`: compact diagnostics only; it is not the starting point for article discovery.
|
||||
|
||||
Illusion comparisons use non-overlapping profiles:
|
||||
|
||||
- `actual_only`
|
||||
- `target_only`
|
||||
- `actual_plus_target`
|
||||
- `actual_plus_error`
|
||||
|
||||
Target/error derivatives or other temporal features are added only after static variables are shown insufficient. Cross-correlation is never used to select a lag.
|
||||
|
||||
## Current results
|
||||
|
||||
### Kármán joint candidate
|
||||
|
||||
\[
|
||||
\alpha_F=\operatorname{odd}\!\left[-0.381391\,C_{d,\mathrm{rear},a}\right],
|
||||
\]
|
||||
|
||||
\[
|
||||
\alpha_U=1.307782\,C_{l,\mathrm{rear},s}-3.431209,
|
||||
\qquad
|
||||
\alpha_L=-\alpha_U(Gx).
|
||||
\]
|
||||
|
||||
Standard 200-step legacy DTW:
|
||||
|
||||
- Re50: `0.9543`
|
||||
- Re100: `0.9427`
|
||||
- Re200: `0.8560`
|
||||
- Re400: `0.7827`
|
||||
|
||||
Deletion tests support the ordering:
|
||||
|
||||
```text
|
||||
rear constant > rear lift feedback > front drag-asymmetry feedback
|
||||
```
|
||||
|
||||
This is consistent with the physical hypothesis that persistent rear counter-rotation provides the principal downstream velocity-deficit compensation. The SR evidence ranks controller terms but does not establish the spatial momentum correction or causality; those claims require OID/CCD. The law is not uniformly strong at Re400 and must not be called universal.
|
||||
|
||||
### Illusion joint numerical candidate
|
||||
|
||||
\[
|
||||
\alpha_F=\operatorname{odd}\!\left[-1.826604\,C_{d,\mathrm{rear},a}+2.064493\,C_{l,F}\right],
|
||||
\]
|
||||
|
||||
\[
|
||||
\alpha_U=1.254440\,C_{d,\mathrm{rear},a}-1.528074\,C_{l,F},
|
||||
\qquad
|
||||
\alpha_L=-\alpha_U(Gx).
|
||||
\]
|
||||
|
||||
Standard 200-step legacy DTW:
|
||||
|
||||
- 0.75L: `0.8749`
|
||||
- 1.0L: `0.9217`
|
||||
- 1.5L: `0.8306`
|
||||
|
||||
Scaling tests show that the `Cl_F` terms dominate action magnitude; the `Cd_rear,a` terms are weaker and partly replaceable. Every one-term deletion remained stable, so the current expression is not a unique mechanism law. Target/error variables were available but were not selected stably by low-complexity static joint discovery. This is a numerical joint reference, not proof of explicit target tracking.
|
||||
|
||||
## What can and cannot be claimed
|
||||
|
||||
Supported:
|
||||
|
||||
- A complete, reproducible discovery-to-CFD-to-ablation workflow.
|
||||
- Strong Kármán evidence for dominant rear counter-rotation and secondary rear lift feedback.
|
||||
- A symmetric Illusion joint family that remains finite across all three trained target-size labels.
|
||||
- R² and formula appearance alone are insufficient predictors of closed-loop value.
|
||||
|
||||
Not supported:
|
||||
|
||||
- Global symbolic optimality or uniqueness.
|
||||
- A universal Kármán law at Re400.
|
||||
- An explicit target-tracking mechanism for Illusion.
|
||||
- Necessity of every Illusion term.
|
||||
- Physical delay inferred from DTW lag or cross-correlation.
|
||||
- Distribution-wide or universal generalization. The Article2 extension supports only finite pointwise deployment at its explicitly sampled unseen conditions.
|
||||
|
||||
## Directory map
|
||||
|
||||
```text
|
||||
SR_analysis/
|
||||
├── README.md # this agent entry point
|
||||
├── PIPELINE.md # exact method, commands and design decisions
|
||||
├── configs.py # scene and action contracts
|
||||
├── stage_1_infer.py # PPO data collection
|
||||
├── stage_2_fit.py # discovery and fixed-topology refit
|
||||
├── stage_3_validate.py # closed-loop CFD and legacy DTW
|
||||
├── checks/ # pre-fit physical/wiring gates
|
||||
├── diagnostics/ # diagnostic-only analyses
|
||||
├── utils/ # feature, G, formula, data and provenance contracts
|
||||
├── tests/ # SR CPU contract tests
|
||||
├── results/README.md # evidence index and result status
|
||||
├── tools/ # integrity audit; audit is not scientific promotion
|
||||
├── experiments/v5/ # excluded experimental pipeline
|
||||
└── archive/ # inactive Stage 4 and historical guides
|
||||
```
|
||||
|
||||
`old/`, `archive/`, `experiments/v5/`, historical formula directories and old reports are context only. They are not authoritative sources for article numbers.
|
||||
|
||||
## Environments and resource discipline
|
||||
|
||||
- Stage 1, policy replay and Stage 3: `pycuda_3_10`; PPO inference defaults to CPU so physical GPU 2 remains dedicated to the PyCUDA CFD context.
|
||||
- Stage 2/PySR and coefficient refit: `sr_env`.
|
||||
- CFD uses physical GPU 2 and is strictly serial.
|
||||
- When `CUDA_VISIBLE_DEVICES=2`, the process uses logical device `0`; provenance records both visibility and GPU UUID rather than mislabelling the physical ordinal.
|
||||
- Every run ID is immutable; failed telemetry is retained.
|
||||
|
||||
## Verification
|
||||
|
||||
At the 2026-07-21 plotting-package revision, the SR contract suite contains 88 passing tests. Run from the repository root:
|
||||
|
||||
```bash
|
||||
# Generate PPO inference data
|
||||
conda run -n pycuda_3_10 python stage_1_infer.py --scene karman_re100 --device 2
|
||||
|
||||
# Fit symbolic formula
|
||||
conda run -n sr_env python stage_2_fit.py --scenes illusion_0.75L,illusion_1L --mode joint --deep
|
||||
|
||||
# Validate in CFD
|
||||
conda run -n pycuda_3_10 python stage_3_validate.py \
|
||||
--scene illusion_1L --device 2 --mode pysr \
|
||||
--formula-front results/formulas/illusion_joint_front.json \
|
||||
--formula-top results/formulas/illusion_joint_top.json
|
||||
|
||||
# Generate figures
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py
|
||||
PYTHONPATH=src conda run -n sr_env python -m pytest \
|
||||
src/SR_analysis/tests tests/test_stage_3_validate.py -q
|
||||
```
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
SR_analysis/
|
||||
stage_1_infer.py # PPO inference (all scenes)
|
||||
stage_2_fit.py # PySR symbolic regression fitting
|
||||
stage_3_validate.py # CFD closed-loop validation
|
||||
stage_4_analyze.py # Publication figure generation
|
||||
configs.py # All scene definitions (19 scenes)
|
||||
scene_registry.json # Canonical results registry
|
||||
utils/ # Shared library (features, CFD, fitting)
|
||||
data/ # Runtime .npz data per scene
|
||||
results/
|
||||
formulas/ # Canonical formula JSONs
|
||||
validations/ # CFD validation outputs
|
||||
figures/ # Publication-quality PNG/PDF
|
||||
FIGURE_INDEX.md # Figure catalog with captions
|
||||
README.md # Formula + validation index
|
||||
docs/
|
||||
SR_analysis_report.md # Full analysis report
|
||||
illusion_joint_formula_analysis.md
|
||||
PIPELINE.md # Detailed reproduction guide
|
||||
literature_note.md # Paper writing + literature positioning
|
||||
old/ # Archived historical files
|
||||
```
|
||||
|
||||
## Key Results
|
||||
|
||||
| Scene | Formula | CFD Similarity |
|
||||
|-------|---------|:---:|
|
||||
| Karman cross-Re (joint) | alpha_F = daF_dt - 14.95*mu*Cl_tot | avg 0.847 |
|
||||
| Illusion joint (0.75L+1L) | alpha_F = Cd_tot - Cd_err - 5.43 + 0.01*(du_a_dt+u_a) | 0.978/0.970 |
|
||||
| Vortex lamb (Karman formula) | Karman joint, zero retraining | 0.949 (exceeds PPO) |
|
||||
|
||||
## Environments
|
||||
|
||||
- `pycuda_3_10`: CFD + DRL model loading + visualization (stages 1, 3, 4)
|
||||
- `sr_env`: PySR symbolic regression (stage 2)
|
||||
- GPU: device 2 recommended
|
||||
|
||||
## Documentation
|
||||
|
||||
| File | Content |
|
||||
|------|---------|
|
||||
| `PIPELINE.md` | Full reproduction guide with all commands |
|
||||
| `docs/SR_analysis_report.md` | Complete methodology + results + discussion |
|
||||
| `results/figures/FIGURE_INDEX.md` | All figures with paper-ready captions |
|
||||
| `literature_note.md` | Literature positioning + writing guidance |
|
||||
| `results/README.md` | Formula + validation file index |
|
||||
See `PIPELINE.md` for reproducible commands and `results/README.md` for the exact evidence chain.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
"""Archived SR workflows retained for historical reference."""
|
||||
@@ -0,0 +1 @@
|
||||
"""Archived Stage 4 publication analysis."""
|
||||
+5
-4
@@ -5,7 +5,7 @@ Reads scene_registry.json + results/validations/*.json and produces 6 figures
|
||||
to results/figures/. Also creates FIGURE_INDEX.md.
|
||||
|
||||
Usage:
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.archive.stage4.stage_4_analyze
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -20,7 +20,8 @@ matplotlib.use("Agg")
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.ticker import FuncFormatter
|
||||
|
||||
_REPO = Path(__file__).resolve().parents[1]
|
||||
_SR_ROOT = Path(__file__).resolve().parents[2]
|
||||
_REPO = _SR_ROOT.parents[1]
|
||||
if str(_REPO) not in sys.path:
|
||||
sys.path.insert(0, str(_REPO))
|
||||
_SRC = _REPO / "src"
|
||||
@@ -29,7 +30,7 @@ if str(_SRC) not in sys.path:
|
||||
|
||||
from SR_analysis.configs import get_scene, SCENES
|
||||
|
||||
SR_DIR = Path(__file__).resolve().parent
|
||||
SR_DIR = _SR_ROOT
|
||||
FIG_DIR = SR_DIR / "results" / "figures"
|
||||
VAL_DIR = SR_DIR / "results" / "validations"
|
||||
FIG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
@@ -549,7 +550,7 @@ All numerical values in these figures are derived from:
|
||||
|
||||
To regenerate all figures:
|
||||
```bash
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.archive.stage4.stage_4_analyze
|
||||
```
|
||||
"""
|
||||
path = FIG_DIR / "FIGURE_INDEX.md"
|
||||
+3
-3
@@ -6,14 +6,14 @@ Analyzes PPO policies and SR formulas. Generates FFT spectra, action timeseries,
|
||||
|
||||
```bash
|
||||
# PPO action visualization (timeseries + FFT)
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py --scene illusion_1L --mode ppo-viz
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.archive.stage4.stage_4_analyze --scene illusion_1L --mode ppo-viz
|
||||
|
||||
# Cross-diameter degradation analysis
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py \
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.archive.stage4.stage_4_analyze \
|
||||
--scenes illusion_0.75L,illusion_1L,illusion_1.5L --mode degradation
|
||||
|
||||
# Formula comparison (coming soon)
|
||||
conda run -n pycuda_3_10 python stage_4_analyze.py --scene illusion_1L --mode formula-compare
|
||||
PYTHONPATH=src conda run -n pycuda_3_10 python -m SR_analysis.archive.stage4.stage_4_analyze --scene illusion_1L --mode formula-compare
|
||||
```
|
||||
|
||||
## Modes
|
||||
@@ -0,0 +1 @@
|
||||
"""Pre-fit scientific contract checks."""
|
||||
@@ -0,0 +1,163 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Verify the legacy fluidic-pinball geometry/action/force channel contract."""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Any, Mapping, Sequence
|
||||
|
||||
import numpy as np
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[3]
|
||||
SRC_ROOT = REPO_ROOT / "src"
|
||||
if str(REPO_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(REPO_ROOT))
|
||||
if str(SRC_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(SRC_ROOT))
|
||||
|
||||
from SR_analysis.configs import LEGACY_CFG_DIR, get_scene
|
||||
from SR_analysis.utils.cfd_interface import load_legacy_configs
|
||||
from SR_analysis.utils.provenance import atomic_write_json
|
||||
|
||||
CONTRACT_VERSION = "legacy-pinball-order-v1"
|
||||
BODY_NAMES = ("front", "upper", "lower")
|
||||
|
||||
|
||||
def expected_ledger(scene: str) -> dict[str, Any]:
|
||||
cfg = get_scene(scene)
|
||||
body_ids = tuple(range(int(cfg["n_objects_env"]) - 3, int(cfg["n_objects_env"])))
|
||||
return {
|
||||
"contract_version": CONTRACT_VERSION,
|
||||
"scene": scene,
|
||||
"geometry_order": [
|
||||
{"name": "front", "y_offset_L": 0.0},
|
||||
{"name": "upper", "y_offset_L": 0.75},
|
||||
{"name": "lower", "y_offset_L": -0.75},
|
||||
],
|
||||
"body_object_ids": dict(zip(BODY_NAMES, body_ids)),
|
||||
"sensor_layout": list(cfg["sensor_layout"]),
|
||||
"force_layout": list(cfg["force_layout"]),
|
||||
"action_layout": list(cfg["action_layout"]),
|
||||
"ppo_decoder": {
|
||||
"alpha": "normalized_action * action_scale + action_bias",
|
||||
"action_scale": float(cfg["action_scale"]),
|
||||
"action_bias": list(cfg["action_bias"]),
|
||||
"native_slots": list(body_ids),
|
||||
},
|
||||
"kernel_binding": "action[id_obj] and obs[2*id_obj:2*id_obj+2] share id_obj",
|
||||
}
|
||||
|
||||
|
||||
def _centers_by_id(objects: Mapping[Any, Mapping[str, Any]]) -> list[tuple[float, float, float]]:
|
||||
return [tuple(float(value) for value in objects[key]["center"]) for key in sorted(objects, key=int)]
|
||||
|
||||
|
||||
def verify_runtime_objects(flow_field: Any, scene: str) -> dict[str, Any]:
|
||||
cfg = get_scene(scene)
|
||||
ledger = expected_ledger(scene)
|
||||
centers = _centers_by_id(flow_field.objects)
|
||||
body_ids = [ledger["body_object_ids"][name] for name in BODY_NAMES]
|
||||
body_centers = [centers[index] for index in body_ids]
|
||||
cy = (float(flow_field.FIELD_SHAPE[1]) - 1.0) / 2.0
|
||||
l0 = 20.0
|
||||
expected = [
|
||||
(float(cfg["pinball_front_x"]) * l0, cy, 0.0),
|
||||
(float(cfg["pinball_rear_x"]) * l0, cy + 0.75 * l0, 0.0),
|
||||
(float(cfg["pinball_rear_x"]) * l0, cy - 0.75 * l0, 0.0),
|
||||
]
|
||||
np.testing.assert_allclose(body_centers, expected)
|
||||
ledger["runtime_centers"] = {name: list(center) for name, center in zip(BODY_NAMES, body_centers)}
|
||||
ledger["runtime_verified"] = True
|
||||
return ledger
|
||||
|
||||
|
||||
def impulse_commands(n_objects: int, epsilon: float) -> dict[str, np.ndarray]:
|
||||
if n_objects < 3:
|
||||
raise ValueError("pinball impulse test requires at least three objects")
|
||||
commands: dict[str, np.ndarray] = {}
|
||||
for offset, name in enumerate(BODY_NAMES, start=n_objects - 3):
|
||||
command = np.zeros(n_objects, dtype=np.float32)
|
||||
command[offset] = float(epsilon)
|
||||
commands[name] = command
|
||||
return commands
|
||||
|
||||
|
||||
def build_runtime_environment(scene: str, device: int) -> Any:
|
||||
from LegacyCelerisLab import FlowField
|
||||
|
||||
cfg = get_scene(scene)
|
||||
cuda_cfg, field_cfg = load_legacy_configs(LEGACY_CFG_DIR)
|
||||
field_cfg = field_cfg._replace(viscosity=float(cfg["nu"]))
|
||||
ff = FlowField(field_cfg, cuda_cfg, device_id=device)
|
||||
cy = (ff.FIELD_SHAPE[1] - 1) / 2.0
|
||||
l0 = 20.0
|
||||
if cfg["scene_id"] == "karman":
|
||||
ff.add_cylinder((10.0 * l0, cy, 0.0), l0)
|
||||
for y in (cy + 2 * l0, cy, cy - 2 * l0):
|
||||
ff.add_sensor((float(cfg["sensor_x"]) * l0, y, 0.0), 5.0)
|
||||
ff.add_cylinder((float(cfg["pinball_front_x"]) * l0, cy, 0.0), l0 / 2.0)
|
||||
ff.add_cylinder((float(cfg["pinball_rear_x"]) * l0, cy + 0.75 * l0, 0.0), l0 / 2.0)
|
||||
ff.add_cylinder((float(cfg["pinball_rear_x"]) * l0, cy - 0.75 * l0, 0.0), l0 / 2.0)
|
||||
return ff
|
||||
|
||||
|
||||
def run_impulse_test(scene: str, device: int, epsilon: float, steps: int) -> dict[str, Any]:
|
||||
ff = build_runtime_environment(scene, device)
|
||||
ledger = verify_runtime_objects(ff, scene)
|
||||
n_objects = len(ff.objects)
|
||||
zero = np.zeros(n_objects, dtype=np.float32)
|
||||
warmup = int(4 * ff.FIELD_SHAPE[0] / float(get_scene(scene)["u0"]))
|
||||
ff.run(warmup, zero)
|
||||
ff.get_ddf()
|
||||
ff.save_ddf()
|
||||
responses: dict[str, Any] = {}
|
||||
body_ids = ledger["body_object_ids"]
|
||||
for name, command in impulse_commands(n_objects, epsilon).items():
|
||||
ff.restore_ddf()
|
||||
ff.apply_ddf()
|
||||
ff.run(steps, command)
|
||||
force_pairs = np.asarray(ff.obs, dtype=np.float64).reshape(-1, 2)
|
||||
responses[name] = {
|
||||
"nonzero_action_slots": np.flatnonzero(command).tolist(),
|
||||
"command": float(command[body_ids[name]]),
|
||||
"force_at_commanded_body": force_pairs[body_ids[name]].tolist(),
|
||||
"all_body_forces": {
|
||||
body: force_pairs[index].tolist() for body, index in body_ids.items()
|
||||
},
|
||||
}
|
||||
del ff
|
||||
ledger["impulse_test"] = {
|
||||
"epsilon": float(epsilon),
|
||||
"steps": int(steps),
|
||||
"responses": responses,
|
||||
"interpretation": "slot identity is exact; force magnitude is diagnostic and is not used to infer causality",
|
||||
}
|
||||
return ledger
|
||||
|
||||
|
||||
def build_parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--scene", choices=("karman_re100", "illusion_1L"), required=True)
|
||||
parser.add_argument("--device", type=int, default=2)
|
||||
parser.add_argument("--epsilon", type=float, default=1e-4)
|
||||
parser.add_argument("--steps", type=int, default=10)
|
||||
parser.add_argument("--output", type=Path)
|
||||
parser.add_argument("--source-only", action="store_true")
|
||||
return parser
|
||||
|
||||
|
||||
def main(argv: Sequence[str] | None = None) -> int:
|
||||
args = build_parser().parse_args(argv)
|
||||
document = expected_ledger(args.scene) if args.source_only else run_impulse_test(
|
||||
args.scene, args.device, args.epsilon, args.steps
|
||||
)
|
||||
if args.output:
|
||||
atomic_write_json(args.output.resolve(), document)
|
||||
print(json.dumps(document, indent=2, sort_keys=True))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Verify recorded PPO actions by replaying the policy on causal recorded states."""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any, Sequence
|
||||
|
||||
import numpy as np
|
||||
|
||||
from SR_analysis.configs import get_scene, model_path_for_scene
|
||||
from SR_analysis.stage_1_infer import illusion_observation, load_existing_norm, normalize_raw_observation
|
||||
from SR_analysis.utils.cfd_interface import load_ppo_model
|
||||
from SR_analysis.utils.provenance import atomic_write_json, hash_file
|
||||
|
||||
SCHEMA_VERSION = "sr-policy-replay-parity-v1"
|
||||
|
||||
|
||||
def replay(scene: str, trajectory: Path, *, model_device: str = "cpu") -> dict[str, Any]:
|
||||
cfg = get_scene(scene)
|
||||
norm, norm_path = load_existing_norm(scene, cfg)
|
||||
model_path = model_path_for_scene(scene)
|
||||
if model_path is None:
|
||||
raise FileNotFoundError(f"no PPO model configured for {scene}")
|
||||
model = load_ppo_model(model_path, device=model_device, s_dim=int(cfg["s_dim"]))
|
||||
with np.load(trajectory, allow_pickle=False) as data:
|
||||
sensors = np.asarray(data["sensors"], dtype=np.float64)
|
||||
forces = np.asarray(data["forces"], dtype=np.float64)
|
||||
actions = np.asarray(data["actions_norm" if "actions_norm" in data else "actions"], dtype=np.float64)
|
||||
targets = np.asarray(data["target_forces"], dtype=np.float64) if "target_forces" in data else None
|
||||
|
||||
if len(actions) < 2:
|
||||
raise ValueError("policy replay requires at least two recorded actions")
|
||||
raw = np.column_stack((sensors, forces))
|
||||
predicted = []
|
||||
for index in range(1, len(actions)):
|
||||
state = raw[index - 1]
|
||||
if cfg["scene_id"] == "illusion":
|
||||
if targets is None:
|
||||
raise ValueError("Illusion policy replay requires target_forces")
|
||||
observation = illusion_observation(state, norm, targets[index])
|
||||
else:
|
||||
observation = normalize_raw_observation(state, norm)
|
||||
action, _ = model.predict(observation, deterministic=True)
|
||||
predicted.append(np.asarray(action, dtype=np.float64).reshape(3))
|
||||
|
||||
predicted_array = np.asarray(predicted)
|
||||
recorded = actions[1:]
|
||||
residual = predicted_array - recorded
|
||||
max_abs = np.max(np.abs(residual), axis=0)
|
||||
rmse = np.sqrt(np.mean(residual**2, axis=0))
|
||||
tolerance = 2e-6
|
||||
return {
|
||||
"schema_version": SCHEMA_VERSION,
|
||||
"scene": scene,
|
||||
"status": "passed" if float(np.max(max_abs)) <= tolerance else "failed",
|
||||
"semantics": "recorded post-state i-1 is replayed to predict recorded normalized action i; first action is excluded because its pre-state is not stored",
|
||||
"tolerance": tolerance,
|
||||
"n_compared": int(len(recorded)),
|
||||
"action_layout": list(cfg["action_layout"]),
|
||||
"max_abs_error": max_abs.tolist(),
|
||||
"rmse": rmse.tolist(),
|
||||
"sources": {
|
||||
"trajectory": {"path": str(trajectory), "sha256": hash_file(trajectory)},
|
||||
"model": {"path": str(model_path), "sha256": hash_file(Path(model_path))},
|
||||
"norm": {"path": str(norm_path), "sha256": hash_file(norm_path)},
|
||||
},
|
||||
"interpretation": "This checks policy observation/action wiring without requiring separately initialized CFD trajectories to be pointwise identical.",
|
||||
}
|
||||
|
||||
|
||||
def build_parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--scene", required=True)
|
||||
parser.add_argument("--trajectory", type=Path, required=True)
|
||||
parser.add_argument("--model-device", default="cpu")
|
||||
parser.add_argument("--output", type=Path, required=True)
|
||||
return parser
|
||||
|
||||
|
||||
def main(argv: Sequence[str] | None = None) -> int:
|
||||
args = build_parser().parse_args(argv)
|
||||
report = replay(args.scene, args.trajectory.resolve(), model_device=args.model_device)
|
||||
atomic_write_json(args.output.resolve(), report)
|
||||
print(json.dumps(report, indent=2, sort_keys=True))
|
||||
return 0 if report["status"] == "passed" else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -14,9 +14,13 @@ import os
|
||||
from typing import Any, Dict, List, Optional, Tuple
|
||||
|
||||
# -- Root paths (resolved when configs.py is imported) -----------------------
|
||||
_PROJ = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
||||
MODEL_DIR = os.path.join(_PROJ, "..", "models")
|
||||
LEGACY_CFG_DIR = os.path.join(_PROJ, "..", "configs", "legacy_configs")
|
||||
SR_ANALYSIS_DIR = os.path.abspath(os.path.dirname(__file__))
|
||||
SRC_DIR = os.path.dirname(SR_ANALYSIS_DIR)
|
||||
PROJECT_ROOT = os.path.dirname(SRC_DIR)
|
||||
# Historical private alias retained for callers that imported it.
|
||||
_PROJ = PROJECT_ROOT
|
||||
MODEL_DIR = os.path.join(PROJECT_ROOT, "models")
|
||||
LEGACY_CFG_DIR = os.path.join(PROJECT_ROOT, "configs", "legacy_configs")
|
||||
|
||||
# -- Physics constants -------------------------------------------------------
|
||||
U0 = 0.01 # default inlet velocity (lattice)
|
||||
@@ -28,6 +32,18 @@ NY = 512
|
||||
CENTER_Y = (NY - 1) / 2.0
|
||||
FIFO_LEN = 150
|
||||
CONV_LEN = 30 # default; per-scene conv_len overrides this (Illusion=36)
|
||||
CONTROL_TIME_SCALE_STEPS = 2000 # D_CYL / U0 in lattice steps
|
||||
|
||||
# Native legacy order follows object insertion in the actual environments.
|
||||
SENSOR_LAYOUT = ("upper_ux", "upper_uy", "center_ux", "center_uy", "lower_ux", "lower_uy")
|
||||
BODY_LAYOUT = ("front", "upper", "lower")
|
||||
FORCE_LAYOUT = ("front_fx", "front_fy", "upper_fx", "upper_fy", "lower_fx", "lower_fy")
|
||||
ACTION_LAYOUT = BODY_LAYOUT
|
||||
RAW_LAYOUT = SENSOR_LAYOUT + FORCE_LAYOUT
|
||||
TARGET_SENSOR_SLICE = (0, 6)
|
||||
ILLUSION_TARGET_FORCE_SLICE = (0, 2)
|
||||
ILLUSION_TARGET_SENSOR_SLICE = (2, 8)
|
||||
DTW_VERSION = "legacy_dtw_v1_abs_n_unclipped"
|
||||
|
||||
|
||||
def nu_from_re(re_code: float, u0: float = U0) -> float:
|
||||
@@ -35,6 +51,11 @@ def nu_from_re(re_code: float, u0: float = U0) -> float:
|
||||
return u0 * D_REF / re_code
|
||||
|
||||
|
||||
def control_dt(sample_interval: float, control_time_scale_steps: float = CONTROL_TIME_SCALE_STEPS) -> float:
|
||||
"""Return nondimensional control interval, SI / (D/U0)."""
|
||||
return float(sample_interval) / float(control_time_scale_steps)
|
||||
|
||||
|
||||
# -- Scene definitions -------------------------------------------------------
|
||||
|
||||
# Each scene dict has fields:
|
||||
@@ -115,6 +136,23 @@ SCENES["steady"] = {
|
||||
"target_type": "steady",
|
||||
"s_dim": 12,
|
||||
"u0": U0,
|
||||
"control_time_scale_steps": CONTROL_TIME_SCALE_STEPS,
|
||||
"control_dt": control_dt(800),
|
||||
"fifo_len": FIFO_LEN,
|
||||
"conv_len": CONV_LEN,
|
||||
"sensor_layout": SENSOR_LAYOUT,
|
||||
"body_layout": BODY_LAYOUT,
|
||||
"action_layout": ACTION_LAYOUT,
|
||||
"force_layout": FORCE_LAYOUT,
|
||||
"raw_layout": RAW_LAYOUT,
|
||||
"raw_sensor_slice": TARGET_SENSOR_SLICE,
|
||||
"raw_force_slice": (6, 12),
|
||||
"target_sensor_slice": TARGET_SENSOR_SLICE,
|
||||
"target_force_slice": None,
|
||||
"fifo_init_action": (0.0, 0.0, 0.0),
|
||||
"policy_init_action": (0.0, 0.0, 0.0),
|
||||
"dtw_version": DTW_VERSION,
|
||||
"dtw_lag_channel": 1,
|
||||
}
|
||||
|
||||
# -- Illusion (cylinder imitation, 3 diameters) ----------------------------
|
||||
@@ -243,6 +281,51 @@ for diam, mn, si in [
|
||||
}
|
||||
|
||||
|
||||
# -- Legacy contract completion ---------------------------------------------
|
||||
|
||||
def _complete_legacy_contract(cfg: dict) -> None:
|
||||
"""Add explicit metadata without changing historical fields or values."""
|
||||
scene_id = cfg["scene_id"]
|
||||
if scene_id not in {"karman", "illusion"}:
|
||||
return
|
||||
|
||||
cfg["re_d"] = cfg["re_code"] / 2.0
|
||||
cfg["control_time_scale_steps"] = CONTROL_TIME_SCALE_STEPS
|
||||
cfg["control_dt"] = control_dt(cfg["sample_interval"])
|
||||
cfg["fifo_len"] = FIFO_LEN
|
||||
cfg.setdefault("conv_len", CONV_LEN)
|
||||
cfg["sensor_layout"] = SENSOR_LAYOUT
|
||||
cfg["body_layout"] = BODY_LAYOUT
|
||||
cfg["action_layout"] = ACTION_LAYOUT
|
||||
cfg["force_layout"] = FORCE_LAYOUT
|
||||
cfg["raw_layout"] = RAW_LAYOUT
|
||||
cfg["raw_sensor_slice"] = TARGET_SENSOR_SLICE
|
||||
cfg["raw_force_slice"] = (6, 12)
|
||||
cfg["target_sensor_slice"] = (
|
||||
ILLUSION_TARGET_SENSOR_SLICE if scene_id == "illusion" else TARGET_SENSOR_SLICE
|
||||
)
|
||||
cfg["target_force_slice"] = (
|
||||
ILLUSION_TARGET_FORCE_SLICE if scene_id == "illusion" else None
|
||||
)
|
||||
cfg["fifo_init_action"] = (
|
||||
(0.0, -1.0, 1.0) if scene_id == "illusion" else tuple(cfg["action_bias"])
|
||||
)
|
||||
cfg["policy_init_action"] = cfg["fifo_init_action"]
|
||||
cfg["dtw_version"] = DTW_VERSION
|
||||
cfg["dtw_lag_channel"] = 1
|
||||
|
||||
if scene_id == "illusion":
|
||||
# Legacy add_cylinder takes radius despite the historical diameter name.
|
||||
cfg["target_center_x"] = 20.0
|
||||
cfg["target_center"] = (20.0, CENTER_Y / L0, 0.0)
|
||||
cfg["target_radius"] = cfg["target_diameter"]
|
||||
cfg["target_radius_lattice"] = cfg["target_diameter"] * L0
|
||||
|
||||
|
||||
for _scene_cfg in SCENES.values():
|
||||
_complete_legacy_contract(_scene_cfg)
|
||||
|
||||
|
||||
# -- Utility helpers ---------------------------------------------------------
|
||||
|
||||
def get_scene(name: str) -> dict:
|
||||
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:39:32.938755+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_075L_2U_400S.zip",
|
||||
"model_sha256": "1a2d9f77bd6ac44fe7ebe0fe9255e1474c97939238a0200270954fe71f719526",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-illusion-20260718/illusion/illusion_0.75L",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_0.75L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.013459767680615187,
|
||||
"sens_deviation": [
|
||||
0.9466423392295837,
|
||||
-0.1479361653327942,
|
||||
0.6496055126190186,
|
||||
-0.06913633644580841,
|
||||
0.9421071410179138,
|
||||
0.08593743294477463
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1083030700683594,
|
||||
2.7172951698303223,
|
||||
0.7220026850700378,
|
||||
3.7818100452423096,
|
||||
2.1336052417755127,
|
||||
2.4038033485412598
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_075L_2U_400S.zip",
|
||||
"model_sha256": "1a2d9f77bd6ac44fe7ebe0fe9255e1474c97939238a0200270954fe71f719526",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_0.75L/norm.json",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_0.75L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9780213679370245,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
3.9416146258902704e-05,
|
||||
8.083888512803517e-06,
|
||||
7.8259297225391e-06,
|
||||
7.444669325137454e-06,
|
||||
2.650481928433631e-06
|
||||
],
|
||||
"dc": 0.004288840930288037,
|
||||
"freqs": [
|
||||
0.06666666666666667,
|
||||
0.09333333333333334,
|
||||
0.08666666666666667,
|
||||
0.18000000000000002,
|
||||
0.08
|
||||
],
|
||||
"phases": [
|
||||
0.7540124427379341,
|
||||
-1.808706740982317,
|
||||
1.1476006137783652,
|
||||
1.6512590989501288,
|
||||
1.0813017136850769
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.0011724241253350106,
|
||||
2.705315291989001e-06,
|
||||
2.5632054945621657e-06,
|
||||
1.9131915711276497e-06,
|
||||
1.3943678699705464e-06
|
||||
],
|
||||
"dc": 4.169326712144539e-07,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.02666666666666667,
|
||||
0.04,
|
||||
0.1,
|
||||
0.02
|
||||
],
|
||||
"phases": [
|
||||
-2.3577812321489438,
|
||||
0.6391458229570252,
|
||||
-2.265503747033405,
|
||||
0.43570069935086664,
|
||||
0.5243541447170742
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.2489885040388675,
|
||||
0.03210098144538428,
|
||||
0.030384440489745625,
|
||||
0.00958367379623687,
|
||||
0.005213279199801526
|
||||
],
|
||||
"dc": 1.0451179893811544,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
1.1103723558571972,
|
||||
1.8423551657801926,
|
||||
-3.1355535027285106,
|
||||
-2.5782919322455338,
|
||||
-1.2633346617424976
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3305720031167745,
|
||||
0.08539685324391007,
|
||||
0.0385190706390166,
|
||||
0.021865254179959034,
|
||||
0.007357771642788919
|
||||
],
|
||||
"dc": -0.022074917741119863,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
-0.7133847984074813,
|
||||
-0.4026908612284969,
|
||||
0.8343738694616963,
|
||||
1.3490248554891444,
|
||||
2.2330562888870022
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.07163229134495475,
|
||||
0.008434240998878524,
|
||||
0.0008098102661636355,
|
||||
0.0003771090075918297,
|
||||
0.00035352636858903685
|
||||
],
|
||||
"dc": 0.9039795788129171,
|
||||
"freqs": [
|
||||
0.06666666666666667,
|
||||
0.13333333333333333,
|
||||
0.2,
|
||||
0.08666666666666667,
|
||||
0.09333333333333334
|
||||
],
|
||||
"phases": [
|
||||
-1.6197193338232723,
|
||||
0.45502589602091653,
|
||||
-2.3033617160120254,
|
||||
-0.6336257774708539,
|
||||
-3.049232811380861
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.6375122846399932,
|
||||
0.12728152140142718,
|
||||
0.012378504391920099,
|
||||
0.0015804850101977547,
|
||||
0.0014716918044797723
|
||||
],
|
||||
"dc": -0.00022492741545041402,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.1,
|
||||
0.16666666666666669,
|
||||
0.23333333333333334,
|
||||
0.02666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-0.6326179569707989,
|
||||
1.336743513951696,
|
||||
3.01228107257918,
|
||||
2.0216300775728637,
|
||||
2.6520289818367324
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.24905942483676188,
|
||||
0.03187505826568132,
|
||||
0.030242379554754367,
|
||||
0.009569319724256058,
|
||||
0.005273017386654554
|
||||
],
|
||||
"dc": 1.0452390058835348,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
-2.030970816485462,
|
||||
1.8477546647859373,
|
||||
0.010423750748169737,
|
||||
-2.560726118782934,
|
||||
1.9011052975482974
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.33080869088948045,
|
||||
0.08523425024086101,
|
||||
0.03856791973969837,
|
||||
0.021888225016193145,
|
||||
0.007347291749017247
|
||||
],
|
||||
"dc": 0.021862111476560434,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
-0.713292514035412,
|
||||
2.740949082033163,
|
||||
0.837418113709308,
|
||||
-1.7879991149366732,
|
||||
2.2429923596709345
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_15L_2U",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.5,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.5,
|
||||
"target_radius_lattice": 30.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_15L_2U",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.5,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.5,
|
||||
"target_radius_lattice": 30.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:44:10.797263+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_15L_2U.zip",
|
||||
"model_sha256": "3e115a36d4365cfc70994c9307053aa44d9c3ded8c4312f636520b62862be9b6",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-illusion-20260718/illusion/illusion_1.5L",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_1.5L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.013502256944775581,
|
||||
"sens_deviation": [
|
||||
0.9501011371612549,
|
||||
-0.1168946698307991,
|
||||
0.6514688730239868,
|
||||
0.0026063816621899605,
|
||||
0.9466588497161865,
|
||||
0.1172625869512558
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.11934757232666,
|
||||
2.5621178150177,
|
||||
0.7280007004737854,
|
||||
3.4596621990203857,
|
||||
2.1354496479034424,
|
||||
2.5682904720306396
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_15L_2U",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.5,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.5,
|
||||
"target_radius_lattice": 30.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_15L_2U.zip",
|
||||
"model_sha256": "3e115a36d4365cfc70994c9307053aa44d9c3ded8c4312f636520b62862be9b6",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_1.5L/norm.json",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_1.5L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9380685413642048,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
0.0002593145208769718,
|
||||
0.00013555774253418688,
|
||||
0.00013495714775771432,
|
||||
6.980395318390833e-05,
|
||||
5.5269861879110814e-05
|
||||
],
|
||||
"dc": 0.008455509891112645,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.18000000000000002,
|
||||
0.07333333333333333,
|
||||
0.08666666666666667,
|
||||
0.36000000000000004
|
||||
],
|
||||
"phases": [
|
||||
1.9138979974014636,
|
||||
-3.1233126897188073,
|
||||
-1.236904392081521,
|
||||
1.9254877121068814,
|
||||
0.1298353556235514
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.004410042862580617,
|
||||
0.0008893415120801246,
|
||||
0.0006923634361164468,
|
||||
0.0003907491851769848,
|
||||
0.00037768599220085614
|
||||
],
|
||||
"dc": -5.815988754572269e-05,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.05333333333333334,
|
||||
0.02666666666666667
|
||||
],
|
||||
"phases": [
|
||||
1.2524630875800902,
|
||||
-1.9856661519393908,
|
||||
1.331816078986651,
|
||||
1.3984468632293299,
|
||||
-2.108462214109479
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.39473791484702975,
|
||||
0.07812373736809153,
|
||||
0.06365312495666806,
|
||||
0.05578793977128341,
|
||||
0.04494323306664869
|
||||
],
|
||||
"dc": 0.9446588867902755,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.11333333333333334,
|
||||
0.12000000000000001
|
||||
],
|
||||
"phases": [
|
||||
2.260615488419265,
|
||||
-0.8537155586511778,
|
||||
2.2527336748950324,
|
||||
-3.063008654548352,
|
||||
0.29218667131459247
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.5977098005256445,
|
||||
0.14034942157637617,
|
||||
0.12888913011672254,
|
||||
0.08993838973022406,
|
||||
0.08036452212897999
|
||||
],
|
||||
"dc": -0.09525545587142309,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.08,
|
||||
0.11333333333333334,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
0.36056127401744614,
|
||||
-2.82720001369774,
|
||||
1.2123976016401927,
|
||||
1.1454240756697094,
|
||||
0.38912274684310827
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.08326368756380634,
|
||||
0.04587985149377177,
|
||||
0.024756520022768454,
|
||||
0.02141702906744529,
|
||||
0.018444598865080177
|
||||
],
|
||||
"dc": 0.9157892549037934,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.07333333333333333,
|
||||
0.15333333333333335,
|
||||
0.08666666666666667,
|
||||
0.06666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-0.05233769791529121,
|
||||
3.080770961519612,
|
||||
0.8853688244086093,
|
||||
-0.039849508324659125,
|
||||
3.076363067151665
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.8741199230882291,
|
||||
0.19550568066644888,
|
||||
0.16265409257981334,
|
||||
0.1336506114834541,
|
||||
0.1269247384905412
|
||||
],
|
||||
"dc": -0.023665335749586423,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.11333333333333334,
|
||||
0.12000000000000001,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
0.4463654130128962,
|
||||
-2.7755331237159115,
|
||||
1.4718172123953857,
|
||||
-1.5843887891107975,
|
||||
0.5302492921976192
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.39292160700808704,
|
||||
0.079540287340843,
|
||||
0.0612842837491059,
|
||||
0.057763809861229164,
|
||||
0.044325089175110945
|
||||
],
|
||||
"dc": 0.934531484246254,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.11333333333333334,
|
||||
0.12000000000000001
|
||||
],
|
||||
"phases": [
|
||||
-0.8816538413228083,
|
||||
2.2919156068347846,
|
||||
-0.8919232033681086,
|
||||
0.005956538497457574,
|
||||
-2.750984236179875
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.6087630645329644,
|
||||
0.1308037498368575,
|
||||
0.09692848009841636,
|
||||
0.09368203821989057,
|
||||
0.0771579858674427
|
||||
],
|
||||
"dc": 0.062215093951672316,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.07333333333333333
|
||||
],
|
||||
"phases": [
|
||||
0.3681906174761973,
|
||||
-2.8525744545686225,
|
||||
-1.7575623630090065,
|
||||
0.4606331587384596,
|
||||
1.0755980567082095
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:41:50.510389+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-illusion-20260718/illusion/illusion_1L",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_1L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.01349810091778636,
|
||||
"sens_deviation": [
|
||||
0.9381087422370911,
|
||||
-0.12299147248268127,
|
||||
0.648796796798706,
|
||||
-0.022100985050201416,
|
||||
0.9596271514892578,
|
||||
0.11032649874687195
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1753337383270264,
|
||||
2.5954699516296387,
|
||||
0.707850456237793,
|
||||
3.554702043533325,
|
||||
2.0688724517822266,
|
||||
2.5344114303588867
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group illusion_trained --run-id article-joint-data-illusion-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_1L/norm.json",
|
||||
"run_id": "article-joint-data-illusion-20260718",
|
||||
"scene": "illusion_1L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9812757387688315,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
9.95525576232295e-05,
|
||||
3.062854458070903e-05,
|
||||
1.3442917277488369e-05,
|
||||
1.1594195224550438e-05,
|
||||
1.1332674606193098e-05
|
||||
],
|
||||
"dc": 0.005645080665126443,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.13333333333333333,
|
||||
0.26666666666666666,
|
||||
0.08666666666666667,
|
||||
0.2733333333333334
|
||||
],
|
||||
"phases": [
|
||||
-1.3987741128960087,
|
||||
-0.14617921317235077,
|
||||
1.1206149864146715,
|
||||
1.6305529908100604,
|
||||
-1.712315261017203
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.0021059072380715986,
|
||||
0.0001072786042455763,
|
||||
0.00010704577345347245,
|
||||
5.887771172539229e-05,
|
||||
5.0190303048842245e-05
|
||||
],
|
||||
"dc": 1.577417790637507e-05,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.02666666666666667,
|
||||
0.05333333333333334
|
||||
],
|
||||
"phases": [
|
||||
-0.3398328993468615,
|
||||
-0.29080491774378675,
|
||||
2.7566046303431384,
|
||||
-0.23762089174818304,
|
||||
2.714746291666295
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3146239226288843,
|
||||
0.048104490548155014,
|
||||
0.02379706856237292,
|
||||
0.01833765043922671,
|
||||
0.013599248761509778
|
||||
],
|
||||
"dc": 1.0103612458705902,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
-1.4210505997757181,
|
||||
1.847793032148095,
|
||||
-3.031075979923603,
|
||||
1.7605437654882392,
|
||||
-1.4596841582777982
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.44915320062667263,
|
||||
0.10377397412301913,
|
||||
0.06678149272586904,
|
||||
0.038204045584297346,
|
||||
0.024949908375127946
|
||||
],
|
||||
"dc": -0.0391404936578086,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
3.0395602606613705,
|
||||
0.6607552965105951,
|
||||
-0.3398422181779207,
|
||||
-2.609046860476507,
|
||||
-0.07363307669730089
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.07895319422377668,
|
||||
0.014476546457719106,
|
||||
0.00914226506193232,
|
||||
0.007075297824234122,
|
||||
0.004463113727851041
|
||||
],
|
||||
"dc": 0.9198990468184153,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.16,
|
||||
0.08666666666666667,
|
||||
0.07333333333333333,
|
||||
0.09333333333333334
|
||||
],
|
||||
"phases": [
|
||||
-0.5417908626550348,
|
||||
2.7150365858062173,
|
||||
2.589233496651188,
|
||||
-0.524009247773754,
|
||||
2.5833882013669687
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.7614606041726437,
|
||||
0.17577971193056693,
|
||||
0.040704869372920414,
|
||||
0.03727793388501702,
|
||||
0.02951532233167403
|
||||
],
|
||||
"dc": -0.0050505975137154265,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333,
|
||||
0.12666666666666668
|
||||
],
|
||||
"phases": [
|
||||
3.113587774285551,
|
||||
0.04444146345124639,
|
||||
-0.028405904503340355,
|
||||
3.115253374153316,
|
||||
-3.091502158920583
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3145260975487943,
|
||||
0.048267787638706657,
|
||||
0.024221969215475172,
|
||||
0.018450798636158533,
|
||||
0.013537092346057293
|
||||
],
|
||||
"dc": 1.0102008271217346,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
1.7229918107099456,
|
||||
-1.2652997907663959,
|
||||
-2.6593825064997976,
|
||||
-1.4285406671392833,
|
||||
1.733743280730367
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4518235029867277,
|
||||
0.09818259354399247,
|
||||
0.06939518691080716,
|
||||
0.03690841267867748,
|
||||
0.023821009095001514
|
||||
],
|
||||
"dc": 0.03264622828457504,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
3.0430721485694527,
|
||||
-2.4129819490293962,
|
||||
-0.27109978435044924,
|
||||
0.6040464416290057,
|
||||
3.0821178412302936
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:30:46.602689+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-karman-20260718/karman/karman_re100",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re100",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.019199129194021225,
|
||||
"sens_deviation": [
|
||||
0.8231719732284546,
|
||||
-0.12661591172218323,
|
||||
0.24832786619663239,
|
||||
-0.01064519677311182,
|
||||
0.7844515442848206,
|
||||
0.1161285787820816
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
3.3014419078826904,
|
||||
3.2062995433807373,
|
||||
1.8544995784759521,
|
||||
3.4928226470947266,
|
||||
3.1099960803985596,
|
||||
2.815072774887085
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.18115064725939095,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re100/norm.json",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re100",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9525476844593262
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:33:41.006848+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re200.zip",
|
||||
"model_sha256": "62ceb682fbfcff1119e049d306d3ac05144b780f166c2835d7d01ca719ffad11",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-karman-20260718/karman/karman_re200",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re200",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.02405486349016428,
|
||||
"sens_deviation": [
|
||||
0.761349618434906,
|
||||
-0.10393908619880676,
|
||||
-0.0060332342982292175,
|
||||
-0.01062991376966238,
|
||||
0.7603892087936401,
|
||||
0.08925710618495941
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.458379030227661,
|
||||
2.4950430393218994,
|
||||
0.986889123916626,
|
||||
2.259662389755249,
|
||||
2.737121820449829,
|
||||
2.521576404571533
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.11295380363625826,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re200.zip",
|
||||
"model_sha256": "62ceb682fbfcff1119e049d306d3ac05144b780f166c2835d7d01ca719ffad11",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re200/norm.json",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re200",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9019246985126909
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:36:34.723694+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re400.zip",
|
||||
"model_sha256": "e251240ed1179290345f0331f7e014abb74429ec517039fe5836f5f070352617",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-karman-20260718/karman/karman_re400",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re400",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.030264523811638355,
|
||||
"sens_deviation": [
|
||||
0.8747888207435608,
|
||||
-0.024021463468670845,
|
||||
0.5912007689476013,
|
||||
0.017280835658311844,
|
||||
0.9475194215774536,
|
||||
0.07682034373283386
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
5.08115291595459,
|
||||
5.131664276123047,
|
||||
3.3446834087371826,
|
||||
5.320921897888184,
|
||||
4.4046711921691895,
|
||||
5.202882766723633
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.03504574790598314,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re400.zip",
|
||||
"model_sha256": "e251240ed1179290345f0331f7e014abb74429ec517039fe5836f5f070352617",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re400/norm.json",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re400",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.7772853368207708
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"cfd_device": 0,
|
||||
"cfd_device_logical": 0,
|
||||
"cfd_gpu_name": "Tesla V100-SXM2-16GB",
|
||||
"cfd_gpu_uuid": "GPU-b8c11c01-c91f-aa0b-abf6-dad35085cc76",
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-18T09:27:42.439484+00:00",
|
||||
"cuda_visible_devices": "2",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/article-joint-data-karman-20260718/karman/karman_re50",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re50",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.015911692287772894,
|
||||
"sens_deviation": [
|
||||
0.6078279614448547,
|
||||
-0.04162348061800003,
|
||||
0.07135022431612015,
|
||||
-0.0008823801181279123,
|
||||
0.6027681827545166,
|
||||
0.0418982058763504
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
0.789494514465332,
|
||||
1.1795930862426758,
|
||||
0.18662318587303162,
|
||||
1.1806247234344482,
|
||||
0.8472481369972229,
|
||||
1.2091511487960815
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.19516606600816055,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id article-joint-data-karman-20260718 --device 0 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re50/norm.json",
|
||||
"run_id": "article-joint-data-karman-20260718",
|
||||
"scene": "karman_re50",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9560975831726358
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-20260716 --norm-source existing --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T15:33:13.359477+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-20260716/karman/karman_re100",
|
||||
"run_id": "round1-legacy-20260716",
|
||||
"scene": "karman_re100",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.019199129194021225,
|
||||
"sens_deviation": [
|
||||
0.8231719732284546,
|
||||
-0.12661591172218323,
|
||||
0.24832786619663239,
|
||||
-0.01064519677311182,
|
||||
0.7844515442848206,
|
||||
0.1161285787820816
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
3.3014419078826904,
|
||||
3.2062995433807373,
|
||||
1.8544995784759521,
|
||||
3.4928226470947266,
|
||||
3.1099960803985596,
|
||||
2.815072774887085
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-20260716 --norm-source existing --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T15:30:00.174858+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-20260716/karman/karman_re50",
|
||||
"run_id": "round1-legacy-20260716",
|
||||
"scene": "karman_re50",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.015911692287772894,
|
||||
"sens_deviation": [
|
||||
0.6078279614448547,
|
||||
-0.04162348061800003,
|
||||
0.07135022431612015,
|
||||
-0.0008823801181279123,
|
||||
0.6027681827545166,
|
||||
0.0418982058763504
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
0.789494514465332,
|
||||
1.1795930862426758,
|
||||
0.18662318587303162,
|
||||
1.1806247234344482,
|
||||
0.8472481369972229,
|
||||
1.2091511487960815
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.19782328174062683,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-20260716 --norm-source existing --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re50/norm.json",
|
||||
"run_id": "round1-legacy-20260716",
|
||||
"scene": "karman_re50",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9538252232596278
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_0.75L --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T16:39:59.246257+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_075L_2U_400S.zip",
|
||||
"model_sha256": "1a2d9f77bd6ac44fe7ebe0fe9255e1474c97939238a0200270954fe71f719526",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/illusion/illusion_0.75L",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "illusion_0.75L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.013459767680615187,
|
||||
"sens_deviation": [
|
||||
0.9466423392295837,
|
||||
-0.1479361653327942,
|
||||
0.6496055126190186,
|
||||
-0.06913633644580841,
|
||||
0.9421071410179138,
|
||||
0.08593743294477463
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1083030700683594,
|
||||
2.7172951698303223,
|
||||
0.7220026850700378,
|
||||
3.7818100452423096,
|
||||
2.1336052417755127,
|
||||
2.4038033485412598
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_0.75L --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.2,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_075L_2U_400S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 400,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 0.75,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 0.75,
|
||||
"target_radius_lattice": 15.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_075L_2U_400S.zip",
|
||||
"model_sha256": "1a2d9f77bd6ac44fe7ebe0fe9255e1474c97939238a0200270954fe71f719526",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_0.75L/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "illusion_0.75L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9781681831464758,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
3.8455211793365706e-05,
|
||||
8.275450949679295e-06,
|
||||
8.079411468771617e-06,
|
||||
7.703868459170013e-06,
|
||||
3.4893412287373916e-06
|
||||
],
|
||||
"dc": 0.004289336018264294,
|
||||
"freqs": [
|
||||
0.06666666666666667,
|
||||
0.08666666666666667,
|
||||
0.09333333333333334,
|
||||
0.18000000000000002,
|
||||
0.1
|
||||
],
|
||||
"phases": [
|
||||
-0.09027229604986224,
|
||||
1.1771545263254184,
|
||||
-1.7735084849793448,
|
||||
1.6978693131794365,
|
||||
-1.7975434944250634
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.0011723440153265285,
|
||||
2.8622262322820926e-06,
|
||||
2.3151027134545353e-06,
|
||||
2.1242075647001297e-06,
|
||||
1.604450387313593e-06
|
||||
],
|
||||
"dc": -4.7423382056877015e-07,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.02666666666666667,
|
||||
0.04,
|
||||
0.1,
|
||||
0.02
|
||||
],
|
||||
"phases": [
|
||||
0.3530080939318378,
|
||||
-2.8379714810098675,
|
||||
0.39873349113082845,
|
||||
2.3378598414739864,
|
||||
-2.9400347939224174
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.24895820326360354,
|
||||
0.03191204254867192,
|
||||
0.030453305064819785,
|
||||
0.009513250962316023,
|
||||
0.005321433970164499
|
||||
],
|
||||
"dc": 1.0453963434696198,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
-2.4618486314327845,
|
||||
0.9863940246906102,
|
||||
-1.287471815531323,
|
||||
1.9953239608863989,
|
||||
-0.25503064326534286
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.33085045262917817,
|
||||
0.08517004748666594,
|
||||
0.038583915719320745,
|
||||
0.021846336418179752,
|
||||
0.00737888145588223
|
||||
],
|
||||
"dc": -0.021879322317739328,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
1.9976521164367769,
|
||||
-1.262943768730912,
|
||||
2.687620932707098,
|
||||
-0.3686931534340266,
|
||||
-3.05728661831384
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.0716083026905364,
|
||||
0.00846750552489408,
|
||||
0.0007813395036211814,
|
||||
0.00042612893328348897,
|
||||
0.0003674080876422995
|
||||
],
|
||||
"dc": 0.9041156069437662,
|
||||
"freqs": [
|
||||
0.06666666666666667,
|
||||
0.13333333333333333,
|
||||
0.2,
|
||||
0.060000000000000005,
|
||||
0.09333333333333334
|
||||
],
|
||||
"phases": [
|
||||
-2.482222589272965,
|
||||
-1.265378160509392,
|
||||
1.411428578816568,
|
||||
0.5675569819554193,
|
||||
3.131072391856925
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.6376527910791839,
|
||||
0.12734248975352097,
|
||||
0.012382558510752689,
|
||||
0.001647010727150886,
|
||||
0.0014319508559823516
|
||||
],
|
||||
"dc": 0.00017987216512362162,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.1,
|
||||
0.16666666666666669,
|
||||
0.23333333333333334,
|
||||
0.02666666666666667
|
||||
],
|
||||
"phases": [
|
||||
2.078229108474305,
|
||||
-3.097292180022822,
|
||||
-2.2903972319166037,
|
||||
2.1628352810611506,
|
||||
-0.9135680435394102
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.24900638497594532,
|
||||
0.0320362542669637,
|
||||
0.03024473777928113,
|
||||
0.009611121032916274,
|
||||
0.005279091558057458
|
||||
],
|
||||
"dc": 1.0451870659987132,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
0.6798900741813563,
|
||||
0.9863702478090999,
|
||||
1.8653507401881053,
|
||||
1.9902477027500673,
|
||||
2.8614320188386118
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3306929095087968,
|
||||
0.08548418983500956,
|
||||
0.03861379218924948,
|
||||
0.02194624227154387,
|
||||
0.0074365715362979265
|
||||
],
|
||||
"dc": 0.021999197993427515,
|
||||
"freqs": [
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.1,
|
||||
0.13333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
1.9975600909207532,
|
||||
1.8782427755946722,
|
||||
2.6838143318810674,
|
||||
2.7664213671107905,
|
||||
-3.0717431383539835
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T16:14:04.823052+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/illusion/illusion_1L",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "illusion_1L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.01349810091778636,
|
||||
"sens_deviation": [
|
||||
0.9381087422370911,
|
||||
-0.12299147248268127,
|
||||
0.648796796798706,
|
||||
-0.022100985050201416,
|
||||
0.9596271514892578,
|
||||
0.11032649874687195
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1753337383270264,
|
||||
2.5954699516296387,
|
||||
0.707850456237793,
|
||||
3.554702043533325,
|
||||
2.0688724517822266,
|
||||
2.5344114303588867
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_1L/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "illusion_1L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9712801660298956,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
0.00010205708255214146,
|
||||
3.0248093490965592e-05,
|
||||
1.3150227020475523e-05,
|
||||
1.1607369515791603e-05,
|
||||
1.1036696588396827e-05
|
||||
],
|
||||
"dc": 0.005646450578545531,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.13333333333333333,
|
||||
0.26666666666666666,
|
||||
0.2733333333333334,
|
||||
0.07333333333333333
|
||||
],
|
||||
"phases": [
|
||||
-0.10231600311226928,
|
||||
-0.1972446247801372,
|
||||
1.1108103260960227,
|
||||
-1.6776896410003184,
|
||||
-0.09560354412318577
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.002109026801983347,
|
||||
0.00011012509884861676,
|
||||
0.0001043715603670594,
|
||||
6.192627653273236e-05,
|
||||
4.746673018624633e-05
|
||||
],
|
||||
"dc": 1.715375133547544e-05,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.02666666666666667,
|
||||
0.05333333333333334
|
||||
],
|
||||
"phases": [
|
||||
0.3082920945848423,
|
||||
0.2571952650069411,
|
||||
-2.783781997604738,
|
||||
0.20836688401808104,
|
||||
-2.7312639011375293
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3155440457066763,
|
||||
0.04652979024570437,
|
||||
0.021784389674249973,
|
||||
0.017486323042208485,
|
||||
0.014453075152406385
|
||||
],
|
||||
"dc": 1.0117336698373158,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
-0.766062272072484,
|
||||
-2.520484135313382,
|
||||
-1.676937530529786,
|
||||
2.3813121650836684,
|
||||
-0.7457378774674286
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4500898765242194,
|
||||
0.10334445143259781,
|
||||
0.06606956446349073,
|
||||
0.03843800022276183,
|
||||
0.024089669153800685
|
||||
],
|
||||
"dc": -0.03956304603954777,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-2.5961945770466985,
|
||||
1.9634892656764606,
|
||||
1.6057708007102416,
|
||||
-0.035110790445565206,
|
||||
0.685401354792863
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.07928524671005938,
|
||||
0.01416057863436279,
|
||||
0.008822679738690276,
|
||||
0.0073944904893691555,
|
||||
0.004274967427879971
|
||||
],
|
||||
"dc": 0.9201729357242584,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.16,
|
||||
0.08666666666666667,
|
||||
0.07333333333333333,
|
||||
0.09333333333333334
|
||||
],
|
||||
"phases": [
|
||||
0.7545049238438057,
|
||||
-0.9806295046785551,
|
||||
-2.3116737608204234,
|
||||
0.6756930987832405,
|
||||
-2.21374206436862
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.7624573312055939,
|
||||
0.1752999739049753,
|
||||
0.03981102820306488,
|
||||
0.03817959962818357,
|
||||
0.030035340442593258
|
||||
],
|
||||
"dc": -0.005461694399515788,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333,
|
||||
0.12666666666666668
|
||||
],
|
||||
"phases": [
|
||||
-2.5223017431056736,
|
||||
1.9905492746244613,
|
||||
0.7323723101143929,
|
||||
-2.6324440393725337,
|
||||
-1.0602928926817423
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3153989439537227,
|
||||
0.04648743847198824,
|
||||
0.025715081115708482,
|
||||
0.01769277774751535,
|
||||
0.014536837024573751
|
||||
],
|
||||
"dc": 1.009100293715795,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
2.377859545359567,
|
||||
0.6504773051217484,
|
||||
-1.4310032291911887,
|
||||
-0.7934055658540536,
|
||||
2.4219628545287097
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4510401036131541,
|
||||
0.09796160643556902,
|
||||
0.0700978398942289,
|
||||
0.036773708690719546,
|
||||
0.02297123045471385
|
||||
],
|
||||
"dc": 0.03311382582876831,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
-2.592195908805058,
|
||||
-1.1095158360930863,
|
||||
1.6657355074615787,
|
||||
-3.107414747343894,
|
||||
-2.6551572803892065
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T15:56:10.558872+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/karman/karman_re100",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re100",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.019199129194021225,
|
||||
"sens_deviation": [
|
||||
0.8231719732284546,
|
||||
-0.12661591172218323,
|
||||
0.24832786619663239,
|
||||
-0.01064519677311182,
|
||||
0.7844515442848206,
|
||||
0.1161285787820816
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
3.3014419078826904,
|
||||
3.2062995433807373,
|
||||
1.8544995784759521,
|
||||
3.4928226470947266,
|
||||
3.1099960803985596,
|
||||
2.815072774887085
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.1855554806645312,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re100/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re100",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9454895479138941
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T15:59:17.195761+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re200.zip",
|
||||
"model_sha256": "62ceb682fbfcff1119e049d306d3ac05144b780f166c2835d7d01ca719ffad11",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/karman/karman_re200",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re200",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.02405486349016428,
|
||||
"sens_deviation": [
|
||||
0.761349618434906,
|
||||
-0.10393908619880676,
|
||||
-0.0060332342982292175,
|
||||
-0.01062991376966238,
|
||||
0.7603892087936401,
|
||||
0.08925710618495941
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.458379030227661,
|
||||
2.4950430393218994,
|
||||
0.986889123916626,
|
||||
2.259662389755249,
|
||||
2.737121820449829,
|
||||
2.521576404571533
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.11469697644647159,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re200",
|
||||
"mu": 0.01,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.002,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 200,
|
||||
"re_d": 100.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re200.zip",
|
||||
"model_sha256": "62ceb682fbfcff1119e049d306d3ac05144b780f166c2835d7d01ca719ffad11",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re200/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re200",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.904306268518687
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T16:02:22.388480+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re400.zip",
|
||||
"model_sha256": "e251240ed1179290345f0331f7e014abb74429ec517039fe5836f5f070352617",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/karman/karman_re400",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re400",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.030264523811638355,
|
||||
"sens_deviation": [
|
||||
0.8747888207435608,
|
||||
-0.024021463468670845,
|
||||
0.5912007689476013,
|
||||
0.017280835658311844,
|
||||
0.9475194215774536,
|
||||
0.07682034373283386
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
5.08115291595459,
|
||||
5.131664276123047,
|
||||
3.3446834087371826,
|
||||
5.320921897888184,
|
||||
4.4046711921691895,
|
||||
5.202882766723633
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.03748913974167962,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re400",
|
||||
"mu": 0.005,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.001,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 400,
|
||||
"re_d": 200.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re400.zip",
|
||||
"model_sha256": "e251240ed1179290345f0331f7e014abb74429ec517039fe5836f5f070352617",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re400/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re400",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.7817098527577602
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-16T15:52:57.057404+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/round1-legacy-v2-20260716/karman/karman_re50",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re50",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.015911692287772894,
|
||||
"sens_deviation": [
|
||||
0.6078279614448547,
|
||||
-0.04162348061800003,
|
||||
0.07135022431612015,
|
||||
-0.0008823801181279123,
|
||||
0.6027681827545166,
|
||||
0.0418982058763504
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
0.789494514465332,
|
||||
1.1795930862426758,
|
||||
0.18662318587303162,
|
||||
1.1806247234344482,
|
||||
0.8472481369972229,
|
||||
1.2091511487960815
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.19767691502014098,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --group karman_trained --run-id round1-legacy-v2-20260716 --norm-source existing --model-device cpu --device 2 --steps 200",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re50",
|
||||
"mu": 0.04,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.008,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 50,
|
||||
"re_d": 25.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re50.zip",
|
||||
"model_sha256": "dfd2163b0bf89115303015b010aa5ad5fe95b8f4bd81176a356714a1984445f4",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re50/norm.json",
|
||||
"run_id": "round1-legacy-v2-20260716",
|
||||
"scene": "karman_re50",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.953781367331976
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id trusted-baseline-illusion-1L-20260717 --device 2 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-17T14:30:20.061623+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/trusted-baseline-illusion-1L-20260717/illusion/illusion_1L",
|
||||
"run_id": "trusted-baseline-illusion-1L-20260717",
|
||||
"scene": "illusion_1L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.01349810091778636,
|
||||
"sens_deviation": [
|
||||
0.9381087422370911,
|
||||
-0.12299147248268127,
|
||||
0.648796796798706,
|
||||
-0.022100985050201416,
|
||||
0.9596271514892578,
|
||||
0.11032649874687195
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1753337383270264,
|
||||
2.5954699516296387,
|
||||
0.707850456237793,
|
||||
3.554702043533325,
|
||||
2.0688724517822266,
|
||||
2.5344114303588867
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id trusted-baseline-illusion-1L-20260717 --device 2 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_1L/norm.json",
|
||||
"run_id": "trusted-baseline-illusion-1L-20260717",
|
||||
"scene": "illusion_1L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9720213095199681,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
0.00010196774356419014,
|
||||
3.032701814051478e-05,
|
||||
1.3228762280839473e-05,
|
||||
1.1673375144869918e-05,
|
||||
1.0964842249249103e-05
|
||||
],
|
||||
"dc": 0.0056462297185013695,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.13333333333333333,
|
||||
0.26666666666666666,
|
||||
0.2733333333333334,
|
||||
0.07333333333333333
|
||||
],
|
||||
"phases": [
|
||||
0.03921127148867175,
|
||||
-0.20521784776001037,
|
||||
1.117788657118904,
|
||||
-1.6465117556376254,
|
||||
0.02795306706095781
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.002108351623232651,
|
||||
0.00010962462789660424,
|
||||
0.00010476229400614519,
|
||||
6.123869990851442e-05,
|
||||
4.802141065079675e-05
|
||||
],
|
||||
"dc": 1.7033609062006387e-05,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667,
|
||||
0.02666666666666667,
|
||||
0.05333333333333334
|
||||
],
|
||||
"phases": [
|
||||
0.37869413350756936,
|
||||
0.3173332115115616,
|
||||
-2.7014492558727667,
|
||||
0.2534779505164423,
|
||||
-2.643156573058147
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.31570653803276794,
|
||||
0.046163244835151995,
|
||||
0.02162658867400612,
|
||||
0.0172669656623398,
|
||||
0.01476969869324928
|
||||
],
|
||||
"dc": 1.011843715508779,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
-0.6947432521717131,
|
||||
-2.3064024401768686,
|
||||
-1.5240254680520227,
|
||||
2.451591762128242,
|
||||
-0.6745235757730336
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.45013711146880914,
|
||||
0.10336157533147983,
|
||||
0.06600727530922762,
|
||||
0.03830901014633774,
|
||||
0.024015733278508953
|
||||
],
|
||||
"dc": -0.03963665588370835,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-2.525913116723188,
|
||||
2.104892743012555,
|
||||
1.8181122471584426,
|
||||
0.24481879148524657,
|
||||
0.7715937550294908
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.07926809296790842,
|
||||
0.014154811211794916,
|
||||
0.008844410543414708,
|
||||
0.0073552671239413584,
|
||||
0.004181543938695215
|
||||
],
|
||||
"dc": 0.9201145060857137,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.16,
|
||||
0.08666666666666667,
|
||||
0.07333333333333333,
|
||||
0.09333333333333334
|
||||
],
|
||||
"phases": [
|
||||
0.895994021819374,
|
||||
-0.695178280624656,
|
||||
-2.159387993799781,
|
||||
0.8108673559556853,
|
||||
-2.06819012077892
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.7625183846891965,
|
||||
0.1752750324845121,
|
||||
0.039706341470235294,
|
||||
0.03827810670972904,
|
||||
0.03001636791934177
|
||||
],
|
||||
"dc": -0.0055768885601234315,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333,
|
||||
0.12666666666666668
|
||||
],
|
||||
"phases": [
|
||||
-2.4520050717676893,
|
||||
2.202338653276725,
|
||||
0.8177172306739968,
|
||||
-2.574816071319194,
|
||||
-0.8402515143535457
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.31558575520571946,
|
||||
0.0462242484755283,
|
||||
0.02569259450931368,
|
||||
0.017517897942108,
|
||||
0.01466179958491772
|
||||
],
|
||||
"dc": 1.0089127842585246,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
2.4486066229372128,
|
||||
0.8621504700214153,
|
||||
-1.3026311952152456,
|
||||
-0.724446974046741,
|
||||
2.4986185998985477
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4508230973881,
|
||||
0.0979933577610358,
|
||||
0.07014096184533862,
|
||||
0.036576312657725214,
|
||||
0.022942349526841748
|
||||
],
|
||||
"dc": 0.0331866528155903,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-2.5216190520635173,
|
||||
-0.9665070933349191,
|
||||
1.8736886903806256,
|
||||
-2.8287826555595905,
|
||||
0.6641213742709987
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene karman_re100 --run-id trusted-baseline-karman-re100-20260717 --device 2 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-17T14:26:25.026331+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/trusted-baseline-karman-re100-20260717/karman/karman_re100",
|
||||
"run_id": "trusted-baseline-karman-re100-20260717",
|
||||
"scene": "karman_re100",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.019199129194021225,
|
||||
"sens_deviation": [
|
||||
0.8231719732284546,
|
||||
-0.12661591172218323,
|
||||
0.24832786619663239,
|
||||
-0.01064519677311182,
|
||||
0.7844515442848206,
|
||||
0.1161285787820816
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
3.3014419078826904,
|
||||
3.2062995433807373,
|
||||
1.8544995784759521,
|
||||
3.4928226470947266,
|
||||
3.1099960803985596,
|
||||
2.815072774887085
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.18065288270204463,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene karman_re100 --run-id trusted-baseline-karman-re100-20260717 --device 2 --model-device cpu --steps 200 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re100/norm.json",
|
||||
"run_id": "trusted-baseline-karman-re100-20260717",
|
||||
"scene": "karman_re100",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9533619948248897
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id trusted-parity-stage1-illusion-20260717 --device 2 --model-device cpu --steps 40 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-17T14:13:57.682595+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/trusted-parity-stage1-illusion-20260717/illusion/illusion_1L",
|
||||
"run_id": "trusted-parity-stage1-illusion-20260717",
|
||||
"scene": "illusion_1L",
|
||||
"scene_id": "illusion",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"force_norm_fact": 0.01349810091778636,
|
||||
"sens_deviation": [
|
||||
0.9381087422370911,
|
||||
-0.12299147248268127,
|
||||
0.648796796798706,
|
||||
-0.022100985050201416,
|
||||
0.9596271514892578,
|
||||
0.11032649874687195
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
2.1753337383270264,
|
||||
2.5954699516296387,
|
||||
0.707850456237793,
|
||||
3.554702043533325,
|
||||
2.0688724517822266,
|
||||
2.5344114303588867
|
||||
]
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene illusion_1L --run-id trusted-parity-stage1-illusion-20260717 --device 2 --model-device cpu --steps 40 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-2.0,
|
||||
2.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.3,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 36,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": false,
|
||||
"model_name": "d1a3o14_250525_imit_1L_2U_600S",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 6,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"pinball_front_x": 19.0,
|
||||
"pinball_rear_x": 20.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-1.0,
|
||||
1.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 14,
|
||||
"sample_interval": 600,
|
||||
"scene_id": "illusion",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 30.0,
|
||||
"source": "PPO_inference",
|
||||
"target_center": [
|
||||
20.0,
|
||||
12.775,
|
||||
0.0
|
||||
],
|
||||
"target_center_x": 20.0,
|
||||
"target_diameter": 1.0,
|
||||
"target_force_slice": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"target_radius": 1.0,
|
||||
"target_radius_lattice": 20.0,
|
||||
"target_sensor_slice": [
|
||||
2,
|
||||
8
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/250525/d1a3o14_250525_imit_1L_2U_600S.zip",
|
||||
"model_sha256": "570fbdb08fba1170cbab53de9ede372a9536e0bb8419dda0f0f2db20fd20583d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/illusion/illusion_1L/norm.json",
|
||||
"run_id": "trusted-parity-stage1-illusion-20260717",
|
||||
"scene": "illusion_1L",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9439514846437507,
|
||||
"target_only": false
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"channel_names": [
|
||||
"target_cylinder_fx",
|
||||
"target_cylinder_fy",
|
||||
"sensor_top_ux",
|
||||
"sensor_top_uy",
|
||||
"sensor_center_ux",
|
||||
"sensor_center_uy",
|
||||
"sensor_bottom_ux",
|
||||
"sensor_bottom_uy"
|
||||
],
|
||||
"harmonics": [
|
||||
{
|
||||
"amps": [
|
||||
9.896524272324539e-05,
|
||||
3.270217010752068e-05,
|
||||
1.3227312277965475e-05,
|
||||
1.2543848981281935e-05,
|
||||
1.1587945089095987e-05
|
||||
],
|
||||
"dc": 0.005646179253235459,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.13333333333333333,
|
||||
0.26666666666666666,
|
||||
0.08666666666666667,
|
||||
0.2733333333333334
|
||||
],
|
||||
"phases": [
|
||||
1.6521698259783169,
|
||||
-0.2194277854570294,
|
||||
1.0577465313978591,
|
||||
-1.3370367889098733,
|
||||
-1.6226727170998827
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.002096128010984951,
|
||||
0.00011596305538626617,
|
||||
9.643768836790472e-05,
|
||||
5.838634255822089e-05,
|
||||
4.6525265661515145e-05
|
||||
],
|
||||
"dc": -7.480152538240266e-06,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.04666666666666667,
|
||||
0.03333333333333333,
|
||||
0.05333333333333334,
|
||||
0.02666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-1.9489917996678838,
|
||||
1.2632774854166908,
|
||||
-2.035393858435223,
|
||||
1.3244218313587275,
|
||||
-2.1432460008395715
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3176871363824446,
|
||||
0.04616894933493302,
|
||||
0.024168858643944226,
|
||||
0.01680346091456866,
|
||||
0.015422194312928307
|
||||
],
|
||||
"dc": 1.007818570137024,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-3.0224428062709814,
|
||||
-2.9487512179549316,
|
||||
0.2282638168672656,
|
||||
-3.0310722454581676,
|
||||
0.1252777551444909
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4476750318510778,
|
||||
0.10310320287245037,
|
||||
0.06564826578823499,
|
||||
0.037341700503247185,
|
||||
0.026079817048927274
|
||||
],
|
||||
"dc": -0.036230880088793736,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
1.4386667184552577,
|
||||
-2.4797874123184793,
|
||||
1.1395690268136565,
|
||||
-2.6389547409332357,
|
||||
-1.7295856930453837
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.07932461031001699,
|
||||
0.013153282488351407,
|
||||
0.008790908001969843,
|
||||
0.007511912073189613,
|
||||
0.00410096312687044
|
||||
],
|
||||
"dc": 0.919138089021047,
|
||||
"freqs": [
|
||||
0.08,
|
||||
0.16,
|
||||
0.08666666666666667,
|
||||
0.07333333333333333,
|
||||
0.16666666666666669
|
||||
],
|
||||
"phases": [
|
||||
2.539462585331961,
|
||||
2.604864348660965,
|
||||
-0.654460615742855,
|
||||
2.589552669530259,
|
||||
-0.5650832440467509
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.7597455574742427,
|
||||
0.16954562722942987,
|
||||
0.04161616263670536,
|
||||
0.03513609233486273,
|
||||
0.03471969830763307
|
||||
],
|
||||
"dc": 0.0015289543693264326,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.04666666666666667,
|
||||
0.12666666666666668,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
1.50705513402573,
|
||||
1.5030892775788058,
|
||||
-1.564639488745293,
|
||||
-1.538221973154802,
|
||||
1.4281983790782813
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.3193730467488092,
|
||||
0.046643000483885505,
|
||||
0.023902549697790296,
|
||||
0.018351904772743278,
|
||||
0.013724588911044297
|
||||
],
|
||||
"dc": 1.0139576609929402,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.12000000000000001,
|
||||
0.08,
|
||||
0.03333333333333333,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
0.11830773170808705,
|
||||
0.18705442139226408,
|
||||
0.22195349082173735,
|
||||
0.09392190234217508,
|
||||
-2.9953365615890957
|
||||
]
|
||||
},
|
||||
{
|
||||
"amps": [
|
||||
0.4500198774613176,
|
||||
0.1021275817018489,
|
||||
0.06508205088037668,
|
||||
0.03709764322583649,
|
||||
0.023727545093224195
|
||||
],
|
||||
"dc": 0.03883644153053562,
|
||||
"freqs": [
|
||||
0.04,
|
||||
0.08,
|
||||
0.12000000000000001,
|
||||
0.16,
|
||||
0.04666666666666667
|
||||
],
|
||||
"phases": [
|
||||
1.4270222590490442,
|
||||
0.5863701483399966,
|
||||
1.1146787610401374,
|
||||
0.3225195172689922,
|
||||
-1.4937154896098552
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema_version": "sr-target-harmonics-v2"
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"cfd_device": 2,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene karman_re100 --run-id trusted-parity-stage1-karman-20260717 --device 2 --model-device cpu --steps 40 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"created_utc": "2026-07-17T14:03:52.744099+00:00",
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_device": "cpu",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"output_dir": "/home/frank14f/DynamisLab/src/SR_analysis/data/runs/trusted-parity-stage1-karman-20260717/karman/karman_re100",
|
||||
"run_id": "trusted-parity-stage1-karman-20260717",
|
||||
"scene": "karman_re100",
|
||||
"scene_id": "karman",
|
||||
"schema_version": "sr-stage1-manifest-v2"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"force_norm_fact": 0.019199129194021225,
|
||||
"sens_deviation": [
|
||||
0.8231719732284546,
|
||||
-0.12661591172218323,
|
||||
0.24832786619663239,
|
||||
-0.01064519677311182,
|
||||
0.7844515442848206,
|
||||
0.1161285787820816
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
3.3014419078826904,
|
||||
3.2062995433807373,
|
||||
1.8544995784759521,
|
||||
3.4928226470947266,
|
||||
3.1099960803985596,
|
||||
2.815072774887085
|
||||
]
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"avg_reward_last100": 0.1122341498708183,
|
||||
"command": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python /home/frank14f/DynamisLab/src/SR_analysis/stage_1_infer.py --scene karman_re100 --run-id trusted-parity-stage1-karman-20260717 --device 2 --model-device cpu --steps 40 --norm-source existing",
|
||||
"config": {
|
||||
"action_bias": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"action_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"action_scale": 8.0,
|
||||
"body_layout": [
|
||||
"front",
|
||||
"upper",
|
||||
"lower"
|
||||
],
|
||||
"control_dt": 0.4,
|
||||
"control_time_scale_steps": 2000,
|
||||
"conv_len": 30,
|
||||
"dtw_lag_channel": 1,
|
||||
"dtw_version": "legacy_dtw_v1_abs_n_unclipped",
|
||||
"fifo_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"fifo_len": 150,
|
||||
"force_layout": [
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"has_disturbance": true,
|
||||
"model_name": "d1a3o12_re100",
|
||||
"mu": 0.02,
|
||||
"n_objects_env": 7,
|
||||
"nu": 0.004,
|
||||
"obs_slice": [
|
||||
2,
|
||||
14
|
||||
],
|
||||
"pinball_front_x": 30.0,
|
||||
"pinball_rear_x": 31.3,
|
||||
"policy_init_action": [
|
||||
0.0,
|
||||
-4.0,
|
||||
4.0
|
||||
],
|
||||
"raw_force_slice": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"raw_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy",
|
||||
"front_fx",
|
||||
"front_fy",
|
||||
"upper_fx",
|
||||
"upper_fy",
|
||||
"lower_fx",
|
||||
"lower_fy"
|
||||
],
|
||||
"raw_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"re_code": 100,
|
||||
"re_d": 50.0,
|
||||
"s_dim": 12,
|
||||
"sample_interval": 800,
|
||||
"scene_id": "karman",
|
||||
"sensor_layout": [
|
||||
"upper_ux",
|
||||
"upper_uy",
|
||||
"center_ux",
|
||||
"center_uy",
|
||||
"lower_ux",
|
||||
"lower_uy"
|
||||
],
|
||||
"sensor_x": 40.0,
|
||||
"source": "PPO_inference",
|
||||
"target_force_slice": null,
|
||||
"target_sensor_slice": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"target_type": "periodic",
|
||||
"u0": 0.01
|
||||
},
|
||||
"controlled": true,
|
||||
"git_sha": "ca8ee5f238ee58eaaf48027ad026c35784f76d4d",
|
||||
"metric_id": "legacy_similarity_v1",
|
||||
"model_path": "/home/frank14f/DynamisLab/models/old/d1a3o12_re100.zip",
|
||||
"model_sha256": "148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d",
|
||||
"norm_source": "existing",
|
||||
"norm_source_path": "/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re100/norm.json",
|
||||
"run_id": "trusted-parity-stage1-karman-20260717",
|
||||
"scene": "karman_re100",
|
||||
"schema_version": "sr-stage1-result-v2",
|
||||
"similarity": 0.9193018703204062
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"case_name": "ill_075L_sc",
|
||||
"scene_type": "illusion",
|
||||
"seed": 43,
|
||||
"SI": 400,
|
||||
"conv_len": 36,
|
||||
"action_scale": 12.0,
|
||||
"action_bias": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"u0": 0.01,
|
||||
"l0": 20.0,
|
||||
"s_dim": 14,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"n_objects": 6,
|
||||
"dtw_sim_v5": 0.807,
|
||||
"target_diam": 0.75
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"force_norm_fact": 0.0027,
|
||||
"sens_deviation": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93
|
||||
],
|
||||
"action_bias": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
[
|
||||
{
|
||||
"dc": 0.6880434715747833,
|
||||
"amps": [
|
||||
0.20458854492288428,
|
||||
0.029587454617069717,
|
||||
0.023086505618233506,
|
||||
0.015887573451687485,
|
||||
0.015224800527538423
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.09333333333333334,
|
||||
0.14,
|
||||
0.04,
|
||||
0.05333333333333334
|
||||
],
|
||||
"phases": [
|
||||
0.8052693464963836,
|
||||
0.8585544263338698,
|
||||
1.5640671931988963,
|
||||
0.6910392906444525,
|
||||
-2.216224115427546
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": -0.03409056488269319,
|
||||
"amps": [
|
||||
0.28250401992411595,
|
||||
0.0839014032107188,
|
||||
0.023194630910947703,
|
||||
0.0224081212732497,
|
||||
0.019443415576586083
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.09333333333333334,
|
||||
0.05333333333333334,
|
||||
0.14,
|
||||
0.04
|
||||
],
|
||||
"phases": [
|
||||
-1.1822505843673459,
|
||||
-1.6295483036248934,
|
||||
2.0225321750676226,
|
||||
-1.3294886137563726,
|
||||
-1.2266528328867428
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 0.5679984021186829,
|
||||
"amps": [
|
||||
0.0709233637307587,
|
||||
0.012005284914812347,
|
||||
0.009957602905498198,
|
||||
0.007673219000155801,
|
||||
0.005642999478245448
|
||||
],
|
||||
"freqs": [
|
||||
0.09333333333333334,
|
||||
0.1,
|
||||
0.08666666666666667,
|
||||
0.18666666666666668,
|
||||
0.08
|
||||
],
|
||||
"phases": [
|
||||
-2.9098548394911363,
|
||||
0.2444772386755709,
|
||||
-2.923760907258934,
|
||||
-2.3476370568341025,
|
||||
-2.9384376175358975
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 0.002600441810985406,
|
||||
"amps": [
|
||||
0.4577146477003557,
|
||||
0.07132710651328872,
|
||||
0.03879305754033502,
|
||||
0.031533998376329836,
|
||||
0.023207703607031185
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.14,
|
||||
0.05333333333333334,
|
||||
0.04,
|
||||
0.14666666666666667
|
||||
],
|
||||
"phases": [
|
||||
-1.0453955275913698,
|
||||
0.023733604405332853,
|
||||
2.027674250857449,
|
||||
-0.9668436080107814,
|
||||
2.9974194919092074
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 0.6843333508570989,
|
||||
"amps": [
|
||||
0.2027868050587619,
|
||||
0.03224986194391876,
|
||||
0.023683399224590198,
|
||||
0.017188052917190243,
|
||||
0.014195586293361808
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.09333333333333334,
|
||||
0.14,
|
||||
0.05333333333333334,
|
||||
0.04
|
||||
],
|
||||
"phases": [
|
||||
-2.332747687836994,
|
||||
0.901723727828658,
|
||||
-1.5698392646942605,
|
||||
0.8720854157784957,
|
||||
-2.4095136755460116
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 0.03538458936226865,
|
||||
"amps": [
|
||||
0.28056052556752703,
|
||||
0.08980764376406389,
|
||||
0.025910222962895864,
|
||||
0.025769124827608153,
|
||||
0.018025383425213076
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.09333333333333334,
|
||||
0.14,
|
||||
0.05333333333333334,
|
||||
0.04
|
||||
],
|
||||
"phases": [
|
||||
-1.1738666976140295,
|
||||
1.5542442005746904,
|
||||
-1.3251908712196567,
|
||||
1.914224046821627,
|
||||
-1.1116570339811487
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 0.002806983096525073,
|
||||
"amps": [
|
||||
1.863819876324592e-05,
|
||||
3.4708330705432185e-06,
|
||||
2.39060217225783e-06,
|
||||
1.6423800325272625e-06,
|
||||
1.214928267259123e-06
|
||||
],
|
||||
"freqs": [
|
||||
0.09333333333333334,
|
||||
0.1,
|
||||
0.08666666666666667,
|
||||
0.10666666666666667,
|
||||
0.08
|
||||
],
|
||||
"phases": [
|
||||
1.6786485599243235,
|
||||
-1.430910501668555,
|
||||
1.6430924473318198,
|
||||
-1.4004219000745928,
|
||||
1.6107600770410602
|
||||
]
|
||||
},
|
||||
{
|
||||
"dc": 3.3828392588475254e-06,
|
||||
"amps": [
|
||||
0.0006693090637555961,
|
||||
5.748734281187716e-05,
|
||||
4.546729268385329e-05,
|
||||
2.861502365890377e-05,
|
||||
2.252313774853955e-05
|
||||
],
|
||||
"freqs": [
|
||||
0.04666666666666667,
|
||||
0.05333333333333334,
|
||||
0.04,
|
||||
0.060000000000000005,
|
||||
0.03333333333333333
|
||||
],
|
||||
"phases": [
|
||||
1.2285674314114634,
|
||||
-1.837985680644138,
|
||||
1.1401638162714627,
|
||||
-1.7728251272357027,
|
||||
1.033861654550007
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"case_name": "ill_15L_sc",
|
||||
"scene_type": "illusion",
|
||||
"seed": 43,
|
||||
"SI": 800,
|
||||
"conv_len": 36,
|
||||
"action_scale": 12.0,
|
||||
"action_bias": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"u0": 0.01,
|
||||
"l0": 20.0,
|
||||
"s_dim": 14,
|
||||
"obs_slice": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"n_objects": 6,
|
||||
"dtw_sim_v5": 0.906,
|
||||
"target_diam": 1.5
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"force_norm_fact": 0.0027,
|
||||
"sens_deviation": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"sens_norm_fact": [
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93,
|
||||
0.93
|
||||
],
|
||||
"action_bias": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user