You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was facing issue when loading state from disk. So, the way I fixed it is
as you saveStateToDisk, you mark the state as kidnap_and_signal_end_of_the_world.
So state is always written as kidnapped status
As you load the state, be mindup of the kidnapped status. Also
as soon as you see the first timestamp (new node after stateload)
mark_as_unkidnapped_and_signal_start_of_world.
With this everything works correct as expected no segfaults.
Done:
- save pose graph
- Now there is no need to update any variables in posegraphsolver since it will automatically lookup the length of datamanager which is threadsafe.
TODO:
- More testing on longer and more complex sequences. Test both this and cerebro works correctly together
- test: run-save-terminate-load-run-save-terminate-load-run. Basically building maps in multiple runs and then finally loclize.
- instead of recompile each time, make nh.params for loading the saving state.
cout << "Either __a__ has to be equal to __b__ or __a__ has to be 1 more than b. Currently this is not the case, this looks like something is wrong\n";
cout << "Either __c__ has to be equal to __d__ or __c__ has to be 1 more than b. Currently this is not the case, this looks like something is wrong\n";
cout << "[NodeDataManager::load_kidnap_data_from_json] Set current_kidnap_status=false\n";
921
+
current_kidnap_status = false;
922
+
}elseif( n_kidnap_starts-1 == n_kidnap_ends )
923
+
{
924
+
cout << "[NodeDataManager::load_kidnap_data_from_json] Set current_kidnap_status=true\n";
925
+
current_kidnap_status = true;
926
+
} else {
927
+
cout << TermColor::RED() << "[NodeDataManager::load_kidnap_data_from_json] ERROR `n_kidnap_starts` and `n_kidnap_ends` need to be either of equal size of n_kidnap_ends can be 1 less than n_kidnap_starts. EXIT...\n" << TermColor::RESET();
cout << TermColor::RED() << "When loading SolvedPoseGraph[" << i << "], RawFileIO::read_eigen_matrix4d_fromjson returned false. This means, I cannot read the pose from json file\n" << TermColor::RESET() ;
0 commit comments