Patent Publication Number: US-10307912-B2

Title: Robot cleaner and method for auto-correcting 3D sensor of the robot cleaner

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATION 
     This application is a U.S. National Stage Application under 35 U.S.C. § 371 of PCT Application No. PCT/KR2013/006302, filed Jul. 15, 2013, whose entire disclosure is hereby incorporated by reference. 
     TECHNICAL FIELD 
     The present disclosure relates to a robot cleaner and a method for auto-correcting a 3D sensor of the robot cleaner. 
     BACKGROUND ART 
     In general, a robot has been developed for industry and has taken charge of a portion of factory automation. In recent, a field that applies the robot has been expanded, a medical robot, a space and aircraft robot, etc. have been developed, and a home robot that may be used at general home is also being made. 
     A representative example of the home robot is a robot cleaner, which is a kind of an electronic device that travels by itself on a region and sucks up ambient dust or foreign objects for cleaning. Since the robot cleaner generally includes a chargeable battery and an obstacle sensor that enables the robot cleaner to avoid obstacles while the robot cleaner travels, it is possible to travel by itself and perform cleaning. 
     Techniques for controlling the robot cleaner include using a remote control, a user interface or using a button on the main body of the robot cleaner. 
     In recent, applications using the robot cleaner are being developed. For example, as the development of the robot cleaner having a networking function has been performed, a function is being implemented which enables a cleaning command to be provided remotely or a home situation to be monitored. Also, robot cleaners are being developed which have functions of identifying their positions and making maps by using a camera or various sensors. 
     DISCLOSURE OF THE INVENTION 
     Technical Problem 
     Embodiments provide a robot cleaner or a method of automatically correcting a 3D sensor of the robot cleaner that may perform diagnosis and auto-correction on a 3D sensor in a main body upon initial actuation or according to a user need. 
     Technical Solution 
     In one embodiment, a robot cleaner includes a 3D sensor unit installed on a main body to sense nearby objects and output sensing information; a secondary sensor unit configured to sense nearby objects and output sensing information; a storage unit configured to set a diagnostic algorithm according to a diagnostic mode in advance; an input unit configured to input an execution command for the diagnostic mode; a control unit configured to auto-correct the diagnostic mode for the 3D sensor and a parameter of the 3D sensor unit using the diagnostic algorithm in response to the execution command; and an output unit configured to output an execution result of the diagnostic mode and a correction message. 
     The 3D sensor unit may include a laser module that irradiates a target with a laser pattern, and a camera module that obtains an image including the laser pattern. 
     In another embodiment, a method of automatically correcting a 3D sensor unit of a robot cleaner that includes the 3D sensor unit configured to sense nearby objects and output sensing information and includes a plurality of operation modes includes receiving an execution command for a diagnostic mode among the plurality of operation modes; actuating the 3D sensor unit according to the diagnostic mode when the execution command is received; and using the sensing information output from the 3D sensor unit to diagnose a state of the 3D sensor unit and perform auto-correction. 
     Advantageous Effects 
     Since embodiments of the present disclosure performs diagnosis and auto-correction on a 3D sensor unit upon initial actuation or according to a user need, it is possible to prevent troubles that may occur due to malfunction during cleaning or travel, it is possible to increase the operation efficiency of the robot cleaner, and it is possible to enhance the safety and convenience of a user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a perspective view of the exterior of a robot cleaner according to an embodiment. 
         FIG. 2  is a block diagram of a robot cleaner according to an embodiment. 
         FIG. 3  is a diagram for explaining a camera module in a robot cleaner according to an embodiment. 
         FIG. 4  is a general flowchart of a 3D sensor auto-correction method of a robot cleaner according to an embodiment. 
         FIGS. 5 to 8  are flowcharts of a 3D sensor auto-correction method of a robot cleaner according to an embodiment. 
         FIGS. 9 a  to 9 d    are diagrams that show images obtained by a 3D sensor unit in order to perform a 3D sensor auto-correction method of a robot cleaner according to an embodiment. 
         FIG. 10  is a diagram that shows an image of a recharging base obtained through a camera module after a laser module in a robot cleaner according to an embodiment is powered off. 
         FIGS. 11 a  to 11 c    are diagrams that show images taken while a laser module in a robot cleaner according to an embodiment is powered on, and an image taken while the laser module is powered off, and a laser line image. 
         FIGS. 12 a  to 12 c    are diagrams that show images taken while a laser module in a robot cleaner according to an embodiment is powered on, and an image taken while the laser module is powered off, and a laser line image. 
     
    
    
     MODE FOR CARRYING OUT THE INVENTION 
       FIG. 1  is a perspective view of the exterior of a robot cleaner according to an embodiment, and  FIG. 2  is a block diagram of a robot cleaner according to an embodiment. 
     Referring to  FIGS. 1 and 2 , the robot cleaner according to an embodiment may include a 3D sensor unit  110 , a secondary sensor unit  120 , a control unit  200 , an input unit  300 , an output unit  400 , a storage unit  500 , a power supply unit  600 , an actuating unit  700 , and a cleaning unit  800 . 
     The 3D sensor unit  110  may be installed on a main body  10  of the robot cleaner  10  and sense nearby objects to output 3D sensing information. The secondary sensor unit  120  may be installed on the main body  10  and sense nearby objects to output sensing information. The input unit  300  may receive an execution command for a diagnostic mode on the 3D sensor unit  110 . The control unit  200  may execute a diagnostic mode on the 3D sensor unit  110  by using a diagnostic algorithm according to the execution command, diagnose a state of the 3D sensor unit  110  by using the 3D sensing information, and auto-correct parameters of the 3D sensor unit  110  according to a result of the diagnosis. The output unit  400  may output an execution result of the diagnostic mode or error messages. 
     A control command may be input by a user directly to the robot cleaner through the input unit  300 . Also, a command for outputting one or more of pieces of information stored in the storage unit  500  may be input by the user through the input unit  300 . The input unit  300  may include one or more buttons. For example, the input unit  300  may include a ‘CHECK’ button and a ‘SET’ button. The ‘CHECk’ button inputs a command for checking sensing information, obstacle information, position information, a cleaning region or cleaning map. The ‘SET’ button inputs a command for setting information. The input unit  300  may include a ‘RESET’ button that inputs a command for resetting information, a ‘REMOVE’ button, a ‘START’ button, a ‘STOP’ button, etc. As another example, the input unit  300  may include a button for setting or removing reservation information. Also, the input unit  300  may further include a button that sets or changes a cleaning mode. Also, the input unit  300  may further include a button that obtains a command for restoring to a recharging base. 
     The input unit  300  is a hard key, soft key, touch pad, etc. and may be installed at an upper part of the robot cleaner. Also, the input unit  300  may be in the form of a touch screen along with the output unit  300 . The input unit  300  obtains commands to start, end, stop, cancel, etc. a diagnostic mode for the 3D sensor unit  110 . By pressing one of buttons installed on the robot cleaner, pressing buttons in a way, or pressing a single button for a time, a user may input a command for entering a diagnostic mode. As another example, by generating a control signal by using a remote control, a terminal, etc., a user may input the execution command for a diagnostic mode to the robot cleaner. In this case, the robot cleaner may further include a sensor or communication unit that receives the control signal. Also, the input unit  300  may set or obtain a diagnosis target, style, order, etc. 
     The output unit  400  may be installed at the upper part of the robot cleaner. The installation position or type may vary. For example, the output unit  400  may display reservation information, a battery state, a cleaning style or travel style, such as intensive cleaning, space expansion, zigzag operation, etc. The output unit  400  may output internal state information on the robot cleaner that is detected by the control unit  200 , e.g., the current state of each unit configuring the robot cleaner and the current cleaning state. Also, the output unit  400  may display, on the display, external detection information, obstacle information, position information, a cleaning region, a cleaning map, etc. that are detected by the control unit  200 . The output unit  400  may be formed as one of a light emitting diode (LED), a liquid crystal display (LCD), a plasma display panel, and an organic light emitting diode (OLED). 
     The output unit  400  may further include a sound output unit that outputs, through sound, the execution result of a diagnostic mode for the 3D sensor unit  110 . For example, the output unit  400  may output a warning sound to the outside according to a warning signal. The sound output unit includes a unit that outputs a sound, such as a beeper, speaker, etc. The output unit  400  may output a diagnostic result to the outside by using audio information that is stored in the storage unit  500 . 
     The storage unit  500  stores a diagnostic algorithm that is preset in order to execute the diagnostic mode for the 3D sensor unit  110 . The storage unit  500  may store each diagnostic algorithm according to a diagnostic style for the 3D sensor unit  110  or pre-store all diagnostic algorithms. The storage unit  500  may store audio information for propagating the state of the robot cleaner, or the diagnostic result of the 3D sensor unit  110  to the outside. That is, the storage unit  500  may patternize and pre-store the state of the robot cleaner or the execution result of the diagnostic mode as a form of message data or sound data. The output unit  400  may include a signal processing unit to signal-process audio information stored in the storage unit  500  and output the processed information to the outside through the sound output unit. 
     The storage unit  500  may store a control program that controls (actuates) the robot cleaner, and corresponding data. The storage unit  500  may further store image information, obstacle information, position information, a cleaning region, a cleaning map, etc. in addition to audio information. Also, the storage unit  500  may store a cleaning style or travel style. The storage unit  500  mostly uses a non-volatile memory (NVM). In this example, the NVM or NVRAM is a storage device that maintains stored information even when power is not supplied. The NVM includes a ROM, flash memory, a magnetic computer storage device (e.g., hard disk, disk drive, magnetic tape), optical driver, magnetic RAM, PRAM, etc. 
     The 3D sensor unit  110  may be installed at the front of the robot cleaner to take an image on the front of the robot cleaner that is moving. 
     The 3D sensor unit  110  may transmit the taken front image to the control unit  200 . The control unit  200  converts the image received from the 3D sensor unit  110  into 3D image data to generate the 3D image data in a format. The generated 3D image data is stored in the storage unit  500 . 
     The 3D sensor unit  110  may include a camera module  110   a  and a laser module  110   b . The laser module  110   b  may be installed adjacent to the camera module  110   a . The laser module  110   b  irradiates a front target taken by the camera module  110   a , with a laser line. Thus, an image of the irradiated laser line is also included in an image of the target that is taken by the camera module  110   a . The control unit  200  extracts the laser line image in the image obtained by the camera module  110   a  and determines the target by extracting the characteristic point of the target on a corresponding image. 
       FIG. 3  is a diagram for explaining a camera module in a robot cleaner according to an embodiment. 
     Referring to  FIG. 3 , the camera module  110   a  may include a camera  111 , a lens  112  that is connected to the camera  111  to focus on the target, an adjustment unit  113  that adjusts the camera  111 , and a lens adjustment unit  113  that adjusts the lens  112 . The lens  112  may include a lens having a wide angle of view so that all regions near the camera, e.g., all regions before the camera may be taken at a position. For example, it is possible to include a lens whose angle of view is equal to or wider than an angle of view, e.g., 160□. 
     The 3D sensor unit  110  may sense an object that is present in a direction in which the robot cleaner moves, especially an obstacle and deliver detection information to the control unit  200 . That is, the 3D sensor unit  110  may sense a protrusion, home stuff, furniture, a wall surface, a wall corner, etc. that are present in a path through which the robot cleaner moves, and deliver related information to the control unit  200 . 
     Since the control unit  200  receives a signal or data from the 3D sensor unit  110 , it is possible to diagnose the state of the 3D sensor unit  110 . That is, the control unit  200  may diagnose whether the 3D sensor unit  110  start to take an image or the state of the 3D sensor unit  110  by using image data taken by the 3D sensor unit  110 . 
     The 3D sensor unit  110  may take an image on the front on the move, in which case it may slightly incline toward the floor surface, and obtain an image of the front. For example, the 3D sensor unit  110  may be installed in such a manner the laser module  110   b  is installed on the main body  10  to slightly incline toward the floor surface so that the floor surface of a distance from the robot cleaner, e.g., a 30 cm therefrom is irradiated with a laser beam. 
     When the diagnostic mode for the 3D sensor unit  110  is executed, the control unit  200  compares a laser line image with which the target is irradiated due to the 3D sensor unit  110  irradiated with a laser beam, with a preset reference image, and diagnoses the 3D sensor unit  110  by using a result of the comparison. When in the diagnostic mode, there is a need for parameter auto-correction to the 3D sensor unit  110 , the control unit  200  enables the robot cleaner to move toward a preset target according to an auto-correction algorithm and performs auto-correction on the 3D sensor unit  110  while maintaining a distance from the set target. When performing the diagnosis and auto-correction to the 3D sensor unit  110 , the output unit  400  may output a voice message, such as “Diagnosis for the 3D sensor unit  110  is being performed” or “Auto-correction for the 3D sensor unit  110  is being performed” or display a message on the screen. 
     The secondary sensor unit  120  may include one or more of an external signal sensor, a first obstacle sensor (front sensor), a second obstacle sensor, a cliff sensor, a lower camera sensor, and an upper camera sensor. 
     The external signal sensor senses an external signal. The external signal sensor may include e.g., an infrared ray sensor, an ultrasonic sensor, a radio frequency (RF) sensor. The robot cleaner receives a guide signal generated by a recharging base by using the external signal sensor and checks the position and direction of the recharging base. The recharging base transmits a guide signal that indicates a direction and distance so that the robot cleaner may return. The robot cleaner receives a signal transmitted by the recharging base, determines the current position, sets a movement direction, and returns to the recharging base. Also, the robot cleaner senses a signal generated by a remote control device, such as a remote control, terminal, etc. by using the external signal sensor. The external signal sensor may be disposed at one of the inside or outside of the robot cleaner. The external signal sensor may be installed inside the robot sensor, e.g., under the output unit or near the upper camera sensor. 
     The first obstacle sensor (front sensor) may be installed at the front of the robot cleaner, e.g., an outer circumferential surface thereof at an interval. The front sensor senses an object, especially an obstacle that is present in a direction in which the robot cleaner moves, and delivers detection information to the control unit. That is, the front sensor senses a protrusion, home stuff, furniture, a wall surface, a wall corner, etc. that are present in a path through which the robot cleaner moves, and delivers related information to the control unit. The front sensor may be an infrared ray sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, etc. The robot cleaner may use a single type of sensor as the front sensor or use two or more types of sensors together as needed. 
     The ultrasonic sensor is mostly used for sensing a remote obstacle, generally. The ultrasonic sensor includes a transmission unit and a reception unit. The control unit  200  determines the presence or absence of an obstacle through whether an ultrasonic wave radiated through the transmission unit is reflected from an obstacle and received by the reception unit, and calculates a distance from the obstacle by using a reception time. The ultrasonic sensor may be installed along the front outer circumferential surface of the robot cleaner. The transmission angle of the ultrasonic wave maintains a range of angles that do not affect another signal in order to prevent crosstalk phenomenon. The reception sensitivities of reception units may be set to be different from one another. Also, the ultrasonic sensor may be installed to incline upwards by an angle so that the ultrasonic wave transmitted by the ultrasonic sensor is output upwards. Also, the ultrasonic sensor may further include a blocking member in order to prevent the ultrasonic wave from becoming radiated downwards. 
     The ultrasonic sensor delivers different output values to the control unit according to the presence or absence of an obstacle or a distance from an obstacle. The range of the output values may be differently set according to the sensing range of the ultrasonic sensor. When an auto-correction mode is executed, the control unit  200  may move the robot cleaner to the front of a preset target by using the ultrasonic sensor. 
     The second obstacle sensor may be installed on the outer circumferential surface of the robot cleaner with the front sensor. Also, the second obstacle sensor may not be installed along the outer circumferential surface and may be formed to have a surface that protrudes toward the outside of the main body  10  of the robot cleaner. The second obstacle sensor may be an infrared ray sensor, an ultrasonic sensor, an RF sensor, a position sensitive device (PSD) sensor, etc., senses an obstacle that is present at the front or side, and delivers obstacle information to the control unit. That is, the second obstacle sensor senses a protrusion, home stuff, furniture, a wall surface, a wall corner, etc. that are present in a path through which the robot cleaner moves, and delivers related information to the control unit. Also, by using the front sensor or the second obstacle sensor, the robot cleaner may move, maintaining a constant distance from a wall surface. For example, the PSD sensor detects the positions of the short and long distances of an incident light with a single p-n junction by using the surface resistance of a semiconductor. The PSD sensor includes a 1D PSD sensor that detects light on a single axis and a 2D PSD sensor that may detect the position of light on the surface, and they have a pin photodiode structure. The PSD sensor is one of infrared ray sensors, and measures a distance by using a time taken while an obstacle is irradiated with an infrared ray, the obstacle is sensed, and the infrared ray is reflected and returned. 
     The cliff sensor is referred to also as a Cliff sensor. The cliff sensor mostly uses optical sensors of various types and the present embodiment describes e.g., an infrared ray sensor. The cliff sensor may have a type of infrared ray sensor module that has a light emission unit and a light reception unit, such as the PSD sensor. The cliff sensor may have a reference distance and a sensing range. The cliff sensor may measure a stable measurement value irrespective of a difference in the reflectance of the floor surface or in color and uses triangulation. The cliff sensor is disposed in a recess that is present in the bottom surface of the robot cleaner and has a depth. The cliff sensor may be installed at different positions according to the type of the robot cleaner. The cliff sensor keeps sensing the floor while the robot cleaner moves. 
     The lower camera sensor is disposed on the rear surface of the robot cleaner and images the lower side, i.e., a floor surface or a surface to be cleaned, on the move. The lower camera sensor is referred to also as an optical flow sensor. The lower camera sensor converts a lower image input from an image sensor in a sensor and generates image data in a form. The generated image data is stored in the storage unit  500 . Also, one or more light sources may be installed adjacent to the image sensor. The one or more light sources irradiate a region of the floor surface taken by the image sensor with a light. That is, when the robot cleaner moves a cleaning region along the floor surface, a distance is maintained between the image sensor and the floor surface if the floor surface is flat. On the contrary, when the robot moves the floor surface of a non-uniform surface, the distance becomes farther by the unevenness of the floor surface and an obstacle. In this case, the one or more light sources may be disposed to adjust the amount of light. The light sources include a light emission device capable of adjusting the amount of light, such as a light emitting diode or laser. 
     The lower camera sensor may detect the position of the robot cleaner irrespective of the slipping of the robot cleaner. The control unit  200  compares and analyzes image data taken by the lower camera sensor over time to calculate a movement distance and movement direction and accordingly calculates the position of the robot cleaner. By observing the lower side of the robot cleaner by using the lower camera sensor, the control unit may perform calibration resistant to slipping on a position calculated by another unit. 
     The robot cleaner may further include the upper camera sensor that is installed to face upwards or the front to image around the robot cleaner. In the case that the robot cleaner includes a plurality of upper camera sensors, the camera sensors may be disposed at the upper part or side of the robot cleaner at intervals or at angles. 
     The control unit  200  may extract a characteristic point from image data taken by the upper camera sensor, identify the position of the robot cleaner by using the characteristic point, and make a cleaning map of a cleaning region. The control unit  200  may precisely identify the position by using detection information from an acceleration sensor, a gyro sensor, a wheel sensor, and a lower camera sensor and image data from the upper camera sensor. Also, the control unit  200  may precisely make a cleaning map by using obstacle information detected by a front sensor, a second obstacle sensor, etc. and a position identified by the upper camera sensor. 
     An operation sensor unit  130  may detect the operation of the robot cleaner. The operation sensor unit  130  includes one or more of an acceleration sensor, a gyro sensor, and a wheel sensor and detects the operation of the robot cleaner. 
     The acceleration sensor senses a change in speed of the robot cleaner, e.g., a change in speed according to a start, a stop, a direction change, collision with an object, etc. The acceleration sensor may be attached to a position adjacent to a main wheel or a secondary wheel to detect the slipping or idling of the wheel. In this case, it is possible to calculate a speed by using the acceleration detected through the acceleration sensor and check or calibrate the position of the robot cleaner through comparison with an instruction speed. However, in the present embodiments, the acceleration sensor is built in the control unit  200  to sense a change in speed of the robot cleaner itself that appears in a cleaning mode or in a travel mode. That is, the acceleration sensor detects impulse according to a change in speed and outputs a voltage value corresponding thereto. Thus, the acceleration sensor may perform the function of an electronic bumper. 
     The gyro sensor senses the direction of rotation and detects an angle of rotation when the robot cleaner moves according to an operation mode. The gyro sensor detects the angular speed of the robot cleaner to outputs a voltage value proportional to the angular speed. The control unit  200  uses a voltage value output from the gyro sensor to calculate the direction of rotation and the angle of rotation. 
     The wheel sensor is connected to left and right main wheels to sense the revolution per minute (RPM) of the main wheels. In this example, the wheel sensor may be a rotary encoder. The rotary encoder senses and outputs the RPM of the left and right main wheels when the robot cleaner moves according to a travel mode or cleaning mode. The control unit may use the RPM to calculate the speed of rotation of the left and right wheels. 
     The power supply unit  600  includes a rechargeable battery  610  and supplies power to the robot cleaner. The power supply unit  600  supplies actuating power to units, supplies operating power that enables the robot cleaner to move or clean, and moves to a recharging base to receive charging currents when remaining power is insufficient. A battery is connected to a battery sensing unit so that the remaining amount and charged state of the battery is delivered to the control unit. The output unit  400  may display the remaining amount of the battery on the screen by the control unit. The battery may also be disposed at the central lower part of the robot cleaner or may also be disposed at one of right and left sides of the main body so that a dust bin is disposed at the bottom of the main body  10 . In the latter case, the robot cleaner may further include a balance weight in order to correct imbalance due to the weight of the battery. 
     The actuating unit  700  is connected to the left and right main wheels. The actuating unit  700  actuates a wheel motor that rotates wheels to move the robot cleaner. Wheel motors are connected to main wheels, respectively to rotate the main wheels and operate independently from each other. Also, the robot cleaner includes one or more secondary wheels on the rear surface to support the robot cleaner, minimize the friction between the robot cleaner and the floor surface (surface to be cleaned), and facilitate the movement of the robot cleaner. 
     The cleaning unit  800  includes a dust bin that stores collected dust, a suction fan that provides power to suck up dust from a cleaning region, and a suction motor that rotates the suction fan to suck up the air, and sucks ambient dust or foreign objects. The suction fan may include a plurality of blades and a member that is formed in a ring shape at the upper edges of the plurality of blades to connect the plurality of blades and enable the air flowing into toward the central axis of the suction fan to move in a direction perpendicular to the central axis. 
       FIG. 4  is a general flowchart of a 3D sensor correction method of a robot cleaner according to an embodiment. 
     Referring to  FIG. 4 , when the execution command for a diagnostic mode for the 3D sensor unit  110  among a plurality of operation modes is input in S 100 , the robot cleaner check one or more preset execution conditions before the execution of the diagnostic mode in step S 200 . 
     The plurality of operation modes includes e.g., a diagnostic mode, a charging mode, a cleaning mode, a travel mode, a standby mode, etc. in which case the cleaning mode and the travel mode further include one or more styles or patterns. The execution command for the diagnostic mode is input when one of buttons installed at the upper part of the robot cleaner is pushed, the buttons are pushed in a way or one button is pushed for a time. As another example, the execution command for the diagnostic mode may be input when a control signal is received from a remote control, terminal, etc. by using a built-in sensor or communication unit. 
     The robot cleaner checks the current operation mode, checks whether reservation cleaning is set, and then actuates the 3D sensor unit  110 , in step S 300 . Then, the robot cleaner uses sensing information output from the 3D sensor unit  110  to diagnose the state of the 3D sensor unit  110  in step S 400 . The robot cleaner may be pre-programmed to execute the diagnostic mode for the 3D sensor unit  110  only when the current operation mode is a preset mode, e.g., charging mode, in step S 110 . 
     When an execution condition is not satisfied, the robot cleaner outputs an error message in step S 510  or S 600 . For example, when the execution condition is not satisfied, the robot cleaner may output a voice message, such as “Check dust bin”, “Impossible to enter diagnostic mode due to low battery level”, “Impossible to enter diagnostic mode due to attachment of dustcloth plate”, etc. or display the message on the screen. Also, when reservation cleaning is set, the robot cleaner provides a message, such as “Reservation has been cancelled for diagnosis. Diagnosis starts.” through sound or screen. 
     When the execution condition is satisfied, the robot cleaner outputs a voice message, such as “Diagnosis of robot cleaner starts”, “Be away from robot cleaner and remove objects within 1 m from a recharging base”, etc. or displays the message on the screen, and then executes the diagnostic mode for the 3D sensor unit  110  in step S 400 . 
     When the execution of the diagnostic mode is completed, the robot cleaner outputs a voice message, such as “Diagnostic mode has been completed” or displays the message on the screen. Also, the robot cleaner provides a result of the execution, such as “No error as result of diagnosis” through sound or screen by using the output unit in step S 500 . Also, the robot cleaner may further provide a message, such as “Press charging button if you want to hear result of diagnosis again, and press stop button if you want to complete diagnosis”. Then, when the cancellation command for the diagnostic mode is input, the robot cleaner outputs a message, such as “Diagnostic mode is cancelled”. 
     When as a result of execution, the execution condition is not satisfied or it is diagnosed during the diagnostic mode that an object sensing unit is in an abnormal state, the robot cleaner outputs an error message by using the output unit in step S 510 . For example, the robot cleaner outputs an error message, such as “Sensor has error”, “Problem has been found”, “Charging is not tried”, “Retry diagnosis after turning off and then turning on main power switch at lower part of main body”, “Wipe sensor window”, “Call service center”, etc. 
     As described above, since the robot cleaner and the diagnostic method thereof according to embodiments perform diagnosis and auto-correction on the 3D sensor unit  110  upon initial actuation or according to a user need, the malfunction or breakdown of the robot cleaner is prevented. Also, embodiments diagnose the state of an object sensing unit by using the sensing signal of the object sensing unit in the main body upon initial actuation or according to a user need. Thus, embodiments prevent an accident or error that may occur in the future as the robot cleaner operates. 
       FIGS. 5 to 8  are flowcharts of a 3D sensor automatic auto-correction method of a robot cleaner according to an embodiment. 
     Referring to  FIGS. 5 to 8 , the control unit  200  starts diagnosing the 3D sensor unit  110  in step S 401 . Performing diagnosis refers to checking whether the 3D sensor unit  110  has an error to be corrected. The error to be corrected means an error that needs correction. When there is the error to be corrected, there is a need to calibrate the error to be corrected. The control unit  200  diagnoses the presence or absence of the error to be corrected based on an image input in a state that a laser beam is projected through the 3D, in step S 402 . 
       FIGS. 9 a  to 9 d    are diagrams that show images obtained by a 3D sensor unit in order to perform a 3D sensor auto-correction method of a robot cleaner according to an embodiment. 
     Referring to  FIGS. 9 a  to 9 d   ,  FIG. 9 a    is an image that does not have an error to be corrected, and  FIGS. 9 b  to 9 d    are images that have errors to be corrected. In this example, these images are front images taken by the 3D sensor unit  110 . Since the 3D sensor unit  110  is installed at the main body  10  of the robot cleaner to face the front and to be capable of imaging while slightly inclining toward the floor, an image obtained by the 3D sensor unit  110  is an image of the floor surface when there is no obstacle within a distance, e.g., 30 cm, for example. The image includes a laser line image. 
     That is, in the image taken by the 3D sensor unit  110 , the laser line should horizontally exit at a preset position when there is no error to be corrected as shown in  FIG. 9 a   . However, images in  FIGS. 9 b  to 9 d    indicate cases where the 3D sensor unit  110  has errors to be corrected due to a physical impact or mechanical combination, and it may be seen from the images obtained by the 3D sensor unit  110  that the laser line image in the images get out of a designated position. That is, it may be seen from the image in  FIG. 9 b    that a laser line is disposed at an upper point than a preset point. It may be seen from the image in  FIG. 9 c    that a laser line inclines to have a lower left point than a preset point. It may be seen from the image in  FIG. 9 d    that a laser line inclines to have a lower right point than a preset point. 
     When it is determined that the image taken by the 3D sensor unit  110  is not the image in  FIG. 9 a    but the images in  FIGS. 9 b  to 9 d   , the control unit  200  determines that the error to be corrected has occurred and performs an auto-correction procedure. 
     Thus, the control unit  200  moves the robot cleaner to a preset point for auto-correction in step S 403 . In this step, a procedure for moving the robot cleaner to the place where a recharging base is positioned is performed. 
     The control unit  200  moves the robot cleaner to the recharging base based on map information that is stored in the storage unit  500 . The control unit  200  approximately discerns the positions of the robot cleaner and the recharging base through the secondary object sensing unit  120 . Thus, the control unit  200  uses the secondary object sensing unit  120  to determine the position of the robot cleaner and move the robot cleaner to the recharging base for auto-correction. 
     Shape information on the recharging base is stored in the storage unit  500  of the robot cleaner before the launch of the robot cleaner. In this example, the shape information may include the size and appearance of the recharging base in a space. 
     Referring to  FIG. 10 , the 3D sensor unit  110  turns off the power of the laser module  110   b  and then obtains an image of the recharging base through the camera module  110   a  in step S 404 . 
     The 3D sensor unit  110  delivers the obtained image of the recharging base to the control unit  200 . Thus, the control unit  200  extracts a characteristic point of the recharging base from the image of the recharging base in step S 405 . 
     The 3D sensor unit  110  turns on the power of the laser module  110   b  when the camera module  110   a  takes an image for 3D data acquisition, or always turns on the power of the laser module  110   b  to take an image. The images obtained by the camera module  110   a  include the image of the recharging base and include a laser line image which the recharging base is irradiated. 
     When the camera module  110   a  obtains an image in a state in which the laser module  110   b  is powered on, an error may occur due to a laser line irradiated to the recharging base when the characteristic point is extracted. For example, when the corner portion of the recharging base is used as a characteristic point, an undesirable characteristic point may be extracted due to the laser line, so the image of the recharging base is obtained in a state in which the laser module  110   b  is powered off and a characteristic point is extracted from the image. Since the characteristic point is extracted by using various methods, related descriptions are not provided herein. 
     In step S 406 , the control unit  200  clearly estimates the position of the recharging base based on the coordinate system of the camera module  110   a  from the characteristic point of the recharging base that is extracted based on the image obtained by the camera module  110   a  in a state in which the laser module  110   b  is powered off. 
     When the characteristic point is extracted from the image, the control unit  200  performs characteristic point matching through comparison of the image obtained by the camera module  110   a  with image information on the recharging base pre-stored in the storage unit  500 , in step S 407 . That is, characteristic points in the image information on the recharging base pre-stored in the storage unit  500  is 3D coordinate points that are registered based on a world coordinate system. Thus, it is possible to estimate correspondence between a 2D coordinate value in an image and a 3D coordinate value in a space and it is possible to perform auto-correction to the camera module  110   a , in step S 408 . When auto-correction to the control unit  200  is completed, the control unit  200  may clearly estimate the position of the recharging base to which a coordinate axis has been assigned from the camera module  110   a , in step S 409 . Through these processes, the control unit  200  positions the robot cleaner at a preset point for the auto-correction of the robot cleaner. 
     Then, the control unit  200  turns on the power of the laser module  110   b  at the same position and then uses the camera module  110   a  to obtain an image that includes a laser line image, in step S 410 . The control unit  200  detects the laser line in the recharging base from the obtained image in step S 411 . 
     Referring to  FIGS. 11 a  to 11 c   , when a difference between an image taken in a state in which the laser module  110   b  is powered on as shown in  FIG. 11 a    and an image taken in a state in which the laser module is powered off as shown in  FIG. 11 b    is calculated by the control unit  200 , only a laser line image only exists and noise may be removed as shown in  FIG. 11 c   . When the noise is removed, it is possible to easily detect the laser line by using various methods. 
     Referring to  FIGS. 12 a  to 12 c   , the control unit  200  moves and then stops the robot cleaner to the recharging base to a predetermined distance, and obtains an image taken in a state in which the laser module  110   b  is powered on as shown in  FIG. 12 a    and an image taken in a state in which the laser module is powered off as shown in  FIG. 12 b   , in step S 412 . Then, a laser line is detected through a difference between two images as shown in  FIG. 12 c   , in step S 413 . 
     The control unit  200  extracts 3D data on the recharging base pre-stored in the storage unit  500  according to the positions of laser lines obtained from four images, in step S 414 . In addition, the control unit  200  may use the 3D data on the recharging base to estimate a 3D coordinate of a laser line projected to the recharging base, in step S 415 . The control unit  200  may estimate the equation of a laser plane from the estimated 3D coordinate of the laser line in step S 416 . The control unit  200  performs a correction of parameters of the 3D sensor unit  110  by the estimated laser plane equation in step S 417 . The control unit  200  changes and stores a plane equation pre-stored in the storage unit  500  to a newly estimated plane equation in step S 418 . 
     Although particular embodiments have been described above, many variations may also be implemented without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the above-described embodiments but should be defined by equivalents to the following claims as well as the following claims.