Skip to content

ICP covariance calculation failure.  #51

@nethdeco

Description

@nethdeco

Hi, thank you publicly sharing your work.

I have tested your default data sets and they have been working fine. Then I have been trying to integrate the system with one of our robots which is a 2 wheel differential driven robot with two casters with a Velodyne VLP-16 and an IMU running at 20Hz. We were testing in a warehouse which is a n50m X 30m environment.

But this time I get an error ""Failed to find eigen values when computing ICP covariance. " which seems the localization is failing. Is there any pointers to fix this issue.

The rosbag file can be downloaded from here

sensors.yaml file is as follows.

velodyne: name: velodyne parent: arch position: x: -0.17 y: 0.0 z: 0.50 orientation: r: 0.0 p: 0.0 y: 3.14 rate: 10 topic_name: velodyne_points vn100: name: vn100 parent: arch topic_name: imu/data position: x: 0.20 y: 0.00 z: 0.23 orientation: r: 0 p: 0 y: 1.571 rate: 20

localization parameters are as follows.

localization: registration_method: gicp compute_icp_covariance: true icp_covariance_method: 1 icp_max_covariance: 0.01 compute_icp_observability: false tf_epsilon: 0.00001 corr_dist: 0.5 iterations: 25 transform_thresholding: true max_translation: 1.0 max_rotation: 1.0 enable_timing_output: false normal_search_radius: 10 recompute_covariance_local_map: false recompute_covariance_scan: false

robot description

<xacro:include filename="$(find sensor_description)/urdf/sensors/VLP-16.urdf.xacro" />

<xacro:VLP-16
parent="${sensor_props['velodyne']['parent']}"
name="${sensor_props['velodyne']['name']}"
topic="${sensor_props['velodyne']['topic_name']}"
hz="${sensor_props['velodyne']['rate']}"
samples="440"
noise="0.016"
gpu="true">

</xacro:VLP-16>

<xacro:include filename="$(find sensor_description)/urdf/sensors/imu_vn100.urdf.xacro"/>
<xacro:vn100
robot_namespace="$(arg robot_namespace)"
name="${sensor_props['vn100']['name']}"
topic_name="${sensor_props['vn100']['topic_name']}"
hz="${sensor_props['vn100']['rate']}"
parent="imu_link">

</xacro:vn100>

Lo_settings has been updated to match the frames of the datalogs.

`frame_id:
fixed: $(arg robot_namespace)/map
base: $(arg robot_namespace)/base_link
imu: imu_link
bd_odometry: odom
artifacts_in_global: true

frame_conversions:
b_convert_imu_to_base_link_frame: true`

frames
rosgraph-locus

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions