-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from vortexntnu/rework/bayesian-framework
- Loading branch information
Showing
68 changed files
with
4,361 additions
and
2,517 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,15 +13,15 @@ jobs: | |
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: DoozyX/clang-format-lint-action@v0.14 | ||
- uses: actions/checkout@v3 | ||
- uses: DoozyX/clang-format-lint-action@v0.17 | ||
with: | ||
source: '.' | ||
exclude: './lib' | ||
extensions: 'h,hpp,cpp,c' | ||
clangFormatVersion: 14 | ||
clangFormatVersion: 17 | ||
inplace: True | ||
- uses: EndBug/add-and-commit@v4 | ||
- uses: EndBug/add-and-commit@v9 | ||
with: | ||
author_name: Clang Robot | ||
author_email: [email protected] | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,8 @@ | ||
Simple Kalman Filter for estimating objects in odom frame. Includes a general ekf implementation which can be configured for | ||
use with generic process and sensor model. | ||
|
||
Kalman Filter: | ||
|
||
state vector: x = [x, y, z, phi, theta, psi] | ||
measurement vector: y = [x, y, z, phi, theta, psi] | ||
|
||
process model: x_dot = 0 + v | ||
measurement model: y = I_6x6 * x | ||
|
||
|
||
Important Files in ekf_python2: | ||
|
||
dynamicmodels_py2.py: contains a parent class for dynamic models and as many different dynamic models as need to be defined | ||
as subclasses | ||
|
||
measurementmodels_py2.py: contains a parent class for sensor models and as many different sensor models as need to be defined | ||
as subclasses | ||
|
||
ekf_py2.py: contains a class implementing the ekf equations. In the case of linear model this will collapse to a standard Kalman Filter | ||
|
||
gaussparams_py2.py: contains a class which implements multivariate gaussians | ||
|
||
Pip3/pip requirement: | ||
pip install dataclasses | ||
# Vortex VKF | ||
## Introduction | ||
This is a C++ library for state estimation. | ||
|
||
## Packages | ||
### vortex-filtering | ||
Currently, it has a pure C++ implementation of the Unscented Kalman Filter (UKF) and the Extended Kalman Filter (EKF) as well as model | ||
[More info](vortex-filtering/README.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
<!-- Can be viewed in vscode --> | ||
|
||
```mermaid | ||
classDiagram | ||
DynamicModel <|-- DynamicModelLTV | ||
SensorModel <|-- SensorModelLTV | ||
DynamicModelLTV <|-- ConstantVelocity | ||
DynamicModelLTV <|-- ConstantAcceleration | ||
DynamicModelLTV <|-- CoordinatedTurn | ||
EKF -- DynamicModelLTV | ||
EKF -- SensorModelLTV | ||
UKF -- DynamicModel | ||
UKF -- SensorModel | ||
class EKF{ | ||
+predict() | ||
+update() | ||
+step() | ||
} | ||
class UKF{ | ||
+predict() | ||
+update() | ||
+step() | ||
-get_sigma_points() | ||
-propagate_sigma_points_f() | ||
-propagate_sigma_points_h() | ||
-estimate_gaussian() | ||
} | ||
class DynamicModel{ | ||
+virtual f_d() Vec_x | ||
+virtual Q_d() Mat_vv | ||
+sample_f_d() Vec_x | ||
} | ||
class SensorModel{ | ||
+virtual h() Vec_z | ||
+virtual R() Mat_ww | ||
+sample_h() Vec_z | ||
} | ||
class DynamicModelLTV { | ||
+overide f_d() Vec_x | ||
+virtual A_d() Mat_xx | ||
+virtual Q_d() Mat_vv | ||
+vurtual G_d() Mat_xv | ||
+pred_from_est() Gauss_x | ||
+pred_from_state() Gauss_x | ||
} | ||
class SensorModelLTV { | ||
+override h(x) Vec_z | ||
+virtual R(x) Mat_ww | ||
+virtual C(x) Mat_zx | ||
+virtual H(x) Mat_zw | ||
+pred_from_est(x_est) Gauss_z | ||
+pred_from_state(x) Gauss_z | ||
} | ||
class ConstantVelocity | ||
class CoordinatedTurn | ||
class ConstantAcceleration | ||
``` | ||
<!-- Can be edited at https://mermaid.live/edit --> |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.