a robot cleaner that automatically removes dust accumulated on a floor while navigating a cleaning area , and a method of controlling the robot cleaner , includes a main body that navigates a floor ; a first detector that detects an obstacle getting closer to the main body ; an auxiliary cleaner that is mounted on the main body to protrude and retract ; a second detector that detects a protrusion state or a retraction state of the auxiliary cleaner ; and a controller that determines an abnormal operation of the auxiliary cleaner based on a result of the detection of the second detector and controls a protrusion operation or a retraction operation of the auxiliary cleaner according to a result of the determination .