• Stars
    star
    44
  • Rank 613,322 (Top 13 %)
  • Language
    Julia
  • License
    Other
  • Created over 7 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple particle filter implementation in Julia - works with POMDPs.jl models or others.

ParticleFilters

Docs Build Status codecov.io

particles.gif

This package provides some simple generic particle filters, and may serve as a template for making custom particle filters and other belief updaters. It is compatible with POMDPs.jl, but does not have to be used with that package.

Installation

In Julia:

Pkg.add("ParticleFilters")

Usage

Basic setup might look like this:

using ParticleFilters, Distributions

dynamics(x, u, rng) = x + u + randn(rng)
y_likelihood(x_previous, u, x, y) = pdf(Normal(), y - x)

model = ParticleFilterModel{Float64}(dynamics, y_likelihood)
pf = BootstrapFilter(model, 10)

Then the update function can be used to perform a particle filter update.

b = ParticleCollection([1.0, 2.0, 3.0, 4.0])
u = 1.0
y = 3.0

b_new = update(pf, b, u, y)

This is a very simple example and the framework can accommodate a variety of more complex use cases. More details can be found in the documentation linked to below.

There are tutorials for three ways to use the particle filters:

  1. As an estimator for feedback control,
  2. to filter time-series measurements, and
  3. as an updater for POMDPs.jl.

Documentation

https://JuliaPOMDP.github.io/ParticleFilters.jl/latest

More Repositories

1

POMDPs.jl

MDPs and POMDPs in Julia - An interface for defining, solving, and simulating fully and partially observable Markov decision processes on discrete and continuous spaces.
Julia
636
star
2

MCTS.jl

Monte Carlo Tree Search for Markov decision processes using the POMDPs.jl framework
Julia
70
star
3

DeepQLearning.jl

Implementation of the Deep Q-learning algorithm to solve MDPs
Julia
65
star
4

POMCPOW.jl

Online solver based on Monte Carlo tree search for POMDPs with continuous state, action, and observation spaces.
Julia
52
star
5

POMDPGallery.jl

A gallery of POMDPs.jl problems
Julia
44
star
6

BasicPOMCP.jl

The PO-UCT algorithm (aka POMCP) implemented in Julia
Julia
31
star
7

POMDPModels.jl

Problem models for testing POMDPs.jl
Jupyter Notebook
28
star
8

QuickPOMDPs.jl

Concise and friendly interfaces for defining MDP and POMDP models for use with POMDPs.jl solvers
Julia
28
star
9

RLInterface.jl

Interface for deep reinforcement learning
Julia
24
star
10

POMDPExamples.jl

Examples and Tutorials for POMDPs.jl
Jupyter Notebook
23
star
11

DiscreteValueIteration.jl

Value iteration solver for MDPs
Julia
20
star
12

QMDP.jl

QMDP Solvers for POMDPs
Julia
15
star
13

FactoredValueMCTS.jl

Scalable MCTS for team scenarios
Julia
14
star
14

SARSOP.jl

Julia package that wraps the SARSOP software for solving POMDPs/MDPs
Julia
13
star
15

quickpomdps

Interface for defining discrete and continuous-space MDPs and POMDPs in python. Compatible with the POMDPs.jl ecosystem.
Python
12
star
16

ARDESPOT.jl

Implementation of the AR-DESPOT POMDP algorithm
Julia
11
star
17

POMCP.jl

Julia Implementation of the POMCP algorithm for solving POMDPs
Jupyter Notebook
11
star
18

LocalApproximationValueIteration.jl

Julia
10
star
19

POMDPToolbox.jl

Support tools for solving POMDPs
Julia
10
star
20

POMDPSolve.jl

A Julia wrapper for pomdp-solve that interfaces with the POMDPs.jl framework
Julia
9
star
21

DESPOT.jl

[USE ARDESPOT.jl INSTEAD - This package is not maintained] Package implementing DESPOT POMDP solver for POMDPs.jl
Julia
9
star
22

POMDPPolicies.jl

