A self-adaptive landmark-based aggregation method for robot swarms