Skip to content
Snippets Groups Projects
Commit 6bde422d authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

Merge branch 'remove-default-yaml-params' into 'devel'

Remove default YAML params.

See merge request !8
parents e734cfa7 8ee1ed80
No related branches found
No related tags found
3 merge requests!39release after RAL,!38After 2nd RAL submission,!8Remove default YAML params.
type: "ODOM 3D" # This must match the KEY used in the SensorFactory. Otherwise it is an error.
name: "Main odometer" # This is ignored. The name provided to the SensorFactory prevails
time_tolerance: 0.01 # seconds
voting_active: false
voting_aux_active: false
max_time_span: 0.2 # seconds
max_buff_length: 10 # motion deltas
dist_traveled: 0.5 # meters
angle_turned: 0.1 # radians (1 rad approx 57 deg, approx 60 deg)
unmeasured_perturbation_std: 0.001
\ No newline at end of file
type: "ODOM 3D" # This must match the KEY used in the SensorFactory. Otherwise it is an error.
name: "Main odometer" # This is ignored. The name provided to the SensorFactory prevails
k_disp_to_disp: 0.02 # m^2 / m
k_disp_to_rot: 0.02 # rad^2 / m
k_rot_to_rot: 0.01 # rad^2 / rad
min_disp_var: 0.01 # m^2
min_rot_var: 0.01 # rad^2
......@@ -10,8 +10,6 @@ namespace wolf {
WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsIMU);
//TODO : bias_ptr defined as intrinsics StateBlock in constructor (see SensorBase) but here we also have another intrinsics
// This is confusing.
struct IntrinsicsIMU : public IntrinsicsBase
{
......@@ -35,12 +33,12 @@ struct IntrinsicsIMU : public IntrinsicsBase
IntrinsicsIMU(std::string _unique_name, const ParamsServer& _server):
IntrinsicsBase(_unique_name, _server)
{
w_noise = _server.getParam<Scalar>(_unique_name + "/w_noise", "0.001");
a_noise = _server.getParam<Scalar>(_unique_name + "/a_noise", "0.004");
ab_initial_stdev = _server.getParam<Scalar>(_unique_name + "/ab_initial_stdev", "0.01");
wb_initial_stdev = _server.getParam<Scalar>(_unique_name + "/wb_initial_stdev", "0.01");
ab_rate_stdev = _server.getParam<Scalar>(_unique_name + "/ab_rate_stdev", "0.00001");
wb_rate_stdev = _server.getParam<Scalar>(_unique_name + "/wb_rate_stdev", "0.00001");
w_noise = _server.getParam<Scalar>(_unique_name + "/w_noise");
a_noise = _server.getParam<Scalar>(_unique_name + "/a_noise");
ab_initial_stdev = _server.getParam<Scalar>(_unique_name + "/ab_initial_stdev");
wb_initial_stdev = _server.getParam<Scalar>(_unique_name + "/wb_initial_stdev");
ab_rate_stdev = _server.getParam<Scalar>(_unique_name + "/ab_rate_stdev");
wb_rate_stdev = _server.getParam<Scalar>(_unique_name + "/wb_rate_stdev");
}
std::string print()
{
......@@ -64,10 +62,10 @@ class SensorIMU : public SensorBase
Scalar w_noise; //Rate Noise Spectral Density (same for all the axis) in deg/sec/ sqrt(Hz)
//This is a trial to factor how much can the bias change in 1 sec at most
Scalar ab_initial_stdev; //accelerometer micro_g/sec
Scalar ab_initial_stdev; //accelerometer m/sec^s
Scalar wb_initial_stdev; //gyroscope rad/sec
Scalar ab_rate_stdev; //accelerometer micro_g/sec
Scalar wb_rate_stdev; //gyroscope rad/sec
Scalar ab_rate_stdev; //accelerometer m/sec^2 / sqrt(sec)
Scalar wb_rate_stdev; //gyroscope rad/sec / sqrt(sec)
public:
......
......@@ -8,16 +8,17 @@
//Wolf
#include "IMU/processor/processor_IMU.h"
#include "IMU/sensor/sensor_IMU.h"
#include "core/common/wolf.h"
#include "core/sensor/sensor_odom_3D.h"
#include "core/processor/processor_odom_3D.h"
#include "core/ceres_wrapper/ceres_manager.h"
#include <core/utils/utils_gtest.h>
#include "core/utils/logging.h"
#include "IMU/internal/config.h"
#include <core/common/wolf.h>
#include <core/sensor/sensor_odom_3D.h>
#include <core/processor/processor_odom_3D.h>
#include <core/ceres_wrapper/ceres_manager.h>
#include <core/utils/utils_gtest.h>
#include <core/utils/logging.h>
// make my life easier
using namespace Eigen;
using namespace wolf;
......@@ -604,17 +605,12 @@ class Process_Factor_IMU_ODO : public Process_Factor_IMU
SensorBasePtr sensor = problem->installSensor ("ODOM 3D", "Odometer", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/demos/sensor_odom_3D.yaml" );
ProcessorBasePtr processor = problem->installProcessor("ODOM 3D", "Odometer", "Odometer" , wolf_root + "/demos/processor_odom_3D.yaml");
sensor_odo = static_pointer_cast<SensorOdom3D>(sensor);
processor_odo = static_pointer_cast<ProcessorOdom3D>(processor);
processor_odo->setTimeTolerance(dt/2);
// prevent this processor from voting by setting high thresholds :
processor_odo->setAngleTurned(999);
processor_odo->setDistTraveled(999);
processor_odo->setMaxBuffLength(999);
processor_odo->setMaxTimeSpan(999);
processor_odo->setVotingActive(false);
}
virtual void integrateAll() override
......@@ -1507,7 +1503,7 @@ int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
// ::testing::GTEST_FLAG(filter) = "Process_Factor_IMU.*";
// ::testing::GTEST_FLAG(filter) = "Process_Factor_IMU_ODO.*";
::testing::GTEST_FLAG(filter) = "Process_Factor_IMU_ODO.*";
// ::testing::GTEST_FLAG(filter) = "Process_Factor_IMU_ODO.RecoverTrajectory_MotionRandom_PqV_b__pqV_b";
return RUN_ALL_TESTS();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment