cartographer-project / cartographer_ros

Provides ROS integration for Cartographer.
Apache License 2.0
1.64k stars 1.2k forks source link

Tuning cartographer for my bagfile. #1411

Open TheCynosure opened 4 years ago

TheCynosure commented 4 years ago

Here is the output of cartographer_rosbag_validate.

We know about the double publishing of topics and are not concerned as we are going through some changes in the current robot right now (this is intended).

This is the link to the relevant fork to run the bag file. The urdf and configuration files are named my_robot and the launch file is named demo_my_robot.

Here is the bag file that I am using.

I have tried multiple different approaches for tuning this bag file but your software out of the box gets it very close to ground truth! I have tried adjusting both the rotation and translation weights but both seem to have a negative impact on the output. I just need to know if you (the developers) have any tips to get it that extra little percent to be perfect. Here is an image of what it looks like right now.

Picture

The problem is that the hallway on the bottom left isn't lining up perfectly (we loop around and revisit it at the end of our trajectory). It could be a matter of getting it to recognize that it has been there before and having one more loop closure constraint, but I'm not sure.

eithwa commented 3 years ago

image I think these are not helpful, so I disable them

--TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight = 1
--TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight = 1

Then add these

POSE_GRAPH.optimize_every_n_nodes = 25
POSE_GRAPH.optimization_problem.odometry_rotation_weight = 0.3
POSE_GRAPH.optimization_problem.odometry_translation_weight = 0.3
POSE_GRAPH.constraint_builder.min_score = 0.5