LCAS / bayestracking

C++ framework for Bayesian Filter Tracking (UKF, EKF, Particles)
Other
143 stars 51 forks source link

Have a runtime error in jpda.h #14

Open mxmxlwlw opened 8 years ago

mxmxlwlw commented 8 years ago

Hello, The error was in private function void getAssociation(size_t row, ...) It occurs at assoc.pop_back() because of the assoc is already empty. If I add a condition, there will be another runtime error in private function void fill(size_t start, size_t end). This is because ai->t is out of range. This problem only happens when I use nnjfda. NN will be fine. And, there is a second problem. If I change the filter as PFilter, it will also have a runtime error. But I think this is because I should change the model. Am I correct? Can you help me out? Thank you.

pf.exe!jpda::JPDA::getAssociation(unsigned int row, std::vector<unsigned int,std::allocator<unsigned int> > colVec, jpda::Association & assoc, unsigned int m) line 572
pf.exe!jpda::JPDA::getAssociations() line 304
pf.exe!MTRK::MultiTracker<UKFilter,4>::dataAssociation<Models::CartesianModel>(Models::CartesianModel & om, MTRK::association_t alg) line 266
pf.exe!MTRK::MultiTracker<UKFilter,4>::process<Models::CartesianModel>(Models::CartesianModel & om, MTRK::association_t alg) line 168
pf.exe!main(int argc, char * * argv) line 224
cdondrup commented 8 years ago

Do you have some example code I could try? Never observed this issue.

Regarding the particle filter, I never tested this, that is an error for @nbellotto to look at. Nevertheless, some example code would also be good to investigate this.

mxmxlwlw commented 8 years ago

Thank you for replying so quickly! I find the issue (nnjpda and pfilter). It seems I should change dt to a constant such as 20e-3 like it suggests in the cpp file. Although I don't know why. However PFilter is really slow. Do you have any suggestions on this? Thank you very much!