Kalman filters are very useful. There are several variants that can be implemented, depending on the available data and what you want to achieve. I found a great place to get your head around them was Roger Labbe's tutorials:
http://nbviewer.jupyter.org/github/rlabbe/Kalman-and-Bayesia...