diff --git a/launch/imu2d_gravity_demo.launch b/launch/imu2d_gravity_demo.launch index 848352beb6a453e1d56ff36cb7fbb0c753f1cc27..ad52a4e6336e17a27b7242b0e5ad2e18e9da9676 100644 --- a/launch/imu2d_gravity_demo.launch +++ b/launch/imu2d_gravity_demo.launch @@ -37,7 +37,7 @@ <node pkg="rosbag" type="play" name="player" - args="-s $(arg sec) -r $(arg speed) -k --clock $(find wolf_demo_imu2d)/bag/Sloped/$(arg bag).bag"/> + args="-s $(arg sec) -r $(arg speed) -k --clock $(find wolf_demo_imu2d)/bag/$(arg bag).bag"/> <node type="rviz" name="rviz" diff --git a/rviz/imu2d_demo.rviz b/rviz/imu2d_demo.rviz index 921254e521956da2cbd5c00ed0a0425943f34de3..2de424efb9ccad0b5ad0d1e4a26f0fb3bd33e140 100644 --- a/rviz/imu2d_demo.rviz +++ b/rviz/imu2d_demo.rviz @@ -249,7 +249,7 @@ Visualization Manager: Color: 250; 84; 255 Color Transformer: FlatColor Decay Time: 100 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Min Color: 0; 0; 0 @@ -264,7 +264,7 @@ Visualization Manager: Unreliable: false Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Class: rviz/MarkerArray Enabled: false Marker Topic: /wolf_ros_node/graph_landmarks @@ -278,10 +278,14 @@ Visualization Manager: Marker Topic: /wolf_ros_node/graph_factors Name: Factors Namespaces: + factors_processorimu2dmicro: true factors_processorodom2d: true factors_processorodomicp: true + factors_text_processorimu2dmicro: false factors_text_processorodom2d: false factors_text_processorodomicp: false + factors_text_unnamed_processor: false + factors_unnamed_processor: true Queue Size: 100 Value: true - Class: rviz/MarkerArray @@ -289,8 +293,8 @@ Visualization Manager: Marker Topic: /wolf_ros_node/graph_trajectory Name: Trajectory Namespaces: - frames: true - frames_text: true + frames: false + frames_text: false Queue Size: 100 Value: true - Class: rviz/Axes @@ -382,9 +386,9 @@ Visualization Manager: Swap Stereo Eyes: false Value: false Focal Point: - X: 0.7309823632240295 - Y: -0.0005876626819372177 - Z: 1.5242977142333984 + X: 5.9762163162231445 + Y: 1.321905493736267 + Z: -1.1534262895584106 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: false diff --git a/yaml/Gravity/csm.yaml b/yaml/Gravity/csm.yaml index 59f62f628e15cb484f40d3b0ce50b404dfdd317d..2dd8f8680123cbf977c7bd7defcb0c65dd1d33f5 100644 --- a/yaml/Gravity/csm.yaml +++ b/yaml/Gravity/csm.yaml @@ -1,35 +1,45 @@ -max_iterations: 50 -max_correspondence_dist: 10 -use_corr_tricks: 1 -outliers_maxPerc: 0.9 -use_point_to_line_distance: 1 -outliers_adaptive_order: 0.7 -outliers_adaptive_mult: 1.5 -do_compute_covariance: 1 - -max_angular_correction_deg: 10 -max_linear_correction: 1 -epsilon_xy: 0 -epsilon_theta: 0 -sigma: 0.2 -restart: 0 -restart_threshold_mean_error: 0 -restart_dt: 0 -restart_dtheta: 0 -clustering_threshold: 0 -orientation_neighbourhood: 0 -do_alpha_test: 0 -do_alpha_test_thresholdDeg: 0 -do_visibility_test: 0 -outliers_remove_doubles: 0 -debug_verify_tricks: 0 -gpm_theta_bin_size_deg: 0 -gpm_extend_range_deg: 0 -gpm_interval: 0 -min_reading: 0.023 -max_reading: 60 -use_ml_weights: 0 -use_sigma_weights: 0 - - -cov_factor: 1 +verbose: false # prints debug messages + +# ALGORITHM OPTIONS +use_point_to_line_distance: true # use PlICP (true) or use vanilla ICP (false). +max_angular_correction_deg: 180 # Maximum angular displacement between scans (deg) +max_linear_correction: 10 # Maximum translation between scans (m) + +max_correspondence_dist: 0.5 # Maximum distance for a correspondence to be valid +use_corr_tricks: true # Use smart tricks for finding correspondences. Only influences speed; not convergence. +debug_verify_tricks: false # Checks that find_correspondences_tricks give the right answer + +# STOP CRITERIA +max_iterations: 50 # maximum iterations +epsilon_xy: 1e-4 # distance change +epsilon_theta: 1e-3 # angle change + +# RESTART +restart: false # Restart algorithm +restart_threshold_mean_error: 0 # Threshold for restarting +restart_dt: 0 # Displacement for restarting +restart_dtheta: 0 # Displacement for restarting + +# DISCARDING POINTS/CORRESPONDENCES +min_reading: 0.023 # discard rays outside of this interval +max_reading: 60 # discard rays outside of this interval +outliers_maxPerc: 0.9 # Percentage of correspondences to consider: if 0.9, always discard the top 10% of correspondences with more error +outliers_adaptive_order: 0.7 # Parameters describing a simple adaptive algorithm for discarding +outliers_adaptive_mult: 1.5 # Parameters describing a simple adaptive algorithm for discarding +outliers_remove_doubles: false # Do not allow two different correspondences to share a point +do_visibility_test: false # If initial guess, visibility test can discard points that are not visible +do_alpha_test: false # Discard correspondences based on the angles +do_alpha_test_thresholdDeg: 10 # + +# POINT ORIENTATION +clustering_threshold: 0.5 # Max-distance clustering for point orientation +orientation_neighbourhood: 4 # Number of neighbour rays used to estimate the orientation + +# WEIGHTS +use_ml_weights: false # weight the impact of each correspondence. This works fabolously if the first scan has no noise. +use_sigma_weights: false # If the field "readings_sigma" is used to weight the correspondence by 1/sigma^2 +sigma: 0.2 # Noise of the scan + +# COVARIANCE +do_compute_covariance: true +cov_factor: 5 # Factor multiplying the cov output of csm diff --git a/yaml/Gravity/imu2d_gravity_test1.yaml b/yaml/Gravity/imu2d_gravity_test1.yaml index b6509469d423dc8ecf4e97f8fc9216c81250927d..88af1787910a2c1537bc31ceb8ca8320b1b5b16e 100644 --- a/yaml/Gravity/imu2d_gravity_test1.yaml +++ b/yaml/Gravity/imu2d_gravity_test1.yaml @@ -1,9 +1,13 @@ config: debug: profiling: true - profiling_file: "~/wolf_demo_profiling_imu2d_test1.txt" + profiling_file: "~/wolf_demo_profiling_imu2d_test1_gravity.txt" print_problem: false - print_period: 5 + print_period: 2 + print_depth: 4 + print_constr_by: false + print_metric: true + print_state_blocks: true problem: tree_manager: type: "none" @@ -16,18 +20,13 @@ config: O: [0] V: [0,0] time_tolerance: 0.1 + node_rate: 100 map: - type: "MapGrid2dGravity" - plugin: "imu" - resolution: 4 + type: "MapBase" + plugin: "core" solver: - max_num_iterations: 100 - verbose: 0 - period: 0 - update_immediately: false - n_threads: 2 - compute_cov: false + follow: "../solver.yaml" sensors: - diff --git a/yaml/Gravity/test_imu_processor.yaml b/yaml/Gravity/test_imu_processor.yaml index 3ea39004a54e1051b0d791ec931992eaa5a499af..6e0ef2737d4ff6289e6d2d189d87508ee7b0ac60 100644 --- a/yaml/Gravity/test_imu_processor.yaml +++ b/yaml/Gravity/test_imu_processor.yaml @@ -10,3 +10,4 @@ keyframe_vote: state_getter: true state_priority: 1 apply_loss_function: false +use_gravity_grid: false diff --git a/yaml/Gravity/test_imu_subscriber.yaml b/yaml/Gravity/test_imu_subscriber.yaml index 0a77d7c3e92e6afd7babda98e5cb615db9b4bfd1..01519126b65d517fd2e32ab31ef7229622c9c6ce 100644 --- a/yaml/Gravity/test_imu_subscriber.yaml +++ b/yaml/Gravity/test_imu_subscriber.yaml @@ -15,6 +15,6 @@ in_degrees: false #all topic_enable: "/helena/sensors/bno055_imu/imu/topic_enable" -static_init_duration: 5 +static_init_duration: 1 lowpass_filter: true lowpass_cutoff_freq: 5 diff --git a/yaml/Gravity/test_laser_processor.yaml b/yaml/Gravity/test_laser_processor.yaml index 06847e9355446b14a201ee058fd0c5617f027897..ae63e5c449a9c38b02edfae415b5aab12d67e98b 100644 --- a/yaml/Gravity/test_laser_processor.yaml +++ b/yaml/Gravity/test_laser_processor.yaml @@ -7,9 +7,10 @@ keyframe_vote: min_error: 999 max_points: 0 max_new_features: 15 -follow: "csm.yaml" +icp: + follow: "csm.yaml" time_tolerance: 0.05 #Half the sample time -state_getter: false +state_getter: true state_priority: 10 apply_loss_function: false initial_guess: "state" diff --git a/yaml/test_imu_params.yaml b/yaml/test_imu_params.yaml index 70f8799fa9290a55fc126a629ce3f728f10c1cde..9a08c32fa9b924502494ba43f614840a368e10f5 100644 --- a/yaml/test_imu_params.yaml +++ b/yaml/test_imu_params.yaml @@ -17,4 +17,4 @@ ab_initial_stdev: 0.5 # m/s2 - initial bias wb_initial_stdev: 0.1 # rad/sec - initial bias ab_rate_stdev: 0.0001 # m/s2/sqrt(s) wb_rate_stdev: 0.0001 # rad/s/sqrt(s) -orthogonal_gravity: true +orthogonal_gravity: false