1. A robot comprising: a plurality of modules substantially symmetrically structured; and a recovery unit recovering from a failure generated in one module of the plurality of modules using another modules symmetrically corresponding to the failed module, wherein the recovery unit determines whether the failure can be recovered from and replaces the failed module with a module that is separate from the robot or one of the modules that is already included in the robot and the recovery unit stores data in progress when the recovery unit determines that the failure cannot be recovered from and the robot is not in danger.