I am dealing with very large graphs with data streams which can be running for up to 30 minutes. This causes some problems optimising the graph without reaching -NaN or Levenberg Marquardt cannot decrease error with maximum lambda printouts. I got around this by changing the node ordering system to METIS and optimising the graph every X nodes added.
This seems to work but I am aware how sensitive to outliers this is so I have been looking at iSAM2. However, I get the same problem as before where if there are too many nodes I get an indeterminant system error. I cannot seem to find a way to set the nodes to METIS in order to get around that problem.
I have thought about breaking up the graph into multiple iSAM2 graphs (maybe tricky dealing with IMU factors and loop closure) to see if that solves things. Is there a better way, or something someone has already proven to work for large graphs with iSAM2?