How do Kalman filters work in robotics?

  • Context: Graduate 
  • Thread starter Thread starter orochimaru
  • Start date Start date
  • Tags Tags
    Filters
Click For Summary

Discussion Overview

The discussion centers around the application of Kalman filters in robotics, specifically for tracking corner features across image frames. Participants explore the mathematical foundations and practical implementation challenges of Kalman filters in dynamic systems, particularly in the context of mobile robots with varying motion patterns.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant expresses difficulty understanding the mathematics of Kalman filters and seeks clarification.
  • Another participant requests more specific questions to better assist with the theoretical aspects of Kalman filters.
  • A participant describes their application involving tracking corner features, noting challenges with features disappearing from frames and seeks guidance on implementing Kalman filter equations.
  • One participant explains that the Kalman filter is an optimal estimator for dynamic systems and suggests a mathematical representation for the tracking problem, mentioning the need for linearity in the function used.
  • Concerns are raised about the nonlinearity of the system due to the robot's varied movement patterns, and questions about the availability of existing code implementations for Kalman filters are posed.
  • Another participant asserts that the equations of motion can be linear and asks for clarification on the measurement equation and the nature of the measurements being taken.
  • It is noted that the Kalman filter can estimate velocity components even if they are not directly measured.
  • One participant expresses uncertainty about forming the necessary equations for their specific problem and requests hints for formulation.
  • A later reply offers to assist with forming dynamic equations but requests additional information about the measurements and potential process noise involved in the robot's movement.

Areas of Agreement / Disagreement

Participants do not reach consensus on the specifics of the equations needed for the Kalman filter implementation, and multiple viewpoints regarding the nature of the system (linear vs. nonlinear) and the measurement equations remain unresolved.

Contextual Notes

Participants mention the need for specific definitions and details regarding measurements and process noise, indicating that the formulation of equations may depend on these factors. There is also uncertainty about the availability of suitable code implementations for the discussed application.

orochimaru
Hi,
can anyone enlighten me on kalman filter? the maths is overwhelming for me.
Thanks in advance!
 
Mathematics news on Phys.org
Could you post a specific question? What part of the theory you don't understand?
 
actually I'm trying to do tracking of a number of corner features across a sequence of image frames.
however, some of these features will be outside the frame after a certain number of frames. Also, some of the corners (which i use opencv to detect) may disappear in between the sequence of frames.

how should i use kalman filter in this case?
i deeply appreciate any help anyone can give because I'm really lost in how to implement this. i mean how should i set the kalman filter equations?
 
Last edited by a moderator:
The Kalman filter is an optimal estimator for dynamic systems. Can you represent your points under the form:
[tex]x_{k+1} = x_k + v_{xk}T <br /> y_{k+1} = y_k + v_{yk}T[/tex]
and the observations under the form:
[tex]z_{k+1} = f(x_{k+1}, y_{k+1}) + v_{k+1}[/tex]

Where [tex]x_k[/tex] and [tex]y_k[/tex] are the coordinates of the point in the instant [tex]t = kT[/tex], [tex]z_{k+1}[/tex] is a function of the coordinates [tex]x_{k+1}, y_{k+1}[/tex] and [tex]v_{k+1}[/tex] is the measurement noise?
If this is possible, you can use a Kalman filter (if the function [tex]f[/tex] is linear), or the Extended Kalman filter (if [tex]f[/tex] is nonlinear)
 
my mobile robot may be moving in a straight line, could also rotate and also moving in an arc manner (in situation that it travels along a bend).
1. so is this a nonlinear system?
2. i do not have the Vxk if it refers to the velocity.
3. i have a 1000 of points to track. is this implementable?

btw, is there any such codes already available in the web? i haven't managed to find any on the web so far.
Thanks for the help.
 
orochimaru said:
my mobile robot may be moving in a straight line, could also rotate and also moving in an arc manner (in situation that it travels along a bend).
1. so is this a nonlinear system?
Not necessarily. The equations of motion are linear, What is your measurement equation? Do you measure the x and y positions directly or do you measure angle and distance to some point?
2. i do not have the Vxk if it refers to the velocity.
No problem, the filter estimates the components of velocity for you.
3. i have a 1000 of points to track. is this implementable?
Yes.
btw, is there any such codes already available in the web? i haven't managed to find any on the web so far.
Each implementation of the Kalman filter depends on the dynamic and measurement equations, so I don't believe you could find an implemented filter that suits your application.
Thanks for the help.
You're welcome.
 
the problem is i do not really know how to form these eqns. can someone give me some hints on how i should form the eqns for my problem?
 
I can say how to form the dynamic equations. As for the measurement equation, I need to know what do you measure and what is the measurement error. It would be also useful to know if there is some process noise, meaning if you order your robot to go to position (1,2) for instance, it may be going to position (0.99,1.01), meaning a process noise of 0.01.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 6 ·
Replies
6
Views
7K
Replies
2
Views
3K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K