DRACo-SLAM2 finds inter-robot loop closures for a team of sonar-equipped underwater robots by matching small object maps first and pulling raw scans only after a match. Each robot runs Bruce-SLAM (forward-looking imaging sonar plus dead reckoning), extracts sonar returns with SOCA-CFAR, clusters its point cloud with DBSCAN and describes each cluster as a 2D rectangle: centre, length and breadth. Robots broadcast these object maps. The receiver builds complete graphs weighted by centre distances, solves the matching as a quadratic assignment problem (spectral relaxation, then a linear assignment), and uses the matched objects as the initial guess for ICP on scans it requests from the neighbour. A new outlier filter, group-wise consistent measurement set maximisation (GCM), checks a loop closure with one neighbour against closures with other neighbours, and a two-step pose graph optimisation keeps a neighbour’s drift out of the local estimate.

Findings

  • Message sizes on the real USMMA dataset with three robots and simulated links: object map 1.35 kbit mean, 2.25 kbit max; requested point clouds 9.69 kbit mean, 27.90 kbit max. The ring-key descriptor of the original DRACo-SLAM was 0.13 kbit. All are well under the 62.5 kbps of an EvoLogics HS acoustic modem at 300 m.
  • Graph construction and matching took 5.64 ms mean (32.76 ms max), and ICP with a 3-frame sliding window 12.69 ms mean (358.45 ms max). The Go-ICP global registration in DRACo-SLAM took 361.83 ms mean (2556.38 ms max), so registration is about 20 times faster.
  • Per timestep, loop-closure detection took 1.55 s against 10.11 s while running 122 registrations against 28. The authors call this tenfold; the table ratio is about 6.5.
  • Absolute trajectory error on two simulated three-robot datasets (HoloOcean: the USMMA waterfront with floating docks and pier pilings, and an aircraft wreck on the seafloor): two-step optimisation with GCM gave 0.95 to 1.43 m, against 1.32 to 2.43 m with PCM. Full pose graph optimisation gave 1.24 to 1.91 m with either filter.
  • A loop closure counts as correct within 1.5 m and 15 degrees; only scan pairs with overlap ratio above 0.9 are accepted.
  • Real data come from a BlueROV2-Heavy with an Oculus M750d imaging sonar, a Rowe SeaPilot DVL and a VectorNav VN100 IMU.

Limits

  • Communication is simulated: sessions were recorded separately and replayed together on one computer (Xeon E-2276M). The paper reports message sizes but not packet loss, delay or range effects.
  • All robots stay at one fixed depth, and the estimation is 3 degrees of freedom (x, y, yaw).
  • Objects carry no class. Matching uses rectangle sizes and distances only, so repeating structures such as the round pier pilings at USMMA produce consistent-looking wrong closures; GCM is aimed at this case.
  • Matching needs more than three object pairs and more than four RANSAC inliers, so a seabed with few distinct objects offers little to match.
  • No ground truth for the real dataset; the result is shown against satellite imagery.
  • The authors admit the two-step optimisation limits how much a neighbour’s improved estimate helps the local robot.

Relevance

Robots exchange a compact summary and fetch raw scans only after a match, which keeps inter-robot loop closure inside a 62.5 kbps link. GCM assumes honest teammates whose errors come from perceptual aliasing. What happens when a teammate’s map is stale or wrong on purpose is open, and feeds robust robotics and robust estimation; see collaborative SLAM and underwater perception.