Sensor Models
Available Sensor Models¶
Configuration¶
For both the simulator and the estimator a set of sensors to use needs to be defined in the respective .yamlfiles.
Example simulator_config.yaml
# Other Simulator settings / parameters
# SENSORS
sensors:
sensor_names: ["vicon", "imu", "wheel_encoders", "lighthouse"]
vicon:
R:
value: [[0.0001], [0.0001], [0.0001]] #std of 1cm -> cov of 0.01*0.01=0.0001
is_diag: true
frequency: 200 # Hz
key: vicon # optional, if not set us e name of sensor
measurement_noise:
type: multivariate_gaussian
seed: 1
outlier_probability: 0.0
outlier_scale: 1
mean:
value: [[0], [0], [0]]
delay: 0.0
imu:
R:
value: [[0.01], [0.01], [0.01]]
is_diag: true
frequency: 200 #Hz
key: imu # optional, if not set use name of sensor
measurement_noise:
type: multivariate_gaussian
seed: 1
outlier_probability: 0.0
outlier_scale: 1
mean:
value: [[0], [0], [0]]
delay: 0.0
wheel_encoders:
R:
value: [[1], [1], [1], [1]]
is_diag: true
frequency: 200 #Hz
key: wheel_encoders # optional, if not set use name of sensor
measurement_noise:
type: multivariate_gaussian
seed: 1
outlier_probability: 0.0
outlier_scale: 1
mean:
value: [[0], [0], [0], [0]]
delay: 0.0
lighthouse:
frequency: 50 #Hz
sensor_pos:
value: [[0.035, 0.02, 0.035, 0.02], [0.015, 0.015, -0.015, -0.015]]
key: lighthouse
base_stations: ["bs0"]
bs0:
bs_ID: 0
R:
# value: [[0.0000101, 0.00001, 0.00001, 0.00001], [0.00001, 0.0000101, 0.00001, 0.00001], [0.00001, 0.00001, 0.0000101, 0.00001], [0.00001, 0.00001, 0.00001, 0.0000101]]
value: [[0.0000101, 0.00001, 0.00001, 0.00001],
[0.00001, 0.0000101, 0.00001, 0.00001],
[0.00001, 0.00001, 0.0000101, 0.00001],
[0.00001, 0.00001, 0.00001, 0.0000101]]
is_diag: false
P_bs:
value: [[0.423652], [0.449405], [1.99268]]
R_bs:
value: [[-0.0939952, 0.993122, -0.0698045], [-0.0609725, -0.0757257, -0.995263], [-0.993704, -0.0892937, 0.067671]]
dt1: -0.0508728
dt2: 0.0464478
measurement_noise:
type: multivariate_gaussian
seed: 1
outlier_probability: 0.00
outlier_scale: 1
mean:
value: [[0], [0], [0], [0]]
delay: 0.0
Example estimator.yaml
# Other Estimator settings / parameters
# SENSORS
sensors:
sensor_names: ["vicon", "imu", "wheel_encoders"] # options: ["vicon", "imu", "wheel_encoder", "lighthouse"]
vicon:
R:
value: [[0.001],[0.001],[0.001]]
is_diag: true
key: vicon # optional, if not set use name of sensor
outlier_rejection:
use_outlier_rejection: true
outlier_rejection_type: "cov_threshold"
outlier_threshold: 3
max_consecutive_outliers: 5
imu:
R:
value: [[0.1], [0.1], [0.1]]
is_diag: true
key: imu # optional, if not set use name of sensor
outlier_rejection:
use_outlier_rejection: true
outlier_rejection_type: "cov_threshold"
outlier_threshold: 5
max_consecutive_outliers: 8
wheel_encoders:
R:
value: [[1], [1], [1], [1]]
is_diag: true
key: wheel_encoders # optional, if not set use name of sensor
outlier_rejection:
use_outlier_rejection: true
outlier_rejection_type: "cov_threshold"
outlier_threshold: 5
max_consecutive_outliers: 8
lighthouse:
sensor_pos:
value: [[0.035, 0.02, 0.035, 0.02], [0.015, 0.015, -0.015, -0.015]]
key: lighthouse
base_stations: ["bs0"]
bs0:
bs_ID: 0
R:
value: [[0.0000101, 0.00001, 0.00001, 0.00001],
[0.00001, 0.0000101, 0.00001, 0.00001],
[0.00001, 0.00001, 0.0000101, 0.00001],
[0.00001, 0.00001, 0.00001, 0.0000101]]
P_bs:
value: [[0.423652], [0.449405], [1.99268]]
R_bs:
value: [[-0.0939952, 0.993122, -0.0698045], [-0.0609725, -0.0757257, -0.995263], [-0.993704, -0.0892937, 0.067671]]
dt1: -0.0508728
dt2: 0.0464478
outlier_rejection:
use_outlier_rejection: true
outlier_rejection_type: "cov_threshold"
outlier_threshold: 3
max_consecutive_outliers: 8