diff --git a/launch/rpa_positioning_rosbag_second_field.launch b/launch/rpa_positioning_rosbag_second_field.launch new file mode 100644 index 0000000000000000000000000000000000000000..0134d817f96134e1e7b2970e467a14c5e4774395 --- /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 8712d1a3c5ef3000e15ab6254d0204d3ac90cb21..f9016bd04333c4cca66e404d8bb44d88b219655d 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 0000000000000000000000000000000000000000..9a39a1ef80be586d5deb5a8f32429f42fec14817 --- /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 0000000000000000000000000000000000000000..0a929de0fc856017da4d1feb26dbbd7acf329311 --- /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 0000000000000000000000000000000000000000..e44bb5acacc22441df3fc030b157714e8b0cafb7 --- /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 8712d1a3c5ef3000e15ab6254d0204d3ac90cb21..f9016bd04333c4cca66e404d8bb44d88b219655d 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 0000000000000000000000000000000000000000..0af73990647fbfdbcc5d9239ea7b20f7a3f13fe7 --- /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 0000000000000000000000000000000000000000..0483aece09c007f8c00054a87ac1fa3cf658ebc4 --- /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 0000000000000000000000000000000000000000..25c554acbc4d6c7f11caaedaa26a639e3dbf58a7 --- /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 0000000000000000000000000000000000000000..c56406f08a76f7b901c1b1995b2b4e516b94a87c --- /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 0000000000000000000000000000000000000000..b4de5e30ad132e813ea4d6441ee6342b2cca5bd7 --- /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 0000000000000000000000000000000000000000..72c9a93ac791b132fb4492030070368a65abab66 --- /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 8712d1a3c5ef3000e15ab6254d0204d3ac90cb21..f9016bd04333c4cca66e404d8bb44d88b219655d 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 0000000000000000000000000000000000000000..0af73990647fbfdbcc5d9239ea7b20f7a3f13fe7 --- /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 0000000000000000000000000000000000000000..0483aece09c007f8c00054a87ac1fa3cf658ebc4 --- /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 0000000000000000000000000000000000000000..25c554acbc4d6c7f11caaedaa26a639e3dbf58a7 --- /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 0000000000000000000000000000000000000000..6bb69c40c5606df9f4eac7aba937bc42044fb942 --- /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 0000000000000000000000000000000000000000..679e4ff3b5da305d482c5b3bf3ec06a19cd71559 --- /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 0000000000000000000000000000000000000000..1954d6b0abd5579d80c5854e71d2933809f669fc --- /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 852736f9952d4a10cfa11c089f714382450d1c89..02d1e16e5540d8fca967aad0641f8ca0537ada93 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 0000000000000000000000000000000000000000..d710cddb2bd4aa35946f90d278bc612bd35c2081 --- /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 0000000000000000000000000000000000000000..815e1caa9aa9ede6d1bb6e6080cb48ce1fa04e8f --- /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 0000000000000000000000000000000000000000..9b8b5a2280e672efc943651858e3ef4bd999ee32 --- /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 7303684a7c28b9c8a48d7b2e7834015b7950a396..49e802099c834055f59f085b0e1fe32dcf064266 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 0000000000000000000000000000000000000000..a046eec64a43757ac0e31b7e936ff4bc81a56f94 --- /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 0000000000000000000000000000000000000000..dcc5af556b6d1870f226fc44b5419b55ecff54c2 --- /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 0000000000000000000000000000000000000000..cc9c5af3a3ca93e314da508fc47738aa8da5c4e5 --- /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