diff --git a/test/gtest_simulation_problem_force_torque_inertial_dynamics.cpp b/test/gtest_simulation_problem_force_torque_inertial_dynamics.cpp index ad54fa8e05b66fa310efe27fc09f3344d6720198..546a46752444ad089586a9b2eab34062babf93eb 100644 --- a/test/gtest_simulation_problem_force_torque_inertial_dynamics.cpp +++ b/test/gtest_simulation_problem_force_torque_inertial_dynamics.cpp @@ -69,11 +69,11 @@ class Test_SimulationProblemForceTorqueInertialDynamics_yaml : public testing::T std::vector<Quaterniond> quaternion; protected: - void ExtractAndCompleteData() + void extractAndCompleteData(const std::string& file_path_name) { Vector3d position_i, vlin_i, vang_i, force_i, torque_i, a_meas_i; std::ifstream data_simulation; - string data_file = "/home/asanjuan/dev/wolf_lib/bodydynamics/test/dades_simulacio_pep.csv"; + string data_file = file_path_name; data_simulation.open(data_file, std::ios::in); string line_data; char delimiter = ','; @@ -199,14 +199,15 @@ class Test_SimulationProblemForceTorqueInertialDynamics_yaml : public testing::T void SetUp() override { - ExtractAndCompleteData(); + std::string wolf_bodydynamics_root = _WOLF_BODYDYNAMICS_ROOT_DIR; + + extractAndCompleteData(wolf_bodydynamics_root + "/test/dades_simulacio_pep.csv"); - std::string wolf_root = _WOLF_BODYDYNAMICS_ROOT_DIR; ParserYaml parser = - ParserYaml("problem_force_torque_inertial_dynamics_simulation_test.yaml", wolf_root + "/test/yaml/"); + ParserYaml("problem_force_torque_inertial_dynamics_simulation_test.yaml", wolf_bodydynamics_root + "/test/yaml/"); ParamsServer server = ParamsServer(parser.getParams()); P = Problem::autoSetup(server); - // CERES WRAPPER + solver = std::make_shared<SolverCeres>(P); // solver->getSolverOptions().max_num_iterations = 1e4; // solver->getSolverOptions().function_tolerance = 1e-15; @@ -233,12 +234,13 @@ TEST_F(Test_SimulationProblemForceTorqueInertialDynamics_yaml, simulation) { // Calibration params Vector6d bias_guess(Vector6d::Zero()); - S->getStateBlock('I')->setState(bias_guess); Vector3d cdm_guess(0.005, 0.005, 0.1); - S->getStateBlock('C')->setState(cdm_guess); Vector3d inertia_guess(0.01, 0.01, 0.02); - S->getStateBlock('i')->setState(inertia_guess); double mass_guess = 1.5; + + S->getStateBlock('I')->setState(bias_guess); + S->getStateBlock('C')->setState(cdm_guess); + S->getStateBlock('i')->setState(inertia_guess); S->getStateBlock('m')->setState(Vector1d(mass_guess)); S->getStateBlock('P')->fix();