Abstract:
An embodiment of the invention provides a control method of a cleaning robot with a non-omnidirectional light detector. The method includes the steps of: detecting a light beam via the non-omnidirectional light detector; stopping the cleaning robot and spinning the non-omnidirectional light detector when the non-omnidirectional light detector detects the light beam; stopping the spinning of the non-omnidirectional light detector and estimating a first spin angle when the non-omnidirectional light detector does not detect the light beam; and adjusting a moving direction of the cleaning robot according to the first spin angle.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 61/599,690 filed Feb. 19, 2012, the entirety of which is incorporated by reference herein. 
         [0002]    This application claims priority of Taiwan Patent Application No. 101128716, filed on Aug. 9, 2012, the entirety of which is incorporated by reference herein. 
     
    
     BACKGROUND OF THE INVENTION 
       [0003]    1. Field of the Invention 
         [0004]    The invention relates to a cleaning robot, and more particularly, to a cleaning robot with a non-omnidirectional light detector. 
         [0005]    2. Description of the Related Art 
         [0006]    A variety of movable robots, which generally include a driving means, a sensor and a travel controller, and perform many useful functions while autonomously operating, have been developed. For example, a cleaning robot for the home, is a cleaning device that sucks dust and dirt from the floor of a room while autonomously moving around the room without user manipulation. 
       BRIEF SUMMARY OF THE INVENTION 
       [0007]    An embodiment of the invention provides a control method of a cleaning robot with a non-omnidirectional light detector. The method comprises the steps of: detecting a light beam via the non-omnidirectional light detector; stopping the cleaning robot and spinning the non-omnidirectional light detector when the non-omnidirectional light detector detects the light beam; stopping the spinning of the non-omnidirectional light detector and estimating a first spin angle when the non-omnidirectional light detector does not detect the light beam; and adjusting a moving direction of the cleaning robot according to the first spin angle. 
         [0008]    Another embodiment of the invention provides a control method for a cleaning robot with a non-omnidirectional light detector. The method comprises the steps of: detecting a light beam via the non-omnidirectional light detector; when the non-omnidirectional light detector detects a light beam at a first time, continuing the movement of the cleaning robot; stopping the cleaning robot and spinning the non-omnidirectional light detector when the non-omnidirectional light detector does not detect the light beam; stopping the spinning of the non-omnidirectional light detector and estimating a first spin angle when the non-omnidirectional light detector detects the light beam again; and adjusting a moving direction of the cleaning robot according to the first spin angle. 
         [0009]    Another embodiment of the invention provides a cleaning robot. The cleaning robot comprises a wireless signal detector, a motor and a controller. The wireless signal detector detects a first wireless signal. The motor moves the cleaning robot. The controller controls the motor according to the first wireless signal, wherein when the wireless signal detector detects the first wireless signal and a strength of the first wireless signal is greater than a predetermined value, the controller determines whether the first wireless signal is output by a light generating device. When the first wireless signal is output by a light generating device, the controller controls the wireless signal detector and the motor to let the cleaning robot move to the light generating device. 
         [0010]    A detailed description is given in the following embodiments with reference to the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
           [0012]      FIG. 1  is a schematic diagram of a light generating device and a cleaning robot according to an embodiment of the invention. 
           [0013]      FIG. 2   a  is a top view of an embodiment of a non-omnidirectional light detector according to the invention. 
           [0014]      FIG. 2   b  is a flat view of the non-omnidirectional light detector of  FIG. 2   a.    
           [0015]      FIGS. 2   c  and  2   d  are schematic diagrams for estimating an incident angle of a light beam by using the proposed non-omnidirectional light detector according to the invention. 
           [0016]      FIG. 2   e  is a schematic diagram of another embodiment of a non-omnidirectional light detector according to the invention. 
           [0017]      FIG. 3  is a schematic diagram of a control method for a cleaning robot according to an embodiment of the invention. 
           [0018]      FIG. 4  is a schematic diagram of a control method for a cleaning robot according to another embodiment of the invention. 
           [0019]      FIG. 5  is a flowchart of a control method of the cleaning robot according to another embodiment of the invention. 
           [0020]      FIG. 6  is a schematic diagram of an embodiment of a cleaning robot according to the invention. 
           [0021]      FIG. 7  is a schematic diagram of a control method of a cleaning robot according to another embodiment of the invention. 
           [0022]      FIG. 8  is a schematic diagram of an embodiment of a cleaning robot according to the invention. 
           [0023]      FIG. 9  is a flowchart of a cleaning robot control method according to another embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0024]    The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. 
         [0025]      FIG. 1  is a schematic diagram of a light generating device and a cleaning robot according to an embodiment of the invention. The light generating device  12  outputs a light beam  15  to label a restricted area that the cleaning robot  11  cannot enter. The cleaning robot  11  comprises a non-omnidirectional light detector  13  having a rib (or called mask)  14 , where the rib  14  produces a shadowed area on the non-omnidirectional light detector  13  by a predetermined angle and the range of the predetermined angle is from 30 degrees to 90 degrees. 
         [0026]    The rib  14  may be fixed on the surface of the non-omnidirectional light detector  13  or movable along the non-omnidirectional light detector  13 . The rib  14  can be spun in 360 degrees along the surface of the non-omnidirectional light detector  13 . In this embodiment, the term, non-omni, is a functional description to describe that the rib  14  causes an area on the surface of the non-omnidirectional light detector  13  and the non-omnidirectional light detector  13  cannot not detect light therein or light to not directly reach that area. 
         [0027]    Thus, the non-omnidirectional light detector  13  can be implemented in two ways. The first implementation is to combine an omni-light detector with a rib  14  and the rib  14  is fixed on a specific position of the surface of the omni-light detector. The non-omnidirectional light detector  13  is disposed on a plate that can be spun by a motor. Thus, the purpose of spinning of the non-omnidirectional light detector  13  can be achieved. When the non-omnidirectional light detector  13  detects the light beam, an incident angle of the light beam  15  can be determined by spinning the non-omnidirectional light detector  13 . 
         [0028]    Another implementation of the non-omnidirectional light detector  13  is implemented by telescoping a mask kit on an omni-light detector, wherein the omni light detector cannot be spun and the masking kit is movable along a predetermined track around the omni light detector. The mask kit is spun by a motor. When the non-omnidirectional light detector  13  detects the light beam  15 , the mask kit is spun to determine the incident angle of the light beam  15 . 
         [0029]    Reference can be made to  FIGS. 2   a  to  2   e  for the detailed description of the non-omnidirectional light detector  13 . 
         [0030]      FIG. 2   a  is a top view of an embodiment of a non-omnidirectional light detector according to the invention. The mask  22  is formed by an opaque material and is adhered to a part of sensing area of an omni light detector  21 . The mask  22  forms a sensing dead zone with an angle θ on the omni light detector  21 . 
         [0031]    Please refer to  FIG. 2   b .  FIG. 2   b  is a flat view of the non-omnidirectional light detector of  FIG. 2   a . In  FIG. 2   b , the omni light detector  21  is fixed on a base  23 . The base  23  can be driven and spun by a motor or a step motor. A controller of the cleaning robot outputs a control signal to spin the base  23 . Although the typical type of omni light detector  21  can receive light from any direction, the omni light detector  21  cannot determined the direction that the light comes from and the cleaning robot cannot know the position of a light generating device or charging station. With the help of the mask  22 , the light direction can be determined. 
         [0032]    When the omni light detector  21  detects a light beam, the base  23  is set to be spun for 360 degrees in a clockwise direction or a counter clockwise direction. When the omni light detector  21  cannot detect the light beam, a controller of the cleaning robot calculates a spin angle of the base  23 , wherein the spin angle ranges from 0 degree to (360-θ) degrees. The controller then determines the direction of the light beam according to a spin direction of the base  23 , the spin angle and the angle θ. Reference can be made to the descriptions related to  FIG. 2   c  and  FIG. 2   d  a more detailed description for estimating an incident angle of a light beam. 
         [0033]      FIGS. 2   c  and  2   d  are schematic diagrams for estimating an incident angle of a light beam by using the proposed non-omnidirectional light detector according to the invention. In  FIG. 2   c , the initial position of the mask  22  is at P 1 . When the non-omnidirectional light detector  25  detects a light beam  24 , the non-omnidirectional light detector  25  is spun in a predetermined direction. In this embodiment, the predetermined direction is a counter clockwise direction. In  FIG. 2   d , when the non-omnidirectional light detector  25  does not detect the light beam  24 , the non-omnidirectional light detector  25  stops spinning. The controller of the cleaning robot determines a spin angle Φ of the non-omnidirectional light detector  25  and estimates the direction of the light beam  24  according to the spin angle Φ and the initial position P 1 . 
         [0034]    In another embodiment, the non-omnidirectional light detector  25  is driven by a motor, and the motor transmits a spin signal to the controller for estimating the spin angle Φ. In another embodiment, the non-omnidirectional light detector  25  is driven by a step motor. The step motor is spun according to numbers of received impulse signals. The controller therefore estimates the spin angle Φ according to the number of impulse signals and a step angle of the step motor. 
         [0035]    In another embodiment, the non-omnidirectional light detector  25  is fixed on a base device with a gear disposed under the base device, wherein meshes of the gear are driven by the motor. In another embodiment, the non-omnidirectional light detector  25  is driven by the motor via a timing belt. 
         [0036]      FIG. 2   e  is a schematic diagram of another embodiment of a non-omnidirectional light detector according to the invention. The non-omnidirectional light detector  26  comprises an omni light detector  27 , a base  28  and a vertical extension part  29  formed on the base  28 . The vertical extension part  29  is formed by an opaque material and forms a dead zone area on the surface of the omni light detector  27 . When the light beam is toward to the dead zone area, the omni light detector  27  cannot detect the light beam. The base  28  is spun by a motor to detect a light direction. The omni light detector  27  is not physically connected to the base  28  and the omni light detector  27  is not spun when the base is spun by the motor. Reference can be made to the descriptions related to  FIGS. 2   c  and  2   d  for the light direction detection operation of the non-omnidirectional light detector  26 . 
         [0037]      FIG. 3  is a schematic diagram of a control method for a cleaning robot according to an embodiment of the invention. The light generating device  31  outputs a light beam to label a restricted area that the cleaning robot  32  cannot enter. In other embodiments, the light generating device  31  is named as light house or light tower and outputs the light beam or other wireless signals. The light beam comprises a first boundary b 1  and a second boundary b 2 . At time T 1 , the cleaning robot  32  moves along a predetermined route. At time T 2 , the non-omnidirectional light detector  33  detects a first boundary b 2  of a light beam emitted by the light generating device  31 . The cleaning robot  32  therefore stops moving and the non-omnidirectional light detector  33  is then spun in a counter clockwise direction or a clockwise direction. 
         [0038]    At time T 3 , the mask  34  blocks the light beam emitted from the light generating device  31  and the non-omnidirectional light detector  33 , therefore the non-omnidirectional light detector  33  does not detect the light beam. A controller of the cleaning robot  32  stores a current position of the mask  32  and estimates a first spin angle of the non-omnidirectional light detector  33  according to an initial position of the mask  32  and the current position of the mask  32 . 
         [0039]    If the cleaning robot  32  adjusts its moving direction directly according to the first spin angle, the cleaning robot  32  may not move straightforward to the light generating device  31 . A calibration mechanism for calibrating the moving direction of the cleaning robot  32  according to the spin angle of the non-omnidirectional light detector  33  is necessary. 
         [0040]    In this embodiment, the calibration mechanism estimates a second spin angle according to the first spin angle, a first center of the non-omnidirectional light detector  33 , a second center of the cleaning robot  32  and a distance between the first center and the second center. Then, the cleaning robot  32  is spun according to the second spin angle. By this way, it can be sure that the cleaning robot  32  moves straightforward to the light generating device  31  along the light beam. 
         [0041]    In another embodiment, the controller of the cleaning robot  32  acquires a first coordinate of the first center and a second coordinate of the second center to estimate a relative angle between the first center and the second center. Then, the controller estimates the second spin angle according to the first spin angle and the relative angle. The cleaning robot  32  then spins for the second spin angle. After spinning, the front of the cleaning robot  32  opposes to the light generating device  31 . When the cleaning robot  32  moves straightforward, the cleaning robot  32  is therefore approaching to the light generating device and does not need to calibrate the moving direction during the movement. 
         [0042]    In this embodiment, only the non-omnidirectional light detector  33  is spun at time T 3 . When the direction of the detected light beam is determined, the cleaning robot  32  is spun at time T 4 . In another embodiment, when the non-omnidirectional light detector  33  is spun at time T 3 , the cleaning robot  32  is also spun. When the non-omnidirectional light detector  33  does not detect the light beam, the non-omnidirectional light detector  33  and the cleaning robot  32  stops spinning. When the cleaning robot  32  stops spinning, the cleaning robot  32  moves straightforward. 
         [0043]    It is noted that the cleaning robot  32  stays at the same position at times T 3  and T 4 . At time T 3 , the cleaning robot  32  is not moved or spun and only the non-omnidirectional light detector  33  is spun. At time T 4 , the cleaning robot  32  is spun in a circle at the original position. Although the position of the cleaning robot  32  at time T 3  is different from the position of the cleaning robot  32  at time T 4  in  FIG. 3 , it represents only two operations at the same position but at different times. In fact, the position of the cleaning robot  32  does not change at time T 3  and T 4 . 
         [0044]    When the direction of the light beam is determined by the controller of the cleaning robot  32 , the controller draws the light beam on a map and marks a restricted area on the map according to the light beam. The map may be stored in a memory or a map database of the cleaning robot  32 . The controller of the cleaning robot  32  modifies the map and labels the obstacles on the map according to each movement of the cleaning robot  32 . 
         [0045]    At time T 4 , the mask  34  is in front of the non-omnidirectional light detector  33  and the non-omnidirectional light detector  33  cannot detect the light beam because the mask  34  blocks the light beam. Thus, the cleaning robot  32  substantially moves straightforward to the light generating device  31  when the cleaning robot  32  is moving and the non-omnidirectional light detector  33  does not detect the light beam. 
         [0046]    When the cleaning robot  32  moves to the light generating device  31  and the non-omnidirectional light detector  33  detects the light beam emitted from the light generating device  31 , the cleaning robot  32  stops and calibrates the moving direction of the cleaning robot according to the detection result of the non-omnidirectional light detector  33 . 
         [0047]    When the cleaning robot  32  approaches to the light generating device  31  and the distance between the cleaning robot  32  and the light generating device  31  is less than a predetermined distance, a touch sensor outputs a stop signal to the controller of the cleaning robot  32 . The touch sensor is disposed in the front end of the cleaning robot  32  to detect whether there is any obstacle in front of the cleaning robot  32 . When the touch sensor detects an obstacle, the cleaning robot  32  first determines whether the obstacle is the light generating device  31 . If the obstacle is the light generating device  31 , the cleaning robot  32  stops moving and moves in another direction. If the obstacle is not the light generating device  31 , the cleaning robot  32  first leaves the original route to avoid the obstacle and returns to the original route after avoiding the obstacle. 
         [0048]    When the cleaning robot  32  approaches to the light generating device  31 , the light generating device  31  outputs a radio frequency (RF) signal or an infrared signal to let the cleaning robot  32  know that the cleaning robot  32  is close to the light generating device  31 . In another embodiment, Near Field Communication (NFC) devices are embedded in both the cleaning robot  32  and the light generating device  31 . When the NFC device of the cleaning robot  32  receives signals or data from the NFC device of the light generating device  31 , it means that the cleaning robot  32  is close to the light generating device  32  and the cleaning robot  43  should stop accordingly. Generally speaking, the sensing distance of the NFC device is 20 cm. 
         [0049]    In this embodiment, the light beam emitted by the light generating device  31  comprises a modulated signal or encoded signal. Therefore, when the non-omnidirectional light detector  33  detects the light beam, the controller of the cleaning robot  32  first demodulates or decodes the received light beam to determine whether the light beam is emitted by the light generating device  31 . Only when the light beam is emitted by the light generating device  31 , will the described operations be executed. 
         [0050]    In another embodiment, the cleaning robot  32  further comprises a reflection device. The reflection device is disposed on the non-omnidirectional light detector  33 . In another embodiment, the reflection device is disposed on the mask  32 . The light generating device  31  further comprises a receiver to receive the light beam from the cleaning robot. In one embodiment, the receiver receives a reflection light beam reflected by the reflection device of the cleaning robot  32 . A control device of the light generating device  31  then decodes or demodulates the reflection light beam. When the control device determines that the reflection light beam and the light beam from the light generating device  31  have the same coding format or modulation format, the control device determines that the cleaning robot  32  is close to the light generating device  31 . The light generating device  31  can output a light beam with different modulations or encoding formats and the cleaning robot  32  then executes a corresponding operation, function or action according the received light beam. 
         [0051]    In one embodiment, the cleaning robot  32  comprises a first wireless device to establish a wireless connection to the light generating device  31 . The light generating device  31  comprises a second wireless device to establish the wireless connection to the cleaning robot  32  or connects to the internet. When the light generating device  31  receives the light beam from the cleaning robot  32 , the light generating device  31  automatically connects to the internet or establishes a wireless connection to the cleaning robot  32  automatically. In another embodiment, only after the light generating device  31  establishes the wireless connection to the cleaning robot  32 , the light generating device  31  connects to the internet. 
         [0052]    According to the above description, the cleaning robot  32  can clean the areas near the light beam output by the light generating device  31  and the cleaning robot  32  will not enter a restricted area. Furthermore, the controller of the cleaning robot  32  can draw a map of the cleaning area. When the cleaning robot  32  cleans the same area again, the cleaning robot  32  can move according to the map of the cleaning area to complete the cleaning job efficiently and quickly. 
         [0053]      FIG. 4  is a schematic diagram of a control method for a cleaning robot according to another embodiment of the invention. The light generating device  41  outputs a light beam to label a restricted area that the cleaning robot  42  cannot enter. In other embodiments, the light generating device  41  is named as light house or light tower and outputs the light beam or other wireless signal. The light beam comprises a first boundary b 1  and a second boundary b 2 . At time T 1 , the cleaning robot  42  moves along a predetermined route. At time T 2 , the non-omnidirectional light detector  43  detects a first boundary b 2  of a light beam emitted by the light generating device  41  and the cleaning robot  42  keeps moving along the predetermined route. At time T 3 , the non-omnidirectional light detector  43  cannot detect the light beam and the cleaning robot  42  stops moving. The non-omnidirectional light detector  43  is then spun in a counter clockwise direction or a clockwise direction. 
         [0054]    When the non-omnidirectional light detector  43  detects the light beam from the light generating device  41 , a controller of the cleaning robot  42  receives a first trigger signal and the controller knows that the cleaning robot  42  is close to the restricted area. The controller then executes some functions of the cleaning robot  42 . For example, the controller may slow the cleaning robot  42  down or pre-activate a direction detection procedure for the detected light beam. In this embodiment, the phrase “pre-activate” means that the controller starts collecting parameters or data required by the direction detection procedure. 
         [0055]    When the non-omnidirectional light detector  43  cannot detect the light beam from the light generating device  41 , the controller of the cleaning robot  42  receives a second trigger signal. The controller stops the cleaning robot  42  in response to the second trigger signal. If the direction detection procedure is activated when the controller receives the first trigger signal, the direction detection procedure immediately starts estimating the direction of the light beam emitted by the light generating device  41  when receiving the second trigger signal. 
         [0056]    At time T 4 , the mask  44  blocks the light beam emitted from the light generating device  41  and the non-omnidirectional light detector  43 , therefore, the non-omnidirectional light detector  43  does not detect the light beam. The controller of the cleaning robot  42  stores a current position of the mask  42  and estimates a first spin angle of the non-omnidirectional light detector  43  according to an initial position of the mask  42  and the current position of the mask  42 . 
         [0057]    If the cleaning robot  42  adjusts its moving direction directly according to the first spin angle, the cleaning robot  42  may not move straightforward to the light generating device  41 . A calibration mechanism for calibrating the moving direction of the cleaning robot  42  according to the spin angle of the non-omnidirectional light detector  43  is necessary. 
         [0058]    In this embodiment, the calibration mechanism estimates a second spin angle according to the first spin angle, a first center of the non-omnidirectional light detector  43 , a second center of the cleaning robot  42  and a distance between the first center and the second center. Then, the cleaning robot  42  is spun according to the second spin angle. By this way, it can be sure that the cleaning robot  42  moves straightforward to the light generating device  41  along the light beam. 
         [0059]    In another embodiment, the controller of the cleaning robot  42  acquires a first coordinate of the first center and a second coordinate of the second center to estimate a relative angle between the first center and the second center. Then, the controller estimates the second spin angle according to the first spin angle and the relative angle. The cleaning robot  42  then spins for the second spin angle. After spinning, the front end of the cleaning robot  42  is toward to the light generating device  41 . Thus, when the cleaning robot  42  moves straightforward, the cleaning robot  42  is therefore approaching to the light generating device and the cleaning robot  42  does not need to calibrate the moving direction during the movement. 
         [0060]    It is noted that the cleaning robot  42  does not move at time T 3  and time T 4 . At time T 3 , only the non-omnidirectional light detector  43  is spun at time T 3 . At time T 4 , the cleaning robot  42  is spun in a circle at the same position. Although the position of the cleaning robot  42  at time T 3  is different from the position of the cleaning robot  42  at time T 4  in  FIG. 4 , it represents only two operations at the same position but at different times. In fact, the position of the cleaning robot  42  does not change at time T 3  and time T 4   
         [0061]    When the direction of the light beam is determined by the controller of the cleaning robot  42 , the controller draws the light beam on a map and marks a restricted area on the map according to the light beam. The map may be stored in a memory or a map database of the cleaning robot  42 . The controller of the cleaning robot  42  modifies the map and labels the obstacles on the map according to the movements of the cleaning robot  42 . 
         [0062]    At time T 4  and time T 5 , the mask  44  is at the front of the non-omnidirectional light detector  43  and the non-omnidirectional light detector  43  cannot detect the light beam because the mask  44  blocks the light beam. Thus, the cleaning robot  42  substantially moves straightforward to the light generating device  41  when the cleaning robot  42  is moving and the non-omnidirectional light detector  43  does not detect the light beam. 
         [0063]    When the cleaning robot  42  is moving to the light generating device  41  and the non-omnidirectional light detector  43  detects the light beam emitted from the light generating device  41 , the cleaning robot  42  stops and calibrates the moving direction of the cleaning robot  42  according to the detection result of the non-omnidirectional light detector  43 . 
         [0064]    When the cleaning robot  42  approaches to the light generating device  41  and the distance between the cleaning robot  42  and the light generating device  41  is less than a predetermined distance, a touch sensor outputs a stop signal to the controller of the cleaning robot  42 . The touch sensor is disposed in the front end of the cleaning robot  42  to detect whether there is any obstacle in front of the cleaning robot  42 . When the touch sensor detects an obstacle, the cleaning robot  42  first determines whether the obstacle is the light generating device  41 . If the obstacle is the light generating device  41 , the cleaning robot  42  stops moving and moves in another direction. If the obstacle is not the light generating device  41 , the cleaning robot  42  first leaves the original route to avoid the obstacle and returns to the original route after avoiding the obstacle. 
         [0065]    When the cleaning robot  42  approaches to the light generating device  41 , the light generating device  41  outputs a radio frequency (RF) signal or an infrared signal to let the cleaning robot  42  know that the cleaning robot  42  is close to the light generating device  41 . In another embodiment, Near Field Communication (NFC) devices are embedded in both the cleaning robot  42  and the light generating device  41 . When the NFC device of the cleaning robot  42  receives signals or data from the NFC device of the light generating device  41 , it means that the cleaning robot  42  is close to the light generating device  42  and the cleaning robot  43  should stop accordingly. Generally speaking, the sensing distance of the NFC device is 20 cm. 
         [0066]      FIG. 5  is a flowchart of a control method of the cleaning robot according to another embodiment of the invention. In step S 51 , the cleaning robot moves according to a preset route. Typically, the cleaning robot moves in a random mode or an initial moving mode set by the user when the cleaning robot starts working. When the cleaning robot moves in the random mode, a controller of the cleaning robot starts drawing an indoor plane map. Next time when the cleaning robot executes a cleaning job, the cleaning robot moves according to the indoor plane map to increase efficiency. 
         [0067]    In step S 52 , a light detector determines whether a light beam from the light generating device is detected. If not, the cleaning robot moves according to the original route. If the light detector detects the light beam from the light generating device, step S 53  is then executed. In this embodiment, the light detector is a non-omnidirectional light detector. The light beam emitted by the light generating device carries encoded information or modulated information. When the light detector detects the light beam, the detected beam is decoded or demodulated to confirm whether the light beam is emitted by the light generating device. 
         [0068]    In step S 53 , the controller of the cleaning robot determines whether to respond to the event that the light detector detects by the light beam outputted by the light generating device. For example, the cleaning robot leaves the area covered by the light beam. If the controller decides to respond, step S 54  is executed. If the controller decides not to respond, step S 59  is executed and the cleaning robot keeps moving. 
         [0069]    In step S 59 , the controller of the cleaning robot continuous to determine whether the light detector of the cleaning robot is still detecting the light beam output by the light generating device. If yes, the cleaning robot keeps moving and the step S 59  is still executed. When the light detector of the cleaning robot does not detect the light beam output by the light generating device, step S 54  is executed. In the step S 59 , the situation where the light detector of the cleaning robot does not detect the light beam output by the light generating device represents that the cleaning robot may enter the restricted area and the cleaning robot has to leave as soon as possible. 
         [0070]    In the step S 53 , when the light detector detects the light beam output by the light generating device, the light detector transmits a first trigger signal to the controller and the controller determines to execute the step S 54  or step S 59  according to the setting of the cleaning robot and the first trigger signal. In one embodiment, the first trigger signal is transmitted to a GPIO (general purpose input/output pin) and the logic state of the GPIO pin is changed accordingly. For example, assuming the first trigger signal is a rising edge-triggered signal and the default logic state of the GPIO pin is a logic low state, the logic state of the GPIO pin is changed to a logic high state when receiving the rising edge-triggered signal. The change of the logic state of the GPIO pin triggers an interrupt event and the controller of the cleaning robot knows that the light detector has detected the light beam output from the virtual according to the interrupt event. 
         [0071]    In step S 54 , the cleaning robot stops moving and the light detector is spun in a clockwise direction or a counter clockwise direction. Reference can be made to the descriptions related to  FIGS. 2   a - 2   e  for detailed description of the structure and the operation of the light detector. In step S 55 , when the light detector does not detect the light beam from the light generating device, the controller of the cleaning robot estimates a first spin angle. 
         [0072]    Then, in step S 56 , the controller of the cleaning robot estimates a second spin angle according to the first spin angle, a first center of the light detector, a second center of the cleaning robot and a distance between the first center and the second center. Then, the cleaning robot is spun according to the second spin angle (step S 57 ). By this way, it can be sure that the cleaning robot moves straightforward to the light generating device. 
         [0073]    In another embodiment, the controller of the cleaning robot acquires a first coordinate of the first center and a second coordinate of the second center to estimate a relative angle between the first center and the second center. Then, the controller estimates the second spin angle according to the first spin angle and the relative angle. The cleaning robot then spins for the second spin angle. After spinning, the front of the cleaning robot opposes to the light generating device. When the cleaning robot moves straightforward, the cleaning robot is therefore approaching to the light generating device and does not need to calibrate the moving direction during the movement. 
         [0074]    In step S 58 , the cleaning robot moves to the light generating device. When the cleaning robot moves to the light generating device, the cleaning robot stops and calibrates the moving direction of the cleaning robot according to the detection result of the light detector when the light detector detects the light beam output from the light generating device. 
         [0075]    When the cleaning robot approaches to the light generating device and the distance between the cleaning robot and the light generating device is less than a predetermined distance, a touch sensor outputs a stop signal to the controller of the cleaning robot. The touch sensor is disposed in the front end of the cleaning robot to detect whether there is any obstacle in front of the cleaning robot. When the touch sensor detects an obstacle, the cleaning robot first determines whether the obstacle is the light generating device. If the obstacle is the light generating device, the cleaning robot stops moving and moves in another direction. If the obstacle is not the light generating device, the cleaning robot first leaves the original route to avoid the obstacle and returns to the original route after avoiding the obstacle. 
         [0076]    When the cleaning robot approaches to the light generating device, the light generating device outputs a radio frequency (RF) signal or an infrared signal to let the cleaning robot  32  know that the cleaning robot is near to the light generating device. In another embodiment, Near Field Communication (NFC) devices are embedded in both the cleaning robot and the light generating device. When the NFC device of the cleaning robot receives signals or data from the NFC device of the light generating device, it means that the cleaning robot is very close to the light generating device and the cleaning robot should stop accordingly. Generally speaking, the sensing distance of the NFC device is 20 cm. 
         [0077]      FIG. 6  is a schematic diagram of an embodiment of a cleaning robot according to the invention. The light detector  65  is spun by a driving motor  64 . The structure and the operation of the light detector  65  can be Reference can be made to the descriptions related to  FIGS. 2   a - 2   e  for detailed description of the structure and the operation of the light detector  65 . The moving motor  63  controls the cleaning robot to move forward or backward. The spin motor  66  spins the cleaning robot to control the forward-moving direction or the backward-moving direction of the cleaning robot. 
         [0078]    The main controller  61  executes a program to control the cleaning robot. The program comprises sub-routines and one of the sub-routines is about what the cleaning robot has to do when the cleaning robot encounters the light generating device. Reference can be made to the descriptions related to  FIGS. 3-5  for the function or the operation of the sub-routine. 
         [0079]    The embodiment illustrates with the light detector  65 , but the invention is not limited thereto. The light detector  65  can be replaced by an acoustic signal detector. The acoustic signal detector can be spun and determines the position of the light generating device according to the strength of the received acoustic signal. For example, when the acoustic signal detector detects a maximum strength of the acoustic signal, it means that the acoustic signal detector is opposite to the light generating device. In this embodiment, the acoustic signal detector is an acoustic panel. 
         [0080]      FIG. 7  is a schematic diagram of a control method of a cleaning robot according to another embodiment of the invention. 
         [0081]    At the position A, the cleaning robot  72  moves according to a predetermined route, and the rib  74  is fixed at the back of the light detector  73 . 
         [0082]    Position A to Position B 
         [0083]    Step S 1 : 
         [0084]    The light detector  73  detects the light beam from the light generating device  71  and the cleaning robot  72  stops moving at position B. 
         [0085]    Position B to Position C 
         [0086]    Step S 2 : 
         [0087]    The light detector  73  is spun in a clockwise direction or a counter-clockwise direction and stops spinning when the light detector  73  cannot detect the light beam from the light generating device. A controller of the cleaning robot estimates a first spin angle of the light detector  73 . Assuming a distance between a first center C of the light detector  73  and a second center C 1  of the cleaning robot  72  is 15 cm, and the length of the line L 1  is 50 cm. The controller estimates the slope rate of the line L 1  according to the first spin angle. Since a first coordinate of the first center C 1  is known at position B and the length of the line L 2  is fixed, a second coordinate of the second center C 1  of the cleaning robot  72  at position C can be therefore acquired. The slope rate of line L 2  can be estimated according to the first coordinate and the second coordinate. An included angle between the lines L 2  and L 3  is the spin angle that the cleaning robot  72  should be spun. 
         [0088]    Step S 3 : 
         [0089]    The cleaning robot  72  moves from position B to position C. In this embodiment, the cleaning robot  72  moves along the line L 1  for a fixed distance. 
         [0090]    Position C to Light Generating Device  71   
         [0091]    Step S 4 : 
         [0092]    The controller calculates an included angle between lines L 1  and L 2 , and then the cleaning robot  72  is spun to let the rib  74  oppose the light generating device  71 . 
         [0093]    Step S 5 : 
         [0094]    The rib  74  is fixed and the cleaning robot moves straightforward to the light generating device  71  with the help of the rib  74 . 
         [0095]      FIG. 8  is a schematic diagram of an embodiment of a cleaning robot according to the invention. The light generating device  81  comprises a wireless signal transmitter  85  and a receiver  86 . The wireless signal transmitter  85  outputs a wireless signal to label a restricted area that the cleaning cannot enter. 
         [0096]    The cleaning robot comprises a detector  83  and a mask  84 . The detector  83  detects of the wireless signal output by the wireless signal transmitter  85 . In one embodiment, the detector  83  can reflect the wireless signal to the receiver  86 . In another embodiment, the mask  84  reflects of the wireless signal to the receiver  86 . Moreover, the cleaning robot further comprises a first wireless signal transmitter to output a first wireless signal, wherein the first wireless signal and the wireless signal output by the wireless signal transmitter  85  have the same encoding format or modulation format. 
         [0097]    When the receiver  86  receives the wireless signal, a control device embedded in the light generating device  81  decodes or demodulates the received wireless signal. When the control device confirms that the received wireless signal has the same coding format or modulation format as the wireless signal output by the light generating device  81 , the control device determines that the cleaning robot is approaching to the light generating device  81 . The control device can determine the distance between the light generating device  81  and the cleaning robot according to the strength of the received signal. 
         [0098]      FIG. 9  is a flowchart of a cleaning robot control method according to another embodiment of the invention. In step S 901 , the cleaning robot moves according to a preset route. Typically, the cleaning robot moves in a random mode or an initial moving mode set by the user when the cleaning robot starts working. When the cleaning robot moves in the random mode, a controller of the cleaning robot starts drawing an indoor plane map. Next time when the cleaning robot executes a cleaning job, the cleaning robot moves according to the indoor plane map to increase efficiency. 
         [0099]    In step S 902 , a detector determines whether a wireless signal from the light generating device is detected. If not, the cleaning robot moves according to the original route. If the detector detects of the wireless signal from the light generating device, step S 903  is then executed. 
         [0100]    In step S 903 , a controller of the cleaning robot first determines whether the strength of the received wireless signal is larger than a predetermined value. If yes, the step S 904  is executed. If the strength of the received wireless signal is not larger than the predetermined value, the wireless signal detected by the detector is regarded as noise interference, and step S 901  is then executed. If the strength of the received wireless signal is larger than the predetermined value, the controller determines a distance between the cleaning robot and the transmitting source outputs the wireless signal according to the strength of the wireless signal. 
         [0101]    In step S 904 , the controller determines whether the received wireless signal is output by the light generating device. If not, the step S 901  is then executed. If the received wireless signal is output by the light generating device, the step S 905  is executed. 
         [0102]    In one embodiment, the detector is a non-omnidirectional light detector. The wireless signal emitted by the light generating device is a light beam carrying encoded information or modulated information. When the detector detects the light beam, the detected beam is decoded or demodulated to confirm whether the light beam is emitted by the light generating device. 
         [0103]    In another embodiment, the detector is an acoustic signal detector and has an acoustic panel. The wireless signal output by the light generating device is an acoustic signal carrying encoded or modulated information. When the detector detects the acoustic signal, the acoustic signal or the information carried by the acoustic signal is decoded or demodulated to determine whether the acoustic signal is output by the light generating device. 
         [0104]    The acoustic panel reflects the received acoustic signal to the light generating device. When the light generating device receives the reflected acoustic signal, the light generating device first determines whether the acoustic signal is output by the light generating device. If yes, the light generating device knows that the cleaning robot is approaching to the light generating device and the light generating device determines the position of the cleaning robot according to the strength of the received acoustic signal. 
         [0105]    In step S 905 , the controller of the cleaning robot determines whether to respond to the event that the detector detects of the wireless signal output by the light generating device. For example, the cleaning robot leaves the area that is covered by the wireless signal. If the controller decides to respond, step S 906  is executed. If the controller decides not to respond, step S 911  is executed and the cleaning robot keeps moving. 
         [0106]    In step S 911 , the controller of the cleaning robot continuous to determine whether the detector of the cleaning robot is still detecting the wireless signal output by the light generating device. If yes, the cleaning robot keeps moving and the step S 911  is still executed. When the detector of the cleaning robot does not detect the wireless signal output by the light generating device, step S 906  is executed. In the step S 911 , the situation where the detector of the cleaning robot does not detect the wireless signal output by the light generating device represents that the cleaning robot may enter the restricted area and the cleaning robot has to leave as soon as possible. 
         [0107]    In the step S 906 , when the detector detects the wireless signal output by the light generating device, the detector transmits a first trigger signal to the controller and the controller determines to execute the step S 906  or step S 911  according to the setting of the cleaning robot and the first trigger signal. In one embodiment, the first trigger signal is transmitted to a GPIO (general purpose input/output pin) and the logic state of the GPIO pin is changed accordingly. For example, assuming the first trigger signal is a rising edge-triggered signal and the default logic state of the GPIO pin is a logic low state, the logic state of the GPIO pin is changed to a logic high state when receiving the rising edge-triggered signal. The change of the logic state of the GPIO pin triggers an interrupt event and the controller of the cleaning robot knows that the detector has detected the wireless signal output from the virtual according to the interrupt event. 
         [0108]    In step S 906 , the cleaning robot stops moving and the detector is spun in a clockwise direction or a counter clockwise direction. Reference can be made to the descriptions related to  FIGS. 2   a - 2   e  for the light detector and the structure and the operation of the light detector. If the detector is an acoustic detector, the acoustic detector is spun and when the acoustic detector detects a maximum strength of the acoustic signal, it indicates that the acoustic detector is opposite to the light generating device and the acoustic detector stops spinning. 
         [0109]    In step S 907 , in one embodiment, assuming that the wireless signal is a light beam, when the detector does not detect the wireless signal output by the light generating device, the controller of the cleaning robot estimates a first spin angle. In another embodiment, assuming that the wireless signal is an acoustic signal, when the acoustic detector detects the maximum strength of the acoustic signal, the controller of the cleaning robot estimates a first spin angle. 
         [0110]    Then, in step S 908 , the controller of the cleaning robot estimates a second spin angle according to the first spin angle, a first center of the detector, a second center of the cleaning robot and a distance between the first center and the second center. Then, the cleaning robot is spun according to the second spin angle (step S 909 ). By this way, it can be sure that the cleaning robot moves straightforward to the light generating device. 
         [0111]    In another embodiment, the controller of the cleaning robot acquires a first coordinate of the first center and a second coordinate of the second center to estimate a relative angle between the first center and the second center. Then, the controller estimates the second spin angle according to the first spin angle and the relative angle. The cleaning robot then spins for the second spin angle. After spinning, the front of the cleaning robot opposes to the light generating device. When the cleaning robot moves straightforward, the cleaning robot is therefore approaching to the light generating device and does not need to calibrate the moving direction during the movement. 
         [0112]    In another embodiment, the cleaning robot and the detection spin simultaneously. Assuming, in one embodiment, the wireless signal is a light beam, when the detector does not detect the wireless signal output by the light generating device, the cleaning robot stops spinning. In another embodiment, assuming that the wireless signal is an acoustic signal, when the acoustic detector detects the maximum strength of the acoustic signal, the cleaning robot stops spinning. Then, in step S 910 , the cleaning robot moves to the light generating device. 
         [0113]    While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.