Julia
9
star
23

POMDPSimulators.jl

Simulators for POMDPs.jl
Julia
8
star
24

TabularTDLearning.jl

Julia implementations of temporal difference Reinforcement Learning algorithms like Q-Learning and SARSA
Julia
8
star
25

POMDPModelTools.jl

Useful extensions of the POMDPs.jl interface
Julia
8
star
26

GenerativeModels.jl

Extension to POMDPs.jl for problems with a generative model (eliminates the need for distributions)
Julia
7
star
27

POMDPFiles.jl

Julia
6
star
28

ContinuumWorld.jl

A continuous gridworld-like MDP for education.
Jupyter Notebook
6
star
29

AEMS.jl

Anytime error minimization search for POMDPs, implemented in Julia.
Julia
6
star
30

GlobalApproximationValueIteration.jl

Julia
6
star
31

PointBasedValueIteration.jl

Point-based value iteration solver for POMDPs
Julia
6
star
32

FiniteHorizonPOMDPs.jl

POMDPs.jl-compatible interface for defining MDPs and POMDPs with finite horizons
Julia
5
star
33

NativeSARSOP.jl

Julia
5
star
34

BeliefUpdaters.jl

Julia
5
star
35

DroneSurveillance.jl

Implementation of a drone surveillance problem with POMDPs.jl
Julia
5
star
36

MCVI.jl

Julia
5
star
37

POMDPDistributions.jl

Implements distribution models to be used with POMDPs.jl
Julia
4
star
38

POMDPXFiles.jl

Package for generating and parsing .pomdpx files for SARSOP
Julia
4
star
39

IncrementalPruning.jl

Incremental pruning solver for partially observable Markov decision processes
Julia
4
star
40

MOMDPs.jl

An extension of POMDPs.jl for Mixed Observability MDPs
Julia
4
star
41

POMDPReinforce.jl

Wrapper that turns POMDPs.jl problems into Reinforce.jl environments
Julia
4
star
42

RockSample.jl

Implement the rock sample problem using POMDPs.jl
Julia
4
star
43

SparseSampling.jl

WIP Sparse Sampling algorithm for fully and partially observable MDPs
Julia
4
star
44

CompressedBeliefMDPs.jl

Compressed belief-state MDPs compatible in Julia compatible with POMDPs.jl.
Julia
4
star
45

LaserTag.jl

Jupyter Notebook
4
star
46

POMDPLinter.jl

Tools to help develop POMDP Models
Julia
4
star
47

MultiAgentPOMDPs.jl

Julia
3
star
48

POMDPTools.jl

Tools for defining and working with POMDPs.jl models.
Julia
3
star
49

DynamicDecisionNetworks.jl

Interface for dynamic decision networks in Julia
Julia
3
star
50

BeliefGridValueIteration.jl

Offline POMDP solver computing an upper bound of the value function in a discretized belief space.
Julia
3
star
51

POMDPTesting.jl

Julia
3
star
52

FiniteHorizonValueIteration.jl

Julia
2
star
53

POMDPBounds.jl

Extension to POMDPs.jl for solvers that use lower and upper bounds on the value function
Julia
2
star
54

SARSOP_jll.jl

Julia
2
star
55

juliapomdp.github.io

Website
HTML
2
star
56

POMDPGifs.jl

Utilities for generating gifs of POMDPs
Julia
2
star
57

Registry

Julia
2
star
58

MultiAgentSysAdmin.jl

Julia
2
star
59

maintenance-tools

Various tools for maintaining the repositories owned by JuliaPOMDP
Julia
2
star
60

FIB.jl

Fast informed bound solver for POMDPs.
Julia
2
star
61

MultiUAVDelivery.jl

Julia
2
star
62

BlinkPOMDPSimulator.jl

POMDPs.jl Simulator that displays a visualization via Blink.jl
Julia
2
star
63

MonteCarloTreeSearch.jl

Monte Carlo Tree Search for Markov decision processes using the CommonRLInterface
Julia
1
star