Hi,
Steve Lee wrote
Currently, I'm judging that the coordinates are accurate if the map is not distorted.
If you don't have a ground truth, this is often what we do. Another way is to make a loop during mapping, then check how much the robot drifted before the loop closure is detected.
Poses are scaled based on the data you feed it. If input poses are in meters, then the resulting poses will be in meters. If rtabmap is computed visual odometry, the scale will be based on the calibration of the camera and the depth values, which normally would be in meters.
Loop closure rejection happens more often because too underestimated odometry covariance or underestimated loop closure covariance. For other reasons, refer to warning message when it happens. For the graph optimization rejection, you may set RGBD/OptimizeMaxError higher than 3, or even 0 to disable it.
cheers,
Mathieu