0
$\begingroup$

Rosanswers logo

Hi All, I am trying to use ndt matching algorithm of Autoware (ROS kinetic) to localize based on LIDAR sensor modeled in a simulator but the fitness score is very high and keeps on increasing as GNSS data is not being used. I have observed that there is no position offset detected by the ndt algorithm after processing the initial sensor messages.

Both the PCD map and sensor data messages are in the world coordinates of the simulator so I set the arguments of "world_to_map" tf publisher as all zeros. The initial position is set through ndt_matching app to x,y,z = -329.4, -363.6, 0 respectively. The arguments of baselink to localizer in the setup tab are 3,0,1.3,0,0,0 respectively.

I am also facing an error "Message removed because it is too old (frame=[/map], stamp=[xx.xx])" while trying to visualize ' /ndt_pose' on RViz.

I have created and down-sampled a PCD map through ndt mapping and made a ROSbag for PointCloud2 messages which can be found on: https://1drv.ms/u/s!AmynL2vYiUV_gcNNjknqzbi5WuDUVA?e=4xxTFD

I would be grateful if you can test this rosbag and guide me what I am doing wrong.

Thanks


Originally posted by Usman_j on ROS Answers with karma: 11 on 2019-07-08

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I checked your rosbag and noticed that there are two mistakes.

  1. points_raw is made of the world frame

Set /points_raw/header/frame_id to "velodyne" and convert pointcloud to sensor coordinate system.

  1. The time stamp of points_raw does not match ros time

Please compare the following two.

$ rostopic echo /points_raw/header/stamp

$ rostopic echo /clock

It is correct that this value is almost identical. If not, TF can not convert correctly.

Please set /points_raw/header/stamp with ros::Time::now() and publish.


Originally posted by Yamato Ando with karma: 231 on 2019-07-08

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.