Skip to content

utiasDSL/drone-estimators

Repository files navigation

$$ \huge \displaystyle \hat{\boldsymbol{\mu}}_{x,k+1} = \check{\boldsymbol{\mu}}_{x,k+1} + \mathbf{K}_{k+1} \mathbf{z}_{k+1} \\ \hat{\boldsymbol{\Sigma}}_{xx, k+1} = ( \mathbf{I}-\mathbf{K}_{k+1} \mathbf{C}_k+1) \check{\boldsymbol{\Sigma}}_{xx, k+1} $$


Drone state estimators @ LSY. Contains model free (smoothing) and model based (EKF, UKF) state estimators for drones.

Python Version Ruff Check Tests

Installation

Normal

Simply install with pip

pip install drone-estimators

Development

Clone repository and install repository:

git clone git@github.com:utiasDSL/drone-estimators.git
cd drone-estimators
pixi install

Now activate the jazzy environment and install the package in editable mode

pixi shell -e jazzy
uv pip install -e .

If you want to have the drone-models in editable mode, simply install them too with pip, i.e.,

cd ../drone-models
uv pip install -e .

Usage

Either use the estimators directly:

from drone_estimators.estimator import KalmanFilter

or run the ROS2 node with:

python -m drone_estimators.ros_nodes.ros2_node

For the latter, you can either add your specific drone to be estimated with default settings or add all drones to the estimators.toml file (editable mode), which can be passed as an argument

python -m drone_estimators.ros_nodes.ros2_node --drone <your_drone>
python -m drone_estimators.ros_nodes.ros2_node --settings <path/to/your/estimators.toml>

About

Drone state estimators @ LSY

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors