• Advertisement
Sign in to follow this  

Predicting a sequence of positions

This topic is 1251 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello folks,

 

for my current project, I have a sequence of positions in 3D space usually sampled in a 1 second interval coming from a vehicle. I want to predict the position of the vehicle after the next 3-5 seconds. My first approach was using the history of sampled positions to generate a Lagrange polynomial, but this becomes very unstable even 1 second in the future. Do you know a similar approach that would be simple to implement and yet have basic stability against outliers? I think this would basically come down to approximation rather than interpolation.

 

Thanks!

Share this post


Link to post
Share on other sites
Advertisement

When using polynomial I tend to stick with range three or four for stability, splines can also smooth out any problems from large polynomials.

 

The question is do you need polynomials?

Polynomials only predict possible position and works best in stable environments and short burst, something like the car hitting the wall will cause large irregularities.

Using a short range means that the polynomial can quickly forget any irregularities and stabilise again.

 

If you just want a simple possible point of where something could be just do:

 

record 3 points of the car position. e.g. (0,0,0) (1,0,1) (2,0,4)

Average out the difference. e.g.

(1,0,1) - (0,0,0) = (1,0,1)

(2,0,4) - (1,0,1) = (1,0,3)

 

(1,0,1)+(1,0,3) = (2,0,4)/2 =(1,0,2)

 

add this to the last know position. e.g.

(2,0,4)+(1,0,2) = (3,0,6) //This is where it could be at.

 

I used this once in a space game and found it to work OK.

Share this post


Link to post
Share on other sites
You need to define a clear metric for how good a predictor is. For instance, you could make a database of situations where you know both past and future positions, and then you want to minimize the sum of squares of the difference between the predicted and the actual positions. If you are going to be using more than very few parameters in your model, you probably want to separate your data into training data and testing data, to avoid overfitting.

You want to use some robust estimate, so high-degree polynomials are not an option. I would start by trying to estimate the vehicle's current position and velocity, and assume velocity will stay constant. You can then try to also estimate an acceleration vector and make predictions assuming constant acceleration.

I might be able to give you better advice if you provide more information: What kind of vehicle are we talking about? How is the history of previous positions obtained? What is the prediction going to be used for?

Share this post


Link to post
Share on other sites

Hello,

 

what I have is a series of 3-6 3D Positions sampled in 1s intervals. So I have the current 3D position, the 3D position at -1 seconds, the 3D position at -2 seconds etc. I have no influence on how this data is generated and it may be noisy. I want to estimate the position for the vehicle after, say, 3 seconds in the future. The vehicle may drive straight or a curve and the data may be noisy so the estimator should work for these cases. I want it to be a little more sophisticated as just linear interpolation (for when it drives curves) but I also want to avoid techniques involving stuff as Kalman filter or nonlinear optimization as they are hard to implement and potentially slow. A quadratic polynomial might be enough, so the technique should be able to solve overdetermined problems. And I don't want to use an external library.

Edited by Desperado

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement