1 /*
2 * Copyright (C) 2020 Alberto Irurueta Carro (alberto@irurueta.com)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package com.irurueta.navigation.inertial.calibration.accelerometer;
17
18 import com.irurueta.algebra.Matrix;
19 import com.irurueta.navigation.LockedException;
20 import com.irurueta.navigation.inertial.calibration.StandardDeviationBodyKinematics;
21 import com.irurueta.units.Acceleration;
22
23 import java.util.Collection;
24
25 /**
26 * Estimates accelerometer cross couplings and scaling factors when accelerometer biases
27 * are known.
28 * This calibrator uses Levenberg-Marquardt to find a minimum least squared error
29 * solution.
30 * <p>
31 * To use this calibrator at least 7 measurements taken at a single position where
32 * gravity norm is known must be taken at 7 different unknown orientations and
33 * zero velocity when common z-axis is assumed, otherwise at least 10 measurements
34 * are required.
35 * <p>
36 * Measured specific force is assumed to follow the model shown below:
37 * <pre>
38 * fmeas = ba + (I + Ma) * ftrue + w
39 * </pre>
40 * Where:
41 * - fmeas is the measured specific force. This is a 3x1 vector.
42 * - ba is accelerometer bias, which is known. This is a 3x1 vector.
43 * - I is the 3x3 identity matrix.
44 * - Ma is the 3x3 matrix containing cross-couplings and scaling factors. Ideally, on
45 * a perfect accelerometer, this should be a 3x3 zero matrix.
46 * - ftrue is ground-truth specific force.
47 * - w is measurement noise.
48 */
49 public class KnownBiasAndGravityNormAccelerometerCalibrator extends
50 BaseBiasGravityNormAccelerometerCalibrator<KnownBiasAndGravityNormAccelerometerCalibrator,
51 KnownBiasAndGravityNormAccelerometerCalibratorListener> {
52
53 /**
54 * Constructor.
55 */
56 public KnownBiasAndGravityNormAccelerometerCalibrator() {
57 super();
58 }
59
60 /**
61 * Constructor.
62 *
63 * @param listener listener to handle events raised by this calibrator.
64 */
65 public KnownBiasAndGravityNormAccelerometerCalibrator(
66 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
67 super(listener);
68 }
69
70 /**
71 * Constructor.
72 *
73 * @param measurements collection of body kinematics measurements with standard
74 * deviations taken at the same position with zero velocity
75 * and unknown different orientations.
76 */
77 public KnownBiasAndGravityNormAccelerometerCalibrator(
78 final Collection<StandardDeviationBodyKinematics> measurements) {
79 super(measurements);
80 }
81
82 /**
83 * Constructor.
84 *
85 * @param measurements collection of body kinematics measurements with standard
86 * deviations taken at the same position with zero velocity
87 * and unknown different orientations.
88 * @param listener listener to handle events raised by this calibrator.
89 */
90 public KnownBiasAndGravityNormAccelerometerCalibrator(
91 final Collection<StandardDeviationBodyKinematics> measurements,
92 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
93 super(measurements, listener);
94 }
95
96 /**
97 * Constructor.
98 *
99 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
100 * accelerometer and gyroscope.
101 */
102 public KnownBiasAndGravityNormAccelerometerCalibrator(final boolean commonAxisUsed) {
103 super(commonAxisUsed);
104 }
105
106 /**
107 * Constructor.
108 *
109 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
110 * accelerometer and gyroscope.
111 * @param listener listener to handle events raised by this calibrator.
112 */
113 public KnownBiasAndGravityNormAccelerometerCalibrator(
114 final boolean commonAxisUsed,
115 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
116 super(commonAxisUsed, listener);
117 }
118
119 /**
120 * Constructor.
121 *
122 * @param measurements collection of body kinematics measurements with standard
123 * deviations taken at the same position with zero velocity
124 * and unknown different orientations.
125 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
126 * accelerometer and gyroscope.
127 */
128 public KnownBiasAndGravityNormAccelerometerCalibrator(
129 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed) {
130 super(measurements, commonAxisUsed);
131 }
132
133 /**
134 * Constructor.
135 *
136 * @param measurements collection of body kinematics measurements with standard
137 * deviations taken at the same position with zero velocity
138 * and unknown different orientations.
139 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
140 * accelerometer and gyroscope.
141 * @param listener listener to handle events raised by this calibrator.
142 */
143 public KnownBiasAndGravityNormAccelerometerCalibrator(
144 final Collection<StandardDeviationBodyKinematics> measurements,
145 final boolean commonAxisUsed,
146 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
147 super(measurements, commonAxisUsed, listener);
148 }
149
150 /**
151 * Constructor.
152 *
153 * @param biasX x-coordinate of accelerometer bias.
154 * This is expressed in meters per squared second (m/s^2).
155 * @param biasY y-coordinate of accelerometer bias.
156 * This is expressed in meters per squared second (m/s^2).
157 * @param biasZ z-coordinate of accelerometer bias.
158 * This is expressed in meters per squared second (m/s^2).
159 */
160 public KnownBiasAndGravityNormAccelerometerCalibrator(final double biasX, final double biasY, final double biasZ) {
161 super(biasX, biasY, biasZ);
162 }
163
164 /**
165 * Constructor.
166 *
167 * @param biasX x-coordinate of accelerometer bias.
168 * This is expressed in meters per squared second (m/s^2).
169 * @param biasY y-coordinate of accelerometer bias.
170 * This is expressed in meters per squared second (m/s^2).
171 * @param biasZ z-coordinate of accelerometer bias.
172 * This is expressed in meters per squared second (m/s^2).
173 * @param listener listener to handle events raised by this calibrator.
174 */
175 public KnownBiasAndGravityNormAccelerometerCalibrator(
176 final double biasX, final double biasY, final double biasZ,
177 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
178 super(biasX, biasY, biasZ, listener);
179 }
180
181 /**
182 * Constructor.
183 *
184 * @param measurements collection of body kinematics measurements with standard
185 * deviations taken at the same position with zero velocity
186 * and unknown different orientations.
187 * @param biasX x-coordinate of accelerometer bias.
188 * This is expressed in meters per squared second (m/s^2).
189 * @param biasY y-coordinate of accelerometer bias.
190 * This is expressed in meters per squared second (m/s^2).
191 * @param biasZ z-coordinate of accelerometer bias.
192 * This is expressed in meters per squared second (m/s^2).
193 */
194 public KnownBiasAndGravityNormAccelerometerCalibrator(
195 final Collection<StandardDeviationBodyKinematics> measurements,
196 final double biasX, final double biasY, final double biasZ) {
197 super(measurements, biasX, biasY, biasZ);
198 }
199
200 /**
201 * Constructor.
202 *
203 * @param measurements collection of body kinematics measurements with standard
204 * deviations taken at the same position with zero velocity
205 * and unknown different orientations.
206 * @param biasX x-coordinate of accelerometer bias.
207 * This is expressed in meters per squared second (m/s^2).
208 * @param biasY y-coordinate of accelerometer bias.
209 * This is expressed in meters per squared second (m/s^2).
210 * @param biasZ z-coordinate of accelerometer bias.
211 * This is expressed in meters per squared second (m/s^2).
212 * @param listener listener to handle events raised by this calibrator.
213 */
214 public KnownBiasAndGravityNormAccelerometerCalibrator(
215 final Collection<StandardDeviationBodyKinematics> measurements,
216 final double biasX, final double biasY, final double biasZ,
217 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
218 super(measurements, biasX, biasY, biasZ, listener);
219 }
220
221 /**
222 * Constructor.
223 *
224 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
225 * accelerometer and gyroscope.
226 * @param biasX x-coordinate of accelerometer bias.
227 * This is expressed in meters per squared second (m/s^2).
228 * @param biasY y-coordinate of accelerometer bias.
229 * This is expressed in meters per squared second (m/s^2).
230 * @param biasZ z-coordinate of accelerometer bias.
231 * This is expressed in meters per squared second (m/s^2).
232 */
233 public KnownBiasAndGravityNormAccelerometerCalibrator(
234 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ) {
235 super(commonAxisUsed, biasX, biasY, biasZ);
236 }
237
238 /**
239 * Constructor.
240 *
241 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
242 * accelerometer and gyroscope.
243 * @param biasX x-coordinate of accelerometer bias.
244 * This is expressed in meters per squared second (m/s^2).
245 * @param biasY y-coordinate of accelerometer bias.
246 * This is expressed in meters per squared second (m/s^2).
247 * @param biasZ z-coordinate of accelerometer bias.
248 * This is expressed in meters per squared second (m/s^2).
249 * @param listener listener to handle events raised by this calibrator.
250 */
251 public KnownBiasAndGravityNormAccelerometerCalibrator(
252 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
253 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
254 super(commonAxisUsed, biasX, biasY, biasZ, listener);
255 }
256
257 /**
258 * Constructor.
259 *
260 * @param measurements collection of body kinematics measurements with standard
261 * deviations taken at the same position with zero velocity
262 * and unknown different orientations.
263 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
264 * accelerometer and gyroscope.
265 * @param biasX x-coordinate of accelerometer bias.
266 * This is expressed in meters per squared second (m/s^2).
267 * @param biasY y-coordinate of accelerometer bias.
268 * This is expressed in meters per squared second (m/s^2).
269 * @param biasZ z-coordinate of accelerometer bias.
270 * This is expressed in meters per squared second (m/s^2).
271 */
272 public KnownBiasAndGravityNormAccelerometerCalibrator(
273 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
274 final double biasX, final double biasY, final double biasZ) {
275 super(measurements, commonAxisUsed, biasX, biasY, biasZ);
276 }
277
278 /**
279 * Constructor.
280 *
281 * @param measurements collection of body kinematics measurements with standard
282 * deviations taken at the same position with zero velocity
283 * and unknown different orientations.
284 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
285 * accelerometer and gyroscope.
286 * @param biasX x-coordinate of accelerometer bias.
287 * This is expressed in meters per squared second (m/s^2).
288 * @param biasY y-coordinate of accelerometer bias.
289 * This is expressed in meters per squared second (m/s^2).
290 * @param biasZ z-coordinate of accelerometer bias.
291 * This is expressed in meters per squared second (m/s^2).
292 * @param listener listener to handle events raised by this calibrator.
293 */
294 public KnownBiasAndGravityNormAccelerometerCalibrator(
295 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
296 final double biasX, final double biasY, final double biasZ,
297 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
298 super(measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
299 }
300
301 /**
302 * Constructor.
303 *
304 * @param biasX x-coordinate of accelerometer bias.
305 * @param biasY y-coordinate of accelerometer bias.
306 * @param biasZ z-coordinate of accelerometer bias.
307 */
308 public KnownBiasAndGravityNormAccelerometerCalibrator(
309 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
310 super(biasX, biasY, biasZ);
311 }
312
313 /**
314 * Constructor.
315 *
316 * @param biasX x-coordinate of accelerometer bias.
317 * @param biasY y-coordinate of accelerometer bias.
318 * @param biasZ z-coordinate of accelerometer bias.
319 * @param listener listener to handle events raised by this calibrator.
320 */
321 public KnownBiasAndGravityNormAccelerometerCalibrator(
322 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
323 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
324 super(biasX, biasY, biasZ, listener);
325 }
326
327 /**
328 * Constructor.
329 *
330 * @param measurements collection of body kinematics measurements with standard
331 * deviations taken at the same position with zero velocity
332 * and unknown different orientations.
333 * @param biasX x-coordinate of accelerometer bias.
334 * @param biasY y-coordinate of accelerometer bias.
335 * @param biasZ z-coordinate of accelerometer bias.
336 */
337 public KnownBiasAndGravityNormAccelerometerCalibrator(
338 final Collection<StandardDeviationBodyKinematics> measurements,
339 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
340 super(measurements, biasX, biasY, biasZ);
341 }
342
343 /**
344 * Constructor.
345 *
346 * @param measurements collection of body kinematics measurements with standard
347 * deviations taken at the same position with zero velocity
348 * and unknown different orientations.
349 * @param biasX x-coordinate of accelerometer bias.
350 * @param biasY y-coordinate of accelerometer bias.
351 * @param biasZ z-coordinate of accelerometer bias.
352 * @param listener listener to handle events raised by this calibrator.
353 */
354 public KnownBiasAndGravityNormAccelerometerCalibrator(
355 final Collection<StandardDeviationBodyKinematics> measurements,
356 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
357 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
358 super(measurements, biasX, biasY, biasZ, listener);
359 }
360
361 /**
362 * Constructor.
363 *
364 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
365 * accelerometer and gyroscope.
366 * @param biasX x-coordinate of accelerometer bias.
367 * @param biasY y-coordinate of accelerometer bias.
368 * @param biasZ z-coordinate of accelerometer bias.
369 */
370 public KnownBiasAndGravityNormAccelerometerCalibrator(
371 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY,
372 final Acceleration biasZ) {
373 super(commonAxisUsed, biasX, biasY, biasZ);
374 }
375
376 /**
377 * Constructor.
378 *
379 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
380 * accelerometer and gyroscope.
381 * @param biasX x-coordinate of accelerometer bias.
382 * @param biasY y-coordinate of accelerometer bias.
383 * @param biasZ z-coordinate of accelerometer bias.
384 * @param listener listener to handle events raised by this calibrator.
385 */
386 public KnownBiasAndGravityNormAccelerometerCalibrator(
387 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
388 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
389 super(commonAxisUsed, biasX, biasY, biasZ, listener);
390 }
391
392 /**
393 * Constructor.
394 *
395 * @param measurements collection of body kinematics measurements with standard
396 * deviations taken at the same position with zero velocity
397 * and unknown different orientations.
398 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
399 * accelerometer and gyroscope.
400 * @param biasX x-coordinate of accelerometer bias.
401 * @param biasY y-coordinate of accelerometer bias.
402 * @param biasZ z-coordinate of accelerometer bias.
403 */
404 public KnownBiasAndGravityNormAccelerometerCalibrator(
405 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
406 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
407 super(measurements, commonAxisUsed, biasX, biasY, biasZ);
408 }
409
410 /**
411 * Constructor.
412 *
413 * @param measurements collection of body kinematics measurements with standard
414 * deviations taken at the same position with zero velocity
415 * and unknown different orientations.
416 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
417 * accelerometer and gyroscope.
418 * @param biasX x-coordinate of accelerometer bias.
419 * @param biasY y-coordinate of accelerometer bias.
420 * @param biasZ z-coordinate of accelerometer bias.
421 * @param listener listener to handle events raised by this calibrator.
422 */
423 public KnownBiasAndGravityNormAccelerometerCalibrator(
424 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
425 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
426 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
427 super(measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
428 }
429
430 /**
431 * Constructor.
432 *
433 * @param biasX x-coordinate of accelerometer bias.
434 * This is expressed in meters per squared second (m/s^2).
435 * @param biasY y-coordinate of accelerometer bias.
436 * This is expressed in meters per squared second (m/s^2).
437 * @param biasZ z-coordinate of accelerometer bias.
438 * This is expressed in meters per squared second (m/s^2).
439 * @param initialSx initial x scaling factor.
440 * @param initialSy initial y scaling factor.
441 * @param initialSz initial z scaling factor.
442 */
443 public KnownBiasAndGravityNormAccelerometerCalibrator(
444 final double biasX, final double biasY, final double biasZ,
445 final double initialSx, final double initialSy, final double initialSz) {
446 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz);
447 }
448
449 /**
450 * Constructor.
451 *
452 * @param measurements collection of body kinematics measurements with standard
453 * deviations taken at the same position with zero velocity
454 * and unknown different orientations.
455 * @param biasX x-coordinate of accelerometer bias.
456 * This is expressed in meters per squared second (m/s^2).
457 * @param biasY y-coordinate of accelerometer bias.
458 * This is expressed in meters per squared second (m/s^2).
459 * @param biasZ z-coordinate of accelerometer bias.
460 * This is expressed in meters per squared second (m/s^2).
461 * @param initialSx initial x scaling factor.
462 * @param initialSy initial y scaling factor.
463 * @param initialSz initial z scaling factor.
464 */
465 public KnownBiasAndGravityNormAccelerometerCalibrator(
466 final Collection<StandardDeviationBodyKinematics> measurements,
467 final double biasX, final double biasY, final double biasZ,
468 final double initialSx, final double initialSy, final double initialSz) {
469 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
470 }
471
472 /**
473 * Constructor.
474 *
475 * @param measurements collection of body kinematics measurements with standard
476 * deviations taken at the same position with zero velocity
477 * and unknown different orientations.
478 * @param biasX x-coordinate of accelerometer bias.
479 * This is expressed in meters per squared second (m/s^2).
480 * @param biasY y-coordinate of accelerometer bias.
481 * This is expressed in meters per squared second (m/s^2).
482 * @param biasZ z-coordinate of accelerometer bias.
483 * This is expressed in meters per squared second (m/s^2).
484 * @param initialSx initial x scaling factor.
485 * @param initialSy initial y scaling factor.
486 * @param initialSz initial z scaling factor.
487 * @param listener listener to handle events raised by this calibrator.
488 */
489 public KnownBiasAndGravityNormAccelerometerCalibrator(
490 final Collection<StandardDeviationBodyKinematics> measurements,
491 final double biasX, final double biasY, final double biasZ,
492 final double initialSx, final double initialSy, final double initialSz,
493 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
494 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
495 }
496
497 /**
498 * Constructor.
499 *
500 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
501 * accelerometer and gyroscope.
502 * @param biasX x-coordinate of accelerometer bias.
503 * This is expressed in meters per squared second (m/s^2).
504 * @param biasY y-coordinate of accelerometer bias.
505 * This is expressed in meters per squared second (m/s^2).
506 * @param biasZ z-coordinate of accelerometer bias.
507 * This is expressed in meters per squared second (m/s^2).
508 * @param initialSx initial x scaling factor.
509 * @param initialSy initial y scaling factor.
510 * @param initialSz initial z scaling factor.
511 */
512 public KnownBiasAndGravityNormAccelerometerCalibrator(
513 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
514 final double initialSx, final double initialSy, final double initialSz) {
515 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
516 }
517
518 /**
519 * Constructor.
520 *
521 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
522 * accelerometer and gyroscope.
523 * @param biasX x-coordinate of accelerometer bias.
524 * This is expressed in meters per squared second (m/s^2).
525 * @param biasY y-coordinate of accelerometer bias.
526 * This is expressed in meters per squared second (m/s^2).
527 * @param biasZ z-coordinate of accelerometer bias.
528 * This is expressed in meters per squared second (m/s^2).
529 * @param initialSx initial x scaling factor.
530 * @param initialSy initial y scaling factor.
531 * @param initialSz initial z scaling factor.
532 * @param listener listener to handle events raised by this calibrator.
533 */
534 public KnownBiasAndGravityNormAccelerometerCalibrator(
535 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
536 final double initialSx, final double initialSy, final double initialSz,
537 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
538 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
539 }
540
541 /**
542 * Constructor.
543 *
544 * @param measurements collection of body kinematics measurements with standard
545 * deviations taken at the same position with zero velocity
546 * and unknown different orientations.
547 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
548 * accelerometer and gyroscope.
549 * @param biasX x-coordinate of accelerometer bias.
550 * This is expressed in meters per squared second (m/s^2).
551 * @param biasY y-coordinate of accelerometer bias.
552 * This is expressed in meters per squared second (m/s^2).
553 * @param biasZ z-coordinate of accelerometer bias.
554 * This is expressed in meters per squared second (m/s^2).
555 * @param initialSx initial x scaling factor.
556 * @param initialSy initial y scaling factor.
557 * @param initialSz initial z scaling factor.
558 */
559 public KnownBiasAndGravityNormAccelerometerCalibrator(
560 final Collection<StandardDeviationBodyKinematics> measurements,
561 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
562 final double initialSx, final double initialSy, final double initialSz) {
563 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
564 }
565
566 /**
567 * Constructor.
568 *
569 * @param measurements collection of body kinematics measurements with standard
570 * deviations taken at the same position with zero velocity
571 * and unknown different orientations.
572 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
573 * accelerometer and gyroscope.
574 * @param biasX x-coordinate of accelerometer bias.
575 * This is expressed in meters per squared second (m/s^2).
576 * @param biasY y-coordinate of accelerometer bias.
577 * This is expressed in meters per squared second (m/s^2).
578 * @param biasZ z-coordinate of accelerometer bias.
579 * This is expressed in meters per squared second (m/s^2).
580 * @param initialSx initial x scaling factor.
581 * @param initialSy initial y scaling factor.
582 * @param initialSz initial z scaling factor.
583 * @param listener listener to handle events raised by this calibrator.
584 */
585 public KnownBiasAndGravityNormAccelerometerCalibrator(
586 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
587 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
588 final double initialSz, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
589 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
590 }
591
592 /**
593 * Constructor.
594 *
595 * @param biasX x-coordinate of accelerometer bias.
596 * @param biasY y-coordinate of accelerometer bias.
597 * @param biasZ z-coordinate of accelerometer bias.
598 * @param initialSx initial x scaling factor.
599 * @param initialSy initial y scaling factor.
600 * @param initialSz initial z scaling factor.
601 */
602 public KnownBiasAndGravityNormAccelerometerCalibrator(
603 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
604 final double initialSx, final double initialSy, final double initialSz) {
605 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz);
606 }
607
608 /**
609 * Constructor.
610 *
611 * @param biasX x-coordinate of accelerometer bias.
612 * @param biasY y-coordinate of accelerometer bias.
613 * @param biasZ z-coordinate of accelerometer bias.
614 * @param initialSx initial x scaling factor.
615 * @param initialSy initial y scaling factor.
616 * @param initialSz initial z scaling factor.
617 * @param listener listener to handle events raised by this calibrator.
618 */
619 public KnownBiasAndGravityNormAccelerometerCalibrator(
620 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
621 final double initialSx, final double initialSy, final double initialSz,
622 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
623 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
624 }
625
626 /**
627 * Constructor.
628 *
629 * @param measurements collection of body kinematics measurements with standard
630 * deviations taken at the same position with zero velocity
631 * and unknown different orientations.
632 * @param biasX x-coordinate of accelerometer bias.
633 * @param biasY y-coordinate of accelerometer bias.
634 * @param biasZ z-coordinate of accelerometer bias.
635 * @param initialSx initial x scaling factor.
636 * @param initialSy initial y scaling factor.
637 * @param initialSz initial z scaling factor.
638 */
639 public KnownBiasAndGravityNormAccelerometerCalibrator(
640 final Collection<StandardDeviationBodyKinematics> measurements,
641 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
642 final double initialSx, final double initialSy, final double initialSz) {
643 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
644 }
645
646 /**
647 * Constructor.
648 *
649 * @param measurements collection of body kinematics measurements with standard
650 * deviations taken at the same position with zero velocity
651 * and unknown different orientations.
652 * @param biasX x-coordinate of accelerometer bias.
653 * @param biasY y-coordinate of accelerometer bias.
654 * @param biasZ z-coordinate of accelerometer bias.
655 * @param initialSx initial x scaling factor.
656 * @param initialSy initial y scaling factor.
657 * @param initialSz initial z scaling factor.
658 * @param listener listener to handle events raised by this calibrator.
659 */
660 public KnownBiasAndGravityNormAccelerometerCalibrator(
661 final Collection<StandardDeviationBodyKinematics> measurements,
662 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
663 final double initialSx, final double initialSy, final double initialSz,
664 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
665 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
666 }
667
668 /**
669 * Constructor.
670 *
671 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
672 * accelerometer and gyroscope.
673 * @param biasX x-coordinate of accelerometer bias.
674 * @param biasY y-coordinate of accelerometer bias.
675 * @param biasZ z-coordinate of accelerometer bias.
676 * @param initialSx initial x scaling factor.
677 * @param initialSy initial y scaling factor.
678 * @param initialSz initial z scaling factor.
679 */
680 public KnownBiasAndGravityNormAccelerometerCalibrator(
681 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
682 final double initialSx, final double initialSy, final double initialSz) {
683 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
684 }
685
686 /**
687 * Constructor.
688 *
689 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
690 * accelerometer and gyroscope.
691 * @param biasX x-coordinate of accelerometer bias.
692 * @param biasY y-coordinate of accelerometer bias.
693 * @param biasZ z-coordinate of accelerometer bias.
694 * @param initialSx initial x scaling factor.
695 * @param initialSy initial y scaling factor.
696 * @param initialSz initial z scaling factor.
697 * @param listener listener to handle events raised by this calibrator.
698 */
699 public KnownBiasAndGravityNormAccelerometerCalibrator(
700 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
701 final double initialSx, final double initialSy, final double initialSz,
702 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
703 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
704 }
705
706 /**
707 * Constructor.
708 *
709 * @param measurements collection of body kinematics measurements with standard
710 * deviations taken at the same position with zero velocity
711 * and unknown different orientations.
712 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
713 * accelerometer and gyroscope.
714 * @param biasX x-coordinate of accelerometer bias.
715 * @param biasY y-coordinate of accelerometer bias.
716 * @param biasZ z-coordinate of accelerometer bias.
717 * @param initialSx initial x scaling factor.
718 * @param initialSy initial y scaling factor.
719 * @param initialSz initial z scaling factor.
720 */
721 public KnownBiasAndGravityNormAccelerometerCalibrator(
722 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
723 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
724 final double initialSx, final double initialSy, final double initialSz) {
725 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
726 }
727
728 /**
729 * Constructor.
730 *
731 * @param measurements collection of body kinematics measurements with standard
732 * deviations taken at the same position with zero velocity
733 * and unknown different orientations.
734 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
735 * accelerometer and gyroscope.
736 * @param biasX x-coordinate of accelerometer bias.
737 * @param biasY y-coordinate of accelerometer bias.
738 * @param biasZ z-coordinate of accelerometer bias.
739 * @param initialSx initial x scaling factor.
740 * @param initialSy initial y scaling factor.
741 * @param initialSz initial z scaling factor.
742 * @param listener listener to handle events raised by this calibrator.
743 */
744 public KnownBiasAndGravityNormAccelerometerCalibrator(
745 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
746 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
747 final double initialSx, final double initialSy, final double initialSz,
748 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
749 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
750 }
751
752 /**
753 * Constructor.
754 *
755 * @param biasX x-coordinate of accelerometer bias.
756 * This is expressed in meters per squared second (m/s^2).
757 * @param biasY y-coordinate of accelerometer bias.
758 * This is expressed in meters per squared second (m/s^2).
759 * @param biasZ z-coordinate of accelerometer bias.
760 * This is expressed in meters per squared second (m/s^2).
761 * @param initialSx initial x scaling factor.
762 * @param initialSy initial y scaling factor.
763 * @param initialSz initial z scaling factor.
764 * @param initialMxy initial x-y cross coupling error.
765 * @param initialMxz initial x-z cross coupling error.
766 * @param initialMyx initial y-x cross coupling error.
767 * @param initialMyz initial y-z cross coupling error.
768 * @param initialMzx initial z-x cross coupling error.
769 * @param initialMzy initial z-y cross coupling error.
770 */
771 public KnownBiasAndGravityNormAccelerometerCalibrator(
772 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
773 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
774 final double initialMyz, final double initialMzx, final double initialMzy) {
775 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx, initialMyz,
776 initialMzx, initialMzy);
777 }
778
779 /**
780 * Constructor.
781 *
782 * @param measurements collection of body kinematics measurements with standard
783 * deviations taken at the same position with zero velocity
784 * and unknown different orientations.
785 * @param biasX x-coordinate of accelerometer bias.
786 * This is expressed in meters per squared second (m/s^2).
787 * @param biasY y-coordinate of accelerometer bias.
788 * This is expressed in meters per squared second (m/s^2).
789 * @param biasZ z-coordinate of accelerometer bias.
790 * This is expressed in meters per squared second (m/s^2).
791 * @param initialSx initial x scaling factor.
792 * @param initialSy initial y scaling factor.
793 * @param initialSz initial z scaling factor.
794 * @param initialMxy initial x-y cross coupling error.
795 * @param initialMxz initial x-z cross coupling error.
796 * @param initialMyx initial y-x cross coupling error.
797 * @param initialMyz initial y-z cross coupling error.
798 * @param initialMzx initial z-x cross coupling error.
799 * @param initialMzy initial z-y cross coupling error.
800 */
801 public KnownBiasAndGravityNormAccelerometerCalibrator(
802 final Collection<StandardDeviationBodyKinematics> measurements, final double biasX, final double biasY,
803 final double biasZ, final double initialSx, final double initialSy, final double initialSz,
804 final double initialMxy, final double initialMxz, final double initialMyx, final double initialMyz,
805 final double initialMzx, final double initialMzy) {
806 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
807 initialMyz, initialMzx, initialMzy);
808 }
809
810 /**
811 * Constructor.
812 *
813 * @param measurements collection of body kinematics measurements with standard
814 * deviations taken at the same position with zero velocity
815 * and unknown different orientations.
816 * @param biasX x-coordinate of accelerometer bias.
817 * This is expressed in meters per squared second (m/s^2).
818 * @param biasY y-coordinate of accelerometer bias.
819 * This is expressed in meters per squared second (m/s^2).
820 * @param biasZ z-coordinate of accelerometer bias.
821 * This is expressed in meters per squared second (m/s^2).
822 * @param initialSx initial x scaling factor.
823 * @param initialSy initial y scaling factor.
824 * @param initialSz initial z scaling factor.
825 * @param initialMxy initial x-y cross coupling error.
826 * @param initialMxz initial x-z cross coupling error.
827 * @param initialMyx initial y-x cross coupling error.
828 * @param initialMyz initial y-z cross coupling error.
829 * @param initialMzx initial z-x cross coupling error.
830 * @param initialMzy initial z-y cross coupling error.
831 * @param listener listener to handle events raised by this calibrator.
832 */
833 public KnownBiasAndGravityNormAccelerometerCalibrator(
834 final Collection<StandardDeviationBodyKinematics> measurements,
835 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
836 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
837 final double initialMyz, final double initialMzx, final double initialMzy,
838 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
839 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
840 initialMyz, initialMzx, initialMzy, listener);
841 }
842
843 /**
844 * Constructor.
845 *
846 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
847 * accelerometer and gyroscope.
848 * @param biasX x-coordinate of accelerometer bias.
849 * This is expressed in meters per squared second (m/s^2).
850 * @param biasY y-coordinate of accelerometer bias.
851 * This is expressed in meters per squared second (m/s^2).
852 * @param biasZ z-coordinate of accelerometer bias.
853 * This is expressed in meters per squared second (m/s^2).
854 * @param initialSx initial x scaling factor.
855 * @param initialSy initial y scaling factor.
856 * @param initialSz initial z scaling factor.
857 * @param initialMxy initial x-y cross coupling error.
858 * @param initialMxz initial x-z cross coupling error.
859 * @param initialMyx initial y-x cross coupling error.
860 * @param initialMyz initial y-z cross coupling error.
861 * @param initialMzx initial z-x cross coupling error.
862 * @param initialMzy initial z-y cross coupling error.
863 */
864 public KnownBiasAndGravityNormAccelerometerCalibrator(
865 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
866 final double initialSx, final double initialSy, final double initialSz, final double initialMxy,
867 final double initialMxz, final double initialMyx, final double initialMyz, final double initialMzx,
868 final double initialMzy) {
869 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
870 initialMyz, initialMzx, initialMzy);
871 }
872
873 /**
874 * Constructor.
875 *
876 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
877 * accelerometer and gyroscope.
878 * @param biasX x-coordinate of accelerometer bias.
879 * This is expressed in meters per squared second (m/s^2).
880 * @param biasY y-coordinate of accelerometer bias.
881 * This is expressed in meters per squared second (m/s^2).
882 * @param biasZ z-coordinate of accelerometer bias.
883 * This is expressed in meters per squared second (m/s^2).
884 * @param initialSx initial x scaling factor.
885 * @param initialSy initial y scaling factor.
886 * @param initialSz initial z scaling factor.
887 * @param initialMxy initial x-y cross coupling error.
888 * @param initialMxz initial x-z cross coupling error.
889 * @param initialMyx initial y-x cross coupling error.
890 * @param initialMyz initial y-z cross coupling error.
891 * @param initialMzx initial z-x cross coupling error.
892 * @param initialMzy initial z-y cross coupling error.
893 * @param listener listener to handle events raised by this calibrator.
894 */
895 public KnownBiasAndGravityNormAccelerometerCalibrator(
896 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
897 final double initialSx, final double initialSy, final double initialSz, final double initialMxy,
898 final double initialMxz, final double initialMyx, final double initialMyz, final double initialMzx,
899 final double initialMzy, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
900 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
901 initialMyz, initialMzx, initialMzy, listener);
902 }
903
904 /**
905 * Constructor.
906 *
907 * @param measurements collection of body kinematics measurements with standard
908 * deviations taken at the same position with zero velocity
909 * and unknown different orientations.
910 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
911 * accelerometer and gyroscope.
912 * @param biasX x-coordinate of accelerometer bias.
913 * This is expressed in meters per squared second (m/s^2).
914 * @param biasY y-coordinate of accelerometer bias.
915 * This is expressed in meters per squared second (m/s^2).
916 * @param biasZ z-coordinate of accelerometer bias.
917 * This is expressed in meters per squared second (m/s^2).
918 * @param initialSx initial x scaling factor.
919 * @param initialSy initial y scaling factor.
920 * @param initialSz initial z scaling factor.
921 * @param initialMxy initial x-y cross coupling error.
922 * @param initialMxz initial x-z cross coupling error.
923 * @param initialMyx initial y-x cross coupling error.
924 * @param initialMyz initial y-z cross coupling error.
925 * @param initialMzx initial z-x cross coupling error.
926 * @param initialMzy initial z-y cross coupling error.
927 */
928 public KnownBiasAndGravityNormAccelerometerCalibrator(
929 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
930 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
931 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
932 final double initialMyz, final double initialMzx, final double initialMzy) {
933 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
934 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
935 }
936
937 /**
938 * Constructor.
939 *
940 * @param measurements collection of body kinematics measurements with standard
941 * deviations taken at the same position with zero velocity
942 * and unknown different orientations.
943 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
944 * accelerometer and gyroscope.
945 * @param biasX x-coordinate of accelerometer bias.
946 * This is expressed in meters per squared second (m/s^2).
947 * @param biasY y-coordinate of accelerometer bias.
948 * This is expressed in meters per squared second (m/s^2).
949 * @param biasZ z-coordinate of accelerometer bias.
950 * This is expressed in meters per squared second (m/s^2).
951 * @param initialSx initial x scaling factor.
952 * @param initialSy initial y scaling factor.
953 * @param initialSz initial z scaling factor.
954 * @param initialMxy initial x-y cross coupling error.
955 * @param initialMxz initial x-z cross coupling error.
956 * @param initialMyx initial y-x cross coupling error.
957 * @param initialMyz initial y-z cross coupling error.
958 * @param initialMzx initial z-x cross coupling error.
959 * @param initialMzy initial z-y cross coupling error.
960 * @param listener listener to handle events raised by this calibrator.
961 */
962 public KnownBiasAndGravityNormAccelerometerCalibrator(
963 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
964 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
965 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
966 final double initialMyz, final double initialMzx, final double initialMzy,
967 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
968 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
969 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
970 }
971
972 /**
973 * Constructor.
974 *
975 * @param biasX x-coordinate of accelerometer bias.
976 * @param biasY y-coordinate of accelerometer bias.
977 * @param biasZ z-coordinate of accelerometer bias.
978 * @param initialSx initial x scaling factor.
979 * @param initialSy initial y scaling factor.
980 * @param initialSz initial z scaling factor.
981 * @param initialMxy initial x-y cross coupling error.
982 * @param initialMxz initial x-z cross coupling error.
983 * @param initialMyx initial y-x cross coupling error.
984 * @param initialMyz initial y-z cross coupling error.
985 * @param initialMzx initial z-x cross coupling error.
986 * @param initialMzy initial z-y cross coupling error.
987 */
988 public KnownBiasAndGravityNormAccelerometerCalibrator(
989 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
990 final double initialSy, final double initialSz, final double initialMxy, final double initialMxz,
991 final double initialMyx, final double initialMyz, final double initialMzx, final double initialMzy) {
992 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
993 initialMyz, initialMzx, initialMzy);
994 }
995
996 /**
997 * Constructor.
998 *
999 * @param biasX x-coordinate of accelerometer bias.
1000 * @param biasY y-coordinate of accelerometer bias.
1001 * @param biasZ z-coordinate of accelerometer bias.
1002 * @param initialSx initial x scaling factor.
1003 * @param initialSy initial y scaling factor.
1004 * @param initialSz initial z scaling factor.
1005 * @param initialMxy initial x-y cross coupling error.
1006 * @param initialMxz initial x-z cross coupling error.
1007 * @param initialMyx initial y-x cross coupling error.
1008 * @param initialMyz initial y-z cross coupling error.
1009 * @param initialMzx initial z-x cross coupling error.
1010 * @param initialMzy initial z-y cross coupling error.
1011 * @param listener listener to handle events raised by this calibrator.
1012 */
1013 public KnownBiasAndGravityNormAccelerometerCalibrator(
1014 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
1015 final double initialSy, final double initialSz, final double initialMxy, final double initialMxz,
1016 final double initialMyx, final double initialMyz, final double initialMzx, final double initialMzy,
1017 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1018 super(biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
1019 initialMyz, initialMzx, initialMzy, listener);
1020 }
1021
1022 /**
1023 * Constructor.
1024 *
1025 * @param measurements collection of body kinematics measurements with standard
1026 * deviations taken at the same position with zero velocity
1027 * and unknown different orientations.
1028 * @param biasX x-coordinate of accelerometer bias.
1029 * @param biasY y-coordinate of accelerometer bias.
1030 * @param biasZ z-coordinate of accelerometer bias.
1031 * @param initialSx initial x scaling factor.
1032 * @param initialSy initial y scaling factor.
1033 * @param initialSz initial z scaling factor.
1034 * @param initialMxy initial x-y cross coupling error.
1035 * @param initialMxz initial x-z cross coupling error.
1036 * @param initialMyx initial y-x cross coupling error.
1037 * @param initialMyz initial y-z cross coupling error.
1038 * @param initialMzx initial z-x cross coupling error.
1039 * @param initialMzy initial z-y cross coupling error.
1040 */
1041 public KnownBiasAndGravityNormAccelerometerCalibrator(
1042 final Collection<StandardDeviationBodyKinematics> measurements,
1043 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1044 final double initialSx, final double initialSy, final double initialSz,
1045 final double initialMxy, final double initialMxz, final double initialMyx, final double initialMyz,
1046 final double initialMzx, final double initialMzy) {
1047 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
1048 initialMyz, initialMzx, initialMzy);
1049 }
1050
1051 /**
1052 * Constructor.
1053 *
1054 * @param measurements collection of body kinematics measurements with standard
1055 * deviations taken at the same position with zero velocity
1056 * and unknown different orientations.
1057 * @param biasX x-coordinate of accelerometer bias.
1058 * @param biasY y-coordinate of accelerometer bias.
1059 * @param biasZ z-coordinate of accelerometer bias.
1060 * @param initialSx initial x scaling factor.
1061 * @param initialSy initial y scaling factor.
1062 * @param initialSz initial z scaling factor.
1063 * @param initialMxy initial x-y cross coupling error.
1064 * @param initialMxz initial x-z cross coupling error.
1065 * @param initialMyx initial y-x cross coupling error.
1066 * @param initialMyz initial y-z cross coupling error.
1067 * @param initialMzx initial z-x cross coupling error.
1068 * @param initialMzy initial z-y cross coupling error.
1069 * @param listener listener to handle events raised by this calibrator.
1070 */
1071 public KnownBiasAndGravityNormAccelerometerCalibrator(
1072 final Collection<StandardDeviationBodyKinematics> measurements,
1073 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1074 final double initialSx, final double initialSy, final double initialSz, final double initialMxy,
1075 final double initialMxz, final double initialMyx, final double initialMyz, final double initialMzx,
1076 final double initialMzy, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1077 super(measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
1078 initialMyz, initialMzx, initialMzy, listener);
1079 }
1080
1081 /**
1082 * Constructor.
1083 *
1084 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1085 * accelerometer and gyroscope.
1086 * @param biasX x-coordinate of accelerometer bias.
1087 * @param biasY y-coordinate of accelerometer bias.
1088 * @param biasZ z-coordinate of accelerometer bias.
1089 * @param initialSx initial x scaling factor.
1090 * @param initialSy initial y scaling factor.
1091 * @param initialSz initial z scaling factor.
1092 * @param initialMxy initial x-y cross coupling error.
1093 * @param initialMxz initial x-z cross coupling error.
1094 * @param initialMyx initial y-x cross coupling error.
1095 * @param initialMyz initial y-z cross coupling error.
1096 * @param initialMzx initial z-x cross coupling error.
1097 * @param initialMzy initial z-y cross coupling error.
1098 */
1099 public KnownBiasAndGravityNormAccelerometerCalibrator(
1100 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1101 final double initialSx, final double initialSy, final double initialSz,
1102 final double initialMxy, final double initialMxz, final double initialMyx,
1103 final double initialMyz, final double initialMzx, final double initialMzy) {
1104 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
1105 initialMyz, initialMzx, initialMzy);
1106 }
1107
1108 /**
1109 * Constructor.
1110 *
1111 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1112 * accelerometer and gyroscope.
1113 * @param biasX x-coordinate of accelerometer bias.
1114 * @param biasY y-coordinate of accelerometer bias.
1115 * @param biasZ z-coordinate of accelerometer bias.
1116 * @param initialSx initial x scaling factor.
1117 * @param initialSy initial y scaling factor.
1118 * @param initialSz initial z scaling factor.
1119 * @param initialMxy initial x-y cross coupling error.
1120 * @param initialMxz initial x-z cross coupling error.
1121 * @param initialMyx initial y-x cross coupling error.
1122 * @param initialMyz initial y-z cross coupling error.
1123 * @param initialMzx initial z-x cross coupling error.
1124 * @param initialMzy initial z-y cross coupling error.
1125 * @param listener listener to handle events raised by this calibrator.
1126 */
1127 public KnownBiasAndGravityNormAccelerometerCalibrator(
1128 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1129 final double initialSx, final double initialSy, final double initialSz,
1130 final double initialMxy, final double initialMxz, final double initialMyx,
1131 final double initialMyz, final double initialMzx, final double initialMzy,
1132 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1133 super(commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
1134 initialMyz, initialMzx, initialMzy, listener);
1135 }
1136
1137 /**
1138 * Constructor.
1139 *
1140 * @param measurements collection of body kinematics measurements with standard
1141 * deviations taken at the same position with zero velocity
1142 * and unknown different orientations.
1143 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1144 * accelerometer and gyroscope.
1145 * @param biasX x-coordinate of accelerometer bias.
1146 * @param biasY y-coordinate of accelerometer bias.
1147 * @param biasZ z-coordinate of accelerometer bias.
1148 * @param initialSx initial x scaling factor.
1149 * @param initialSy initial y scaling factor.
1150 * @param initialSz initial z scaling factor.
1151 * @param initialMxy initial x-y cross coupling error.
1152 * @param initialMxz initial x-z cross coupling error.
1153 * @param initialMyx initial y-x cross coupling error.
1154 * @param initialMyz initial y-z cross coupling error.
1155 * @param initialMzx initial z-x cross coupling error.
1156 * @param initialMzy initial z-y cross coupling error.
1157 */
1158 public KnownBiasAndGravityNormAccelerometerCalibrator(
1159 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
1160 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1161 final double initialSx, final double initialSy, final double initialSz,
1162 final double initialMxy, final double initialMxz, final double initialMyx,
1163 final double initialMyz, final double initialMzx, final double initialMzy) {
1164 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
1165 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
1166 }
1167
1168 /**
1169 * Constructor.
1170 *
1171 * @param measurements collection of body kinematics measurements with standard
1172 * deviations taken at the same position with zero velocity
1173 * and unknown different orientations.
1174 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1175 * accelerometer and gyroscope.
1176 * @param biasX x-coordinate of accelerometer bias.
1177 * @param biasY y-coordinate of accelerometer bias.
1178 * @param biasZ z-coordinate of accelerometer bias.
1179 * @param initialSx initial x scaling factor.
1180 * @param initialSy initial y scaling factor.
1181 * @param initialSz initial z scaling factor.
1182 * @param initialMxy initial x-y cross coupling error.
1183 * @param initialMxz initial x-z cross coupling error.
1184 * @param initialMyx initial y-x cross coupling error.
1185 * @param initialMyz initial y-z cross coupling error.
1186 * @param initialMzx initial z-x cross coupling error.
1187 * @param initialMzy initial z-y cross coupling error.
1188 * @param listener listener to handle events raised by this calibrator.
1189 */
1190 public KnownBiasAndGravityNormAccelerometerCalibrator(
1191 final Collection<StandardDeviationBodyKinematics> measurements,
1192 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1193 final double initialSx, final double initialSy, final double initialSz,
1194 final double initialMxy, final double initialMxz, final double initialMyx,
1195 final double initialMyz, final double initialMzx, final double initialMzy,
1196 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1197 super(measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
1198 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
1199 }
1200
1201 /**
1202 * Constructor.
1203 *
1204 * @param bias known accelerometer bias. This must have length 3 and is expressed
1205 * in meters per squared second (m/s^2).
1206 * @throws IllegalArgumentException if provided bias array does not have length 3.
1207 */
1208 public KnownBiasAndGravityNormAccelerometerCalibrator(final double[] bias) {
1209 super(bias);
1210 }
1211
1212 /**
1213 * Constructor.
1214 *
1215 * @param bias known accelerometer bias. This must have length 3 and is expressed
1216 * in meters per squared second (m/s^2).
1217 * @param listener listener to handle events raised by this calibrator.
1218 * @throws IllegalArgumentException if provided bias array does not have length 3.
1219 */
1220 public KnownBiasAndGravityNormAccelerometerCalibrator(
1221 final double[] bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1222 super(bias, listener);
1223 }
1224
1225 /**
1226 * Constructor.
1227 *
1228 * @param measurements collection of body kinematics measurements with standard
1229 * deviations taken at the same position with zero velocity
1230 * and unknown different orientations.
1231 * @param bias known accelerometer bias. This must have length 3 and is expressed
1232 * in meters per squared second (m/s^2).
1233 * @throws IllegalArgumentException if provided bias array does not have length 3.
1234 */
1235 public KnownBiasAndGravityNormAccelerometerCalibrator(
1236 final Collection<StandardDeviationBodyKinematics> measurements, final double[] bias) {
1237 super(measurements, bias);
1238 }
1239
1240 /**
1241 * Constructor.
1242 *
1243 * @param measurements collection of body kinematics measurements with standard
1244 * deviations taken at the same position with zero velocity
1245 * and unknown different orientations.
1246 * @param bias known accelerometer bias. This must have length 3 and is expressed
1247 * in meters per squared second (m/s^2).
1248 * @param listener listener to handle events raised by this calibrator.
1249 * @throws IllegalArgumentException if provided bias array does not have length 3.
1250 */
1251 public KnownBiasAndGravityNormAccelerometerCalibrator(
1252 final Collection<StandardDeviationBodyKinematics> measurements, final double[] bias,
1253 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1254 super(measurements, bias, listener);
1255 }
1256
1257 /**
1258 * Constructor.
1259 *
1260 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1261 * accelerometer and gyroscope.
1262 * @param bias known accelerometer bias. This must have length 3 and is expressed
1263 * in meters per squared second (m/s^2).
1264 * @throws IllegalArgumentException if provided bias array does not have length 3.
1265 */
1266 public KnownBiasAndGravityNormAccelerometerCalibrator(final boolean commonAxisUsed, final double[] bias) {
1267 super(commonAxisUsed, bias);
1268 }
1269
1270 /**
1271 * Constructor.
1272 *
1273 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1274 * accelerometer and gyroscope.
1275 * @param bias known accelerometer bias. This must have length 3 and is expressed
1276 * in meters per squared second (m/s^2).
1277 * @param listener listener to handle events raised by this calibrator.
1278 * @throws IllegalArgumentException if provided bias array does not have length 3.
1279 */
1280 public KnownBiasAndGravityNormAccelerometerCalibrator(
1281 final boolean commonAxisUsed, final double[] bias,
1282 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1283 super(commonAxisUsed, bias, listener);
1284 }
1285
1286 /**
1287 * Constructor.
1288 *
1289 * @param measurements collection of body kinematics measurements with standard
1290 * deviations taken at the same position with zero velocity
1291 * and unknown different orientations.
1292 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1293 * accelerometer and gyroscope.
1294 * @param bias known accelerometer bias. This must have length 3 and is expressed
1295 * in meters per squared second (m/s^2).
1296 * @throws IllegalArgumentException if provided bias array does not have length 3.
1297 */
1298 public KnownBiasAndGravityNormAccelerometerCalibrator(
1299 final Collection<StandardDeviationBodyKinematics> measurements,
1300 final boolean commonAxisUsed, final double[] bias) {
1301 super(measurements, commonAxisUsed, bias);
1302 }
1303
1304 /**
1305 * Constructor.
1306 *
1307 * @param measurements collection of body kinematics measurements with standard
1308 * deviations taken at the same position with zero velocity
1309 * and unknown different orientations.
1310 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1311 * accelerometer and gyroscope.
1312 * @param bias known accelerometer bias. This must have length 3 and is expressed
1313 * in meters per squared second (m/s^2).
1314 * @param listener listener to handle events raised by this calibrator.
1315 * @throws IllegalArgumentException if provided bias array does not have length 3.
1316 */
1317 public KnownBiasAndGravityNormAccelerometerCalibrator(
1318 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
1319 final double[] bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1320 super(measurements, commonAxisUsed, bias, listener);
1321 }
1322
1323 /**
1324 * Constructor.
1325 *
1326 * @param bias known accelerometer bias.
1327 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1328 */
1329 public KnownBiasAndGravityNormAccelerometerCalibrator(final Matrix bias) {
1330 super(bias);
1331 }
1332
1333 /**
1334 * Constructor.
1335 *
1336 * @param bias known accelerometer bias.
1337 * @param listener listener to handle events raised by this calibrator.
1338 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1339 */
1340 public KnownBiasAndGravityNormAccelerometerCalibrator(
1341 final Matrix bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1342 super(bias, listener);
1343 }
1344
1345 /**
1346 * Constructor.
1347 *
1348 * @param measurements collection of body kinematics measurements with standard
1349 * deviations taken at the same position with zero velocity
1350 * and unknown different orientations.
1351 * @param bias known accelerometer bias.
1352 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1353 */
1354 public KnownBiasAndGravityNormAccelerometerCalibrator(
1355 final Collection<StandardDeviationBodyKinematics> measurements, final Matrix bias) {
1356 super(measurements, bias);
1357 }
1358
1359 /**
1360 * Constructor.
1361 *
1362 * @param measurements collection of body kinematics measurements with standard
1363 * deviations taken at the same position with zero velocity
1364 * and unknown different orientations.
1365 * @param bias known accelerometer bias.
1366 * @param listener listener to handle events raised by this calibrator.
1367 */
1368 public KnownBiasAndGravityNormAccelerometerCalibrator(
1369 final Collection<StandardDeviationBodyKinematics> measurements, final Matrix bias,
1370 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1371 super(measurements, bias, listener);
1372 }
1373
1374 /**
1375 * Constructor.
1376 *
1377 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1378 * accelerometer and gyroscope.
1379 * @param bias known accelerometer bias.
1380 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1381 */
1382 public KnownBiasAndGravityNormAccelerometerCalibrator(final boolean commonAxisUsed, final Matrix bias) {
1383 super(commonAxisUsed, bias);
1384 }
1385
1386 /**
1387 * Constructor.
1388 *
1389 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1390 * accelerometer and gyroscope.
1391 * @param bias known accelerometer bias.
1392 * @param listener listener to handle events raised by this calibrator.
1393 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1394 */
1395 public KnownBiasAndGravityNormAccelerometerCalibrator(
1396 final boolean commonAxisUsed, final Matrix bias,
1397 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1398 super(commonAxisUsed, bias, listener);
1399 }
1400
1401 /**
1402 * Constructor.
1403 *
1404 * @param measurements collection of body kinematics measurements with standard
1405 * deviations taken at the same position with zero velocity
1406 * and unknown different orientations.
1407 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1408 * accelerometer and gyroscope.
1409 * @param bias known accelerometer bias.
1410 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1411 */
1412 public KnownBiasAndGravityNormAccelerometerCalibrator(
1413 final Collection<StandardDeviationBodyKinematics> measurements,
1414 final boolean commonAxisUsed, final Matrix bias) {
1415 super(measurements, commonAxisUsed, bias);
1416 }
1417
1418 /**
1419 * Constructor.
1420 *
1421 * @param measurements collection of body kinematics measurements with standard
1422 * deviations taken at the same position with zero velocity
1423 * and unknown different orientations.
1424 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1425 * accelerometer and gyroscope.
1426 * @param bias known accelerometer bias.
1427 * @param listener listener to handle events raised by this calibrator.
1428 * @throws IllegalArgumentException if provided bias matrix is not 3x1.
1429 */
1430 public KnownBiasAndGravityNormAccelerometerCalibrator(
1431 final Collection<StandardDeviationBodyKinematics> measurements, final boolean commonAxisUsed,
1432 final Matrix bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1433 super(measurements, commonAxisUsed, bias, listener);
1434 }
1435
1436 /**
1437 * Constructor.
1438 *
1439 * @param bias known accelerometer bias.
1440 * @param initialMa initial scale factors and cross coupling errors matrix.
1441 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1442 * scaling and coupling error matrix is not 3x3.
1443 */
1444 public KnownBiasAndGravityNormAccelerometerCalibrator(final Matrix bias, final Matrix initialMa) {
1445 super(bias, initialMa);
1446 }
1447
1448 /**
1449 * Constructor.
1450 *
1451 * @param bias known accelerometer bias.
1452 * @param initialMa initial scale factors and cross coupling errors matrix.
1453 * @param listener listener to handle events raised by this calibrator.
1454 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1455 * scaling and coupling error matrix is not 3x3.
1456 */
1457 public KnownBiasAndGravityNormAccelerometerCalibrator(
1458 final Matrix bias, final Matrix initialMa,
1459 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1460 super(bias, initialMa, listener);
1461 }
1462
1463 /**
1464 * Constructor.
1465 *
1466 * @param measurements collection of body kinematics measurements with standard
1467 * deviations taken at the same position with zero velocity
1468 * and unknown different orientations.
1469 * @param bias known accelerometer bias.
1470 * @param initialMa initial scale factors and cross coupling errors matrix.
1471 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1472 * scaling and coupling error matrix is not 3x3.
1473 */
1474 public KnownBiasAndGravityNormAccelerometerCalibrator(
1475 final Collection<StandardDeviationBodyKinematics> measurements, final Matrix bias, final Matrix initialMa) {
1476 super(measurements, bias, initialMa);
1477 }
1478
1479 /**
1480 * Constructor.
1481 *
1482 * @param measurements collection of body kinematics measurements with standard
1483 * deviations taken at the same position with zero velocity
1484 * and unknown different orientations.
1485 * @param bias known accelerometer bias.
1486 * @param initialMa initial scale factors and cross coupling errors matrix.
1487 * @param listener listener to handle events raised by this calibrator.
1488 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1489 * scaling and coupling error matrix is not 3x3.
1490 */
1491 public KnownBiasAndGravityNormAccelerometerCalibrator(
1492 final Collection<StandardDeviationBodyKinematics> measurements, final Matrix bias,
1493 final Matrix initialMa, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1494 super(measurements, bias, initialMa, listener);
1495 }
1496
1497 /**
1498 * Constructor.
1499 *
1500 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1501 * accelerometer and gyroscope.
1502 * @param bias known accelerometer bias.
1503 * @param initialMa initial scale factors and cross coupling errors matrix.
1504 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1505 * scaling and coupling error matrix is not 3x3.
1506 */
1507 public KnownBiasAndGravityNormAccelerometerCalibrator(
1508 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa) {
1509 super(commonAxisUsed, bias, initialMa);
1510 }
1511
1512 /**
1513 * Constructor.
1514 *
1515 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1516 * accelerometer and gyroscope.
1517 * @param bias known accelerometer bias.
1518 * @param initialMa initial scale factors and cross coupling errors matrix.
1519 * @param listener listener to handle events raised by this calibrator.
1520 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1521 * scaling and coupling error matrix is not 3x3.
1522 */
1523 public KnownBiasAndGravityNormAccelerometerCalibrator(
1524 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa,
1525 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1526 super(commonAxisUsed, bias, initialMa, listener);
1527 }
1528
1529 /**
1530 * Constructor.
1531 *
1532 * @param measurements collection of body kinematics measurements with standard
1533 * deviations taken at the same position with zero velocity
1534 * and unknown different orientations.
1535 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1536 * accelerometer and gyroscope.
1537 * @param bias known accelerometer bias.
1538 * @param initialMa initial scale factors and cross coupling errors matrix.
1539 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1540 * scaling and coupling error matrix is not 3x3.
1541 */
1542 public KnownBiasAndGravityNormAccelerometerCalibrator(
1543 final Collection<StandardDeviationBodyKinematics> measurements,
1544 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa) {
1545 super(measurements, commonAxisUsed, bias, initialMa);
1546 }
1547
1548 /**
1549 * Constructor.
1550 *
1551 * @param measurements collection of body kinematics measurements with standard
1552 * deviations taken at the same position with zero velocity
1553 * and unknown different orientations.
1554 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1555 * accelerometer and gyroscope.
1556 * @param bias known accelerometer bias.
1557 * @param initialMa initial scale factors and cross coupling errors matrix.
1558 * @param listener listener to handle events raised by this calibrator.
1559 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
1560 * scaling and coupling error matrix is not 3x3.
1561 */
1562 public KnownBiasAndGravityNormAccelerometerCalibrator(
1563 final Collection<StandardDeviationBodyKinematics> measurements,
1564 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa,
1565 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1566 super(measurements, commonAxisUsed, bias, initialMa, listener);
1567 }
1568
1569 /**
1570 * Constructor.
1571 *
1572 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1573 * squared second (m/s^2).
1574 * @throws IllegalArgumentException if provided gravity norm value is negative.
1575 */
1576 public KnownBiasAndGravityNormAccelerometerCalibrator(final Double groundTruthGravityNorm) {
1577 super(groundTruthGravityNorm);
1578 }
1579
1580 /**
1581 * Constructor.
1582 *
1583 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1584 * squared second (m/s^2).
1585 * @param listener listener to handle events raised by this calibrator.
1586 * @throws IllegalArgumentException if provided gravity norm value is negative.
1587 */
1588 public KnownBiasAndGravityNormAccelerometerCalibrator(
1589 final Double groundTruthGravityNorm,
1590 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1591 super(groundTruthGravityNorm, listener);
1592 }
1593
1594 /**
1595 * Constructor.
1596 *
1597 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1598 * squared second (m/s^2).
1599 * @param measurements collection of body kinematics measurements with standard
1600 * deviations taken at the same position with zero velocity
1601 * and unknown different orientations.
1602 * @throws IllegalArgumentException if provided gravity norm value is negative.
1603 */
1604 public KnownBiasAndGravityNormAccelerometerCalibrator(
1605 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements) {
1606 super(groundTruthGravityNorm, measurements);
1607 }
1608
1609 /**
1610 * Constructor.
1611 *
1612 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1613 * squared second (m/s^2).
1614 * @param measurements collection of body kinematics measurements with standard
1615 * deviations taken at the same position with zero velocity
1616 * and unknown different orientations.
1617 * @param listener listener to handle events raised by this calibrator.
1618 * @throws IllegalArgumentException if provided gravity norm value is negative.
1619 */
1620 public KnownBiasAndGravityNormAccelerometerCalibrator(
1621 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1622 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1623 super(groundTruthGravityNorm, measurements, listener);
1624 }
1625
1626 /**
1627 * Constructor.
1628 *
1629 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1630 * squared second (m/s^2).
1631 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1632 * accelerometer and gyroscope.
1633 * @throws IllegalArgumentException if provided gravity norm value is negative.
1634 */
1635 public KnownBiasAndGravityNormAccelerometerCalibrator(
1636 final Double groundTruthGravityNorm, final boolean commonAxisUsed) {
1637 super(groundTruthGravityNorm, commonAxisUsed);
1638 }
1639
1640 /**
1641 * Constructor.
1642 *
1643 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1644 * squared second (m/s^2).
1645 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1646 * accelerometer and gyroscope.
1647 * @param listener listener to handle events raised by this calibrator.
1648 * @throws IllegalArgumentException if provided gravity norm value is negative.
1649 */
1650 public KnownBiasAndGravityNormAccelerometerCalibrator(
1651 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
1652 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1653 super(groundTruthGravityNorm, commonAxisUsed, listener);
1654 }
1655
1656 /**
1657 * Constructor.
1658 *
1659 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1660 * squared second (m/s^2).
1661 * @param measurements collection of body kinematics measurements with standard
1662 * deviations taken at the same position with zero velocity
1663 * and unknown different orientations.
1664 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1665 * accelerometer and gyroscope.
1666 * @throws IllegalArgumentException if provided gravity norm value is negative.
1667 */
1668 public KnownBiasAndGravityNormAccelerometerCalibrator(
1669 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1670 final boolean commonAxisUsed) {
1671 super(groundTruthGravityNorm, measurements, commonAxisUsed);
1672 }
1673
1674 /**
1675 * Constructor.
1676 *
1677 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1678 * squared second (m/s^2).
1679 * @param measurements collection of body kinematics measurements with standard
1680 * deviations taken at the same position with zero velocity
1681 * and unknown different orientations.
1682 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1683 * accelerometer and gyroscope.
1684 * @param listener listener to handle events raised by this calibrator.
1685 * @throws IllegalArgumentException if provided gravity norm value is negative.
1686 */
1687 public KnownBiasAndGravityNormAccelerometerCalibrator(
1688 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1689 final boolean commonAxisUsed, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1690 super(groundTruthGravityNorm, measurements, commonAxisUsed, listener);
1691 }
1692
1693 /**
1694 * Constructor.
1695 *
1696 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1697 * squared second (m/s^2).
1698 * @param biasX x-coordinate of accelerometer bias.
1699 * This is expressed in meters per squared second (m/s^2).
1700 * @param biasY y-coordinate of accelerometer bias.
1701 * This is expressed in meters per squared second (m/s^2).
1702 * @param biasZ z-coordinate of accelerometer bias.
1703 * This is expressed in meters per squared second (m/s^2).
1704 * @throws IllegalArgumentException if provided gravity norm value is negative.
1705 */
1706 public KnownBiasAndGravityNormAccelerometerCalibrator(
1707 final Double groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ) {
1708 super(groundTruthGravityNorm, biasX, biasY, biasZ);
1709 }
1710
1711 /**
1712 * Constructor.
1713 *
1714 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1715 * squared second (m/s^2).
1716 * @param biasX x-coordinate of accelerometer bias.
1717 * This is expressed in meters per squared second (m/s^2).
1718 * @param biasY y-coordinate of accelerometer bias.
1719 * This is expressed in meters per squared second (m/s^2).
1720 * @param biasZ z-coordinate of accelerometer bias.
1721 * This is expressed in meters per squared second (m/s^2).
1722 * @param listener listener to handle events raised by this calibrator.
1723 * @throws IllegalArgumentException if provided gravity norm value is negative.
1724 */
1725 public KnownBiasAndGravityNormAccelerometerCalibrator(
1726 final Double groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
1727 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1728 super(groundTruthGravityNorm, biasX, biasY, biasZ, listener);
1729 }
1730
1731 /**
1732 * Constructor.
1733 *
1734 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1735 * squared second (m/s^2).
1736 * @param measurements collection of body kinematics measurements with standard
1737 * deviations taken at the same position with zero velocity
1738 * and unknown different orientations.
1739 * @param biasX x-coordinate of accelerometer bias.
1740 * This is expressed in meters per squared second (m/s^2).
1741 * @param biasY y-coordinate of accelerometer bias.
1742 * This is expressed in meters per squared second (m/s^2).
1743 * @param biasZ z-coordinate of accelerometer bias.
1744 * This is expressed in meters per squared second (m/s^2).
1745 * @throws IllegalArgumentException if provided gravity norm value is negative.
1746 */
1747 public KnownBiasAndGravityNormAccelerometerCalibrator(
1748 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1749 final double biasX, final double biasY, final double biasZ) {
1750 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ);
1751 }
1752
1753 /**
1754 * Constructor.
1755 *
1756 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1757 * squared second (m/s^2).
1758 * @param measurements collection of body kinematics measurements with standard
1759 * deviations taken at the same position with zero velocity
1760 * and unknown different orientations.
1761 * @param biasX x-coordinate of accelerometer bias.
1762 * This is expressed in meters per squared second (m/s^2).
1763 * @param biasY y-coordinate of accelerometer bias.
1764 * This is expressed in meters per squared second (m/s^2).
1765 * @param biasZ z-coordinate of accelerometer bias.
1766 * This is expressed in meters per squared second (m/s^2).
1767 * @param listener listener to handle events raised by this calibrator.
1768 * @throws IllegalArgumentException if provided gravity norm value is negative.
1769 */
1770 public KnownBiasAndGravityNormAccelerometerCalibrator(
1771 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1772 final double biasX, final double biasY, final double biasZ,
1773 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1774 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, listener);
1775 }
1776
1777 /**
1778 * Constructor.
1779 *
1780 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1781 * squared second (m/s^2).
1782 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1783 * accelerometer and gyroscope.
1784 * @param biasX x-coordinate of accelerometer bias.
1785 * This is expressed in meters per squared second (m/s^2).
1786 * @param biasY y-coordinate of accelerometer bias.
1787 * This is expressed in meters per squared second (m/s^2).
1788 * @param biasZ z-coordinate of accelerometer bias.
1789 * This is expressed in meters per squared second (m/s^2).
1790 * @throws IllegalArgumentException if provided gravity norm value is negative.
1791 */
1792 public KnownBiasAndGravityNormAccelerometerCalibrator(
1793 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
1794 final double biasX, final double biasY, final double biasZ) {
1795 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ);
1796 }
1797
1798 /**
1799 * Constructor.
1800 *
1801 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1802 * squared second (m/s^2).
1803 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1804 * accelerometer and gyroscope.
1805 * @param biasX x-coordinate of accelerometer bias.
1806 * This is expressed in meters per squared second (m/s^2).
1807 * @param biasY y-coordinate of accelerometer bias.
1808 * This is expressed in meters per squared second (m/s^2).
1809 * @param biasZ z-coordinate of accelerometer bias.
1810 * This is expressed in meters per squared second (m/s^2).
1811 * @param listener listener to handle events raised by this calibrator.
1812 * @throws IllegalArgumentException if provided gravity norm value is negative.
1813 */
1814 public KnownBiasAndGravityNormAccelerometerCalibrator(
1815 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
1816 final double biasX, final double biasY, final double biasZ,
1817 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1818 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, listener);
1819 }
1820
1821 /**
1822 * Constructor.
1823 *
1824 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1825 * squared second (m/s^2).
1826 * @param measurements collection of body kinematics measurements with standard
1827 * deviations taken at the same position with zero velocity
1828 * and unknown different orientations.
1829 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1830 * accelerometer and gyroscope.
1831 * @param biasX x-coordinate of accelerometer bias.
1832 * This is expressed in meters per squared second (m/s^2).
1833 * @param biasY y-coordinate of accelerometer bias.
1834 * This is expressed in meters per squared second (m/s^2).
1835 * @param biasZ z-coordinate of accelerometer bias.
1836 * This is expressed in meters per squared second (m/s^2).
1837 * @throws IllegalArgumentException if provided gravity norm value is negative.
1838 */
1839 public KnownBiasAndGravityNormAccelerometerCalibrator(
1840 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1841 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ) {
1842 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ);
1843 }
1844
1845 /**
1846 * Constructor.
1847 *
1848 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1849 * squared second (m/s^2).
1850 * @param measurements collection of body kinematics measurements with standard
1851 * deviations taken at the same position with zero velocity
1852 * and unknown different orientations.
1853 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1854 * accelerometer and gyroscope.
1855 * @param biasX x-coordinate of accelerometer bias.
1856 * This is expressed in meters per squared second (m/s^2).
1857 * @param biasY y-coordinate of accelerometer bias.
1858 * This is expressed in meters per squared second (m/s^2).
1859 * @param biasZ z-coordinate of accelerometer bias.
1860 * This is expressed in meters per squared second (m/s^2).
1861 * @param listener listener to handle events raised by this calibrator.
1862 * @throws IllegalArgumentException if provided gravity norm value is negative.
1863 */
1864 public KnownBiasAndGravityNormAccelerometerCalibrator(
1865 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1866 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
1867 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1868 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
1869 }
1870
1871 /**
1872 * Constructor.
1873 *
1874 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1875 * squared second (m/s^2).
1876 * @param biasX x-coordinate of accelerometer bias.
1877 * @param biasY y-coordinate of accelerometer bias.
1878 * @param biasZ z-coordinate of accelerometer bias.
1879 * @throws IllegalArgumentException if provided gravity norm value is negative.
1880 */
1881 public KnownBiasAndGravityNormAccelerometerCalibrator(
1882 final Double groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
1883 final Acceleration biasZ) {
1884 super(groundTruthGravityNorm, biasX, biasY, biasZ);
1885 }
1886
1887 /**
1888 * Constructor.
1889 *
1890 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1891 * squared second (m/s^2).
1892 * @param biasX x-coordinate of accelerometer bias.
1893 * @param biasY y-coordinate of accelerometer bias.
1894 * @param biasZ z-coordinate of accelerometer bias.
1895 * @param listener listener to handle events raised by this calibrator.
1896 * @throws IllegalArgumentException if provided gravity norm value is negative.
1897 */
1898 public KnownBiasAndGravityNormAccelerometerCalibrator(
1899 final Double groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
1900 final Acceleration biasZ, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1901 super(groundTruthGravityNorm, biasX, biasY, biasZ, listener);
1902 }
1903
1904 /**
1905 * Constructor.
1906 *
1907 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1908 * squared second (m/s^2).
1909 * @param measurements collection of body kinematics measurements with standard
1910 * deviations taken at the same position with zero velocity
1911 * and unknown different orientations.
1912 * @param biasX x-coordinate of accelerometer bias.
1913 * @param biasY y-coordinate of accelerometer bias.
1914 * @param biasZ z-coordinate of accelerometer bias.
1915 * @throws IllegalArgumentException if provided gravity norm value is negative.
1916 */
1917 public KnownBiasAndGravityNormAccelerometerCalibrator(
1918 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1919 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
1920 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ);
1921 }
1922
1923 /**
1924 * Constructor.
1925 *
1926 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1927 * squared second (m/s^2).
1928 * @param measurements collection of body kinematics measurements with standard
1929 * deviations taken at the same position with zero velocity
1930 * and unknown different orientations.
1931 * @param biasX x-coordinate of accelerometer bias.
1932 * @param biasY y-coordinate of accelerometer bias.
1933 * @param biasZ z-coordinate of accelerometer bias.
1934 * @param listener listener to handle events raised by this calibrator.
1935 * @throws IllegalArgumentException if provided gravity norm value is negative.
1936 */
1937 public KnownBiasAndGravityNormAccelerometerCalibrator(
1938 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1939 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1940 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1941 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, listener);
1942 }
1943
1944 /**
1945 * Constructor.
1946 *
1947 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1948 * squared second (m/s^2).
1949 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1950 * accelerometer and gyroscope.
1951 * @param biasX x-coordinate of accelerometer bias.
1952 * @param biasY y-coordinate of accelerometer bias.
1953 * @param biasZ z-coordinate of accelerometer bias.
1954 * @throws IllegalArgumentException if provided gravity norm value is negative.
1955 */
1956 public KnownBiasAndGravityNormAccelerometerCalibrator(
1957 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
1958 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
1959 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ);
1960 }
1961
1962 /**
1963 * Constructor.
1964 *
1965 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1966 * squared second (m/s^2).
1967 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1968 * accelerometer and gyroscope.
1969 * @param biasX x-coordinate of accelerometer bias.
1970 * @param biasY y-coordinate of accelerometer bias.
1971 * @param biasZ z-coordinate of accelerometer bias.
1972 * @param listener listener to handle events raised by this calibrator.
1973 * @throws IllegalArgumentException if provided gravity norm value is negative.
1974 */
1975 public KnownBiasAndGravityNormAccelerometerCalibrator(
1976 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
1977 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
1978 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
1979 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, listener);
1980 }
1981
1982 /**
1983 * Constructor.
1984 *
1985 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
1986 * squared second (m/s^2).
1987 * @param measurements collection of body kinematics measurements with standard
1988 * deviations taken at the same position with zero velocity
1989 * and unknown different orientations.
1990 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
1991 * accelerometer and gyroscope.
1992 * @param biasX x-coordinate of accelerometer bias.
1993 * @param biasY y-coordinate of accelerometer bias.
1994 * @param biasZ z-coordinate of accelerometer bias.
1995 * @throws IllegalArgumentException if provided gravity norm value is negative.
1996 */
1997 public KnownBiasAndGravityNormAccelerometerCalibrator(
1998 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
1999 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY,
2000 final Acceleration biasZ) {
2001 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ);
2002 }
2003
2004 /**
2005 * Constructor.
2006 *
2007 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2008 * squared second (m/s^2).
2009 * @param measurements collection of body kinematics measurements with standard
2010 * deviations taken at the same position with zero velocity
2011 * and unknown different orientations.
2012 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2013 * accelerometer and gyroscope.
2014 * @param biasX x-coordinate of accelerometer bias.
2015 * @param biasY y-coordinate of accelerometer bias.
2016 * @param biasZ z-coordinate of accelerometer bias.
2017 * @param listener listener to handle events raised by this calibrator.
2018 * @throws IllegalArgumentException if provided gravity norm value is negative.
2019 */
2020 public KnownBiasAndGravityNormAccelerometerCalibrator(
2021 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2022 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2023 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2024 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
2025 }
2026
2027 /**
2028 * Constructor.
2029 *
2030 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2031 * squared second (m/s^2).
2032 * @param biasX x-coordinate of accelerometer bias.
2033 * This is expressed in meters per squared second (m/s^2).
2034 * @param biasY y-coordinate of accelerometer bias.
2035 * This is expressed in meters per squared second (m/s^2).
2036 * @param biasZ z-coordinate of accelerometer bias.
2037 * This is expressed in meters per squared second (m/s^2).
2038 * @param initialSx initial x scaling factor.
2039 * @param initialSy initial y scaling factor.
2040 * @param initialSz initial z scaling factor.
2041 * @throws IllegalArgumentException if provided gravity norm value is negative.
2042 */
2043 public KnownBiasAndGravityNormAccelerometerCalibrator(
2044 final Double groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
2045 final double initialSx, final double initialSy, final double initialSz) {
2046 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2047 }
2048
2049 /**
2050 * Constructor.
2051 *
2052 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2053 * squared second (m/s^2).
2054 * @param measurements collection of body kinematics measurements with standard
2055 * deviations taken at the same position with zero velocity
2056 * and unknown different orientations.
2057 * @param biasX x-coordinate of accelerometer bias.
2058 * This is expressed in meters per squared second (m/s^2).
2059 * @param biasY y-coordinate of accelerometer bias.
2060 * This is expressed in meters per squared second (m/s^2).
2061 * @param biasZ z-coordinate of accelerometer bias.
2062 * This is expressed in meters per squared second (m/s^2).
2063 * @param initialSx initial x scaling factor.
2064 * @param initialSy initial y scaling factor.
2065 * @param initialSz initial z scaling factor.
2066 * @throws IllegalArgumentException if provided gravity norm value is negative.
2067 */
2068 public KnownBiasAndGravityNormAccelerometerCalibrator(
2069 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2070 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2071 final double initialSz) {
2072 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2073 }
2074
2075 /**
2076 * Constructor.
2077 *
2078 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2079 * squared second (m/s^2).
2080 * @param measurements collection of body kinematics measurements with standard
2081 * deviations taken at the same position with zero velocity
2082 * and unknown different orientations.
2083 * @param biasX x-coordinate of accelerometer bias.
2084 * This is expressed in meters per squared second (m/s^2).
2085 * @param biasY y-coordinate of accelerometer bias.
2086 * This is expressed in meters per squared second (m/s^2).
2087 * @param biasZ z-coordinate of accelerometer bias.
2088 * This is expressed in meters per squared second (m/s^2).
2089 * @param initialSx initial x scaling factor.
2090 * @param initialSy initial y scaling factor.
2091 * @param initialSz initial z scaling factor.
2092 * @param listener listener to handle events raised by this calibrator.
2093 * @throws IllegalArgumentException if provided gravity norm value is negative.
2094 */
2095 public KnownBiasAndGravityNormAccelerometerCalibrator(
2096 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2097 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2098 final double initialSz, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2099 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
2100 }
2101
2102 /**
2103 * Constructor.
2104 *
2105 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2106 * squared second (m/s^2).
2107 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2108 * accelerometer and gyroscope.
2109 * @param biasX x-coordinate of accelerometer bias.
2110 * This is expressed in meters per squared second (m/s^2).
2111 * @param biasY y-coordinate of accelerometer bias.
2112 * This is expressed in meters per squared second (m/s^2).
2113 * @param biasZ z-coordinate of accelerometer bias.
2114 * This is expressed in meters per squared second (m/s^2).
2115 * @param initialSx initial x scaling factor.
2116 * @param initialSy initial y scaling factor.
2117 * @param initialSz initial z scaling factor.
2118 * @throws IllegalArgumentException if provided gravity norm value is negative.
2119 */
2120 public KnownBiasAndGravityNormAccelerometerCalibrator(
2121 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final double biasX, final double biasY,
2122 final double biasZ, final double initialSx, final double initialSy, final double initialSz) {
2123 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2124 }
2125
2126 /**
2127 * Constructor.
2128 *
2129 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2130 * squared second (m/s^2).
2131 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2132 * accelerometer and gyroscope.
2133 * @param biasX x-coordinate of accelerometer bias.
2134 * This is expressed in meters per squared second (m/s^2).
2135 * @param biasY y-coordinate of accelerometer bias.
2136 * This is expressed in meters per squared second (m/s^2).
2137 * @param biasZ z-coordinate of accelerometer bias.
2138 * This is expressed in meters per squared second (m/s^2).
2139 * @param initialSx initial x scaling factor.
2140 * @param initialSy initial y scaling factor.
2141 * @param initialSz initial z scaling factor.
2142 * @param listener listener to handle events raised by this calibrator.
2143 * @throws IllegalArgumentException if provided gravity norm value is negative.
2144 */
2145 public KnownBiasAndGravityNormAccelerometerCalibrator(
2146 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final double biasX, final double biasY,
2147 final double biasZ, final double initialSx, final double initialSy, final double initialSz,
2148 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2149 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
2150 }
2151
2152 /**
2153 * Constructor.
2154 *
2155 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2156 * squared second (m/s^2).
2157 * @param measurements collection of body kinematics measurements with standard
2158 * deviations taken at the same position with zero velocity
2159 * and unknown different orientations.
2160 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2161 * accelerometer and gyroscope.
2162 * @param biasX x-coordinate of accelerometer bias.
2163 * This is expressed in meters per squared second (m/s^2).
2164 * @param biasY y-coordinate of accelerometer bias.
2165 * This is expressed in meters per squared second (m/s^2).
2166 * @param biasZ z-coordinate of accelerometer bias.
2167 * This is expressed in meters per squared second (m/s^2).
2168 * @param initialSx initial x scaling factor.
2169 * @param initialSy initial y scaling factor.
2170 * @param initialSz initial z scaling factor.
2171 * @throws IllegalArgumentException if provided gravity norm value is negative.
2172 */
2173 public KnownBiasAndGravityNormAccelerometerCalibrator(
2174 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2175 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
2176 final double initialSx, final double initialSy, final double initialSz) {
2177 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy,
2178 initialSz);
2179 }
2180
2181 /**
2182 * Constructor.
2183 *
2184 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2185 * squared second (m/s^2).
2186 * @param measurements collection of body kinematics measurements with standard
2187 * deviations taken at the same position with zero velocity
2188 * and unknown different orientations.
2189 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2190 * accelerometer and gyroscope.
2191 * @param biasX x-coordinate of accelerometer bias.
2192 * This is expressed in meters per squared second (m/s^2).
2193 * @param biasY y-coordinate of accelerometer bias.
2194 * This is expressed in meters per squared second (m/s^2).
2195 * @param biasZ z-coordinate of accelerometer bias.
2196 * This is expressed in meters per squared second (m/s^2).
2197 * @param initialSx initial x scaling factor.
2198 * @param initialSy initial y scaling factor.
2199 * @param initialSz initial z scaling factor.
2200 * @param listener listener to handle events raised by this calibrator.
2201 * @throws IllegalArgumentException if provided gravity norm value is negative.
2202 */
2203 public KnownBiasAndGravityNormAccelerometerCalibrator(
2204 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2205 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
2206 final double initialSx, final double initialSy, final double initialSz,
2207 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2208 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2209 initialSx, initialSy, initialSz, listener);
2210 }
2211
2212 /**
2213 * Constructor.
2214 *
2215 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2216 * squared second (m/s^2).
2217 * @param biasX x-coordinate of accelerometer bias.
2218 * @param biasY y-coordinate of accelerometer bias.
2219 * @param biasZ z-coordinate of accelerometer bias.
2220 * @param initialSx initial x scaling factor.
2221 * @param initialSy initial y scaling factor.
2222 * @param initialSz initial z scaling factor.
2223 * @throws IllegalArgumentException if provided gravity norm value is negative.
2224 */
2225 public KnownBiasAndGravityNormAccelerometerCalibrator(
2226 final Double groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
2227 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz) {
2228 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2229 }
2230
2231 /**
2232 * Constructor.
2233 *
2234 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2235 * squared second (m/s^2).
2236 * @param biasX x-coordinate of accelerometer bias.
2237 * @param biasY y-coordinate of accelerometer bias.
2238 * @param biasZ z-coordinate of accelerometer bias.
2239 * @param initialSx initial x scaling factor.
2240 * @param initialSy initial y scaling factor.
2241 * @param initialSz initial z scaling factor.
2242 * @param listener listener to handle events raised by this calibrator.
2243 * @throws IllegalArgumentException if provided gravity norm value is negative.
2244 */
2245 public KnownBiasAndGravityNormAccelerometerCalibrator(
2246 final Double groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
2247 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz,
2248 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2249 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
2250 }
2251
2252 /**
2253 * Constructor.
2254 *
2255 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2256 * squared second (m/s^2).
2257 * @param measurements collection of body kinematics measurements with standard
2258 * deviations taken at the same position with zero velocity
2259 * and unknown different orientations.
2260 * @param biasX x-coordinate of accelerometer bias.
2261 * @param biasY y-coordinate of accelerometer bias.
2262 * @param biasZ z-coordinate of accelerometer bias.
2263 * @param initialSx initial x scaling factor.
2264 * @param initialSy initial y scaling factor.
2265 * @param initialSz initial z scaling factor.
2266 * @throws IllegalArgumentException if provided gravity norm value is negative.
2267 */
2268 public KnownBiasAndGravityNormAccelerometerCalibrator(
2269 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2270 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
2271 final double initialSy, final double initialSz) {
2272 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2273 }
2274
2275 /**
2276 * Constructor.
2277 *
2278 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2279 * squared second (m/s^2).
2280 * @param measurements collection of body kinematics measurements with standard
2281 * deviations taken at the same position with zero velocity
2282 * and unknown different orientations.
2283 * @param biasX x-coordinate of accelerometer bias.
2284 * @param biasY y-coordinate of accelerometer bias.
2285 * @param biasZ z-coordinate of accelerometer bias.
2286 * @param initialSx initial x scaling factor.
2287 * @param initialSy initial y scaling factor.
2288 * @param initialSz initial z scaling factor.
2289 * @param listener listener to handle events raised by this calibrator.
2290 * @throws IllegalArgumentException if provided gravity norm value is negative.
2291 */
2292 public KnownBiasAndGravityNormAccelerometerCalibrator(
2293 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2294 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
2295 final double initialSy, final double initialSz,
2296 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2297 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
2298 }
2299
2300 /**
2301 * Constructor.
2302 *
2303 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2304 * squared second (m/s^2).
2305 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2306 * accelerometer and gyroscope.
2307 * @param biasX x-coordinate of accelerometer bias.
2308 * @param biasY y-coordinate of accelerometer bias.
2309 * @param biasZ z-coordinate of accelerometer bias.
2310 * @param initialSx initial x scaling factor.
2311 * @param initialSy initial y scaling factor.
2312 * @param initialSz initial z scaling factor.
2313 * @throws IllegalArgumentException if provided gravity norm value is negative.
2314 */
2315 public KnownBiasAndGravityNormAccelerometerCalibrator(
2316 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
2317 final Acceleration biasY, final Acceleration biasZ, final double initialSx, final double initialSy,
2318 final double initialSz) {
2319 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz);
2320 }
2321
2322 /**
2323 * Constructor.
2324 *
2325 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2326 * squared second (m/s^2).
2327 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2328 * accelerometer and gyroscope.
2329 * @param biasX x-coordinate of accelerometer bias.
2330 * @param biasY y-coordinate of accelerometer bias.
2331 * @param biasZ z-coordinate of accelerometer bias.
2332 * @param initialSx initial x scaling factor.
2333 * @param initialSy initial y scaling factor.
2334 * @param initialSz initial z scaling factor.
2335 * @param listener listener to handle events raised by this calibrator.
2336 * @throws IllegalArgumentException if provided gravity norm value is negative.
2337 */
2338 public KnownBiasAndGravityNormAccelerometerCalibrator(
2339 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
2340 final Acceleration biasY, final Acceleration biasZ, final double initialSx, final double initialSy,
2341 final double initialSz, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2342 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz, listener);
2343 }
2344
2345 /**
2346 * Constructor.
2347 *
2348 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2349 * squared second (m/s^2).
2350 * @param measurements collection of body kinematics measurements with standard
2351 * deviations taken at the same position with zero velocity
2352 * and unknown different orientations.
2353 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2354 * accelerometer and gyroscope.
2355 * @param biasX x-coordinate of accelerometer bias.
2356 * @param biasY y-coordinate of accelerometer bias.
2357 * @param biasZ z-coordinate of accelerometer bias.
2358 * @param initialSx initial x scaling factor.
2359 * @param initialSy initial y scaling factor.
2360 * @param initialSz initial z scaling factor.
2361 * @throws IllegalArgumentException if provided gravity norm value is negative.
2362 */
2363 public KnownBiasAndGravityNormAccelerometerCalibrator(
2364 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2365 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2366 final double initialSx, final double initialSy, final double initialSz) {
2367 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2368 initialSx, initialSy, initialSz);
2369 }
2370
2371 /**
2372 * Constructor.
2373 *
2374 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2375 * squared second (m/s^2).
2376 * @param measurements collection of body kinematics measurements with standard
2377 * deviations taken at the same position with zero velocity
2378 * and unknown different orientations.
2379 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2380 * accelerometer and gyroscope.
2381 * @param biasX x-coordinate of accelerometer bias.
2382 * @param biasY y-coordinate of accelerometer bias.
2383 * @param biasZ z-coordinate of accelerometer bias.
2384 * @param initialSx initial x scaling factor.
2385 * @param initialSy initial y scaling factor.
2386 * @param initialSz initial z scaling factor.
2387 * @param listener listener to handle events raised by this calibrator.
2388 * @throws IllegalArgumentException if provided gravity norm value is negative.
2389 */
2390 public KnownBiasAndGravityNormAccelerometerCalibrator(
2391 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2392 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2393 final double initialSx, final double initialSy, final double initialSz,
2394 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2395 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2396 initialSx, initialSy, initialSz, listener);
2397 }
2398
2399 /**
2400 * Constructor.
2401 *
2402 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2403 * squared second (m/s^2).
2404 * @param biasX x-coordinate of accelerometer bias.
2405 * This is expressed in meters per squared second (m/s^2).
2406 * @param biasY y-coordinate of accelerometer bias.
2407 * This is expressed in meters per squared second (m/s^2).
2408 * @param biasZ z-coordinate of accelerometer bias.
2409 * This is expressed in meters per squared second (m/s^2).
2410 * @param initialSx initial x scaling factor.
2411 * @param initialSy initial y scaling factor.
2412 * @param initialSz initial z scaling factor.
2413 * @param initialMxy initial x-y cross coupling error.
2414 * @param initialMxz initial x-z cross coupling error.
2415 * @param initialMyx initial y-x cross coupling error.
2416 * @param initialMyz initial y-z cross coupling error.
2417 * @param initialMzx initial z-x cross coupling error.
2418 * @param initialMzy initial z-y cross coupling error.
2419 * @throws IllegalArgumentException if provided gravity norm value is negative.
2420 */
2421 public KnownBiasAndGravityNormAccelerometerCalibrator(
2422 final Double groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
2423 final double initialSx, final double initialSy, final double initialSz, final double initialMxy,
2424 final double initialMxz, final double initialMyx, final double initialMyz, final double initialMzx,
2425 final double initialMzy) {
2426 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2427 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2428 }
2429
2430 /**
2431 * Constructor.
2432 *
2433 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2434 * squared second (m/s^2).
2435 * @param measurements collection of body kinematics measurements with standard
2436 * deviations taken at the same position with zero velocity
2437 * and unknown different orientations.
2438 * @param biasX x-coordinate of accelerometer bias.
2439 * This is expressed in meters per squared second (m/s^2).
2440 * @param biasY y-coordinate of accelerometer bias.
2441 * This is expressed in meters per squared second (m/s^2).
2442 * @param biasZ z-coordinate of accelerometer bias.
2443 * This is expressed in meters per squared second (m/s^2).
2444 * @param initialSx initial x scaling factor.
2445 * @param initialSy initial y scaling factor.
2446 * @param initialSz initial z scaling factor.
2447 * @param initialMxy initial x-y cross coupling error.
2448 * @param initialMxz initial x-z cross coupling error.
2449 * @param initialMyx initial y-x cross coupling error.
2450 * @param initialMyz initial y-z cross coupling error.
2451 * @param initialMzx initial z-x cross coupling error.
2452 * @param initialMzy initial z-y cross coupling error.
2453 * @throws IllegalArgumentException if provided gravity norm value is negative.
2454 */
2455 public KnownBiasAndGravityNormAccelerometerCalibrator(
2456 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2457 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2458 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
2459 final double initialMyz, final double initialMzx, final double initialMzy) {
2460 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2461 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2462 }
2463
2464 /**
2465 * Constructor.
2466 *
2467 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2468 * squared second (m/s^2).
2469 * @param measurements collection of body kinematics measurements with standard
2470 * deviations taken at the same position with zero velocity
2471 * and unknown different orientations.
2472 * @param biasX x-coordinate of accelerometer bias.
2473 * This is expressed in meters per squared second (m/s^2).
2474 * @param biasY y-coordinate of accelerometer bias.
2475 * This is expressed in meters per squared second (m/s^2).
2476 * @param biasZ z-coordinate of accelerometer bias.
2477 * This is expressed in meters per squared second (m/s^2).
2478 * @param initialSx initial x scaling factor.
2479 * @param initialSy initial y scaling factor.
2480 * @param initialSz initial z scaling factor.
2481 * @param initialMxy initial x-y cross coupling error.
2482 * @param initialMxz initial x-z cross coupling error.
2483 * @param initialMyx initial y-x cross coupling error.
2484 * @param initialMyz initial y-z cross coupling error.
2485 * @param initialMzx initial z-x cross coupling error.
2486 * @param initialMzy initial z-y cross coupling error.
2487 * @param listener listener to handle events raised by this calibrator.
2488 * @throws IllegalArgumentException if provided gravity norm value is negative.
2489 */
2490 public KnownBiasAndGravityNormAccelerometerCalibrator(
2491 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2492 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2493 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
2494 final double initialMyz, final double initialMzx, final double initialMzy,
2495 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2496 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2497 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
2498 }
2499
2500 /**
2501 * Constructor.
2502 *
2503 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2504 * squared second (m/s^2).
2505 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2506 * accelerometer and gyroscope.
2507 * @param biasX x-coordinate of accelerometer bias.
2508 * This is expressed in meters per squared second (m/s^2).
2509 * @param biasY y-coordinate of accelerometer bias.
2510 * This is expressed in meters per squared second (m/s^2).
2511 * @param biasZ z-coordinate of accelerometer bias.
2512 * This is expressed in meters per squared second (m/s^2).
2513 * @param initialSx initial x scaling factor.
2514 * @param initialSy initial y scaling factor.
2515 * @param initialSz initial z scaling factor.
2516 * @param initialMxy initial x-y cross coupling error.
2517 * @param initialMxz initial x-z cross coupling error.
2518 * @param initialMyx initial y-x cross coupling error.
2519 * @param initialMyz initial y-z cross coupling error.
2520 * @param initialMzx initial z-x cross coupling error.
2521 * @param initialMzy initial z-y cross coupling error.
2522 * @throws IllegalArgumentException if provided gravity norm value is negative.
2523 */
2524 public KnownBiasAndGravityNormAccelerometerCalibrator(
2525 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
2526 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2527 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
2528 final double initialMyz, final double initialMzx, final double initialMzy) {
2529 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2530 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2531 }
2532
2533 /**
2534 * Constructor.
2535 *
2536 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2537 * squared second (m/s^2).
2538 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2539 * accelerometer and gyroscope.
2540 * @param biasX x-coordinate of accelerometer bias.
2541 * This is expressed in meters per squared second (m/s^2).
2542 * @param biasY y-coordinate of accelerometer bias.
2543 * This is expressed in meters per squared second (m/s^2).
2544 * @param biasZ z-coordinate of accelerometer bias.
2545 * This is expressed in meters per squared second (m/s^2).
2546 * @param initialSx initial x scaling factor.
2547 * @param initialSy initial y scaling factor.
2548 * @param initialSz initial z scaling factor.
2549 * @param initialMxy initial x-y cross coupling error.
2550 * @param initialMxz initial x-z cross coupling error.
2551 * @param initialMyx initial y-x cross coupling error.
2552 * @param initialMyz initial y-z cross coupling error.
2553 * @param initialMzx initial z-x cross coupling error.
2554 * @param initialMzy initial z-y cross coupling error.
2555 * @param listener listener to handle events raised by this calibrator.
2556 * @throws IllegalArgumentException if provided gravity norm value is negative.
2557 */
2558 public KnownBiasAndGravityNormAccelerometerCalibrator(
2559 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
2560 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
2561 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
2562 final double initialMyz, final double initialMzx, final double initialMzy,
2563 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2564 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2565 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
2566 }
2567
2568 /**
2569 * Constructor.
2570 *
2571 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2572 * squared second (m/s^2).
2573 * @param measurements collection of body kinematics measurements with standard
2574 * deviations taken at the same position with zero velocity
2575 * and unknown different orientations.
2576 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2577 * accelerometer and gyroscope.
2578 * @param biasX x-coordinate of accelerometer bias.
2579 * This is expressed in meters per squared second (m/s^2).
2580 * @param biasY y-coordinate of accelerometer bias.
2581 * This is expressed in meters per squared second (m/s^2).
2582 * @param biasZ z-coordinate of accelerometer bias.
2583 * This is expressed in meters per squared second (m/s^2).
2584 * @param initialSx initial x scaling factor.
2585 * @param initialSy initial y scaling factor.
2586 * @param initialSz initial z scaling factor.
2587 * @param initialMxy initial x-y cross coupling error.
2588 * @param initialMxz initial x-z cross coupling error.
2589 * @param initialMyx initial y-x cross coupling error.
2590 * @param initialMyz initial y-z cross coupling error.
2591 * @param initialMzx initial z-x cross coupling error.
2592 * @param initialMzy initial z-y cross coupling error.
2593 * @throws IllegalArgumentException if provided gravity norm value is negative.
2594 */
2595 public KnownBiasAndGravityNormAccelerometerCalibrator(
2596 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2597 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
2598 final double initialSx, final double initialSy, final double initialSz, final double initialMxy,
2599 final double initialMxz, final double initialMyx, final double initialMyz, final double initialMzx,
2600 final double initialMzy) {
2601 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2602 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
2603 initialMyz, initialMzx, initialMzy);
2604 }
2605
2606 /**
2607 * Constructor.
2608 *
2609 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2610 * squared second (m/s^2).
2611 * @param measurements collection of body kinematics measurements with standard
2612 * deviations taken at the same position with zero velocity
2613 * and unknown different orientations.
2614 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2615 * accelerometer and gyroscope.
2616 * @param biasX x-coordinate of accelerometer bias.
2617 * This is expressed in meters per squared second (m/s^2).
2618 * @param biasY y-coordinate of accelerometer bias.
2619 * This is expressed in meters per squared second (m/s^2).
2620 * @param biasZ z-coordinate of accelerometer bias.
2621 * This is expressed in meters per squared second (m/s^2).
2622 * @param initialSx initial x scaling factor.
2623 * @param initialSy initial y scaling factor.
2624 * @param initialSz initial z scaling factor.
2625 * @param initialMxy initial x-y cross coupling error.
2626 * @param initialMxz initial x-z cross coupling error.
2627 * @param initialMyx initial y-x cross coupling error.
2628 * @param initialMyz initial y-z cross coupling error.
2629 * @param initialMzx initial z-x cross coupling error.
2630 * @param initialMzy initial z-y cross coupling error.
2631 * @param listener listener to handle events raised by this calibrator.
2632 * @throws IllegalArgumentException if provided gravity norm value is negative.
2633 */
2634 public KnownBiasAndGravityNormAccelerometerCalibrator(
2635 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2636 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
2637 final double initialSx, final double initialSy, final double initialSz,
2638 final double initialMxy, final double initialMxz, final double initialMyx,
2639 final double initialMyz, final double initialMzx, final double initialMzy,
2640 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2641 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2642 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
2643 initialMyz, initialMzx, initialMzy, listener);
2644 }
2645
2646 /**
2647 * Constructor.
2648 *
2649 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2650 * squared second (m/s^2).
2651 * @param biasX x-coordinate of accelerometer bias.
2652 * @param biasY y-coordinate of accelerometer bias.
2653 * @param biasZ z-coordinate of accelerometer bias.
2654 * @param initialSx initial x scaling factor.
2655 * @param initialSy initial y scaling factor.
2656 * @param initialSz initial z scaling factor.
2657 * @param initialMxy initial x-y cross coupling error.
2658 * @param initialMxz initial x-z cross coupling error.
2659 * @param initialMyx initial y-x cross coupling error.
2660 * @param initialMyz initial y-z cross coupling error.
2661 * @param initialMzx initial z-x cross coupling error.
2662 * @param initialMzy initial z-y cross coupling error.
2663 * @throws IllegalArgumentException if provided gravity norm value is negative.
2664 */
2665 public KnownBiasAndGravityNormAccelerometerCalibrator(
2666 final Double groundTruthGravityNorm,
2667 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2668 final double initialSx, final double initialSy, final double initialSz,
2669 final double initialMxy, final double initialMxz, final double initialMyx,
2670 final double initialMyz, final double initialMzx, final double initialMzy) {
2671 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2672 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2673 }
2674
2675 /**
2676 * Constructor.
2677 *
2678 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2679 * squared second (m/s^2).
2680 * @param biasX x-coordinate of accelerometer bias.
2681 * @param biasY y-coordinate of accelerometer bias.
2682 * @param biasZ z-coordinate of accelerometer bias.
2683 * @param initialSx initial x scaling factor.
2684 * @param initialSy initial y scaling factor.
2685 * @param initialSz initial z scaling factor.
2686 * @param initialMxy initial x-y cross coupling error.
2687 * @param initialMxz initial x-z cross coupling error.
2688 * @param initialMyx initial y-x cross coupling error.
2689 * @param initialMyz initial y-z cross coupling error.
2690 * @param initialMzx initial z-x cross coupling error.
2691 * @param initialMzy initial z-y cross coupling error.
2692 * @param listener listener to handle events raised by this calibrator.
2693 * @throws IllegalArgumentException if provided gravity norm value is negative.
2694 */
2695 public KnownBiasAndGravityNormAccelerometerCalibrator(
2696 final Double groundTruthGravityNorm,
2697 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2698 final double initialSx, final double initialSy, final double initialSz,
2699 final double initialMxy, final double initialMxz, final double initialMyx,
2700 final double initialMyz, final double initialMzx, final double initialMzy,
2701 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2702 super(groundTruthGravityNorm, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2703 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
2704 }
2705
2706 /**
2707 * Constructor.
2708 *
2709 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2710 * squared second (m/s^2).
2711 * @param measurements collection of body kinematics measurements with standard
2712 * deviations taken at the same position with zero velocity
2713 * and unknown different orientations.
2714 * @param biasX x-coordinate of accelerometer bias.
2715 * @param biasY y-coordinate of accelerometer bias.
2716 * @param biasZ z-coordinate of accelerometer bias.
2717 * @param initialSx initial x scaling factor.
2718 * @param initialSy initial y scaling factor.
2719 * @param initialSz initial z scaling factor.
2720 * @param initialMxy initial x-y cross coupling error.
2721 * @param initialMxz initial x-z cross coupling error.
2722 * @param initialMyx initial y-x cross coupling error.
2723 * @param initialMyz initial y-z cross coupling error.
2724 * @param initialMzx initial z-x cross coupling error.
2725 * @param initialMzy initial z-y cross coupling error.
2726 * @throws IllegalArgumentException if provided gravity norm value is negative.
2727 */
2728 public KnownBiasAndGravityNormAccelerometerCalibrator(
2729 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2730 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2731 final double initialSx, final double initialSy, final double initialSz,
2732 final double initialMxy, final double initialMxz, final double initialMyx,
2733 final double initialMyz, final double initialMzx, final double initialMzy) {
2734 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2735 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2736 }
2737
2738 /**
2739 * Constructor.
2740 *
2741 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2742 * squared second (m/s^2).
2743 * @param measurements collection of body kinematics measurements with standard
2744 * deviations taken at the same position with zero velocity
2745 * and unknown different orientations.
2746 * @param biasX x-coordinate of accelerometer bias.
2747 * @param biasY y-coordinate of accelerometer bias.
2748 * @param biasZ z-coordinate of accelerometer bias.
2749 * @param initialSx initial x scaling factor.
2750 * @param initialSy initial y scaling factor.
2751 * @param initialSz initial z scaling factor.
2752 * @param initialMxy initial x-y cross coupling error.
2753 * @param initialMxz initial x-z cross coupling error.
2754 * @param initialMyx initial y-x cross coupling error.
2755 * @param initialMyz initial y-z cross coupling error.
2756 * @param initialMzx initial z-x cross coupling error.
2757 * @param initialMzy initial z-y cross coupling error.
2758 * @param listener listener to handle events raised by this calibrator.
2759 * @throws IllegalArgumentException if provided gravity norm value is negative.
2760 */
2761 public KnownBiasAndGravityNormAccelerometerCalibrator(
2762 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2763 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2764 final double initialSx, final double initialSy, final double initialSz,
2765 final double initialMxy, final double initialMxz, final double initialMyx,
2766 final double initialMyz, final double initialMzx, final double initialMzy,
2767 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2768 super(groundTruthGravityNorm, measurements, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2769 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
2770 }
2771
2772 /**
2773 * Constructor.
2774 *
2775 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2776 * squared second (m/s^2).
2777 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2778 * accelerometer and gyroscope.
2779 * @param biasX x-coordinate of accelerometer bias.
2780 * @param biasY y-coordinate of accelerometer bias.
2781 * @param biasZ z-coordinate of accelerometer bias.
2782 * @param initialSx initial x scaling factor.
2783 * @param initialSy initial y scaling factor.
2784 * @param initialSz initial z scaling factor.
2785 * @param initialMxy initial x-y cross coupling error.
2786 * @param initialMxz initial x-z cross coupling error.
2787 * @param initialMyx initial y-x cross coupling error.
2788 * @param initialMyz initial y-z cross coupling error.
2789 * @param initialMzx initial z-x cross coupling error.
2790 * @param initialMzy initial z-y cross coupling error.
2791 * @throws IllegalArgumentException if provided gravity norm value is negative.
2792 */
2793 public KnownBiasAndGravityNormAccelerometerCalibrator(
2794 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
2795 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2796 final double initialSx, final double initialSy, final double initialSz,
2797 final double initialMxy, final double initialMxz, final double initialMyx,
2798 final double initialMyz, final double initialMzx, final double initialMzy) {
2799 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2800 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
2801 }
2802
2803 /**
2804 * Constructor.
2805 *
2806 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2807 * squared second (m/s^2).
2808 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2809 * accelerometer and gyroscope.
2810 * @param biasX x-coordinate of accelerometer bias.
2811 * @param biasY y-coordinate of accelerometer bias.
2812 * @param biasZ z-coordinate of accelerometer bias.
2813 * @param initialSx initial x scaling factor.
2814 * @param initialSy initial y scaling factor.
2815 * @param initialSz initial z scaling factor.
2816 * @param initialMxy initial x-y cross coupling error.
2817 * @param initialMxz initial x-z cross coupling error.
2818 * @param initialMyx initial y-x cross coupling error.
2819 * @param initialMyz initial y-z cross coupling error.
2820 * @param initialMzx initial z-x cross coupling error.
2821 * @param initialMzy initial z-y cross coupling error.
2822 * @param listener listener to handle events raised by this calibrator.
2823 * @throws IllegalArgumentException if provided gravity norm value is negative.
2824 */
2825 public KnownBiasAndGravityNormAccelerometerCalibrator(
2826 final Double groundTruthGravityNorm, final boolean commonAxisUsed,
2827 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2828 final double initialSx, final double initialSy, final double initialSz,
2829 final double initialMxy, final double initialMxz, final double initialMyx,
2830 final double initialMyz, final double initialMzx, final double initialMzy,
2831 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2832 super(groundTruthGravityNorm, commonAxisUsed, biasX, biasY, biasZ, initialSx, initialSy, initialSz,
2833 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
2834 }
2835
2836 /**
2837 * Constructor.
2838 *
2839 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2840 * squared second (m/s^2).
2841 * @param measurements collection of body kinematics measurements with standard
2842 * deviations taken at the same position with zero velocity
2843 * and unknown different orientations.
2844 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2845 * accelerometer and gyroscope.
2846 * @param biasX x-coordinate of accelerometer bias.
2847 * @param biasY y-coordinate of accelerometer bias.
2848 * @param biasZ z-coordinate of accelerometer bias.
2849 * @param initialSx initial x scaling factor.
2850 * @param initialSy initial y scaling factor.
2851 * @param initialSz initial z scaling factor.
2852 * @param initialMxy initial x-y cross coupling error.
2853 * @param initialMxz initial x-z cross coupling error.
2854 * @param initialMyx initial y-x cross coupling error.
2855 * @param initialMyz initial y-z cross coupling error.
2856 * @param initialMzx initial z-x cross coupling error.
2857 * @param initialMzy initial z-y cross coupling error.
2858 * @throws IllegalArgumentException if provided gravity norm value is negative.
2859 */
2860 public KnownBiasAndGravityNormAccelerometerCalibrator(
2861 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2862 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2863 final double initialSx, final double initialSy, final double initialSz,
2864 final double initialMxy, final double initialMxz, final double initialMyx,
2865 final double initialMyz, final double initialMzx, final double initialMzy) {
2866 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2867 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
2868 initialMyz, initialMzx, initialMzy);
2869 }
2870
2871 /**
2872 * Constructor.
2873 *
2874 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2875 * squared second (m/s^2).
2876 * @param measurements collection of body kinematics measurements with standard
2877 * deviations taken at the same position with zero velocity
2878 * and unknown different orientations.
2879 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2880 * accelerometer and gyroscope.
2881 * @param biasX x-coordinate of accelerometer bias.
2882 * @param biasY y-coordinate of accelerometer bias.
2883 * @param biasZ z-coordinate of accelerometer bias.
2884 * @param initialSx initial x scaling factor.
2885 * @param initialSy initial y scaling factor.
2886 * @param initialSz initial z scaling factor.
2887 * @param initialMxy initial x-y cross coupling error.
2888 * @param initialMxz initial x-z cross coupling error.
2889 * @param initialMyx initial y-x cross coupling error.
2890 * @param initialMyz initial y-z cross coupling error.
2891 * @param initialMzx initial z-x cross coupling error.
2892 * @param initialMzy initial z-y cross coupling error.
2893 * @param listener listener to handle events raised by this calibrator.
2894 * @throws IllegalArgumentException if provided gravity norm value is negative.
2895 */
2896 public KnownBiasAndGravityNormAccelerometerCalibrator(
2897 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2898 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
2899 final double initialSx, final double initialSy, final double initialSz,
2900 final double initialMxy, final double initialMxz, final double initialMyx,
2901 final double initialMyz, final double initialMzx, final double initialMzy,
2902 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2903 super(groundTruthGravityNorm, measurements, commonAxisUsed, biasX, biasY, biasZ,
2904 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy,
2905 listener);
2906 }
2907
2908 /**
2909 * Constructor.
2910 *
2911 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2912 * squared second (m/s^2).
2913 * @param bias known accelerometer bias. This must have length 3 and is expressed
2914 * in meters per squared second (m/s^2).
2915 * @throws IllegalArgumentException if provided bias array does not have length 3 or
2916 * if provided gravity norm value is negative.
2917 */
2918 public KnownBiasAndGravityNormAccelerometerCalibrator(final Double groundTruthGravityNorm, final double[] bias) {
2919 super(groundTruthGravityNorm, bias);
2920 }
2921
2922 /**
2923 * Constructor.
2924 *
2925 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2926 * squared second (m/s^2).
2927 * @param bias known accelerometer bias. This must have length 3 and is expressed
2928 * in meters per squared second (m/s^2).
2929 * @param listener listener to handle events raised by this calibrator.
2930 * @throws IllegalArgumentException if provided bias array does not have length 3 or
2931 * if provided gravity norm value is negative.
2932 */
2933 public KnownBiasAndGravityNormAccelerometerCalibrator(
2934 final Double groundTruthGravityNorm, final double[] bias,
2935 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2936 super(groundTruthGravityNorm, bias, listener);
2937 }
2938
2939 /**
2940 * Constructor.
2941 *
2942 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2943 * squared second (m/s^2).
2944 * @param measurements collection of body kinematics measurements with standard
2945 * deviations taken at the same position with zero velocity
2946 * and unknown different orientations.
2947 * @param bias known accelerometer bias. This must have length 3 and is expressed
2948 * in meters per squared second (m/s^2).
2949 * @throws IllegalArgumentException if provided bias array does not have length 3 or
2950 * if provided gravity norm value is negative.
2951 */
2952 public KnownBiasAndGravityNormAccelerometerCalibrator(
2953 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2954 final double[] bias) {
2955 super(groundTruthGravityNorm, measurements, bias);
2956 }
2957
2958 /**
2959 * Constructor.
2960 *
2961 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2962 * squared second (m/s^2).
2963 * @param measurements collection of body kinematics measurements with standard
2964 * deviations taken at the same position with zero velocity
2965 * and unknown different orientations.
2966 * @param bias known accelerometer bias. This must have length 3 and is expressed
2967 * in meters per squared second (m/s^2).
2968 * @param listener listener to handle events raised by this calibrator.
2969 * @throws IllegalArgumentException if provided bias array does not have length 3 or
2970 * if provided gravity norm value is negative.
2971 */
2972 public KnownBiasAndGravityNormAccelerometerCalibrator(
2973 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
2974 final double[] bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
2975 super(groundTruthGravityNorm, measurements, bias, listener);
2976 }
2977
2978 /**
2979 * Constructor.
2980 *
2981 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2982 * squared second (m/s^2).
2983 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
2984 * accelerometer and gyroscope.
2985 * @param bias known accelerometer bias. This must have length 3 and is expressed
2986 * in meters per squared second (m/s^2).
2987 * @throws IllegalArgumentException if provided bias array does not have length 3 or
2988 * if provided gravity norm value is negative.
2989 */
2990 public KnownBiasAndGravityNormAccelerometerCalibrator(
2991 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final double[] bias) {
2992 super(groundTruthGravityNorm, commonAxisUsed, bias);
2993 }
2994
2995 /**
2996 * Constructor.
2997 *
2998 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
2999 * squared second (m/s^2).
3000 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3001 * accelerometer and gyroscope.
3002 * @param bias known accelerometer bias. This must have length 3 and is expressed
3003 * in meters per squared second (m/s^2).
3004 * @param listener listener to handle events raised by this calibrator.
3005 * @throws IllegalArgumentException if provided bias array does not have length 3 or
3006 * if provided gravity norm value is negative.
3007 */
3008 public KnownBiasAndGravityNormAccelerometerCalibrator(
3009 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final double[] bias,
3010 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3011 super(groundTruthGravityNorm, commonAxisUsed, bias, listener);
3012 }
3013
3014 /**
3015 * Constructor.
3016 *
3017 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3018 * squared second (m/s^2).
3019 * @param measurements collection of body kinematics measurements with standard
3020 * deviations taken at the same position with zero velocity
3021 * and unknown different orientations.
3022 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3023 * accelerometer and gyroscope.
3024 * @param bias known accelerometer bias. This must have length 3 and is expressed
3025 * in meters per squared second (m/s^2).
3026 * @throws IllegalArgumentException if provided bias array does not have length 3 or
3027 * if provided gravity norm value is negative.
3028 */
3029 public KnownBiasAndGravityNormAccelerometerCalibrator(
3030 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3031 final boolean commonAxisUsed, final double[] bias) {
3032 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias);
3033 }
3034
3035 /**
3036 * Constructor.
3037 *
3038 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3039 * squared second (m/s^2).
3040 * @param measurements collection of body kinematics measurements with standard
3041 * deviations taken at the same position with zero velocity
3042 * and unknown different orientations.
3043 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3044 * accelerometer and gyroscope.
3045 * @param bias known accelerometer bias. This must have length 3 and is expressed
3046 * in meters per squared second (m/s^2).
3047 * @param listener listener to handle events raised by this calibrator.
3048 * @throws IllegalArgumentException if provided bias array does not have length 3 or
3049 * if provided gravity norm value is negative.
3050 */
3051 public KnownBiasAndGravityNormAccelerometerCalibrator(
3052 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3053 final boolean commonAxisUsed, final double[] bias,
3054 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3055 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias, listener);
3056 }
3057
3058 /**
3059 * Constructor.
3060 *
3061 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3062 * squared second (m/s^2).
3063 * @param bias known accelerometer bias.
3064 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3065 * if provided gravity norm value is negative.
3066 */
3067 public KnownBiasAndGravityNormAccelerometerCalibrator(final Double groundTruthGravityNorm, final Matrix bias) {
3068 super(groundTruthGravityNorm, bias);
3069 }
3070
3071 /**
3072 * Constructor.
3073 *
3074 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3075 * squared second (m/s^2).
3076 * @param bias known accelerometer bias.
3077 * @param listener listener to handle events raised by this calibrator.
3078 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3079 * if provided gravity norm value is negative.
3080 */
3081 public KnownBiasAndGravityNormAccelerometerCalibrator(
3082 final Double groundTruthGravityNorm, final Matrix bias,
3083 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3084 super(groundTruthGravityNorm, bias, listener);
3085 }
3086
3087 /**
3088 * Constructor.
3089 *
3090 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3091 * squared second (m/s^2).
3092 * @param measurements collection of body kinematics measurements with standard
3093 * deviations taken at the same position with zero velocity
3094 * and unknown different orientations.
3095 * @param bias known accelerometer bias.
3096 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3097 * if provided gravity norm value is negative.
3098 */
3099 public KnownBiasAndGravityNormAccelerometerCalibrator(
3100 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3101 final Matrix bias) {
3102 super(groundTruthGravityNorm, measurements, bias);
3103 }
3104
3105 /**
3106 * Constructor.
3107 *
3108 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3109 * squared second (m/s^2).
3110 * @param measurements collection of body kinematics measurements with standard
3111 * deviations taken at the same position with zero velocity
3112 * and unknown different orientations.
3113 * @param bias known accelerometer bias.
3114 * @param listener listener to handle events raised by this calibrator.
3115 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3116 * if provided gravity norm value is negative.
3117 */
3118 public KnownBiasAndGravityNormAccelerometerCalibrator(
3119 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3120 final Matrix bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3121 super(groundTruthGravityNorm, measurements, bias, listener);
3122 }
3123
3124 /**
3125 * Constructor.
3126 *
3127 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3128 * squared second (m/s^2).
3129 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3130 * accelerometer and gyroscope.
3131 * @param bias known accelerometer bias.
3132 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3133 * if provided gravity norm value is negative.
3134 */
3135 public KnownBiasAndGravityNormAccelerometerCalibrator(
3136 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias) {
3137 super(groundTruthGravityNorm, commonAxisUsed, bias);
3138 }
3139
3140 /**
3141 * Constructor.
3142 *
3143 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3144 * squared second (m/s^2).
3145 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3146 * accelerometer and gyroscope.
3147 * @param bias known accelerometer bias.
3148 * @param listener listener to handle events raised by this calibrator.
3149 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3150 * if provided gravity norm value is negative.
3151 */
3152 public KnownBiasAndGravityNormAccelerometerCalibrator(
3153 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
3154 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3155 super(groundTruthGravityNorm, commonAxisUsed, bias, listener);
3156 }
3157
3158 /**
3159 * Constructor.
3160 *
3161 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3162 * squared second (m/s^2).
3163 * @param measurements collection of body kinematics measurements with standard
3164 * deviations taken at the same position with zero velocity
3165 * and unknown different orientations.
3166 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3167 * accelerometer and gyroscope.
3168 * @param bias known accelerometer bias.
3169 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3170 * if provided gravity norm value is negative.
3171 */
3172 public KnownBiasAndGravityNormAccelerometerCalibrator(
3173 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3174 final boolean commonAxisUsed, final Matrix bias) {
3175 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias);
3176 }
3177
3178 /**
3179 * Constructor.
3180 *
3181 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3182 * squared second (m/s^2).
3183 * @param measurements collection of body kinematics measurements with standard
3184 * deviations taken at the same position with zero velocity
3185 * and unknown different orientations.
3186 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3187 * accelerometer and gyroscope.
3188 * @param bias known accelerometer bias.
3189 * @param listener listener to handle events raised by this calibrator.
3190 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
3191 * if provided gravity norm value is negative.
3192 */
3193 public KnownBiasAndGravityNormAccelerometerCalibrator(
3194 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3195 final boolean commonAxisUsed, final Matrix bias,
3196 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3197 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias, listener);
3198 }
3199
3200 /**
3201 * Constructor.
3202 *
3203 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3204 * squared second (m/s^2).
3205 * @param bias known accelerometer bias.
3206 * @param initialMa initial scale factors and cross coupling errors matrix.
3207 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3208 * scaling and coupling error matrix is not 3x3 or
3209 * if provided gravity norm value is negative.
3210 */
3211 public KnownBiasAndGravityNormAccelerometerCalibrator(
3212 final Double groundTruthGravityNorm, final Matrix bias, final Matrix initialMa) {
3213 super(groundTruthGravityNorm, bias, initialMa);
3214 }
3215
3216 /**
3217 * Constructor.
3218 *
3219 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3220 * squared second (m/s^2).
3221 * @param bias known accelerometer bias.
3222 * @param initialMa initial scale factors and cross coupling errors matrix.
3223 * @param listener listener to handle events raised by this calibrator.
3224 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3225 * scaling and coupling error matrix is not 3x3 or
3226 * if provided gravity norm value is negative.
3227 */
3228 public KnownBiasAndGravityNormAccelerometerCalibrator(
3229 final Double groundTruthGravityNorm, final Matrix bias, final Matrix initialMa,
3230 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3231 super(groundTruthGravityNorm, bias, initialMa, listener);
3232 }
3233
3234 /**
3235 * Constructor.
3236 *
3237 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3238 * squared second (m/s^2).
3239 * @param measurements collection of body kinematics measurements with standard
3240 * deviations taken at the same position with zero velocity
3241 * and unknown different orientations.
3242 * @param bias known accelerometer bias.
3243 * @param initialMa initial scale factors and cross coupling errors matrix.
3244 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3245 * scaling and coupling error matrix is not 3x3 or
3246 * if provided gravity norm value is negative.
3247 */
3248 public KnownBiasAndGravityNormAccelerometerCalibrator(
3249 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3250 final Matrix bias, final Matrix initialMa) {
3251 super(groundTruthGravityNorm, measurements, bias, initialMa);
3252 }
3253
3254 /**
3255 * Constructor.
3256 *
3257 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3258 * squared second (m/s^2).
3259 * @param measurements collection of body kinematics measurements with standard
3260 * deviations taken at the same position with zero velocity
3261 * and unknown different orientations.
3262 * @param bias known accelerometer bias.
3263 * @param initialMa initial scale factors and cross coupling errors matrix.
3264 * @param listener listener to handle events raised by this calibrator.
3265 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3266 * scaling and coupling error matrix is not 3x3 or
3267 * if provided gravity norm value is negative.
3268 */
3269 public KnownBiasAndGravityNormAccelerometerCalibrator(
3270 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3271 final Matrix bias, final Matrix initialMa,
3272 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3273 super(groundTruthGravityNorm, measurements, bias, initialMa, listener);
3274 }
3275
3276 /**
3277 * Constructor.
3278 *
3279 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3280 * squared second (m/s^2).
3281 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3282 * accelerometer and gyroscope.
3283 * @param bias known accelerometer bias.
3284 * @param initialMa initial scale factors and cross coupling errors matrix.
3285 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3286 * scaling and coupling error matrix is not 3x3 or
3287 * if provided gravity norm value is negative.
3288 */
3289 public KnownBiasAndGravityNormAccelerometerCalibrator(
3290 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
3291 final Matrix initialMa) {
3292 super(groundTruthGravityNorm, commonAxisUsed, bias, initialMa);
3293 }
3294
3295 /**
3296 * Constructor.
3297 *
3298 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3299 * squared second (m/s^2).
3300 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3301 * accelerometer and gyroscope.
3302 * @param bias known accelerometer bias.
3303 * @param initialMa initial scale factors and cross coupling errors matrix.
3304 * @param listener listener to handle events raised by this calibrator.
3305 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3306 * scaling and coupling error matrix is not 3x3 or
3307 * if provided gravity norm value is negative.
3308 */
3309 public KnownBiasAndGravityNormAccelerometerCalibrator(
3310 final Double groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
3311 final Matrix initialMa, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3312 super(groundTruthGravityNorm, commonAxisUsed, bias, initialMa, listener);
3313 }
3314
3315 /**
3316 * Constructor.
3317 *
3318 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3319 * squared second (m/s^2).
3320 * @param measurements collection of body kinematics measurements with standard
3321 * deviations taken at the same position with zero velocity
3322 * and unknown different orientations.
3323 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3324 * accelerometer and gyroscope.
3325 * @param bias known accelerometer bias.
3326 * @param initialMa initial scale factors and cross coupling errors matrix.
3327 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3328 * scaling and coupling error matrix is not 3x3 or
3329 * if provided gravity norm value is negative.
3330 */
3331 public KnownBiasAndGravityNormAccelerometerCalibrator(
3332 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3333 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa) {
3334 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias, initialMa);
3335 }
3336
3337 /**
3338 * Constructor.
3339 *
3340 * @param groundTruthGravityNorm ground truth gravity norm expressed in meters per
3341 * squared second (m/s^2).
3342 * @param measurements collection of body kinematics measurements with standard
3343 * deviations taken at the same position with zero velocity
3344 * and unknown different orientations.
3345 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3346 * accelerometer and gyroscope.
3347 * @param bias known accelerometer bias.
3348 * @param initialMa initial scale factors and cross coupling errors matrix.
3349 * @param listener listener to handle events raised by this calibrator.
3350 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
3351 * scaling and coupling error matrix is not 3x3 or
3352 * if provided gravity norm value is negative.
3353 */
3354 public KnownBiasAndGravityNormAccelerometerCalibrator(
3355 final Double groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3356 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa,
3357 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3358 super(groundTruthGravityNorm, measurements, commonAxisUsed, bias, initialMa, listener);
3359 }
3360
3361 /**
3362 * Constructor.
3363 *
3364 * @param groundTruthGravityNorm ground truth gravity norm.
3365 * @throws IllegalArgumentException if provided gravity norm value is negative.
3366 */
3367 public KnownBiasAndGravityNormAccelerometerCalibrator(final Acceleration groundTruthGravityNorm) {
3368 this(convertAcceleration(groundTruthGravityNorm));
3369 }
3370
3371 /**
3372 * Constructor.
3373 *
3374 * @param groundTruthGravityNorm ground truth gravity norm.
3375 * @param listener listener to handle events raised by this calibrator.
3376 * @throws IllegalArgumentException if provided gravity norm value is negative.
3377 */
3378 public KnownBiasAndGravityNormAccelerometerCalibrator(
3379 final Acceleration groundTruthGravityNorm,
3380 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3381 this(convertAcceleration(groundTruthGravityNorm), listener);
3382 }
3383
3384 /**
3385 * Constructor.
3386 *
3387 * @param groundTruthGravityNorm ground truth gravity norm.
3388 * @param measurements collection of body kinematics measurements with standard
3389 * deviations taken at the same position with zero velocity
3390 * and unknown different orientations.
3391 * @throws IllegalArgumentException if provided gravity norm value is negative.
3392 */
3393 public KnownBiasAndGravityNormAccelerometerCalibrator(
3394 final Acceleration groundTruthGravityNorm,
3395 final Collection<StandardDeviationBodyKinematics> measurements) {
3396 this(convertAcceleration(groundTruthGravityNorm), measurements);
3397 }
3398
3399 /**
3400 * Constructor.
3401 *
3402 * @param groundTruthGravityNorm ground truth gravity norm.
3403 * @param measurements collection of body kinematics measurements with standard
3404 * deviations taken at the same position with zero velocity
3405 * and unknown different orientations.
3406 * @param listener listener to handle events raised by this calibrator.
3407 * @throws IllegalArgumentException if provided gravity norm value is negative.
3408 */
3409 public KnownBiasAndGravityNormAccelerometerCalibrator(
3410 final Acceleration groundTruthGravityNorm,
3411 final Collection<StandardDeviationBodyKinematics> measurements,
3412 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3413 this(convertAcceleration(groundTruthGravityNorm), measurements, listener);
3414 }
3415
3416 /**
3417 * Constructor.
3418 *
3419 * @param groundTruthGravityNorm ground truth gravity norm,
3420 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3421 * accelerometer and gyroscope.
3422 * @throws IllegalArgumentException if provided gravity norm value is negative.
3423 */
3424 public KnownBiasAndGravityNormAccelerometerCalibrator(
3425 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed) {
3426 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed);
3427 }
3428
3429 /**
3430 * Constructor.
3431 *
3432 * @param groundTruthGravityNorm ground truth gravity norm.
3433 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3434 * accelerometer and gyroscope.
3435 * @param listener listener to handle events raised by this calibrator.
3436 * @throws IllegalArgumentException if provided gravity norm value is negative.
3437 */
3438 public KnownBiasAndGravityNormAccelerometerCalibrator(
3439 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
3440 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3441 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, listener);
3442 }
3443
3444 /**
3445 * Constructor.
3446 *
3447 * @param groundTruthGravityNorm ground truth gravity norm.
3448 * @param measurements collection of body kinematics measurements with standard
3449 * deviations taken at the same position with zero velocity
3450 * and unknown different orientations.
3451 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3452 * accelerometer and gyroscope.
3453 * @throws IllegalArgumentException if provided gravity norm value is negative.
3454 */
3455 public KnownBiasAndGravityNormAccelerometerCalibrator(
3456 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3457 final boolean commonAxisUsed) {
3458 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed);
3459 }
3460
3461 /**
3462 * Constructor.
3463 *
3464 * @param groundTruthGravityNorm ground truth gravity norm.
3465 * @param measurements collection of body kinematics measurements with standard
3466 * deviations taken at the same position with zero velocity
3467 * and unknown different orientations.
3468 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3469 * accelerometer and gyroscope.
3470 * @param listener listener to handle events raised by this calibrator.
3471 * @throws IllegalArgumentException if provided gravity norm value is negative.
3472 */
3473 public KnownBiasAndGravityNormAccelerometerCalibrator(
3474 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3475 final boolean commonAxisUsed, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3476 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, listener);
3477 }
3478
3479 /**
3480 * Constructor.
3481 *
3482 * @param groundTruthGravityNorm ground truth gravity norm.
3483 * @param biasX x-coordinate of accelerometer bias.
3484 * This is expressed in meters per squared second (m/s^2).
3485 * @param biasY y-coordinate of accelerometer bias.
3486 * This is expressed in meters per squared second (m/s^2).
3487 * @param biasZ z-coordinate of accelerometer bias.
3488 * This is expressed in meters per squared second (m/s^2).
3489 * @throws IllegalArgumentException if provided gravity norm value is negative.
3490 */
3491 public KnownBiasAndGravityNormAccelerometerCalibrator(
3492 final Acceleration groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ) {
3493 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ);
3494 }
3495
3496 /**
3497 * Constructor.
3498 *
3499 * @param groundTruthGravityNorm ground truth gravity norm.
3500 * @param biasX x-coordinate of accelerometer bias.
3501 * This is expressed in meters per squared second (m/s^2).
3502 * @param biasY y-coordinate of accelerometer bias.
3503 * This is expressed in meters per squared second (m/s^2).
3504 * @param biasZ z-coordinate of accelerometer bias.
3505 * This is expressed in meters per squared second (m/s^2).
3506 * @param listener listener to handle events raised by this calibrator.
3507 * @throws IllegalArgumentException if provided gravity norm value is negative.
3508 */
3509 public KnownBiasAndGravityNormAccelerometerCalibrator(
3510 final Acceleration groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
3511 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3512 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, listener);
3513 }
3514
3515 /**
3516 * Constructor.
3517 *
3518 * @param groundTruthGravityNorm ground truth gravity norm.
3519 * @param measurements collection of body kinematics measurements with standard
3520 * deviations taken at the same position with zero velocity
3521 * and unknown different orientations.
3522 * @param biasX x-coordinate of accelerometer bias.
3523 * This is expressed in meters per squared second (m/s^2).
3524 * @param biasY y-coordinate of accelerometer bias.
3525 * This is expressed in meters per squared second (m/s^2).
3526 * @param biasZ z-coordinate of accelerometer bias.
3527 * This is expressed in meters per squared second (m/s^2).
3528 * @throws IllegalArgumentException if provided gravity norm value is negative.
3529 */
3530 public KnownBiasAndGravityNormAccelerometerCalibrator(
3531 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3532 final double biasX, final double biasY, final double biasZ) {
3533 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ);
3534 }
3535
3536 /**
3537 * Constructor.
3538 *
3539 * @param groundTruthGravityNorm ground truth gravity norm.
3540 * @param measurements collection of body kinematics measurements with standard
3541 * deviations taken at the same position with zero velocity
3542 * and unknown different orientations.
3543 * @param biasX x-coordinate of accelerometer bias.
3544 * This is expressed in meters per squared second (m/s^2).
3545 * @param biasY y-coordinate of accelerometer bias.
3546 * This is expressed in meters per squared second (m/s^2).
3547 * @param biasZ z-coordinate of accelerometer bias.
3548 * This is expressed in meters per squared second (m/s^2).
3549 * @param listener listener to handle events raised by this calibrator.
3550 * @throws IllegalArgumentException if provided gravity norm value is negative.
3551 */
3552 public KnownBiasAndGravityNormAccelerometerCalibrator(
3553 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3554 final double biasX, final double biasY, final double biasZ,
3555 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3556 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ, listener);
3557 }
3558
3559 /**
3560 * Constructor.
3561 *
3562 * @param groundTruthGravityNorm ground truth gravity norm.
3563 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3564 * accelerometer and gyroscope.
3565 * @param biasX x-coordinate of accelerometer bias.
3566 * This is expressed in meters per squared second (m/s^2).
3567 * @param biasY y-coordinate of accelerometer bias.
3568 * This is expressed in meters per squared second (m/s^2).
3569 * @param biasZ z-coordinate of accelerometer bias.
3570 * This is expressed in meters per squared second (m/s^2).
3571 * @throws IllegalArgumentException if provided gravity norm value is negative.
3572 */
3573 public KnownBiasAndGravityNormAccelerometerCalibrator(
3574 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
3575 final double biasX, final double biasY, final double biasZ) {
3576 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ);
3577 }
3578
3579 /**
3580 * Constructor.
3581 *
3582 * @param groundTruthGravityNorm ground truth gravity norm.
3583 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3584 * accelerometer and gyroscope.
3585 * @param biasX x-coordinate of accelerometer bias.
3586 * This is expressed in meters per squared second (m/s^2).
3587 * @param biasY y-coordinate of accelerometer bias.
3588 * This is expressed in meters per squared second (m/s^2).
3589 * @param biasZ z-coordinate of accelerometer bias.
3590 * This is expressed in meters per squared second (m/s^2).
3591 * @param listener listener to handle events raised by this calibrator.
3592 * @throws IllegalArgumentException if provided gravity norm value is negative.
3593 */
3594 public KnownBiasAndGravityNormAccelerometerCalibrator(
3595 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
3596 final double biasX, final double biasY, final double biasZ,
3597 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3598 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ, listener);
3599 }
3600
3601 /**
3602 * Constructor.
3603 *
3604 * @param groundTruthGravityNorm ground truth gravity norm.
3605 * @param measurements collection of body kinematics measurements with standard
3606 * deviations taken at the same position with zero velocity
3607 * and unknown different orientations.
3608 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3609 * accelerometer and gyroscope.
3610 * @param biasX x-coordinate of accelerometer bias.
3611 * This is expressed in meters per squared second (m/s^2).
3612 * @param biasY y-coordinate of accelerometer bias.
3613 * This is expressed in meters per squared second (m/s^2).
3614 * @param biasZ z-coordinate of accelerometer bias.
3615 * This is expressed in meters per squared second (m/s^2).
3616 * @throws IllegalArgumentException if provided gravity norm value is negative.
3617 */
3618 public KnownBiasAndGravityNormAccelerometerCalibrator(
3619 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3620 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ) {
3621 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ);
3622 }
3623
3624 /**
3625 * Constructor.
3626 *
3627 * @param groundTruthGravityNorm ground truth gravity norm.
3628 * @param measurements collection of body kinematics measurements with standard
3629 * deviations taken at the same position with zero velocity
3630 * and unknown different orientations.
3631 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3632 * accelerometer and gyroscope.
3633 * @param biasX x-coordinate of accelerometer bias.
3634 * This is expressed in meters per squared second (m/s^2).
3635 * @param biasY y-coordinate of accelerometer bias.
3636 * This is expressed in meters per squared second (m/s^2).
3637 * @param biasZ z-coordinate of accelerometer bias.
3638 * This is expressed in meters per squared second (m/s^2).
3639 * @param listener listener to handle events raised by this calibrator.
3640 * @throws IllegalArgumentException if provided gravity norm value is negative.
3641 */
3642 public KnownBiasAndGravityNormAccelerometerCalibrator(
3643 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3644 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
3645 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3646 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
3647 }
3648
3649 /**
3650 * Constructor.
3651 *
3652 * @param groundTruthGravityNorm ground truth gravity norm.
3653 * @param biasX x-coordinate of accelerometer bias.
3654 * @param biasY y-coordinate of accelerometer bias.
3655 * @param biasZ z-coordinate of accelerometer bias.
3656 * @throws IllegalArgumentException if provided gravity norm value is negative.
3657 */
3658 public KnownBiasAndGravityNormAccelerometerCalibrator(
3659 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
3660 final Acceleration biasZ) {
3661 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ);
3662 }
3663
3664 /**
3665 * Constructor.
3666 *
3667 * @param groundTruthGravityNorm ground truth gravity norm.
3668 * @param biasX x-coordinate of accelerometer bias.
3669 * @param biasY y-coordinate of accelerometer bias.
3670 * @param biasZ z-coordinate of accelerometer bias.
3671 * @param listener listener to handle events raised by this calibrator.
3672 * @throws IllegalArgumentException if provided gravity norm value is negative.
3673 */
3674 public KnownBiasAndGravityNormAccelerometerCalibrator(
3675 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
3676 final Acceleration biasZ, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3677 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, listener);
3678 }
3679
3680 /**
3681 * Constructor.
3682 *
3683 * @param groundTruthGravityNorm ground truth gravity norm.
3684 * @param measurements collection of body kinematics measurements with standard
3685 * deviations taken at the same position with zero velocity
3686 * and unknown different orientations.
3687 * @param biasX x-coordinate of accelerometer bias.
3688 * @param biasY y-coordinate of accelerometer bias.
3689 * @param biasZ z-coordinate of accelerometer bias.
3690 * @throws IllegalArgumentException if provided gravity norm value is negative.
3691 */
3692 public KnownBiasAndGravityNormAccelerometerCalibrator(
3693 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3694 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ) {
3695 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ);
3696 }
3697
3698 /**
3699 * Constructor.
3700 *
3701 * @param groundTruthGravityNorm ground truth gravity norm.
3702 * @param measurements collection of body kinematics measurements with standard
3703 * deviations taken at the same position with zero velocity
3704 * and unknown different orientations.
3705 * @param biasX x-coordinate of accelerometer bias.
3706 * @param biasY y-coordinate of accelerometer bias.
3707 * @param biasZ z-coordinate of accelerometer bias.
3708 * @param listener listener to handle events raised by this calibrator.
3709 * @throws IllegalArgumentException if provided gravity norm value is negative.
3710 */
3711 public KnownBiasAndGravityNormAccelerometerCalibrator(
3712 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3713 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
3714 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3715 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ, listener);
3716 }
3717
3718 /**
3719 * Constructor.
3720 *
3721 * @param groundTruthGravityNorm ground truth gravity norm.
3722 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3723 * accelerometer and gyroscope.
3724 * @param biasX x-coordinate of accelerometer bias.
3725 * @param biasY y-coordinate of accelerometer bias.
3726 * @param biasZ z-coordinate of accelerometer bias.
3727 * @throws IllegalArgumentException if provided gravity norm value is negative.
3728 */
3729 public KnownBiasAndGravityNormAccelerometerCalibrator(
3730 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
3731 final Acceleration biasY, final Acceleration biasZ) {
3732 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ);
3733 }
3734
3735 /**
3736 * Constructor.
3737 *
3738 * @param groundTruthGravityNorm ground truth gravity norm.
3739 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3740 * accelerometer and gyroscope.
3741 * @param biasX x-coordinate of accelerometer bias.
3742 * @param biasY y-coordinate of accelerometer bias.
3743 * @param biasZ z-coordinate of accelerometer bias.
3744 * @param listener listener to handle events raised by this calibrator.
3745 * @throws IllegalArgumentException if provided gravity norm value is negative.
3746 */
3747 public KnownBiasAndGravityNormAccelerometerCalibrator(
3748 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
3749 final Acceleration biasY, final Acceleration biasZ,
3750 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3751 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ, listener);
3752 }
3753
3754 /**
3755 * Constructor.
3756 *
3757 * @param groundTruthGravityNorm ground truth gravity norm.
3758 * @param measurements collection of body kinematics measurements with standard
3759 * deviations taken at the same position with zero velocity
3760 * and unknown different orientations.
3761 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3762 * accelerometer and gyroscope.
3763 * @param biasX x-coordinate of accelerometer bias.
3764 * @param biasY y-coordinate of accelerometer bias.
3765 * @param biasZ z-coordinate of accelerometer bias.
3766 * @throws IllegalArgumentException if provided gravity norm value is negative.
3767 */
3768 public KnownBiasAndGravityNormAccelerometerCalibrator(
3769 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3770 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY,
3771 final Acceleration biasZ) {
3772 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ);
3773 }
3774
3775 /**
3776 * Constructor.
3777 *
3778 * @param groundTruthGravityNorm ground truth gravity norm.
3779 * @param measurements collection of body kinematics measurements with standard
3780 * deviations taken at the same position with zero velocity
3781 * and unknown different orientations.
3782 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3783 * accelerometer and gyroscope.
3784 * @param biasX x-coordinate of accelerometer bias.
3785 * @param biasY y-coordinate of accelerometer bias.
3786 * @param biasZ z-coordinate of accelerometer bias.
3787 * @param listener listener to handle events raised by this calibrator.
3788 * @throws IllegalArgumentException if provided gravity norm value is negative.
3789 */
3790 public KnownBiasAndGravityNormAccelerometerCalibrator(
3791 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3792 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
3793 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3794 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ, listener);
3795 }
3796
3797 /**
3798 * Constructor.
3799 *
3800 * @param groundTruthGravityNorm ground truth gravity norm.
3801 * @param biasX x-coordinate of accelerometer bias.
3802 * This is expressed in meters per squared second (m/s^2).
3803 * @param biasY y-coordinate of accelerometer bias.
3804 * This is expressed in meters per squared second (m/s^2).
3805 * @param biasZ z-coordinate of accelerometer bias.
3806 * This is expressed in meters per squared second (m/s^2).
3807 * @param initialSx initial x scaling factor.
3808 * @param initialSy initial y scaling factor.
3809 * @param initialSz initial z scaling factor.
3810 * @throws IllegalArgumentException if provided gravity norm value is negative.
3811 */
3812 public KnownBiasAndGravityNormAccelerometerCalibrator(
3813 final Acceleration groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
3814 final double initialSx, final double initialSy, final double initialSz) {
3815 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz);
3816 }
3817
3818 /**
3819 * Constructor.
3820 *
3821 * @param groundTruthGravityNorm ground truth gravity norm.
3822 * @param measurements collection of body kinematics measurements with standard
3823 * deviations taken at the same position with zero velocity
3824 * and unknown different orientations.
3825 * @param biasX x-coordinate of accelerometer bias.
3826 * This is expressed in meters per squared second (m/s^2).
3827 * @param biasY y-coordinate of accelerometer bias.
3828 * This is expressed in meters per squared second (m/s^2).
3829 * @param biasZ z-coordinate of accelerometer bias.
3830 * This is expressed in meters per squared second (m/s^2).
3831 * @param initialSx initial x scaling factor.
3832 * @param initialSy initial y scaling factor.
3833 * @param initialSz initial z scaling factor.
3834 * @throws IllegalArgumentException if provided gravity norm value is negative.
3835 */
3836 public KnownBiasAndGravityNormAccelerometerCalibrator(
3837 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3838 final double biasX, final double biasY, final double biasZ,
3839 final double initialSx, final double initialSy, final double initialSz) {
3840 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
3841 initialSx, initialSy, initialSz);
3842 }
3843
3844 /**
3845 * Constructor.
3846 *
3847 * @param groundTruthGravityNorm ground truth gravity norm.
3848 * @param measurements collection of body kinematics measurements with standard
3849 * deviations taken at the same position with zero velocity
3850 * and unknown different orientations.
3851 * @param biasX x-coordinate of accelerometer bias.
3852 * This is expressed in meters per squared second (m/s^2).
3853 * @param biasY y-coordinate of accelerometer bias.
3854 * This is expressed in meters per squared second (m/s^2).
3855 * @param biasZ z-coordinate of accelerometer bias.
3856 * This is expressed in meters per squared second (m/s^2).
3857 * @param initialSx initial x scaling factor.
3858 * @param initialSy initial y scaling factor.
3859 * @param initialSz initial z scaling factor.
3860 * @param listener listener to handle events raised by this calibrator.
3861 * @throws IllegalArgumentException if provided gravity norm value is negative.
3862 */
3863 public KnownBiasAndGravityNormAccelerometerCalibrator(
3864 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3865 final double biasX, final double biasY, final double biasZ,
3866 final double initialSx, final double initialSy, final double initialSz,
3867 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3868 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
3869 initialSx, initialSy, initialSz, listener);
3870 }
3871
3872 /**
3873 * Constructor.
3874 *
3875 * @param groundTruthGravityNorm ground truth gravity norm.
3876 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3877 * accelerometer and gyroscope.
3878 * @param biasX x-coordinate of accelerometer bias.
3879 * This is expressed in meters per squared second (m/s^2).
3880 * @param biasY y-coordinate of accelerometer bias.
3881 * This is expressed in meters per squared second (m/s^2).
3882 * @param biasZ z-coordinate of accelerometer bias.
3883 * This is expressed in meters per squared second (m/s^2).
3884 * @param initialSx initial x scaling factor.
3885 * @param initialSy initial y scaling factor.
3886 * @param initialSz initial z scaling factor.
3887 * @throws IllegalArgumentException if provided gravity norm value is negative.
3888 */
3889 public KnownBiasAndGravityNormAccelerometerCalibrator(
3890 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
3891 final double biasX, final double biasY, final double biasZ,
3892 final double initialSx, final double initialSy, final double initialSz) {
3893 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
3894 initialSx, initialSy, initialSz);
3895 }
3896
3897 /**
3898 * Constructor.
3899 *
3900 * @param groundTruthGravityNorm ground truth gravity norm.
3901 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3902 * accelerometer and gyroscope.
3903 * @param biasX x-coordinate of accelerometer bias.
3904 * This is expressed in meters per squared second (m/s^2).
3905 * @param biasY y-coordinate of accelerometer bias.
3906 * This is expressed in meters per squared second (m/s^2).
3907 * @param biasZ z-coordinate of accelerometer bias.
3908 * This is expressed in meters per squared second (m/s^2).
3909 * @param initialSx initial x scaling factor.
3910 * @param initialSy initial y scaling factor.
3911 * @param initialSz initial z scaling factor.
3912 * @param listener listener to handle events raised by this calibrator.
3913 * @throws IllegalArgumentException if provided gravity norm value is negative.
3914 */
3915 public KnownBiasAndGravityNormAccelerometerCalibrator(
3916 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
3917 final double biasX, final double biasY, final double biasZ,
3918 final double initialSx, final double initialSy, final double initialSz,
3919 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3920 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
3921 initialSx, initialSy, initialSz, listener);
3922 }
3923
3924 /**
3925 * Constructor.
3926 *
3927 * @param groundTruthGravityNorm ground truth gravity norm.
3928 * @param measurements collection of body kinematics measurements with standard
3929 * deviations taken at the same position with zero velocity
3930 * and unknown different orientations.
3931 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3932 * accelerometer and gyroscope.
3933 * @param biasX x-coordinate of accelerometer bias.
3934 * This is expressed in meters per squared second (m/s^2).
3935 * @param biasY y-coordinate of accelerometer bias.
3936 * This is expressed in meters per squared second (m/s^2).
3937 * @param biasZ z-coordinate of accelerometer bias.
3938 * This is expressed in meters per squared second (m/s^2).
3939 * @param initialSx initial x scaling factor.
3940 * @param initialSy initial y scaling factor.
3941 * @param initialSz initial z scaling factor.
3942 * @throws IllegalArgumentException if provided gravity norm value is negative.
3943 */
3944 public KnownBiasAndGravityNormAccelerometerCalibrator(
3945 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3946 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
3947 final double initialSx, final double initialSy, final double initialSz) {
3948 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ,
3949 initialSx, initialSy, initialSz);
3950 }
3951
3952 /**
3953 * Constructor.
3954 *
3955 * @param groundTruthGravityNorm ground truth gravity norm.
3956 * @param measurements collection of body kinematics measurements with standard
3957 * deviations taken at the same position with zero velocity
3958 * and unknown different orientations.
3959 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
3960 * accelerometer and gyroscope.
3961 * @param biasX x-coordinate of accelerometer bias.
3962 * This is expressed in meters per squared second (m/s^2).
3963 * @param biasY y-coordinate of accelerometer bias.
3964 * This is expressed in meters per squared second (m/s^2).
3965 * @param biasZ z-coordinate of accelerometer bias.
3966 * This is expressed in meters per squared second (m/s^2).
3967 * @param initialSx initial x scaling factor.
3968 * @param initialSy initial y scaling factor.
3969 * @param initialSz initial z scaling factor.
3970 * @param listener listener to handle events raised by this calibrator.
3971 * @throws IllegalArgumentException if provided gravity norm value is negative.
3972 */
3973 public KnownBiasAndGravityNormAccelerometerCalibrator(
3974 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
3975 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
3976 final double initialSx, final double initialSy, final double initialSz,
3977 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
3978 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ,
3979 initialSx, initialSy, initialSz, listener);
3980 }
3981
3982 /**
3983 * Constructor.
3984 *
3985 * @param groundTruthGravityNorm ground truth gravity norm.
3986 * @param biasX x-coordinate of accelerometer bias.
3987 * @param biasY y-coordinate of accelerometer bias.
3988 * @param biasZ z-coordinate of accelerometer bias.
3989 * @param initialSx initial x scaling factor.
3990 * @param initialSy initial y scaling factor.
3991 * @param initialSz initial z scaling factor.
3992 * @throws IllegalArgumentException if provided gravity norm value is negative.
3993 */
3994 public KnownBiasAndGravityNormAccelerometerCalibrator(
3995 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
3996 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz) {
3997 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz);
3998 }
3999
4000 /**
4001 * Constructor.
4002 *
4003 * @param groundTruthGravityNorm ground truth gravity norm.
4004 * @param biasX x-coordinate of accelerometer bias.
4005 * @param biasY y-coordinate of accelerometer bias.
4006 * @param biasZ z-coordinate of accelerometer bias.
4007 * @param initialSx initial x scaling factor.
4008 * @param initialSy initial y scaling factor.
4009 * @param initialSz initial z scaling factor.
4010 * @param listener listener to handle events raised by this calibrator.
4011 * @throws IllegalArgumentException if provided gravity norm value is negative.
4012 */
4013 public KnownBiasAndGravityNormAccelerometerCalibrator(
4014 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
4015 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz,
4016 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4017 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz,
4018 listener);
4019 }
4020
4021 /**
4022 * Constructor.
4023 *
4024 * @param groundTruthGravityNorm ground truth gravity norm.
4025 * @param measurements collection of body kinematics measurements with standard
4026 * deviations taken at the same position with zero velocity
4027 * and unknown different orientations.
4028 * @param biasX x-coordinate of accelerometer bias.
4029 * @param biasY y-coordinate of accelerometer bias.
4030 * @param biasZ z-coordinate of accelerometer bias.
4031 * @param initialSx initial x scaling factor.
4032 * @param initialSy initial y scaling factor.
4033 * @param initialSz initial z scaling factor.
4034 * @throws IllegalArgumentException if provided gravity norm value is negative.
4035 */
4036 public KnownBiasAndGravityNormAccelerometerCalibrator(
4037 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4038 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
4039 final double initialSy, final double initialSz) {
4040 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4041 initialSx, initialSy, initialSz);
4042 }
4043
4044 /**
4045 * Constructor.
4046 *
4047 * @param groundTruthGravityNorm ground truth gravity norm.
4048 * @param measurements collection of body kinematics measurements with standard
4049 * deviations taken at the same position with zero velocity
4050 * and unknown different orientations.
4051 * @param biasX x-coordinate of accelerometer bias.
4052 * @param biasY y-coordinate of accelerometer bias.
4053 * @param biasZ z-coordinate of accelerometer bias.
4054 * @param initialSx initial x scaling factor.
4055 * @param initialSy initial y scaling factor.
4056 * @param initialSz initial z scaling factor.
4057 * @param listener listener to handle events raised by this calibrator.
4058 * @throws IllegalArgumentException if provided gravity norm value is negative.
4059 */
4060 public KnownBiasAndGravityNormAccelerometerCalibrator(
4061 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4062 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
4063 final double initialSy, final double initialSz,
4064 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4065 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4066 initialSx, initialSy, initialSz, listener);
4067 }
4068
4069 /**
4070 * Constructor.
4071 *
4072 * @param groundTruthGravityNorm ground truth gravity norm.
4073 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4074 * accelerometer and gyroscope.
4075 * @param biasX x-coordinate of accelerometer bias.
4076 * @param biasY y-coordinate of accelerometer bias.
4077 * @param biasZ z-coordinate of accelerometer bias.
4078 * @param initialSx initial x scaling factor.
4079 * @param initialSy initial y scaling factor.
4080 * @param initialSz initial z scaling factor.
4081 * @throws IllegalArgumentException if provided gravity norm value is negative.
4082 */
4083 public KnownBiasAndGravityNormAccelerometerCalibrator(
4084 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
4085 final Acceleration biasY, final Acceleration biasZ,
4086 final double initialSx, final double initialSy, final double initialSz) {
4087 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4088 initialSx, initialSy, initialSz);
4089 }
4090
4091 /**
4092 * Constructor.
4093 *
4094 * @param groundTruthGravityNorm ground truth gravity norm.
4095 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4096 * accelerometer and gyroscope.
4097 * @param biasX x-coordinate of accelerometer bias.
4098 * @param biasY y-coordinate of accelerometer bias.
4099 * @param biasZ z-coordinate of accelerometer bias.
4100 * @param initialSx initial x scaling factor.
4101 * @param initialSy initial y scaling factor.
4102 * @param initialSz initial z scaling factor.
4103 * @param listener listener to handle events raised by this calibrator.
4104 * @throws IllegalArgumentException if provided gravity norm value is negative.
4105 */
4106 public KnownBiasAndGravityNormAccelerometerCalibrator(
4107 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
4108 final Acceleration biasY, final Acceleration biasZ, final double initialSx, final double initialSy,
4109 final double initialSz, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4110 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4111 initialSx, initialSy, initialSz, listener);
4112 }
4113
4114 /**
4115 * Constructor.
4116 *
4117 * @param groundTruthGravityNorm ground truth gravity norm.
4118 * @param measurements collection of body kinematics measurements with standard
4119 * deviations taken at the same position with zero velocity
4120 * and unknown different orientations.
4121 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4122 * accelerometer and gyroscope.
4123 * @param biasX x-coordinate of accelerometer bias.
4124 * @param biasY y-coordinate of accelerometer bias.
4125 * @param biasZ z-coordinate of accelerometer bias.
4126 * @param initialSx initial x scaling factor.
4127 * @param initialSy initial y scaling factor.
4128 * @param initialSz initial z scaling factor.
4129 * @throws IllegalArgumentException if provided gravity norm value is negative.
4130 */
4131 public KnownBiasAndGravityNormAccelerometerCalibrator(
4132 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4133 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
4134 final double initialSx, final double initialSy, final double initialSz) {
4135 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ,
4136 initialSx, initialSy, initialSz);
4137 }
4138
4139 /**
4140 * Constructor.
4141 *
4142 * @param groundTruthGravityNorm ground truth gravity norm.
4143 * @param measurements collection of body kinematics measurements with standard
4144 * deviations taken at the same position with zero velocity
4145 * and unknown different orientations.
4146 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4147 * accelerometer and gyroscope.
4148 * @param biasX x-coordinate of accelerometer bias.
4149 * @param biasY y-coordinate of accelerometer bias.
4150 * @param biasZ z-coordinate of accelerometer bias.
4151 * @param initialSx initial x scaling factor.
4152 * @param initialSy initial y scaling factor.
4153 * @param initialSz initial z scaling factor.
4154 * @param listener listener to handle events raised by this calibrator.
4155 * @throws IllegalArgumentException if provided gravity norm value is negative.
4156 */
4157 public KnownBiasAndGravityNormAccelerometerCalibrator(
4158 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4159 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
4160 final double initialSx, final double initialSy, final double initialSz,
4161 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4162 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, biasX, biasY, biasZ,
4163 initialSx, initialSy, initialSz, listener);
4164 }
4165
4166 /**
4167 * Constructor.
4168 *
4169 * @param groundTruthGravityNorm ground truth gravity norm.
4170 * @param biasX x-coordinate of accelerometer bias.
4171 * This is expressed in meters per squared second (m/s^2).
4172 * @param biasY y-coordinate of accelerometer bias.
4173 * This is expressed in meters per squared second (m/s^2).
4174 * @param biasZ z-coordinate of accelerometer bias.
4175 * This is expressed in meters per squared second (m/s^2).
4176 * @param initialSx initial x scaling factor.
4177 * @param initialSy initial y scaling factor.
4178 * @param initialSz initial z scaling factor.
4179 * @param initialMxy initial x-y cross coupling error.
4180 * @param initialMxz initial x-z cross coupling error.
4181 * @param initialMyx initial y-x cross coupling error.
4182 * @param initialMyz initial y-z cross coupling error.
4183 * @param initialMzx initial z-x cross coupling error.
4184 * @param initialMzy initial z-y cross coupling error.
4185 * @throws IllegalArgumentException if provided gravity norm value is negative.
4186 */
4187 public KnownBiasAndGravityNormAccelerometerCalibrator(
4188 final Acceleration groundTruthGravityNorm, final double biasX, final double biasY, final double biasZ,
4189 final double initialSx, final double initialSy, final double initialSz,
4190 final double initialMxy, final double initialMxz, final double initialMyx,
4191 final double initialMyz, final double initialMzx, final double initialMzy) {
4192 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz,
4193 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
4194 }
4195
4196 /**
4197 * Constructor.
4198 *
4199 * @param groundTruthGravityNorm ground truth gravity norm.
4200 * @param measurements collection of body kinematics measurements with standard
4201 * deviations taken at the same position with zero velocity
4202 * and unknown different orientations.
4203 * @param biasX x-coordinate of accelerometer bias.
4204 * This is expressed in meters per squared second (m/s^2).
4205 * @param biasY y-coordinate of accelerometer bias.
4206 * This is expressed in meters per squared second (m/s^2).
4207 * @param biasZ z-coordinate of accelerometer bias.
4208 * This is expressed in meters per squared second (m/s^2).
4209 * @param initialSx initial x scaling factor.
4210 * @param initialSy initial y scaling factor.
4211 * @param initialSz initial z scaling factor.
4212 * @param initialMxy initial x-y cross coupling error.
4213 * @param initialMxz initial x-z cross coupling error.
4214 * @param initialMyx initial y-x cross coupling error.
4215 * @param initialMyz initial y-z cross coupling error.
4216 * @param initialMzx initial z-x cross coupling error.
4217 * @param initialMzy initial z-y cross coupling error.
4218 * @throws IllegalArgumentException if provided gravity norm value is negative.
4219 */
4220 public KnownBiasAndGravityNormAccelerometerCalibrator(
4221 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4222 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
4223 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
4224 final double initialMyz, final double initialMzx, final double initialMzy) {
4225 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4226 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4227 initialMyz, initialMzx, initialMzy);
4228 }
4229
4230 /**
4231 * Constructor.
4232 *
4233 * @param groundTruthGravityNorm ground truth gravity norm.
4234 * @param measurements collection of body kinematics measurements with standard
4235 * deviations taken at the same position with zero velocity
4236 * and unknown different orientations.
4237 * @param biasX x-coordinate of accelerometer bias.
4238 * This is expressed in meters per squared second (m/s^2).
4239 * @param biasY y-coordinate of accelerometer bias.
4240 * This is expressed in meters per squared second (m/s^2).
4241 * @param biasZ z-coordinate of accelerometer bias.
4242 * This is expressed in meters per squared second (m/s^2).
4243 * @param initialSx initial x scaling factor.
4244 * @param initialSy initial y scaling factor.
4245 * @param initialSz initial z scaling factor.
4246 * @param initialMxy initial x-y cross coupling error.
4247 * @param initialMxz initial x-z cross coupling error.
4248 * @param initialMyx initial y-x cross coupling error.
4249 * @param initialMyz initial y-z cross coupling error.
4250 * @param initialMzx initial z-x cross coupling error.
4251 * @param initialMzy initial z-y cross coupling error.
4252 * @param listener listener to handle events raised by this calibrator.
4253 * @throws IllegalArgumentException if provided gravity norm value is negative.
4254 */
4255 public KnownBiasAndGravityNormAccelerometerCalibrator(
4256 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4257 final double biasX, final double biasY, final double biasZ, final double initialSx, final double initialSy,
4258 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
4259 final double initialMyz, final double initialMzx, final double initialMzy,
4260 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4261 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4262 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4263 initialMyz, initialMzx, initialMzy, listener);
4264 }
4265
4266 /**
4267 * Constructor.
4268 *
4269 * @param groundTruthGravityNorm ground truth gravity norm.
4270 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4271 * accelerometer and gyroscope.
4272 * @param biasX x-coordinate of accelerometer bias.
4273 * This is expressed in meters per squared second (m/s^2).
4274 * @param biasY y-coordinate of accelerometer bias.
4275 * This is expressed in meters per squared second (m/s^2).
4276 * @param biasZ z-coordinate of accelerometer bias.
4277 * This is expressed in meters per squared second (m/s^2).
4278 * @param initialSx initial x scaling factor.
4279 * @param initialSy initial y scaling factor.
4280 * @param initialSz initial z scaling factor.
4281 * @param initialMxy initial x-y cross coupling error.
4282 * @param initialMxz initial x-z cross coupling error.
4283 * @param initialMyx initial y-x cross coupling error.
4284 * @param initialMyz initial y-z cross coupling error.
4285 * @param initialMzx initial z-x cross coupling error.
4286 * @param initialMzy initial z-y cross coupling error.
4287 * @throws IllegalArgumentException if provided gravity norm value is negative.
4288 */
4289 public KnownBiasAndGravityNormAccelerometerCalibrator(
4290 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
4291 final double biasX, final double biasY, final double biasZ,
4292 final double initialSx, final double initialSy, final double initialSz,
4293 final double initialMxy, final double initialMxz, final double initialMyx,
4294 final double initialMyz, final double initialMzx, final double initialMzy) {
4295 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4296 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4297 initialMyz, initialMzx, initialMzy);
4298 }
4299
4300 /**
4301 * Constructor.
4302 *
4303 * @param groundTruthGravityNorm ground truth gravity norm.
4304 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4305 * accelerometer and gyroscope.
4306 * @param biasX x-coordinate of accelerometer bias.
4307 * This is expressed in meters per squared second (m/s^2).
4308 * @param biasY y-coordinate of accelerometer bias.
4309 * This is expressed in meters per squared second (m/s^2).
4310 * @param biasZ z-coordinate of accelerometer bias.
4311 * This is expressed in meters per squared second (m/s^2).
4312 * @param initialSx initial x scaling factor.
4313 * @param initialSy initial y scaling factor.
4314 * @param initialSz initial z scaling factor.
4315 * @param initialMxy initial x-y cross coupling error.
4316 * @param initialMxz initial x-z cross coupling error.
4317 * @param initialMyx initial y-x cross coupling error.
4318 * @param initialMyz initial y-z cross coupling error.
4319 * @param initialMzx initial z-x cross coupling error.
4320 * @param initialMzy initial z-y cross coupling error.
4321 * @param listener listener to handle events raised by this calibrator.
4322 * @throws IllegalArgumentException if provided gravity norm value is negative.
4323 */
4324 public KnownBiasAndGravityNormAccelerometerCalibrator(
4325 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed,
4326 final double biasX, final double biasY, final double biasZ,
4327 final double initialSx, final double initialSy, final double initialSz,
4328 final double initialMxy, final double initialMxz, final double initialMyx,
4329 final double initialMyz, final double initialMzx, final double initialMzy,
4330 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4331 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4332 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4333 initialMyz, initialMzx, initialMzy, listener);
4334 }
4335
4336 /**
4337 * Constructor.
4338 *
4339 * @param groundTruthGravityNorm ground truth gravity norm.
4340 * @param measurements collection of body kinematics measurements with standard
4341 * deviations taken at the same position with zero velocity
4342 * and unknown different orientations.
4343 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4344 * accelerometer and gyroscope.
4345 * @param biasX x-coordinate of accelerometer bias.
4346 * This is expressed in meters per squared second (m/s^2).
4347 * @param biasY y-coordinate of accelerometer bias.
4348 * This is expressed in meters per squared second (m/s^2).
4349 * @param biasZ z-coordinate of accelerometer bias.
4350 * This is expressed in meters per squared second (m/s^2).
4351 * @param initialSx initial x scaling factor.
4352 * @param initialSy initial y scaling factor.
4353 * @param initialSz initial z scaling factor.
4354 * @param initialMxy initial x-y cross coupling error.
4355 * @param initialMxz initial x-z cross coupling error.
4356 * @param initialMyx initial y-x cross coupling error.
4357 * @param initialMyz initial y-z cross coupling error.
4358 * @param initialMzx initial z-x cross coupling error.
4359 * @param initialMzy initial z-y cross coupling error.
4360 * @throws IllegalArgumentException if provided gravity norm value is negative.
4361 */
4362 public KnownBiasAndGravityNormAccelerometerCalibrator(
4363 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4364 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
4365 final double initialSx, final double initialSy, final double initialSz,
4366 final double initialMxy, final double initialMxz, final double initialMyx,
4367 final double initialMyz, final double initialMzx, final double initialMzy) {
4368 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed,
4369 biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4370 initialMyz, initialMzx, initialMzy);
4371 }
4372
4373 /**
4374 * Constructor.
4375 *
4376 * @param groundTruthGravityNorm ground truth gravity norm.
4377 * @param measurements collection of body kinematics measurements with standard
4378 * deviations taken at the same position with zero velocity
4379 * and unknown different orientations.
4380 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4381 * accelerometer and gyroscope.
4382 * @param biasX x-coordinate of accelerometer bias.
4383 * This is expressed in meters per squared second (m/s^2).
4384 * @param biasY y-coordinate of accelerometer bias.
4385 * This is expressed in meters per squared second (m/s^2).
4386 * @param biasZ z-coordinate of accelerometer bias.
4387 * This is expressed in meters per squared second (m/s^2).
4388 * @param initialSx initial x scaling factor.
4389 * @param initialSy initial y scaling factor.
4390 * @param initialSz initial z scaling factor.
4391 * @param initialMxy initial x-y cross coupling error.
4392 * @param initialMxz initial x-z cross coupling error.
4393 * @param initialMyx initial y-x cross coupling error.
4394 * @param initialMyz initial y-z cross coupling error.
4395 * @param initialMzx initial z-x cross coupling error.
4396 * @param initialMzy initial z-y cross coupling error.
4397 * @param listener listener to handle events raised by this calibrator.
4398 * @throws IllegalArgumentException if provided gravity norm value is negative.
4399 */
4400 public KnownBiasAndGravityNormAccelerometerCalibrator(
4401 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4402 final boolean commonAxisUsed, final double biasX, final double biasY, final double biasZ,
4403 final double initialSx, final double initialSy, final double initialSz,
4404 final double initialMxy, final double initialMxz, final double initialMyx,
4405 final double initialMyz, final double initialMzx, final double initialMzy,
4406 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4407 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed,
4408 biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4409 initialMyz, initialMzx, initialMzy, listener);
4410 }
4411
4412 /**
4413 * Constructor.
4414 *
4415 * @param groundTruthGravityNorm ground truth gravity norm.
4416 * @param biasX x-coordinate of accelerometer bias.
4417 * @param biasY y-coordinate of accelerometer bias.
4418 * @param biasZ z-coordinate of accelerometer bias.
4419 * @param initialSx initial x scaling factor.
4420 * @param initialSy initial y scaling factor.
4421 * @param initialSz initial z scaling factor.
4422 * @param initialMxy initial x-y cross coupling error.
4423 * @param initialMxz initial x-z cross coupling error.
4424 * @param initialMyx initial y-x cross coupling error.
4425 * @param initialMyz initial y-z cross coupling error.
4426 * @param initialMzx initial z-x cross coupling error.
4427 * @param initialMzy initial z-y cross coupling error.
4428 * @throws IllegalArgumentException if provided gravity norm value is negative.
4429 */
4430 public KnownBiasAndGravityNormAccelerometerCalibrator(
4431 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
4432 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz,
4433 final double initialMxy, final double initialMxz, final double initialMyx, final double initialMyz,
4434 final double initialMzx, final double initialMzy) {
4435 this(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz,
4436 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy);
4437 }
4438
4439 /**
4440 * Constructor.
4441 *
4442 * @param groundTruthGravityNorm ground truth gravity norm.
4443 * @param biasX x-coordinate of accelerometer bias.
4444 * @param biasY y-coordinate of accelerometer bias.
4445 * @param biasZ z-coordinate of accelerometer bias.
4446 * @param initialSx initial x scaling factor.
4447 * @param initialSy initial y scaling factor.
4448 * @param initialSz initial z scaling factor.
4449 * @param initialMxy initial x-y cross coupling error.
4450 * @param initialMxz initial x-z cross coupling error.
4451 * @param initialMyx initial y-x cross coupling error.
4452 * @param initialMyz initial y-z cross coupling error.
4453 * @param initialMzx initial z-x cross coupling error.
4454 * @param initialMzy initial z-y cross coupling error.
4455 * @param listener listener to handle events raised by this calibrator.
4456 * @throws IllegalArgumentException if provided gravity norm value is negative.
4457 */
4458 public KnownBiasAndGravityNormAccelerometerCalibrator(
4459 final Acceleration groundTruthGravityNorm, final Acceleration biasX, final Acceleration biasY,
4460 final Acceleration biasZ, final double initialSx, final double initialSy, final double initialSz,
4461 final double initialMxy, final double initialMxz, final double initialMyx, final double initialMyz,
4462 final double initialMzx, final double initialMzy,
4463 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4464 super(convertAcceleration(groundTruthGravityNorm), biasX, biasY, biasZ, initialSx, initialSy, initialSz,
4465 initialMxy, initialMxz, initialMyx, initialMyz, initialMzx, initialMzy, listener);
4466 }
4467
4468 /**
4469 * Constructor.
4470 *
4471 * @param groundTruthGravityNorm ground truth gravity norm.
4472 * @param measurements collection of body kinematics measurements with standard
4473 * deviations taken at the same position with zero velocity
4474 * and unknown different orientations.
4475 * @param biasX x-coordinate of accelerometer bias.
4476 * @param biasY y-coordinate of accelerometer bias.
4477 * @param biasZ z-coordinate of accelerometer bias.
4478 * @param initialSx initial x scaling factor.
4479 * @param initialSy initial y scaling factor.
4480 * @param initialSz initial z scaling factor.
4481 * @param initialMxy initial x-y cross coupling error.
4482 * @param initialMxz initial x-z cross coupling error.
4483 * @param initialMyx initial y-x cross coupling error.
4484 * @param initialMyz initial y-z cross coupling error.
4485 * @param initialMzx initial z-x cross coupling error.
4486 * @param initialMzy initial z-y cross coupling error.
4487 * @throws IllegalArgumentException if provided gravity norm value is negative.
4488 */
4489 public KnownBiasAndGravityNormAccelerometerCalibrator(
4490 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4491 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
4492 final double initialSy, final double initialSz, final double initialMxy, final double initialMxz,
4493 final double initialMyx, final double initialMyz, final double initialMzx, final double initialMzy) {
4494 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4495 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4496 initialMyz, initialMzx, initialMzy);
4497 }
4498
4499 /**
4500 * Constructor.
4501 *
4502 * @param groundTruthGravityNorm ground truth gravity norm.
4503 * @param measurements collection of body kinematics measurements with standard
4504 * deviations taken at the same position with zero velocity
4505 * and unknown different orientations.
4506 * @param biasX x-coordinate of accelerometer bias.
4507 * @param biasY y-coordinate of accelerometer bias.
4508 * @param biasZ z-coordinate of accelerometer bias.
4509 * @param initialSx initial x scaling factor.
4510 * @param initialSy initial y scaling factor.
4511 * @param initialSz initial z scaling factor.
4512 * @param initialMxy initial x-y cross coupling error.
4513 * @param initialMxz initial x-z cross coupling error.
4514 * @param initialMyx initial y-x cross coupling error.
4515 * @param initialMyz initial y-z cross coupling error.
4516 * @param initialMzx initial z-x cross coupling error.
4517 * @param initialMzy initial z-y cross coupling error.
4518 * @param listener listener to handle events raised by this calibrator.
4519 * @throws IllegalArgumentException if provided gravity norm value is negative.
4520 */
4521 public KnownBiasAndGravityNormAccelerometerCalibrator(
4522 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4523 final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ, final double initialSx,
4524 final double initialSy, final double initialSz, final double initialMxy, final double initialMxz,
4525 final double initialMyx, final double initialMyz, final double initialMzx, final double initialMzy,
4526 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4527 this(convertAcceleration(groundTruthGravityNorm), measurements, biasX, biasY, biasZ,
4528 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4529 initialMyz, initialMzx, initialMzy, listener);
4530 }
4531
4532 /**
4533 * Constructor.
4534 *
4535 * @param groundTruthGravityNorm ground truth gravity norm.
4536 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4537 * accelerometer and gyroscope.
4538 * @param biasX x-coordinate of accelerometer bias.
4539 * @param biasY y-coordinate of accelerometer bias.
4540 * @param biasZ z-coordinate of accelerometer bias.
4541 * @param initialSx initial x scaling factor.
4542 * @param initialSy initial y scaling factor.
4543 * @param initialSz initial z scaling factor.
4544 * @param initialMxy initial x-y cross coupling error.
4545 * @param initialMxz initial x-z cross coupling error.
4546 * @param initialMyx initial y-x cross coupling error.
4547 * @param initialMyz initial y-z cross coupling error.
4548 * @param initialMzx initial z-x cross coupling error.
4549 * @param initialMzy initial z-y cross coupling error.
4550 * @throws IllegalArgumentException if provided gravity norm value is negative.
4551 */
4552 public KnownBiasAndGravityNormAccelerometerCalibrator(
4553 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
4554 final Acceleration biasY, final Acceleration biasZ, final double initialSx, final double initialSy,
4555 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
4556 final double initialMyz, final double initialMzx, final double initialMzy) {
4557 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4558 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4559 initialMyz, initialMzx, initialMzy);
4560 }
4561
4562 /**
4563 * Constructor.
4564 *
4565 * @param groundTruthGravityNorm ground truth gravity norm.
4566 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4567 * accelerometer and gyroscope.
4568 * @param biasX x-coordinate of accelerometer bias.
4569 * @param biasY y-coordinate of accelerometer bias.
4570 * @param biasZ z-coordinate of accelerometer bias.
4571 * @param initialSx initial x scaling factor.
4572 * @param initialSy initial y scaling factor.
4573 * @param initialSz initial z scaling factor.
4574 * @param initialMxy initial x-y cross coupling error.
4575 * @param initialMxz initial x-z cross coupling error.
4576 * @param initialMyx initial y-x cross coupling error.
4577 * @param initialMyz initial y-z cross coupling error.
4578 * @param initialMzx initial z-x cross coupling error.
4579 * @param initialMzy initial z-y cross coupling error.
4580 * @param listener listener to handle events raised by this calibrator.
4581 * @throws IllegalArgumentException if provided gravity norm value is negative.
4582 */
4583 public KnownBiasAndGravityNormAccelerometerCalibrator(
4584 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Acceleration biasX,
4585 final Acceleration biasY, final Acceleration biasZ, final double initialSx, final double initialSy,
4586 final double initialSz, final double initialMxy, final double initialMxz, final double initialMyx,
4587 final double initialMyz, final double initialMzx, final double initialMzy,
4588 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4589 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, biasX, biasY, biasZ,
4590 initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4591 initialMyz, initialMzx, initialMzy, listener);
4592 }
4593
4594 /**
4595 * Constructor.
4596 *
4597 * @param groundTruthGravityNorm ground truth gravity norm.
4598 * @param measurements collection of body kinematics measurements with standard
4599 * deviations taken at the same position with zero velocity
4600 * and unknown different orientations.
4601 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4602 * accelerometer and gyroscope.
4603 * @param biasX x-coordinate of accelerometer bias.
4604 * @param biasY y-coordinate of accelerometer bias.
4605 * @param biasZ z-coordinate of accelerometer bias.
4606 * @param initialSx initial x scaling factor.
4607 * @param initialSy initial y scaling factor.
4608 * @param initialSz initial z scaling factor.
4609 * @param initialMxy initial x-y cross coupling error.
4610 * @param initialMxz initial x-z cross coupling error.
4611 * @param initialMyx initial y-x cross coupling error.
4612 * @param initialMyz initial y-z cross coupling error.
4613 * @param initialMzx initial z-x cross coupling error.
4614 * @param initialMzy initial z-y cross coupling error.
4615 * @throws IllegalArgumentException if provided gravity norm value is negative.
4616 */
4617 public KnownBiasAndGravityNormAccelerometerCalibrator(
4618 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4619 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
4620 final double initialSx, final double initialSy, final double initialSz,
4621 final double initialMxy, final double initialMxz, final double initialMyx,
4622 final double initialMyz, final double initialMzx, final double initialMzy) {
4623 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed,
4624 biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4625 initialMyz, initialMzx, initialMzy);
4626 }
4627
4628 /**
4629 * Constructor.
4630 *
4631 * @param groundTruthGravityNorm ground truth gravity norm.
4632 * @param measurements collection of body kinematics measurements with standard
4633 * deviations taken at the same position with zero velocity
4634 * and unknown different orientations.
4635 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4636 * accelerometer and gyroscope.
4637 * @param biasX x-coordinate of accelerometer bias.
4638 * @param biasY y-coordinate of accelerometer bias.
4639 * @param biasZ z-coordinate of accelerometer bias.
4640 * @param initialSx initial x scaling factor.
4641 * @param initialSy initial y scaling factor.
4642 * @param initialSz initial z scaling factor.
4643 * @param initialMxy initial x-y cross coupling error.
4644 * @param initialMxz initial x-z cross coupling error.
4645 * @param initialMyx initial y-x cross coupling error.
4646 * @param initialMyz initial y-z cross coupling error.
4647 * @param initialMzx initial z-x cross coupling error.
4648 * @param initialMzy initial z-y cross coupling error.
4649 * @param listener listener to handle events raised by this calibrator.
4650 * @throws IllegalArgumentException if provided gravity norm value is negative.
4651 */
4652 public KnownBiasAndGravityNormAccelerometerCalibrator(
4653 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4654 final boolean commonAxisUsed, final Acceleration biasX, final Acceleration biasY, final Acceleration biasZ,
4655 final double initialSx, final double initialSy, final double initialSz,
4656 final double initialMxy, final double initialMxz, final double initialMyx,
4657 final double initialMyz, final double initialMzx, final double initialMzy,
4658 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4659 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed,
4660 biasX, biasY, biasZ, initialSx, initialSy, initialSz, initialMxy, initialMxz, initialMyx,
4661 initialMyz, initialMzx, initialMzy, listener);
4662 }
4663
4664 /**
4665 * Constructor.
4666 *
4667 * @param groundTruthGravityNorm ground truth gravity norm.
4668 * @param bias known accelerometer bias. This must have length 3 and is expressed
4669 * in meters per squared second (m/s^2).
4670 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4671 * if provided gravity norm value is negative.
4672 */
4673 public KnownBiasAndGravityNormAccelerometerCalibrator(
4674 final Acceleration groundTruthGravityNorm, final double[] bias) {
4675 this(convertAcceleration(groundTruthGravityNorm), bias);
4676 }
4677
4678 /**
4679 * Constructor.
4680 *
4681 * @param groundTruthGravityNorm ground truth gravity norm.
4682 * @param bias known accelerometer bias. This must have length 3 and is expressed
4683 * in meters per squared second (m/s^2).
4684 * @param listener listener to handle events raised by this calibrator.
4685 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4686 * if provided gravity norm value is negative.
4687 */
4688 public KnownBiasAndGravityNormAccelerometerCalibrator(
4689 final Acceleration groundTruthGravityNorm, final double[] bias,
4690 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4691 this(convertAcceleration(groundTruthGravityNorm), bias, listener);
4692 }
4693
4694 /**
4695 * Constructor.
4696 *
4697 * @param groundTruthGravityNorm ground truth gravity norm.
4698 * @param measurements collection of body kinematics measurements with standard
4699 * deviations taken at the same position with zero velocity
4700 * and unknown different orientations.
4701 * @param bias known accelerometer bias. This must have length 3 and is expressed
4702 * in meters per squared second (m/s^2).
4703 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4704 * if provided gravity norm value is negative.
4705 */
4706 public KnownBiasAndGravityNormAccelerometerCalibrator(
4707 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4708 final double[] bias) {
4709 this(convertAcceleration(groundTruthGravityNorm), measurements, bias);
4710 }
4711
4712 /**
4713 * Constructor.
4714 *
4715 * @param groundTruthGravityNorm ground truth gravity norm.
4716 * @param measurements collection of body kinematics measurements with standard
4717 * deviations taken at the same position with zero velocity
4718 * and unknown different orientations.
4719 * @param bias known accelerometer bias. This must have length 3 and is expressed
4720 * in meters per squared second (m/s^2).
4721 * @param listener listener to handle events raised by this calibrator.
4722 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4723 * if provided gravity norm value is negative.
4724 */
4725 public KnownBiasAndGravityNormAccelerometerCalibrator(
4726 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4727 final double[] bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4728 this(convertAcceleration(groundTruthGravityNorm), measurements, bias, listener);
4729 }
4730
4731 /**
4732 * Constructor.
4733 *
4734 * @param groundTruthGravityNorm ground truth gravity norm.
4735 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4736 * accelerometer and gyroscope.
4737 * @param bias known accelerometer bias. This must have length 3 and is expressed
4738 * in meters per squared second (m/s^2).
4739 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4740 * if provided gravity norm value is negative.
4741 */
4742 public KnownBiasAndGravityNormAccelerometerCalibrator(
4743 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final double[] bias) {
4744 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias);
4745 }
4746
4747 /**
4748 * Constructor.
4749 *
4750 * @param groundTruthGravityNorm ground truth gravity norm.
4751 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4752 * accelerometer and gyroscope.
4753 * @param bias known accelerometer bias. This must have length 3 and is expressed
4754 * in meters per squared second (m/s^2).
4755 * @param listener listener to handle events raised by this calibrator.
4756 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4757 * if provided gravity norm value is negative.
4758 */
4759 public KnownBiasAndGravityNormAccelerometerCalibrator(
4760 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final double[] bias,
4761 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4762 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias, listener);
4763 }
4764
4765 /**
4766 * Constructor.
4767 *
4768 * @param groundTruthGravityNorm ground truth gravity norm.
4769 * @param measurements collection of body kinematics measurements with standard
4770 * deviations taken at the same position with zero velocity
4771 * and unknown different orientations.
4772 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4773 * accelerometer and gyroscope.
4774 * @param bias known accelerometer bias. This must have length 3 and is expressed
4775 * in meters per squared second (m/s^2).
4776 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4777 * if provided gravity norm value is negative.
4778 */
4779 public KnownBiasAndGravityNormAccelerometerCalibrator(
4780 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4781 final boolean commonAxisUsed, final double[] bias) {
4782 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias);
4783 }
4784
4785 /**
4786 * Constructor.
4787 *
4788 * @param groundTruthGravityNorm ground truth gravity norm.
4789 * @param measurements collection of body kinematics measurements with standard
4790 * deviations taken at the same position with zero velocity
4791 * and unknown different orientations.
4792 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4793 * accelerometer and gyroscope.
4794 * @param bias known accelerometer bias. This must have length 3 and is expressed
4795 * in meters per squared second (m/s^2).
4796 * @param listener listener to handle events raised by this calibrator.
4797 * @throws IllegalArgumentException if provided bias array does not have length 3 or
4798 * if provided gravity norm value is negative.
4799 */
4800 public KnownBiasAndGravityNormAccelerometerCalibrator(
4801 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4802 final boolean commonAxisUsed, final double[] bias,
4803 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4804 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias, listener);
4805 }
4806
4807 /**
4808 * Constructor.
4809 *
4810 * @param groundTruthGravityNorm ground truth gravity norm.
4811 * @param bias known accelerometer bias.
4812 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4813 * if provided gravity norm value is negative.
4814 */
4815 public KnownBiasAndGravityNormAccelerometerCalibrator(
4816 final Acceleration groundTruthGravityNorm, final Matrix bias) {
4817 this(convertAcceleration(groundTruthGravityNorm), bias);
4818 }
4819
4820 /**
4821 * Constructor.
4822 *
4823 * @param groundTruthGravityNorm ground truth gravity norm.
4824 * @param bias known accelerometer bias.
4825 * @param listener listener to handle events raised by this calibrator.
4826 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4827 * if provided gravity norm value is negative.
4828 */
4829 public KnownBiasAndGravityNormAccelerometerCalibrator(
4830 final Acceleration groundTruthGravityNorm, final Matrix bias,
4831 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4832 this(convertAcceleration(groundTruthGravityNorm), bias, listener);
4833 }
4834
4835 /**
4836 * Constructor.
4837 *
4838 * @param groundTruthGravityNorm ground truth gravity norm.
4839 * @param measurements collection of body kinematics measurements with standard
4840 * deviations taken at the same position with zero velocity
4841 * and unknown different orientations.
4842 * @param bias known accelerometer bias.
4843 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4844 * if provided gravity norm value is negative.
4845 */
4846 public KnownBiasAndGravityNormAccelerometerCalibrator(
4847 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4848 final Matrix bias) {
4849 this(convertAcceleration(groundTruthGravityNorm), measurements, bias);
4850 }
4851
4852 /**
4853 * Constructor.
4854 *
4855 * @param groundTruthGravityNorm ground truth gravity norm.
4856 * @param measurements collection of body kinematics measurements with standard
4857 * deviations taken at the same position with zero velocity
4858 * and unknown different orientations.
4859 * @param bias known accelerometer bias.
4860 * @param listener listener to handle events raised by this calibrator.
4861 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4862 * if provided gravity norm value is negative.
4863 */
4864 public KnownBiasAndGravityNormAccelerometerCalibrator(
4865 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4866 final Matrix bias, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4867 this(convertAcceleration(groundTruthGravityNorm), measurements, bias, listener);
4868 }
4869
4870 /**
4871 * Constructor.
4872 *
4873 * @param groundTruthGravityNorm ground truth gravity norm.
4874 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4875 * accelerometer and gyroscope.
4876 * @param bias known accelerometer bias.
4877 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4878 * if provided gravity norm value is negative.
4879 */
4880 public KnownBiasAndGravityNormAccelerometerCalibrator(
4881 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias) {
4882 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias);
4883 }
4884
4885 /**
4886 * Constructor.
4887 *
4888 * @param groundTruthGravityNorm ground truth gravity norm.
4889 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4890 * accelerometer and gyroscope.
4891 * @param bias known accelerometer bias.
4892 * @param listener listener to handle events raised by this calibrator.
4893 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4894 * if provided gravity norm value is negative.
4895 */
4896 public KnownBiasAndGravityNormAccelerometerCalibrator(
4897 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
4898 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4899 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias, listener);
4900 }
4901
4902 /**
4903 * Constructor.
4904 *
4905 * @param groundTruthGravityNorm ground truth gravity norm.
4906 * @param measurements collection of body kinematics measurements with standard
4907 * deviations taken at the same position with zero velocity
4908 * and unknown different orientations.
4909 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4910 * accelerometer and gyroscope.
4911 * @param bias known accelerometer bias.
4912 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4913 * if provided gravity norm value is negative.
4914 */
4915 public KnownBiasAndGravityNormAccelerometerCalibrator(
4916 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4917 final boolean commonAxisUsed, final Matrix bias) {
4918 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias);
4919 }
4920
4921 /**
4922 * Constructor.
4923 *
4924 * @param groundTruthGravityNorm ground truth gravity norm.
4925 * @param measurements collection of body kinematics measurements with standard
4926 * deviations taken at the same position with zero velocity
4927 * and unknown different orientations.
4928 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
4929 * accelerometer and gyroscope.
4930 * @param bias known accelerometer bias.
4931 * @param listener listener to handle events raised by this calibrator.
4932 * @throws IllegalArgumentException if provided bias matrix is not 3x1 or
4933 * if provided gravity norm value is negative.
4934 */
4935 public KnownBiasAndGravityNormAccelerometerCalibrator(
4936 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4937 final boolean commonAxisUsed, final Matrix bias,
4938 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4939 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias, listener);
4940 }
4941
4942 /**
4943 * Constructor.
4944 *
4945 * @param groundTruthGravityNorm ground truth gravity norm.
4946 * @param bias known accelerometer bias.
4947 * @param initialMa initial scale factors and cross coupling errors matrix.
4948 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
4949 * scaling and coupling error matrix is not 3x3 or
4950 * if provided gravity norm value is negative.
4951 */
4952 public KnownBiasAndGravityNormAccelerometerCalibrator(
4953 final Acceleration groundTruthGravityNorm, final Matrix bias, final Matrix initialMa) {
4954 this(convertAcceleration(groundTruthGravityNorm), bias, initialMa);
4955 }
4956
4957 /**
4958 * Constructor.
4959 *
4960 * @param groundTruthGravityNorm ground truth gravity norm.
4961 * @param bias known accelerometer bias.
4962 * @param initialMa initial scale factors and cross coupling errors matrix.
4963 * @param listener listener to handle events raised by this calibrator.
4964 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
4965 * scaling and coupling error matrix is not 3x3 or
4966 * if provided gravity norm value is negative.
4967 */
4968 public KnownBiasAndGravityNormAccelerometerCalibrator(
4969 final Acceleration groundTruthGravityNorm, final Matrix bias, final Matrix initialMa,
4970 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
4971 this(convertAcceleration(groundTruthGravityNorm), bias, initialMa, listener);
4972 }
4973
4974 /**
4975 * Constructor.
4976 *
4977 * @param groundTruthGravityNorm ground truth gravity norm.
4978 * @param measurements collection of body kinematics measurements with standard
4979 * deviations taken at the same position with zero velocity
4980 * and unknown different orientations.
4981 * @param bias known accelerometer bias.
4982 * @param initialMa initial scale factors and cross coupling errors matrix.
4983 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
4984 * scaling and coupling error matrix is not 3x3 or
4985 * if provided gravity norm value is negative.
4986 */
4987 public KnownBiasAndGravityNormAccelerometerCalibrator(
4988 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
4989 final Matrix bias, final Matrix initialMa) {
4990 this(convertAcceleration(groundTruthGravityNorm), measurements, bias, initialMa);
4991 }
4992
4993 /**
4994 * Constructor.
4995 *
4996 * @param groundTruthGravityNorm ground truth gravity norm.
4997 * @param measurements collection of body kinematics measurements with standard
4998 * deviations taken at the same position with zero velocity
4999 * and unknown different orientations.
5000 * @param bias known accelerometer bias.
5001 * @param initialMa initial scale factors and cross coupling errors matrix.
5002 * @param listener listener to handle events raised by this calibrator.
5003 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
5004 * scaling and coupling error matrix is not 3x3 or
5005 * if provided gravity norm value is negative.
5006 */
5007 public KnownBiasAndGravityNormAccelerometerCalibrator(
5008 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
5009 final Matrix bias, final Matrix initialMa,
5010 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
5011 this(convertAcceleration(groundTruthGravityNorm), measurements, bias, initialMa, listener);
5012 }
5013
5014 /**
5015 * Constructor.
5016 *
5017 * @param groundTruthGravityNorm ground truth gravity norm.
5018 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
5019 * accelerometer and gyroscope.
5020 * @param bias known accelerometer bias.
5021 * @param initialMa initial scale factors and cross coupling errors matrix.
5022 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
5023 * scaling and coupling error matrix is not 3x3 or
5024 * if provided gravity norm value is negative.
5025 */
5026 public KnownBiasAndGravityNormAccelerometerCalibrator(
5027 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
5028 final Matrix initialMa) {
5029 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias, initialMa);
5030 }
5031
5032 /**
5033 * Constructor.
5034 *
5035 * @param groundTruthGravityNorm ground truth gravity norm.
5036 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
5037 * accelerometer and gyroscope.
5038 * @param bias known accelerometer bias.
5039 * @param initialMa initial scale factors and cross coupling errors matrix.
5040 * @param listener listener to handle events raised by this calibrator.
5041 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
5042 * scaling and coupling error matrix is not 3x3 or
5043 * if provided gravity norm value is negative.
5044 */
5045 public KnownBiasAndGravityNormAccelerometerCalibrator(
5046 final Acceleration groundTruthGravityNorm, final boolean commonAxisUsed, final Matrix bias,
5047 final Matrix initialMa, final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
5048 this(convertAcceleration(groundTruthGravityNorm), commonAxisUsed, bias, initialMa, listener);
5049 }
5050
5051 /**
5052 * Constructor.
5053 *
5054 * @param groundTruthGravityNorm ground truth gravity norm.
5055 * @param measurements collection of body kinematics measurements with standard
5056 * deviations taken at the same position with zero velocity
5057 * and unknown different orientations.
5058 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
5059 * accelerometer and gyroscope.
5060 * @param bias known accelerometer bias.
5061 * @param initialMa initial scale factors and cross coupling errors matrix.
5062 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
5063 * scaling and coupling error matrix is not 3x3 or
5064 * if provided gravity norm value is negative.
5065 */
5066 public KnownBiasAndGravityNormAccelerometerCalibrator(
5067 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
5068 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa) {
5069 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias, initialMa);
5070 }
5071
5072 /**
5073 * Constructor.
5074 *
5075 * @param groundTruthGravityNorm ground truth gravity norm.
5076 * @param measurements collection of body kinematics measurements with standard
5077 * deviations taken at the same position with zero velocity
5078 * and unknown different orientations.
5079 * @param commonAxisUsed indicates whether z-axis is assumed to be common for
5080 * accelerometer and gyroscope.
5081 * @param bias known accelerometer bias.
5082 * @param initialMa initial scale factors and cross coupling errors matrix.
5083 * @param listener listener to handle events raised by this calibrator.
5084 * @throws IllegalArgumentException if either provided bias matrix is not 3x1 or
5085 * scaling and coupling error matrix is not 3x3 or
5086 * if provided gravity norm value is negative.
5087 */
5088 public KnownBiasAndGravityNormAccelerometerCalibrator(
5089 final Acceleration groundTruthGravityNorm, final Collection<StandardDeviationBodyKinematics> measurements,
5090 final boolean commonAxisUsed, final Matrix bias, final Matrix initialMa,
5091 final KnownBiasAndGravityNormAccelerometerCalibratorListener listener) {
5092 this(convertAcceleration(groundTruthGravityNorm), measurements, commonAxisUsed, bias, initialMa, listener);
5093 }
5094
5095 /**
5096 * Sets ground truth gravity norm to be expected at location where
5097 * measurements have been made, expressed in meters per squared second
5098 * (m/s^2).
5099 *
5100 * @param groundTruthGravityNorm ground truth gravity norm or
5101 * null if undefined.
5102 * @throws IllegalArgumentException if provided value is negative.
5103 * @throws LockedException if calibrator is currently running.
5104 */
5105 public void setGroundTruthGravityNorm(final Double groundTruthGravityNorm) throws LockedException {
5106 if (isRunning()) {
5107 throw new LockedException();
5108 }
5109 internalSetGroundTruthGravityNorm(groundTruthGravityNorm);
5110 }
5111
5112 /**
5113 * Sets ground truth gravity norm to be expected at location where
5114 * measurements have been made.
5115 *
5116 * @param groundTruthGravityNorm ground truth gravity norm or null
5117 * if undefined.
5118 * @throws IllegalArgumentException if provided value is negative.
5119 * @throws LockedException if calibrator is currently running.
5120 */
5121 public void setGroundTruthGravityNorm(final Acceleration groundTruthGravityNorm) throws LockedException {
5122 setGroundTruthGravityNorm(groundTruthGravityNorm != null ?
5123 convertAcceleration(groundTruthGravityNorm) : null);
5124 }
5125 }