{"id":13413742,"url":"https://github.com/milosgajdos/go-estimate","last_synced_at":"2025-04-05T10:09:25.443Z","repository":{"id":39660610,"uuid":"156131618","full_name":"milosgajdos/go-estimate","owner":"milosgajdos","description":"State estimation and filtering algorithms in Go","archived":false,"fork":false,"pushed_at":"2025-01-19T21:29:42.000Z","size":894,"stargazers_count":115,"open_issues_count":2,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T09:12:09.550Z","etag":null,"topics":["estimator","extended-kalman-filter","filtering","golang","kalman-filter","particle-filter","particle-filters","sensor-fusion","unscented-kalman-filter"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milosgajdos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-04T22:32:52.000Z","updated_at":"2025-01-19T21:29:42.000Z","dependencies_parsed_at":"2024-06-03T21:06:40.011Z","dependency_job_id":"f9d2e974-e861-4132-8568-b613a3db0df2","html_url":"https://github.com/milosgajdos/go-estimate","commit_stats":null,"previous_names":["milosgajdos83/go-estimate","milosgajdos83/go-filter"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosgajdos%2Fgo-estimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosgajdos%2Fgo-estimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosgajdos%2Fgo-estimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosgajdos%2Fgo-estimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milosgajdos","download_url":"https://codeload.github.com/milosgajdos/go-estimate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318745,"owners_count":20919484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["estimator","extended-kalman-filter","filtering","golang","kalman-filter","particle-filter","particle-filters","sensor-fusion","unscented-kalman-filter"],"created_at":"2024-07-30T20:01:47.918Z","updated_at":"2025-04-05T10:09:25.412Z","avatar_url":"https://github.com/milosgajdos.png","language":"Go","funding_links":[],"categories":["Science and Data Analysis","科学与数据分析","Relational Databases"],"sub_categories":["HTTP Clients","HTTP客户端"],"readme":"# go-estimate: State estimation and filtering algorithms in Go\n\n[![Build Status](https://github.com/milosgajdos/go-estimate/workflows/CI/badge.svg)](https://github.com/milosgajdos/go-estimate/actions?query=workflow%3ACI)\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white\u0026style=flat-square)](https://pkg.go.dev/github.com/milosgajdos/go-estimate)\n[![GoDoc](https://godoc.org/github.com/milosgajdos/go-estimate?status.svg)](https://godoc.org/github.com/milosgajdos/go-estimate)\n[![License](https://img.shields.io/:license-apache-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Go Report Card](https://goreportcard.com/badge/milosgajdos/go-estimate)](https://goreportcard.com/report/github.com/milosgajdos/go-estimate)\n[![codecov](https://codecov.io/gh/milosgajdos/go-estimate/branch/master/graph/badge.svg)](https://codecov.io/gh/milosgajdos/go-estimate)\n\nThis package offers a small suite of basic filtering algorithms written in Go. It currently provides the implementations of the following filters and estimators:\n\n* [Bootstrap Filter](https://en.wikipedia.org/wiki/Particle_filter#The_bootstrap_filter) also known as SIR Particle filter\n* [Unscented Kalman Filter](https://en.wikipedia.org/wiki/Kalman_filter#Unscented_Kalman_filter) also known as Sigma-point filter\n* [Extended Kalman Filter](https://en.wikipedia.org/wiki/Kalman_filter#Extended_Kalman_filter) also known as Non-linear Kalman Filter\n  * [Iterated Extended Kalman Filter](https://en.wikipedia.org/wiki/Extended_Kalman_filter#Iterated_extended_Kalman_filter)\n* [Kalman Filter](https://en.wikipedia.org/wiki/Kalman_filter) also known as Linear Kalman Filter\n\nIn addition it provides an implementation of [Rauch–Tung–Striebel](https://en.wikipedia.org/wiki/Kalman_filter#Rauch%E2%80%93Tung%E2%80%93Striebel) smoothing for Kalman filter, which is an optimal Gaussian smoothing algorithm. There are variants for both `LKF` (Linear Kalman Filter) and `EKF` (Extended Kalman Filter) implemented in the `smooth` package. `UKF` smoothing will be implemented in the future.\n\n# Get started\n\nGet the package:\n```shell\n$ go get github.com/milosgajdos/go-estimate\n```\n\nGet dependencies:\n```shell\n$ make dep\n```\n\nRun unit tests:\n```shell\n$ make test\n```\nYou can find various examples of usage in [go-estimate-examples](https://github.com/milosgajdos/go-estimate-examples).\n\n# TODO\n\n- [ ] [Square Root filter](https://en.wikipedia.org/wiki/Kalman_filter#Square_root_form)\n- [ ] [Information Filter](https://en.wikipedia.org/wiki/Kalman_filter#Information_filter)\n- [x] [Smoothing](https://en.wikipedia.org/wiki/Kalman_filter#Fixed-interval_smoothers)\n    - [Rauch–Tung–Striebel](https://en.wikipedia.org/wiki/Kalman_filter#Rauch%E2%80%93Tung%E2%80%93Striebel) for both KF and EKF has been implemented in `smooth` package\n\n# Contributing\n\n**YES PLEASE!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilosgajdos%2Fgo-estimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilosgajdos%2Fgo-estimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilosgajdos%2Fgo-estimate/lists"}