Distributed Spatial Awareness for Robot Swarms