This repository contains implementations of various Kalman Filter algorithms, including a basic Kalman Filter, Extended Kalman Filter (EKF), and localization examples. The code is written in Python and includes detailed explanations and visualizations.
.
├── EKF-From-Scratch/ # Extended Kalman Filter implementation
├── KalmanFilter/ # Basic Kalman Filter implementation
├── Localization/ # Robot localization examples
└── Notes/ # Theoretical explanations and mathematical foundations
- Python 3.11 or higher
- pip package manager
- Clone the repository:
git clone https://github.com/IremOztimur/AI4Robotics.git
cd AI4Robotics
- Create and activate a virtual environment:
cd EKF-From-Scratch
make virtual # or make install to only install the dependencies
The EKF SLAM implementation demonstrates simultaneous localization and mapping:
cd EKF-From-Scratch
python ekf_main.py
Controls:
- Arrow keys to move the robot
- ESC or Q to quit
Run the 1D Kalman Filter example:
cd KalmanFilter
python kalmanFilter1D.py
Run the robot localization example:
cd Localization
python localization.py
Run the test suite:
cd Localization
python test.py
Notes/Covariance.md
- Detailed explanation of covariance matrices and their role in Kalman FiltersNotes/Kinematics.md
- Overview of kinematic equations used in motion modelsEKF-From-Scratch/README.md
- Extended Kalman Filter theory and implementation details
Remove Python cache files:
make clean
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Based on the AI for Robotics course materials
- Pygame library for visualization
- NumPy and SciPy for mathematical operations