CoolFace
Datasetpublic

Forgis/Mechanical-Components

Mechanical Components Vibration Dataset Comprehensive multi-source mechanical vibration dataset for training cross-component fault diagnosis and prognostics models. Designed for the Mechanical-JEPA project. Total: ~12,000+ samples | 9.5 GB | 16 sources | 5 component types Quick Start from datasets import load_dataset bearings = load_dataset("Forgis/Mechanical-Components", "bearings", split="train") gearboxes = load_dataset("Forgis/Mechanical-Components"… See the full description on the dataset page: https://huggingface.co/datasets/Forgis/Mechanical-Components.

sourceHugging Facemitupdated 6mo agoView on Hugging Face
2likes580downloads
Dataset Card

Mechanical Components Vibration Dataset

Comprehensive multi-source mechanical vibration dataset for training cross-component fault diagnosis and prognostics models. Designed for the Mechanical-JEPA project.

Total: ~12,000+ samples | 9.5 GB | 16 sources | 5 component types

Quick Start

python
from datasets import load_dataset

bearings = load_dataset("Forgis/Mechanical-Components", "bearings", split="train")
gearboxes = load_dataset("Forgis/Mechanical-Components", "gearboxes", split="train")
sources = load_dataset("Forgis/Mechanical-Components", "source_metadata", split="train")

Two-Level Schema

source_metadata (16 entries): One row per source dataset with constant properties. bearings/gearboxes configs: Per-sample data linked via source_id foreign key.

Dataset Sources

Bearings (~10,000 samples from 10 sources)

SourceSamplesComponentSensorsUnique Value
CWRU40Ball bearingVibrationStandard benchmark
MFPT20Ball bearingVibrationVariable load
FEMTO3,569Ball bearingVibration, temperatureRun-to-failure (RUL)
Mendeley280Ball bearingVibrationSpeed transitions (action-conditioning)
XJTU-SY1,370Ball bearingVibrationRun-to-failure (RUL)
IMS/NASA1,256Ball bearingVibrationRun-to-failure (RUL)
Paderborn384Ball bearingVibration, currentReal + artificial faults
MAFAULDA800Shaft+bearingVibration, acoustic, tachometerImbalance, misalignment (shaft faults!)
Ottawa180Ball bearingVibration, acousticCage faults, 3 health stages
SCA Pulp Mill2,663Industrial bearingVibrationReal industrial data
VBL-VA001800Shaft+bearingVibration (triaxial)Misalignment, unbalance
SEU140Drivetrain bearing8-ch (motor+gearbox)Cross-component rig

Gearboxes (~1,225 samples from 4 sources)

SourceSamplesComponentSensorsUnique Value
OEDI20Spur gearVibration (4-ch)Healthy vs gear crack
PHM 2009109Spur gearVibration, tachometerChallenge data
MCC5-THU956Spur gearVibrationSpeed/load transitions
SEU140Planetary+parallel8-ch (motor+gearbox)Cross-component rig

Component Types Covered

ComponentSourcesFault Types
BearingsCWRU, MFPT, FEMTO, Mendeley, XJTU-SY, IMS, Paderborn, Ottawa, SCAinnerrace, outerrace, ball, cage, compound, degrading
GearsOEDI, PHM2009, MCC5-THU, SEUgearcrack, gearwear, missingtooth, toothbreak
ShaftsMAFAULDA, VBL-VA001imbalance, misalignmenthorizontal, misalignmentvertical
DrivetrainsSEUCombined motor+gearbox+bearing from single rig
IndustrialSCA Pulp MillNaturally occurring faults in real machinery

Sensor Modalities

ModalitySourcesChannels
Vibration (accelerometer)All 161-8 channels per sample
Motor currentPaderborn, Mendeley (partial)2-3 phase current
Acoustic (microphone)MAFAULDA, Ottawa1 channel
TachometerMAFAULDA, PHM2009, OEDI1 channel
TemperatureFEMTOScalar in slow_signals
TorqueSEU, MCC5-THU1 channel

Key Features

  • 412 transition samples for action-conditioning (Mendeley speed ramps + MCC5-THU speed/load transitions)
  • Episode/RUL fields for prognostics (FEMTO, XJTU-SY, IMS, SCA)
  • Real industrial data from SCA pulp mill (not lab)
  • Shaft faults (imbalance, misalignment) from MAFAULDA and VBL-VA001
  • Acoustic data from MAFAULDA and Ottawa (microphone alongside accelerometer)
  • Cross-component drivetrain data from SEU (motor+gearbox+bearing on single rig)

Per-Sample Schema

python
{
    "source_id": "cwru",            # FK to source_metadata
    "sample_id": "cwru_105",
    "signal": [[0.1, 0.2, ...]],    # (n_channels, signal_length)
    "n_channels": 2,
    "channel_names": ["DE_accel", "FE_accel"],
    "channel_modalities": ["vibration", "vibration"],
    "health_state": "faulty",       # healthy | faulty | degrading
    "fault_type": "inner_race",
    "fault_severity": None,
    "rpm": 1750,
    "load": 2.0,
    "load_unit": "hp",
    "episode_id": None,             # For run-to-failure
    "episode_position": None,       # 0.0 to 1.0
    "rul_percent": None,            # Remaining useful life
    "is_transition": False,         # Speed/load change
    "transition_type": None,        # ramp_speed | ramp_load
}

v2 Training-Ready Config (Planned)

A standardized config for direct model training:

  • Fixed sampling rate: 12,800 Hz
  • Fixed window: 16,384 samples (1.28 seconds)
  • Vibration-only (single modality)
  • Per-sample instance normalization
  • Source-disjoint train/val/test splits

v2 Training-Ready Config (LIVE)

Standardized for direct model training. All sources resampled to common format.

python
# Load training-ready data (all splits in one, filter by 'split' column)
v2 = load_dataset("Forgis/Mechanical-Components", "v2_train", split="train")
v2_train = v2.filter(lambda x: x["split"] == "train")  # 20,143 samples
v2_val = v2.filter(lambda x: x["split"] == "val")      # 1,332 samples
v2_test = v2.filter(lambda x: x["split"] == "test")    # 6,363 samples
ParameterValue
Sampling rate12,800 Hz
Window length16,384 samples (1.28 seconds)
Channels1 (primary vibration)
NormalizationPer-sample instance norm
SplitsSource-disjoint (train/val/test)

Train (12 sources): CWRU, MFPT, FEMTO, XJTU-SY, IMS, OEDI, PHM2009, MCC5-THU, SEU, MAFAULDA, VBL, SCA-train Val (2 sources): Paderborn, Ottawa Test (2 sources): Mendeley, SCA-test

Citations

Please cite the original datasets. See source_metadata config for full citations per source.