This repository contains a C++ implementation of a 3D Kalman Filter. The Kalman Filter is an algorithm used to estimate the state of a system from a series of noisy measurements. This implementation is self-contained, with matrix operations handled manually without relying on external libraries such as Eigen.
- State estimation for a 3D system
- Manual implementation of matrix operations
- Modular design with separate header and source files
- Simple and customizable
├── src
│ ├── KalmanFilter3D.cpp
│ ├── KalmanFilter3D.h
│── main.cpp
├── CMakeLists.txt
└── README.md
- CMake (version 3.10 or higher)
- C++ compiler (supporting C++11 or higher)
- Clone the repository:
git clone https://github.com/yourusername/3D-Kalman-Filter.git cd 3D-Kalman-Filter
- Create a build directory: mkdir build cd build
- Run CMake to configure the project: cmake ..
- Build the project: cmake --build .
Kalman Filter 3D Class The Kalman Filter 3D class encapsulates the state estimation logic. It includes methods for prediction and update steps, as well as utility functions for matrix operations.
predict(): Performs the prediction step, updating the state estimate and covariance matrix based on the process model.
update(const double z[3]) : Performs the update step, incorporating a new measurement into the state estimate.
getState(double state[6]) const: Retrieves the current state estimate.
main.cpp The main.cpp file demonstrates how to use the Kalman Filter 3D class. It initializes the filter, performs a prediction-update cycle with a sample measurement, and prints the estimated state.
CMakeLists.txt The CMakeLists.txt file defines the build configuration for the 3D Kalman Filter . It specifies the project name, required C++ standard, source files, and include directories.
Contributions are welcome! If you have suggestions for improvements or new features, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or inquiries, please contact us: HAMDI BOUKAMCHA
BY: HAMDI BOUKAMCHA