cartographer-project / cartographer_ros

Provides ROS integration for Cartographer.
Apache License 2.0
1.66k stars 1.21k forks source link

test Cartographer using VLP-16 #534

Closed Vincent1923 closed 7 years ago

Vincent1923 commented 7 years ago

Hello! I have a VLP-16 - Velodyne LiDAR (3d LiDAR) that publish a pointCloud2 /velodyne_points msg and a IMU that publish a /imu. I tested cartographer ROS using the VLP-16 and IMU. I have tried with backpack_2d.launch and backpack_3d.launch but I got no results, even modifying configuration files.

The configuration files , launch file and urdf file is here

and the bag file is here

Could you help me or give some hint? Thank you!

SirVer commented 7 years ago

See #259 for an example of a user that ran with exactly your setup. You very likely require a URDF with the correct frame names, a launch file and a Lua configuration based on the backpack_3d.(lua|launch) example.

These are the configuration files that worked for the user. The issue is a bit older, so you should start from our files and modify them instead of just trying to copy these.

Closing as this is a configuration issue with ROS, not really about Cartographer. Let us know if you require further help with getting everything up and running. If you do, please post console output and which commands you are running exactly.

Vincent1923 commented 7 years ago

Thank you for your answer. @SirVer

I modify the configuration file vlp16-imu.lua based on the backpack_3d.lua. When i used the configuration files above, I still got no results. This is the command i am using roslaunch cartographer_ros demo_vlp16-imu.launch bag_filename:=${HOME}/Downloads/2017-09-19-22-43-47.bag

I notice on the terminal , it always print out below info. [ WARN] [1507879490.777160123, 1505832227.866026963]: W1013 15:24:50.000000 19414 tf_bridge.cc:51] "velodyne" passed to lookupTransform argument source_frame does not exist. [ WARN] [1507879490.878793168, 1505832228.067701211]: W1013 15:24:50.000000 19414 tf_bridge.cc:51] "map" passed to lookupTransform argument source_frame does not exist. [ WARN] [1507879490.979101294, 1505832228.269079565]: W1013 15:24:50.000000 19414 tf_bridge.cc:51] "map" passed to lookupTransform argument source_frame does not exist. [ WARN] [1507879491.079256849, 1505832228.470381876]: W1013 15:24:51.000000 19414 tf_bridge.cc:51] "map" passed to lookupTransform argument source_frame does not exist. [ WARN] [1507879491.180201438, 1505832228.671760748]: W1013 15:24:51.000000 19414 tf_bridge.cc:51] "map" passed to lookupTransform argument source_frame does not exist.

Are my configuration files still wrong? These are the files i am using.

Thank you!

SirVer commented 7 years ago

This line is still wrong:

https://gist.github.com/Vincent1923/9b4dd8bbfd9301dd408e89f6e21cead7#file-vlp16-imu-lua-L40

Try putting there 1 or 2 - the velodyne driver always outputs full revolutions instead of individual UDP packets worth of points. Did this fix it?

Vincent1923 commented 7 years ago

Putting there 1 or 2 still can not fix this problem.

SirVer commented 7 years ago

Running our new validator tool on your bag gives:

