Modular self-reconfiguring robots are composed of repeated modules that can rearrange their connections to form different structures and adapt to environments or tasks. They can be homogeneous, with identical modules, or heterogeneous, with different module types. Examples of modular robots include the CKBot chain architecture system, the Atron lattice system, and the M-Tran hybrid system. Modular robots can reconfigure deterministically by direct manipulation or stochastically by random motion and have applications in areas like space exploration, disaster response, and customizable devices.