A computational framework for modeling robotic screw-driving dynamics using Sparse Identification of Nonlinear Dynamics (SINDy).
This project develops interpretable dynamical models for robotic screw-driving operations using the SINDy framework. The approach combines computer vision-based feature extraction with sparse regression to identify governing equations that describe screw tip dynamics.
- SINDy modeling: Sparse identification of nonlinear dynamics
- Computer vision: Feature tracking and pose detection
- Baseline models: LSTM and MLP for performance comparison
- Data processing: Collection and preprocessing utilities
- Analysis tools: Jupyter notebooks for visualization
Research Paper: Link
This work is documented in our research paper in detail.
# 1. Setup environment
source activate_env.sh
# 2. Train SINDy model
python src/main.py --data_dir ./data/data_1 --epochs 1000
# 3. Run baseline comparison
python baseline/train.py --model_type lstm --data_dir ./data/data_1
# 4. Open analysis notebooks
jupyter lab notebook/├── src/ # SINDy implementation → [README](src/README.md)
├── baseline/ # Baseline models (LSTM, MLP) → [README](baseline/README.md)
├── scripts/ # Data processing utilities → [README](scripts/README.md)
├── notebook/ # Analysis notebooks → [README](notebook/README.md)
├── data/ # Sample data → [README](data/README.md)
├── archived/ # Previous implementations
├── .github/ # CI/CD workflows
├── requirements.txt # Python dependencies
├── setup.py # Package installation
└── LICENSE # MIT License
- Python 3.8+
- PyTorch, OpenCV, scikit-learn, pandas, numpy, matplotlib, jupyter
- Clone the repository:
git clone https://github.com/l0g1c-80m8/screw-dynamics-sindy.git
cd screw-dynamics-sindy- Setup environment:
source activate_env.sh# SINDy model
python src/main.py --data_dir ./data/data_1 --epochs 1000
# Baseline models
python baseline/train.py --model_type lstm --data_dir ./data/data_1# Extract screw tip poses
python scripts/screwtip_pose_detection.py --data_dir ./raw_data# Open Jupyter notebooks
jupyter lab notebook/Experimental data: Google Sheets Dataset
- Observation data: Screw tip pose and position tracking
- Sensor data: Force/torque measurements and system states
- Image sequences: Visual data for feature extraction
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Manyar, O. M., Patel, R., & Gupta, S. K. (2026). Autonomous robotic screwdriving for high-mix manufacturing. Robotics and Computer-Integrated Manufacturing, 98, 103172. https://doi.org/10.1016/j.rcim.2025.103172
@article{Manyar_Patel_Gupta_RCIM_2026,
author = {Manyar, Omey M. and Patel, Rutvik and Gupta, Satyandra K.},
title = {Autonomous robotic screwdriving for high-mix manufacturing},
journal = {Robotics and Computer-Integrated Manufacturing},
publisher = {Elsevier},
year = {2026},
volume = {98},
pages = {103172},
doi = {10.1016/j.rcim.2025.103172}
}
This project is licensed under the MIT License - see the LICENSE file for details.