25 #ifndef INCLUDED_ParameterSets_h_GUID_3059CE4C_7E9B_4784_4678_5B01F94BC979 26 #define INCLUDED_ParameterSets_h_GUID_3059CE4C_7E9B_4784_4678_5B01F94BC979 40 namespace optimization_param_sets {
55 const auto &p = commonData.initialParams;
56 const auto posProcessNoise = p.processNoiseAutocorrelation[0];
57 const auto oriProcessNoise = p.processNoiseAutocorrelation[3];
59 x << posProcessNoise, oriProcessNoise,
60 p.linearVelocityDecayCoefficient,
61 p.angularVelocityDecayCoefficient,
62 p.noBeaconLinearVelocityDecayCoefficient;
67 static std::pair<double, double>
getRho() {
return {1e-10, 1e0}; }
89 return "position process noise autocorrelation, " 90 "orientation process noise autocorrelation, " 91 "linear velocity decay coefficient, " 92 "angular velocity decay coefficient, " 93 "no-beacon linear velocity decay coefficient";
99 static const char *
get() {
return "ProcessNoiseAndDecay"; }
113 const auto &p = commonData.initialParams;
114 const auto posProcessNoise = p.processNoiseAutocorrelation[0];
115 const auto oriProcessNoise = p.processNoiseAutocorrelation[3];
117 x << posProcessNoise, oriProcessNoise,
118 p.measurementVarianceScaleFactor,
119 p.linearVelocityDecayCoefficient,
120 p.angularVelocityDecayCoefficient;
125 static std::pair<double, double>
getRho() {
return {1e-10, 1e0}; }
148 return "position process noise autocorrelation, " 149 "orientation process noise autocorrelation, " 150 "video tracker measurement variance scale factor, " 151 "linear velocity decay coefficient, " 152 "angular velocity decay coefficient";
158 static const char *
get() {
return "ProcessNoiseVarianceAndDecay"; }
171 const auto &p = commonData.initialParams;
172 x << p.brightLedVariancePenalty, p.tuning.noveltyPenaltyBase;
177 static std::pair<double, double>
getRho() {
return {1e-5, 1e1}; }
185 p.tuning.noveltyPenaltyBase = x[1];
190 return "bright LED variance penalty,\n" 191 "novelty penalty base";
196 static const char *
get() {
return "BrightAndNew"; }
209 const auto &p = commonData.initialParams;
210 x << p.maxResidual, p.highResidualVariancePenalty;
215 static std::pair<double, double>
getRho() {
return {1e-4, 1e1}; }
227 return "max residual,\n" 228 "high residual variance penalty";
233 static const char *
get() {
return "HighResidual"; }
246 const auto &p = commonData.initialParams;
247 x << p.brightLedVariancePenalty, p.highResidualVariancePenalty,
248 p.measurementVarianceScaleFactor;
253 static std::pair<double, double>
getRho() {
return {1e-5, 1e1}; }
267 return "bright LED variance penalty,\n" 268 "high residual variance penalty,\n" 269 "measurement variance scale factor";
274 static const char *
get() {
return "VariancePenalties"; }
279 #endif // INCLUDED_ParameterSets_h_GUID_3059CE4C_7E9B_4784_4678_5B01F94BC979 Definition: ParameterSets.h:102
static std::pair< double, double > getRho()
required part of interface
Definition: ParameterSets.h:67
Definition: ParameterSets.h:161
Definition: ParameterSets.h:236
double linearVelocityDecayCoefficient
The value used in exponential decay of linear velocity: it's the proportion of that velocity remainin...
Definition: ConfigParams.h:151
double processNoiseAutocorrelation[6]
This is the autocorrelation kernel of the process noise.
Definition: ConfigParams.h:146
double highResidualVariancePenalty
This is the multiplicative penalty applied to the variance of measurements with a "bad" residual...
Definition: ConfigParams.h:208
static std::pair< double, double > getRho()
required part of interface
Definition: ParameterSets.h:125
static std::pair< double, double > getRho()
required part of interface
Definition: ParameterSets.h:215
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
double brightLedVariancePenalty
If shouldSkipBrightLeds is false, we use this value as a factor to increase the measurement variance ...
Definition: ConfigParams.h:235
static void updateParamsFromVec(ConfigParams &p, ParamVec const &x)
required part of interface
Definition: ParameterSets.h:180
static ParamVec getInitialVec(OptimCommonData const &commonData)
required part of interface
Definition: ParameterSets.h:169
double noBeaconLinearVelocityDecayCoefficient
The value used in an additional exponential decay of linear velocity when we've lost sight of all bea...
Definition: ConfigParams.h:162
Definition: ParameterSets.h:44
static std::pair< double, double > getRho()
required part of interface
Definition: ParameterSets.h:177
static const char * getVecElementNames()
required part of interface
Definition: ParameterSets.h:189
static ParamVec getInitialVec(OptimCommonData const &commonData)
required part of interface
Definition: ParameterSets.h:207
Definition: ParameterSets.h:199
static const char * getVecElementNames()
required part of interface
Definition: ParameterSets.h:88
static const size_t Dimension
required part of interface
Definition: ParameterSets.h:46
static const char * getVecElementNames()
required part of interface
Definition: ParameterSets.h:147
static void updateParamsFromVec(ConfigParams ¶ms, ParamVec const &x)
required part of interface
Definition: ParameterSets.h:128
General configuration parameters.
Definition: ConfigParams.h:82
static ParamVec getInitialVec(OptimCommonData const &commonData)
required part of interface
Definition: ParameterSets.h:52
static void updateParamsFromVec(ConfigParams &p, ParamVec const &x)
required part of interface
Definition: ParameterSets.h:256
static ParamVec getInitialVec(OptimCommonData const &commonData)
required part of interface
Definition: ParameterSets.h:244
double maxResidual
Max residual, in meters at the expected XY plane of the beacon in space, for a beacon before applying...
Definition: ConfigParams.h:123
static void updateParamsFromVec(ConfigParams ¶ms, ParamVec const &x)
required part of interface
Definition: ParameterSets.h:70
static std::pair< double, double > getRho()
required part of interface
Definition: ParameterSets.h:253
bool shouldSkipBrightLeds
Should we attempt to skip bright-mode LEDs? The alternative is to just give them slightly higher vari...
Definition: ConfigParams.h:229
double measurementVarianceScaleFactor
The measurement variance (units: m^2) is included in the plugin along with the coordinates of the bea...
Definition: ConfigParams.h:169
Input from main to the optimization routine (wrapper)
Definition: OptimizationBase.h:47
static const char * getVecElementNames()
required part of interface
Definition: ParameterSets.h:226
static const char * getVecElementNames()
required part of interface
Definition: ParameterSets.h:266
static void updateParamsFromVec(ConfigParams &p, ParamVec const &x)
required part of interface
Definition: ParameterSets.h:218
Trait for param set name.
Definition: ParameterSets.h:42
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:127
static ParamVec getInitialVec(OptimCommonData const &commonData)
required part of interface
Definition: ParameterSets.h:110
double angularVelocityDecayCoefficient
The value used in exponential decay of angular velocity: it's the proportion of that velocity remaini...
Definition: ConfigParams.h:156