RANSAC (algorithm) is part of some SLAM implementations, you should read into it, as it will be much easier to run just this instead of full fat SLAM.
RANSAC essentially takes a bunch of points (moments where your sonar detects a surface) and tries to find straight line correlations within the set of points.

A possible use of this could be:
-Randomly patrol around, detecting collisions. Store collision points.
-Run ransac on the set of collision point data.
-Begin to determine where the walls of the arena are (by ransac figuring out straight lines, it will also compute corner positions based on line intersections).
-Now, as the fight progresses, your bot will be able to move randomly, but with a bias towards open areas/not corners (avoids house bots). Also, if the robot detects a collision that doesn't match its wall correlations, then perhaps it will attack the point instead of avoid it.

If you plan to use multiple bots, this could work really well, as RANSAC needs a good number of points to provide accurate lines. Each bot could record collision points and share them with the other bots, so they all work towards building the same data set.