This repository contains a series of projects focusing on various aspects of advanced navigation techniques.
Implemented a Bayes Filter for a robot monitoring a door's state (open/closed) using imperfect sensors and actuators.
- Developed sensor and propagation models for the door state problem
- Implemented the Bayes Filter algorithm in Python
- Analyzed filter performance under different scenarios
Scenario | Iterations to 99.99% Belief |
---|---|
"Do nothing" action, "Door open" measurement | 9 |
"Push" action, "Door open" measurement | 4 |
"Push" action, "Door closed" measurement (steady state) | 10 |
Bayes Filter Results |
---|
Implemented a Kalman Filter to track the motion of a drone using motion capture data.
- Developed system models for drone motion
- Implemented the Kalman Filter algorithm
- Visualized drone trajectories
Implemented a nonlinear Kalman Filter (Unscented Kalman Filter - UKF) for quadcopter pose estimation using AprilTags and IMU data.
- Implemented pose estimation using PnP (Perspective-n-Point) algorithm
- Developed an Unscented Kalman Filter for state estimation
- Estimated covariance for the observation model
Metric | UKF | Camera |
---|---|---|
Translational RMSE | 0.083m | 0.696m |
Rotational RMSE | 0.060 rad | 0.231 rad |
UKF Trajectory Comparison | UKF Orientation Comparison | UKF Position Comparison |
---|---|---|
Implemented a Particle Filter for quadcopter pose estimation and compared its performance with the UKF from Project 3.
- Developed a Particle Filter with vectorized operations
- Implemented different weight sampling methods
- Analyzed performance with varying particle counts
Metric | Particle Filter | Camera |
---|---|---|
Translational RMSE | 0.09989m | 0.696m |
Rotational RMSE | 0.2222 rad | 0.231 rad |
Particle Filter Trajectory | Particle Count vs RMSE | PF vs UKF RMSE Comparison |
---|---|---|
Implemented INS/GNSS integration using nonlinear Kalman Filters (feedback and feedforward architectures) for global scale navigation.
- Developed observation models for error correction and bias modeling
- Implemented feedback and feedforward nonlinear Kalman Filters
- Analyzed the performance of both architectures
Model | Average RMSE |
---|---|
Feedback | 2.221 × 10^-3 |
Feedforward | 3.3 × 10^-3 (with stability issues) |
| Haversine distance between the estimated position and the true (GNSS measured) position for Feedforward Mode |RMSE values of Estimated and Measured Positions for Feedback Model | RMSE values of Estimated and Measured Postions for Feedforward Model | |---------------------|------------------------------| ------------------------------| | | | |
- Python 3.x
- NumPy
- Matplotlib
- OpenCV (for Project 3)
- SciPy
Each project is contained in its directory. To run a project, navigate to its directory and execute the main Python script.
Example:
cd project1_bayes_filter
python bayes_filter.py
Harshal Bhat ([email protected])