2. Scope
This RFC covers:
- The standard export structure for RS3-generated datasets
- Mapping between RS3 simulation variables and Telemachus field groups
- Quality control and noise injection strategies
- Validation workflow to produce certified Telemachus-compatible datasets
It does not cover RS3’s internal physics or simulation engine, only its output interface.
3. Relationship to Other RFCs
| RFC | Title | Dependency |
|---|---|---|
| RFC-0001 | Telemachus Core 0.2 | Core schema for all telemetry fields |
| RFC-0003 | Dataset Specification 0.2 | Dataset manifest and structure |
| RFC-0004 | Extended FieldGroups Schema | Vehicle and energy fields |
| RFC-0007 | Validation Framework | Dataset validation rules |
| RFC-0010 | Synthetic Data Quality & Noise Models | Noise and realism modeling |
4. Pipeline Overview
The RS3 → Telemachus pipeline follows four sequential stages:
graph TD
A["RS3 Simulation Engine"] --> B["RS3 Exporter"]
B --> C["Telemachus Mapper"]
C --> D["Validator (telemachus‑py)"]
D --> E["Dataset Publication (Zenodo & GitHub)"]
Fallback (text-only):
RS3 Simulation Engine -> RS3 Exporter -> Telemachus Mapper -> Validator (telemachus-py) -> Dataset Publication (Zenodo/GitHub)
- Simulation Engine — Generates raw signals (IMU, GNSS, vehicle dynamics).
- Exporter — Converts simulation logs into structured CSV or Parquet files.
- Mapper — Translates RS3 variable names to Telemachus schema fields.
- Validator — Runs consistency checks and produces a dataset manifest.
5. File and Directory Structure
rs3_out/
├── raw/
│ ├── imu.csv
│ ├── gps.csv
│ ├── vehicle.csv
│ └── env.csv
├── mapped/
│ ├── samples.csv
│ └── dataset.json
├── logs/
│ └── rs3_run.log
└── out/
└── 2025-10-13-v0.2/
├── samples.csv
└── dataset.json
6. RS3 to Telemachus Field Mapping
| RS3 Field | Telemachus Field | Unit | Description |
|---|---|---|---|
gps_lat | position.lat | deg | Latitude |
gps_lon | position.lon | deg | Longitude |
speed_ms | speed.mps | m/s | Vehicle speed |
yaw_deg | heading.deg | ° | Vehicle heading |
accel_x_ms2 | accel.long_ms2 | m/s² | Longitudinal acceleration |
accel_y_ms2 | accel.lat_ms2 | m/s² | Lateral acceleration |
engine_rpm | engine.rpm | rpm | Engine speed |
fuel_level_pct | fuel.level_pct | % | Remaining fuel |
odometer_km | odometer.total_km | km | Total distance traveled |
battery_soc | energy.battery_level_pct | % | Battery state of charge |
Mapping files are stored under:
rs3/mappings/telemachus_v0.2.yaml
7. Dataset Generation Workflow
- Run RS3 simulation with configuration file:
python -m rs3 run --config configs/urban_day.yaml --out rs3_out/ - Convert simulation output to Telemachus:
python -m rs3.export.telemachus --input rs3_out/raw --output rs3_out/mapped - Validate generated dataset:
telemachus validate --dataset rs3_out/mapped --level strict - Publish validated dataset:
telemachus dataset publish --input rs3_out/mapped --to zenodo
8. Quality Control and Noise Injection
RS3 supports several noise models that improve realism:
| Model | Description | Parameter |
|---|---|---|
| Gaussian | Random white noise added to sensor readings | σ (standard deviation) |
| Bias Drift | Slowly varying sensor offset | drift rate (°/s, m/s²) |
| Quantization | Simulates ADC quantization | resolution bits |
| Delay | Simulated communication delay | latency (ms) |
All parameters are stored in the dataset manifest under:
"simulation": {
"noise_model": "gaussian",
"noise_parameters": {"sigma_accel": 0.02, "sigma_gyro": 0.01}
}
9. Validation Rules
Datasets exported from RS3 must pass:
- JSON schema validation (RFC-0003)
- Alignment tolerance tests (RFC-0007)
- Sampling rate consistency (10 Hz ± 0.1 Hz)
- Metadata completeness (
version,source,description,license)
If any check fails, a warning or error is raised in the validation report.
10. Example Dataset Manifest
{
"version": "0.2",
"schema": "https://telemachus3.github.io/telemachus-spec/schema/dataset.schema.json",
"created_at": "2025-10-13T09:30:00Z",
"records": 86400,
"sampling_rate_hz": 10.0,
"sources": ["RS3"],
"description": "Urban driving scenario with synthetic IMU and GNSS data",
"license": "CC-BY-4.0",
"simulation": {
"engine": "RS3 core2",
"noise_model": "gaussian",
"noise_parameters": {"sigma_accel": 0.02, "sigma_gyro": 0.01}
},
"contact": "sebastien.edet@telemachus.org"
}
11. Integration with Validation Tools
The RS3 pipeline integrates directly with telemachus-py:
- Exposes CLI commands for dataset export and validation
- Provides metadata enrichment (
simulationblock) - Supports auto-checks for monotonic timestamps and alignment
Each validated dataset includes a checksum.md5 and a VALIDATED: true tag.
12. Publication and Reproducibility
Certified datasets can be published under the Telemachus Datasets organization:
- GitHub (
telemachus3/telemachus-datasets) - Zenodo with DOI and version tag
- Metadata aligned with
dataset.json
Each dataset must include:
- RS3 configuration file (
configs/*.yaml) - Validation report (
out/validation.json) - License and citation info (
LICENSE,CITATION.cff)
13. Future Extensions
- Multi-vehicle and traffic scenario simulation
- Real-time RS3 → Telemachus streaming adapter
- Integration with OpenTelemetry metrics (RFC-0014)
- Support for RS3 plugin ecosystem (altitude, weather, fleet)
- Hybrid datasets combining simulated + real GNSS data
14. References
- RFC-0001 — Telemachus Core 0.2
- RFC-0003 — Dataset Specification 0.2
- RFC-0004 — Extended FieldGroups Schema
- RFC-0007 — Validation Framework & CLI Rules
- RFC-0010 — Synthetic Data Quality & Noise Models
- RS3 Project — https://github.com/SebE585/RoadSimulator3
- Telemachus Datasets — https://github.com/telemachus3/telemachus-datasets
15. Conclusion
This RFC defines a reproducible integration pipeline between RS3 and Telemachus, enabling the automatic generation of validated, standard-compliant datasets.
By bridging physical simulation and open data standards, it ensures that synthetic data can serve as a scientific and industrial reference for mobility and telematics research.