From 1cb496cb4d4c7209eacce5e591fd14f3b0714522 Mon Sep 17 00:00:00 2001 From: joanvallve <jvallve@iri.upc.edu> Date: Wed, 29 Sep 2021 14:04:09 +0200 Subject: [PATCH] different configs comparative --- ...rpa_positioning_rosbag_second_field.launch | 90 ++++++++++ yaml/M600a/processor_gnss.yaml | 2 +- yaml/M600b/params_2.yaml | 166 ++++++++++++++++++ yaml/M600b/params_3.yaml | 166 ++++++++++++++++++ yaml/M600b/params_4.yaml | 166 ++++++++++++++++++ yaml/M600b/processor_gnss.yaml | 2 +- yaml/M600b/processor_gnss_2.yaml | 45 +++++ yaml/M600b/processor_gnss_3.yaml | 45 +++++ yaml/M600b/processor_gnss_4.yaml | 45 +++++ yaml/atlantic/params_2.yaml | 166 ++++++++++++++++++ yaml/atlantic/params_3.yaml | 166 ++++++++++++++++++ yaml/atlantic/params_4.yaml | 166 ++++++++++++++++++ yaml/atlantic/processor_gnss.yaml | 2 +- yaml/atlantic/processor_gnss_2.yaml | 45 +++++ yaml/atlantic/processor_gnss_3.yaml | 45 +++++ yaml/atlantic/processor_gnss_4.yaml | 45 +++++ yaml/scrab/params_2.yaml | 166 ++++++++++++++++++ yaml/scrab/params_3.yaml | 166 ++++++++++++++++++ yaml/scrab/params_4.yaml | 166 ++++++++++++++++++ yaml/scrab/processor_gnss.yaml | 2 +- yaml/scrab/processor_gnss_2.yaml | 45 +++++ yaml/scrab/processor_gnss_3.yaml | 45 +++++ yaml/scrab/processor_gnss_4.yaml | 45 +++++ yaml/subscriber_gnss_ublox.yaml | 2 +- yaml/subscriber_gnss_ublox_2.yaml | 24 +++ yaml/subscriber_gnss_ublox_3.yaml | 24 +++ yaml/subscriber_gnss_ublox_4.yaml | 24 +++ 27 files changed, 2066 insertions(+), 5 deletions(-) create mode 100644 launch/rpa_positioning_rosbag_second_field.launch create mode 100644 yaml/M600b/params_2.yaml create mode 100644 yaml/M600b/params_3.yaml create mode 100644 yaml/M600b/params_4.yaml create mode 100644 yaml/M600b/processor_gnss_2.yaml create mode 100644 yaml/M600b/processor_gnss_3.yaml create mode 100644 yaml/M600b/processor_gnss_4.yaml create mode 100644 yaml/atlantic/params_2.yaml create mode 100644 yaml/atlantic/params_3.yaml create mode 100644 yaml/atlantic/params_4.yaml create mode 100644 yaml/atlantic/processor_gnss_2.yaml create mode 100644 yaml/atlantic/processor_gnss_3.yaml create mode 100644 yaml/atlantic/processor_gnss_4.yaml create mode 100644 yaml/scrab/params_2.yaml create mode 100644 yaml/scrab/params_3.yaml create mode 100644 yaml/scrab/params_4.yaml create mode 100644 yaml/scrab/processor_gnss_2.yaml create mode 100644 yaml/scrab/processor_gnss_3.yaml create mode 100644 yaml/scrab/processor_gnss_4.yaml create mode 100644 yaml/subscriber_gnss_ublox_2.yaml create mode 100644 yaml/subscriber_gnss_ublox_3.yaml create mode 100644 yaml/subscriber_gnss_ublox_4.yaml diff --git a/launch/rpa_positioning_rosbag_second_field.launch b/launch/rpa_positioning_rosbag_second_field.launch new file mode 100644 index 0000000..0134d81 --- /dev/null +++ b/launch/rpa_positioning_rosbag_second_field.launch @@ -0,0 +1,90 @@ +<!-- --> +<launch> + <arg name="rviz" default="true" /> + + <arg name="record_output" default="true" /> + + <arg name="speed" default="1" /> + <arg name="sec" default="0" /> + + <arg name="profiling" default="false" /> + <arg name="gdb" default="false" /> + <arg name="launch_pref" default="" unless="$(eval profiling or gdb)"/> + <arg name="launch_pref" value="valgrind --tool=callgrind --callgrind-out-file='callgrind.wolf.%p'" if="$(arg profiling)" /> + <arg name="launch_pref" value="gdb -ex run --args" if="$(arg gdb)" /> + + <!-- using "clock" option to use the simulated time. Rosbag launch as the first node --> + <param name="use_sim_time" value="true" /> + + <arg name="bag_path" default="/media/joanvallve/second_field_inta/selected"/> + + <arg name="flight" default="atlantic_16" /> + + <arg name="bag_suffix" value="atlantic_2021-09-16-09-04-43" if="$(eval flight == 'atlantic_16')" /> + <arg name="bag_suffix" value="atlantic_2021-09-17-09-22-47" if="$(eval flight == 'atlantic_17')" /> + <arg name="bag_suffix" value="M600b_2021-09-16-12-25-14" if="$(eval flight == 'M600b_16_1')" /> + <arg name="bag_suffix" value="M600b_2021-09-16-14-41-46" if="$(eval flight == 'M600b_16_2')" /> + <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="platform" value="scrab" if="$(eval flight == 'scrab_16' or flight == 'scrab_17')" /> + + <arg name="conf_gnss" default="1" /> + + <arg name="yaml" value="params" if="$(eval conf_gnss == 1)" /> + <arg name="yaml" value="params_2" if="$(eval conf_gnss == 2)" /> + <arg name="yaml" value="params_3" if="$(eval conf_gnss == 3)" /> + <arg name="yaml" value="params_4" if="$(eval conf_gnss == 4)" /> + + <!--POSITIONING--> + <include file="$(find gauss_ros)/launch/rpa_positioning.launch"> + <arg name="platform" value="$(arg platform)"/> + <arg name="launch_pref" value="$(arg launch_pref)"/> + <arg name="yaml" value="$(arg yaml)"/> + </include> + + <!--VISUALIZATION--> + <group if="$(arg rviz)"> + <node name="rviz" + pkg="rviz" + type="rviz" + args="-d $(find gauss_ros)/rviz/positioning_rosbag.rviz" /> + </group> + + <!--ROSBAG PLAY--> + <node pkg="rosbag" + type="play" + name="player" + required="true" + args="-r $(arg speed) + -s $(arg sec) + --clock + $(arg bag_path)/rpa_sensors_$(arg bag_suffix).bag"> + </node> + + <!--ROSBAG RECORD OUTPUT--> + <group if="$(arg record_output)"> + <node pkg="rosbag" + type="record" + name="recorder" + required="true" + args="/clock + /wolf_ros_node/rpa_imu_gnss_positioning + /wolf_ros_node/rpa_positioning_info + /wolf_ros_node/rpa_state_info + /tf + /tf_static + /alarm_data + -O $(arg bag_path)/rpa_output_$(arg bag_suffix)_conf$(arg conf_gnss).bag"> + <!--/wolf_ros_node/current_pose_marker + /wolf_ros_node/graph_factors + /wolf_ros_node/graph_landmarks + /wolf_ros_node/graph_trajectory--> + </node> + </group> + +</launch> diff --git a/yaml/M600a/processor_gnss.yaml b/yaml/M600a/processor_gnss.yaml index 8712d1a..f9016bd 100644 --- a/yaml/M600a/processor_gnss.yaml +++ b/yaml/M600a/processor_gnss.yaml @@ -24,7 +24,7 @@ gnss: constellations: GPS: true SBS: false - GLO: true + GLO: false GAL: true QZS: false CMP: false diff --git a/yaml/M600b/params_2.yaml b/yaml/M600b/params_2.yaml new file mode 100644 index 0000000..9a39a1e --- /dev/null +++ b/yaml/M600b/params_2.yaml @@ -0,0 +1,166 @@ +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" + + 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: "IMU_odometer" + 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 + text_scale: 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 diff --git a/yaml/M600b/params_3.yaml b/yaml/M600b/params_3.yaml new file mode 100644 index 0000000..0a929de --- /dev/null +++ b/yaml/M600b/params_3.yaml @@ -0,0 +1,166 @@ +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" + + 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: "IMU_odometer" + 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 + text_scale: 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 diff --git a/yaml/M600b/params_4.yaml b/yaml/M600b/params_4.yaml new file mode 100644 index 0000000..e44bb5a --- /dev/null +++ b/yaml/M600b/params_4.yaml @@ -0,0 +1,166 @@ +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" + + 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: "IMU_odometer" + 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 + text_scale: 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 diff --git a/yaml/M600b/processor_gnss.yaml b/yaml/M600b/processor_gnss.yaml index 8712d1a..f9016bd 100644 --- a/yaml/M600b/processor_gnss.yaml +++ b/yaml/M600b/processor_gnss.yaml @@ -24,7 +24,7 @@ gnss: constellations: GPS: true SBS: false - GLO: true + GLO: false GAL: true QZS: false CMP: false diff --git a/yaml/M600b/processor_gnss_2.yaml b/yaml/M600b/processor_gnss_2.yaml new file mode 100644 index 0000000..0af7399 --- /dev/null +++ b/yaml/M600b/processor_gnss_2.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/M600b/processor_gnss_3.yaml b/yaml/M600b/processor_gnss_3.yaml new file mode 100644 index 0000000..0483aec --- /dev/null +++ b/yaml/M600b/processor_gnss_3.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/M600b/processor_gnss_4.yaml b/yaml/M600b/processor_gnss_4.yaml new file mode 100644 index 0000000..25c554a --- /dev/null +++ b/yaml/M600b/processor_gnss_4.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/atlantic/params_2.yaml b/yaml/atlantic/params_2.yaml new file mode 100644 index 0000000..c56406f --- /dev/null +++ b/yaml/atlantic/params_2.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_atlantic.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.30, 0, 0.25] # atlantic + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/atlantic/params_3.yaml b/yaml/atlantic/params_3.yaml new file mode 100644 index 0000000..b4de5e3 --- /dev/null +++ b/yaml/atlantic/params_3.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_atlantic.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.30, 0, 0.25] # atlantic + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/atlantic/params_4.yaml b/yaml/atlantic/params_4.yaml new file mode 100644 index 0000000..72c9a93 --- /dev/null +++ b/yaml/atlantic/params_4.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_atlantic.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.30, 0, 0.25] # atlantic + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/atlantic/processor_gnss.yaml b/yaml/atlantic/processor_gnss.yaml index 8712d1a..f9016bd 100644 --- a/yaml/atlantic/processor_gnss.yaml +++ b/yaml/atlantic/processor_gnss.yaml @@ -24,7 +24,7 @@ gnss: constellations: GPS: true SBS: false - GLO: true + GLO: false GAL: true QZS: false CMP: false diff --git a/yaml/atlantic/processor_gnss_2.yaml b/yaml/atlantic/processor_gnss_2.yaml new file mode 100644 index 0000000..0af7399 --- /dev/null +++ b/yaml/atlantic/processor_gnss_2.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/atlantic/processor_gnss_3.yaml b/yaml/atlantic/processor_gnss_3.yaml new file mode 100644 index 0000000..0483aec --- /dev/null +++ b/yaml/atlantic/processor_gnss_3.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/atlantic/processor_gnss_4.yaml b/yaml/atlantic/processor_gnss_4.yaml new file mode 100644 index 0000000..25c554a --- /dev/null +++ b/yaml/atlantic/processor_gnss_4.yaml @@ -0,0 +1,45 @@ +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 diff --git a/yaml/scrab/params_2.yaml b/yaml/scrab/params_2.yaml new file mode 100644 index 0000000..6bb69c4 --- /dev/null +++ b/yaml/scrab/params_2.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_scrab.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]#[1.36, -0.04, 0.280] # BNO055 in rosbag + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/scrab/params_3.yaml b/yaml/scrab/params_3.yaml new file mode 100644 index 0000000..679e4ff --- /dev/null +++ b/yaml/scrab/params_3.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_scrab.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]#[1.36, -0.04, 0.280] # BNO055 in rosbag + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/scrab/params_4.yaml b/yaml/scrab/params_4.yaml new file mode 100644 index 0000000..1954d6b --- /dev/null +++ b/yaml/scrab/params_4.yaml @@ -0,0 +1,166 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_scrab.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]#[1.36, -0.04, 0.280] # BNO055 in rosbag + follow: "../sensor_f9t.yaml" + + 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: "IMU_odometer" + 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: 5 + 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: 5 + 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 + text_scale: 50 + viz_scale: 50 + - + type: "PublisherTrackerGnssInfo" + topic: "gnss_tracker" + package: "wolf_ros_gnss" + period: 0.2 + processor_gnss: "processor gnss" \ No newline at end of file diff --git a/yaml/scrab/processor_gnss.yaml b/yaml/scrab/processor_gnss.yaml index 852736f..02d1e16 100644 --- a/yaml/scrab/processor_gnss.yaml +++ b/yaml/scrab/processor_gnss.yaml @@ -24,7 +24,7 @@ gnss: constellations: GPS: true SBS: false - GLO: true + GLO: false GAL: true QZS: false CMP: false diff --git a/yaml/scrab/processor_gnss_2.yaml b/yaml/scrab/processor_gnss_2.yaml new file mode 100644 index 0000000..d710cdd --- /dev/null +++ b/yaml/scrab/processor_gnss_2.yaml @@ -0,0 +1,45 @@ +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.1 + 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 diff --git a/yaml/scrab/processor_gnss_3.yaml b/yaml/scrab/processor_gnss_3.yaml new file mode 100644 index 0000000..815e1ca --- /dev/null +++ b/yaml/scrab/processor_gnss_3.yaml @@ -0,0 +1,45 @@ +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.1 + 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 diff --git a/yaml/scrab/processor_gnss_4.yaml b/yaml/scrab/processor_gnss_4.yaml new file mode 100644 index 0000000..9b8b5a2 --- /dev/null +++ b/yaml/scrab/processor_gnss_4.yaml @@ -0,0 +1,45 @@ +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.1 + 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 diff --git a/yaml/subscriber_gnss_ublox.yaml b/yaml/subscriber_gnss_ublox.yaml index 7303684..49e8020 100644 --- a/yaml/subscriber_gnss_ublox.yaml +++ b/yaml/subscriber_gnss_ublox.yaml @@ -13,7 +13,7 @@ gnss_options: constellations: GPS: true SBS: false - GLO: true + GLO: false GAL: true QZS: false CMP: false diff --git a/yaml/subscriber_gnss_ublox_2.yaml b/yaml/subscriber_gnss_ublox_2.yaml new file mode 100644 index 0000000..a046eec --- /dev/null +++ b/yaml/subscriber_gnss_ublox_2.yaml @@ -0,0 +1,24 @@ +process_not_available: false +publish_fix: + enabled: true + topic: "RTKLIB_fix" +gnss_options: + sateph: 0 # satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris + ionoopt: 1 # ionosphere option (0:correction off,1:broadcast mode,2:SBAS model,3:L1/L2 or L1/L5,4:estimation,5:IONEX TEC model,6:QZSS broadcast,7:QZSS LEX ionosphere,8:SLANT TEC mode) + 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 n times + elmin: 0.26 # elevation min (rad) = 15 degrees + maxgdop: 30 # reject threshold of gdop (ground dilusion of precision) + constellations: + GPS: true + SBS: false + GLO: false + GAL: true + QZS: false + CMP: false + IRN: false + LEO: false +reset_receiver: true +reset_max_topic_delay: 1 +reset_duration: 20 \ No newline at end of file diff --git a/yaml/subscriber_gnss_ublox_3.yaml b/yaml/subscriber_gnss_ublox_3.yaml new file mode 100644 index 0000000..dcc5af5 --- /dev/null +++ b/yaml/subscriber_gnss_ublox_3.yaml @@ -0,0 +1,24 @@ +process_not_available: false +publish_fix: + enabled: true + topic: "RTKLIB_fix" +gnss_options: + sateph: 6 # satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris + ionoopt: 9 # ionosphere option (0:correction off,1:broadcast mode,2:SBAS model,3:L1/L2 or L1/L5,4:estimation,5:IONEX TEC model,6:QZSS broadcast,7:QZSS LEX ionosphere,8:SLANT TEC mode) + 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 n times + elmin: 0.26 # elevation min (rad) = 15 degrees + maxgdop: 30 # reject threshold of gdop (ground dilusion of precision) + constellations: + GPS: true + SBS: false + GLO: false + GAL: false + QZS: false + CMP: false + IRN: false + LEO: false +reset_receiver: true +reset_max_topic_delay: 1 +reset_duration: 20 \ No newline at end of file diff --git a/yaml/subscriber_gnss_ublox_4.yaml b/yaml/subscriber_gnss_ublox_4.yaml new file mode 100644 index 0000000..cc9c5af --- /dev/null +++ b/yaml/subscriber_gnss_ublox_4.yaml @@ -0,0 +1,24 @@ +process_not_available: false +publish_fix: + enabled: true + topic: "RTKLIB_fix" +gnss_options: + sateph: 0 # satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris + ionoopt: 1 # ionosphere option (0:correction off,1:broadcast mode,2:SBAS model,3:L1/L2 or L1/L5,4:estimation,5:IONEX TEC model,6:QZSS broadcast,7:QZSS LEX ionosphere,8:SLANT TEC mode) + 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 n times + elmin: 0.26 # elevation min (rad) = 15 degrees + maxgdop: 30 # reject threshold of gdop (ground dilusion of precision) + constellations: + GPS: true + SBS: false + GLO: false + GAL: false + QZS: false + CMP: false + IRN: false + LEO: false +reset_receiver: true +reset_max_topic_delay: 1 +reset_duration: 20 \ No newline at end of file -- GitLab