Skip to content

Repository files navigation

PAST-Mixer

Official source release for PAST-Mixer: Observable Kinematic-State Mixing for Open-Loop Long-Horizon Ballistic Trajectory Prediction.

PAST-Mixer maps a short tracked Cartesian trajectory to a complete future trajectory. The released mainline constructs causal position--velocity--acceleration descriptors from the observed prefix, applies pre-normalized temporal and channel mixing, and predicts horizon-wide displacements anchored at the last observation.

Release scope

This repository contains the model, training and evaluation pipeline, paper configuration, unit tests, and a non-operational synthetic smoke-test generator. It intentionally excludes local datasets, checkpoints, generated result arrays, internal archives, candidate architectures, and third-party baseline snapshots.

The manuscript benchmark uses controlled representative projectile-class simulation and is not field telemetry, an exact firing-table reconstruction, or an operational deployment study. The parameterized benchmark generator and generated benchmark data are not included in this source-only release. The demo data produced below verify the software interface only and must not be used to reproduce or reinterpret the manuscript results.

Paper protocol

  • Input: 100 tracked Cartesian samples at 0.01 s (1 s).
  • Output: the next 1000 clean Cartesian positions (10 s).
  • Model: 3 mixer blocks, model dimension 256, feed-forward dimension 512.
  • Training seeds: 2021, 2022, and 2023.
  • Evaluation: RMSE, ADE, and FDE in meters.

The machine-readable settings are in configs/paper_protocol.json.

Installation

python -m venv .venv
python -m pip install -r requirements-dev.txt

Python 3.10 or later is recommended. GPU execution is optional.

Software smoke test

Generate a small generic dataset and run one CPU epoch:

python scripts/generate_demo_data.py --output data/demo --seq-len 16 --pred-len 32
python run.py --dataset_dir data/demo --seq_len 16 --pred_len 32 --dt 0.1 --d_model 16 --d_ff 32 --e_layers 1 --batch_size 8 --train_epochs 1 --patience 1 --use_gpu 0 --model_id software_demo

This command writes ignored artifacts under checkpoints/ and results/. It is a software check, not a paper benchmark.

Run the unit tests with:

pytest

Compatible dataset format

Each split is a PyTorch file named train.pt, val.pt, or test.pt containing:

  • X: a float tensor or NumPy array with shape (N, T, 3);
  • X_observed (optional): tracked observations with shape (N, T_obs, 3).

Place a protocol_manifest.json in the same directory. The loader computes normalization statistics from train.pt only.

Manuscript evidence boundary

The numerical results reported in the manuscript were obtained from the fixed three-seed paper protocol, not from the demo generator. Across those runs, the manuscript reports RMSE, ADE, and FDE reductions of 14.72%, 27.26%, and 24.51%, respectively, relative to the strongest matched Transformer baseline. These values are reported for provenance and are not regenerated by the source-only demo.

Citation

The manuscript is under review. Citation metadata will be updated with the final bibliographic record after publication; see CITATION.cff.

License

The source code in this repository is released under the MIT License.

About

Official PAST-Mixer implementation for open-loop long-horizon ballistic trajectory prediction

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages