geometric_verification
The geometric verification node listens for matches in appearance space generated by the place recognition node. It provides the crucial mechanism of confirming whether matches generated in appearance space are physically realizable.Subscribed Topics
appearance_matches (cyphy_vslam_msgs/Match)- List of image matches from the place recognition node
Published Topics
add_loop_closure (slam_backend/AddLoopClosure)- Information required to add a loop closure edge to the SLAM graph
Services Called
image_service (image_cache/GetImage)- Retrieve matched images from the cache
- Retrieve camera parameters from the cache. This is done on node construction.
- If a match passes geometric verification, the verification node constructs a message that is sent to the SLAM backend in order to add a loop closure edge to the graph. The two vertices that lie closest to the existing matched frame is needed to calculate a new interpolated node at which to anchor the edge to the newly processed frame.
Parameters
~base_link_frame_id (string, default: base_link)- The coordinate frame name of the robot base.
- The coordinate frame name of the left stereo camera.
- How far back in the image stream an existing frame needs to be to be considered a valid match. It prevents matches between visually similar local areas (which are not loop closures) from being added to the slam graph. This number (in frame numbers) should be roughly consistent with the size of the smallest loop expected to be encountered by the robot.
- Limit on translation in the x direction for a match to be accepted.
- Limit on translation in the y direction for a match to be accepted.
- Limit on translation in the z direction for a match to be accepted.