cartographer-project / cartographer_ros

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

Cartographer not generating submap although getting sensor data #846

Closed ekow-mensah closed 6 years ago

ekow-mensah commented 6 years ago

Hi, I am a master's student at the University of Loughborough and I am trying to implement online 2D SLAM using the VLP-16 LiDAR. The cartographer node subscribes to the /scan topic produced by the LiDAR which is responsible for publishing the sensor data, however, the sub-map does not build. The images below show my launch and configuration files respectively. I will really appreciate some help as to why the sub-map is not being constructed. Thank you very much

test launch

testslam lua

Entropy512 commented 6 years ago

The fact that the VLP-16 slice that its laserscan topic is generated from is not actually at 0 degrees elevation might be enough to cause a data quality issue.

Is there a reason you're doing 2D with a VLP-16 instead of 3D?

ekow-mensah commented 6 years ago

no reason in particular. Since I am new to SLAM and Cartographer as a whole, I thought it will be easier to implement 2D first and then 3D after successfully implementing 2D.

gaschler commented 6 years ago

implement 2D first and then 3D after successfully implementing 2D.

Agree, this is often easier because you don't need IMU extrinsic calibration for 2D.

why the sub-map is not being constructed

Please post text instead of screenshots or ideally fork cartographer_ros and upload config files so people can see the diff. The two screenshots do not indicate anything. Please post at least test_slam.lua, the terminal logs of the node, and explain what data arrives rviz.

ekow-mensah commented 6 years ago

I am sorry for the late reply I did not have access to the lab I am working in over the weekend. I have created the fork of the google cartographer project. The link is down below: https://github.com/ekow-mensah/cartographer_ros

I have also uploaded the test.launch and testslam.lua files. I will post the terminal logs of the node and an explanation of what data arrives very soon.

ekow-mensah commented 6 years ago

I found a potential solution to the problem in this issue https://github.com/googlecartographer/cartographer_ros/issues/623 and I made the changes to the test.launch, test_slam.lua files accordingly. I also made a new file called vlp16.urdf but now I have a new error. lua_parameter_dictionary.cc:399] Check failed: HasKey(key) Key 'use_nav_sat' not in dictionary.

More details on this error can be found in the attached log file. cartographer_node.log

I found this use_nav_sat key in the trajectory options file in the cartographer_ros_msgs. I don't really understand what nav_sat is but how do I configure cartographer to use / not use this option?

kdaun commented 6 years ago

lua_parameter_dictionary.cc:399] Check failed: HasKey(key) Key 'use_nav_sat' not in dictionary.

states that the option "use_nav_sat" is missing in your configuration file. If you do not want to use a navsat link add use_nav_sat = false, to your configuration file. You can use backpack_2d.lua as reference.

ekow-mensah commented 6 years ago

Thank you all for your advice and help it's all working now. I will close this issue now.

daiencan commented 6 years ago

@gaschler Hi, I am a master's student at the University of Cqupt and I am trying to implement 3D SLAM using the RSLiDAR-16. The cartographer node subscribes to the /rslidar_points topic , /imu topic and /odom topic. however, the sub-map does not build. There is no error or warning in the terminal. I will really appreciate some help as to why the sub-map is not being constructed. Thank you very much

kingcheng2000 commented 4 years ago

@gaschler Hi, I am a master's student at the University of Cqupt and I am trying to implement 3D SLAM using the RSLiDAR-16. The cartographer node subscribes to the /rslidar_points topic , /imu topic and /odom topic. however, the sub-map does not build. There is no error or warning in the terminal. I will really appreciate some help as to why the sub-map is not being constructed. Thank you very much

Did you get your issue fixed ?