Skip to content
Snippets Groups Projects
Commit 933762be authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

working on offline results

parent edd29a65
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@
<arg name="platform" default="M600" />
<arg name="only_gnss" default="false" />
<arg name="emulate_ublox" default="false" />
<arg name="yaml" default="params" unless="$(arg only_gnss)"/>
<arg name="yaml" default="params_only_gnss" if="$(arg only_gnss)"/>
......@@ -20,7 +21,7 @@
</group>
<!-- UBLOX EMULATOR (ONLY FOR TUCAN) -->
<group if="$(eval platform == 'tucan')">
<group if="$(arg emulate_ublox)">
<node name="ublox_emulator"
pkg ="iri_ublox_emulator"
type="iri_ublox_emulator"
......
......@@ -29,11 +29,23 @@
<arg name="bag_suffix" value="M600b_2021-09-17-11-00-51" if="$(eval flight == 'M600b_17_1')" />
<arg name="bag_suffix" value="M600b_2021-09-17-11-31-55" if="$(eval flight == 'M600b_17_2')" />
<arg name="bag_suffix" value="scrab_2021-09-16-11-25-23" if="$(eval flight == 'scrab_16')" />
<arg name="bag_suffix" value="scrab_2021-09-17-09-59-32" if="$(eval flight == 'scrab_17')" />
<arg name="platform" value="atlantic" if="$(eval flight == 'atlantic_16' or flight == 'atlantic_17')" />
<arg name="platform" value="M600b" if="$(eval flight == 'M600b_16_1' or flight == 'M600b_16_2' or flight == 'M600b_17_1' or flight == 'M600b_17_2')" />
<arg name="bag_suffix" value="scrab_2021-09-17-09-59-32" if="$(eval flight == 'scrab_16')" />
<arg name="bag_suffix" value="atlantic_2021-05-28-08-11-00" if="$(eval flight == 'atlantic_28')" />
<arg name="bag_suffix" value="M600a_2021-05-27-11-24-42" if="$(eval flight == 'M600a_27_1')" />
<arg name="bag_suffix" value="M600a_2021-05-27-11-55-45" if="$(eval flight == 'M600a_27_2')" />
<arg name="bag_suffix" value="M600a_2021-05-27-13-17-29" if="$(eval flight == 'M600a_27_3')" />
<arg name="bag_suffix" value="M600a_2021-05-28-08-24-11" if="$(eval flight == 'M600a_28_1')" />
<arg name="bag_suffix" value="M600a_2021-05-28-08-50-42" if="$(eval flight == 'M600a_28_2')" />
<arg name="bag_suffix" value="M600b_2021-05-27-14-39-11" if="$(eval flight == 'M600b_27')" />
<arg name="bag_suffix" value="M600b_2021-05-28-09-57-29" if="$(eval flight == 'M600b_28')" />
<arg name="bag_suffix" value="tucan_2021-05-28-11-00-22" if="$(eval flight == 'tucan')" />
<arg name="platform" value="atlantic" if="$(eval flight == 'atlantic_16' or flight == 'atlantic_17' or flight == 'atlantic_28')" />
<arg name="platform" value="M600b" if="$(eval flight == 'M600b_16_1' or flight == 'M600b_16_2' or flight == 'M600b_17_1' or flight == 'M600b_17_2' or flight == 'M600b_27' or flight == 'M600b_28')" />
<arg name="platform" value="scrab" if="$(eval flight == 'scrab_16' or flight == 'scrab_17')" />
<arg name="platform" value="tucan" if="$(eval flight == 'tucan')" />
<arg name="platform" value="M600a" if="$(eval flight == 'M600a_27_1' or flight == 'M600a_27_2' or flight == 'M600a_27_3' or flight == 'M600a_28_1' or flight == 'M600a_28_2')" />
<arg name="sec" default="5500" if="$(eval flight == 'atlantic_16')" />
<arg name="sec" default="0" if="$(eval flight == 'atlantic_17')" />
......@@ -43,6 +55,15 @@
<arg name="sec" default="0" if="$(eval flight == 'M600b_17_2')" />
<arg name="sec" default="0" if="$(eval flight == 'scrab_16')" />
<arg name="sec" default="0" if="$(eval flight == 'scrab_17')" />
<arg name="sec" default="0" if="$(eval flight == 'atlantic_28')" />
<arg name="sec" default="0" if="$(eval flight == 'M600a_27_1')" />
<arg name="sec" default="0" if="$(eval flight == 'M600a_27_2')" />
<arg name="sec" default="0" if="$(eval flight == 'M600a_27_3')" />
<arg name="sec" default="0" if="$(eval flight == 'M600a_28_1')" />
<arg name="sec" default="0" if="$(eval flight == 'M600a_28_2')" />
<arg name="sec" default="0" if="$(eval flight == 'M600b_27')" />
<arg name="sec" default="0" if="$(eval flight == 'M600b_28')" />
<arg name="sec" default="0" if="$(eval flight == 'tucan')" />
<arg name="yaml" value="params" if="$(eval conf_gnss == 1)" />
<arg name="yaml" value="params_2" if="$(eval conf_gnss == 2)" />
......
......@@ -30,6 +30,7 @@
<arg name="mqtt" value="$(arg mqtt)"/>
<arg name="remote_server" value="$(arg remote_server)"/>
<arg name="output" value="$(arg output)"/>
<arg name="emulate_ublox" value="$(eval platform == 'tucan')"/>
</include>
<!--SENSORS-->
......
#!/bin/bash
EXPERIMENTS=('atlantic_28' 'M600a_27_1' 'M600a_27_2' 'M600a_27_3' 'M600a_28_1' 'M600a_28_2' 'M600b_27' 'M600b_28' 'tucan')
CONFIGS=(1 2 3 4)
BAG_PATH="/media/jvallve/DADES/bags/GAUSS/second_field_trials_ATLAS/selected"
for experiment in "${EXPERIMENTS[@]}"
do
for config in "${CONFIGS[@]}"
do
logfile="${BAG_PATH}/roslog_${experiment}_config${config}.txt"
echo "Launch rpa_positioning_rosbag_second_field.launch with $experiment in mode $config ang generating log $logfile..."
roslaunch gauss_ros rpa_positioning_rosbag_second_field.launch flight:=$experiment conf_gnss:=$config rviz:=true bag_path:=$BAG_PATH > $logfile
done
done
\ No newline at end of file
......@@ -50,6 +50,10 @@ config:
extrinsic:
pose: [0.0, 0.0, 0.28] # M600
follow: "../sensor_f9t.yaml"
-
type: "SensorModel"
name: "dynamic_model"
plugin: "core"
processors:
-
......@@ -70,6 +74,12 @@ config:
sensor_name: "gnss"
plugin: "gnss"
follow: "processor_gnss.yaml"
-
type: "ProcessorFixWingModel"
name: "processor fix wing"
sensor_name: "dynamic_model"
plugin: "core"
follow: "processor_fix_wing.yaml"
ROS subscriber:
-
......
config:
debug:
profiling: true
profiling_file: "~/profiling_M600b.txt"
print_problem: false
print_period: 1
print_depth: 4
print_constr_by: false
print_metric: true
print_state_blocks: false
problem:
frame_structure: "POV"
dimension: 3
tree_manager:
follow: "../tree_manager/sliding_window_20_0.yaml"
prior:
follow: "../prior/POV_fix.yaml"
solver:
max_num_iterations: 20
verbose: 0
period: 0.0
n_threads: 2
update_immediately: false
min_num_iterations: 5 #if update immediately
compute_cov: true
cov_enum: 3
cov_period: 1
map:
type: "MapBase"
plugin: "core"
sensors:
-
type: "SensorImu"
name: "IMU_odometer"
plugin: "imu"
follow: "../sensor_bno.yaml"
#-
# type: "SensorCompass"
# name: "compass"
# plugin: "imu"
# follow: "sensor_bno_compass.yaml"
-
type: "SensorGnss"
name: "gnss"
plugin: "gnss"
extrinsic:
pose: [0.0, 0.0, 0.28] # M600
follow: "../sensor_f9t.yaml"
-
type: "SensorModel"
name: "dynamic_model"
plugin: "core"
processors:
-
type: "ProcessorImu"
name: "processor IMU"
sensor_name: "IMU_odometer"
plugin: "imu"
follow: "../processor_imu.yaml"
#-
# type: "ProcessorCompass"
# name: "processor compass"
# sensor_name: "compass"
# plugin: "imu"
# follow: "../processor_compass.yaml"
-
type: "ProcessorTrackerGnss"
name: "processor gnss"
sensor_name: "gnss"
plugin: "gnss"
follow: "processor_gnss_2.yaml"
-
type: "ProcessorFixWingModel"
name: "processor fix wing"
sensor_name: "dynamic_model"
plugin: "core"
follow: "processor_fix_wing.yaml"
ROS subscriber:
-
type: "SubscriberGnssUblox"
topic: "/ublox_gps/raw_data_stream"
sensor_name: "gnss"
package: "wolf_ros_gnss"
follow: "../subscriber_gnss_ublox_2.yaml"
-
type: "SubscriberImuEnableable"
topic: "/bno055_imu/imu"
sensor_name: "IMU_odometer"
package: "wolf_ros_imu"
follow: "subscriber_imu.yaml"
#-
# type: "SubscriberCompass"
# topic: "/bno055_imu/magnetometer"
# sensor_name: "compass"
# package: "wolf_ros_imu"
# follow: "subscriber_imu.yaml"
-
type: "SubscriberGnssFixPublisherEcef"
topic: "/ublox_gps/fix"
sensor_name: "gnss"
package: "wolf_ros_gnss"
marker_color: [0,0,1,1]
line_size: 0.2
period: 0.2
max_points: 10000
ROS publisher:
-
type: "PublisherRpaStateInfo"
topic: "rpa_state_info"
package: "wolf_ros_gauss"
period: 0.5
follow: "publisher_rpa_state_info.yaml"
-
type: "PublisherRpaPositioningInfo"
topic: "rpa_positioning_info"
package: "wolf_ros_gauss"
period: 0.5
sensor: "gnss"
-
type: "PublisherRpaImuGnssPositioning"
topic: "rpa_imu_gnss_positioning"
package: "wolf_ros_gauss"
period: 0.1
sensor: "gnss"
-
type: "PublisherPose"
topic: "current_pose"
package: "wolf_ros_node"
marker_color: [1,0,0,1]
line_size: 0.2
period: 0.2
extrinsics: true
sensor: "gnss"
frame_id: "ENU"
max_points: 10000
-
type: "PublisherGnssTf"
topic: " "
package: "wolf_ros_gnss"
period: 0.01
sensor_gnss_name: "gnss"
-
type: "PublisherTf"
topic: " "
package: "wolf_ros_node"
period: 0.2
map_frame_id: "map"
odom_frame_id: "odom"
base_frame_id: "base"
publish_odom_tf: false
-
type: "PublisherGraph"
topic: "graph"
package: "wolf_ros_node"
period: 0.2
viz_scale: 2
-
type: "PublisherTrackerGnssInfo"
topic: "gnss_tracker"
package: "wolf_ros_gnss"
period: 0.2
processor_gnss: "processor gnss"
\ No newline at end of file
config:
debug:
profiling: true
profiling_file: "~/profiling_M600b.txt"
print_problem: false
print_period: 1
print_depth: 4
print_constr_by: false
print_metric: true
print_state_blocks: false
problem:
frame_structure: "POV"
dimension: 3
tree_manager:
follow: "../tree_manager/sliding_window_20_0.yaml"
prior:
follow: "../prior/POV_fix.yaml"
solver:
max_num_iterations: 20
verbose: 0
period: 0.0
n_threads: 2
update_immediately: false
min_num_iterations: 5 #if update immediately
compute_cov: true
cov_enum: 3
cov_period: 1
map:
type: "MapBase"
plugin: "core"
sensors:
-
type: "SensorImu"
name: "IMU_odometer"
plugin: "imu"
follow: "../sensor_bno.yaml"
#-
# type: "SensorCompass"
# name: "compass"
# plugin: "imu"
# follow: "sensor_bno_compass.yaml"
-
type: "SensorGnss"
name: "gnss"
plugin: "gnss"
extrinsic:
pose: [0.0, 0.0, 0.28] # M600
follow: "../sensor_f9t.yaml"
-
type: "SensorModel"
name: "dynamic_model"
plugin: "core"
processors:
-
type: "ProcessorImu"
name: "processor IMU"
sensor_name: "IMU_odometer"
plugin: "imu"
follow: "../processor_imu.yaml"
#-
# type: "ProcessorCompass"
# name: "processor compass"
# sensor_name: "compass"
# plugin: "imu"
# follow: "../processor_compass.yaml"
-
type: "ProcessorTrackerGnss"
name: "processor gnss"
sensor_name: "gnss"
plugin: "gnss"
follow: "processor_gnss_3.yaml"
-
type: "ProcessorFixWingModel"
name: "processor fix wing"
sensor_name: "dynamic_model"
plugin: "core"
follow: "processor_fix_wing.yaml"
ROS subscriber:
-
type: "SubscriberGnssUblox"
topic: "/ublox_gps/raw_data_stream"
sensor_name: "gnss"
package: "wolf_ros_gnss"
follow: "../subscriber_gnss_ublox_3.yaml"
-
type: "SubscriberImuEnableable"
topic: "/bno055_imu/imu"
sensor_name: "IMU_odometer"
package: "wolf_ros_imu"
follow: "subscriber_imu.yaml"
#-
# type: "SubscriberCompass"
# topic: "/bno055_imu/magnetometer"
# sensor_name: "compass"
# package: "wolf_ros_imu"
# follow: "subscriber_imu.yaml"
-
type: "SubscriberGnssFixPublisherEcef"
topic: "/ublox_gps/fix"
sensor_name: "gnss"
package: "wolf_ros_gnss"
marker_color: [0,0,1,1]
line_size: 0.2
period: 0.2
max_points: 10000
ROS publisher:
-
type: "PublisherRpaStateInfo"
topic: "rpa_state_info"
package: "wolf_ros_gauss"
period: 0.5
follow: "publisher_rpa_state_info.yaml"
-
type: "PublisherRpaPositioningInfo"
topic: "rpa_positioning_info"
package: "wolf_ros_gauss"
period: 0.5
sensor: "gnss"
-
type: "PublisherRpaImuGnssPositioning"
topic: "rpa_imu_gnss_positioning"
package: "wolf_ros_gauss"
period: 0.1
sensor: "gnss"
-
type: "PublisherPose"
topic: "current_pose"
package: "wolf_ros_node"
marker_color: [1,0,0,1]
line_size: 0.2
period: 0.2
extrinsics: true
sensor: "gnss"
frame_id: "ENU"
max_points: 10000
-
type: "PublisherGnssTf"
topic: " "
package: "wolf_ros_gnss"
period: 0.01
sensor_gnss_name: "gnss"
-
type: "PublisherTf"
topic: " "
package: "wolf_ros_node"
period: 0.2
map_frame_id: "map"
odom_frame_id: "odom"
base_frame_id: "base"
publish_odom_tf: false
-
type: "PublisherGraph"
topic: "graph"
package: "wolf_ros_node"
period: 0.2
viz_scale: 2
-
type: "PublisherTrackerGnssInfo"
topic: "gnss_tracker"
package: "wolf_ros_gnss"
period: 0.2
processor_gnss: "processor gnss"
\ No newline at end of file
config:
debug:
profiling: true
profiling_file: "~/profiling_M600b.txt"
print_problem: false
print_period: 1
print_depth: 4
print_constr_by: false
print_metric: true
print_state_blocks: false
problem:
frame_structure: "POV"
dimension: 3
tree_manager:
follow: "../tree_manager/sliding_window_20_0.yaml"
prior:
follow: "../prior/POV_fix.yaml"
solver:
max_num_iterations: 20
verbose: 0
period: 0.0
n_threads: 2
update_immediately: false
min_num_iterations: 5 #if update immediately
compute_cov: true
cov_enum: 3
cov_period: 1
map:
type: "MapBase"
plugin: "core"
sensors:
-
type: "SensorImu"
name: "IMU_odometer"
plugin: "imu"
follow: "../sensor_bno.yaml"
#-
# type: "SensorCompass"
# name: "compass"
# plugin: "imu"
# follow: "sensor_bno_compass.yaml"
-
type: "SensorGnss"
name: "gnss"
plugin: "gnss"
extrinsic:
pose: [0.0, 0.0, 0.28] # M600
follow: "../sensor_f9t.yaml"
-
type: "SensorModel"
name: "dynamic_model"
plugin: "core"
processors:
-
type: "ProcessorImu"
name: "processor IMU"
sensor_name: "IMU_odometer"
plugin: "imu"
follow: "../processor_imu.yaml"
#-
# type: "ProcessorCompass"
# name: "processor compass"
# sensor_name: "compass"
# plugin: "imu"
# follow: "../processor_compass.yaml"
-
type: "ProcessorTrackerGnss"
name: "processor gnss"
sensor_name: "gnss"
plugin: "gnss"
follow: "processor_gnss_4.yaml"
-
type: "ProcessorFixWingModel"
name: "processor fix wing"
sensor_name: "dynamic_model"
plugin: "core"
follow: "processor_fix_wing.yaml"
ROS subscriber:
-
type: "SubscriberGnssUblox"
topic: "/ublox_gps/raw_data_stream"
sensor_name: "gnss"
package: "wolf_ros_gnss"
follow: "../subscriber_gnss_ublox_4.yaml"
-
type: "SubscriberImuEnableable"
topic: "/bno055_imu/imu"
sensor_name: "IMU_odometer"
package: "wolf_ros_imu"
follow: "subscriber_imu.yaml"
#-
# type: "SubscriberCompass"
# topic: "/bno055_imu/magnetometer"
# sensor_name: "compass"
# package: "wolf_ros_imu"
# follow: "subscriber_imu.yaml"
-
type: "SubscriberGnssFixPublisherEcef"
topic: "/ublox_gps/fix"
sensor_name: "gnss"
package: "wolf_ros_gnss"
marker_color: [0,0,1,1]
line_size: 0.2
period: 0.2
max_points: 10000
ROS publisher:
-
type: "PublisherRpaStateInfo"
topic: "rpa_state_info"
package: "wolf_ros_gauss"
period: 0.5
follow: "publisher_rpa_state_info.yaml"
-
type: "PublisherRpaPositioningInfo"
topic: "rpa_positioning_info"
package: "wolf_ros_gauss"
period: 0.5
sensor: "gnss"
-
type: "PublisherRpaImuGnssPositioning"
topic: "rpa_imu_gnss_positioning"
package: "wolf_ros_gauss"
period: 0.1
sensor: "gnss"
-
type: "PublisherPose"
topic: "current_pose"
package: "wolf_ros_node"
marker_color: [1,0,0,1]
line_size: 0.2
period: 0.2
extrinsics: true
sensor: "gnss"
frame_id: "ENU"
max_points: 10000
-
type: "PublisherGnssTf"
topic: " "
package: "wolf_ros_gnss"
period: 0.01
sensor_gnss_name: "gnss"
-
type: "PublisherTf"
topic: " "
package: "wolf_ros_node"
period: 0.2
map_frame_id: "map"
odom_frame_id: "odom"
base_frame_id: "base"
publish_odom_tf: false
-
type: "PublisherGraph"
topic: "graph"
package: "wolf_ros_node"
period: 0.2
viz_scale: 2
-
type: "PublisherTrackerGnssInfo"
topic: "gnss_tracker"
package: "wolf_ros_gnss"
period: 0.2
processor_gnss: "processor gnss"
\ No newline at end of file
time_tolerance: 0.005 # Time tolerance for joining KFs
keyframe_vote:
voting_active: false
apply_loss_function: false
velocity_local: [1, 0, 0]
angle_stdev: 0.05
min_vel_norm: 1
\ No newline at end of file
time_tolerance: 0.1
apply_loss_function: false
max_new_features: -1 #unlimited
remove_outliers: true
remove_outliers_with_fix: true
outlier_residual_th: 10
init_frames: false
pseudo_ranges: true
fix: false
enu_map_fix_dist: 5
keyframe_vote:
voting_active: true
max_time_span: 0.5
min_features_for_keyframe: 0 #4
gnss:
sateph: 0 # satellite ephemeris/clock: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris, EPHOPT_SBAS2(6):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), EPHOPT_SBAS3(7):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_SBAS2), EPHOPT_SBAS4(8):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_BRDC)
ionoopt: 1 # ionosphere option: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode, IONOOPT_SBAS2(9):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), IONOOPT_SBAS3(10):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_SBAS2), IONOOPT_SBAS4(8):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_BRDC)
tropopt: 1 # troposphere option: (0:correction off,1:Saastamoinen model,2:SBAS model,3:troposphere option: ZTD estimation,4:ZTD+grad estimation,5:ZTD correction,6:ZTD+grad correction)
sbascorr: 15 # SBAS option (1:long term correction,2:fast correction,4:ionosphere correction,8:ranging)
raim: 1 # apply RAIM
elmin: 0.26 # elevation min (rad) = 15 degrees
maxgdop: 30 # reject threshold of gdop (ground dilusion of precision)
min_sbas_sats: 5 # used in case of EPHOPT_SBAS3, EPHOPT_SBAS4, IONOOPT_SBAS3, IONOOPT_SBAS4
constellations:
GPS: true
SBS: false
GLO: false
GAL: true
QZS: false
CMP: false
IRN: false
LEO: false
tdcp:
enabled: true
structure: consecutive
corr_iono: true
corr_tropo: true
corr_clock: true
loss_function: false
time_window: 10 # s
sigma_atm: 0.0016 #1.6mm/sqrt(s) # m/sqrt(s)
sigma_carrier: 0.0011 #1.1mm/sqrt(s) # m
multi_freq: false
remove_outliers: false
batch: false
\ No newline at end of file
time_tolerance: 0.1
apply_loss_function: false
max_new_features: -1 #unlimited
remove_outliers: true
remove_outliers_with_fix: true
outlier_residual_th: 10
init_frames: false
pseudo_ranges: true
fix: false
enu_map_fix_dist: 5
keyframe_vote:
voting_active: true
max_time_span: 0.5
min_features_for_keyframe: 0 #4
gnss:
sateph: 6 # satellite ephemeris/clock: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris, EPHOPT_SBAS2(6):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), EPHOPT_SBAS3(7):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_SBAS2), EPHOPT_SBAS4(8):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_BRDC)
ionoopt: 9 # ionosphere option: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode, IONOOPT_SBAS2(9):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), IONOOPT_SBAS3(10):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_SBAS2), IONOOPT_SBAS4(8):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_BRDC)
tropopt: 2 # troposphere option: (0:correction off,1:Saastamoinen model,2:SBAS model,3:troposphere option: ZTD estimation,4:ZTD+grad estimation,5:ZTD correction,6:ZTD+grad correction)
sbascorr: 15 # SBAS option (1:long term correction,2:fast correction,4:ionosphere correction,8:ranging)
raim: 1 # apply RAIM
elmin: 0.26 # elevation min (rad) = 15 degrees
maxgdop: 30 # reject threshold of gdop (ground dilusion of precision)
min_sbas_sats: 5 # used in case of EPHOPT_SBAS3, EPHOPT_SBAS4, IONOOPT_SBAS3, IONOOPT_SBAS4
constellations:
GPS: true
SBS: false
GLO: false
GAL: false
QZS: false
CMP: false
IRN: false
LEO: false
tdcp:
enabled: true
structure: consecutive
corr_iono: true
corr_tropo: true
corr_clock: true
loss_function: false
time_window: 10 # s
sigma_atm: 0.0016 #1.6mm/sqrt(s) # m/sqrt(s)
sigma_carrier: 0.0011 #1.1mm/sqrt(s) # m
multi_freq: false
remove_outliers: false
batch: false
\ No newline at end of file
time_tolerance: 0.1
apply_loss_function: false
max_new_features: -1 #unlimited
remove_outliers: true
remove_outliers_with_fix: true
outlier_residual_th: 10
init_frames: false
pseudo_ranges: true
fix: false
enu_map_fix_dist: 5
keyframe_vote:
voting_active: true
max_time_span: 0.5
min_features_for_keyframe: 0 #4
gnss:
sateph: 0 # satellite ephemeris/clock: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris, EPHOPT_SBAS2(6):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), EPHOPT_SBAS3(7):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_SBAS2), EPHOPT_SBAS4(8):broadcast + SBAS(EPHOPT_SBAS if possible, otherwise EPHOPT_BRDC)
ionoopt: 1 # ionosphere option: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode, IONOOPT_SBAS2(9):broadcast + SBAS(sats with SBAS corr and sats with BRDC eph), IONOOPT_SBAS3(10):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_SBAS2), IONOOPT_SBAS4(8):broadcast + SBAS(IONOOPT_SBAS if possible, otherwise IONOOPT_BRDC)
tropopt: 1 # troposphere option: (0:correction off,1:Saastamoinen model,2:SBAS model,3:troposphere option: ZTD estimation,4:ZTD+grad estimation,5:ZTD correction,6:ZTD+grad correction)
sbascorr: 15 # SBAS option (1:long term correction,2:fast correction,4:ionosphere correction,8:ranging)
raim: 1 # apply RAIM
elmin: 0.26 # elevation min (rad) = 15 degrees
maxgdop: 30 # reject threshold of gdop (ground dilusion of precision)
min_sbas_sats: 5 # used in case of EPHOPT_SBAS3, EPHOPT_SBAS4, IONOOPT_SBAS3, IONOOPT_SBAS4
constellations:
GPS: true
SBS: false
GLO: false
GAL: false
QZS: false
CMP: false
IRN: false
LEO: false
tdcp:
enabled: true
structure: consecutive
corr_iono: true
corr_tropo: true
corr_clock: true
loss_function: false
time_window: 10 # s
sigma_atm: 0.0016 #1.6mm/sqrt(s) # m/sqrt(s)
sigma_carrier: 0.0011 #1.1mm/sqrt(s) # m
multi_freq: false
remove_outliers: false
batch: false
\ No newline at end of file
......@@ -38,11 +38,11 @@ config:
name: "IMU_odometer"
plugin: "imu"
follow: "../sensor_bno.yaml"
-
type: "SensorCompass"
name: "compass"
plugin: "imu"
follow: "sensor_bno_compass.yaml"
#-
# type: "SensorCompass"
# name: "compass"
# plugin: "imu"
# follow: "sensor_bno_compass.yaml"
-
type: "SensorGnss"
name: "gnss"
......@@ -50,6 +50,10 @@ config:
extrinsic:
pose: [0.30, 0, -0.05] # TUCAN
follow: "../sensor_f9t.yaml"
-
type: "SensorModel"
name: "dynamic_model"
plugin: "core"
processors:
-
......@@ -58,18 +62,24 @@ config:
sensor_name: "IMU_odometer"
plugin: "imu"
follow: "../processor_imu.yaml"
-
type: "ProcessorCompass"
name: "processor compass"
sensor_name: "compass"
plugin: "imu"
follow: "../processor_compass.yaml"
#-
# type: "ProcessorCompass"
# name: "processor compass"
# sensor_name: "compass"
# plugin: "imu"
# follow: "../processor_compass.yaml"
-
type: "ProcessorTrackerGnss"
name: "processor gnss"
sensor_name: "gnss"
plugin: "gnss"
follow: "processor_gnss.yaml"
-
type: "ProcessorFixWingModel"
name: "processor fix wing"
sensor_name: "dynamic_model"
plugin: "core"
follow: "processor_fix_wing.yaml"
ROS subscriber:
-
......@@ -84,12 +94,12 @@ config:
sensor_name: "IMU_odometer"
package: "wolf_ros_imu"
follow: "subscriber_imu.yaml"
-
type: "SubscriberCompass"
topic: "/bno055_imu/magnetometer"
sensor_name: "compass"
package: "wolf_ros_imu"
follow: "subscriber_imu.yaml"
#-
# type: "SubscriberCompass"
# topic: "/bno055_imu/magnetometer"
# sensor_name: "compass"
# package: "wolf_ros_imu"
# follow: "subscriber_imu.yaml"
-
type: "SubscriberGnssFixPublisherEcef"
topic: "/ublox_gps/fix"
......@@ -107,6 +117,18 @@ config:
package: "wolf_ros_gauss"
period: 0.1
sensor: "gnss"
-
type: "PublisherRpaStateInfo"
topic: "rpa_state_info"
package: "wolf_ros_gauss"
period: 0.5
follow: "publisher_rpa_state_info.yaml"
-
type: "PublisherRpaPositioningInfo"
topic: "rpa_positioning_info"
package: "wolf_ros_gauss"
period: 0.5
sensor: "gnss"
-
type: "PublisherPose"
topic: "current_pose"
......@@ -138,7 +160,6 @@ config:
topic: "graph"
package: "wolf_ros_node"
period: 0.2
text_scale: 50
viz_scale: 50
-
type: "PublisherTrackerGnssInfo"
......
topic_security: "/alarm_data"
sensor: "gnss"
icao: 3434009 # atlantic
k_H: 5.256522
k_V: 4.891638
HAL: 20 #20/10
VAL: 30 #30/444
yaw_offset: 0.0
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment