Open dorecasan opened 3 years ago
Loop closure does not reduce "uncertainty" (not clear about what exactly you mean by uncertainty). It just reduces the accumulated error by putting extra constraints in the pose graph.
Thanks for your reply sumitsarkar1, The uncertainty i mentioned is the covariance of each pose of the graph. For example, when robot travel from x1,...,xn and have loop closure between x1 and xn. So x1 is put one more constraint. But for others x2,...,xn. Are those nodes affected by this extra constraint? Is this extra constraint affected greatly to our optimization results as we try to detect loop closure? If i misunderstood something, please explain for me. Thank you so much.
Yes....other nodes are effected because its a joint optimisation problem over ALL posses (R,t) and the whole map I guess
For the original question:
eye(6,6)*0.0001
. In practice, we don't have always access to how the covariance is computed, so we can use those parameters for rtabmap node and approximate the drift:~odom_frame_id (string, default: "")
The frame attached to odometry. If empty, rtabmap will subscribe to odom topic to get odometry. If set, odometry is got from tf (in this case, the covariance value is fixed by odom_tf_angular_variance and odom_tf_linear_variance).
~odom_tf_linear_variance (double, default: 0.001)
When odom_frame_id is used, the first 3 values of the diagonal of the 6x6 covariance matrix are set to this value.
~odom_tf_angular_variance (double, default: 0.001)
When odom_frame_id is used, the last 3 values of the diagonal of the 6x6 covariance matrix are set to this value.
Thx @DuaneNielsen for the video link!
Hi,
I know that the graph will be optimized when loop closure occurs, but I still don't understand why loop closure can reduce the uncertainty. Is there any formular that can help me? When optimizing, it need the initial values for each pose, so how you initialize those values in rtabmap? And the last one is that how to calculate the information matrix in each link of graph when I have odometry from encoder or from visual odometry.
Thank you so much