Closed keevindoherty closed 2 years ago
I think the formal way to do this is, like you said, make this a modifiable feature that users can turn on and off. But for now, since the heuristic is good enough for our current applications, I guess we can leave it here and add a TODO to param it out later. Does that make sense?
That seems fair to me!
This PR fixes an issue with max-mixture weights (not being included in error computations properly) and caches solves.
We added a heuristic to determine whether re-solves are needed for discrete variables. Essentially we try to determine when the added factor graph consists only of odometry measurements and don't bother updating in this case. This is a bit of a hack as, in principle, new continuous factors could come in that influence the DC states and shift discrete hypotheses, but this isn't so in our experiments. Consequently, this isn't strictly correct in the general case, so I'm really not sure it should be in the main instantiation of this solver. I think I might instead revert this commit and add affordances to the front-end so a user can determine whether a fresh discrete solve is needed. What do you think @520xyxyzq ?