IMU + Laser Assisted – Online Offset Estimator
Developed by Prabal Khare, VIT Chennai, 2025
Siddharth Babu, VIT Chennai, 2025
This repository contains the complete hardware and software implementation of a real-time pan–tilt backlash and drift correction system.
The system uses:
- Stereo webcams (RAPOO C200)
- MPU9250 9-DoF IMU
- 620 nm laser module
- VL53L0X range sensor
- Jetson Orin Nano
A 6-state ILA-OOE EKF fuses stereo bearings, IMU rates, and laser spot measurements to continuously estimate orientation offsets caused by mechanical backlash — without any calibration targets.
This repo supports the HardwareX submission:
“Backlash-Aware Pan–Tilt Stereo Calibration via IMU + Laser Offset Estimation (ILA-OOE)”
- Real-time EKF-based compensation of pan/tilt backlash
- Stereo visual bearing tracking
- Sparse laser spot absolute correction
- IMU-based motion constraints
- Robust drift tracking over long sequences
- Full synthetic + real data evaluation tools
- Custom 3D-printed hardware included
Pan-Tilt-Calib/
│
├── cad/ # STEP & STL files
│ ├── 1611 servo holder.step
│ ├── servo holder.step
│ ├── Servo Motor MG996R v1.step
│
├── code/ # EKF + calibration software
│ ├── ila_ooe_ekf.py
│ ├── imu_preintegration.py
│ ├── laser_detector.py
│ ├── stereo_calibration.py
│ ├── simulate_pan_tilt.py
│ ├── utils.py
│ └── requirements.txt
│
├── docs/ # Figures and workflow diagrams
│ ├── Diagram 3d Model.jpg
│ ├── Flowchart.jpg
│ ├── reproj_vs_time.png
│ ├── ablation_mean_reproj.png
│ ├── offsets_vs_time.png
│ ├── f471576d-ce9c-4ea3-95fd-481ec2f4e2f0.png
│
├── synthetic/ # Simulation & test data
│
├── pan_tilt_calib/ # Real pipeline scripts
│
└── calibration_logs/
###Ablation Study – Mean Reprojection Error

Bar chart variant (auto-generated):


| Component | Description |
|---|---|
| Jetson Orin Nano | Main compute for EKF |
| RAPOO C200 webcams ×2 | Stereo pair |
| MPU9250 IMU | 9-DoF sensing |
| 620 nm 5 mW laser | Laser spot feedback |
| VL53L0X ToF | Laser range |
| MG996R Servos ×2 | Pan–tilt motion |
| 5V 5A power | System supply |
Install dependencies:
pip install -r code/requirements.txt
Run real-time EKF:
python code/ila_ooe_ekf.py --mode realtime
Run stereo calibration:
python code/stereo_calibration.py
Run synthetic drift simulation:
python code/simulate_pan_tilt.py
All Fig. results provided in /docs.
If you use this work, please cite:
Khare, P., & Babu, S. (2025). *Pan–Tilt Backlash-Aware Stereo Calibration System (ILA-OOE).*
GitHub Repository: https://github.com/00PrabalK00/Pan-Tilt-Calib
Developed by **Prabal Khare**, VIT Chennai, 2025
and **Siddharth Babu**, VIT Chennai, 2025
Zenodo DOI will be added after release.
Released under the Apache License 2.0.
Developed at the Robotics Lab, VIT Chennai.


