Skip to content

This repository contains experimental datasets, processing scripts, and identified models for benchmarking two Disturbance Observer (DOB) force controllers implemented on the IC2D linear motion platform.

License

Notifications You must be signed in to change notification settings

leggedrobotics-usp/ic2d-dob-force-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: CC BY 4.0

Experimental Data for Load-independent Metrics for Benchmarking Force Controllers

This repository contains experimental datasets and scripts for identifying and validating models of two Disturbance Observer (DOB) controllers tested on the IC2D bench test.
The data include raw experimental logs, processed .mat files, and the identified models used for performance analysis and metric computation.

📁 Repository Structure

📦 ic2d-dob-force-benchmark/
│
├── 📁 experimental_logs/        # Raw CSV logs + Python scripts for conversion to .mat
│├── controller_DOB1/
│└── controller_DOB2/
│
├── 📁 processed_mat_files/      # Compiled .mat datasets for each test condition
│├── controller_DOB1/
│└── controller_DOB2/
│
├── 📁 results/                  # Final identified models and transfer functions
│└── 📁 ID_models/
│   ├── controller_DOB1/
│   └── controller_DOB2/
│
├── 📁 scripts/                  # MATLAB functions and scripts for ID and analysis
│   ├── 📁 model_ID/             # System identification and validation
│   └── 📁 metrics/              # Metrics calculation
│
└── README.md

Experimental Setup Video

A short demonstration of the IC2D setup used for the experiments, showing the sinusoidal reference tracking tests.

Watch the video

⚙️ Dependencies

All scripts were developed and tested using:

  • MATLAB R2024b or newer
  • Toolboxes:
    • System Identification Toolbox
    • Control System Toolbox
    • Signal Processing Toolbox (optional, for data pre-processing)

🔁 How to Reproduce Results

The complete pipeline from experimental logs to final metrics is summarized below:

1) Convert Raw Logs to .mat

Each folder in experimental_logs/controller_DOBx/ contains:

  • 10 .csv files (raw logs for each repetition)
  • One Python script (read_data.py) that merges them into a single .mat file.

Run:

  python read_data.py

Output: processed_mat_files/controller_DOBx/<test_name>.mat`

2) Identify Dynamic Models

Use the MATLAB script:

  sripts/model_ID/model_ID.m

This script:

  • Loads the .mat datasets from processed_mat_files/

  • Runs model identification routines using helper functions in model_ID/

  • Produces:

    • Environment models (Y_*.mat)
    • System models (Z_*.mat)

Output:

`results/ID_models/controller_DOBx/*.mat`

3) Validate Identified Models

Run:

scripts/model_ID/ID_validation.m

This script:

  • Loads the identified transfer functions.
  • Simulates and compares model responses with experimental step data.
  • Generates validation plots (ValidationID_Step_DOB.pdf) and TFs_Final.mat.

Output:

`results/ID_models/controller_DOBx/TFs_Final.mat`

4) Compute Metrics

Run:

scripts/metrics/Metrics.m

This step:

  • Loads the final transfer functions (TFs_Final.mat).
  • Computes performance and stability metrics
  • Saves summary results and figures.

📊 Outputs

  • Identified models per controller: results/ID_models/controller_DOBx/
  • Validation plots and figures: generated by ID_validation.m
  • Metric evaluations and performance comparisons: scripts/metrics/

🧠 Authors

Elisa G. Vergamini, Victor Shime, Cícero Zanette, Lucca Maitan, Leonardo F. dos Santos and Matheus A. do Carmo Alves.

Legged Robotics Group


Free to use, modify, and distribute with proper attribution.

About

This repository contains experimental datasets, processing scripts, and identified models for benchmarking two Disturbance Observer (DOB) force controllers implemented on the IC2D linear motion platform.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published