Skip to content
Snippets Groups Projects

Hello wolf autoconf

Merged Joan Solà Ortega requested to merge hello_wolf_autoconf into devel
1 file
+ 7
6
Compare changes
  • Side-by-side
  • Inline
@@ -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 =======")
Loading