diff --git a/hello_wolf/hello_wolf_autoconf.cpp b/hello_wolf/hello_wolf_autoconf.cpp index 447d7792ae103525b75ef79d2c43069539ff216d..3b353bde24833278c6972dd1dc68f323e3ebede0 100644 --- a/hello_wolf/hello_wolf_autoconf.cpp +++ b/hello_wolf/hello_wolf_autoconf.cpp @@ -103,15 +103,15 @@ int main() WOLF_TRACE("======== CONFIGURE PROBLEM =======") - // Config file to parse + // Config file to parse. Here is where all the problem is defined: std::string file = std::string(_WOLF_ROOT_DIR) + "/hello_wolf/hello_wolf_config.yaml"; - // parse file into params server + // parse file into params server: each param will be retrievable from this params server: parserYAML parser = parserYAML(file); parser.parse(); paramsServer server = paramsServer(parser.getParams(), parser.sensorsSerialization(), parser.processorsSerialization()); - // Wolf problem + // Wolf problem: automatically build the left branch of the wolf tree from the contents of the params server: ProblemPtr problem = Problem::autoSetup(server); // Print problem to see its status before processing any sensor data @@ -121,7 +121,7 @@ int main() SensorBasePtr sensor_odo = problem->getSensor("odom"); SensorBasePtr sensor_rb = problem->getSensor("rb"); - // Solver + // Solver. Configure a Ceres solver ceres::Solver::Options options; options.max_num_iterations = 1000; // We depart far from solution, need a lot of iterations CeresManagerPtr ceres = std::make_shared<CeresManager>(problem, options); @@ -129,6 +129,7 @@ int main() // SELF CALIBRATION =================================================== + // These few lines control whether we calibrate some sensor parameters or not. // NOTE: SELF-CALIBRATION OF SENSOR ORIENTATION // Uncomment this line below to achieve sensor self-calibration (of the orientation only, since the position is not observable) @@ -138,7 +139,7 @@ int main() // The position is however not observable, and thus self-calibration would not work. You can try uncommenting it too. // sensor_rb->getP()->unfix(); - // CONFIGURE observations ============================================== + // CONFIGURE input data (motion and measurements) ============================================== // Motion data Vector2s motion_data(1.0, 0.0); // Will advance 1m at each keyframe, will not turn. @@ -148,7 +149,7 @@ int main() VectorXi ids; VectorXs ranges, bearings; - // SET OF EVENTS ======================================================= + // SET OF EVENTS: make things happen ======================================================= std::cout << std::endl; WOLF_TRACE("======== BUILD PROBLEM =======")