In many multi-robot tasks, it is advantageous for robots to assemble into formations. In many of these applications, it is useful for the robots to have differing capabilities (i.e., be heterogeneous) in terms of perception and locomotion abilities. In real world settings, groups of robots may also have only imperfect or partially-known information about one another as well. Together, heterogeneity and imperfect knowledge provide significant challenges to creating and maintaining formations. This paper describes a method for formation control that allows heterogeneous robots with limited information (no known population size, shared coordinates, or predefined relationships) to dynamically assemble into formation, merge smaller formations together, and correct errors that may arise in the formation. Using a simulation, we have shown our approach to be scalable and robust against robot failure.