Closed LvJohny closed 2 years ago
@lvjunning1243015876
I suppose you may have some misunderstanding on accumulate_cloud_num
, this parameter means how many RAW point clouds you want to be merged as 1 point cloud. As you set it to 360 (if I get it right, you are using velodyne and the frequency of point cloud message is 10Hz), then every 36s you will get 1 point cloud to do mapping, which is kind of weird.
I suggest that you try with accumulate_cloud_num
set to 1.
Thanks very much. But when I set accumulate_cloud_num
to 1, it still informs no enough frames for new submap, quit
.
My guess is that you set the wrong frame_id or topic_name for lidar, or the input filter removed most of the points. Could you please share me the rosbag you use so I can also check? (Through google drive or some other cloud drive).
Yes, this is google driver link https://drive.google.com/file/d/1YSiRurMOfZEVrI21AmGO0ZRYU4bCKBvK/view?usp=sharing.
@lvjunning1243015876
I tried with your data but unfortunately I didn't got a good result from it. Regarding your problem, actually the POINT_CLOUD_TOPIC
should be set to /velodyne_points
.
As your use case, I am not very confident if you should use this project. First is that this project is mainly tested with dataset collected by vehicles, so roll and pitch angle are always changing slowly. As far as I know, UAV senario is not friendly to Lidar SLAM becuase the high angle velocity will cause large distortion on raw point cloud which is really hard for motion compensation. For that, I also tested with imu data in your rosbag. The result is still a little bit disappointing. Secondly, your raw data shows really little difference in time. See images below. This is like a hallway problem. Wrong match happens a lot.
My suggestion (if you are still interested in this project):
Still, I will keep investigating with your data. :blush:
Thank you for your patience and suggestions very much. And I will try other way to map.
Dear Liu. Thanks for your nice work. I meet some problems. And there is only a empty
path.csv
in folderpcd
after processing. Data is collected by uav. And I have setaccumulate_cloud_num
to360
. Running result is below.[ map_builder.cc: 716 ] [INFO] Finishing Remaining Computations...
[ map_builder.cc: 396 ] [INFO] point cloud thread exit.
[ map_builder.cc: 665 ] [INFO] no enough frames for new submap, quit
[ map_builder.cc: 712 ] [INFO] submap processing done.
[ map_builder.cc: 566 ] [INFO] All submaps have been connected.
[ map_builder.cc: 616 ] [INFO] generating path files ...
[ memory_manager.cc: 62 ] [INFO] End managing memory.
more
./mapping_lidar_only.sh [ static_mapping_node.cpp: 112 ] [INFO] Get point cloud from ROS topic: velodyne_points [ static_mapping_node.cpp: 126 ] [WARNING] No imu topic, expect no imu messages. [ static_mapping_node.cpp: 146 ] [WARNING] No odom data accessed! [ static_mapping_node.cpp: 161 ] [WARNING] No GPS data accessed! [ map_builder.cc: 152 ] [INFO] Got tf : tracking -> lidar translation : (0.04, -0.02, 0.3) rotation : (0, -0, 0) [ map_builder_options.cc: 103 ] [INFO] Load configurations from file: ./config/lidar_only.xml
configs from file
[ map_builder.cc: 63 ] [INFO] Init scan matchers. dist_outlier_ratio -> 0.7 knn_normal_estimate -> 7 max_iteration -> 100 [ map_builder.cc: 76 ] [INFO] Init isam optimizer. [ map_builder.cc: 218 ] [INFO] Add a new trajectory : 0 [ map_builder.cc: 102 ] [INFO] Init threads. [ map_builder.cc: 111 ] [INFO] Init finished. [ map_builder.cc: 783 ] [INFO] disable odom. [ map_builder.cc: 792 ] [INFO] disable gps. [ memory_manager.cc: 53 ] [INFO] Start managing memory. processed 8.042402 of 746.962851 seconds of the bag... ... processed 741.131710 of 746.962851 seconds of the bag... [ map_builder.cc: 716 ] [INFO] Finishing Remaining Computations... [ map_builder.cc: 396 ] [INFO] point cloud thread exit. [ map_builder.cc: 665 ] [INFO] no enough frames for new submap, quit [ map_builder.cc: 712 ] [INFO] submap processing done. [ map_builder.cc: 566 ] [INFO] All submaps have been connected. [ map_builder.cc: 616 ] [INFO] generating path files ... [ memory_manager.cc: 62 ] [INFO] End managing memory. block name | times | avg.(ms) | sum.(ms) | min.(ms) | max.(ms) main | 1 | 177011 | 177011 | 177011 | 177011