16. Wheelly Session Pipeline - m-marini/wheellyj GitHub Wiki
Wheelly Session Pipeline
This batch script automates the Wheelly session workflow, from robot session execution and KPI collection to final report generation.
Overview
The pipeline performs the following stages:
- Load the execution configuration.
- Clean previous execution outputs.
- Run a Wheelly robot session.
- Generate report data.
- Create the final report using GNU Octave.
The workflow ensures that each execution starts from a clean output state by removing previous KPI, CSV, and report directories.
Prerequisites
Before running the script, ensure that:
- The project has been built.
- Java is installed and available.
- GNU Octave is installed.
- The configuration script
bin/setConfig.cmdis correctly configured. - All required environment variables are defined.
- The Wheelly application dependencies are available.
Configuration Variables
The pipeline uses the following configuration variables, initialized by:
bin\setConfig.cmd
| Variable | Description |
|---|---|
INFERENCE |
Output directory containing inference data generated by the Wheelly session. |
KPIS |
Output directory containing session metrics and KPIs. |
CSVS |
Output directory containing CSV report data. |
REPORT |
Output directory containing generated reports. |
Pipeline Stages
1. Load Configuration
The script starts by loading all required configuration variables.
call bin\setConfig.cmd
2. Clean Previous Results
Before starting a new session, previous execution artifacts are removed.
rmdir /S /Q %KPIS%
rmdir /S /Q %CSVS%
rmdir /S /Q %REPORT%
The following directories are cleared:
| Directory | Content |
|---|---|
KPIS |
Session metrics and KPI files. |
CSVS |
CSV files generated for reporting. |
REPORT |
Previously generated reports. |
3. Run Wheelly Session
The main Wheelly application is executed using:
org.mmarini.wheelly.apps.Wheelly
Command:
call bin\runnit.cmd org.mmarini.wheelly.apps.Wheelly ^
-k %KPIS% ^
-w ^
Parameters:
| Option | Description |
|---|---|
-k |
KPI output directory. |
-w |
Enable multi-window panels. |
The execution runs the Wheelly robot session, generates inference data in INFERENCE, and stores KPI metrics in KPIS.
4. Generate Report Data
After the session completes, the reporting utility extracts the metrics and generates CSV files.
call bin\report.cmd -p %KPIS% %CSVS%
The generated files are stored in:
CSVS
5. Generate Final Report
The final report is created using GNU Octave.
octave/dlReport.m
The script reads the generated CSV files and produces the final report.
Generated Artifacts
After a successful execution, the following artifacts are available:
- Generated inference data (
INFERENCE) - Session KPI data (
KPIS) - Report CSV files (
CSVS) - Final report generated by
octave/dlReport.m
Execution Flow
The following diagram illustrates the sequence of operations performed by the pipeline.
flowchart TD
START([Start])
CFG["Load Configuration"]
CLEAN["Remove Previous Results"]
SESSION["Run Wheelly Session"]
REPORT["Generate Report Data"]
OCTAVE["Run dlReport.m"]
END([End])
START --> CFG
CFG --> CLEAN
CLEAN --> SESSION
SESSION --> REPORT
REPORT --> OCTAVE
OCTAVE --> END
Data Flow
The following diagram illustrates how data and generated artifacts move through the pipeline.
flowchart LR
INF[(Generated Inference Data)]
KPI[(Session KPIs)]
CSV[(CSV Reports)]
REP[(Final Report)]
WHEELY["Wheelly Application"]
RPT["report.cmd"]
OCT["dlReport.m"]
WHEELY --> INF
WHEELY --> KPI
KPI --> RPT
RPT --> CSV
CSV --> OCT
OCT --> REP
Release
Current release: 0.26.0