Swarm robotics is an approach to coordinating a highly redundant group of robots. A robot swarm is an autonomous entity that acts in a self‐organized way: the complexity of its collective behaviors is the result of the local interactions between the individual robots. A robot swarm neither has a leader nor any other centralized entity that is responsible for its coordination. Self‐organization, high redundancy, and the lack of single points of failure promote fault tolerance, scalability, and flexibility. These are desired properties for systems deemed to successfully function in the real world. However, these properties also pose a challenging engineering problem: the behavior of the individual robot cannot be conceived individually: it must be conceived by considering the collective behavior that it produces when executed by a large number of robots. Designing the robot–robot and the robot–environment interactions that would result in the desired collective behavior is a difficult endeavor. Research toward the definition of an engineering methodology for designing, analyzing, and maintaining robot swarms is currently ongoing. In this article, we present swarm robotics from an engineering perspective: we describe works that contribute to the advancement of swarm robotics as an engineering field and to its forthcoming uptake in real‐world applications.