Unsupported Parameter name error

Hi all,

I am getting an error saying unsupported parameter name ( in Java) . But I can not see the difference in parameter names based on the error report.

I am using tdoa measurements at multiple timestamps and estimating a clock-offset in one of the sensors. The code runs in the first time stamp without error. The error comes in the second iteration.
Error is not generated when predictedMeasurement is evaluated.
Error comes when AbstractKalmanMode - getMeasurementMatrix() is calling the getParameterDerivatives(final ParameterDriver driver) method in EstimatedMeasurement.java

The following is from debugging.

I tested the KF tutorial to estimate clock offset overriding sensor data. The tutorial code did not give an error.

Following is what I have in my EKF code.

final RealMatrix measurementP = kalmanParams.getMeasurementP() == null ? null : MatrixUtils.createRealDiagonalMatrix(kalmanParams.getMeasurementP());
final RealMatrix measurementQ = kalmanParams.getMeasurementQ() == null ? null : MatrixUtils.createRealDiagonalMatrix(kalmanParams.getMeasurementQ());

final ParameterDriversList estimatedMeasurementsParams = new ParameterDriversList();
for (ObservedMeasurement<?> measurement :measurementsMultiplexed) {
     final List<ParameterDriver> drivers = measurement.getParametersDrivers();
     for (ParameterDriver driver : drivers) {
            	//System.out.println(driver.getName());
            //	System.out.println("Measurement parameter = "+driver.getName()+" , "+driver.getValue()+", scale = "+driver.getScale());
                if (driver.isSelected()) {
                    // Add the driver
                    estimatedMeasurementsParams.add(driver);
                }
            }
        }
estimatedMeasurementsParams.sort();

kalmanBuilder.estimatedMeasurementsParameters(estimatedMeasurementsParams, new ConstantProcessNoise(measurementP,measurementQ));

I appreciate some help regarding the error.

Thank you.

Hi @niluj,

Sorry for the delay.
Did you manage to solve your problem?

Hard to say what’s happening without debugging…
EstimatedMeasurement.getParameterDerivatives looks for the variable to find the ParameterDriver in a map, and not just its name.
Since your measurements are multiplexed, the original ParameterDriver is transformed into a DelegatingDriver in the constructor of the MultiplexedMeasurement.
That might explain why the test on the variable doesn’t work…

It looks like a bug to me, could you please provide a runnable test case reproducing the issue?

Thanks,
Maxime

Hi MaximeJ,

Thank you for replying :slight_smile:
I had paused debugging the issue as I was not sure what to do.
I appreciate the suggestion. I did not think about that.
I am using multiple tdoa measurement at a single timestamp and was using Multiplexed measurements in EKF. I will first try without multiplexed measurements using a tdoa from a single pair of sensors and see whether the error comes.

Thank you!!!