This repository contains the implementation of DeLeRA (Deep Learning-based Risk Assessment), a framework designed to identify and classify operational faults in the Franka Emika Panda manipulator using spatio-temporal deep learning models. By representing the robotic arm as a graph and analyzing joint-state dynamics, DeLeRA provides high-accuracy risk assessment across various failure modes.
- uv (Python package/project manager)
- Python 3.10+ (uv will install this automatically if needed)
- Install dependencies:
uv sync- Activate the environment (optional —
uv runhandles this automatically):
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # WindowsPrepare the dataset by converting raw bag files into a usable format.
uv run preprocess.pyAdjust config.py
- Set your desired model (e.g., STGATLSTM)
- To train the model from scratch, set
train_flag = "fresh". - To resume training from a checkpoint, set
train_flag = "continue". - To evaluate the model, set
train_flag = "eval". - Choose the path to save the model and output images.
Run using
uv run main.pyThe hyperparameters can be tuned using hptune.py script.
uv run hptune.pyNote: This uses wandb for logging the results. Make sure to set the API_key in terminal before running. Follow instructions here
- Hyperparameters tuning results
- Classification report for ST-GAT model
| Class | Precision | Recall | F1-Score | Support |
|---|---|---|---|---|
| no fe | 0.98 | 0.95 | 0.97 | 72,172 |
| ctrl fail | 0.89 | 0.97 | 0.93 | 5,114 |
| crit acc | 0.96 | 0.97 | 0.96 | 29,599 |
| pick fail | 0.89 | 0.99 | 0.94 | 9,762 |
| rel fail | 0.90 | 0.99 | 0.94 | 101 |
| collision | 0.85 | 1.00 | 0.92 | 2,034 |
| thrown | 0.95 | 0.99 | 0.97 | 3,938 |
| Accuracy | 0.96 | 122,720 | ||
| Macro Avg | 0.92 | 0.98 | 0.95 | 122,720 |
| Weighted Avg | 0.96 | 0.96 | 0.96 | 122,720 |
- Confusion Matrix
| False positive rate | False negative rate |
|---|---|
| 4.6% | 1.654% |


