Skip to content

Commit a18db38

Browse files
committed
ekf2: add multi-instance AGP parameters
Add per-instance parameters (ID, CTRL, MODE, DELAY, NOISE, GATE) for up to 4 auxiliary global position sources.
1 parent 620120d commit a18db38

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed
Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1+
__max_num_agp_instances: &max_num_agp_instances 4
2+
13
module_name: ekf2
24
parameters:
35
- group: EKF2
46
definitions:
5-
EKF2_AGP_CTRL:
7+
EKF2_AGP${i}_ID:
68
description:
7-
short: Aux global position (AGP) sensor aiding
9+
short: Aux global position sensor ${i} ID
10+
long: 'Sensor ID for slot ${i}. Set to 0 to disable this slot.'
11+
type: int32
12+
default: 0
13+
min: 0
14+
max: 255
15+
num_instances: *max_num_agp_instances
16+
instance_start: 0
17+
EKF2_AGP${i}_CTRL:
18+
description:
19+
short: Aux global position sensor ${i} aiding
820
long: 'Set bits in the following positions to enable: 0 : Horizontal position
921
fusion 1 : Vertical position fusion'
1022
type: bitmask
@@ -14,42 +26,52 @@ parameters:
1426
default: 0
1527
min: 0
1628
max: 3
17-
EKF2_AGP_MODE:
29+
num_instances: *max_num_agp_instances
30+
instance_start: 0
31+
EKF2_AGP${i}_MODE:
1832
description:
19-
short: Fusion reset mode
33+
short: Fusion reset mode for sensor ${i}
2034
long: 'Automatic: reset on fusion timeout if no other source of position is available
2135
Dead-reckoning: reset on fusion timeout if no source of velocity is available'
2236
type: enum
2337
values:
2438
0: Automatic
2539
1: Dead-reckoning
2640
default: 0
27-
EKF2_AGP_DELAY:
41+
num_instances: *max_num_agp_instances
42+
instance_start: 0
43+
EKF2_AGP${i}_DELAY:
2844
description:
29-
short: Aux global position estimator delay relative to IMU measurements
45+
short: Aux global position sensor ${i} delay relative to IMU measurements
3046
type: float
3147
default: 0
3248
min: 0
33-
max: 300
49+
max: 1000
3450
unit: ms
3551
reboot_required: true
3652
decimal: 1
37-
EKF2_AGP_NOISE:
53+
num_instances: *max_num_agp_instances
54+
instance_start: 0
55+
EKF2_AGP${i}_NOISE:
3856
description:
39-
short: Measurement noise for aux global position measurements
57+
short: Measurement noise for aux global position sensor ${i}
4058
long: Used to lower bound or replace the uncertainty included in the message
4159
type: float
42-
default: 0.9
60+
default: 1.0
4361
min: 0.01
4462
unit: m
4563
decimal: 2
46-
EKF2_AGP_GATE:
64+
num_instances: *max_num_agp_instances
65+
instance_start: 0
66+
EKF2_AGP${i}_GATE:
4767
description:
48-
short: Gate size for aux global position fusion
68+
short: Gate size for aux global position sensor ${i} fusion
4969
long: Sets the number of standard deviations used by the innovation consistency
5070
test.
5171
type: float
5272
default: 3.0
5373
min: 1.0
5474
unit: SD
5575
decimal: 1
76+
num_instances: *max_num_agp_instances
77+
instance_start: 0

0 commit comments

Comments
 (0)