dynamic_robot_localization icon indicating copy to clipboard operation
dynamic_robot_localization copied to clipboard

localization result unstable

Open ZOUJIASHUAI opened this issue 3 years ago • 1 comments

ZOUJIASHUAI avatar Feb 22 '22 01:02 ZOUJIASHUAI

Hello :)

I am sorry, I only noticed this issue now.

Unstable localization usually happens due to:

  • Odometry with low accuracy, drift or sudden jumps
    • Suggestion: recalibrate odometry or try without odometry, with a static tf between odom and base_footprint
  • Map with filled walls which causes the matching algorithm to match inside the walls
    • Suggestion: edit the map (in gimp or using opencv) and ensure that the walls are composed of a single pixel layer, one for each side of the wall | alternatively, increase the voxel grid size used in drl for the map and eventually, the sensor data in the filters yaml (after changing the yaml, reload drl and check the parameter server to ensure that the values changed and check the drl reference point cloud in rviz). This will likely reduce the localization accuracy, but it will increase its stability
      • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/launch/dynamic_robot_localization_system.launch#L26
      • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/yaml/configs/filters/filters_large_map_2d.yaml#L5
      • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/yaml/configs/filters/filters_large_map_2d.yaml#L16
      • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/yaml/schema/drl_configs.yaml#L86

For filtering the drl pose, the use_ukf_filtering can be enabled, but the result is highly dependent on the covariance estimation and configuration of the kalman filter.

  • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/launch/dynamic_robot_localization_system.launch#L20
  • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/yaml/configs/covariance_estimation/covariance_estimation.yaml
  • https://github.com/carlosmccosta/dynamic_robot_localization/blob/noetic-devel/launch/ukf.launch
  • https://github.com/cra-ros-pkg/robot_localization

Have a nice day,

carlosmccosta avatar May 12 '22 15:05 carlosmccosta