diff --git a/yaml/IRI/params.yaml b/yaml/IRI/params.yaml index eec3d1eb4cde05a8c7c8e2c965a2ad6c3a81a5b6..6ae35fa0ebc81248a55fa7e6513d01d7a20e3bcd 100644 --- a/yaml/IRI/params.yaml +++ b/yaml/IRI/params.yaml @@ -18,16 +18,8 @@ config: 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 - + follow: "solver.yaml" + map: type: "MapBase" plugin: "core" diff --git a/yaml/IRI/params_only_gnss.yaml b/yaml/IRI/params_only_gnss.yaml index f91af26105a93e713705eb0f4f3f863812172861..9d3485ef8bbb4b0340d6ab36ab6947cf9801878c 100644 --- a/yaml/IRI/params_only_gnss.yaml +++ b/yaml/IRI/params_only_gnss.yaml @@ -19,15 +19,7 @@ config: follow: "../prior/PO_fix.yaml" solver: - max_num_iterations: 20 - verbose: 0 - period: 0.0 - n_threads: 2 - update_immediately: true - min_num_iterations: 5 #if update immediately - compute_cov: false - cov_enum: 3 - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/IRI/solver.yaml b/yaml/IRI/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6e89b662c139699f4b87d865c6fb04ff5427ea --- /dev/null +++ b/yaml/IRI/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 3 +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps diff --git a/yaml/M600a/params.yaml b/yaml/M600a/params.yaml index d75a0a8a21aa975870f13f737f56223a185f6ea4..a6de98d27041bddc87a8e7f96cdd801b146d2701 100644 --- a/yaml/M600a/params.yaml +++ b/yaml/M600a/params.yaml @@ -18,16 +18,8 @@ config: 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 - + follow: "solver.yaml" + map: type: "MapBase" plugin: "core" diff --git a/yaml/M600a/params_2.yaml b/yaml/M600a/params_2.yaml index 07916e0877667cfaf2b2ba0f4609d4055f467b48..0f7c4e6b0df2b5fd2111ad5adc348796a7dc7ad1 100644 --- a/yaml/M600a/params_2.yaml +++ b/yaml/M600a/params_2.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600a/params_3.yaml b/yaml/M600a/params_3.yaml index d09eeada3b47e206dfa7f1fd8195cd4e61007b63..ebae724bd696d7b3497b24e53546621a18e97fa0 100644 --- a/yaml/M600a/params_3.yaml +++ b/yaml/M600a/params_3.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600a/params_4.yaml b/yaml/M600a/params_4.yaml index 14a02dead496abee1e06aadba4a986e635bcdba1..2b9a7f6afd75ec787d91d6a8786eda8ed55f67c1 100644 --- a/yaml/M600a/params_4.yaml +++ b/yaml/M600a/params_4.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600a/params_only_gnss.yaml b/yaml/M600a/params_only_gnss.yaml index 1573584bbf210ee0e5a45dee595198e0ecbfb570..63ac9a92482976ac9bafe4355f9b21571b61d6ce 100644 --- a/yaml/M600a/params_only_gnss.yaml +++ b/yaml/M600a/params_only_gnss.yaml @@ -18,15 +18,7 @@ config: follow: "../prior/PO_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: false - cov_enum: 3 - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600a/solver.yaml b/yaml/M600a/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6e89b662c139699f4b87d865c6fb04ff5427ea --- /dev/null +++ b/yaml/M600a/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 3 +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps diff --git a/yaml/M600b/params.yaml b/yaml/M600b/params.yaml index ec6df0ea85486800ac368a53dbbce59f878c81fc..c531a5a7a77221ed3af0af5193a021b64e36d99f 100644 --- a/yaml/M600b/params.yaml +++ b/yaml/M600b/params.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600b/params_2.yaml b/yaml/M600b/params_2.yaml index 07916e0877667cfaf2b2ba0f4609d4055f467b48..0f7c4e6b0df2b5fd2111ad5adc348796a7dc7ad1 100644 --- a/yaml/M600b/params_2.yaml +++ b/yaml/M600b/params_2.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600b/params_3.yaml b/yaml/M600b/params_3.yaml index d09eeada3b47e206dfa7f1fd8195cd4e61007b63..ebae724bd696d7b3497b24e53546621a18e97fa0 100644 --- a/yaml/M600b/params_3.yaml +++ b/yaml/M600b/params_3.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600b/params_4.yaml b/yaml/M600b/params_4.yaml index 14a02dead496abee1e06aadba4a986e635bcdba1..2b9a7f6afd75ec787d91d6a8786eda8ed55f67c1 100644 --- a/yaml/M600b/params_4.yaml +++ b/yaml/M600b/params_4.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600b/params_only_gnss.yaml b/yaml/M600b/params_only_gnss.yaml index f91af26105a93e713705eb0f4f3f863812172861..9c5684fb52d94f89490aa48a9959f6e75bf3786e 100644 --- a/yaml/M600b/params_only_gnss.yaml +++ b/yaml/M600b/params_only_gnss.yaml @@ -19,15 +19,7 @@ config: follow: "../prior/PO_fix.yaml" solver: - max_num_iterations: 20 - verbose: 0 - period: 0.0 - n_threads: 2 - update_immediately: true - min_num_iterations: 5 #if update immediately - compute_cov: false - cov_enum: 3 - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/M600b/solver.yaml b/yaml/M600b/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6e89b662c139699f4b87d865c6fb04ff5427ea --- /dev/null +++ b/yaml/M600b/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 3 +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps diff --git a/yaml/atlantic/params.yaml b/yaml/atlantic/params.yaml index 9680309fe2b73a13451a6a04801e9c366b352c1f..8f22514d124cb5b197f74281c6511f225b00854c 100644 --- a/yaml/atlantic/params.yaml +++ b/yaml/atlantic/params.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/atlantic/params_2.yaml b/yaml/atlantic/params_2.yaml index 3ea8608ff7e41f9f63e7b5b64c20ff883fb99c74..1750368af3f83a1134ace4a0fe1601eac6eac8ce 100644 --- a/yaml/atlantic/params_2.yaml +++ b/yaml/atlantic/params_2.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/atlantic/params_3.yaml b/yaml/atlantic/params_3.yaml index b1de5d6e70fb8b90c9cf069b9de87ee99908c088..e19cf297655009fb137586f48d223d1175acec99 100644 --- a/yaml/atlantic/params_3.yaml +++ b/yaml/atlantic/params_3.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/atlantic/params_4.yaml b/yaml/atlantic/params_4.yaml index 0190769c249885ef1b1d4a915c37de999e6e9bd5..e7fd94de67cfddb35a49d97806fdf50adcec7c7f 100644 --- a/yaml/atlantic/params_4.yaml +++ b/yaml/atlantic/params_4.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/atlantic/params_only_gnss.yaml b/yaml/atlantic/params_only_gnss.yaml index 225a486e2d9770dcf45628cb0c1d53462a6f298d..1e9e851137ca8603dd3981278ba707414010c895 100644 --- a/yaml/atlantic/params_only_gnss.yaml +++ b/yaml/atlantic/params_only_gnss.yaml @@ -19,15 +19,7 @@ config: follow: "../prior/PO_fix.yaml" solver: - max_num_iterations: 20 - verbose: 0 - period: 0.0 - n_threads: 2 - update_immediately: true - min_num_iterations: 5 #if update immediately - compute_cov: false - cov_enum: 3 - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/atlantic/solver.yaml b/yaml/atlantic/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6e89b662c139699f4b87d865c6fb04ff5427ea --- /dev/null +++ b/yaml/atlantic/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 3 +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps diff --git a/yaml/scrab/params.yaml b/yaml/scrab/params.yaml index 1b723684b3db0810b52b92e9e286dc3accf3a1c2..62788b43727ba9cc5e7df075acb2da427e5aecfa 100644 --- a/yaml/scrab/params.yaml +++ b/yaml/scrab/params.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/scrab/params_2.yaml b/yaml/scrab/params_2.yaml index 18d4a8e76ef270bb87d31ef4cf2f54d63a2348d0..6c5ce3c738db83b8a16148abc84052e1486c5e18 100644 --- a/yaml/scrab/params_2.yaml +++ b/yaml/scrab/params_2.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/scrab/params_3.yaml b/yaml/scrab/params_3.yaml index 2356290be4c770992f170aeae9212e5dcac8d2f4..23762d72850bb596218c0619dd0d16bd6c5927a4 100644 --- a/yaml/scrab/params_3.yaml +++ b/yaml/scrab/params_3.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/scrab/params_4.yaml b/yaml/scrab/params_4.yaml index 25bde879fd2bc4168279b0f0826b4ee9dde2c200..83f2006b179f4287518466c2c0e3831e9c2b14d0 100644 --- a/yaml/scrab/params_4.yaml +++ b/yaml/scrab/params_4.yaml @@ -18,15 +18,7 @@ config: 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 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/scrab/params_only_gnss.yaml b/yaml/scrab/params_only_gnss.yaml index f91af26105a93e713705eb0f4f3f863812172861..9c5684fb52d94f89490aa48a9959f6e75bf3786e 100644 --- a/yaml/scrab/params_only_gnss.yaml +++ b/yaml/scrab/params_only_gnss.yaml @@ -19,15 +19,7 @@ config: follow: "../prior/PO_fix.yaml" solver: - max_num_iterations: 20 - verbose: 0 - period: 0.0 - n_threads: 2 - update_immediately: true - min_num_iterations: 5 #if update immediately - compute_cov: false - cov_enum: 3 - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/scrab/solver.yaml b/yaml/scrab/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6e89b662c139699f4b87d865c6fb04ff5427ea --- /dev/null +++ b/yaml/scrab/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 3 +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps diff --git a/yaml/tucan/params.yaml b/yaml/tucan/params.yaml index ae8771c600869c0b3586a5e0390a5c0fc5cab8b3..c9597551a5100a3386badd6f9d16339ba80a26a1 100644 --- a/yaml/tucan/params.yaml +++ b/yaml/tucan/params.yaml @@ -18,15 +18,7 @@ config: 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: 4 #GAUSS_TUCAN - cov_period: 1 + follow: "solver.yaml" map: type: "MapBase" diff --git a/yaml/tucan/params_2.yaml b/yaml/tucan/params_2.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dc94801db7203f2d9cbe469b2e7528d6953b744d --- /dev/null +++ b/yaml/tucan/params_2.yaml @@ -0,0 +1,161 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_tucan.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: + follow: "solver.yaml" + + 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.30, 0, -0.05] # TUCAN + follow: "../sensor_f9t.yaml" + - + type: "SensorModel" + name: "dynamic_model" + plugin: "core" + + processors: + - + type: "ProcessorImu" + name: "processor IMU" + sensor_name: "IMU_odometer" + plugin: "imu" + follow: "../processor_imu.yaml" + #- + # type: "ProcessorCompass" + # name: "processor compass" + # sensor_name: "compass" + # plugin: "imu" + # follow: "../processor_compass.yaml" + - + type: "ProcessorTrackerGnss" + name: "processor gnss" + sensor_name: "gnss" + plugin: "gnss" + follow: "processor_gnss_2.yaml" + - + type: "ProcessorFixWingModel" + name: "processor fix wing" + sensor_name: "dynamic_model" + plugin: "core" + follow: "processor_fix_wing.yaml" + + ROS subscriber: + - + type: "SubscriberGnssUblox" + topic: "/ublox_gps/raw_data_stream" + sensor_name: "gnss" + package: "wolf_ros_gnss" + follow: "../subscriber_gnss_ublox_2.yaml" + - + type: "SubscriberImuEnableable" + topic: "/bno055_imu/imu" + sensor_name: "IMU_odometer" + package: "wolf_ros_imu" + follow: "subscriber_imu.yaml" + #- + # type: "SubscriberCompass" + # topic: "/bno055_imu/magnetometer" + # sensor_name: "compass" + # package: "wolf_ros_imu" + # follow: "subscriber_imu.yaml" + - + type: "SubscriberGnssFixPublisherEcef" + topic: "/ublox_gps/fix" + sensor_name: "gnss" + package: "wolf_ros_gnss" + marker_color: [0,0,1,1] + line_size: 5 + period: 0.2 + max_points: 10000 + + ROS publisher: + - + type: "PublisherUbxNavPVT" + topic: "/ublox_emulator/nav_pvt9" + package: "wolf_ros_gauss" + period: 0.1 + sensor: "gnss" + - + type: "PublisherRpaStateInfo" + topic: "rpa_state_info" + package: "wolf_ros_gauss" + period: 0.5 + follow: "publisher_rpa_state_info.yaml" + - + type: "PublisherRpaPositioningInfo" + topic: "rpa_positioning_info" + package: "wolf_ros_gauss" + period: 0.5 + sensor: "gnss" + - + type: "PublisherPose" + topic: "current_pose" + 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 + 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/tucan/params_3.yaml b/yaml/tucan/params_3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c453c8d3520d02a23f91c39fbe24e4c66fb8341e --- /dev/null +++ b/yaml/tucan/params_3.yaml @@ -0,0 +1,161 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_tucan.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: + follow: "solver.yaml" + + 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.30, 0, -0.05] # TUCAN + follow: "../sensor_f9t.yaml" + - + type: "SensorModel" + name: "dynamic_model" + plugin: "core" + + processors: + - + type: "ProcessorImu" + name: "processor IMU" + sensor_name: "IMU_odometer" + plugin: "imu" + follow: "../processor_imu.yaml" + #- + # type: "ProcessorCompass" + # name: "processor compass" + # sensor_name: "compass" + # plugin: "imu" + # follow: "../processor_compass.yaml" + - + type: "ProcessorTrackerGnss" + name: "processor gnss" + sensor_name: "gnss" + plugin: "gnss" + follow: "processor_gnss_3.yaml" + - + type: "ProcessorFixWingModel" + name: "processor fix wing" + sensor_name: "dynamic_model" + plugin: "core" + follow: "processor_fix_wing.yaml" + + ROS subscriber: + - + type: "SubscriberGnssUblox" + topic: "/ublox_gps/raw_data_stream" + sensor_name: "gnss" + package: "wolf_ros_gnss" + follow: "../subscriber_gnss_ublox_3.yaml" + - + type: "SubscriberImuEnableable" + topic: "/bno055_imu/imu" + sensor_name: "IMU_odometer" + package: "wolf_ros_imu" + follow: "subscriber_imu.yaml" + #- + # type: "SubscriberCompass" + # topic: "/bno055_imu/magnetometer" + # sensor_name: "compass" + # package: "wolf_ros_imu" + # follow: "subscriber_imu.yaml" + - + type: "SubscriberGnssFixPublisherEcef" + topic: "/ublox_gps/fix" + sensor_name: "gnss" + package: "wolf_ros_gnss" + marker_color: [0,0,1,1] + line_size: 5 + period: 0.2 + max_points: 10000 + + ROS publisher: + - + type: "PublisherUbxNavPVT" + topic: "/ublox_emulator/nav_pvt9" + package: "wolf_ros_gauss" + period: 0.1 + sensor: "gnss" + - + type: "PublisherRpaStateInfo" + topic: "rpa_state_info" + package: "wolf_ros_gauss" + period: 0.5 + follow: "publisher_rpa_state_info.yaml" + - + type: "PublisherRpaPositioningInfo" + topic: "rpa_positioning_info" + package: "wolf_ros_gauss" + period: 0.5 + sensor: "gnss" + - + type: "PublisherPose" + topic: "current_pose" + 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 + 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/tucan/params_4.yaml b/yaml/tucan/params_4.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c453c8d3520d02a23f91c39fbe24e4c66fb8341e --- /dev/null +++ b/yaml/tucan/params_4.yaml @@ -0,0 +1,161 @@ +config: + debug: + profiling: true + profiling_file: "~/profiling_tucan.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: + follow: "solver.yaml" + + 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.30, 0, -0.05] # TUCAN + follow: "../sensor_f9t.yaml" + - + type: "SensorModel" + name: "dynamic_model" + plugin: "core" + + processors: + - + type: "ProcessorImu" + name: "processor IMU" + sensor_name: "IMU_odometer" + plugin: "imu" + follow: "../processor_imu.yaml" + #- + # type: "ProcessorCompass" + # name: "processor compass" + # sensor_name: "compass" + # plugin: "imu" + # follow: "../processor_compass.yaml" + - + type: "ProcessorTrackerGnss" + name: "processor gnss" + sensor_name: "gnss" + plugin: "gnss" + follow: "processor_gnss_3.yaml" + - + type: "ProcessorFixWingModel" + name: "processor fix wing" + sensor_name: "dynamic_model" + plugin: "core" + follow: "processor_fix_wing.yaml" + + ROS subscriber: + - + type: "SubscriberGnssUblox" + topic: "/ublox_gps/raw_data_stream" + sensor_name: "gnss" + package: "wolf_ros_gnss" + follow: "../subscriber_gnss_ublox_3.yaml" + - + type: "SubscriberImuEnableable" + topic: "/bno055_imu/imu" + sensor_name: "IMU_odometer" + package: "wolf_ros_imu" + follow: "subscriber_imu.yaml" + #- + # type: "SubscriberCompass" + # topic: "/bno055_imu/magnetometer" + # sensor_name: "compass" + # package: "wolf_ros_imu" + # follow: "subscriber_imu.yaml" + - + type: "SubscriberGnssFixPublisherEcef" + topic: "/ublox_gps/fix" + sensor_name: "gnss" + package: "wolf_ros_gnss" + marker_color: [0,0,1,1] + line_size: 5 + period: 0.2 + max_points: 10000 + + ROS publisher: + - + type: "PublisherUbxNavPVT" + topic: "/ublox_emulator/nav_pvt9" + package: "wolf_ros_gauss" + period: 0.1 + sensor: "gnss" + - + type: "PublisherRpaStateInfo" + topic: "rpa_state_info" + package: "wolf_ros_gauss" + period: 0.5 + follow: "publisher_rpa_state_info.yaml" + - + type: "PublisherRpaPositioningInfo" + topic: "rpa_positioning_info" + package: "wolf_ros_gauss" + period: 0.5 + sensor: "gnss" + - + type: "PublisherPose" + topic: "current_pose" + 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 + 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/tucan/processor_gnss.yaml b/yaml/tucan/processor_gnss.yaml index 8712d1a3c5ef3000e15ab6254d0204d3ac90cb21..f9016bd04333c4cca66e404d8bb44d88b219655d 100644 --- a/yaml/tucan/processor_gnss.yaml +++ b/yaml/tucan/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/tucan/processor_gnss_2.yaml b/yaml/tucan/processor_gnss_2.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0af73990647fbfdbcc5d9239ea7b20f7a3f13fe7 --- /dev/null +++ b/yaml/tucan/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/tucan/processor_gnss_3.yaml b/yaml/tucan/processor_gnss_3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0483aece09c007f8c00054a87ac1fa3cf658ebc4 --- /dev/null +++ b/yaml/tucan/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/tucan/processor_gnss_4.yaml b/yaml/tucan/processor_gnss_4.yaml new file mode 100644 index 0000000000000000000000000000000000000000..25c554acbc4d6c7f11caaedaa26a639e3dbf58a7 --- /dev/null +++ b/yaml/tucan/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/tucan/solver.yaml b/yaml/tucan/solver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1c191d025b51fbea8fcd31cd5d2cac3e532ef5b6 --- /dev/null +++ b/yaml/tucan/solver.yaml @@ -0,0 +1,16 @@ +verbose: 0 +period: 0.0 +n_threads: 2 + +compute_cov: true +cov_enum: 4 #GAUSS_TUCAN +cov_period: 1 + +max_num_iterations: 20 +minimizer: "LEVENBERG_MARQUARDT" +update_immediately: false +min_num_iterations: 5 #if update_immediately +function_tolerance: 0.000001 +gradient_tolerance: 0.0000000001 +use_nonmonotonic_steps: false # if LEVENBERG_MARQUARDT or DOGLEG +max_consecutive_nonmonotonic_steps: 5 # if use_nonmonotonic_steps