Instructions to use CALM-Dataset/CALM-PPO with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- stable-baselines3
How to use CALM-Dataset/CALM-PPO with stable-baselines3:
from huggingface_sb3 import load_from_hub checkpoint = load_from_hub( repo_id="CALM-Dataset/CALM-PPO", filename="{MODEL FILENAME}.zip", ) - Notebooks
- Google Colab
- Kaggle
You need to agree to share your Hugging Face information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
Please read the following carefully before requesting access.
By requesting access to this model, you confirm that you have read and agree to the model license (CC BY-NC 4.0) and the additional usage terms below.
You agree to:
- Use the model for research, development, and safety-related purposes
- NOT use the model for military, surveillance, or related applications
- NOT use the model in ways that could cause harm to individuals or society
- Respect all applicable laws and regulations
- Use the model in compliance with the CC BY-NC 4.0 license (non-commercial use only)
- Cite CALM and CARD in any resulting work
Log in or Sign Up to review the conditions and access this model content.
CALM-PPO
When a car approaches a speed bump, how much it should slow down is a trade-off. Slowing a lot spares the passengers but costs time; not slowing at all saves time and shakes the car. CALM-PPO is a reinforcement learning policy that makes this decision. For every bump it chooses how deeply to slow down, and the car then eases off before the bump and speeds up again after it.
The policy was trained in simulation, with a half-car model of the vehicle's vertical motion. Comfort is measured with the weighted vertical acceleration of ISO 2631-1, the standard measure of how strongly vibration is felt by a person. The simulator and the other planners that CALM compares against are in the CALM repository.
Files
| File | Content |
|---|---|
PPO_final.zip |
The published policy |
vecnormalize.pkl |
The scaling applied to the policy's inputs |
policy.safetensors |
The same weights in a different, non-executable format |
vecnormalize.json |
The same scaling as plain JSON |
configs/ |
The settings the policy was trained with |
seeds/ |
The four other training runs, each with the same four files |
Use
The policy expects the CALM environment, so it is run through the CALM repository. Place the files in a run folder and evaluate on a scenario:
git clone --recurse-submodules https://github.com/CALM-Dataset/CALM
cd CALM
mkdir -p logs/models/PPO/calm_ppo
cp PPO_final.zip vecnormalize.pkl logs/models/PPO/calm_ppo/
calm eval calm_ppo --scenario c --render
The .zip and .pkl files are in the standard Stable-Baselines3 format. policy.safetensors and vecnormalize.json hold the same weights and scaling in plain formats, for tools that do not load Python pickles. To use them, copy both into the same folder and run calm eval calm_ppo policy.safetensors --scenario c --render.
Training
Training is counted in decisions, one per bump. The policy was trained for 20 000 decisions in four environments running in parallel. Training uses generated roads that get harder in four stages, moving on after 5 000, 10 000 and 15 000 decisions, and 60 % of the training roads are real speed bump crossings from CALM-Scenarios. 14 of the 105 qualified real roads were never used for training.
Training runs
Five policies were trained with identical settings and different random seeds, to check that the result does not depend on luck. For each road, the vibration of the policy's drive is compared with a constant-speed drive of the same duration. A value of -20 % means the policy's passengers feel 20 % less vibration. All values are simulated and averaged over roads; the last column is the average time the policy needs for a road.
| Seed | All 105 roads | 14 roads not used in training | 91 roads used in training | Average trip time |
|---|---|---|---|---|
| 68 | -20.0 % | -23.3 % | -19.5 % | 12.0 s |
| 69 | -19.7 % | -21.8 % | -19.3 % | 11.9 s |
| 70 | -19.8 % | -21.9 % | -19.4 % | 11.9 s |
| 71 | -20.2 % | -23.3 % | -19.7 % | 12.0 s |
| 72 | -20.3 % | -23.3 % | -19.8 % | 12.0 s |
The five runs agree within 0.6 percentage points on all roads, and the roads not used in training do at least as well as the others. The published policy is one of these five runs; the other four are in seeds/.
License
CC BY-NC 4.0. Non-commercial use only. The policy was trained on roads derived from the CARD recordings, which include the non-commercial Italian data.
Citation
Please cite CALM and the CARD recordings the training roads come from.
@misc{calm_dataset,
title = {CALM: Comfort-Aware Longitudinal Motion Planning},
author = {Mohammed El Said Azab Abdelazim},
year = {2026},
url = {https://huggingface.co/CALM-Dataset}
}
@inproceedings{elazab2025card,
title = {CARD: A Multi-Modal Automotive Dataset for Dense 3D Reconstruction in Challenging Road Topography},
author = {Elazab, Gasser and Neuhaus, Frank and Ko{\ss}, Tilman and Splietker, Malte and Date, Aditya and Unterreiner, Michael and Jansen, Maximilian and Hellwich, Olaf},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2026},
eprint = {2605.05014},
archivePrefix = {arXiv}
}
- Downloads last month
- 241