$ rosrun cartographer_ros cartographer_rosbag_validate -bag_filename ~/Downloads/2017-09-19-22-43-47.bag
I1013 14:45:53.088878 118386 rosbag_validate_main.cc:111] Time delta histogram for consecutive messages on topic "/imu" (frame_id: "map"):
Count: 3046  Min: 0.015220  Max: 0.117025  Mean: 0.044480
[0.015220, 0.025401)                            Count: 1 (0.032830%)    Total: 1 (0.032830%)
[0.025401, 0.035581)                            Count: 1 (0.032830%)    Total: 2 (0.065660%)
[0.035581, 0.045762)     ###################    Count: 2923 (95.961914%)        Total: 2925 (96.027580%)
[0.045762, 0.055942)                            Count: 20 (0.656599%)   Total: 2945 (96.684174%)
[0.055942, 0.066123)                            Count: 0 (0.000000%)    Total: 2945 (96.684174%)
[0.066123, 0.076303)                            Count: 0 (0.000000%)    Total: 2945 (96.684174%)
[0.076303, 0.086483)                            Count: 75 (2.462245%)   Total: 3020 (99.146423%)
[0.086483, 0.096664)                            Count: 25 (0.820749%)   Total: 3045 (99.967171%)
[0.096664, 0.106844)                            Count: 0 (0.000000%)    Total: 3045 (99.967171%)
[0.106844, 0.117025]                            Count: 1 (0.032830%)    Total: 3046 (100.000000%)
I1013 14:45:53.089287 118386 rosbag_validate_main.cc:111] Time delta histogram for consecutive messages on topic "/velodyne_points" (frame_id: "velodyne"):
Count: 1343  Min: 0.099314  Max: 0.102361  Mean: 0.100871
[0.099314, 0.099619)                            Count: 1 (0.074460%)    Total: 1 (0.074460%)
[0.099619, 0.099923)                            Count: 0 (0.000000%)    Total: 1 (0.074460%)
[0.099923, 0.100228)                            Count: 1 (0.074460%)    Total: 2 (0.148920%)
[0.100228, 0.100533)                            Count: 1 (0.074460%)    Total: 3 (0.223380%)
[0.100533, 0.100837)                 #######    Count: 441 (32.836933%) Total: 444 (33.060314%)
[0.100837, 0.101142)           #############    Count: 891 (66.344009%) Total: 1335 (99.404320%)
[0.101142, 0.101447)                            Count: 5 (0.372301%)    Total: 1340 (99.776619%)
[0.101447, 0.101752)                            Count: 2 (0.148920%)    Total: 1342 (99.925537%)
[0.101752, 0.102056)                            Count: 0 (0.000000%)    Total: 1342 (99.925537%)
[0.102056, 0.102361]                            Count: 1 (0.074460%)    Total: 1343 (100.000000%)

This shows that your IMU messages are published in the map frame: "/imu" (frame_id: "map"). That should probably be "imu_link".

Vincent1923 commented 7 years ago

Thank you! @SirVer But I still do not understand what it means. Is that means I have to change the 'imu_link' in the file vlp16-imu.urdf? Or is that the frame id name "map" is wrong in my bag?

SirVer commented 7 years ago

Or is that the frame id name "map" is wrong in my bag?

This is wrong, map is by convention an unchanging frame that all other frames are relative too. You should read REP 105 and probably do a ROS tutorial or two.

Vincent1923 commented 7 years ago

OK. I will read this and do some ROS tutorials later. If I still have problems, can I ask you again. Thank you very much! @SirVer

Vincent1923 commented 7 years ago

I still don't understand the problem with the frame id. Is the frame id wrong when I record the bag file? @SirVer

SirVer commented 7 years ago

Yes, that is the case.

Vincent1923 commented 7 years ago

Thank you very much! I will try to change the frame id and have a try again.

donrv commented 6 years ago

Hi @Vincent1923, could you solve your problem? I have a setup consisting two VLP16 scanners. I am not able to tune proper parameters for my setup too. Below are the links for bag file and urdf: Bag file: https://drive.google.com/file/d/19F1FkYd47ycefaxcSpYByEo8Q8p8jpx1/view?usp=sharing URDF: https://gist.github.com/GeoBIMpro/ca1f0d5a29ad8a983ef13dd022c61746

Can someone help tuning my setup?

Thanks, Vasanth

gaschler commented 6 years ago

@GeoBIMpro Please open a separate issue, thanks.

Rolanding commented 6 years ago

@Vincent1923 have you sloved the problem?

Rolanding commented 6 years ago

@Vincent1923 I have the same problem, and I changed my frame_id and topic ,but still can't solve it. Look forward to your reply. Thanks a lot.

SnowCarter commented 6 years ago

In my case, there is no map frame careted. No warning appears. The launch and lua urdf files are writed by referencing backpack_3d.launch lua urdf files. I don't know the reason.

Duke-Allen commented 5 years ago

@Vincent1923 @gaschler @SirVer Hello, I am using a 16-lines LIDAR and IMU to build 3D map by cartographer. I tun the parameters and run it with no error, the results are as follows: 2019-02-27 21-56-15 2019-02-27 21-56-43

There is a big gap with the real environment. I think the map is messy. What is the problem of this result? How can I solve it? This is the validate result of my bag:

2019-02-27 22-16-52

Here are my files: demo_rsldiar_3d.launch rslidar_3d.launch mydemo_3d.rviz rslidar_2d.urdf rslidar_scan_3d.lua my data bag Do you know the problem?