WO2016028021A1 - Cleaning robot and control method therefor - Google Patents

Cleaning robot and control method therefor Download PDF

Info

Publication number
WO2016028021A1
WO2016028021A1 PCT/KR2015/008353 KR2015008353W WO2016028021A1 WO 2016028021 A1 WO2016028021 A1 WO 2016028021A1 KR 2015008353 W KR2015008353 W KR 2015008353W WO 2016028021 A1 WO2016028021 A1 WO 2016028021A1
Authority
WO
WIPO (PCT)
Prior art keywords
cleaning
cleaning robot
obstacle
driving
doorway
Prior art date
Application number
PCT/KR2015/008353
Other languages
French (fr)
Korean (ko)
Inventor
김원국
천지원
김신
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020150111429A external-priority patent/KR102527645B1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP15833829.3A priority Critical patent/EP3184013A4/en
Priority to AU2015304254A priority patent/AU2015304254B2/en
Priority to US15/505,574 priority patent/US10394249B2/en
Priority to CN201580057197.5A priority patent/CN107072457B/en
Publication of WO2016028021A1 publication Critical patent/WO2016028021A1/en
Priority to AU2018250455A priority patent/AU2018250455B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means

Definitions

  • the disclosed invention relates to a cleaning robot and a control method thereof, and more particularly, to a cleaning robot for automatically cleaning the cleaning space while driving the cleaning space and a control method thereof.
  • the cleaning robot is a device that automatically cleans the cleaning space by driving foreign materials such as dust accumulated on the floor while driving the cleaning space without a user's operation. That is, the cleaning robot travels through the cleaning space and cleans the cleaning space.
  • the conventional cleaning robot cleaned the inside of the cleaning space after cleaning the indoor cleaning space.
  • the cleaning robot generates a map of the cleaning space based on the driving record of the cleaning robot after driving all the indoor cleaning spaces, sets the cleaning area according to the generated map, and cleans the set cleaning area.
  • the cleaning robot has to run all the indoor cleaning spaces irrespective of the cleaning operation in order to generate the map of the cleaning spaces.
  • One aspect of the disclosed invention is to provide a cleaning robot and a method for controlling the cleaning robot that set the cleaning area in real time while driving the cleaning space and clean the set cleaning area first.
  • a cleaning robot includes at least one of a plurality of areas included in the cleaning space during cleaning of the main body, a traveling part for moving the main body, a cleaning part for cleaning a cleaning space, and a cleaning area. And a control unit for cleaning the cleaning area when the cleaning area is set.
  • the controller may determine the position of the entrance and exit of the cleaning area while the main body is running, and generate the cleaning area based on the determined position of the entrance and the driving record of the main body.
  • the cleaning robot may further include an obstacle detector configured to detect an obstacle that prevents the movement of the main body, and the controller may control the driving unit so that the main body travels along an outline of the obstacle.
  • the driving record of the main body may include location information on which the main body travels and outline information of the obstacle.
  • the controller may determine the position of the doorway based on the current position of the main body and the driving record while driving along the outline of the obstacle.
  • the controller may control the first position.
  • the position of the doorway may be determined between the convex edge and the second convex edge.
  • the controller may determine the first convex.
  • the position of the entrance and exit may be determined between the edge and the first wall surface.
  • the controller controls the first wall surface. It may be determined between the first convex edge and the position of the doorway.
  • the controller may generate a closed curve by connecting the position of the entrance and the position information of the main body.
  • control unit may simplify the closed curve and rotate the simplified closed curve.
  • the cleaning robot may further include an image acquisition unit configured to acquire images of the front and the upper side of the main body, and the control unit may determine the position of the doorway based on the front image of the main body obtained by the image acquisition unit. Can be.
  • the controller may determine the position of the doorway by extracting the feature point from the front image and comparing the extracted feature point with the shape of the doorway.
  • the controller may set the cleaning area based on the upper image of the main body.
  • the controller may extract a feature point from the upper image and set the cleaning area based on the extracted feature point.
  • the cleaning robot further includes a radar sensor that transmits a radio wave or an optical signal toward the front of the main body and receives a reflected wave or an optical signal reflected from a detection target, and the control unit receives the received reflected wave or an optical signal.
  • the position and the direction of the detection object may be determined based on.
  • the cleaning robot may include various sensors including a radar sensor.
  • the controller may determine the location of the entrance and exit based on the received reflected wave or the optical signal.
  • the controller may set the cleaning area based on the position of the doorway and the driving record of the main body.
  • the cleaning robot may further include a magnetic field detector configured to detect a magnetic field generated by the magnetic band installed at the entrance and exit.
  • the controller may determine the position of the doorway based on a detection result of the magnetic field detector.
  • the controller may set the cleaning area based on the position of the doorway and the driving record of the main body.
  • the cleaning robot may further include a cleaning part for cleaning the cleaning area, and the controller may control the cleaning part to first clean the inside of the set cleaning area.
  • a method of controlling a cleaning robot drives the cleaning robot, sets a cleaning area while the cleaning robot is running, and sets the cleaning area first when the cleaning area is set. It may include cleaning the cleaning area while driving the cleaning area.
  • the setting of the cleaning area may include determining the position of the entrance and exit of the cleaning area while the cleaning robot is running, and generating the cleaning area based on the determined position of the entrance and the driving record of the cleaning robot. It may include.
  • driving the cleaning robot may include driving along an outline of an obstacle that prevents the cleaning robot from moving.
  • the driving record may include position information of the cleaning robot and outline information of the obstacle.
  • determining the position of the doorway may include determining the position of the doorway based on the current position of the cleaning robot and the driving record.
  • Determining the position of the doorway is that the driving record of the current location of the cleaning robot is a first convex corner of the obstacle and the driving record traveling along the second convex corner of the obstacle within a predetermined distance from the current position If present, it may include determining the location of the doorway between the first convex edge and the second convex edge.
  • determining the position of the doorway includes a driving record in which the current position of the cleaning robot travels along the first wall of the obstacle within a predetermined distance from the first convex edge of the obstacle and within a predetermined distance from the current position. If not, it may include determining the position of the doorway between the first convex edge and the first wall surface.
  • determining the position of the doorway includes a driving record in which the current position of the cleaning robot is the first wall surface of the obstacle and travels along the first convex edge of the obstacle within a predetermined distance from the current position. If not, it may include determining the position of the doorway between the first wall surface and the first convex edge.
  • generating the cleaning area may generate the cleaning area based on the position of the doorway and the driving record.
  • the generating of the cleaning area may include generating a closed curve by connecting the position of the doorway and the position information of the cleaning robot, simplifying the closed curve, and rotating the simplified closed curve. .
  • determining the location of the doorway may include determining the location of the doorway based on a front image of the cleaning robot.
  • generating the cleaning area may include generating the cleaning area based on an upper image of the cleaning robot.
  • determining the location of the doorway may include determining the location of the doorway based on a reflected wave reflected from an obstacle that prevents the cleaning robot from running.
  • Determining the location of the doorway may include determining the location of the doorway according to whether the magnetic field generated by the magnetic band installed in the doorway is detected.
  • a cleaning robot includes a main body, a traveling part for moving the main body, a cleaning part performing cleaning, and when an entrance is detected while driving the main body, an area partitioned by the entrance is set as a cleaning area. It may include a control unit for cleaning.
  • the cleaning robot may further include a motion detector configured to obtain a travel record including position information and a travel angle of the main body while the main body travels, and a storage unit that stores the travel record.
  • the controller may control the driving unit to move the main body to a predetermined reference position.
  • the controller may determine whether the main body repeatedly travels the same path based on the position information and the travel angle of the driving record.
  • the controller may control the driving unit to move the main body to the doorway.
  • the controller may control the driving unit so that the main body travels in a predetermined direction.
  • a cleaning robot includes a main body, a moving part for moving the main body, a cleaning part for cleaning a cleaning space including a plurality of areas, and at least one area of the plurality of areas during driving of the main body.
  • the control unit may include a controller configured to clean an area, and reset and clean at least one of the remaining areas to a cleaning area when the cleaning of the at least one area is completed.
  • FIG 1 and 2 briefly illustrate the operation of the cleaning robot according to an embodiment.
  • FIG 3 shows a control configuration of the cleaning robot according to one embodiment.
  • FIG. 4 illustrates an appearance of a cleaning robot according to an embodiment.
  • 5 and 6 show the interior of the cleaning robot according to one embodiment.
  • FIG. 7 illustrates a bottom surface of the cleaning robot according to an embodiment.
  • FIG. 8 and 9 illustrate an example of detecting an obstacle located in front of an obstacle detecting unit included in a cleaning robot according to an embodiment.
  • FIG. 10 illustrates an example in which an obstacle detecting unit included in a cleaning robot detects a side obstacle.
  • FIG. 11 illustrates a method of cleaning a cleaning space by a cleaning robot according to an embodiment.
  • 12 to 14 show an example of cleaning the cleaning space by the cleaning robot according to an embodiment according to the method shown in FIG.
  • FIG. 15 illustrates a method of cleaning the cleaning space by the cleaning robot according to an exemplary embodiment.
  • FIG. 16 and 17 illustrate an example in which the cleaning robot according to the embodiment travels through the cleaning space according to the method illustrated in FIG. 15.
  • FIG. 18 illustrates an example in which a cleaning robot according to an embodiment stores a cleaning record according to the method illustrated in FIG. 15.
  • 19 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
  • FIG. 20 illustrates an example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area, according to an exemplary embodiment.
  • 21 to 23 illustrate an example of a process in which a cleaning robot determines an entrance and exit of a cleaning area according to the method illustrated in FIG. 20.
  • FIG. 24 illustrates another example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area, according to an exemplary embodiment.
  • 25 to 27 illustrate an example of a process in which a cleaning robot determines an entrance and exit of a cleaning area according to the method illustrated in FIG. 24.
  • FIG. 28 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
  • 29 to 32 illustrate an example of a process of setting a cleaning area by a cleaning robot according to an embodiment according to the method illustrated in FIG. 28.
  • FIG 33 is a view illustrating a cleaning robot cleaning a cleaning area, according to an exemplary embodiment.
  • 34 to 36 show an example of a process of cleaning the cleaning area by the cleaning robot according to the embodiment shown in FIG. 33.
  • FIG. 37 illustrates a method of cleaning, by the cleaning robot, the uncleaned area according to an embodiment.
  • 38 and 39 illustrate an example of a process of cleaning the uncleaned region by the cleaning robot according to the embodiment shown in FIG. 37.
  • 40 is a diagram illustrating a method of determining whether a cleaning robot repeatedly travels on the same path, according to an exemplary embodiment.
  • 41 and 42 illustrate an example in which the cleaning robot according to an embodiment repeatedly travels on the same path.
  • 43 illustrates an example of a method in which the cleaning robot according to an embodiment deviates from repeated driving.
  • FIG. 44 shows an example in which the cleaning robot travels in accordance with the method illustrated in FIG. 43.
  • 45 is a view illustrating another example of a method in which the cleaning robot according to one embodiment is released from repeated driving.
  • 46 and 47 show an example in which the cleaning robot travels according to the method shown in FIG. 45.
  • 49 to 52 show an example in which the cleaning robot travels according to the method illustrated in FIG. 48.
  • Fig. 53 is a diagram illustrating a control configuration of a cleaning robot according to another embodiment.
  • FIG. 54 is a view illustrating a cleaning robot cleaning a cleaning space according to another embodiment.
  • 55 to 59 illustrate an example in which the cleaning robot according to the embodiment cleans the cleaning space according to the method illustrated in FIG. 54.
  • 60 is a control diagram of the cleaning robot according to another embodiment.
  • 61 is a view illustrating a cleaning robot cleaning a cleaning space, according to another embodiment.
  • FIG. 62 shows a control configuration of a cleaning robot according to another embodiment.
  • Fig. 63 shows the cleaning space in which the magnetic band is installed.
  • 64 is a view illustrating a cleaning robot cleaning a cleaning space according to another embodiment.
  • 65 to 67 illustrate a process of cleaning the cleaning space by the cleaning robot according to another embodiment according to the cleaning method illustrated in FIG. 64.
  • ⁇ part may refer to a unit for processing at least one function or operation. .
  • it may mean hardware such as software stored in memory, a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC).
  • FPGA field-programmable gate array
  • ASIC application specific integrated circuit
  • ⁇ part may be components stored in accessible storage media and performed by one or more processors.
  • FIG 1 and 2 briefly illustrate the operation of the cleaning robot according to an embodiment.
  • the cleaning robot 100 may travel the floor of the cleaning space A in the cleaning space A.
  • the cleaning robot 100 may clean the cleaning space A while traveling in the cleaning space A.
  • the cleaning robot 100 located at an arbitrary position of the cleaning space A travels in an arbitrary direction as shown in FIG. 1 and cleans when it encounters an obstacle O such as a wall surface or furniture while driving.
  • the robot 100 may travel along the outline of the obstacle O.
  • the obstacle (O) may correspond to all objects that hinder the running of the cleaning robot (100).
  • an object that obstructs the running of the cleaning robot 100 such as a wall separating the cleaning space A and furniture located in the cleaning space A, may correspond to an obstacle O.
  • the cleaning robot 100 may divide the cleaning space A into a plurality of cleaning areas for quick and efficient cleaning, and the cleaning robot 100 may clean the cleaning area while driving in each divided cleaning area. .
  • the cleaning space A is divided into a plurality of spaces R1, R2, and R3.
  • the cleaning space A may be divided into a first room R1, a second room R2, and a living room R3 as shown in FIG. 1.
  • each cleaning space A is connected to each other by the entrances E1 and E2.
  • the first room R1 and the living room R3 are connected by the first doorway E1
  • the second room R2 and the living room R3 are connected to the second doorway (R1). It can be connected by E2).
  • the cleaning space A can be viewed as a collection of a plurality of regions connected by the entrances E1 and E2.
  • the cleaning robot 100 may set the cleaning area in real time while driving by using the conventional features of the cleaning space A.
  • FIG. 1 is a diagrammatic representation of the cleaning robot 100.
  • the cleaning robot 100 determines an entrance and exit while driving, and sets a cleaning area based on the determined entrance and driving record.
  • the cleaning robot 100 when the cleaning robot 100 traveling along the outline of the obstacle O recognizes the first entrance E1, the cleaning robot 100 recognizes the recognized first entrance E1. ),
  • the first room R1 may be recognized.
  • the cleaning robot 100 may set the first room R1 as the first cleaning area A1, and clean the first cleaning area A1 before other areas of the cleaning space A.
  • the cleaning robot 100 may set the cleaning area based on the entrance and exit while driving, and may preferentially clean the set cleaning area over other areas of the cleaning space A.
  • the cleaning robot 100 sets the cleaning area while driving and first cleans the set cleaning area, the cleaning robot 100 can clean the cleaning space A more quickly and efficiently.
  • FIG. 3 illustrates a control configuration of the cleaning robot according to an embodiment
  • FIG. 4 illustrates an appearance of the cleaning robot according to an embodiment
  • 5 and 6 show the inside of the cleaning robot according to one embodiment
  • FIG. 7 shows the bottom surface of the cleaning robot according to one embodiment.
  • the cleaning robot 100 may include a main body 101 and a sub body 103.
  • the main body 101 may have a substantially semi-cylindrical shape
  • the sub body 103 may have a substantially rectangular parallelepiped shape.
  • component parts for realizing the function of the cleaning robot 100 may be provided inside and outside the main body 101 and the sub body 103.
  • the cleaning robot 100 may detect a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle O of the cleaning space A.
  • FIG. It includes an obstacle detecting unit 140 for detecting, the driving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space and the control unit 110 for the overall control of the operation of the cleaning robot 100. can do.
  • the user interface 120 may be provided on an upper surface of the main body 101 of the cleaning robot 100, and the plurality of input buttons 121 and the cleaning robot 100 that receive control commands from the user may be provided. It may include a display 123 for displaying the operation information of the).
  • the plurality of input buttons 121 may include a power button 121a for turning on or off the cleaning robot 100, an operation button 121b for operating or stopping the cleaning robot 100, and a cleaning station 100. It may include a return button (121c) for returning to the (not shown).
  • Each of the buttons included in the plurality of input buttons 121 is a push switch that senses the user's pressure and a membrane switch or a touch switch that senses the contact of the user's body part. Etc. can be employed.
  • the display 123 displays the information of the cleaning robot 100 in response to a control command input by the user.
  • the display 123 may display an operation state of the cleaning robot 100, a power supply state, and a user's selection.
  • the cleaning mode, whether to return to the charging station, etc. can be displayed.
  • the display 123 employs a light emitting diode (LED), an organic light emitting diode (OLED), or a liquid crystal display having a separate light emitting source. can do.
  • LED light emitting diode
  • OLED organic light emitting diode
  • liquid crystal display having a separate light emitting source. can do.
  • the display 123 may adopt a touch screen panel (TSP) that receives a control command from a user and displays operation information corresponding to the received control command.
  • TSP touch screen panel
  • the touch screen panel includes a display that displays motion information and control commands that can be input by the user, a touch panel that detects coordinates of a user's body part, and a touch coordinate that is detected by the touch panel. It may include a touch screen controller for determining the input grant command.
  • the touch screen controller may recognize the control command input by the user by comparing the touch coordinates of the user detected through the touch panel with the coordinates of the control command displayed through the display.
  • the motion detector 130 may detect a movement of the cleaning robot 100 while the cleaning robot 100 travels in the cleaning space A.
  • the motion detector 130 may detect the acceleration, the moving speed, the moving displacement, the moving direction, and the like of the cleaning robot 100 while the cleaning robot 100 linearly moves.
  • the movement detector 130 may detect a rotation speed, a rotation displacement, a rotation radius, and the like of the cleaning robot 100 while the cleaning robot 100 rotates.
  • the motion detector 130 may include an acceleration sensor 131 for detecting linear movement information of the cleaning robot 100 and a gyro sensor 133 for detecting rotation movement information of the cleaning robot 100.
  • the acceleration sensor 131 detects linear movement information of the cleaning robot 100.
  • the acceleration sensor 131 may detect linear acceleration, linear speed, linear displacement, and the like of the cleaning robot 100 using Newton's second law of motion (acceleration law).
  • the acceleration sensor 131 may employ a piezoelectric acceleration sensor, a capacitive acceleration sensor, a strain gauge type acceleration sensor, or the like.
  • the piezoelectric acceleration sensor includes a piezoelectric element that outputs an electrical signal by mechanical deformation, and detects acceleration using the electrical signal output by the piezoelectric element. Specifically, the piezoelectric acceleration sensor detects the electrical signal output from the piezoelectric element according to the deformation of the piezoelectric element due to the acceleration, and calculates the acceleration from the detected electrical signal.
  • the capacitive acceleration sensor In the capacitive acceleration sensor, the distance between structures is changed by inertial force, and the acceleration is detected by changing the capacitance due to the change of the distance.
  • the capacitive acceleration sensor includes a flowable structure and a fixed structure, detects a change in distance between the structures due to inertial force as a change in capacitance, and calculates an acceleration from the detected change in capacitance.
  • the strain gauge type acceleration sensor detects acceleration using a strain gauge that converts electrical resistance by mechanical deformation. Specifically, the strain gauge type acceleration sensor detects the deformation of the structure due to the acceleration as a change in the electrical resistance, and calculates the acceleration from the change in the detected electrical resistance.
  • the acceleration sensor 131 may employ a micro electro mechanical system (MEMS) type sensor that is miniaturized by fusing micromechanical, microelectronic, and semiconductor process technologies.
  • MEMS micro electro mechanical system
  • the gyro sensor 133 is called a gyroscope or an angular velocity sensor and detects rotational movement information of the cleaning robot 100.
  • the gyro sensor 133 may detect the rotational angular velocity and the rotational displacement of the detection target by using the angular momentum conservation law, the Sagnac effect, the Coriolis force, and the like.
  • the gyro sensor 133 may employ a gimbal gyro sensor, an optical gyro sensor, a vibrating gyro sensor, or the like.
  • the gimbal type gyro sensor is a precession motion in which the rotating axis of the rotating object rotates along a constant track by preserving the angular momentum and when an external force is applied to the rotating object to maintain a constant rotation axis that the rotating object is the center of rotation. Use to detect the rotational movement of the object.
  • the optical gyro sensor detects the rotational motion of the object by using the Sagnac Effect in which the time transmitted from the clockwise and counterclockwise directions along the circular light path reaches the origin by the rotation of the object. .
  • the vibratory gyro sensor detects the rotational motion of the object by using Coriolis force generated by the rotation of the object.
  • a rotational motion of the object is detected by using a phenomenon of vibrating in a new direction by Coriolis force.
  • the gyro sensor 133 may also employ a MEMS (Micro Electro Mechanical System) sensor.
  • MEMS Micro Electro Mechanical System
  • the capacitive gyro sensor detects the deformation of the micromechanical structure due to the Coriolis force proportional to the rotational speed as the change in capacitance, and calculates the rotational speed from the change in the capacitance.
  • the motion detector 130 is not limited to the acceleration sensor 131 and the gyro sensor 133.
  • the motion detector 130 may include an encoder (not shown) that detects rotation of the driving wheel 163 of the driving unit 160 to be described later.
  • the encoder may include a light emitting device for transmitting light, a light receiving device for receiving light, an encoder controller for detecting a rotational slit and a fixed slit provided between the light emitting device and the light receiving device, and a rotational speed and rotational displacement of the rotational slit.
  • the rotary slit may be provided to rotate together with the traveling wheel 163, and the fixed slit may be fixed to the main body 101.
  • light transmitted by the light emitting element passes through the rotating slit to reach the light receiving element or is blocked by the rotating slit.
  • the light receiving element receives pulse-shaped light according to the rotation of the rotating slit, and outputs an electrical signal according to the received light.
  • the encoder controller calculates the rotational speed and rotational displacement of the traveling wheel 163 based on the electrical signal output from the light receiving element, and based on the rotational speed and the rotational displacement of the traveling wheel 163.
  • a linear movement speed, a linear movement displacement, a rotation movement speed, a rotation movement displacement, and the like may be calculated and provided to the controller 110 to be described later.
  • the obstacle detecting unit 140 detects an obstacle O that hinders the movement of the cleaning robot 100.
  • the obstacle (O) as described above protrudes from the bottom of the cleaning space (A) to hinder the movement of the cleaning robot 100 or pit from the bottom of the cleaning space (A) to hinder the movement of the cleaning robot (100) It means everything that can be done, and may correspond to an obstacle O such as a table, a furniture such as a sofa, a wall partitioning the cleaning space A, and a porch lower than the floor of the cleaning space A.
  • the obstacle detecting unit 140 includes a front light transmitting module 141 for transmitting light toward the front of the cleaning robot 100, a front light receiving module 143 for receiving light reflected from an obstacle O, and a cleaning robot. It may include a side optical sensor module 145 for transmitting the light toward the side of the (100) and for receiving the light reflected from the obstacle (O).
  • the cleaning robot 100 uses light such as infrared rays in order to detect the obstacle O, but is not limited thereto, and may use laser, ultrasonic waves, or radio waves.
  • the front light transmitting module 141 may include a light source 141a for transmitting light and a wide-angle lens 141b for diffusing the transmitted light in a direction parallel to the cleaning floor, as shown in FIGS. 5 and 6. .
  • the light source 141a may employ an LED (Light Emitting Diode) or a laser (Light Amplification by Simulated Emission of Radiation (LASER)) diode that emits light in various directions.
  • LED Light Emitting Diode
  • LASER Simulated Emission of Radiation
  • the wide-angle lens 141b may be formed of a material capable of transmitting light, and diffuses light emitted from the light source 141a in a direction parallel to the cleaning floor by using refraction or total reflection.
  • Light transmitted from the front light transmitting module 141 due to the wide-angle lens 141b may be diffused in a fan shape toward the front of the cleaning robot 100. (In the following, a direction parallel to the cleaning floor may be diffused to form a fan shape. Light having is called plane light.)
  • the front light transmitting module 141 may transmit light toward all directions in front of the cleaning robot 100.
  • the obstacle detecting unit 140 is a plurality of front light transmitting module 141 as shown in Figs. 5 and 6 so that the portion where the plane light transmitted by the front light transmitting module 141 does not reach the minimum. It may include.
  • the front light receiving module 143 may include a reflection mirror 143a for concentrating the light reflected from the obstacle O and an image sensor 143b for receiving the light reflected by the reflection mirror 143a.
  • the image sensor 143b may be provided under the reflection mirror 143a and receive the light reflected by the reflection mirror 143a.
  • the image sensor 143a may acquire a 2D image formed on the reflection mirror 143a by the reflected light reflected by the obstacle O.
  • the image sensor 143a may be configured as a two-dimensional image sensor in which the optical sensor is arranged in two dimensions.
  • the image sensor 143b may employ a complementary metal oxide semiconductor (CMOS) sensor or a charge coupled device (CCD) sensor.
  • CMOS complementary metal oxide semiconductor
  • CCD charge coupled device
  • the image sensor 143b may preferably employ an image sensor 143b capable of receiving light having the same wavelength as that of the light source 143a of the front light transmitting module 141.
  • the image sensor 143b may also employ an image sensor 143b capable of acquiring an image in the infrared region.
  • the front light receiving module 143 may receive the reflected light reflected from all directions in front of the cleaning robot 100.
  • the number of front light receiving module 143 and the front light transmitting module 141 may be provided.
  • the front light transmitting module 141 diffuses the light transmitted from the light source 141a in various directions using the wide-angle lens 141b, and the front light receiving module 143 uses the reflection mirror 143a.
  • the obstacle detecting unit 140 may include a different number of front light transmitting modules 141 and front light receiving modules 143.
  • the front light transmitting module 141 for transmitting light in all directions in front of the cleaning robot 100 and the front light receiving reflection light reflected from all directions in front of the cleaning robot 100 with respect to the obstacle detecting unit 140.
  • the reception module 143 has been described, the front light transmitting module 141 and the front light receiving module 143 are not limited thereto.
  • the obstacle detecting unit 140 transmits light in a straight line toward a specific direction in front of the cleaning robot 100 and detects the position of the obstacle O using the reflected light reflected from the obstacle O. It may also include an optical sensor module.
  • the side light sensor module 145 transmits the light obliquely toward the left side of the cleaning robot 100 and the right side of the cleaning robot 100 and the left light sensor module 145a which receives the light reflected from the obstacle O. It may include a left optical sensor module 145b for transmitting the light obliquely toward and receiving the light reflected from the obstacle (O).
  • the side light sensor module 145 may be used not only for detecting the obstacle O but also for driving the cleaning robot 100.
  • the side light sensor module 145 may be disposed between the side of the cleaning robot 100 and the obstacle O. After detecting the distance, the controller 110 may control the driving unit 160 to maintain the constant distance from the obstacle O based on the detection result of the side light sensor module 145.
  • the side light sensor module 145 is mainly configured to assist the front light transmitting module 141 and the front light receiving module 143 for detecting an obstacle O located in front of the cleaning robot 100. Therefore, the obstacle detecting unit 140 may not include the side light sensor module 145.
  • the driving unit 160 moves the cleaning robot 100 and may include a wheel driving motor 161, a driving wheel 163, and a caster wheel 155 as shown in FIG. 7.
  • the traveling wheels 163 may be provided at both ends of the bottom surface of the main body 101, and the left traveling wheels 163a and the cleaning robots provided on the left side of the cleaning robot 100 based on the front of the cleaning robot 100. It may include a right driving wheel (163b) provided on the right side of the 100.
  • the driving wheel 163 receives the rotational force from the wheel driving motor 161 to move the cleaning robot 100.
  • the wheel drive motor 161 generates a rotational force for rotating the traveling wheel 163, and the right driving motor 161b for rotating the left driving motor 161a for rotating the left driving wheel 163a and the right driving wheel 163b. ).
  • the left driving motor 161a and the right driving motor 161b may operate independently by receiving driving control signals from the controller 110, respectively.
  • the left driving wheel 163a and the right driving wheel 163b may be independently rotated by the left driving motor 161a and the right driving motor 161b.
  • the cleaning robot 100 may perform various driving operations such as forward driving, backward driving, rotary driving, and in-situ rotation.
  • the cleaning robot 100 travels straight forward (forward), and both the left and right travel wheels 163a and 163b rotate in the second direction.
  • the lower body body 101 can travel straight (reverse) backward.
  • the left and right driving wheels 163a and 163b rotate in the same direction, but when rotated at different speeds, the cleaning robot 100 rotates to the right or left.
  • the cleaning robot 100 may rotate in place clockwise or counterclockwise.
  • the caster wheel 165 may be installed on the bottom of the main body 101 so that the rotating shaft of the caster wheel 165 may rotate according to the moving direction of the cleaning robot 100. As such, the caster wheel 165 in which the rotating shaft of the wheel rotates according to the moving direction of the cleaning robot 100 does not interfere with the running of the cleaning robot 100, and the cleaning robot 100 may travel while maintaining a stable posture. To help.
  • the driving unit 160 may include a motor driving circuit (not shown) for supplying a driving current to the wheel driving motor 163 and the rotational force of the wheel driving motor 161 according to the control signal of the controller 110.
  • the power transmission module (not shown) to transmit to the 163, the wheel driving motor 161 or a rotation sensor (not shown) for detecting the rotational displacement and rotation speed of the driving wheel 163 may be further included.
  • the cleaning unit 170 includes a drum brush 173 that scatters dust at the bottom of the cleaning area, a brush drive motor 171 that rotates the drum brush 173, a dust suction fan 177 that sucks scattered dust, and a dust suction unit.
  • the drum brush 173 is provided at the dust suction port 105 formed at the bottom of the sub body 103, and is cleaned while rotating about a rotating shaft provided horizontally with the cleaning floor of the sub body 103. Dust on the floor scatters the dust inlet 105 inside.
  • the brush driving motor 171 is provided adjacent to the drum brush 173 to rotate the drum brush 173 according to the cleaning control signal of the controller 110.
  • the cleaning unit 170 drums the rotational force of the motor driving circuit (not shown) and the brush driving motor 171 to supply the driving current to the brush driving motor 171 according to the control signal of the controller 110.
  • a power transmission module (not shown) for transmitting to the brush 173 may be further included.
  • the dust suction fan 177 is provided in the main body 101 as shown in FIGS. 5 and 6 to suck the dust scattered by the drum brush 173 into the dust box 179.
  • the dust suction motor 175 is provided at a position adjacent to the dust suction fan 177 and rotates the dust suction fan 177 according to a control signal of the controller 110.
  • the cleaning unit 170 dusts the rotational force of the motor driving circuit (not shown) and the dust suction motor 175 to supply a driving current to the dust suction motor 175 according to the control signal of the controller 110.
  • a power transmission module (not shown) for transmitting to the suction fan 177 may be further included.
  • Dust box 179 is provided in the main body 101, as shown in Figure 5 and 6, and stores the dust sucked by the dust suction fan 177.
  • the cleaning unit 170 may include a dust guide tube for guiding the dust sucked through the dust suction port 105 of the service body 103 to the dust box 179 provided in the main body 101.
  • the controller 110 collectively controls the operation of the cleaning robot 100.
  • the controller 110 includes an input / output interface 117 for mediating data entry and exit between various components included in the cleaning robot 100 and the controller 110, a memory 115 for storing programs and data, and an image. It may include a graphics processor 113 for performing processing and a main processor 111 for performing arithmetic operations according to programs and data stored in the memory 113. In addition, the control unit 110 may be provided with a system bus 119 for transmitting and receiving data between the input / output interface 117, the memory 115, the graphic processor 113, and the main processor 111.
  • the input / output interface 117 receives a user command received by the user interface 120, motion information of the cleaning robot 100 detected by the motion detector 130, obstacle location information detected by the obstacle detector 140, and the like. This is transmitted to the main processor 111, the graphics processor 113, the memory 115, and the like through the system bus 119.
  • the input / output interface 117 may transmit various control signals output from the main processor 111 to the user interface 120, the driving unit 160, or the cleaning unit 170.
  • the memory 115 may include a control program and control data for controlling the operation of the cleaning robot 100, a user command received by the user interface 120, motion information detected by the motion detector 130, and an obstacle detector 140.
  • the obstacle position information detected by the controller and various control signals output from the main processor 111 may be temporarily stored.
  • the memory 115 may be a flash memory, a read only memory, an erasable programmable read only memory (EPROM), or an ypyrom, as well as volatile memory such as an S-RAM and a D-RAM. It may include a nonvolatile memory such as Electrically Erasable Programmable Read Only Memory (EEPROM).
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • the nonvolatile memory may semi-permanently store the control program and control data for controlling the operation of the cleaning robot 100, the volatile memory is temporarily stored by loading the control program and control data from the nonvolatile memory, or the user
  • the user command received by the interface 120, the motion information detected by the motion detector 130, the obstacle location information detected by the obstacle detector 140, and various control signals output by the main processor 111 may be temporarily stored. have.
  • the graphic processor 113 converts the reflected light image acquired by the obstacle detecting unit 150 into an image having a resolution that can be processed by the main processor 111 or converts the reflected light image into a format that can be processed by the main processor 111. I can convert it.
  • the main processor 111 processes the data stored in the memory 115 according to the control program stored in the memory 115.
  • the main processor 161 may process the detection result of the motion detector 130 and the obstacle detector 140, and generate a control signal for controlling the driving unit 160 and the cleaning unit 170. .
  • the main processor 111 generates driving record information based on the movement information of the cleaning robot 100 detected by the movement detecting unit 130 and stores the generated driving record information in the memory 115 or the obstacle detecting unit 150.
  • the direction, distance, and size of the obstacle may be calculated based on the reflected light image obtained by).
  • the main processor 111 calculates a driving path for avoiding the obstacle O according to the direction, distance, and size of the obstacle O, and the driving unit to move the cleaning robot 100 along the calculated driving path.
  • the driving control signal to be provided to 160 may be generated.
  • the controller 110 determines the position and movement of the cleaning robot 100 based on the motion information of the motion detector 130, and determines the obstacle O based on the obstacle detection signal of the obstacle detector 140. The location and size can be determined.
  • controller 110 may control the driving unit 160 so that the cleaning robot 100 travels on the cleaning floor, and control the cleaning unit 170 to clean the cleaning floor while the cleaning robot 100 runs.
  • An operation of the cleaning robot 100 to be described below may be interpreted as an operation by a control operation of the controller 110.
  • FIG. 8 and 9 illustrate an example of detecting an obstacle located in front of an obstacle detecting unit included in a cleaning robot according to an embodiment
  • FIG. 10 illustrates a side obstacle of an obstacle detecting unit included in a cleaning robot according to an embodiment. Shows an example of detecting.
  • the obstacle detecting unit 140 may include a front light transmitting module 141, a front light receiving module 143, and a side light sensor module 145.
  • the front light transmitting module 141 included in the obstacle detecting unit 140 may transmit the light toward the front of the cleaning robot 100, and the light transmitted toward the front by the front light transmitting module 141 may be forward. As shown in FIG. 8, it diffuses into a fan shape.
  • the light emitted from the front light transmitting module 141 is advanced toward the front of the cleaning robot 100, and the front light receiving module 143 is an obstacle. It does not receive light reflected from (O).
  • the light emitted from the front light transmitting module 141 is reflected at the obstacle O, and the light reflected from the obstacle O is shown in FIG. 9. As reflected, it is reflected in various directions (reflective reflection).
  • some of the reflected light reflected from the obstacle O may be directed to the front light receiving module 143 of the cleaning robot 100.
  • the reflected light directed to the light receiving module 143 is reflected by the reflecting mirror 143a so that its traveling path is directed to the image sensor 143b, and the image sensor 143b receives the reflected light reflected from the reflecting mirror 143a. do.
  • the image sensor 143b may obtain a two-dimensional reflected light image, and the obstacle detecting unit 140 may distance the obstacle O based on the reflected light image. And directions can be calculated.
  • the incident angle at which light reflected from the obstacle O is incident on the reflection mirror 143a varies between the light transmission module 143 and the obstacle O.
  • light incident on the reflection mirror 143a at different incident angles is received at different positions of the image sensor 143b.
  • the position where the image sensor 143b receives the reflected light differs depending on the distance between the light transmitting module 143 and the obstacle O. That is, the reflected light image acquired by the image sensor 143b varies according to the distance between the light transmitting module 143 and the obstacle O.
  • the light reflected from the obstacle O located at a distance from the cleaning robot 100 has a large incident angle incident on the reflection mirror 143a and is reflected at a position far from the vertex of the reflection mirror 143a.
  • the image will be generated.
  • the incident angle at which the light reflected from the obstacle O located at a close distance from the cleaning robot 100 is incident on the reflection mirror 143a is small, and the reflected light image is located at a position close to the vertex of the reflection mirror 143a. Will be generated.
  • the position where the light reflected from the obstacle O is incident on the reflection mirror 143a is different. Also, the reflected light reflected at different positions of the reflection mirror 143a is received at different positions of the image sensor 143b. As a result, the position where the image sensor 143b receives the reflected light differs depending on the direction of the obstacle O. As shown in FIG. That is, the reflected light image acquired by the image sensor 143b varies according to the direction of the obstacle O based on the cleaning robot 100.
  • the cleaning robot 100 may calculate the direction and distance of the obstacle O based on the reflected light image received by the image sensor 143b.
  • the side light sensor module 145 transmits light in a straight line toward the side of the cleaning robot 100 and reflects reflected light from an obstacle O positioned on the side of the cleaning robot 100. Can be received.
  • the side light sensor module 145 may transmit the information related to the received reflected light to the control unit 110, the control unit 110 between the cleaning robot 100 and the obstacle (O) based on the information related to the reflected light. The distance can be calculated.
  • the side light sensor module 145 may transmit the intensity of the received reflected light to the controller 110, and the controller 110 may be configured between the cleaning robot 100 and the obstacle O based on the intensity of the reflected light.
  • the distance of can be calculated.
  • the control unit 110 determines that the distance between the cleaning robot 100 and the obstacle O is shorter as the intensity of the reflected light is stronger, and between the cleaning robot 100 and the obstacle O as the intensity of the reflected light is weaker. It can be judged that the distance of is far.
  • the side light sensor module 145 may transmit a time of fight (TOF) between the emitted outgoing light and the received reflected light to the controller 110, and the controller 110 cleans based on the TOF.
  • TOF time of fight
  • the distance between the robot 100 and the obstacle O may be calculated. Specifically, the controller 110 determines that the shorter the TOF is, the shorter the distance between the cleaning robot 100 and the obstacle O is, and the longer the TOF is, the longer the distance between the cleaning robot 100 and the obstacle O is. You can judge.
  • the side light sensor module 145 may transmit the distance between the transmission position where the light is transmitted and the reception position where the light is received, to the controller 110.
  • the distance between the cleaning robot 100 and the obstacle O may be calculated based on the distance. Specifically, the control unit 110 determines that the distance between the cleaning robot 100 and the obstacle O is shorter as the distance between the light transmitting position and the receiving position is closer, and the distance between the light transmitting position and the receiving position is farther. It may be determined that the distance between the cleaning robot 100 and the obstacle O is farther.
  • FIG. 11 illustrates a method of cleaning a cleaning space by a cleaning robot according to an embodiment
  • FIGS. 12 to 14 illustrate examples of cleaning a cleaning space by a cleaning robot according to the method shown in FIG. 11. Shows.
  • the cleaning robot 100 travels through the cleaning space A (1100).
  • the cleaning robot 100 may travel in any direction from any position.
  • the arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
  • the cleaning robot 100 can travel in any direction at the start of driving.
  • the cleaning robot 100 may travel toward the front at the start of driving.
  • the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
  • the cleaning robot 100 does not change the driving direction until the obstacle O is found.
  • the cleaning robot 100 sets the cleaning area while driving in the cleaning space (1200).
  • the cleaning area means a unit in which the cleaning robot 100 performs cleaning as part of the cleaning space A.
  • the cleaning robot 100 may clean another cleaning area after cleaning one cleaning area.
  • the cleaning area may be set to correspond to one room or living room that is separated from the other area by the wall and connected to the other area by the entrance or the like.
  • the present invention is not limited thereto, and in some cases, a cleaning area may be set by dividing a single room or a living room into a plurality of rooms.
  • the cleaning robot 100 may set a cleaning area before searching all the cleaning spaces A.
  • FIG. Specifically, the cleaning robot 100 determines whether to satisfy the condition for setting the cleaning area in real time while driving the cleaning space A, and if the condition for setting the cleaning area is satisfied, the cleaning robot 100 determines the corresponding area. Can be set as the cleaning area first.
  • the cleaning robot 100 may move the first room R1 to the first cleaning area when the conditions for setting the cleaning area are satisfied even before all the interiors of the cleaning space A are driven.
  • the cleaning robot 100 may store that the cleaning is completed for the cleaning area that has been cleaned.
  • the cleaning robot 100 may store a cleaning record indicating whether cleaning of the cleaning area is completed.
  • the cleaning robot 100 may assign an identification code to the cleaning area when the cleaning area is set, and store the identification code of the cleaned cleaning area in the cleaning record when the cleaning area is completed.
  • the cleaning robot 100 may first clean the first cleaning area A1 before traveling to another area of the cleaning space A.
  • the cleaning robot 100 determines whether all the cleaning areas have been cleaned (1400). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A.
  • the cleaning robot 100 repeats the running of the cleaning space A, the cleaning area setting, and the cleaning area cleaning.
  • the cleaning robot 100 may end the driving and return to the charging station.
  • the cleaning robot 100 may generate a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the generated cleaning area.
  • the cleaning robot 100 sets a cleaning area and cleans the set cleaning area.
  • the cleaning robot 100 may set the first room R1 as the first cleaning area A1 according to a preset condition while driving the cleaning space A.
  • FIG. 12 the cleaning robot 100 may set the first room R1 as the first cleaning area A1 according to a preset condition while driving the cleaning space A.
  • the cleaning robot 100 cleans the first cleaning area A1 first.
  • the cleaning robot 100 determines whether all areas of the cleaning space A have been cleaned.
  • the cleaning robot 100 While driving the cleaning space A again, the cleaning robot 100 sets the second room R2 as the second cleaning area A2 according to a preset condition as shown in FIG. 13, and the second cleaning area ( A2) can be cleaned.
  • the cleaning robot 100 determines whether all areas of the cleaning space A have been cleaned.
  • the cleaning robot 100 While driving the cleaning space A again, the cleaning robot 100 reaches the initial travel start position as shown in FIG. 14.
  • the cleaning robot 100 that has reached the initial travel start position may determine that all areas in the cleaning space A have traveled.
  • the cleaning robot 100 which has traveled all the areas in the cleaning space A sets the uncleaned area among the cleaning spaces A as the cleaning area. Specifically, as shown in FIG. 14, the cleaning robot 100 sets the living room R3 as the third cleaning area A3. Thereafter, the cleaning robot 100 cleans the third cleaning area A3.
  • the cleaning robot 100 may determine that all areas included in the cleaning space A have been cleaned, and may return to the charging station for charging the battery.
  • the cleaning robot 100 sets the cleaning areas A1, A2, and A3 while driving the cleaning space A, and immediately after the cleaning areas A1, A2, and A3 are set, the cleaning areas A1, A2, and A3 are set. Clean).
  • the cleaning robot 100 can move the cleaning space A, set the cleaning areas A1, A2, and A3, and clean the set cleaning areas A1, A2, and A3 to clean all the areas of the cleaning space A. Can be cleaned faster and more effectively.
  • the cleaning space driving 1100, the cleaning area setting 1200, the cleaning area cleaning 1300, and the cleaning completion determination 1400 constituting the cleaning operation 1000 of the cleaning robot 100 will be described in detail.
  • FIG. 15 illustrates a method of cleaning the cleaning space by the cleaning robot according to an embodiment
  • FIGS. 16 and 17 illustrate examples of driving the cleaning space by the cleaning robot according to the method shown in FIG. 15.
  • FIG. 18 illustrates an example in which a cleaning robot according to an embodiment stores a cleaning record according to the method shown in FIG. 15.
  • the cleaning robot 100 travels in an arbitrary direction (1110).
  • the cleaning robot 100 may travel in any direction at any position.
  • the cleaning robot 100 may travel forward from a charging station (not shown) as shown in FIG. 16.
  • the present invention is not limited thereto, and the cleaning robot 100 may rotate in an arbitrary direction before driving starts and then travel in an arbitrary direction.
  • the cleaning robot 100 determines whether an obstacle O is detected while driving (1120).
  • the obstacle detecting unit 140 of the cleaning robot 100 transmits light toward the front and side surfaces of the cleaning robot 100, and detects the reflected light reflected from the obstacle O and received.
  • the controller 110 of the cleaning robot 100 may determine whether the obstacle O is present according to whether the reflected light is detected.
  • the cleaning robot 100 continues to travel.
  • the cleaning robot 100 travels along the outline of the obstacle O (1130).
  • the controller 110 of the cleaning robot 100 may distance the obstacle O based on the reflected light. And the direction is determined.
  • the cleaning robot 100 may change the driving direction to travel in parallel with the outline of the obstacle O.
  • the cleaning robot 100 calculates an angle formed between the direction in which the cleaning robot 100 travels and the outline of the obstacle O based on the reflected light detected by the obstacle detecting unit 140, and as much as the calculated angle.
  • the vehicle may travel after rotating in the opposite direction to the obstacle O.
  • the rotation in place means that the cleaning robot 100 rotates using the center of the cleaning robot 100 as the rotation axis.
  • the in-situ rotation means the driving is not the "0" linear speed but "0".
  • the cleaning robot 100 may rotate in a direction opposite to the obstacle O until the distance of the obstacle O reaches a predetermined obstacle following distance.
  • the rotation running means that the cleaning robot 100 rotates a position other than the center of the cleaning robot 100 as the rotation axis and the distance between the center of the cleaning robot 100 and the rotation axis as the rotation radius.
  • Rotational running means driving in which the angular velocity and linear velocity are both not zero.
  • the cleaning robot 100 performs an outline following driving in which the distance with the obstacle O keeps a predetermined obstacle following distance and runs in parallel with the outline of the obstacle O.
  • the cleaning robot 100 may be configured to have an obstacle O when the distance from the obstacle O located on the side of the cleaning robot 100 is smaller than the obstacle tracking distance.
  • the vehicle may travel in a direction away from each other, and may travel in a direction closer to the obstacle O when the distance from the obstacle O positioned on the side of the cleaning robot 100 is greater than the obstacle tracking distance.
  • the cleaning robot 100 is a right following driving (a left-hand drive in which the obstacle is located on the left side of the cleaning robot) running along the outline of the obstacle O on the right side of the obstacle O or an obstacle on the left side of the obstacle O. It is possible to perform a left following run (an excellent run where an obstacle is located on the right side of the cleaning robot) that runs along the outline of (O). In this case, the cleaning robot 100 may be performed by selecting any one of the right following driving or the left following driving. In the following description, it is assumed that the cleaning robot 100 performs a left following driving (excellent driving) that runs on the left side of the obstacle O to assist the following.
  • the cleaning robot 100 may travel along the outline of the obstacle O as shown in FIG. 17.
  • the cleaning robot 100 may travel along the wall surface of the cleaning space O.
  • the cleaning robot 100 stores the driving record of the cleaning robot 100 during the outline following driving (1140).
  • the cleaning robot 100 may include position information indicating the position of the cleaning robot 100 at each predetermined time interval, driving information including the driving speed information of the cleaning robot 100, driving direction information, and the like, and the cleaning robot 100. ) May store the outline information including the features of the outline of the obstacle (O).
  • the location information may include the location coordinates of the cleaning robot 100.
  • the cleaning robot 100 may generate an xy coordinate system with the origin as the starting point of travel.
  • the y-axis corresponds to the front direction of the cleaning robot
  • the x-axis corresponds to the direction perpendicular to the y-axis.
  • the cleaning robot 100 may calculate the current position coordinates of the cleaning robot 100 by integrating the traveling speed according to the traveling direction detected using the motion detector 130.
  • the position information that the cleaning robot 100 has traveled has a form of a discontinuous point as shown in FIG. 18.
  • the traveling route on which) traveled is generated.
  • the driving information may include a driving speed, a driving direction (driving angle), and a driving distance that the cleaning robot 100 travels.
  • the cleaning robot 100 may detect the travel speed, the travel direction (driving angle), and the travel distance by using the motion detector 130.
  • the driving direction may be expressed as an angle between the direction in which the cleaning robot 100 runs and the reference direction with respect to the reference direction. For example, if the cleaning robot 100 is defined as a reference direction when the cleaning robot 100 first starts, when the cleaning robot 100 rotates 90 degrees counterclockwise (or to the left), the driving direction (angle) is '+'. 90 degrees', and when the cleaning robot 100 rotates 90 degrees clockwise (or rightward), the driving direction (angle) may be '-90 degrees'.
  • the driving direction may include an instantaneous driving direction (angle) indicating the driving direction (angle) of the cleaning robot 100 and a cumulative driving direction (angle) in which the driving direction (angle) of the cleaning robot 100 is accumulated. have.
  • the instantaneous travel direction (angle) and the accumulated travel direction (angle) become the mode '0 degree'.
  • the cleaning robot 100 rotates one turn counterclockwise in place, the instantaneous driving direction (angle) becomes '0 degree' but the cumulative driving direction (angle) becomes '+360' degree.
  • the cleaning robot 100 rotates one turn clockwise in place, the instantaneous traveling direction (angle) becomes '0 degree', but the accumulated traveling direction (angle) becomes '-360 degree'.
  • the running speed may include line speed and angular speed.
  • the linear speed when the cleaning robot 100 travels linearly, the linear speed may be a traveling speed of the cleaning robot 100 and each speed may be '0'.
  • the linear speed when the cleaning robot 100 rotates in place, the linear speed may be '0' and each speed may be a rotation speed of the cleaning robot 100.
  • the travel distance can be calculated by integrating the line speed among the travel speeds.
  • the outline information may include an outline shape of an obstacle O that the cleaning robot 100 follows.
  • the cleaning robot 100 may determine whether the outline of the obstacle O is straight, convex or concave. For example, the cleaning robot 100 may estimate the shape of the outline based on the driving information or the location information of the cleaning robot 100.
  • the cleaning robot 100 may divide the outline shape of the obstacle O adjacent to the cleaning robot 100 into a wall, a convex edge, and a concave edge, based on the determined outline of the obstacle O.
  • FIG. If the outline of the obstacle O is straight, the cleaning robot 100 may divide the outline of the obstacle O into a wall. If the outline of the obstacle O is convex, the cleaning robot 100 may be the obstacle O. The outline shape of can be divided into convex edges. In addition, when the outline of the obstacle O is concave, the cleaning robot 100 may divide the outline of the obstacle O into a concave edge.
  • the cleaning robot 100 may store the outline shapes of the obstacles O thus divided as outline information.
  • the cleaning robot 100 may store any one of a wall surface, a convex edge, or a concave edge according to the outline shape of the obstacle O as the outline information.
  • the cleaning robot 100 may store a wall surface with respect to the outline information of the first point P1.
  • the cleaning robot 100 rotates in the direction (right direction) in which the obstacle O is located at the second point P2, so that the cleaning robot 100 is convex with respect to the outline formation information of the second point P1. You can save corners.
  • the cleaning robot 100 may store a wall surface with respect to the outline information of the third point P3.
  • the cleaning robot 100 may store a wall surface with respect to the outline information of the fourth point P4.
  • the cleaning robot 100 rotates in a direction opposite to the direction in which the obstacle O is located (left direction), so that the cleaning robot 100 may move to the outline information of the fifth point P5 of the cleaning robot 100. Concave corners can be saved.
  • the cleaning robot 100 may store a wall surface with respect to the outline information of the third point P3.
  • the cleaning robot 100 may travel in an arbitrary direction until the obstacle O is detected at an arbitrary position.
  • the cleaning robot 100 follows the outline along the outline of the obstacle O. Perform the drive.
  • the cleaning robot 100 stores a driving record including driving information and position information of the cleaning robot 100 and outline information of the obstacle O while driving.
  • 19 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
  • a cleaning area setting 1200 of the cleaning robot 100 will be described with reference to FIG. 19.
  • the cleaning robot 100 determines a doorway during the cleaning space driving 1100 described above (1210).
  • the doorway corresponds to a passage connecting the area separated by the wall. That is, the cleaning space A can be partitioned into a plurality of areas (rooms or living rooms) by the wall, and the doorway connects between the plurality of partitioned areas.
  • the plurality of cleaning areas are connected through the doorway, and both sides of the doorway may set different cleaning areas.
  • the entrance and exit may be a reference for setting the cleaning area. That is, when the doorway is determined, the cleaning space A may be divided into a plurality of cleaning areas based on the doorway.
  • a closed curve is formed by connecting the wall surface and the doorway forming the room, and the cleaning robot 100 may set the inside of the closed curve formed as a cleaning area.
  • a closed curve is formed by connecting two or more doorways and the wall surface forming the living room, and the cleaning robot 100 may set the inside of the formed closed curve as the cleaning area.
  • the cleaning robot 100 determines the position of the doorway.
  • the cleaning robot 100 continues the outline following driving.
  • the cleaning robot 100 sets a cleaning area based on the driving record of the cleaning robot 100 (1220).
  • the cleaning robot 100 may set the cleaning area based on the wall outline information and the location of the doorway.
  • the cleaning robot 100 performs an outline following driving that travels along the outline of the obstacle O such as the wall surface of the cleaning space A before setting the cleaning area.
  • the cleaning robot 100 stores the driving record including the position information of the cleaning robot 100, the driving information of the cleaning robot 100, and the outline forming information of the obstacle O during the outline following driving.
  • the cleaning robot 100 since the cleaning robot 100 stores the driving record during the following-following operation of traveling along the outline of the obstacle O, the cleaning robot 100 may estimate the outline of the obstacle O from the driving record.
  • the cleaning robot 100 that performs the outline following driving along the inner wall of the room may estimate the shape of the inner wall of the room based on the position information of the cleaning robot 100 in the driving record.
  • the cleaning robot 100 may set the cleaning area based on the position information of the previously detected entrance and exit information of the inner wall acquired by the cleaning robot 100 during the contour following driving. That is, the cleaning robot 100 may set a room or a living room separated from the other area by the wall and the entrance as one cleaning area.
  • the cleaning robot 100 may determine the location of the doorway and set the cleaning area based on the location of the doorway and the driving record of the cleaning robot 100.
  • the cleaning space A may be divided into a plurality of regions partitioned by a wall and connected by an entrance.
  • a closed curve is formed by connecting the door and the outline of the wall surface, the cleaning robot 100 may set the cleaning area of the inside of the closed curve connected to the door and the wall outline.
  • the doorway may be formed between one end of the inner wall projecting from the outer wall of the cleaning space into the cleaning space and one end of the other inner wall, or may be formed between the wall surface of the inner wall (or the wall surface of the outer wall) and one end of the other inner wall.
  • the wall between the wall of the inner wall and the wall of the inner wall typically corresponds to a passageway and not an entrance.
  • an entrance is not formed at the inner side of the curved wall, that is, the concave edge of the inner wall (or the outer wall).
  • the obstacles O at both ends of the doorway may be formed with convex edges, or the obstacles O at one end of the doorway may be configured with convex edges, and the other obstacles O may be formed as walls. In other words, at least one of both ends of the doorway has a convex edge.
  • the doorway may be approximately 80cm to 110cm in width so that the user can easily enter and exit.
  • the running direction of the cleaning robot 100 is perpendicular to the doorway. That is, a straight line connecting both ends of the entrance and exit is perpendicular to the running direction of the cleaning robot 100.
  • At least one of both ends of the doorway has convex edges, 2) the width of the doorway is within a predetermined reference distance range, and 3) the doorway is perpendicular to the running direction of the cleaning robot 100 passing through the doorway.
  • the cleaning robot 100 may determine the corresponding position as the doorway.
  • the position at which the driving record of the cleaning robot 100 is recorded corresponds to the outline of the obstacle O.
  • the cleaning robot 100 may grasp the shape and the position of the obstacle O based on the driving record of the cleaning robot 100, and may determine the entrance and exit based on the driving record.
  • FIG. 20 is a view illustrating an example of a method of determining, by a cleaning robot, a cleaning area according to an embodiment, and FIGS. 21 through 23 illustrate cleaning areas of a cleaning robot according to an embodiment according to the method illustrated in FIG. 20.
  • the cleaning robot 100 determines whether the cleaning robot 100 rotates along the convex edge of the obstacle O in operation 1510.
  • the cleaning robot 100 stores the driving record while driving, and the driving record includes driving information and position information of the cleaning robot 100 and outline information of the obstacle O.
  • the cleaning robot 100 may determine whether the cleaning robot 100 rotates along the convex edge of the obstacle O based on the outline information of the obstacle O in the driving record. In addition, the cleaning robot 100 may determine that the outline of the obstacle O is a convex edge when the cleaning robot 100 rotates in the direction in which the obstacle O is located.
  • the cleaning robot 100 travels the first point P1 and the second point P2, the cleaning robot 100 travels in a straight line. It is judged not to drive along the convex edge of (O).
  • the cleaning robot 100 travels the third point, since the cleaning robot 100 rotates in the direction in which the obstacle O is located, the cleaning robot 100 travels along the convex edge of the obstacle O. I judge it.
  • the cleaning robot 100 travels in a straight line. It is determined that the vehicle does not travel along the convex edge of the obstacle O.
  • the cleaning robot 100 rotates in the direction in which the obstacle O is located. The cleaning robot 100 determines that the vehicle runs along the convex edge of the obstacle O.
  • the cleaning robot 100 searches for the driving record recorded within the reference distance range (1520).
  • the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
  • the cleaning robot 100 determines whether the convex edge corresponds to one end of the inner wall forming the doorway as described below.
  • the cleaning robot 100 compares the position information of the cleaning robot 100 included in the driving record with the current position of the cleaning robot 100 to record the driving within a range of a reference distance from the current position of the cleaning robot 100. It can be determined whether this has been recorded.
  • the doorway may have a width of about 80 cm to about 110 cm. Therefore, if there is a driving record of the cleaning robot 100 traveling within the reference distance range from the current position of the cleaning robot 100, the cleaning robot 100 may be within a range of 80 cm to 110 cm from the convex edge of the obstacle O following. It may be determined that another obstacle O exists.
  • the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
  • the driving record recorded within the reference distance may be stored in the doorway candidate list to determine the doorway.
  • the cleaning robot 100 when the cleaning robot 100 is located at the third point P3 as shown in FIG. 21, the cleaning robot 100 is located at the first point P1 within a reference distance range. And store the second point P2 in the doorway candidate list.
  • the cleaning robot 100 when the cleaning robot 100 is located at the seventh point P7, as shown in FIG. 22, the cleaning robot 100 may include a fourth point P4 located within a reference distance range, The fifth point P5 and the sixth point P6 may be stored as a doorway candidate list.
  • the cleaning robot 100 determines whether the searched driving record is recorded on the side opposite to the obstacle O (1530).
  • the driving record stored immediately before the first point P1 and the second point P2 of FIG. 21 may be located within a reference distance range.
  • the traveling record stored across the obstacle O may be within a reference distance range.
  • the obstacles (O) forming the doorway is a different obstacle (O) respectively located on both sides of the cleaning robot 100
  • the driving record recorded within the reference distance range is running along the different obstacle (O)
  • the driving record recorded while driving is running along the same obstacle (O).
  • the driving record recorded while traveling along the same obstacle (O) is generally located at the rear of the cleaning robot 100 or in the same direction as the obstacle (O).
  • the position where the driving record is recorded is opposite to the obstacle O. Determine if it is located in.
  • the cleaning robot 100 Excludes the driving record located behind the cleaning robot 100 or recorded on the side such as the obstacle O from the doorway candidate list.
  • the first point P1 and the second point P2 may have a reference distance from the cleaning robot 100. It is located within the range, but since it is located on the same side as the obstacle O, the driving record of the first point P1 and the second point P2 is excluded from the door candidate list.
  • the fourth point P4, the fifth point P5, and the sixth point P6 may be the cleaning robot (
  • the driving record of the fourth point P4, the fifth point P5, and the sixth point P6 is not excluded from the door candidate list because it is located within the reference distance range from 100 and opposite the obstacle O.
  • the cleaning robot 100 determines whether the outline information of the driving record is a wall or a convex edge (1540).
  • the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
  • the cleaning robot 100 travels along the convex edge of the obstacle O in step 1510, the edge of the obstacle O that is opposite to the obstacle O currently being tracked by the cleaning robot 100 is convex. Or determine whether it is a wall. In other words, it is determined whether the cleaning robot 100 travels between the convex edge and the convex edge or between the wall and the convex edge.
  • the cleaning robot 100 determines whether the driving record is a driving record recorded while driving along the convex edge of the obstacle O or the wall surface of the obstacle O based on the outline information of the driving record stored in the doorway candidate list. You can judge. In addition, the driving record not recorded while driving along the wall or convex edge of the obstacle O is excluded from the doorway candidate list.
  • the driving of the fourth point P4, the fifth point P5, and the sixth point P6 is performed. All of the records were recorded while the cleaning robot 100 was traveling along the wall surface of the obstacle O. Therefore, the driving record of the fourth point P4, the fifth point P5, and the sixth point P6 is not excluded from the doorway candidate list.
  • the cleaning robot 1000 determines whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100 (1550). .
  • the doorway is located perpendicular to the driving direction of the cleaning robot 100 passing through the doorway.
  • the traveling direction of the cleaning robot 100 and the straight lines connecting both ends of the doorway are perpendicular to each other.
  • a pair of obstacles O forming the doorway in a direction perpendicular to the running direction of the cleaning robot 100 is located.
  • One of the pair of obstacles (O) forming the doorway is an obstacle that the cleaning robot 100 follows the outline, and the other obstacle (O) is opposite to the obstacle (O) that the cleaning robot 100 follows.
  • the cleaning robot 100 may determine the presence of the other one of the obstacles O forming the doorway through the driving record. In detail, the cleaning robot 100 may determine whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100.
  • the cleaning robot 100 may determine a position where the searched driving record is recorded (determined based on the position information) and the cleaning robot ( It may be determined that the doorway exists between the current positions of 100).
  • the fifth point P5 is located in a direction perpendicular to the running direction of the cleaning robot 100.
  • the fourth point P4 and the sixth point P6 are not. Accordingly, the driving record recorded at the fourth point P4 and the sixth point P6 is excluded from the entrance candidate record, and the cleaning robot 100 enters and exits between the seventh point P7 and the fifth point P5. It can be determined that is formed.
  • the cleaning robot 100 moves to the position where the detected traveling record is recorded (1560).
  • the cleaning robot 100 travels along the convex edge of the obstacle O, the convex edge or wall surface of another obstacle O exists within a reference distance from the convex edge of the obstacle O, and the cleaning robot 100 is If the vehicle runs vertically between the obstacle O and the obstacle O, the cleaning robot 100 may determine that the cleaning robot 100 passes through the entrance and exit of the cleaning space A.
  • the cleaning robot 100 travels at the seventh point P7, the cleaning robot 100 rotates along the convex edge of the obstacle O, and the cleaning robot 100 rotates.
  • the fifth point P5 is located within the reference distance range from the 100, and the fifth point P5 is located in a direction perpendicular to the traveling direction of the cleaning robot 100, so that the cleaning robot 100 is located at the seventh point ( It may be determined that the doorway is formed between P7) and the fifth point P5.
  • the cleaning robot 100 moves to a point forming the doorway together with the current position of the cleaning robot 100.
  • the cleaning robot 100 may move to the fifth point P5 that is determined to form the doorway.
  • the cleaning robot 100 stores the driving record of the cleaning robot 100 while moving to the fifth point P5.
  • the cleaning robot 100 determines whether 1 the cleaning robot 100 moves along the convex corner, 2 searches whether there is a driving record within a reference distance, and 3 retrieves the searched driving record. It is determined whether it is recorded while driving along the wall or convex edge, and 4 it is determined whether the searched driving record is located in a direction perpendicular to the current driving direction of the cleaning robot 100.
  • the determination order of each condition for the entrance determination may be different.
  • the cleaning robot 100 determines whether 1 the cleaning robot 100 moves along the convex edge, 2 searches whether there is a driving record within a reference distance, and 4 the searched driving record is determined by the cleaning robot 100. It may be determined whether the vehicle is located in a direction perpendicular to the current driving direction, and whether the searched driving record is recorded while driving along the wall or convex edge.
  • FIG. 24 is a view illustrating another example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area
  • FIGS. 25 to 27 illustrate cleaning of a cleaning robot according to one embodiment according to the method shown in FIG. 24.
  • An example of a process of determining an entrance and exit area is shown.
  • the entrance / exit determination method 1600 of the cleaning robot 100 is demonstrated.
  • the cleaning robot 100 determines whether the cleaning robot 100 linearly travels along the wall surface of the obstacle O in operation 1610.
  • the cleaning robot 100 stores the driving record while driving, and the driving record includes driving information and position information of the cleaning robot 100 and outline information of the obstacle O.
  • the cleaning robot 100 may determine whether the cleaning robot 100 travels along the wall surface of the obstacle O based on the outline information of the obstacle O in the driving record. In addition, the cleaning robot 100 may determine that the outline of the obstacle O is a wall surface when the cleaning robot 100 runs straight.
  • the cleaning robot 100 travels the first point P1
  • the cleaning robot 100 travels in a straight line, so the cleaning robot 100 follows the wall of the obstacle O. Judging by the driving.
  • the cleaning robot 100 travels the second point P2
  • the cleaning robot 100 since the cleaning robot 100 travels in rotation, the cleaning robot 100 determines that the cleaning robot 100 does not travel along the wall surface of the obstacle O.
  • the cleaning robot 100 since the cleaning robot 100 travels in a straight line when the cleaning robot 100 travels the third point P3, the cleaning robot 100 determines that the cleaning robot 100 travels along the wall surface of the obstacle O.
  • the cleaning robot 100 when the cleaning robot 100 travels the sixth point, the cleaning robot 100 travels in rotation so that the cleaning robot 100 does not travel along the wall surface of the obstacle O. To judge. In addition, when the cleaning robot 100 travels the fifth point P7, the sixth point P6, and the seventh point P7, the cleaning robot 100 travels in a straight line. It is judged to drive along the wall surface.
  • the cleaning robot 100 searches for the driving record recorded within the reference distance range (1620).
  • the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall.
  • the cleaning robot 100 determines whether the corresponding wall surface corresponds to the wall surface of the inner wall forming the entrance as described below.
  • the cleaning robot 100 records the driving within the reference distance range from the current position of the cleaning robot 100 by comparing the position information of the cleaning robot 100 included in the driving record with the current position of the cleaning robot 100. It can be determined whether this has been recorded.
  • the doorway may have a width of about 80 cm to about 110 cm. Therefore, if there is a driving record of the cleaning robot 100 traveling within the reference distance range from the position of the cleaning robot 100 at present, the cleaning robot 100 may be different from the wall surface of the obstacle O following the cleaning robot 100 within a range of 80 cm to 110 cm. It may be determined that the obstacle O exists.
  • the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
  • the driving record recorded within the reference distance may be stored in the doorway candidate list to determine the doorway.
  • the cleaning robot 100 when the cleaning robot 100 is located at the third point P3 as shown in FIG. 25, the cleaning robot 100 is located at a first point P1 within a reference distance range. And store the second point P2 in the doorway candidate list.
  • the cleaning robot 100 when the cleaning robot 100 is located at the seventh point P7, as shown in FIG. 26, the cleaning robot 100 may include a fourth point P4 located within a reference distance range, The fifth point P5 and the sixth point P6 may be stored as a doorway candidate list.
  • the cleaning robot 100 determines whether the searched driving record is recorded from the side opposite to the obstacle O (1630).
  • the driving record stored immediately before the first point P1 and the second point P2 of FIG. 21 may be located within a reference distance range.
  • the traveling record stored across the obstacle O may be within a reference distance range.
  • the obstacles (O) forming the doorway is a different obstacle (O) respectively located on both sides of the cleaning robot 100
  • the driving record recorded within the reference distance range is running along the different obstacle (O)
  • the driving record recorded while driving is running along the same obstacle (O).
  • the driving record recorded while traveling along the same obstacle (O) is generally located at the rear of the cleaning robot 100 or in the same direction as the obstacle (O).
  • the position where the driving record is recorded is opposite to the obstacle O. Determine if it is located in.
  • the cleaning robot 100 Excludes the driving record located behind the cleaning robot 100 or recorded on the side such as the obstacle O from the doorway candidate list.
  • the first point P1 and the second point P2 may have a reference distance from the cleaning robot 100. Although located within the range, the driving record of the first point P1 and the second point P2 is excluded from the doorway candidate list because it is located behind the cleaning robot 100 or on the same side as the obstacle O.
  • the fourth point P4 when the cleaning robot 100 travels at the seventh point P7, the fourth point P4 is located within a reference distance range from the cleaning robot 100, and the obstacle O Since it is located on the opposite side, the driving record of the fourth point P4 is not excluded from the doorway candidate list.
  • the fifth point P5 and the sixth point P6 are located within the reference distance range from the cleaning robot 100, the fifth point P5 and the sixth point P6 are located at the rear of the cleaning robot 100.
  • the driving record of P6) is excluded from the exit candidate list.
  • the cleaning robot 100 determines whether the outline information of the driving record is a convex edge (1640).
  • the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
  • the cleaning robot 100 since the cleaning robot 100 travels along the wall surface of the obstacle O in step 1510, whether the outline of the obstacle O that is opposite to the currently obstructed obstacle O of the cleaning robot 100 is a convex edge. Judge. In other words, it is determined whether the cleaning robot 100 travels between the wall surface and the convex edge.
  • the cleaning robot 100 may determine whether the driving record is a driving record recorded while driving along the convex edge of the obstacle O based on the outline information of the driving record stored in the doorway candidate list. In addition, the driving record not recorded while driving along the convex edge of the obstacle O is excluded from the doorway candidate list.
  • the driving record of the fourth point P4 may indicate that the cleaning robot 100 is convex of the obstacle O. FIG. It was recorded while driving along the edge. Therefore, the driving record of the fourth point P4 is not excluded from the doorway candidate list.
  • the cleaning robot 1000 determines whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100 (1650).
  • the doorway is located perpendicular to the driving direction of the cleaning robot 100 passing through the doorway.
  • the traveling direction of the cleaning robot 100 and the straight lines connecting both ends of the doorway are perpendicular to each other.
  • a pair of obstacles O forming the doorway in a direction perpendicular to the running direction of the cleaning robot 100 is located.
  • One of the pair of obstacles (O) forming the doorway is an obstacle that the cleaning robot 100 follows the outline, and the other obstacle (O) is opposite to the obstacle (O) that the cleaning robot 100 follows.
  • the cleaning robot 100 may determine the presence of the other one of the obstacles O forming the doorway through the driving record. In detail, the cleaning robot 100 may determine whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100.
  • the cleaning robot 100 may determine a position where the searched driving record is recorded (determined based on the position information) and the cleaning robot ( It may be determined that the doorway exists between the current positions of 100).
  • the cleaning robot 100 when the cleaning robot 100 is located at the seventh point P7, the fourth point P4 is located in a direction perpendicular to the running direction of the cleaning robot 100. . Therefore, the cleaning robot 100 may determine that an entrance is formed between the seventh point P7 and the fourth point P4.
  • the cleaning robot 100 moves to the position where the detected traveling record is recorded (1660).
  • the cleaning robot 100 travels along the wall of the obstacle O, a convex edge of another obstacle O exists within a reference distance range from the wall of the obstacle O, and the cleaning robot 100 is the obstacle O. If the vehicle is running vertically between the obstacle O and the cleaning robot 100 may be determined to pass through the entrance and exit of the cleaning space (A).
  • the cleaning robot 100 when the cleaning robot 100 is traveling at the seventh point P7, the cleaning robot 100 is currently rotating along the convex edge of the obstacle O, and is cleaned. Since the fourth point P4 is located within a reference distance range from the robot 100, and the fourth point P4 is located in a direction perpendicular to the running direction of the cleaning robot 100, the cleaning robot 100 is located at a seventh point. It may be determined that the doorway is formed between P7 and the fourth point P4.
  • the cleaning robot 100 moves to a point forming the doorway together with the current position of the cleaning robot 100.
  • the cleaning robot 100 may move to the fourth point P4 determined to form an entrance.
  • the cleaning robot 100 stores the driving record of the cleaning robot 100 while moving to the fourth point P4.
  • the cleaning robot 100 determines whether the cleaning robot 100 moves along the wall surface, searches whether there is a driving record within a reference distance, and It is determined whether the driving record is recorded along the convex edge, and whether the searched driving record is located in a direction perpendicular to the current driving direction of the cleaning robot 100.
  • the determination order of each condition for the entrance determination may be different.
  • the cleaning robot 100 determines whether the cleaning robot 100 moves along the wall surface, and searches for whether there is a driving record within a reference distance, and the searched driving record is the current of the cleaning robot 100. It may be determined whether it is located in a direction perpendicular to the driving direction, and 3 it may be determined whether the searched driving record is recorded while driving along the convex edge.
  • the cleaning robot 100 determines the position of the doorway based on the current driving information and the past stored driving record. Specifically, the cleaning robot 100 determines in real time whether the cleaning robot 100 passes through the current entrance or exit based on the current driving information and the past stored driving record.
  • FIG. 28 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment
  • FIGS. 29 to 32 illustrate a process of setting a cleaning area by a cleaning robot according to the method shown in FIG. 28. An example is shown.
  • the cleaning robot 100 determines whether the current position is the same as the previously traveled position (1710).
  • the cleaning robot 100 may determine whether the current position is the same as the previously traveled position based on the position information included in the driving record.
  • the cleaning robot 100 may determine the entrance and exit, and may travel from one end of the determined entrance to the other end. As a result, as shown in FIG. 29, the traveling route on which the cleaning robot 100 has traveled forms a closed curve CL.
  • the cleaning robot 100 linearly models the closed curve CL based on the driving record (1720). .
  • the points indicated by the position information of the plurality of travel records are connected to each other in the travel order.
  • the cleaning robot 100 connects the respective points so that the traveling path formed by connecting the respective points becomes flat.
  • the cleaning robot 100 may connect each point so that the angle between the line segments connecting the respective points is equal to or greater than a predetermined angle.
  • a plurality of driving records are recorded at a first point P1, a second point P2, a third point P3, a fourth point P4, and a fifth point P5.
  • the cleaning robot 100 connects the first point P1 to the fifth point P5 in order to generate a driving path of the cleaning robot 100.
  • the cleaning robot 100 connects the first point P1 and the second point P2.
  • the cleaning robot 100 has an angle ⁇ 3 between a line segment connecting the second point P2 and the third point P3 and a line segment connecting the first point P1 and the second point P2. It is determined whether or not the predetermined reference angle or more. As shown in FIG. 30A, when the corresponding angle ⁇ 3 is greater than or equal to the reference angle, the cleaning robot 100 connects the second point P2 and the third point P3.
  • the cleaning robot 100 has an angle ⁇ 4 between a line segment connecting the third point P3 and the fourth point P4 and a line segment connecting the second point P2 and the third point P3. Determine whether the reference angle or more. As shown in FIG. 30B, when the corresponding angle ⁇ 4 is smaller than the reference angle, the cleaning robot 100 does not connect the third point P3 with the fourth point P4.
  • the cleaning robot 100 has an angle ⁇ 5 between a line segment connecting the third point P3 and the fifth point P5 and a line segment connecting the second point P2 and the third point P3. Determine whether the reference angle or more. As shown in FIG. 30C, when the angle ⁇ 5 is greater than or equal to the reference angle, the cleaning robot 100 connects the third point P3 and the fifth point P5.
  • the cleaning robot 100 may connect the points indicated by the respective driving records to generate a driving route on which the cleaning robot 100 travels.
  • the cleaning robot 100 connects a straight line between the first point where the linear driving is first performed and the second point where the linear driving is last performed, and the third point between the first point and the second point is a straight line. If the deviation from the error exceeds the error range, the first point and the third point may be connected in a straight line, and the third point and the second point may be connected in a straight line.
  • each of the points may be connected as it is to generate a driving route driven by the sweeping robot 100.
  • the cleaning robot 100 simplifies the closed curve CL (1730).
  • the cleaning robot 100 may simplify some areas when some areas of the straight line modeled closed curve CL deviate from the other areas by more than a reference value.
  • the first path L1, the second path L2, and the third path L3 included in the closed curve CL may be more complicated than other paths. It became.
  • the cleaning robot 100 may simplify the first path L1, the second path L2, and the third path L3, which are complicatedly generated.
  • the cleaning robot 100 may store the intersections of the lines forming the closed curve CL as singularities and finally store the position information of the convex and concave edges using the vector component of each line. .
  • the cleaning robot 100 rotates the closed curve CL in operation 1740.
  • the cleaning robot 100 stores the driving record with the initial driving position as the origin, and sets the cleaning area based on the stored position information of the driving record.
  • the cleaning robot 100 when the vehicle starts traveling obliquely from one side of the living room R1 (see FIG. 1), the first corresponding to the first room R1 (see FIG. 1) of the cleaning robot 100 is performed.
  • the cleaning area A1 is set as shown in Fig. 32A.
  • the cleaning robot 100 generates a closed curve CL having a rhombus shape corresponding to the rectangular first room R1 (see FIG. 1) according to the direction of the xy coordinate system generated at the start of driving.
  • the cleaning robot 100 rotates the closed curve CL to further simplify the closed curve CL of the rhombus shape.
  • the cleaning robot 100 obtains an angle between the lines forming the closed curve CL and the x-axis shown in (a) of FIG. 32. At this time, the cleaning robot 100 may divide the xy coordinate system generated at the start of driving into a plurality of angle regions r1 to r12 according to the angle as shown in FIG. 32 (a).
  • the cleaning robot 100 includes the first line l1 and the third line l3 of the closed curve CL belonging to the fourth angle region r4 and the second line.
  • the line l2 and the fourth line l4 may be determined to belong to the tenth angular region r10.
  • the cleaning robot 100 calculates the sum of the lengths of the lines belonging to the same angle region for each angle region.
  • the cleaning robot 100 selects the angular region having the largest sum of the lengths of the lines belonging to the same angular region as the main angular region.
  • the cleaning robot 100 After selecting the main angular region, the cleaning robot 100 calculates the sum of the lengths of the lines belonging to the angular region perpendicular to the main angular region, and determines whether the sum is greater than or equal to a predetermined reference value.
  • the scavenging robot 100 determines that the scavenging robot 100 has the second largest sum of the lengths of the lines belonging to the same angular region. Can be reselected as the main angle.
  • the cleaning robot 100 again calculates the sum of the lengths of the lines belonging to the angular area perpendicular to the main angular area, and determines whether the sum is greater than or equal to a predetermined reference value.
  • the angular region perpendicular to the angular region is taken into consideration so that an excessively narrow cleaning region is not formed.
  • the sum of the lengths of the first line l1 and the third line l3 belonging to the fourth angle region r4 is the largest.
  • the sum of the second line l2 and the fourth line l4 belonging to the tenth angle area r10 perpendicular to the fourth angle area r4 is equal to or greater than the reference value.
  • the cleaning robot 100 may select the fourth angle region r4 as the main angle region.
  • the cleaning robot 100 rotates the closed curve CL by the center angle of the main angle region.
  • the cleaning robot 100 may rotate and convert the closed curve CL illustrated in FIG. 32A by the center angle (52.5 degrees) of the fourth angle region r4 that is the main angle region.
  • the first cleaning area A1 is converted into a rectangular shape as shown in Fig. 32B.
  • the cleaning robot 100 calculates the maximum value and the minimum value in the x-axis direction, the maximum value and the minimum value in the y-axis direction of the cleaning area that has been rotated. In addition, the cleaning robot 100 sets a rectangular final cleaning area based on the maximum value and minimum value of the x-axis direction and the maximum value and minimum value of the y-axis direction.
  • the cleaning robot 100 may set the closed curve shown in FIG. 32B as the first cleaning area A1.
  • the cleaning robot 100 simplifies the closed curve CL generated by the running of the cleaning robot 100 in order to set the simplified cleaning area, and then the cleaning robot 100 performs the simplified closed curve CL. ) Is set to the cleaning area A1.
  • the cleaning robot 100 cleans the inside of the set cleaning area A1.
  • FIG. 33 illustrates a method of cleaning the cleaning area by the cleaning robot according to an embodiment
  • FIGS. 34 to 36 illustrate a process of cleaning the cleaning area by the cleaning robot according to the method shown in FIG. 33. An example is shown.
  • the cleaning robot 100 cleans while driving inside the cleaning area A1 (1310).
  • the cleaning robot 100 may clean the inside of the cleaning area A1 in various ways.
  • the cleaning robot 100 may clean the cleaning area A1 while performing zigzag driving as shown in FIG. 34.
  • the cleaning robot 100 may perform zigzag driving using the x axis of the cleaning area A1 as the main axis.
  • the cleaning robot 100 travels in the x-axis direction (or -x-axis direction) at one concave edge included in the cleaning area A1, and encounters the obstacle O in the y-axis direction (or- in the y-axis direction) to move along the outline of the obstacle (O). Thereafter, the cleaning robot 100 may travel in the -x axis direction (or the x axis direction), and move along the outline of the obstacle O in the y axis direction (or the -y axis direction) when it encounters the obstacle O. have.
  • the cleaning robot 100 may clean the cleaning area A1 while traveling in any direction as shown in FIG. 35.
  • the cleaning robot 100 may travel in an arbitrary direction at an arbitrary position inside the cleaning area A1, and may travel after being rotated by an arbitrary angle in an arbitrary direction when facing the obstacle O.
  • the cleaning robot 100 determines whether the cleaning of the cleaning area is completed (1320).
  • the cleaning robot 100 when the cleaning robot 100 zigzags the cleaning area A1 as shown in FIG. 34, when the cleaning robot 100 travels all areas inside the cleaning area A1, the cleaning area A1 may be used. ), It can be determined that the cleaning for the
  • the cleaning robot 100 determines that the cleaning of the cleaning area A1 is completed when a predetermined cleaning time elapses. can do.
  • the cleaning robot 100 If it is determined that the cleaning of the cleaning area is not completed (NO in 1320), the cleaning robot 100 continues the cleaning of the cleaning area. In addition, when it is determined that the cleaning of the cleaning area is completed (YES in 1320), the cleaning robot 100 stores the cleaning completion area (1330).
  • the cleaning robot 100 may separately store the cleaning area A1 of which cleaning is completed in the cleaning space A.
  • the cleaning robot 100 cleans the cleaning area A1
  • the cleaning robot 100 moves to the position where the entrance of the first room R1 is detected as shown in FIG. 36. You can move to point P7.
  • the cleaning robot 100 moved to the seventh point P7 may again perform an outline following driving that travels along the outline of the obstacle O.
  • the cleaning robot 100 may clean the cleaning area A1 immediately after setting the cleaning area A1, and continue to run the cleaning space A.
  • FIG. 37 illustrates a method of cleaning the uncleaned area by the cleaning robot according to an embodiment
  • FIGS. 38 and 39 illustrate a method of cleaning the uncleaned area by the cleaning robot according to the method shown in FIG. 37. An example of the process is shown.
  • the cleaning robot 100 determines whether the current position is a position at which the outline tracking operation is started (1410).
  • the cleaning robot 100 may determine whether the current position is the same as the position at which the outline following driving starts based on the position information included in the driving record.
  • the cleaning robot 100 may determine that all areas included in the cleaning space A have traveled.
  • the cleaning robot 100 may determine that the cleaning robot 100 travels along all the outlines of the cleaning space A.
  • the cleaning robot 100 determines an uncleaned area (1420).
  • the cleaning robot 100 sets the cleaning areas A1 and A2 in real time while driving the cleaning space A, and first cleans the set cleaning areas A1 and A2.
  • the cleaning robot 100 determines the entrance and exit, generates a closed curve CL connecting the entrance and the outside of the obstacle O forming the cleaning areas A1 and A2, and generates the generated closed curve CN.
  • the cleaning areas A1 and A2 are set as a basis.
  • the cleaning robot 100 first cleans the cleaning areas A1 and A2 before the other area runs, and stores the cleaning areas A1 and A2 where the cleaning is completed.
  • the cleaning area is not set in the area
  • the cleaning robot 100 may determine that the cleaning robot 100 is an uncleaned area except for the area in which the cleaning is completed.
  • the cleaning robot 100 when the cleaning robot 100 starts the outline following driving in the living room R3, the cleaning robot 100 runs along the outline of the obstacle O while in the first room.
  • the first cleaning area A1 and the second cleaning area A2 are set for the R1 and the second room R2, and the first cleaning area A1 and the second cleaning area A2 are cleaned.
  • the cleaning robot 100 may reach a position at which the first outline following driving starts.
  • the cleaning robot 100 includes a first cleaning area A1, a second cleaning area A3, and a closed curve CL corresponding to the outline of the living room R3.
  • the map of the cleaning space A is stored.
  • the cleaning robot 100 may determine the inside of the closed curve CL as an area in which cleaning is not completed.
  • the cleaning robot 100 After determining the uncleaned area, the cleaning robot 100 sets a cleaning area corresponding to the uncleaned area (1430).
  • the cleaning robot 100 linearly models, simplifies, and rotates the closed curve CL corresponding to the uncleaned area as described above.
  • the cleaning robot 100 After setting the cleaning area, the cleaning robot 100 cleans the inside of the set cleaning area (1430).
  • the cleaning robot 100 may clean the inside of the cleaning area A3 in various ways.
  • the cleaning robot 100 may clean the cleaning area A3 while performing zigzag driving as shown in FIG. 39.
  • the cleaning robot 100 determines whether the cleaning robot 100 has completed the cleaning of the cleaning area (1450).
  • the cleaning robot 100 when the cleaning robot 100 zigzags the cleaning area A3, when the cleaning robot 100 travels all areas inside the cleaning area A3, the cleaning area A3 may be used. ), It can be determined that the cleaning for the
  • the cleaning robot 100 continues the cleaning of the cleaning area.
  • the cleaning robot 100 returns to the charging station (1460).
  • the cleaning robot 100 may determine that all areas inside the cleaning space A have been cleaned.
  • the cleaning robot 100 may return to the charging station for charging the battery.
  • the cleaning robot 100 sets the non-cleaned area as the cleaning area after driving all the cleaning spaces A, and returns to the charging station after cleaning all the cleaning areas.
  • the cleaning robot 100 travels along the outline of the cleaning space A using the obstacle detecting unit 140, and when an entrance is found while driving, the cleaning robot 100 sets the cleaning area based on the driving record, and sets the cleaning area.
  • the cleaning method was described.
  • the cleaning robot 100 is not limited to using the obstacle detecting unit 140 to find an entrance and set a cleaning area while driving.
  • FIGS. 41 and 42 illustrate examples of repeatedly cleaning the same path by the cleaning robot according to an embodiment.
  • the cleaning robot 100 determines whether the cleaning robot 100 repeatedly runs the same path while driving (3010).
  • the cleaning robot 100 may repeatedly travel the same path for various reasons. For example, when the cleaning robot 100 detects the obstacle O1 located in the middle of the cleaning space A, the cleaning robot 100 may repeatedly travel along the outer edge of the obstacle O1.
  • the cleaning space A formed by the outer wall OW may be divided into the first room R1 and the second room R2 by the inner wall IW.
  • the cleaning robot 100 may discover the first doorway E1 according to the cleaning operation 1000 (see FIG. 11) shown in FIG. 11, and may first clean the first room R1.
  • the cleaning robot 100 may discover the second obstacle O2 that is movable while moving along the outer wall OW, and may move along the outline of the second obstacle O2.
  • the first obstacle O1 that is fixed while moving along the outline of the second obstacle O2 may be found and moved along the outline of the first obstacle O1.
  • the cleaning robot 100 may remove the outline of the first obstacle O1. Drive along. In other words, the cleaning robot 100 does not escape from the first obstacle O1.
  • the cleaning robot 100 may consume all the energy stored in the power supply unit (not shown). Until the vehicle only travels along the outline of the obstacle O1, the cleaning space A may not be cleaned.
  • the cleaning robot 100 determines whether the cleaning robot 100 repeatedly runs the same path.
  • the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130, and the cleaning robot 100 repeats the same path based on the currently acquired position information and the position information of the driving record. You can determine if you are driving.
  • the cleaning robot 100 stores the driving record of the cleaning robot 100 while driving.
  • the cleaning robot 100 includes position information indicating the position of the cleaning robot 100 at each predetermined time interval, driving information indicating the traveling speed of the cleaning robot 100, the driving direction, and the like, followed by the cleaning robot 100.
  • the outline information indicating the characteristic of the outline of the obstacle O can be stored.
  • the cleaning robot 100 may compare the currently acquired position information with the position information of the driving record, and determine whether the cleaning robot 100 repeatedly runs the same path based on the comparison result. For example, the cleaning robot 100 searches the driving record based on the currently acquired location information, and if the same location information as the currently acquired location information is found, the cleaning robot 100 determines that the same route is repeatedly traveled. If the same location information as the currently acquired location information is not found, the cleaning robot 100 may determine that the same path is not repeatedly driven.
  • the cleaning robot 100 continues to travel.
  • the cleaning robot 100 moves to a predetermined reference position (3020).
  • the cleaning robot 100 may move to a position before the cleaning robot 100 repeatedly travels the same path. For example, as shown in FIG. 42, when the cleaning robot 100 repeatedly runs the same path after cleaning the first room R1, the cleaning robot 100 may perform the first operation of the first room R1. It can move to one end P1 of the entrance E1.
  • the reference position to which the cleaning robot 100 will move may vary as the cleaning robot 100 travels.
  • the reference position before the cleaning robot 100 cleans the first room R1 and the reference position after the cleaning robot 100 cleans the first room R1 may be different.
  • the cleaning robot 100 After moving to the reference position, the cleaning robot 100 again runs from the reference position (3030).
  • the cleaning robot 100 may travel along an outline of an obstacle or a wall from a reference position.
  • the cleaning robot 100 may delete the driving record during the repeated driving. For example, as shown in FIG. 42, when the cleaning robot 100 repeatedly runs along the outline of the first obstacle O1, the cleaning robot 100 is driving along the outline of the first obstacle O1. You can delete the saved driving record.
  • the cleaning robot 100 may determine whether the same route is repeatedly traveled, and if the cleaning robot 100 is determined to be repeatedly traveling, the cleaning robot 100 may move to a predetermined reference position. In this way, by moving to the predetermined reference position, the cleaning robot 100 can escape from repeatedly traveling the same path.
  • FIG. 43 illustrates an example of a method in which the cleaning robot deviates from repeated driving
  • FIG. 44 illustrates an example in which the cleaning robot travels according to the method illustrated in FIG. 43.
  • the cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3110).
  • the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position information and the position information of the driving record are the same.
  • the cleaning robot 100 continues the current driving.
  • the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3120.
  • the cleaning robot 100 does not necessarily travel the same path repeatedly. For example, when the cleaning robot 100 crosses a path that has already traveled, the cleaning robot 100 travels the same position again, but the cleaning robot 100 does not repeatedly travel the same path.
  • the cleaning robot 100 calculates a difference between the current driving angle (indicative of the driving direction) and the previous traveling angle (indicative of the driving direction), The absolute value of the calculated difference is compared with a predetermined angle.
  • the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
  • the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130.
  • the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130.
  • the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
  • the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
  • the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ⁇ 360 degrees, ⁇ 720 degrees, ⁇ 1080 degrees, or the like.
  • the cleaning robot 100 travels once along the outline of the isolated obstacle O1 and moves. You can move to the same location as.
  • the rotational displacement of the cleaning robot 100 is the same as that of the cleaning robot 100 rotated once in place.
  • the cumulative driving angle of the cleaning robot 100 increases or decreases 360 degrees. Therefore, when the cleaning robot 100 runs once along the outline of the obstacle O1, the difference in the cumulative running angle between before and after the driving becomes ⁇ 360 degrees.
  • the cleaning robot 100 travels twice along the outline of the obstacle O1, the difference in the cumulative traveling angle between before and after the driving becomes ⁇ 720 degrees, and the cleaning robot 100 moves the outline of the obstacle O1. Therefore, when traveling three times, the difference of the accumulated running angle between before and after running becomes +1080 degree.
  • the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times.
  • the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
  • the cleaning robot 100 may determine whether the cleaning robot 100 has rotated one or more times along the outline of the isolated obstacle O1, and if the predetermined angle is set to 720 degrees, the cleaning robot 100 may determine whether the cleaning robot 100 has rotated twice along the outline of the isolated obstacle O1. In addition, if the predetermined angle is set to 1080 degrees, the cleaning robot 100 may determine whether the cleaning robot 100 has rotated three or more times along the outline of the isolated obstacle O1.
  • the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
  • the sweeping robot 100 calculates a difference between the current travel distance and the previous travel distance, and calculates the difference and the predetermined distance. Can be compared.
  • the controller 110 of the cleaning robot 100 may receive a driving distance from the motion detector 130 and obtain a previous driving distance from the driving record stored in the memory 115. Thereafter, the controller 110 calculates a difference between the current travel distance and the previous travel distance. If the calculated difference is less than or equal to the predetermined distance, the controller 110 determines that the cleaning robot 100 has repeatedly traveled the same path, and calculated If the difference is greater than the predetermined distance, it may be determined that the cleaning robot 100 does not repeatedly travel the same path.
  • the cleaning robot 100 continues the current travel.
  • the cleaning robot 100 may enter and exit the most recently cleaned cleaning area. Move toward 3130.
  • the cleaning robot 100 when the cleaning robot 100 passes through the same position again, and the absolute value of the difference between the current traveling angle (direction) and the previous traveling angle (direction) is equal to or greater than the predetermined angle, the cleaning robot 100 May be determined to have repeatedly traveled the same route.
  • the cleaning robot 100 moves to a predetermined reference position.
  • the reference position may be an entrance and exit of the cleaning area that was most recently cleaned.
  • the cleaning robot 100 finds the doorway, the cleaning robot 100 sets the cleaning area based on the doorway, and performs cleaning on the set cleaning area. Therefore, the entrance and exit of the cleaning area
  • the cleaning robot 100 may move to one end of the entrance and exit of the cleaning area, which is the starting point of the driving, before the repeated driving.
  • the cleaning robot 100 when the cleaning robot 100 repeatedly runs after cleaning the first room R1, as shown in FIG. 44, the cleaning robot 100 may be configured as a doorway of the first room R1. 1 can move toward one end P1 of the entrance E1.
  • the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving. Specifically, the cleaning robot 100 may delete all the driving records from the first room R1 until the cleaning device 100 reaches the end P1 of the first entrance E1 after the cleaning of the first room R1 is completed.
  • the cleaning robot 100 determines whether the cleaning robot 100 repeatedly travels the same path based on the location information and the driving direction information, and if it is determined that the cleaning robot 100 repeatedly travels the same path, the cleaning robot that has been cleaned most recently Move to the doorway of the area. As a result, the cleaning robot 100 may escape from repeated travel.
  • FIG. 45 illustrates another example of a method in which the cleaning robot deviates from repetitive running
  • FIGS. 46 and 47 illustrate an example in which the cleaning robot travels in accordance with the method illustrated in FIG. 45.
  • the cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3210).
  • the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position and the previous position are the same.
  • the cleaning robot 100 continues the current driving.
  • the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3320.
  • the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
  • the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130.
  • the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130.
  • the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
  • the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
  • the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ⁇ 360 degrees, ⁇ 720 degrees, ⁇ 1080 degrees, or the like.
  • the cleaning robot 100 follows the outline of the obstacle O1 in which the cleaning robot 100 is isolated. It can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times.
  • the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
  • the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
  • the cleaning robot 100 continues the current travel.
  • the cleaning robot 100 checks whether there is a cleaning area where cleaning has been performed. Determination (3230).
  • the cleaning robot 100 may determine whether there is a cleaning area in which cleaning is completed, based on driving records and cleaning records of the cleaning robot 100. As described above, the cleaning robot 100 may assign an identification code to the set cleaning area when the cleaning area is set, and store the identification code of the cleaning area as a cleaning record when the cleaning area is completed. Therefore, the cleaning robot 100 may acquire the presence of the cleaning area where the cleaning is completed, the location of the cleaning area where the cleaning is completed, the location of the entrance and exit of the cleaning area where the cleaning is completed, and the like based on the cleaning record.
  • the cleaning robot 100 moves toward the entrance and exit of the most recently cleaned cleaning area (3240).
  • the cleaning robot 100 moves to a predetermined reference position.
  • the reference position may be an entrance and exit of the cleaning area that was most recently cleaned.
  • the cleaning robot 100 can move to one end of the entrance and exit of the cleaning area that was most recently cleaned.
  • the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
  • the cleaning robot 100 moves in a predetermined direction (3250).
  • the reference position to which the cleaning robot 100 is to move may be a starting point at which driving starts. However, when starting to travel again from the starting point where the driving started, the cleaning robot 100 may repeatedly travel the same path again.
  • the cleaning robot 100 when the obstacle O first detected after the cleaning robot 100 starts driving is an isolated obstacle O1, the cleaning robot 100 performs cleaning. Zone does not exist. At this time, when the cleaning robot 100 starts driving again from the starting point, the cleaning robot 100 repeatedly travels the same path along the outline of the isolated obstacle O1.
  • the cleaning robot 100 may move in a predetermined direction.
  • the cleaning robot 100 may immediately travel after being rotated 45 degrees in the opposite direction of the obstacle O1 as illustrated in FIG. 47. In addition, when it is determined that the same route is repeatedly traveled, the cleaning robot 100 may delete all previous driving records.
  • the cleaning robot 100 when the cleaning robot 100 repeatedly travels the same path and there is no cleaning area previously cleaned, the cleaning robot 100 may immediately move in a predetermined direction. As a result, the cleaning robot 100 may escape from repeated travel.
  • FIG. 48 is a view illustrating another example of a method in which the cleaning robot deviates from repeated driving, and FIGS. 49 to 52 illustrate an example in which the cleaning robot travels according to the method illustrated in FIG. 48.
  • the cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3310).
  • the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position and the previous position are the same.
  • the cleaning robot 100 continues the current driving.
  • the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3320.
  • the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
  • the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130.
  • the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130.
  • the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
  • the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
  • the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ⁇ 360 degrees, ⁇ 720 degrees, ⁇ 1080 degrees, or the like.
  • the cleaning robot 100 follows the outline of the obstacle O1 in which the cleaning robot 100 is isolated. It can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times.
  • the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
  • the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
  • the cleaning robot 100 continues the current travel.
  • the cleaning robot 100 checks whether there is a cleaning area where cleaning has been performed. Determination (3330).
  • the cleaning robot 100 may determine whether there is a cleaning area in which cleaning is completed, based on driving records and cleaning records of the cleaning robot 100. As described above, the cleaning robot 100 may assign an identification code to the set cleaning area when the cleaning area is set, and store the identification code of the cleaning area as a cleaning record when the cleaning area is completed. Therefore, the cleaning robot 100 may acquire the presence of the cleaning area where the cleaning is completed, the location of the cleaning area where the cleaning is completed, the location of the entrance and exit of the cleaning area where the cleaning is completed, and the like based on the cleaning record.
  • the cleaning robot 100 moves in a predetermined direction (3340).
  • the reference position to which the cleaning robot 100 is to move may be a starting point at which driving starts. However, when starting to travel again from the starting point where the driving started, the cleaning robot 100 may repeatedly travel the same path again.
  • the cleaning robot 100 may move in a predetermined direction. In addition, when it is determined that the same route is repeatedly traveled, the cleaning robot 100 may delete all previous driving records.
  • the cleaning robot 100 determines whether one end of the entrance and exit of the most recently cleaned cleaning area is included in the repeated driving path (3350).
  • the cleaning robot 100 may set one end of the entrance and exit of the cleaning area as a reference position and move toward the reference position. However, when the reference position is included in the repetitive travel path, even if the cleaning robot 100 moves to the reference position, the cleaning robot 100 continues the repetitive travel.
  • the cleaning robot 100 cleaning the first room R1 may follow the outer wall OW, the movable third obstacle O3, and the fixed first obstacle O1. I can move it.
  • the cleaning robot 100 may move to the second position. It may be determined between the position P2 and the inner wall IW as the second entrance or exit E2. Specifically, since the second position P2 corresponds to the convex edge, and the inner wall IW is located opposite the second position P2, the cleaning robot 100 has the second position P2 and the inner wall IW. ) May be determined as the second doorway E2.
  • the cleaning robot 100 sets a part R2-2 of the second room R2 partitioned by the third obstacle O3 and the first obstacle O1 as the cleaning area, A part R2-2 of the 2nd room R2 can be cleaned. Thereafter, the cleaning robot 100 may again travel along the outline of the first obstacle O1.
  • the cleaning robot 100 may outline the first obstacle O1. Repeat your journey.
  • the cleaning robot 100 may determine repetitive driving on the same path through steps 3310 and 3320 described above, and move to the reference position.
  • one end P2 of the second doorway E2 corresponding to the reference position is included in the outline of the first obstacle O1.
  • the reference position is included in the path of the repeated travel. Therefore, even if the cleaning robot 100 moves to one end P2 of the second entrance E2 which is a reference position, the cleaning robot 100 may repeatedly travel along the outline of the first obstacle O1.
  • the cleaning robot 100 may determine whether one end of the entrance and exit of the cleaning area that has been cleaned most recently is included in the repetitive travel path.
  • the controller 110 of the cleaning robot 100 may determine whether one end of the entrance and exit of the most recently cleaned cleaning area is included in the repetitive travel path using the driving record stored in the memory 115.
  • the cleaning robot 100 extracts the repeating travel route from the travel record. In other words, when the cleaning robot 100 travels the same position as the previous travel position, the cleaning robot 100 determines a driving path that the cleaning robot 100 has traveled between the previous travel time and the current travel time.
  • the cleaning robot 100 may determine whether one end of the entrance and exit of the cleaning area that has been most recently cleaned is included in the repeating driving path by comparing the position of one end of the exit and the exit of the cleaning area.
  • the cleaning robot 100 moves toward the entrance and exit of the most recently cleaned cleaning area (3360).
  • the cleaning robot 100 may determine that the moving robot moves out of the repetitive travel when moving to one end of the entrance and exit of the most recently cleaned cleaning area. Therefore, the cleaning robot 100 moves to one end of the entrance and exit of the most recently cleaned cleaning area in order to escape from repeated travel.
  • the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
  • the cleaning robot 100 moves toward the entrance of the cleaning area to be cleaned secondly.
  • the cleaning robot 100 may determine that the repetitive travel will continue when the moving robot 100 moves to one end of the entrance and exit of the most recently cleaned cleaning area. Therefore, the cleaning robot 100 moves to one end of the entrance and exit of the cleaning area that has been cleaned recently for the second time in order to escape from repeated travel.
  • the cleaning robot 100 cleans the part R2-2 of the second room after cleaning the first room R1, and follows the outline of the first obstacle O1. Can run repeatedly. At this time, since the one end P2 of the second entrance E2 of the part R2-2 of the second room is included in the repeating travel path, the cleaning robot 100 is the first entrance E1 of the first room R1. It can move to one end (P1) of.
  • the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
  • the cleaning robot 100 when the cleaning robot 100 repeatedly travels the same path, and one end of the entrance and exit of the cleaning area that has been cleaned most recently is included in the repeating travel path, the cleaning robot 100 is second-most recently. It can be moved to one end of the doorway of the cleaned cleaning area. As a result, the cleaning robot 100 may escape from repeated travel.
  • Fig. 53 is a diagram illustrating a control configuration of a cleaning robot according to another embodiment.
  • the cleaning robot 100 may include a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle ( O control unit 110 for controlling the operation of the obstacle detection unit 140, the moving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space, and the cleaning robot 100. And an image acquisition unit 191 that acquires an image around the cleaning robot 100.
  • the user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
  • the cleaning robot 100 further includes an image acquisition unit 191 as shown in FIG. 53.
  • the image acquisition unit 191 may include an upper camera module 191a that acquires an image of the cleaning robot 100, that is, a ceiling, and a front camera module 191b that acquires an image in front of the cleaning robot 100.
  • the upper camera module 191a is provided on the upper surface of the cleaning robot 100 to acquire an upper image of the cleaning robot 100, that is, a three-dimensional image of the ceiling of the cleaning space and an image obtained by the three-dimensional camera. It may include a graphics processor for image processing. Such a graphic processor may perform simple image processing such as changing the size or resolution of an image acquired by the 3D camera.
  • the 3D image includes a 2D image of a photographing target and distance information to a photographing target, and the 3D camera may employ a stereo camera module or a depth sensor module.
  • the stereo camera module includes a pair of two-dimensional cameras, and calculates distance information of the photographed object by using a difference between images acquired by the pair of two-dimensional cameras. In addition, the stereo camera module outputs any one of the images acquired by the pair of two-dimensional camera and the distance information of the photographed object.
  • the depth sensor module includes a two-dimensional camera that acquires an image of a photographing target, and an infrared sensor that measures distance to the photographing target by irradiating infrared rays toward the photographing target and detecting a magnitude of the infrared rays reflected from the photographing target.
  • the depth sensor module outputs the image acquired by the 2D camera and the distance information obtained by the infrared sensor.
  • the front camera module 191b is provided on the front surface of the cleaning robot 100 to graphic the 3D camera for acquiring a front 3D image of the cleaning robot 100 and the 3D image acquired by the 3D camera. It may include a processor.
  • FIG. 54 illustrates a method of cleaning a cleaning space by a cleaning robot according to another embodiment
  • FIGS. 55 to 59 illustrate a method of cleaning a cleaning space by a cleaning robot according to the method shown in FIG. 54. An example is shown.
  • a cleaning method 2000 of the cleaning robot 100 will be described with reference to FIGS. 54 to 59.
  • the cleaning robot 100 runs the cleaning space A (2010).
  • the cleaning robot 100 may travel in any direction from any position.
  • the arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
  • the cleaning robot 100 can travel in any direction at the start of driving.
  • the cleaning robot 100 may travel toward the front at the start of driving.
  • the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
  • the cleaning robot 100 does not change the driving direction until the obstacle O is found.
  • the cleaning robot 100 While driving, the cleaning robot 100 detects an entrance and exit using the front camera module 191b (2020).
  • the cleaning robot 100 acquires an image in front of the cleaning robot 100 by using the front camera module 191b at predetermined intervals, extracts an image feature from the front image, and based on the extracted image feature. It is possible to determine whether the front image includes the image of the entrance and exit.
  • the cleaning robot 100 obtains the front image by using the front camera module 191b.
  • the front image may include distance information together with image information.
  • the cleaning robot 100 may acquire an image of the doorway.
  • the image of the entrance and exit obtained by the cleaning robot 100 is the same as the first image (image1) shown in FIG.
  • the cleaning robot 100 that acquires the first image image1 may extract keypoints from the first image1.
  • the cleaning robot 100 may extract a feature point from the first image 1 using a Harris Corner algorithm, a Shi-Tomasi algorithm, a SIFT-DoG algorithm, a FAST algorithm, an AGAST algorithm, and the like.
  • the cleaning robot 100 may include the first feature point KP1, the second feature point KP2, the third feature point KP3, and the fourth feature point KP4 from the first image image1 as illustrated in FIG. 56.
  • a plurality of feature points including) may be extracted.
  • the cleaning robot 100 may calculate three-dimensional coordinates of the feature points using distance information corresponding to each feature point, and an object located in front of the cleaning robot 100 based on the calculated three-dimensional coordinates. It can be determined whether it is an entrance or exit.
  • the cleaning robot 100 may determine whether the shape connecting the feature points corresponds to the shape of the doorway based on the 3D coordinates of the feature points.
  • the doorway has a width of approximately 80 cm to 110 cm and a height of approximately 180 cm to 220 cm.
  • the cleaning robot 100 may determine whether the shape formed by the feature points corresponds to the shape of the doorway using a machine learning algorithm.
  • the cleaning robot 100 detecting the doorway may travel through the doorway.
  • the cleaning robot 100 located in the living room R3 may move to the first room R1 through the detected doorway after detecting the doorway.
  • the cleaning robot 100 sets a cleaning area using the upper camera module in operation 2030.
  • the cleaning robot 100 that has passed through the doorway acquires an image of the ceiling of the cleaning area using the upper camera module 191a, extracts an image feature from the ceiling image, and based on the extracted image feature, Can be set.
  • the cleaning robot 100 obtains the ceiling image using the upper camera module 191a.
  • the ceiling image may include distance information together with image information.
  • the cleaning robot 100 may acquire a ceiling image of the first room R1.
  • the ceiling image acquired by the cleaning robot 100 is the same as the second image image2 illustrated in FIG. 58.
  • the cleaning robot 100 obtaining the second image 2 may extract keypoints from the second image 2.
  • the cleaning robot 100 may include the first feature point KP1, the second feature point KP2, the third feature point KP3, and the fourth feature point KP4 from the first image image1 as illustrated in FIG. 58.
  • a plurality of feature points including) may be extracted.
  • the cleaning robot 100 may calculate three-dimensional coordinates of the feature points using distance information corresponding to each feature point, and generate a map of the first room R1 based on the calculated three-dimensional coordinates. have.
  • the cleaning robot 100 may set the first cleaning area A1 corresponding to the first room R1 based on the first room R1.
  • the cleaning robot 100 may set the first cleaning area A1 using the cleaning area setting method 1700 (see FIG. 28) described with reference to FIG. 28.
  • the cleaning robot 100 is not limited to setting the cleaning area using the upper camera module 191a.
  • the cleaning robot 100 may travel along the outline of the obstacle O by using the obstacle detecting unit 140.
  • the cleaning robot 100 may store a driving record including driving information, position information, and the like of the cleaning robot 100.
  • the cleaning robot 100 determines whether the current position is the same as the position of the doorway, and if the current position is the same as the position of the doorway, the cleaning robot 100 based on the stored driving record. You can also set the cleaning area.
  • the cleaning robot 100 that sets the cleaning area cleans the cleaning area while driving the set cleaning area (2040).
  • the cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33.
  • the cleaning robot 100 may perform zigzag driving to clean the cleaning area, and move to the position where the entrance and exit of the cleaning area is determined.
  • the cleaning robot 100 determines whether all cleaning areas have been cleaned (2050). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A.
  • the cleaning robot 100 may determine that all areas of the cleaning space A have been cleaned.
  • the cleaning robot 100 repeats driving
  • the cleaning robot 100 may end the run and return to the filling station.
  • the cleaning robot 100 may set a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the set cleaning area.
  • the cleaning robot 100 may set the cleaning area using the image acquisition unit 191 while driving and clean the set cleaning area first.
  • 60 is a control diagram of the cleaning robot according to another embodiment.
  • the cleaning robot 100 may include a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle ( O control unit 110 for controlling the operation of the obstacle detection unit 140, the moving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space, and the cleaning robot 100. And a radar sensor unit 193 for monitoring the surrounding environment of the cleaning robot 100.
  • the user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
  • the cleaning robot 100 further includes a radar sensor unit 193 as shown in FIG. 60.
  • the radar sensor unit 193 transmits radio waves toward the front of the cleaning robot 100 and detects / analyzes reflected waves reflected from an object such as an obstacle O to detect a distance to the object, a moving speed of the object, and the like. Can be.
  • the radar sensor unit 193 may calculate a distance to the target by using a time difference between the time at which the radio wave is transmitted and the time at which the reflected wave is received, and the Doppler effect due to the movement of the target Can be used to calculate the moving speed of the target.
  • the radar sensor unit 193 may transmit a radio wave in a predetermined direction by using a directional antenna.
  • the radar sensor unit 193 may transmit radio waves in various directions at time intervals by rotating the directional antenna.
  • the radar sensor unit 193 may calculate the direction in which the obstacle O is located based on the direction in which the radio waves are transmitted.
  • 61 is a view illustrating a cleaning robot cleaning a cleaning space, according to another embodiment.
  • a cleaning method 2100 of the cleaning robot 100 will be described with reference to FIG. 61.
  • the cleaning robot 100 travels the cleaning space A (2110).
  • the cleaning robot 100 may travel in any direction from any position.
  • the arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
  • the cleaning robot 100 can travel in any direction at the start of driving.
  • the cleaning robot 100 may travel toward the front at the start of driving.
  • the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
  • the cleaning robot 100 does not change the driving direction until the obstacle O is found.
  • the cleaning robot 100 detects an entrance and exit using the radar sensor unit 193 while driving (2120).
  • the cleaning robot 100 In order to detect the entrance and exit, the cleaning robot 100 detects the front of the cleaning robot 100 using the radar sensor unit 193 at predetermined intervals, and detects an empty space having a predetermined distance range between the obstacles O. It can be judged.
  • the predetermined distance range may be 80 cm to 110 cm corresponding to the width of the doorway as described above.
  • the cleaning robot 100 that detects the entrance and exit records the position information of the entrance and travels toward the entrance.
  • the cleaning robot 100 sets the cleaning area using the obstacle detecting unit (2130).
  • the cleaning robot 100 that detects the entrance and exit may travel along the outline of the obstacle O by using the obstacle detecting unit 140.
  • the cleaning robot 100 may store a driving record including driving information, position information, and the like of the cleaning robot 100.
  • the cleaning robot 100 determines whether the current position is the same as the position of the doorway, and if the current position is the same as the position of the doorway, the cleaning robot 100 based on the stored driving record. You can also set the cleaning area.
  • the cleaning robot 100 that sets the cleaning area cleans the cleaning area while driving the set cleaning area (2140).
  • the cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33.
  • the cleaning robot 100 may clean the cleaning area while performing a zigzag driving as shown in FIG. 34, or clean the cleaning area while driving in any direction as shown in FIG. 35.
  • the cleaning robot 100 determines whether all cleaning areas have been cleaned (2150). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A.
  • the cleaning robot 100 may determine that all areas of the cleaning space A have been cleaned.
  • the cleaning robot 100 repeats the running of the cleaning space A, the entrance determination, the cleaning area setting, and the cleaning area cleaning.
  • the cleaning robot 100 may end the run and return to the filling station.
  • the cleaning robot 100 may set a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the set cleaning area.
  • the cleaning robot 100 may set the cleaning area by using the radar sensor unit 193 and the obstacle detecting unit 140 while driving, and may first clean the set cleaning area.
  • FIG. 62 shows a control configuration of a cleaning robot according to another embodiment
  • FIG. 63 shows a cleaning space provided with a magnetic band.
  • the cleaning robot 100 includes a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and a cleaning space A.
  • Obstacle detection unit 140 for detecting the obstacle (O) of the moving unit 160 for moving the cleaning robot 100, cleaning unit 170 for cleaning the cleaning space, the overall control of the operation of the cleaning robot 100 It may include a magnetic field detector 195 for detecting a magnetic field of the control unit 110 and the floor of the cleaning space (A).
  • the user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
  • the cleaning robot 100 further includes a magnetic field detector 195 as shown in FIG. 62.
  • the magnetic field detector 195 may be installed at the bottom or the front of the cleaning robot 100, and may detect the magnetic fields generated by the magnetic bands M1 and M2 previously installed by the user.
  • the user may install the magnetic bands M1 and M2 at positions corresponding to the entrance and exit of the cleaning space A in advance.
  • a user installs a first magnetic band M1 at a first entrance connecting the living room R3 and the first room R1, and connects the living room R3 and the second room R2.
  • 2nd magnetic band M2 can be installed in 2 entrances and exits.
  • the first magnetic band M1 and the second magnetic band M2 may have the same shape, and may generate a magnetic field having the same intensity and polarity.
  • the magnetic field detector 195 may detect a magnetic field generated by the magnetic bands M1 and M2 previously installed by the user, and may transmit an electrical signal corresponding to the detection of the magnetic field to the controller 110.
  • FIG. 64 illustrates a method of cleaning a cleaning space by a cleaning robot according to another embodiment
  • FIGS. 65 to 67 illustrate a cleaning space of a cleaning robot according to another embodiment according to the cleaning method shown in FIG. 64. Shows the process of cleaning it.
  • the cleaning robot 100 travels in the cleaning space A, and stores the driving record while driving (2210).
  • the cleaning robot 100 can travel in any direction from any position.
  • the arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
  • the cleaning robot 100 can travel in any direction at the start of driving.
  • the cleaning robot 100 may travel toward the front at the start of driving.
  • the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving. However, after the driving starts, it is preferable that the cleaning robot 100 does not change the driving direction until the obstacle O is found.
  • the cleaning robot 100 may determine that the obstacle (O) is detected while driving.
  • the obstacle detecting unit 140 of the cleaning robot 100 transmits light toward the front and side surfaces of the cleaning robot 100, and detects the reflected light reflected from the obstacle O and received.
  • the controller 110 of the cleaning robot 100 may determine whether the obstacle O is present according to whether the reflected light is detected.
  • the cleaning robot 100 may travel along the outline of the obstacle O.
  • the cleaning robot 100 may perform an outline following driving in which the distance from the obstacle O runs in parallel with the outline of the obstacle O while maintaining a predetermined obstacle following distance.
  • the cleaning robot 100 may store a driving record of the cleaning robot 100 during the outline following driving.
  • the cleaning robot 100 may store position information indicating the position of the cleaning robot 100 and driving information indicating the traveling speed, the driving direction, and the like of the cleaning robot 100 at predetermined time intervals.
  • the cleaning robot 100 determines whether a magnetic field is detected while driving (2220).
  • the cleaning robot 100 may detect the magnetic fields generated by the magnetic bands M1 and M2 using the magnetic field detector 195.
  • the cleaning robot 100 when the cleaning robot 100 passes through the doorway as shown in FIG. 65 during the outline following driving, the cleaning robot 100 generates a magnetic field generated by the first magnetic band M1 previously installed by the user. It can be detected.
  • the cleaning robot 100 continues to travel, and when the magnetic field is detected (YES in 2220), the cleaning robot 100 stores the position where the magnetic field is detected (2230).
  • the cleaning robot 100 may determine that it is passing through the doorway. Therefore, the cleaning robot 100 stores the position where the magnetic field is detected in order to determine the position of the entrance and exit.
  • the cleaning robot 100 determines whether another magnetic field sensing position exists within a reference distance range from the current magnetic field sensing position (2240).
  • the cleaning robot 100 calculates a distance between a previously stored magnetic field detection position and a position of the cleaning robot 100 that detects the current magnetic field. Thereafter, the cleaning robot 100 determines whether the calculated distance is within a preset reference distance range.
  • the doorway may have a width of about 80 cm to about 110 cm. Therefore, if a position where a magnetic field has been previously detected within a reference distance from the position of the cleaning robot 100 that detects the current magnetic field exists, the cleaning robot 100 may enter and exit between the position where the current magnetic field is detected and the position where the magnetic field has been previously detected. Can be determined to exist.
  • the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
  • the cleaning robot 100 continues the outline following driving.
  • the cleaning robot 100 may detect a magnetic field generated by the first magnetic band M1.
  • the cleaning robot 100 enters the first room R1 through the entrance and continues the outline following the driving.
  • the cleaning robot 100 moves to the previously stored magnetic field sensing position (2250).
  • the cleaning robot 100 may determine that the cleaning robot 100 has passed through the corresponding entrance twice.
  • the cleaning robot 100 may determine that the first passage through the entrance has entered an area connected to the outside by the entrance, and the second passage through the entrance may depart from the corresponding area.
  • the cleaning robot 100 may determine that all of the inside of the region is driven and the driving record is stored.
  • the cleaning robot 100 moves to the position where the magnetic field is sensed to set the cleaning area corresponding to the corresponding area.
  • the cleaning robot 100 may detect a magnetic field generated by the first magnetic band M1.
  • the cleaning robot 100 may determine that the first entrance that connects the living room R3 and the first room R1 has been passed twice, and the cleaning robot 100 has a first cleaning robot 100.
  • the magnetic field generated by the magnetic band M1 is moved to the first detected position.
  • the cleaning robot 100 After moving to the magnetic field sensing position, the cleaning robot 100 sets the cleaning area based on the driving record (2260).
  • a closed curve is generated by the driving path of the cleaning robot 100.
  • a closed curve is generated by the driving path of the cleaning robot 100.
  • the cleaning robot 100 may set the first cleaning area A1 based on the closed curve.
  • the cleaning robot 100 may set the first cleaning area A1 by linearly modeling the closed curve, simplifying the straight modeled closed curve, and rotating the simplified closed curve.
  • the cleaning robot 100 After setting the cleaning area, the cleaning robot 100 cleans the set cleaning area and stores the cleaning area as the cleaning completion area (2270).
  • the cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33.
  • the cleaning robot 100 may clean the cleaning area while performing a zigzag driving as shown in FIG. 34, or clean the cleaning area while driving in any direction as shown in FIG. 35.
  • the cleaning robot 100 may store the cleaning area as the cleaning completion area.
  • the cleaning robot 100 determines whether all cleaning areas have been cleaned (2280). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A.
  • the cleaning robot 100 determines an uncleaned area in the cleaning space A that is not cleaned. Thereafter, the cleaning robot 100 sets a cleaning area corresponding to the uncleaned area and cleans the inside of the set cleaning area.
  • the cleaning robot 100 may determine that all the cleaned areas are cleaned.
  • the cleaning robot 100 continues the cleaning for the cleaning area.
  • the cleaning robot 100 returns to the charging station and ends the operation.
  • the cleaning robot 100 detects the entrance and exit using a magnetic band detecting unit that detects the magnetic field of the magnetic band and the magnetic band previously installed at the entrance, and based on the detected entrance and driving record, the cleaning area. Can be set. In addition, the cleaning robot 100 may first clean the set cleaning area.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

A cleaning robot can comprise: a main body; a moving unit for moving the main body; a cleaning unit for cleaning a cleaning area; and a control unit for setting at least one of a plurality of regions, included in the cleaning area to a cleaning region, while the main body is moving, and for cleaning the cleaning region when the cleaning region is set.

Description

청소 로봇 및 그 제어 방법Cleaning robot and its control method
개시된 발명은 청소 로봇 및 그 제어 방법에 관한 것으로써, 청소 공간을 주행 중에 청소 공간을 자동으로 청소하는 청소 로봇 및 그 제어 방법에 관한 발명이다.The disclosed invention relates to a cleaning robot and a control method thereof, and more particularly, to a cleaning robot for automatically cleaning the cleaning space while driving the cleaning space and a control method thereof.
청소 로봇은 사용자의 조작 없이 청소 공간을 주행하면서 바닥에 쌓인 먼지 등의 이물질을 흡입함으로써 청소 공간을 자동으로 청소하는 장치이다. 즉, 청소 로봇은 청소 공간을 주행하며 청소 공간을 청소한다.The cleaning robot is a device that automatically cleans the cleaning space by driving foreign materials such as dust accumulated on the floor while driving the cleaning space without a user's operation. That is, the cleaning robot travels through the cleaning space and cleans the cleaning space.
종래 청소 로봇은 실내 청소 공간을 모두 주행한 이후 청소 공간을 청소 공간 내부를 청소 하였다.The conventional cleaning robot cleaned the inside of the cleaning space after cleaning the indoor cleaning space.
구체적으로, 청소 로봇은 실내 청소 공간을 모두 주행한 이후 청소 로봇의 주행 기록을 기초로 청소 공간의 맵을 생성하고, 생성된 맵에 따라 청소 영역을 설정하고, 설정된 청소 영역을 청소하였다.In detail, the cleaning robot generates a map of the cleaning space based on the driving record of the cleaning robot after driving all the indoor cleaning spaces, sets the cleaning area according to the generated map, and cleans the set cleaning area.
이와 같이 청소 로봇은 청소 공간의 맵을 생성하기 위하여 청소 동작과 무관하게 실내 청소 공간을 모두 주행하여야 하므로 청소 시간이 지연되었다.As such, the cleaning robot has to run all the indoor cleaning spaces irrespective of the cleaning operation in order to generate the map of the cleaning spaces.
개시된 발명의 일 측면은 청소 공간의 주행 중에 실시간으로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 청소 로봇 및 청소 로봇의 제어 방법을 제공하고자 한다.One aspect of the disclosed invention is to provide a cleaning robot and a method for controlling the cleaning robot that set the cleaning area in real time while driving the cleaning space and clean the set cleaning area first.
개시된 발명의 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 청소 공간을 청소하는 청소부, 상기 본체의 주행 중에 상기 청소 공간에 포함된 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하고, 상기 청소 영역이 설정되면 상기 청소 영역을 청소하는 제어부를 포함할 수 있다.According to an aspect of the present disclosure, a cleaning robot includes at least one of a plurality of areas included in the cleaning space during cleaning of the main body, a traveling part for moving the main body, a cleaning part for cleaning a cleaning space, and a cleaning area. And a control unit for cleaning the cleaning area when the cleaning area is set.
실시 형태에 따라 상기 제어부는 상기 본체의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고, 판단된 출입구의 위치와 상기 본체의 주행 기록을 기초로 상기 청소 영역을 생성할 수 있다.According to an embodiment, the controller may determine the position of the entrance and exit of the cleaning area while the main body is running, and generate the cleaning area based on the determined position of the entrance and the driving record of the main body.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 이동을 방해하는 장애물을 검출하는 장애물 감지부를 더 포함하고, 상기 제어부는 상기 본체가 상기 장애물의 외곽선을 따라 주행하도록 상기 주행부를 제어할 수 있다.According to an embodiment, the cleaning robot may further include an obstacle detector configured to detect an obstacle that prevents the movement of the main body, and the controller may control the driving unit so that the main body travels along an outline of the obstacle.
실시 형태에 따라 상기 본체의 주행 기록은 상기 본체가 주행한 위치 정보와 상기 장애물의 외곽선 정보를 포함할 수 있다.According to an embodiment, the driving record of the main body may include location information on which the main body travels and outline information of the obstacle.
실시 형태에 따라 상기 장애물의 외곽선을 따라 주행 중에 상기 제어부는 상기 본체의 현재 위치와 상기 주행 기록을 기초로 상기 출입구의 위치를 판단할 수 있다.According to an embodiment, the controller may determine the position of the doorway based on the current position of the main body and the driving record while driving along the outline of the obstacle.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단할 수 있다.According to an embodiment, if the current position of the main body is a first convex edge of the obstacle, and there is a driving record that travels along the second convex edge of the obstacle within a predetermined distance from the current position, the controller may control the first position. The position of the doorway may be determined between the convex edge and the second convex edge.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단할 수 있다.According to an embodiment, if the current position of the main body is a first convex edge of the obstacle, and there is a driving record that travels along the first wall surface of the obstacle within a predetermined distance from the current position, the controller may determine the first convex. The position of the entrance and exit may be determined between the edge and the first wall surface.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 벽면이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단할 수 있다.According to an embodiment, if the current position of the main body is the first wall surface of the obstacle, and there is a driving record that travels along the first convex edge of the obstacle within a predetermined distance from the current position, the controller controls the first wall surface. It may be determined between the first convex edge and the position of the doorway.
실시 형태에 따라 상기 제어부는 상기 출입구의 위치와 상기 본체가 주행한 위치 정보를 연결하여 폐곡선을 생성할 수 있다.According to an embodiment, the controller may generate a closed curve by connecting the position of the entrance and the position information of the main body.
실시 형태에 따라 상기 제어부는 상기 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환할 수 있다.According to an embodiment, the control unit may simplify the closed curve and rotate the simplified closed curve.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 전방 및 상방의 영상을 획득하는 영상 획득부를 더 포함하고, 상기 제어부는 상기 영상 획득부가 획득한 상기 본체의 전방 영상을 기초로 상기 출입구의 위치를 판단할 수 있다.According to an embodiment, the cleaning robot may further include an image acquisition unit configured to acquire images of the front and the upper side of the main body, and the control unit may determine the position of the doorway based on the front image of the main body obtained by the image acquisition unit. Can be.
실시 형태에 따라 상기 제어부는 상기 전방 영상으로부터 특징점을 추출하고, 추출된 특징점과 상기 출입구의 형상을 비교함으로써 상기 출입구의 위치를 판단할 수 있다.According to an embodiment, the controller may determine the position of the doorway by extracting the feature point from the front image and comparing the extracted feature point with the shape of the doorway.
실시 형태에 따라 상기 출입구의 위치가 검출되면, 상기 제어부는 상기 본체의 상방 영상을 기초로 상기 청소 영역을 설정할 수 있다.According to an embodiment, when the position of the doorway is detected, the controller may set the cleaning area based on the upper image of the main body.
실시 형태에 따라 상기 제어부는 상기 상방 영상으로부터 특징점을 추출하고, 추출된 특징점을 기초로 상기 청소 영역을 설정할 수 있다.According to an embodiment, the controller may extract a feature point from the upper image and set the cleaning area based on the extracted feature point.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 전방을 향하여 전파 또는 광신호를 발신하고, 검출 대상으로부터 반사되는 반사파 또는 광신호를 수신하는 레이더 센서를 더 포함하고, 상기 제어부는 수신된 반사파 또는 광신호를 기초로 상기 검출 대상의 위치 및 방향을 판단할 수 있다.According to an embodiment, the cleaning robot further includes a radar sensor that transmits a radio wave or an optical signal toward the front of the main body and receives a reflected wave or an optical signal reflected from a detection target, and the control unit receives the received reflected wave or an optical signal. The position and the direction of the detection object may be determined based on.
실시 형태에 따라 상기 청소 로봇은 레이더 센서를 포함하는 다양한 센서를 포함할 수 있다.According to an embodiment, the cleaning robot may include various sensors including a radar sensor.
실시 형태에 따라 상기 제어부는 상기 수신된 반사파 또는 광신호를 기초로 상기 출입구의 위치를 판단할 수 있다.According to an embodiment, the controller may determine the location of the entrance and exit based on the received reflected wave or the optical signal.
실시 형태에 따라 상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정할 수 있다.According to an embodiment, when the position of the doorway is determined, the controller may set the cleaning area based on the position of the doorway and the driving record of the main body.
실시 형태에 따라 상기 청소 로봇은 상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장을 감지하는 자기장 감지부를 더 포함할 수 있다.According to an embodiment, the cleaning robot may further include a magnetic field detector configured to detect a magnetic field generated by the magnetic band installed at the entrance and exit.
실시 형태에 따라 상기 제어부는 상기 자기장 감지부의 감지 결과를 기초로 상기 출입구의 위치를 판단할 수 있다.According to an embodiment, the controller may determine the position of the doorway based on a detection result of the magnetic field detector.
실시 형태에 따라 상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정할 수 있다.According to an embodiment, when the position of the doorway is determined, the controller may set the cleaning area based on the position of the doorway and the driving record of the main body.
실시 형태에 따라 상기 청소 로봇은 상기 청소 영역을 청소하는 청소부를 더 포함하고, 상기 제어부는 상기 설정된 청소 영역의 내부를 우선 청소하도록 상기 청소부를 제어할 수 있다.According to an embodiment, the cleaning robot may further include a cleaning part for cleaning the cleaning area, and the controller may control the cleaning part to first clean the inside of the set cleaning area.
개시된 발명의 일 측면에 따른 청소 로봇의 제어 방법은 상기 청소 로봇을 주행시키고, 상기 청소 로봇의 주행 중에 청소 영역을 설정하고, 상기 청소 영역이 설정되면, 설정된 청소 영역을 우선 주행시키고, 상기 청소 영역이 상기 청소 영역을 주행하는 동안, 상기 청소 영역을 청소하는 것을 포함할 수 있다.According to an aspect of the present invention, a method of controlling a cleaning robot drives the cleaning robot, sets a cleaning area while the cleaning robot is running, and sets the cleaning area first when the cleaning area is set. It may include cleaning the cleaning area while driving the cleaning area.
실시 형태에 따라 상기 청소 영역을 설정하는 것은 상기 청소 로봇의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고, 판단된 출입구의 위치와 상기 청소 로봇의 주행 기록을 기초로 상기 청소 영역을 생성하는 것을 포함할 수 있다.The setting of the cleaning area according to the embodiment may include determining the position of the entrance and exit of the cleaning area while the cleaning robot is running, and generating the cleaning area based on the determined position of the entrance and the driving record of the cleaning robot. It may include.
실시 형태에 따라 상기 청소 로봇을 주행시키는 것은 상기 청소 로봇의 이동을 방해하는 장애물의 외곽선을 따라 주행시키는 것을 포함할 수 있다.According to an embodiment, driving the cleaning robot may include driving along an outline of an obstacle that prevents the cleaning robot from moving.
실시 형태에 따라 상기 주행 기록은 상기 청소 로봇이 주행한 위치 정보 및 상기 장애물의 외곽선 정보를 포함할 수 있다.According to an embodiment, the driving record may include position information of the cleaning robot and outline information of the obstacle.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치 및 상기 주행 기록을 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.According to an embodiment, determining the position of the doorway may include determining the position of the doorway based on the current position of the cleaning robot and the driving record.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.Determining the position of the doorway according to the embodiment is that the driving record of the current location of the cleaning robot is a first convex corner of the obstacle and the driving record traveling along the second convex corner of the obstacle within a predetermined distance from the current position If present, it may include determining the location of the doorway between the first convex edge and the second convex edge.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.According to an embodiment, determining the position of the doorway includes a driving record in which the current position of the cleaning robot travels along the first wall of the obstacle within a predetermined distance from the first convex edge of the obstacle and within a predetermined distance from the current position. If not, it may include determining the position of the doorway between the first convex edge and the first wall surface.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 벽면이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.According to an embodiment, determining the position of the doorway includes a driving record in which the current position of the cleaning robot is the first wall surface of the obstacle and travels along the first convex edge of the obstacle within a predetermined distance from the current position. If not, it may include determining the position of the doorway between the first wall surface and the first convex edge.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 출입구의 위치 및 상기 주행 기록을 기초로 상기 청소 영역을 생성할 수 있다.According to an embodiment, generating the cleaning area may generate the cleaning area based on the position of the doorway and the driving record.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 출입구의 위치와 상기 청소 로봇이 주행한 위치 정보를 연결하여 폐곡선을 생성하고, 상기 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환하는 것을 포함할 수 있다.The generating of the cleaning area may include generating a closed curve by connecting the position of the doorway and the position information of the cleaning robot, simplifying the closed curve, and rotating the simplified closed curve. .
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 전방 영상을 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.According to an embodiment, determining the location of the doorway may include determining the location of the doorway based on a front image of the cleaning robot.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 청소 로봇의 상방 영상을 기초로 상기 청소 영역을 생성하는 것을 포함할 수 있다.According to an embodiment, generating the cleaning area may include generating the cleaning area based on an upper image of the cleaning robot.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 주행을 방해하는 장애물로부터 반사되는 반사파를 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.According to an embodiment, determining the location of the doorway may include determining the location of the doorway based on a reflected wave reflected from an obstacle that prevents the cleaning robot from running.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장의 감지 여부에 따라 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.Determining the location of the doorway according to an embodiment may include determining the location of the doorway according to whether the magnetic field generated by the magnetic band installed in the doorway is detected.
개시된 발명의 다른 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 청소를 수행하는 청소부, 상기 본체의 주행 중에 출입구가 검출되면, 상기 출입구에 의하여 구획되는 영역을 청소 영역으로 설정하여 청소하는 제어부를 포함할 수 있다.According to another aspect of the present disclosure, a cleaning robot includes a main body, a traveling part for moving the main body, a cleaning part performing cleaning, and when an entrance is detected while driving the main body, an area partitioned by the entrance is set as a cleaning area. It may include a control unit for cleaning.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 주행 중에 상기 본체의 위치 정보 및 주행 각도를 포함하는 주행 기록을 획득하는 움직임 검출부 및 상기 주행 기록을 저장하는 저장부를 더 포함할 수 있다.According to an embodiment, the cleaning robot may further include a motion detector configured to obtain a travel record including position information and a travel angle of the main body while the main body travels, and a storage unit that stores the travel record.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 기준 위치로 이동하도록 상기 주행부를 제어할 수 있다.According to an embodiment, if the main body repeatedly travels the same path, the controller may control the driving unit to move the main body to a predetermined reference position.
실시 형태에 따라 상기 제어부는 상기 주행 기록의 위치 정보 및 주행 각도를 기초로 상기 본체가 동일한 경로를 반복 주행하는지 판단할 수 있다.According to an embodiment, the controller may determine whether the main body repeatedly travels the same path based on the position information and the travel angle of the driving record.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 상기 출입구로 이동하도록 상기 주행부를 제어할 수 있다.According to an embodiment, if the main body repeatedly travels the same path, the controller may control the driving unit to move the main body to the doorway.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 방향으로 주행하도록 상기 주행부를 제어할 수 있다.According to an embodiment, when the main body repeatedly travels the same path, the controller may control the driving unit so that the main body travels in a predetermined direction.
개시된 발명의 다른 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 복수의 영역을 포함하는 청소 공간을 청소하는 청소부, 상기 본체의 주행 중에 상기 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하여 청소하고, 상기 적어도 하나의 영역의 청소가 완료되면 나머지 영역 가운데 적어도 하나의 영역을 청소 영역으로 재설정하여 청소하는 제어부를 포함할 수 있다.According to another aspect of the disclosed invention, a cleaning robot includes a main body, a moving part for moving the main body, a cleaning part for cleaning a cleaning space including a plurality of areas, and at least one area of the plurality of areas during driving of the main body. The control unit may include a controller configured to clean an area, and reset and clean at least one of the remaining areas to a cleaning area when the cleaning of the at least one area is completed.
개시된 발명의 일 측면에 따르면, 청소 공간의 주행 중에 실시간으로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 청소 로봇 및 청소 로봇의 제어 방법을 제공하고자 할 수 있다.According to one aspect of the disclosed invention, it is possible to provide a cleaning robot and a method for controlling the cleaning robot that set the cleaning area in real time while driving the cleaning space and clean the set cleaning area first.
도 1 및 도 2는 일 실시예에 의한 청소 로봇의 동작을 간략하게 도시한다.1 and 2 briefly illustrate the operation of the cleaning robot according to an embodiment.
도 3은 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.3 shows a control configuration of the cleaning robot according to one embodiment.
도 4는 일 실시예에 의한 청소 로봇의 외관을 도시한다.4 illustrates an appearance of a cleaning robot according to an embodiment.
도 5 및 도 6은 일 실시예에 의한 청소 로봇의 내부를 도시한다.5 and 6 show the interior of the cleaning robot according to one embodiment.
도 7은 일 실시예에 의한 청소 로봇의 저면을 도시한다.7 illustrates a bottom surface of the cleaning robot according to an embodiment.
도 8 및 도 9는 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 전방에 위치한 장애물을 감지하는 일 예를 도시한다.8 and 9 illustrate an example of detecting an obstacle located in front of an obstacle detecting unit included in a cleaning robot according to an embodiment.
도 10은 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 측면 장애물을 감지하는 일 예를 도시한다.FIG. 10 illustrates an example in which an obstacle detecting unit included in a cleaning robot detects a side obstacle. Referring to FIG.
도 11은 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.11 illustrates a method of cleaning a cleaning space by a cleaning robot according to an embodiment.
도 12 내지 도 14는 도 11에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.12 to 14 show an example of cleaning the cleaning space by the cleaning robot according to an embodiment according to the method shown in FIG.
도 15는 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 방법을 도시한다.15 illustrates a method of cleaning the cleaning space by the cleaning robot according to an exemplary embodiment.
도 16 및 도 17은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 일 예를 도시한다.16 and 17 illustrate an example in which the cleaning robot according to the embodiment travels through the cleaning space according to the method illustrated in FIG. 15.
도 18은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 기록을 저장하는 일 예를 도시한다.FIG. 18 illustrates an example in which a cleaning robot according to an embodiment stores a cleaning record according to the method illustrated in FIG. 15.
도 19는 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.19 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
도 20은 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 일 예를 도시한다.20 illustrates an example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area, according to an exemplary embodiment.
도 21 내지 도 23은 도 20에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.21 to 23 illustrate an example of a process in which a cleaning robot determines an entrance and exit of a cleaning area according to the method illustrated in FIG. 20.
도 24는 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 다른 일 예를 도시한다.24 illustrates another example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area, according to an exemplary embodiment.
도 25 내지 도 27은 도 24에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.25 to 27 illustrate an example of a process in which a cleaning robot determines an entrance and exit of a cleaning area according to the method illustrated in FIG. 24.
도 28은 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.28 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
도 29 내지 도 32는 도 28에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 과정의 일 예를 도시한다.29 to 32 illustrate an example of a process of setting a cleaning area by a cleaning robot according to an embodiment according to the method illustrated in FIG. 28.
도 33은 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 방법을 도시한다.33 is a view illustrating a cleaning robot cleaning a cleaning area, according to an exemplary embodiment.
도 34 내지 도 36는 도 33에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 과정의 일 예를 도시한다.34 to 36 show an example of a process of cleaning the cleaning area by the cleaning robot according to the embodiment shown in FIG. 33.
도 37은 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 방법을 도시한다.37 illustrates a method of cleaning, by the cleaning robot, the uncleaned area according to an embodiment.
도 38 및 도 39는 도 37에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 과정의 일 예를 도시한다.38 and 39 illustrate an example of a process of cleaning the uncleaned region by the cleaning robot according to the embodiment shown in FIG. 37.
도 40은 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는지 판단하는 방법을 도시한다.40 is a diagram illustrating a method of determining whether a cleaning robot repeatedly travels on the same path, according to an exemplary embodiment.
도 41 및 도 42는 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는 일 예를 도시한다.41 and 42 illustrate an example in which the cleaning robot according to an embodiment repeatedly travels on the same path.
도 43은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 일 예를 도시한다.43 illustrates an example of a method in which the cleaning robot according to an embodiment deviates from repeated driving.
도 44는 도 43에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.FIG. 44 shows an example in which the cleaning robot travels in accordance with the method illustrated in FIG. 43.
도 45는 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 다른 일 예를 도시한다.45 is a view illustrating another example of a method in which the cleaning robot according to one embodiment is released from repeated driving.
도 46 및 도 47은 도 45에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.46 and 47 show an example in which the cleaning robot travels according to the method shown in FIG. 45.
도 48은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 또 다른 일 예를 도시한다.48 is yet another example of a method in which the cleaning robot, according to an embodiment, deviates from repeated driving.
도 49 내지 도 52는 도 48에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.49 to 52 show an example in which the cleaning robot travels according to the method illustrated in FIG. 48.
도 53은 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.Fig. 53 is a diagram illustrating a control configuration of a cleaning robot according to another embodiment.
도 54은 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.54 is a view illustrating a cleaning robot cleaning a cleaning space according to another embodiment.
도 55 내지 도 59는 도 54에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.55 to 59 illustrate an example in which the cleaning robot according to the embodiment cleans the cleaning space according to the method illustrated in FIG. 54.
도 60은 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.60 is a control diagram of the cleaning robot according to another embodiment.
도 61은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.61 is a view illustrating a cleaning robot cleaning a cleaning space, according to another embodiment.
도 62는 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.62 shows a control configuration of a cleaning robot according to another embodiment.
도 63은 마그네틱 밴드가 설치된 청소 공간을 도시한다.Fig. 63 shows the cleaning space in which the magnetic band is installed.
도 64은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.64 is a view illustrating a cleaning robot cleaning a cleaning space according to another embodiment.
도 65 내지 도 67는 도 64에 도시된 청소 방법에 따라 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 과정을 도시한다.65 to 67 illustrate a process of cleaning the cleaning space by the cleaning robot according to another embodiment according to the cleaning method illustrated in FIG. 64.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.Configurations shown in the embodiments and drawings described herein are only exemplary embodiments of the disclosed invention, there may be various modifications that can replace the embodiments and drawings of the present specification at the time of filing of the present application.
본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting and / or limiting the disclosed invention.
구체적으로, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.In particular, the singular forms herein may include the plural forms unless the context clearly indicates otherwise.
또한, 본 명세서에서 사용한 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.In addition, the terms "comprise" or "having" as used herein are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more. It does not exclude in advance the possibility of the presence or addition of other features or numbers, steps, actions, components, parts or combinations thereof.
또한, 본 명세서에서 사용한 “제1”, “제2” 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In addition, terms including ordinal numbers such as “first” and “second” as used herein may be used to describe various components, but the components are not limited by the terms. It is used only to distinguish one component from another.
또한, 본 명세서에서 사용되는 “~부”, “~기”, “~블록”, “~부재”, “~모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 메모리에 저장된 소프트웨어, FPGA (field-programmable gate array) 또는 ASIC (application specific integrated circuit)과 같은 하드웨어를 의미할 수 있다. 그러나, “~부”, “~기”, “~블록”, “~부재”, “~모듈” 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, “~부”, “~기”, “~블록”, “~부재”, “~모듈” 등은 접근할 수 있는 저장 매체에 저장되고 하나 또는 그 이상의 프로세서에 의하여 수행되는 구성일 수 있다.In addition, the terms "~ part", "~ group", "~ block", "~ member", "~ module" as used herein may refer to a unit for processing at least one function or operation. . For example, it may mean hardware such as software stored in memory, a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC). However, the terms “~ part”, “~ group”, “~ block”, “~ absence”, “~ module” are not limited to software or hardware, and “~ part”, “~ group”, “~ Blocks ”,“ ~ members ”,“ ~ modules ”, etc. may be components stored in accessible storage media and performed by one or more processors.
이하에서는 첨부한 도면을 참조하여 개시된 발명의 일 실시예에 대하여 상세하게 설명한다. 첨부한 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낼 수 있다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the disclosed invention. Like reference numerals or designations given in the accompanying drawings may refer to parts or components that perform substantially the same functions.
도 1 및 도 2는 일 실시예에 의한 청소 로봇의 동작을 간략하게 도시한다.1 and 2 briefly illustrate the operation of the cleaning robot according to an embodiment.
우선, 도 1 및 도 2를 참조하여 청소 로봇(100)의 동작에 관하여 간략하게 설명한다.First, the operation of the cleaning robot 100 will be briefly described with reference to FIGS. 1 and 2.
청소 로봇(100)은 청소 공간(A) 안에서 청소 공간(A)의 바닥을 주행할 수 있다. 또한, 청소 로봇(100)은 청소 공간(A)을 주행하는 동안 청소 공간(A)을 청소할 수 있다. The cleaning robot 100 may travel the floor of the cleaning space A in the cleaning space A. FIG. In addition, the cleaning robot 100 may clean the cleaning space A while traveling in the cleaning space A. FIG.
예를 들어, 청소 공간(A)의 임의의 위치에 위치한 청소 로봇(100)은 도 1에 도시된 바와 같이 임의의 방향으로 주행하고, 주행 중에 벽면, 가구 등의 장애물(O)과 마주치면 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행할 수 있다.For example, the cleaning robot 100 located at an arbitrary position of the cleaning space A travels in an arbitrary direction as shown in FIG. 1 and cleans when it encounters an obstacle O such as a wall surface or furniture while driving. The robot 100 may travel along the outline of the obstacle O.
여기서, 장애물(O)은 청소 로봇(100)의 주행을 방해하는 모든 물건이 해당될 수 있다. 예를 들어, 청소 공간(A)을 구분하는 벽면, 청소 공간(A)에 위치하는 가구 등 청소 로봇(100)의 주행을 방해하는 물건은 장애물(O)에 해당될 수 있다.Here, the obstacle (O) may correspond to all objects that hinder the running of the cleaning robot (100). For example, an object that obstructs the running of the cleaning robot 100, such as a wall separating the cleaning space A and furniture located in the cleaning space A, may correspond to an obstacle O.
또한, 청소 로봇(100)은 빠르고 효율적인 청소를 위하여 청소 공간(A)을 복수의 청소 영역으로 분할하고, 청소 로봇(100)은 각각의 분할된 청소 영역 내에서 주행하면서 해당 청소 영역을 청소할 수 있다.In addition, the cleaning robot 100 may divide the cleaning space A into a plurality of cleaning areas for quick and efficient cleaning, and the cleaning robot 100 may clean the cleaning area while driving in each divided cleaning area. .
통상적으로 청소 공간(A)은 복수의 공간(R1, R2, R3)으로 구획된다. 예를 들어, 청소 공간(A)은 도 1에 도시된 바와 같이 제1 방(R1), 제2 방(R2) 및 거실(R3)로 구획될 수 있다.Usually, the cleaning space A is divided into a plurality of spaces R1, R2, and R3. For example, the cleaning space A may be divided into a first room R1, a second room R2, and a living room R3 as shown in FIG. 1.
또한, 각각의 청소 공간(A)은 출입구(E1, E2)에 의하여 서로 연결된다. 예를 들어, 도 1에 도시된 바와 같이 제1 방(R1)과 거실(R3)은 제1 출입구(E1)에 의하여 연결되며, 제2 방(R2)과 거실(R3)은 제2 출입구(E2)에 의하여 연결될 수 있다.In addition, each cleaning space A is connected to each other by the entrances E1 and E2. For example, as shown in FIG. 1, the first room R1 and the living room R3 are connected by the first doorway E1, and the second room R2 and the living room R3 are connected to the second doorway (R1). It can be connected by E2).
다시 말해, 청소 공간(A)은 출입구(E1, E2)에 의하여 연결된 복수의 영역의 모음으로 볼 수 있다.In other words, the cleaning space A can be viewed as a collection of a plurality of regions connected by the entrances E1 and E2.
이와 같은 청소 공간(A)의 통상적인 특징을 이용하여 청소 로봇(100)은 주행 중에 실시간으로 청소 영역을 설정할 수 있다.The cleaning robot 100 may set the cleaning area in real time while driving by using the conventional features of the cleaning space A. FIG.
구체적으로, 청소 로봇(100)은 주행 중에 출입구를 판단하고, 판단된 출입구와 주행 기록을 기초로 청소 영역을 설정한다.In detail, the cleaning robot 100 determines an entrance and exit while driving, and sets a cleaning area based on the determined entrance and driving record.
예를 들어, 도 1에 도시된 바와 같이 장애물(O)의 외곽선을 따라 주행하는 청소 로봇(100)이 제1 출입구(E1)를 인식하면, 청소 로봇(100)은 인식된 제1 출입구(E1)를 기초로 제1 방(R1)을 인식할 수 있다. 또한, 청소 로봇(100)은 제1 방(R1)을 제1 청소 영역(A1)으로 설정하고, 제1 청소 영역(A1)을 청소 공간(A)의 다른 영역보다 우선 청소할 수 있다.For example, as shown in FIG. 1, when the cleaning robot 100 traveling along the outline of the obstacle O recognizes the first entrance E1, the cleaning robot 100 recognizes the recognized first entrance E1. ), The first room R1 may be recognized. In addition, the cleaning robot 100 may set the first room R1 as the first cleaning area A1, and clean the first cleaning area A1 before other areas of the cleaning space A.
다시 말해, 청소 로봇(100)은 주행 중에 출입구를 기초로 청소 영역을 설정하고, 설정된 청소 영역을 청소 공간(A)의 다른 영역보다 우선적으로 청소할 수 있다.In other words, the cleaning robot 100 may set the cleaning area based on the entrance and exit while driving, and may preferentially clean the set cleaning area over other areas of the cleaning space A. FIG.
이와 같이 청소 로봇(100)이 주행 중에 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하기 때문에 청소 로봇(100)은 청소 공간(A)을 보다 빠르고 효율적으로 청소할 수 있다.In this way, since the cleaning robot 100 sets the cleaning area while driving and first cleans the set cleaning area, the cleaning robot 100 can clean the cleaning space A more quickly and efficiently.
아래에서는 청소 로봇(100)의 구성 및 구체적인 동작에 관하여 설명한다.Hereinafter, the configuration and specific operation of the cleaning robot 100 will be described.
도 3은 일 실시예에 의한 청소 로봇의 제어 구성을 도시하고, 도 4는 일 실시예에 의한 청소 로봇의 외관을 도시한다. 또한, 도 5 및 도 6은 일 실시예에 의한 청소 로봇의 내부를 도시하며, 도 7은 일 실시예에 의한 청소 로봇의 저면을 도시한다.3 illustrates a control configuration of the cleaning robot according to an embodiment, and FIG. 4 illustrates an appearance of the cleaning robot according to an embodiment. 5 and 6 show the inside of the cleaning robot according to one embodiment, and FIG. 7 shows the bottom surface of the cleaning robot according to one embodiment.
도 3 내지 도 7을 참조하면, 청소 로봇(100)은 메인 바디(101)와 서브 바디(103)로 구성될 수 있다. 도 4에 도시된 바와 같이 메인 바디(101)는 대략 반원기둥의 형태를 갖을 수 있고, 서브 바디(103)는 대략 직육면체의 형태를 갖을 수 있다. 3 to 7, the cleaning robot 100 may include a main body 101 and a sub body 103. As shown in FIG. 4, the main body 101 may have a substantially semi-cylindrical shape, and the sub body 103 may have a substantially rectangular parallelepiped shape.
또한, 메인 바디(101) 및 서브 바디(103)의 내부 및 외부에는 청소 로봇(100)의 기능을 실현하기 위한 구성 부품이 마련될 수 있다.In addition, component parts for realizing the function of the cleaning robot 100 may be provided inside and outside the main body 101 and the sub body 103.
구체적으로, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170) 및 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110)를 포함할 수 있다.In detail, the cleaning robot 100 may detect a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle O of the cleaning space A. FIG. It includes an obstacle detecting unit 140 for detecting, the driving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space and the control unit 110 for the overall control of the operation of the cleaning robot 100. can do.
유저 인터페이스(120)는 도 4에 도시된 바와 같이 청소 로봇(100)의 메인 바디(101) 상면에 마련될 수 있으며, 사용자로부터 제어 명령을 입력받는 복수의 입력 버튼(121)과 청소 로봇(100)의 동작 정보를 표시하는 디스플레이(123)를 포함할 수 있다.As shown in FIG. 4, the user interface 120 may be provided on an upper surface of the main body 101 of the cleaning robot 100, and the plurality of input buttons 121 and the cleaning robot 100 that receive control commands from the user may be provided. It may include a display 123 for displaying the operation information of the).
복수의 입력 버튼(121)은 청소 로봇(100)을 온 또는 오프시키는 전원 버튼(121a), 청소 로봇(100)을 동작시키거나 정지시키는 동작 버튼(121b), 청소 로봇(100)을 충전 스테이션(미도시)으로 복귀시키는 복귀 버튼(121c) 등을 포함할 수 있다.The plurality of input buttons 121 may include a power button 121a for turning on or off the cleaning robot 100, an operation button 121b for operating or stopping the cleaning robot 100, and a cleaning station 100. It may include a return button (121c) for returning to the (not shown).
이와 같은 복수의 입력 버튼(121)에 포함된 각각의 버튼은 사용자의 가압을 감지하는 푸시 스위치(push switch)와 멤브레인 스위치(membrane) 또는 사용자의 신체 일부의 접촉을 감지하는 터치 스위치(touch switch) 등을 채용할 수 있다.Each of the buttons included in the plurality of input buttons 121 is a push switch that senses the user's pressure and a membrane switch or a touch switch that senses the contact of the user's body part. Etc. can be employed.
디스플레이(123)는 사용자가 입력한 제어 명령에 대응하여 청소 로봇(100)의 정보를 표시한다, 예를 들어, 디스플레이(123)는 청소 로봇(100)의 동작 상태, 전원의 상태, 사용자가 선택한 청소 모드, 충전 스테이션으로의 복귀 여부 등을 표시할 수 있다.The display 123 displays the information of the cleaning robot 100 in response to a control command input by the user. For example, the display 123 may display an operation state of the cleaning robot 100, a power supply state, and a user's selection. The cleaning mode, whether to return to the charging station, etc. can be displayed.
이와 같은 디스플레이(123)는 자체 발광이 가능한 발광 다이오드(Light Emitting Diode: LED)와 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 또는 별도의 발광원을 구비하는 액정 디스플레이(Liquid Crystal Display) 등을 채용할 수 있다.The display 123 employs a light emitting diode (LED), an organic light emitting diode (OLED), or a liquid crystal display having a separate light emitting source. can do.
또한, 디스플레이(123)는 사용자로부터 제어 명령을 입력받고, 입력받은 제어 명령에 대응하는 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel: TSP)을 채용할 수도 있다.In addition, the display 123 may adopt a touch screen panel (TSP) that receives a control command from a user and displays operation information corresponding to the received control command.
터치 스크린 패널은 동작 정보 및 사용자가 입력할 수 있는 제어 명령을 표시하는 디스플레이, 사용자의 신체 일부가 접촉한 좌표를 검출하는 터치 패널(touch panel), 터치 패널이 검출한 접촉 좌표를 기초로 사용자가 입력한 제여 명령을 판단하는 터치 스크린 컨트롤러를 포함할 수 있다.The touch screen panel includes a display that displays motion information and control commands that can be input by the user, a touch panel that detects coordinates of a user's body part, and a touch coordinate that is detected by the touch panel. It may include a touch screen controller for determining the input grant command.
터치 스크린 컨트롤러는 터치 패널을 통하여 검출하는 사용자의 터치 좌표와 디스플레이를 통하여 표시하는 제어 명령의 좌표를 비교하여 사용자가 입력한 제어 명령을 인식할 수 있다.The touch screen controller may recognize the control command input by the user by comparing the touch coordinates of the user detected through the touch panel with the coordinates of the control command displayed through the display.
움직임 검출부(130)는 청소 로봇(100)이 청소 공간(A)을 주행하는 동안 청소 로봇(100)의 움직임을 검출할 수 있다.The motion detector 130 may detect a movement of the cleaning robot 100 while the cleaning robot 100 travels in the cleaning space A. FIG.
구체적으로, 움직임 검출부(130)는 청소 로봇(100)이 선형 이동하는 동안 청소 로봇(100)의 가속도, 이동 속도, 이동 변위 및 이동 방향 등을 검출할 수 있다. 또한, 움직임 검출부(130)는 청소 로봇(100)이 회전 이동하는 동안 청소 로봇(100)의 회전 속도, 회전 변위 및 회전 반경 등을 검출할 수 있다.In detail, the motion detector 130 may detect the acceleration, the moving speed, the moving displacement, the moving direction, and the like of the cleaning robot 100 while the cleaning robot 100 linearly moves. In addition, the movement detector 130 may detect a rotation speed, a rotation displacement, a rotation radius, and the like of the cleaning robot 100 while the cleaning robot 100 rotates.
이와 같은 움직임 검출부(130)는 청소 로봇(100)의 선형 이동 정보를 검출하는 가속도 센서(131)와 청소 로봇(100)의 회전 이동 정보를 검출하는 자이로 센서(133)를 포함할 수 있다.The motion detector 130 may include an acceleration sensor 131 for detecting linear movement information of the cleaning robot 100 and a gyro sensor 133 for detecting rotation movement information of the cleaning robot 100.
가속도 센서(131)는 청소 로봇(100)의 선형 이동 정보를 검출한다. 구체적으로, 가속도 센서(131)는 뉴턴의 제2 운동 법칙(가속도의 법칙)을 이용하여 청소 로봇(100)의 선형 가속도, 선형 속도 및 선형 변위 등을 검출할 수 있다.The acceleration sensor 131 detects linear movement information of the cleaning robot 100. In detail, the acceleration sensor 131 may detect linear acceleration, linear speed, linear displacement, and the like of the cleaning robot 100 using Newton's second law of motion (acceleration law).
가속도 센서(131)는 압전형 가속도 센서, 정전 용량형 가속도 센서, 스트레인 게이지형 가속도 센서 등을 채용할 수 있다.The acceleration sensor 131 may employ a piezoelectric acceleration sensor, a capacitive acceleration sensor, a strain gauge type acceleration sensor, or the like.
압전형 가속도 센서는 기계적 변형에 의하여 전기적 신호를 출력하는 압전 소자를 포함하며, 압전 소자가 출력하는 전기적 신호를 이용하여 가속도를 검출한다. 구체적으로, 압전형 가속도 센서는 가속도에 의한 압전 소자의 변형에 따라 압전 소자가 출력하는 전기적 신호로 검출하고, 검출된 전기적 신호로부터 가속도를 산출한다.The piezoelectric acceleration sensor includes a piezoelectric element that outputs an electrical signal by mechanical deformation, and detects acceleration using the electrical signal output by the piezoelectric element. Specifically, the piezoelectric acceleration sensor detects the electrical signal output from the piezoelectric element according to the deformation of the piezoelectric element due to the acceleration, and calculates the acceleration from the detected electrical signal.
정전 용량형 가속도 센서는 관성력에 의하여 구조물 사이의 거리가 변화하고, 이와 같은 거리의 변화로 인하여 정전 용량이 변화하는 것을 이용하여 가속도를 검출한다. 구체적으로, 정전 용량형 가속도 센서는 유동 가능한 구조물과 고정된 구조물을 포함하며, 관성력에 의한 구조물 사이의 거리 변화를 정전 용량의 변화로 검출하고, 검출된 전전 용량의 변화로부터 가속도를 산출한다.In the capacitive acceleration sensor, the distance between structures is changed by inertial force, and the acceleration is detected by changing the capacitance due to the change of the distance. Specifically, the capacitive acceleration sensor includes a flowable structure and a fixed structure, detects a change in distance between the structures due to inertial force as a change in capacitance, and calculates an acceleration from the detected change in capacitance.
스트레인 게이지형 가속도 센서는 기계적 변형에 의하여 전기적 저항이 변환하는 스트레인 게이지를 이용하여 가속도를 검출한다. 구체적으로, 스트레인 게이지형 가속도 센서는 가속도에 의한 구조물의 변형을 전기적 저항의 변화로 검출하고, 검출된 전기적 저항의 변화로부터 가속도를 산출한다.The strain gauge type acceleration sensor detects acceleration using a strain gauge that converts electrical resistance by mechanical deformation. Specifically, the strain gauge type acceleration sensor detects the deformation of the structure due to the acceleration as a change in the electrical resistance, and calculates the acceleration from the change in the detected electrical resistance.
또한, 가속도 센서(131)는 마이크로 기계, 마이크로 전자 및 반도체 공정 기술을 융합하여 소형화된 MEMS(Micro Electro Mechanical System)형 센서를 채용할 수 있다.In addition, the acceleration sensor 131 may employ a micro electro mechanical system (MEMS) type sensor that is miniaturized by fusing micromechanical, microelectronic, and semiconductor process technologies.
자이로 센서(133)는 자이로 스코프 또는 각속도 센서라 불리며, 청소 로봇(100)의 회전 이동 정보를 검출한다. 구체적으로, 자이로 센서(133)는 각운동량 보존 법칙, 사냑 효과, 코리올리 힘 등을 이용하여 검출 대상의 회전 각속도 및 회전 변위 등을 검출할 수 있다.The gyro sensor 133 is called a gyroscope or an angular velocity sensor and detects rotational movement information of the cleaning robot 100. In detail, the gyro sensor 133 may detect the rotational angular velocity and the rotational displacement of the detection target by using the angular momentum conservation law, the Sagnac effect, the Coriolis force, and the like.
이와 같은 자이로 센서(133)는 짐벌식(Gimbal) 자이로 센서, 광학식 자이로 센서, 진동식 자이로 센서 등을 채용할 수 있다.The gyro sensor 133 may employ a gimbal gyro sensor, an optical gyro sensor, a vibrating gyro sensor, or the like.
짐벌식 자이로 센서는 회전하는 물체는 회전의 중심이 되는 회전축을 일정하게 유지하고자 각운동량 보존과 회전하는 물체에 외력이 작용하는 경우 회전 반발력에 의하여 회전하는 물체의 회전축이 일정한 궤도를 따라 회전하는 세차 운동을 이용하여 대상의 회전 운동을 검출한다.The gimbal type gyro sensor is a precession motion in which the rotating axis of the rotating object rotates along a constant track by preserving the angular momentum and when an external force is applied to the rotating object to maintain a constant rotation axis that the rotating object is the center of rotation. Use to detect the rotational movement of the object.
광학식 자이로 센서는 원형의 광로를 따라 시계 방향과 반시계 방향으로 발신된 광이 대상의 회전에 의하여 발신점에 도달하는 시간이 상이해지는 사냑 효과(Sagnac Effect)를 이용하여 대상의 회전 운동을 검출한다.The optical gyro sensor detects the rotational motion of the object by using the Sagnac Effect in which the time transmitted from the clockwise and counterclockwise directions along the circular light path reaches the origin by the rotation of the object. .
진동식 자이로 센서는 대상의 회전에 의하여 발생하는 코리올리 힘을 이용하여 대상의 회전 운동을 감지한다. 구체적으로, 일정한 방향으로 진동하는 물체가 회전하면 코리올리 힘에 의하여 새로운 방향으로 진동하는 현상을 이용하여 대상의 회전 운동을 검출한다.The vibratory gyro sensor detects the rotational motion of the object by using Coriolis force generated by the rotation of the object. In detail, when an object vibrating in a certain direction rotates, a rotational motion of the object is detected by using a phenomenon of vibrating in a new direction by Coriolis force.
자이로 센서(133) 역시 MEMS(Micro Electro Mechanical System)형 센서를 채용할 수 있다. 예를 들어, MEMS형 자이로 센서 가운데 정전 용량 자이로 센서는 회전 속도에 비례히는 코리올리 힘에 의한 미세 기계 구조물의 변형을 정전용량 변화로 검출하고, 정전 용량의 변화로부터 회전 속도를 산출한다.The gyro sensor 133 may also employ a MEMS (Micro Electro Mechanical System) sensor. For example, among the MEMS type gyro sensors, the capacitive gyro sensor detects the deformation of the micromechanical structure due to the Coriolis force proportional to the rotational speed as the change in capacitance, and calculates the rotational speed from the change in the capacitance.
움직임 검출부(130)가 가속도 센서(131) 및 자이로 센서(133)에 한정되는 것은 아니다. 예를 들어, 움직임 검출부(130)는 후술할 주행부(160)의 주행 바퀴(163)의 회전을 감지하는 엔코더(미도시)를 포함할 수 있다.The motion detector 130 is not limited to the acceleration sensor 131 and the gyro sensor 133. For example, the motion detector 130 may include an encoder (not shown) that detects rotation of the driving wheel 163 of the driving unit 160 to be described later.
엔코더는 광을 발신하는 발광 소자, 광을 수신하는 수광 소자, 발광 소자와 수광 소자 사이에 마련되는 회전 슬릿과 고정 슬릿, 회전 슬릿의 회전 속도 및 회전 변위를 검출하는 엔코더 컨트롤러를 포함할 수 있다. 여기서, 회전 슬릿은 주행 바퀴(163)와 함께 회전하도록 마련되고, 고정 슬릿은 메인 바디(101)에 고정되어 마련될 수 있다.The encoder may include a light emitting device for transmitting light, a light receiving device for receiving light, an encoder controller for detecting a rotational slit and a fixed slit provided between the light emitting device and the light receiving device, and a rotational speed and rotational displacement of the rotational slit. Here, the rotary slit may be provided to rotate together with the traveling wheel 163, and the fixed slit may be fixed to the main body 101.
회전 슬릿의 회전에 따라 발광 소자가 발신한 광이 회전 슬릿을 통과하여 수광 소자에 도달하거나 회전 슬릿에 의하여 차단된다. 수광 소자는 회전 슬릿의 회전에 따라 펄스 형태의 광을 수신하고, 수신된 광에 따른 전기적 신호를 출력한다.In response to the rotation of the rotating slit, light transmitted by the light emitting element passes through the rotating slit to reach the light receiving element or is blocked by the rotating slit. The light receiving element receives pulse-shaped light according to the rotation of the rotating slit, and outputs an electrical signal according to the received light.
또한, 엔코더 컨트롤러는 수광 소자가 출력한 전기적 신호를 기초로 주행 바퀴(163)의 회전 속도 및 회전 변위를 산출하고, 주행 바퀴(163)의 회전 속도 및 회전 변위를 기초로 청소 로봇(100)의 선형 이동 속도, 선형 이동 변위, 회전 이동 속도 및 회전 이동 변위 등을 산출할 수 있으며, 이를 후술할 제어부(110)에 제공할 수 있다.In addition, the encoder controller calculates the rotational speed and rotational displacement of the traveling wheel 163 based on the electrical signal output from the light receiving element, and based on the rotational speed and the rotational displacement of the traveling wheel 163. A linear movement speed, a linear movement displacement, a rotation movement speed, a rotation movement displacement, and the like may be calculated and provided to the controller 110 to be described later.
장애물 감지부(140)는 청소 로봇(100)의 이동을 방해하는 장애물(O)을 감지한다.The obstacle detecting unit 140 detects an obstacle O that hinders the movement of the cleaning robot 100.
여기서, 장애물(O)이란 앞서 설명한 바와 같이 청소 공간(A)의 바닥으로부터 돌출되어 청소 로봇(100)의 이동을 방해하거나 청소 공간(A)의 바닥으로부터 움푹 패여 청소 로봇(100)의 이동을 방해할 수 있는 모든 것을 의미하며, 테이블, 쇼파 등의 가구, 청소 공간(A)을 구획하는 벽면, 청소 공간(A)의 바닥보다 낮은 현관 등 장애물(O)에 해당할 수 있다.Here, the obstacle (O) as described above protrudes from the bottom of the cleaning space (A) to hinder the movement of the cleaning robot 100 or pit from the bottom of the cleaning space (A) to hinder the movement of the cleaning robot (100) It means everything that can be done, and may correspond to an obstacle O such as a table, a furniture such as a sofa, a wall partitioning the cleaning space A, and a porch lower than the floor of the cleaning space A.
장애물 감지부(140)는 청소 로봇(100)의 전방을 향하여 광을 발신하는 전방 광 발신 모듈(141), 장애물(O) 등으로부터 반사된 광을 수신하는 전방 광 수신 모듈(143), 청소 로봇(100)의 측면을 향하여 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 측면 광 센서 모듈(145)을 포함할 수 있다. The obstacle detecting unit 140 includes a front light transmitting module 141 for transmitting light toward the front of the cleaning robot 100, a front light receiving module 143 for receiving light reflected from an obstacle O, and a cleaning robot. It may include a side optical sensor module 145 for transmitting the light toward the side of the (100) and for receiving the light reflected from the obstacle (O).
일 실시예에 의한 청소 로봇(100)은 장애물(O)을 감지하기 위하여 적외선 등의 광을 이용하나 이에 한정되는 것은 아니며, 레이저, 초음파 또는 전파 등을 이용할 수도 있다.The cleaning robot 100 according to an embodiment uses light such as infrared rays in order to detect the obstacle O, but is not limited thereto, and may use laser, ultrasonic waves, or radio waves.
전방 광 발신 모듈(141)는 도 5 및 도 6에 도시된 바와 같이 광을 발신하는 광원(141a)과 발신된 광을 청소 바닥과 평행한 방향으로 확산시키는 광각 렌즈(141b)를 포함할 수 있다.The front light transmitting module 141 may include a light source 141a for transmitting light and a wide-angle lens 141b for diffusing the transmitted light in a direction parallel to the cleaning floor, as shown in FIGS. 5 and 6. .
광원(141a)은 광을 여러 방향으로 발산하는 엘이디(Light Emitting Diode: LED) 또는 레이저(Light Amplification by Simulated Emission of Radiation: LASER) 다이오드를 채용할 수 있다.The light source 141a may employ an LED (Light Emitting Diode) or a laser (Light Amplification by Simulated Emission of Radiation (LASER)) diode that emits light in various directions.
광각 렌즈(141b)는 광각 렌즈(141b)는 광을 투과시킬 수 있는 재질로 구성될 수 있으며, 굴절 또는 전반사를 이용하여 광원(141a)으로부터 발산된 광을 청소 바닥과 평행한 방향으로 확산시킨다. 광각 렌즈(141b)로 인하여 전방 광 발신 모듈(141)로부터 발신된 광은 청소 로봇(100)의 전방을 향하여 부채꼴 형태로 확산될 수 있다.(이하에서는 청소 바닥과 평행한 방향을 확산되어 부채꼴 형태를 갖는 광을 평면광이라 한다.)The wide-angle lens 141b may be formed of a material capable of transmitting light, and diffuses light emitted from the light source 141a in a direction parallel to the cleaning floor by using refraction or total reflection. Light transmitted from the front light transmitting module 141 due to the wide-angle lens 141b may be diffused in a fan shape toward the front of the cleaning robot 100. (In the following, a direction parallel to the cleaning floor may be diffused to form a fan shape. Light having is called plane light.)
이와 같이 전방 광 발신 모듈(141)은 청소 로봇(100) 전방의 모든 방향을 향하여 광을 발신할 수 있다.As such, the front light transmitting module 141 may transmit light toward all directions in front of the cleaning robot 100.
또한, 전방 광 발신 모듈(141)에 의하여 발신된 평면광이 도달하지 않는 부분이 최소가 되도록 장애물 감지부(140)는 도 5 및 도 6에 도시된 바와 같이 복수의 전방 광 발신 모듈(141)을 포함할 수 있다.In addition, the obstacle detecting unit 140 is a plurality of front light transmitting module 141 as shown in Figs. 5 and 6 so that the portion where the plane light transmitted by the front light transmitting module 141 does not reach the minimum. It may include.
전방 광 수신 모듈(143)은 장애물(O)로부터 반사된 광을 집중시키는 반사 미러(143a), 반사 미러(143a)에 의하여 반사된 광을 수신하는 영상 센서(143b)를 포함할 수 있다.The front light receiving module 143 may include a reflection mirror 143a for concentrating the light reflected from the obstacle O and an image sensor 143b for receiving the light reflected by the reflection mirror 143a.
영상 센서(143b)는 반사 미러(143a)의 아래에 마련될 수 있으며, 반사 미러(143a)에 의하여 반사된 광을 수신한다. 구체적으로, 영상 센서(143a)는 장애물(O)에 반사된 반사광에 의하여 반사 미러(143a)에 맺히는 2차원 영상을 획득할 수 있다. 여기서, 영상 센서(143a)는 광 센서가 2차원으로 배열된 2차원 영상 센서로 구성될 수 있다.The image sensor 143b may be provided under the reflection mirror 143a and receive the light reflected by the reflection mirror 143a. In detail, the image sensor 143a may acquire a 2D image formed on the reflection mirror 143a by the reflected light reflected by the obstacle O. FIG. Here, the image sensor 143a may be configured as a two-dimensional image sensor in which the optical sensor is arranged in two dimensions.
이와 같은 영상 센서(143b)는 CMOS(Complementary Metal Oxide Semiconductor) 센서 또는 CCD(Charge coupled device) 센서를 채용할 수 있다.The image sensor 143b may employ a complementary metal oxide semiconductor (CMOS) sensor or a charge coupled device (CCD) sensor.
이때 영상 센서(143b)는 전방 광 발신 모듈(141)의 광원(143a)이 발신하는 광과 같은 파장의 광을 수신할 수 있는 영상 센서(143b)를 채용하는 것이 바람직하다. 예를 들어, 광원(141a)이 적외선 영역의 광을 발신하는 경우, 영상 센서(143b) 역시 적외선 영역의 영상을 획득할 수 있는 영상 센서(143b)를 채용하는 것이 바람직하다.In this case, the image sensor 143b may preferably employ an image sensor 143b capable of receiving light having the same wavelength as that of the light source 143a of the front light transmitting module 141. For example, when the light source 141a transmits light in the infrared region, the image sensor 143b may also employ an image sensor 143b capable of acquiring an image in the infrared region.
이와 같이 전방 광 수신 모듈(143)은 청소 로봇(100) 전방의 모든 방향으로부터 반사되는 반사광을 수신할 수 있다.As such, the front light receiving module 143 may receive the reflected light reflected from all directions in front of the cleaning robot 100.
또한, 전방 광 수신 모듈(143)은 전방 광 발신 모듈(141)과 다른 개수가 마련될 수 있다. 앞서 설명한 바와 같이 전방 광 발신 모듈(141)은 광각 렌즈(141b)를 이용하여 광원(141a)으로부터 발신된 광을 다양한 방향으로 확산시키고, 전방 광 수신 모듈(143)은 반사 미러(143a)를 이용하여 다양한 방향의 광을 영상 센서(143a)로 집중시키므로, 장애물 감지부(140)는 서로 다른 개수의 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)를 포함할 수 있다.In addition, the number of front light receiving module 143 and the front light transmitting module 141 may be provided. As described above, the front light transmitting module 141 diffuses the light transmitted from the light source 141a in various directions using the wide-angle lens 141b, and the front light receiving module 143 uses the reflection mirror 143a. By concentrating light in various directions to the image sensor 143a, the obstacle detecting unit 140 may include a different number of front light transmitting modules 141 and front light receiving modules 143.
이상에서는 장애물 감지부(140)에 관하여 청소 로봇(100) 전방의 모든 방향으로 광을 발신하는 전방 광 발신 모듈(141)과 청소 로봇(100) 전방의 모든 방향으로부터 반사되는 반사광을 수신하는 전방 광 수신 모듈(143)에 대하여 설명하였으나, 장애물 감지부(140)가 이와 같은 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)이 이에 한정되는 것은 아니다.In the above description, the front light transmitting module 141 for transmitting light in all directions in front of the cleaning robot 100 and the front light receiving reflection light reflected from all directions in front of the cleaning robot 100 with respect to the obstacle detecting unit 140. Although the reception module 143 has been described, the front light transmitting module 141 and the front light receiving module 143 are not limited thereto.
예를 들어, 장애물 감지부(140)는 청소 로봇(100) 전방의 특정 방향을 향하여 직선 형태의 광을 발신하고, 장애물(O)로부터 반사되는 반사광을 이용하여 장애물(O)의 위치를 검출하는 광 센서 모듈을 포함할 수도 있다.For example, the obstacle detecting unit 140 transmits light in a straight line toward a specific direction in front of the cleaning robot 100 and detects the position of the obstacle O using the reflected light reflected from the obstacle O. It may also include an optical sensor module.
측면 광 센서 모듈(145)은 청소 로봇(100)의 좌측을 향하여 비스듬하게 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 좌측 광 센서 모듈(145a) 및 청소 로봇(100)의 우측을 향하여 비스듬하게 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 좌측 광 센서 모듈(145b)를 포함할 수 있다.The side light sensor module 145 transmits the light obliquely toward the left side of the cleaning robot 100 and the right side of the cleaning robot 100 and the left light sensor module 145a which receives the light reflected from the obstacle O. It may include a left optical sensor module 145b for transmitting the light obliquely toward and receiving the light reflected from the obstacle (O).
이와 같은 측면 광 센서 모듈(145)는 장애물(O)의 검출 뿐만 아니라, 청소 로봇(100)의 주행에도 이용될 수 있다.The side light sensor module 145 may be used not only for detecting the obstacle O but also for driving the cleaning robot 100.
예를 들어, 청소 로봇(100)이 장애물(O)과 일정한 거리를 유지하며 주행하는 외곽선 추종 주행의 경우, 측면 광 센서 모듈(145)은 청소 로봇(100)의 측면과 장애물(O) 사이의 거리를 검출하고, 제어부(110)는 측면 광 센서 모듈(145)의 검출 결과를 기초로 청소 로봇(100)이 장애물(O)과 일정한 거리를 유지하도록 주행부(160)를 제어할 수 있다.For example, in the case of an outline following driving in which the cleaning robot 100 keeps a certain distance from the obstacle O, the side light sensor module 145 may be disposed between the side of the cleaning robot 100 and the obstacle O. After detecting the distance, the controller 110 may control the driving unit 160 to maintain the constant distance from the obstacle O based on the detection result of the side light sensor module 145.
측면 광 센서 모듈(145)은 주로 청소 로봇(100)의 전방에 위치하는 장애물(O)을 감지하기 위한 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)을 보조하는 구성이며, 경우에 따라서 장애물 감지부(140)는 측면 광 센서 모듈(145)을 포함하지 않을 수 있다.The side light sensor module 145 is mainly configured to assist the front light transmitting module 141 and the front light receiving module 143 for detecting an obstacle O located in front of the cleaning robot 100. Therefore, the obstacle detecting unit 140 may not include the side light sensor module 145.
주행부(160)는 청소 로봇(100)을 이동시키며, 도 7에 도시된 바와 같이 바퀴 구동 모터(161), 주행 바퀴(163) 및 캐스터 바퀴(155)를 포함할 수 있다.The driving unit 160 moves the cleaning robot 100 and may include a wheel driving motor 161, a driving wheel 163, and a caster wheel 155 as shown in FIG. 7.
주행 바퀴(163)는 메인 바디(101) 저면의 양단에 마련될 수 있으며, 청소 로봇(100)의 전방을 기준으로 청소 로봇(100)의 좌측에 마련되는 좌측 주행 바퀴(163a)와 청소 로봇(100)의 우측에 마련되는 우측 주행 바퀴(163b)를 포함할 수 있다. The traveling wheels 163 may be provided at both ends of the bottom surface of the main body 101, and the left traveling wheels 163a and the cleaning robots provided on the left side of the cleaning robot 100 based on the front of the cleaning robot 100. It may include a right driving wheel (163b) provided on the right side of the 100.
또한, 주행 바퀴(163)는 바퀴 구동 모터(161)로부터 회전력을 제공받아 청소 로봇(100)을 이동시킨다.In addition, the driving wheel 163 receives the rotational force from the wheel driving motor 161 to move the cleaning robot 100.
바퀴 구동 모터(161)는 주행 바퀴(163)를 회전시키는 회전력을 생성하며, 좌측 주행 바퀴(163a)를 회전시키는 좌측 구동 모터(161a)와 우측 주행 바퀴(163b)를 회전시키는 우측 구동 모터(161b)를 포함한다.The wheel drive motor 161 generates a rotational force for rotating the traveling wheel 163, and the right driving motor 161b for rotating the left driving motor 161a for rotating the left driving wheel 163a and the right driving wheel 163b. ).
좌측 구동 모터(161a)와 우측 구동 모터(161b)는 각각 제어부(110)로부터 구동 제어 신호를 수신하여 독립적으로 동작할 수 있다. The left driving motor 161a and the right driving motor 161b may operate independently by receiving driving control signals from the controller 110, respectively.
이와 같이 독립적으로 동작하는 좌측 구동 모터(161a)와 우측 구동 모터(161b)에 의하여 좌측 주행 바퀴(163a)와 우측 주행 바퀴(163b)는 서로 독립적으로 회전할 수 있다. As described above, the left driving wheel 163a and the right driving wheel 163b may be independently rotated by the left driving motor 161a and the right driving motor 161b.
또한, 좌측 주행 바퀴(163a)와 우측 주행 바퀴(163b)가 독립적으로 회전할 수 있으므로 청소 로봇(100)는 전진 주행, 후진 주행, 회전 주행 및 제자리 회전 등 다양한 주행이 가능하다.In addition, since the left driving wheel 163a and the right driving wheel 163b may be independently rotated, the cleaning robot 100 may perform various driving operations such as forward driving, backward driving, rotary driving, and in-situ rotation.
예를 들어, 좌우측 주행 바퀴(163a, 163b) 모두가 제1 방향으로 회전하면 청소 로봇(100)은 전방으로 직선 주행(전진)하고, 좌우측 주행 바퀴(163a, 163b) 모두가 제2 방향으로 회전하면 본체(101)는 후방으로 직선 주행(후진)할 수 있다.For example, when both the left and right travel wheels 163a and 163b rotate in the first direction, the cleaning robot 100 travels straight forward (forward), and both the left and right travel wheels 163a and 163b rotate in the second direction. The lower body body 101 can travel straight (reverse) backward.
또한, 좌우측 주행 바퀴(163a, 163b)가 같은 방향으로 회전하되, 서로 다른 속도로 회전하면 청소 로봇(100)은 우측 또는 좌측으로 회전 주행하며. 좌우측 주행 바퀴(163a, 163b)가 서로 다른 방향으로 회전하면 청소 로봇(100)은 제자리에서 시계 방향 또는 반시계방향으로 회전할 수 있다. In addition, the left and right driving wheels 163a and 163b rotate in the same direction, but when rotated at different speeds, the cleaning robot 100 rotates to the right or left. When the left and right driving wheels 163a and 163b rotate in different directions, the cleaning robot 100 may rotate in place clockwise or counterclockwise.
캐스터 바퀴(165)는 메인 바디(101)의 저면에 설치되어 청소 로봇(100)의 이동 방향에 따라 캐스터 바퀴(165)의 회전축이 회전할 수 있다. 이와 같이 청소 로봇(100)의 이동 방향에 따라 바퀴의 회전축이 회전하는 캐스터 바퀴(165)는 청소 로봇(100)의 주행을 방해하지 않으며, 청소 로봇(100)이 안정된 자세를 유지한 채 주행할 수 있도록 한다.The caster wheel 165 may be installed on the bottom of the main body 101 so that the rotating shaft of the caster wheel 165 may rotate according to the moving direction of the cleaning robot 100. As such, the caster wheel 165 in which the rotating shaft of the wheel rotates according to the moving direction of the cleaning robot 100 does not interfere with the running of the cleaning robot 100, and the cleaning robot 100 may travel while maintaining a stable posture. To help.
또한, 이외에도 주행부(160)는 제어부(110)의 제어 신호에 따라 바퀴 구동 모터(163)에 구동 전류를 공급하는 모터 구동 회로(미도시), 바퀴 구동 모터(161)의 회전력을 주행 바퀴(163)에 전달하는 동력 전달 모듈(미도시), 바퀴 구동 모터(161) 또는 주행 바퀴(163)의 회전 변위 및 회전 속도를 검출하는 회전 감지 센서(미도시) 등을 더 포함할 수 있다.In addition, the driving unit 160 may include a motor driving circuit (not shown) for supplying a driving current to the wheel driving motor 163 and the rotational force of the wheel driving motor 161 according to the control signal of the controller 110. The power transmission module (not shown) to transmit to the 163, the wheel driving motor 161 or a rotation sensor (not shown) for detecting the rotational displacement and rotation speed of the driving wheel 163 may be further included.
청소부(170)는 청소 영역의 바닥의 먼지를 비산시키는 드럼 브러시(173), 드럼 브러시(173)를 회전시키는 브러시 구동 모터(171), 비산된 먼지를 흡입하는 먼지 흡입 팬(177), 먼지 흡입 팬(177)을 회전시키는 먼지 흡입 모터(175) 및 흡입된 먼지를 저장하는 먼지함(177)을 포함한다.The cleaning unit 170 includes a drum brush 173 that scatters dust at the bottom of the cleaning area, a brush drive motor 171 that rotates the drum brush 173, a dust suction fan 177 that sucks scattered dust, and a dust suction unit. A dust suction motor 175 for rotating the fan 177 and a dust box 177 for storing the sucked dust.
드럼 브러시(173)는 도 7에 도시된 바와 같이 서브 바디(103)의 저면에 형성된 먼지 흡입구(105)에 마련되며, 서브 바디(103)의 청소 바닥과 수평하게 마련된 회전축을 중심으로 회전하면서 청소 바닥의 먼지를 먼지 흡입구(105)를 내부로 비산시킨다.As illustrated in FIG. 7, the drum brush 173 is provided at the dust suction port 105 formed at the bottom of the sub body 103, and is cleaned while rotating about a rotating shaft provided horizontally with the cleaning floor of the sub body 103. Dust on the floor scatters the dust inlet 105 inside.
브러시 구동 모터(171)는 드럼 브러시(173)에 인접하게 마련되어 제어부(110)의 청소 제어 신호에 따라 드럼 브러시(173)를 회전시킨다.The brush driving motor 171 is provided adjacent to the drum brush 173 to rotate the drum brush 173 according to the cleaning control signal of the controller 110.
도면에는 도시되지 않았으나, 청소부(170)는 제어부(110)의 제어 신호에 따라 브러시 구동 모터(171)에 구동 전류를 공급하는 모터 구동 회로(미도시), 브러시 구동 모터(171)의 회전력을 드럼 브러시(173)에 전달하는 동력 전달 모듈(미도시)을 더 포함할 수 있다.Although not shown in the drawing, the cleaning unit 170 drums the rotational force of the motor driving circuit (not shown) and the brush driving motor 171 to supply the driving current to the brush driving motor 171 according to the control signal of the controller 110. A power transmission module (not shown) for transmitting to the brush 173 may be further included.
먼지 흡입 팬(177)은 도 5 및 도 6에 도시된 바와 같이 메인 바디(101)에 마련되어, 드럼 브러시(173)에 의하여 비산된 먼지를 먼지함(179)으로 흡입한다.The dust suction fan 177 is provided in the main body 101 as shown in FIGS. 5 and 6 to suck the dust scattered by the drum brush 173 into the dust box 179.
먼지 흡입 모터(175)는 먼지 흡입 팬(177)과 인접한 위치에 마련되며, 제어부(110)의 제어 신호에 의하여 먼지 흡입 팬(177)을 회전시킨다.The dust suction motor 175 is provided at a position adjacent to the dust suction fan 177 and rotates the dust suction fan 177 according to a control signal of the controller 110.
도면에는 도시되지 않았으나, 청소부(170)는 제어부(110)의 제어 신호에 따라 먼지 흡입 모터(175)에 구동 전류를 공급하는 모터 구동 회로(미도시), 먼지 흡입 모터(175)의 회전력을 먼지 흡입 팬(177)에 전달하는 동력 전달 모듈(미도시)을 더 포함할 수 있다.Although not shown in the drawing, the cleaning unit 170 dusts the rotational force of the motor driving circuit (not shown) and the dust suction motor 175 to supply a driving current to the dust suction motor 175 according to the control signal of the controller 110. A power transmission module (not shown) for transmitting to the suction fan 177 may be further included.
먼지함(179)은 도 5 및 도 6에 도시된 바와 같이 메인 바디(101)에 마련되며, 먼지 흡입 팬(177)에 의하여 흡입된 먼지를 저장한다. Dust box 179 is provided in the main body 101, as shown in Figure 5 and 6, and stores the dust sucked by the dust suction fan 177.
또한, 청소부(170)는 서비 바디(103)의 먼지 흡입구(105)를 통하여 흡입된 먼지를 메인 바디(101)에 마련된 먼지함(179)까지 안내하는 먼지 안내관을 포함할 수 있다.In addition, the cleaning unit 170 may include a dust guide tube for guiding the dust sucked through the dust suction port 105 of the service body 103 to the dust box 179 provided in the main body 101.
제어부(110)는 청소 로봇(100)의 동작을 총괄 제어한다.The controller 110 collectively controls the operation of the cleaning robot 100.
구체적으로, 제어부(110)는 청소 로봇(100)에 포함된 각종 구성 장치와 제어부(110) 사이에서의 데이터 출입을 매개하는 입출력 인터페이스(117), 프로그램 및 데이터를 기억하는 메모리(115), 영상 처리를 수행하는 그래픽 프로세서(113) 및 메모리(113)에 기억된 프로그램 및 데이터에 따라 연산 동작을 수행하는 메인 프로세서(111)를 포함할 수 있다. 또한, 제어부(110)에는 입출력 인터페이스(117), 메모리(115), 그래픽 프로세서(113) 및 메인 프로세서(111) 사이의 데이터 송수신을 매개하는 시스템 버스(119)가 마련될 수 있다.In detail, the controller 110 includes an input / output interface 117 for mediating data entry and exit between various components included in the cleaning robot 100 and the controller 110, a memory 115 for storing programs and data, and an image. It may include a graphics processor 113 for performing processing and a main processor 111 for performing arithmetic operations according to programs and data stored in the memory 113. In addition, the control unit 110 may be provided with a system bus 119 for transmitting and receiving data between the input / output interface 117, the memory 115, the graphic processor 113, and the main processor 111.
입출력 인터페이스(117)는 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 청소 로봇(100)의 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 등을 수신하고, 이를 시스템 버스(119)를 통하여 메인 프로세서(111), 그래픽 프로세서(113), 메모리(115) 등으로 전송한다.The input / output interface 117 receives a user command received by the user interface 120, motion information of the cleaning robot 100 detected by the motion detector 130, obstacle location information detected by the obstacle detector 140, and the like. This is transmitted to the main processor 111, the graphics processor 113, the memory 115, and the like through the system bus 119.
뿐만 아니라, 입출력 인터페이스(117)는 메인 프로세서(111)가 출력하는 각종 제어 신호를 유저 인터페이스(120), 주행부(160) 또는 청소부(170)에 전달할 수 있다.In addition, the input / output interface 117 may transmit various control signals output from the main processor 111 to the user interface 120, the driving unit 160, or the cleaning unit 170.
메모리(115)는 청소 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터, 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 및 메인 프로세서(111)가 출력하는 각종 제어 신호 등을 임시로 기억할 수 있다.The memory 115 may include a control program and control data for controlling the operation of the cleaning robot 100, a user command received by the user interface 120, motion information detected by the motion detector 130, and an obstacle detector 140. The obstacle position information detected by the controller and various control signals output from the main processor 111 may be temporarily stored.
메모리(115)는 S램(S-RAM), D랩(D-RAM) 등의 휘발성 메모리뿐만 아니라 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.The memory 115 may be a flash memory, a read only memory, an erasable programmable read only memory (EPROM), or an ypyrom, as well as volatile memory such as an S-RAM and a D-RAM. It may include a nonvolatile memory such as Electrically Erasable Programmable Read Only Memory (EEPROM).
구체적으로, 비휘발성 메모리는 청소 로봇(100)의 동작 제어하기 위한 제어 프로그램 및 제어 데이터를 반영구적으로 저장할 수 있으며, 휘발성 메모리는 비휘발성 메모리로부터 제어 프로그램 및 제어 데이터를 불러와 임시로 기억하거나, 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 및 메인 프로세서(111)가 출력하는 각종 제어 신호를 임시로 저장할 수 있다.Specifically, the nonvolatile memory may semi-permanently store the control program and control data for controlling the operation of the cleaning robot 100, the volatile memory is temporarily stored by loading the control program and control data from the nonvolatile memory, or the user The user command received by the interface 120, the motion information detected by the motion detector 130, the obstacle location information detected by the obstacle detector 140, and various control signals output by the main processor 111 may be temporarily stored. have.
그래픽 프로세서(113)는 장애물 감지부(150)가 획득한 반사광 영상을 메인 프로세서(111)가 처리할 수 있는 해상도의 영상으로 변환하거나, 반사광 영상을 메인 프로세서(111)가 처리할 수 있는 포맷으로 변환할 수 있다.The graphic processor 113 converts the reflected light image acquired by the obstacle detecting unit 150 into an image having a resolution that can be processed by the main processor 111 or converts the reflected light image into a format that can be processed by the main processor 111. I can convert it.
메인 프로세서(111)는 메모리(115)에 기억된 제어 프로그램에 따라 메모리(115)에 기억된 데이터를 처리한다.The main processor 111 processes the data stored in the memory 115 according to the control program stored in the memory 115.
예를 들어, 메인 프로세서(161)는 움직임 검출부(130), 장애물 감지부(140)의 감지 결과를 처리하고, 주행부(160) 및 청소부(170)를 제어하기 위한 제어 신호를 생성할 수 있다.For example, the main processor 161 may process the detection result of the motion detector 130 and the obstacle detector 140, and generate a control signal for controlling the driving unit 160 and the cleaning unit 170. .
메인 프로세서(111)는 움직임 검출부(130)가 검출한 청소 로봇(100)의 움직임 정보를 기초로 주행 기록 정보를 생성하고 생성된 주행 기록 정보를 메모리(115)에 저장하거나, 장애물 감지부(150)가 획득한 반사광 영상을 기초로 장애물의 방향, 거리 및 크기를 산출할 수 있다.The main processor 111 generates driving record information based on the movement information of the cleaning robot 100 detected by the movement detecting unit 130 and stores the generated driving record information in the memory 115 or the obstacle detecting unit 150. The direction, distance, and size of the obstacle may be calculated based on the reflected light image obtained by).
또한, 메인 프로세서(111)는 장애물(O)의 방향, 거리 및 크기 등에 따라 장애물(O)을 회피하기 위한 주행 경로를 산출하고, 산출된 주행 경로를 따라 청소 로봇(100)이 이동하도록 주행부(160)에 제공할 주행 제어 신호를 생성할 수 있다.In addition, the main processor 111 calculates a driving path for avoiding the obstacle O according to the direction, distance, and size of the obstacle O, and the driving unit to move the cleaning robot 100 along the calculated driving path. The driving control signal to be provided to 160 may be generated.
이와 같이 제어부(110)는 움직임 검출부(130)의 움직임 정보를 기초로 청소 로봇(100)의 위치 및 이동 등을 판단하고, 장애물 감지부(140)의 장애물 감지 신호를 기초로 장애물(O)의 위치 및 크기 등을 판단할 수 있다.As such, the controller 110 determines the position and movement of the cleaning robot 100 based on the motion information of the motion detector 130, and determines the obstacle O based on the obstacle detection signal of the obstacle detector 140. The location and size can be determined.
또한, 제어부(110)는 청소 로봇(100)이 청소 바닥을 주행하도록 주행부(160)를 제어하고, 청소 로봇(100)이 주행 중에 청소 바닥을 청소하도록 청소부(170)를 제어할 수 있다.In addition, the controller 110 may control the driving unit 160 so that the cleaning robot 100 travels on the cleaning floor, and control the cleaning unit 170 to clean the cleaning floor while the cleaning robot 100 runs.
이하에서 설명할 청소 로봇(100)의 동작은 제어부(110)의 제어 동작에 의한 동작으로 해석할 수 있다.An operation of the cleaning robot 100 to be described below may be interpreted as an operation by a control operation of the controller 110.
이하에서는 앞서 설명한 장애물 감지부(140)가 장애물(O)을 감지하는 방법에 대하여 설명한다.Hereinafter, a method of detecting the obstacle O by the obstacle detecting unit 140 described above will be described.
도 8 및 도 9는 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 전방에 위치한 장애물을 감지하는 일 예를 도시하고, 도 10은 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 측면 장애물을 감지하는 일 예를 도시한다.8 and 9 illustrate an example of detecting an obstacle located in front of an obstacle detecting unit included in a cleaning robot according to an embodiment, and FIG. 10 illustrates a side obstacle of an obstacle detecting unit included in a cleaning robot according to an embodiment. Shows an example of detecting.
앞서 설명한 바와 같이 장애물 감지부(140)는 전방 광 발신 모듈(141), 전방 광 수신 모듈(143) 및 측면 광 센서 모듈(145)을 포함할 수 있다.As described above, the obstacle detecting unit 140 may include a front light transmitting module 141, a front light receiving module 143, and a side light sensor module 145.
장애물 감지부(140)에 포함된 전방 광 발신 모듈(141)은 청소 로봇(100)의 전방을 향하여 광을 발신할 수 있으며, 전방 광 발신 모듈(141)에 의하여 전방을 향하여 발신된 광은 도 8에 도시된 바와 같이 부채꼴 형상으로 확산된다.The front light transmitting module 141 included in the obstacle detecting unit 140 may transmit the light toward the front of the cleaning robot 100, and the light transmitted toward the front by the front light transmitting module 141 may be forward. As shown in FIG. 8, it diffuses into a fan shape.
청소 로봇(100)의 전방에 장애물(O)이 위치하지 않는 경우, 전방 광 발신 모듈(141)로부터 발산된 광을 청소 로봇(100)의 전방을 향하여 진행하며 전방 광 수신 모듈(143)은 장애물(O)로부터 반사되는 광을 수신하지 못한다.When the obstacle O is not located in front of the cleaning robot 100, the light emitted from the front light transmitting module 141 is advanced toward the front of the cleaning robot 100, and the front light receiving module 143 is an obstacle. It does not receive light reflected from (O).
청소 로봇(100)의 전방에 장애물(O)이 위치하는 경우, 전방 광 발신 모듈(141)로부터 발산된 광은 장애물(O)에서 반사되고, 장애물(O)로부터 반사된 광은 도 9에 도시된 바와 같이 다양한 방향으로 반사된다(난반사).When the obstacle O is located in front of the cleaning robot 100, the light emitted from the front light transmitting module 141 is reflected at the obstacle O, and the light reflected from the obstacle O is shown in FIG. 9. As reflected, it is reflected in various directions (reflective reflection).
이와 같이 장애물(O)로부터 반사된 반사광 중 일부는 도 9에 도시된 바와 같이 청소 로봇(100)의 전방 광 수신 모듈(143)로 향할 수 있다.As shown in FIG. 9, some of the reflected light reflected from the obstacle O may be directed to the front light receiving module 143 of the cleaning robot 100.
광 수신 모듈(143)로 향하는 반사광은 반사 미러(143a)에 의하여 반사되어, 그 진행 경로가 영상 센서(143b)를 향하게 되며, 영상 센서(143b)는 반사 미러(143a)로부터 반사된 반사광을 수신한다.The reflected light directed to the light receiving module 143 is reflected by the reflecting mirror 143a so that its traveling path is directed to the image sensor 143b, and the image sensor 143b receives the reflected light reflected from the reflecting mirror 143a. do.
이때, 반사광은 장애물(O)의 다양한 위치에서 반사되므로 영상 센서(143b)는 2차원의 반사광 영상을 획득할 수 있으며, 장애물 감지부(140)는 반사광 영상을 기초로 장애물(O)과의 거리 및 방향 등을 산출할 수 있다.In this case, since the reflected light is reflected at various positions of the obstacle O, the image sensor 143b may obtain a two-dimensional reflected light image, and the obstacle detecting unit 140 may distance the obstacle O based on the reflected light image. And directions can be calculated.
구체적으로, 광 발신 모듈(143)과 장애물(O) 사이에 따라 장애물(O)로부터 반사된 광이 반사 미러(143a)에 입사되는 입사각이 달라진다. 또한, 서로 다른 입사각으로 반사 미러(143a)에 입사된 광은 영상 센서(143b)의 서로 다른 위치에서 수신된다. 그 결과, 광 발신 모듈(143)과 장애물(O) 사이의 거리에 따라 영상 센서(143b)가 반사광을 수신하는 위치가 상이해진다. 즉, 광 발신 모듈(143)과 장애물(O) 사이의 거리에 따라 영상 센서(143b)가 획득하는 반사광 영상이 달라진다.Specifically, the incident angle at which light reflected from the obstacle O is incident on the reflection mirror 143a varies between the light transmission module 143 and the obstacle O. In addition, light incident on the reflection mirror 143a at different incident angles is received at different positions of the image sensor 143b. As a result, the position where the image sensor 143b receives the reflected light differs depending on the distance between the light transmitting module 143 and the obstacle O. That is, the reflected light image acquired by the image sensor 143b varies according to the distance between the light transmitting module 143 and the obstacle O.
예를 들어, 청소 로봇(100)으로부터 먼 거리에 위치하는 장애물(O)로부터 반사된 광은 반사 미러(143a)로 입사되는 입사각이 크고, 반사 미러(143a)의 꼭지점으로부터 먼 거리의 위치에 반사광 영상이 생성될 것이다. 또한, 청소 로봇(100)으로부터 가까운 거리에 위치하는 장애물(O)로부터 반사된 광을 반사 미러(143a)로 입사되는 입사각이 작고, 반사 미러(143a)의 꼭지점으로부터 가까운 거리의 위치에 반사광 영상이 생성될 것이다.For example, the light reflected from the obstacle O located at a distance from the cleaning robot 100 has a large incident angle incident on the reflection mirror 143a and is reflected at a position far from the vertex of the reflection mirror 143a. The image will be generated. In addition, the incident angle at which the light reflected from the obstacle O located at a close distance from the cleaning robot 100 is incident on the reflection mirror 143a is small, and the reflected light image is located at a position close to the vertex of the reflection mirror 143a. Will be generated.
장애물(O)의 방향에 따라 장애물(O)로부터 반사된 광이 입사되는 반사 미러(143a)에 입사되는 위치가 달라진다. 또한, 반사 미러(143a)의 서로 다른 위치에서 반사된 반사광은 영상 센서(143b)의 서로 다른 위치에서 수신된다. 그 결과, 장애물(O)의 방향에 따라 영상 센서(143b)가 반사광을 수신하는 위치가 상이해진다. 즉, 청소 로봇(100)을 기준으로 장애물(O)의 방향에 따라 영상 센서(143b)가 획득하는 반사광 영상이 달라진다.According to the direction of the obstacle O, the position where the light reflected from the obstacle O is incident on the reflection mirror 143a is different. Also, the reflected light reflected at different positions of the reflection mirror 143a is received at different positions of the image sensor 143b. As a result, the position where the image sensor 143b receives the reflected light differs depending on the direction of the obstacle O. As shown in FIG. That is, the reflected light image acquired by the image sensor 143b varies according to the direction of the obstacle O based on the cleaning robot 100.
이와 같이 청소 로봇(100)은 영상 센서(143b)가 수신한 반사광 영상에 따라 장애물(O)의 방향 및 거리를 산출할 수 있다.As such, the cleaning robot 100 may calculate the direction and distance of the obstacle O based on the reflected light image received by the image sensor 143b.
측면 광 센서 모듈(145)은 도 10에 도시된 바와 같이 청소 로봇(100)의 측방을 향하여 직선 형태의 광을 발신하고, 청소 로봇(100)의 측방에 위치하는 장애물(O)로부터 반사되는 반사광을 수신할 수 있다.As shown in FIG. 10, the side light sensor module 145 transmits light in a straight line toward the side of the cleaning robot 100 and reflects reflected light from an obstacle O positioned on the side of the cleaning robot 100. Can be received.
또한, 측면 광 센서 모듈(145)은 수신된 반사광과 관련된 정보를 제어부(110)에 전달할 수 있으며, 제어부(110)는 반사광과 관련된 정보를 기초로 청소 로봇(100)과 장애물(O) 사이의 거리를 산출할 수 있다.In addition, the side light sensor module 145 may transmit the information related to the received reflected light to the control unit 110, the control unit 110 between the cleaning robot 100 and the obstacle (O) based on the information related to the reflected light. The distance can be calculated.
예를 들어, 측면 광 센서 모듈(145)은 수신된 반사광의 세기를 제어부(110)에 전달할 수 있으며, 제어부(110)는 반사광의 세기를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 반사광의 세기가 강할수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, 반사광의 세기가 약할수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.For example, the side light sensor module 145 may transmit the intensity of the received reflected light to the controller 110, and the controller 110 may be configured between the cleaning robot 100 and the obstacle O based on the intensity of the reflected light. The distance of can be calculated. In detail, the control unit 110 determines that the distance between the cleaning robot 100 and the obstacle O is shorter as the intensity of the reflected light is stronger, and between the cleaning robot 100 and the obstacle O as the intensity of the reflected light is weaker. It can be judged that the distance of is far.
다른 예로, 측면 광 센서 모듈(145)은 발산된 발신광과 수신된 반사광 사이의 시간 차이(Time of Fight: TOF)를 제어부(110)에 전달할 수 있으며, 제어부(110)는 TOF를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 TOF가 짧을수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, TOF가 길수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.As another example, the side light sensor module 145 may transmit a time of fight (TOF) between the emitted outgoing light and the received reflected light to the controller 110, and the controller 110 cleans based on the TOF. The distance between the robot 100 and the obstacle O may be calculated. Specifically, the controller 110 determines that the shorter the TOF is, the shorter the distance between the cleaning robot 100 and the obstacle O is, and the longer the TOF is, the longer the distance between the cleaning robot 100 and the obstacle O is. You can judge.
또 다른 예로, 측면 광 센서 모듈(145)은 광이 발신된 발신 위치와 광이 수신된 수신 위치 사이의 거리를 제어부(110)에 전달할 수 있으며, 제어부(110)는 발신 위치와 수신 위치 사이의 거리를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 광의 발신 위치와 수신 위치 사이의 거리가 가까울수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, 광의 발신 위치와 수신 위치 사이의 거리가 멀수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.As another example, the side light sensor module 145 may transmit the distance between the transmission position where the light is transmitted and the reception position where the light is received, to the controller 110. The distance between the cleaning robot 100 and the obstacle O may be calculated based on the distance. Specifically, the control unit 110 determines that the distance between the cleaning robot 100 and the obstacle O is shorter as the distance between the light transmitting position and the receiving position is closer, and the distance between the light transmitting position and the receiving position is farther. It may be determined that the distance between the cleaning robot 100 and the obstacle O is farther.
이상에서는 청소 로봇(100)의 구성에 관하여 설명하였다.In the above, the structure of the cleaning robot 100 was demonstrated.
이하에서는 청소 로봇(100)의 동작 특히, 청소 로봇(100)이 주행 중에 청소 영역을 설정하는 방법에 관하여 설명한다.Hereinafter, an operation of the cleaning robot 100, in particular, a method of setting the cleaning area while the cleaning robot 100 is traveling will be described.
도 11은 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 12 내지 도 14는 도 11에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.11 illustrates a method of cleaning a cleaning space by a cleaning robot according to an embodiment, and FIGS. 12 to 14 illustrate examples of cleaning a cleaning space by a cleaning robot according to the method shown in FIG. 11. Shows.
도 11 내지 도 14를 참조하여, 청소 로봇(100)의 청소 동작(1000)에 관하여 설명한다.11 to 14, the cleaning operation 1000 of the cleaning robot 100 will be described.
청소 로봇(100)은 청소 공간(A)을 주행한다(1100).The cleaning robot 100 travels through the cleaning space A (1100).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.Specifically, the cleaning robot 100 may travel in any direction from any position.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.The arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.In addition, the cleaning robot 100 can travel in any direction at the start of driving. For example, the cleaning robot 100 may travel toward the front at the start of driving. However, the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.However, after the driving starts, it is preferable that the cleaning robot 100 does not change the driving direction until the obstacle O is found.
청소 공간을 주행하는 중에 청소 로봇(100)은 청소 영역을 설정한다(1200).The cleaning robot 100 sets the cleaning area while driving in the cleaning space (1200).
여기서, 청소 영역은 청소 공간(A)의 일부분으로 청소 로봇(100)이 청소를 수행하는 단위를 의미한다. 다시 말해, 청소 로봇(100)은 어느 하나의 청소 영역을 청소한 이후 다른 청소 영역을 청소할 수 있다.Here, the cleaning area means a unit in which the cleaning robot 100 performs cleaning as part of the cleaning space A. FIG. In other words, the cleaning robot 100 may clean another cleaning area after cleaning one cleaning area.
또한, 청소 영역은 벽에 의하여 다른 영역과 분리되고 출입구 등에 의하여 다른 영역과 연결되는 하나의 방 또는 거실에 대응되도록 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서는 하나의 방 또는 거실을 복수로 분할하여 청소 영역을 설정할 수도 있다.In addition, the cleaning area may be set to correspond to one room or living room that is separated from the other area by the wall and connected to the other area by the entrance or the like. However, the present invention is not limited thereto, and in some cases, a cleaning area may be set by dividing a single room or a living room into a plurality of rooms.
청소 로봇(100)은 청소 공간(A)을 모두 탐색하기 앞서 청소 영역을 설정할 수 있다. 구체적으로, 청소 로봇(100)은 청소 공간(A)을 주행 중에 실시간으로 청소 영역을 설정하기 위한 조건을 만족하는지 판단하고, 청소 영역을 설정하기 위한 조건이 만족되면 청소 로봇(100)은 해당 영역을 청소 영역으로 우선 설정할 수 있다.The cleaning robot 100 may set a cleaning area before searching all the cleaning spaces A. FIG. Specifically, the cleaning robot 100 determines whether to satisfy the condition for setting the cleaning area in real time while driving the cleaning space A, and if the condition for setting the cleaning area is satisfied, the cleaning robot 100 determines the corresponding area. Can be set as the cleaning area first.
예를 들어, 도 12에 도시된 바와 같이 청소 로봇(100)은 청소 공간(A) 내부를 모두 주행하기 전이더라도 청소 영역을 설정하기 위한 조건이 만족되면 제1 방(R1)을 제1 청소 영역(A1)으로 설정할 수 있다.For example, as illustrated in FIG. 12, the cleaning robot 100 may move the first room R1 to the first cleaning area when the conditions for setting the cleaning area are satisfied even before all the interiors of the cleaning space A are driven. Can be set to (A1).
청소 영역이 설정되면, 청소 로봇(100)은 설정된 청소 영역을 우선 청소한다(1300). 다시 말해, 주행 중에 청소 영역이 설정되면 청소 로봇(100)은 청소 공간(A)의 다른 영역에 앞서 우선 청소할 수 있다.When the cleaning area is set, the cleaning robot 100 first cleans the set cleaning area (1300). In other words, when the cleaning area is set while driving, the cleaning robot 100 may first clean the area before the other area of the cleaning space A. FIG.
또한, 청소 영역의 청소가 완료되면, 청소 로봇(100)은 청소를 수행한 청소 영역에 대하여 청소가 완료되었음을 저장할 수 있다. 예를 들어, 청소 로봇(100)은 청소 영역에 대한 청소 완료 여부를 나타내는 청소 기록을 저장할 수 있다. 다시 말해, 청소 로봇(100)은 청소 영역이 설정되면 청소 영역에 식별 코드를 할당하고, 청소 영역에 대한 청소를 완료하면, 청소 기록에 청소된 청소 영역의 식별 코드를 저장할 수 있다.In addition, when the cleaning of the cleaning area is completed, the cleaning robot 100 may store that the cleaning is completed for the cleaning area that has been cleaned. For example, the cleaning robot 100 may store a cleaning record indicating whether cleaning of the cleaning area is completed. In other words, the cleaning robot 100 may assign an identification code to the cleaning area when the cleaning area is set, and store the identification code of the cleaned cleaning area in the cleaning record when the cleaning area is completed.
예를 들어, 도 12에 도시된 바와 같이 청소 로봇(100)은 제1 청소 영역(A1)이 설정되면, 청소 공간(A)의 다른 영역을 주행하기 전에 제1 청소 영역(A1)을 먼저 청소할 수 있다.For example, as shown in FIG. 12, when the first cleaning area A1 is set, the cleaning robot 100 may first clean the first cleaning area A1 before traveling to another area of the cleaning space A. FIG. Can be.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(1400). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.Thereafter, the cleaning robot 100 determines whether all the cleaning areas have been cleaned (1400). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A. FIG.
모든 청소 영역을 청소하지 않았으면(1400의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 청소 영역 설정, 청소 영역 청소를 반복한다.If all the cleaning areas have not been cleaned (NO in 1400), the cleaning robot 100 repeats the running of the cleaning space A, the cleaning area setting, and the cleaning area cleaning.
또한, 모든 청소 영역을 청소하였으면(1400의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.In addition, when all the cleaning areas have been cleaned (Yes of 1400), the cleaning robot 100 may end the driving and return to the charging station.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응하는 청소 영역을 생성하고, 생성된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.For example, the cleaning robot 100 may generate a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the generated cleaning area.
앞서 설명한 도 1에 도시된 청소 공간(A)을 청소하는 경우를 예로 들어 청소 로봇(100)이 청소 영역을 설정하고, 설정된 청소 영역을 청소하는 것에 대하여 설명한다.As an example of cleaning the cleaning space A shown in FIG. 1, the cleaning robot 100 sets a cleaning area and cleans the set cleaning area.
청소 로봇(100)은 도 12에 도시된 바와 같이 청소 공간(A)을 주행하는 중에 미리 설정된 조건에 따라 제1 방(R1)을 제1 청소 영역(A1)으로 설정할 수 있다.As shown in FIG. 12, the cleaning robot 100 may set the first room R1 as the first cleaning area A1 according to a preset condition while driving the cleaning space A. FIG.
이처럼 제1 청소 영역(A1)이 설정되면, 청소 로봇(100)은 제1 청소 영역(A1)을 먼저 청소한다.As such, when the first cleaning area A1 is set, the cleaning robot 100 cleans the first cleaning area A1 first.
제1 청소 영역(A1)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소하였는지를 판단한다.After cleaning the first cleaning area A1, the cleaning robot 100 determines whether all areas of the cleaning space A have been cleaned.
도 12에 도시된 바와 같이 청소 공간(A)에는 청소되지 않은 영역이 남아있으므로 청소 로봇(100)은 다시 청소 공간(A)을 주행한다.As shown in FIG. 12, since the uncleaned area remains in the cleaning space A, the cleaning robot 100 again runs the cleaning space A. FIG.
청소 공간(A)을 다시 주행 중에 청소 로봇(100)은 도 13에 도시된 바와 같이 미리 설정된 조건에 따라 제2 방(R2)을 제2 청소 영역(A2)으로 설정하고, 제2 청소 영역(A2)을 청소할 수 있다.While driving the cleaning space A again, the cleaning robot 100 sets the second room R2 as the second cleaning area A2 according to a preset condition as shown in FIG. 13, and the second cleaning area ( A2) can be cleaned.
제2 청소 영역(A2)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소하였는지를 판단한다.After cleaning the second cleaning area A2, the cleaning robot 100 determines whether all areas of the cleaning space A have been cleaned.
도 13에 도시된 바와 같이 청소 공간(A)에는 청소되지 않은 영역이 남아있으므로 청소 로봇(100)은 다시 청소 공간(A)을 주행한다.As shown in FIG. 13, since the uncleaned area remains in the cleaning space A, the cleaning robot 100 again runs the cleaning space A. FIG.
청소 공간(A)을 다시 주행 중에 청소 로봇(100)은 도 14에 도시된 바와 같이 최초 주행 개시 위치에 도달하게 된다.While driving the cleaning space A again, the cleaning robot 100 reaches the initial travel start position as shown in FIG. 14.
최초 주행 개시 위치에 도달한 청소 로봇(100)은 청소 공간(A) 내의 모든 영역을 주행한 것으로 판단할 수 있다.The cleaning robot 100 that has reached the initial travel start position may determine that all areas in the cleaning space A have traveled.
청소 공간(A) 내의 모든 영역을 주행한 청소 로봇(100)은 청소 공간(A) 가운데 청소되지 않은 영역을 청소 영역으로 설정한다. 구체적으로, 청소 로봇(100)은 도 14에 도시된 바와 같이 거실(R3)을 제3 청소 영역(A3)으로 설정한다. 이후 청소 로봇(100)은 제3 청소 영역(A3)을 청소한다.The cleaning robot 100 which has traveled all the areas in the cleaning space A sets the uncleaned area among the cleaning spaces A as the cleaning area. Specifically, as shown in FIG. 14, the cleaning robot 100 sets the living room R3 as the third cleaning area A3. Thereafter, the cleaning robot 100 cleans the third cleaning area A3.
제3 청소 영역(A3)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)에 포함된 모든 영역을 청소한 것으로 판단하고, 배터리 충전을 위하여 충전 스테이션으로 복귀할 수 있다.After cleaning the third cleaning area A3, the cleaning robot 100 may determine that all areas included in the cleaning space A have been cleaned, and may return to the charging station for charging the battery.
이처럼, 청소 로봇(100)은 청소 공간(A)을 주행하면서 청소 영역(A1, A2, A3)을 설정하고, 청소 영역(A1, A2, A3)이 설정되면 즉시 청소 영역(A1, A2, A3)을 청소한다.As such, the cleaning robot 100 sets the cleaning areas A1, A2, and A3 while driving the cleaning space A, and immediately after the cleaning areas A1, A2, and A3 are set, the cleaning areas A1, A2, and A3 are set. Clean).
또한, 청소 공간(A)의 주행, 청소 영역(A1, A2, A3)의 설정, 설정된 청소 영역(A1, A2, A3)의 청소를 통하여 청소 로봇(100)은 청소 공간(A)의 모든 영역을 보다 빠르고 효과적으로 청소할 수 있다.In addition, the cleaning robot 100 can move the cleaning space A, set the cleaning areas A1, A2, and A3, and clean the set cleaning areas A1, A2, and A3 to clean all the areas of the cleaning space A. Can be cleaned faster and more effectively.
이하에서는 청소 로봇(100)의 청소 동작(1000)을 구성하는 청소 공간 주행(1100), 청소 영역 설정(1200), 청소 영역 청소(1300) 및 청소 완료 판단(1400)을 자세하게 설명한다.Hereinafter, the cleaning space driving 1100, the cleaning area setting 1200, the cleaning area cleaning 1300, and the cleaning completion determination 1400 constituting the cleaning operation 1000 of the cleaning robot 100 will be described in detail.
도 15는 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 방법을 도시하고, 도 16 및 도 17은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 일 예를 도시하며, 도 18은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 기록을 저장하는 일 예를 도시한다.FIG. 15 illustrates a method of cleaning the cleaning space by the cleaning robot according to an embodiment, and FIGS. 16 and 17 illustrate examples of driving the cleaning space by the cleaning robot according to the method shown in FIG. 15. FIG. 18 illustrates an example in which a cleaning robot according to an embodiment stores a cleaning record according to the method shown in FIG. 15.
도 15 내지 도 17을 참조하여, 청소 로봇(100)의 청소 공간 주행(1100)에 관하여 설명한다.With reference to FIGS. 15-17, the cleaning space travel 1100 of the cleaning robot 100 is demonstrated.
청소 로봇(100)은 임의의 방향으로 주행한다(1110).The cleaning robot 100 travels in an arbitrary direction (1110).
앞서 설명한 바와 같이 청소 로봇(100)은 임의의 위치에서 임의의 방향으로 주행할 수 있다.As described above, the cleaning robot 100 may travel in any direction at any position.
예를 들어, 청소 로봇(100)은 도 16에 도시된 바와 같이 충전 스테이션(미도시)로부터 전방을 향하여 주행할 수 있다. 다만, 이에 한정되는 것은 아니며, 청소 로봇(100)은 주행 개시 전에 임의의 방향으로 회전한 후 임의의 방향으로 주행할 수 있다.For example, the cleaning robot 100 may travel forward from a charging station (not shown) as shown in FIG. 16. However, the present invention is not limited thereto, and the cleaning robot 100 may rotate in an arbitrary direction before driving starts and then travel in an arbitrary direction.
주행 중에 청소 로봇(100)은 장애물(O)이 감지되는지 판단한다(1120).The cleaning robot 100 determines whether an obstacle O is detected while driving (1120).
구체적으로, 청소 로봇(100)의 장애물 감지부(140)는 청소 로봇(100)의 전방 및 측면을 향하여 광을 발신하고, 장애물(O)로부터 반사되어 수신되는 반사광을 검출한다. 청소 로봇(100)의 제어부(110)는 반사광의 검출 여부에 따라 장애물(O)의 존부를 판단할 수 있다.In detail, the obstacle detecting unit 140 of the cleaning robot 100 transmits light toward the front and side surfaces of the cleaning robot 100, and detects the reflected light reflected from the obstacle O and received. The controller 110 of the cleaning robot 100 may determine whether the obstacle O is present according to whether the reflected light is detected.
장애물(100)이 감지되지 않으면(1120의 아니오), 청소 로봇(100)은 주행을 계속한다.If the obstacle 100 is not detected (NO in 1120), the cleaning robot 100 continues to travel.
장애물(100)이 감지되면(1120의 예), 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행한다(1130).When the obstacle 100 is detected (YES in 1120), the cleaning robot 100 travels along the outline of the obstacle O (1130).
구체적으로, 청소 로봇(100)의 장애물 감지부(140)가 장애물(O)로부터 반사된 반사광을 검출하면, 청소 로봇(100)의 제어부(110)는 반사광을 기초로 장애물(O)과의 거리 및 방향을 판단한다.In detail, when the obstacle detecting unit 140 of the cleaning robot 100 detects the reflected light reflected from the obstacle O, the controller 110 of the cleaning robot 100 may distance the obstacle O based on the reflected light. And the direction is determined.
청소 로봇(100)으부터 장애물(O)까지의 거리가 미리 정해진 기준 거리보다 작아지면 청소 로봇(100)은 장애물(O)의 외곽선과 평행하게 주행하도록 주행 방향을 변경할 수 있다.When the distance from the cleaning robot 100 to the obstacle O becomes smaller than a predetermined reference distance, the cleaning robot 100 may change the driving direction to travel in parallel with the outline of the obstacle O.
예를 들어, 청소 로봇(100)은 장애물 감지부(140)가 검출한 반사광을 기초로 청소 로봇(100)이 주행하는 방향과 장애물(O)의 외곽선이 이루는 각도를 산출하고, 산출된 각도만큼 장애물(O)과 반대 방향으로 제자리 회전한 후 주행할 수 있다. 여기서, 제자리 회전은 청소 로봇(100)이 청소 로봇(100)의 중심을 회전축으로 하여 회전하는 것을 의미한다. 즉, 제자리 회전은 선속도는 "0"이지만 각속도는 "0"이 아닌 주행을 의미한다.For example, the cleaning robot 100 calculates an angle formed between the direction in which the cleaning robot 100 travels and the outline of the obstacle O based on the reflected light detected by the obstacle detecting unit 140, and as much as the calculated angle. The vehicle may travel after rotating in the opposite direction to the obstacle O. Here, the rotation in place means that the cleaning robot 100 rotates using the center of the cleaning robot 100 as the rotation axis. In other words, the in-situ rotation means the driving is not the "0" linear speed but "0".
다른 예로, 청소 로봇(100)은 장애물(O)의 거리가 미리 정해진 장애물 추종 거리에 도달할 때까지 장애물(O)과 반대 방향으로 회전 주행할 수 있다. 여기서, 회전 주행은 청소 로봇(100)이 청소 로봇(100)의 중심 이외의 위치를 회전축으로 하고 청소 로봇(100)의 중심과 회전축 사이의 거리를 회전 반경으로 하여 회전하는 것을 의미한다. 회전 주행은 각속도와 선속도 모두 "0"이 아닌 주행을 의미한다.As another example, the cleaning robot 100 may rotate in a direction opposite to the obstacle O until the distance of the obstacle O reaches a predetermined obstacle following distance. Here, the rotation running means that the cleaning robot 100 rotates a position other than the center of the cleaning robot 100 as the rotation axis and the distance between the center of the cleaning robot 100 and the rotation axis as the rotation radius. Rotational running means driving in which the angular velocity and linear velocity are both not zero.
이후, 청소 로봇(100)은 장애물(O)과의 거리가 미리 정해진 장애물 추종 거리를 유지하면서 장애물(O)의 외곽선과 평행하게 주행하는 외곽선 추종 주행을 수행한다.Thereafter, the cleaning robot 100 performs an outline following driving in which the distance with the obstacle O keeps a predetermined obstacle following distance and runs in parallel with the outline of the obstacle O.
장애물(O)과의 거리를 장애물 추종 거리로 유지하기 위하여 청소 로봇(100)은 청소 로봇(100)의 측면에 위치하는 장애물(O)과의 거리가 장애물 추종 거리 보다 작아지면 장애물(O)과 멀어지는 방향으로 주행하고, 청소 로봇(100)의 측면에 위치하는 장애물(O)과의 거리가 장애물 추종 거리 보다 커지면 장애물(O)과 가까워지는 방향으로 주행할 수 있다.In order to keep the distance from the obstacle O as the obstacle tracking distance, the cleaning robot 100 may be configured to have an obstacle O when the distance from the obstacle O located on the side of the cleaning robot 100 is smaller than the obstacle tracking distance. The vehicle may travel in a direction away from each other, and may travel in a direction closer to the obstacle O when the distance from the obstacle O positioned on the side of the cleaning robot 100 is greater than the obstacle tracking distance.
또한, 청소 로봇(100)은 장애물(O)의 우측에서 장애물(O)의 외곽선을 따라 주행하는 우측 추종 주행(장애물이 청소 로봇의 좌측에 위치하는 좌수 주행) 또는 장애물(O)의 좌측에서 장애물(O)의 외곽선을 따라 주행하는 좌측 추종 주행(장애물이 청소 로봇의 우측에 위치하는 우수 주행)을 수행할 수 있다. 이때, 청소 로봇(100)는 우측 추종 주행 또는 좌측 추종 주행 가운데 어느 하나를 선택하여 수행하는 것이 바람직하다. 이하에서는 이하를 돕기 위하여 청소 로봇(100)이 장애물(O)의 좌측에서 주행하는 좌측 추종 주행(우수 주행)을 수행하는 것으로 가정한다.In addition, the cleaning robot 100 is a right following driving (a left-hand drive in which the obstacle is located on the left side of the cleaning robot) running along the outline of the obstacle O on the right side of the obstacle O or an obstacle on the left side of the obstacle O. It is possible to perform a left following run (an excellent run where an obstacle is located on the right side of the cleaning robot) that runs along the outline of (O). In this case, the cleaning robot 100 may be performed by selecting any one of the right following driving or the left following driving. In the following description, it is assumed that the cleaning robot 100 performs a left following driving (excellent driving) that runs on the left side of the obstacle O to assist the following.
외곽선 추종 주행의 결과 청소 로봇(100)은 도 17에 도시된 바와 같이 장애물(O)의 외곽선을 따라 주행할 수 있다. 다시 말해, 청소 로봇(100)은 청소 공간(O)의 벽면을 따라 주행할 수 있다.As a result of the outline following driving, the cleaning robot 100 may travel along the outline of the obstacle O as shown in FIG. 17. In other words, the cleaning robot 100 may travel along the wall surface of the cleaning space O. FIG.
외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다(1140).The cleaning robot 100 stores the driving record of the cleaning robot 100 during the outline following driving (1140).
구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보, 청소 로봇(100)의 주행 속도 정보, 주행 방향 정보 등을 포함하는 주행 정보, 청소 로봇(100)이 추종하는 장애물(O)의 외곽선의 특징을 포함하는 외곽선 정보를 저장할 수 있다.Specifically, the cleaning robot 100 may include position information indicating the position of the cleaning robot 100 at each predetermined time interval, driving information including the driving speed information of the cleaning robot 100, driving direction information, and the like, and the cleaning robot 100. ) May store the outline information including the features of the outline of the obstacle (O).
위치 정보는 청소 로봇(100)의 위치 좌표를 포함할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시를 원점으로 하는 xy좌표계를 생성할 수 있다. 여기서 y축은 청소 로봇의 전방 방향에 대응되고, x축은 y축과 수직한 방향에 대응된다. 또한, 청소 로봇(100)은 움직임 검출부(130)를 이용하여 검출된 주행 방향에 따라 주행 속도를 적분함으로써 청소 로봇(100)의 현재 위치 좌표를 산출할 수 있다.The location information may include the location coordinates of the cleaning robot 100. For example, the cleaning robot 100 may generate an xy coordinate system with the origin as the starting point of travel. Here, the y-axis corresponds to the front direction of the cleaning robot, the x-axis corresponds to the direction perpendicular to the y-axis. In addition, the cleaning robot 100 may calculate the current position coordinates of the cleaning robot 100 by integrating the traveling speed according to the traveling direction detected using the motion detector 130.
앞서 설명한 바와 같이 미리 정해진 시간 간격 마다 주행 기록을 저장하므로 청소 로봇(100)이 주행한 위치 정보는 도 18에 도시된 바와 같이 불연속적인 점의 형태를 가지며, 각각의 점을 연결하면 청소 로봇(100)이 주행한 주행 경로가 생성된다.As described above, since the driving record is stored at predetermined time intervals, the position information that the cleaning robot 100 has traveled has a form of a discontinuous point as shown in FIG. 18. The traveling route on which) traveled is generated.
주행 정보는 청소 로봇(100)이 주행하는 주행 속도, 주행 방향(주행 각도) 및 주행 거리를 포함할 수 있다. 예를 들어, 청소 로봇(100)은 움직임 검출부(130)를 이용하여 주행 속도 , 주행 방향(주행 각도) 및 주행 거리를 검출할 수 있다.The driving information may include a driving speed, a driving direction (driving angle), and a driving distance that the cleaning robot 100 travels. For example, the cleaning robot 100 may detect the travel speed, the travel direction (driving angle), and the travel distance by using the motion detector 130.
주행 방향은 기준 방향을 기준으로 청소 로봇(100)이 주행하는 방향과 기준 방향 사이의 각도로 나타낼 수 있다. 예를 들어, 청소 로봇(100)이 최초로 출발할 때의 방향을 기준 방향으로 정의하면, 청소 로봇(100)이 반시계 방향(또는 좌측 방향)으로 90도 회전하면 주행 방향(각도)은 ‘+90도’가 되고, 청소 로봇(100)이 시계 방향(또는 우측 방향)으로 90도 회전하면 주행 방향(각도)은 ‘-90도’가 될 수 있다.The driving direction may be expressed as an angle between the direction in which the cleaning robot 100 runs and the reference direction with respect to the reference direction. For example, if the cleaning robot 100 is defined as a reference direction when the cleaning robot 100 first starts, when the cleaning robot 100 rotates 90 degrees counterclockwise (or to the left), the driving direction (angle) is '+'. 90 degrees', and when the cleaning robot 100 rotates 90 degrees clockwise (or rightward), the driving direction (angle) may be '-90 degrees'.
또한, 주행 방향은 현재 청소 로봇(100)의 주행 방향(각도)을 나타내는 순시 주행 방향(각도)과 청소 로봇(100)의 주행 방향(각도)을 누적한 누적 주행 방향(각도)을 포함할 수 있다. 예를 들어, 청소 로봇(100)이 최초로 출발하면 순간 주행 방향(각도)과 누적 주행 방향(각도)은 모드 ‘0도’가 된다. 그러나, 만일 청소 로봇(100)이 제자리에서 반시계 방향으로 1바퀴 회전하면 순간 주행 방향(각도)은 ‘0도’가 되나 누적 주행 방향(각도)은 ‘+360’도가 된다. 또한, 만일 청소 로봇(100)이 제자리에서 시계 방향으로 1바퀴 회전하면 순간 주행 방향(각도)을 ‘0도’가 되나, 누적 주행 방향(각도)은 ‘-360도’가 된다.In addition, the driving direction may include an instantaneous driving direction (angle) indicating the driving direction (angle) of the cleaning robot 100 and a cumulative driving direction (angle) in which the driving direction (angle) of the cleaning robot 100 is accumulated. have. For example, when the cleaning robot 100 starts for the first time, the instantaneous travel direction (angle) and the accumulated travel direction (angle) become the mode '0 degree'. However, if the cleaning robot 100 rotates one turn counterclockwise in place, the instantaneous driving direction (angle) becomes '0 degree' but the cumulative driving direction (angle) becomes '+360' degree. In addition, if the cleaning robot 100 rotates one turn clockwise in place, the instantaneous traveling direction (angle) becomes '0 degree', but the accumulated traveling direction (angle) becomes '-360 degree'.
주행 속도는 선 속도와 각 속도를 포함할 수 있다. 예를 들어, 청소 로봇(100)이 직선 주행하는 경우, 선 속도는 청소 로봇(100)의 주행 속도가 되고 각 속도는 ‘0’이 될 수 있다. 또한, 청소 로봇(100)이 제자리에서 회전하는 경우, 선 속도는 ‘0’이 되고 각 속도는 청소 로봇(100)의 회전 속도가 될 수 있다.The running speed may include line speed and angular speed. For example, when the cleaning robot 100 travels linearly, the linear speed may be a traveling speed of the cleaning robot 100 and each speed may be '0'. In addition, when the cleaning robot 100 rotates in place, the linear speed may be '0' and each speed may be a rotation speed of the cleaning robot 100.
주행 거리는 주행 속도 가운데 선 속도를 적분하여 산출할 수 있다.The travel distance can be calculated by integrating the line speed among the travel speeds.
외곽선 정보는 청소 로봇(100)이 추종하는 장애물(O)의 외곽선 형상을 포함할 수 있다.The outline information may include an outline shape of an obstacle O that the cleaning robot 100 follows.
구체적으로, 청소 로봇(100)은 장애물(O)의 외곽선이 직선 형상인지, 볼록한 형상인지 또는 오목한 형상인지를 판단할 수 있다. 예를 들어, 청소 로봇(100)은 청소 로봇(100)의 주행 정보 또는 위치 정보를 기초로 외곽선의 형상을 추정할 수 있다.In detail, the cleaning robot 100 may determine whether the outline of the obstacle O is straight, convex or concave. For example, the cleaning robot 100 may estimate the shape of the outline based on the driving information or the location information of the cleaning robot 100.
또한, 청소 로봇(100)은 판단된 장애물(O)의 외곽선 형상을 기초로 청소 로봇(100)과 인접한 장애물(O)의 외곽선 형상을 벽면, 볼록한 모서리 및 오목한 모서리로 구분할 수 있다. 장애물(O)의 외곽선이 직선 형상이면 청소 로봇(100)는 장애물(O)의 외곽선 형상을 벽면으로 구분할 수 있으며, 장애물(O)의 외곽선이 볼록한 형상이면 청소 로봇(100)는 장애물(O)의 외곽선 형상을 볼록한 모서리로 구분할 수 있다. 또한, 장애물(O)의 외곽선이 오목한 형상이면 청소 로봇(100)은 장애물(O)의 외곽선 형상을 오목한 모서리로 구분할 수 있다.In addition, the cleaning robot 100 may divide the outline shape of the obstacle O adjacent to the cleaning robot 100 into a wall, a convex edge, and a concave edge, based on the determined outline of the obstacle O. FIG. If the outline of the obstacle O is straight, the cleaning robot 100 may divide the outline of the obstacle O into a wall. If the outline of the obstacle O is convex, the cleaning robot 100 may be the obstacle O. The outline shape of can be divided into convex edges. In addition, when the outline of the obstacle O is concave, the cleaning robot 100 may divide the outline of the obstacle O into a concave edge.
청소 로봇(100)은 이처럼 구분된 장애물(O)의 외곽선 형상을 외곽선 정보로 저장할 수 있다. 다시 말해, 청소 로봇(100)는 장애물(O)의 외곽선 형상에 따라 벽면, 볼록한 모서리 또는 오목한 모서리 가운데 어느 하나를 외곽선 정보로서 저장할 수 있다.The cleaning robot 100 may store the outline shapes of the obstacles O thus divided as outline information. In other words, the cleaning robot 100 may store any one of a wall surface, a convex edge, or a concave edge according to the outline shape of the obstacle O as the outline information.
예를 들어, 도 18에 도시된 제1 지점(P1)에서 청소 로봇(100)이 직선 주행하므로 청소 로봇(100)은 제1 지점(P1)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.For example, since the cleaning robot 100 linearly travels at the first point P1 illustrated in FIG. 18, the cleaning robot 100 may store a wall surface with respect to the outline information of the first point P1.
또한, 제2 지점(P2)에서 청소 로봇(100)은 장애물(O)이 위치하는 방향(우측 방향)으로 회전 주행하므로 청소 로봇(100)은 제2 지점(P1)의 외곽선 형성 정보에 대하여 볼록한 모서리를 저장할 수 있다.In addition, the cleaning robot 100 rotates in the direction (right direction) in which the obstacle O is located at the second point P2, so that the cleaning robot 100 is convex with respect to the outline formation information of the second point P1. You can save corners.
또한, 제3 지점(P3)에서 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제3 지점(P3)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.In addition, since the cleaning robot 100 travels linearly at the third point P3, the cleaning robot 100 may store a wall surface with respect to the outline information of the third point P3.
또한, 제4 지점(P4)에서 역시 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제4 지점(P4)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.In addition, since the cleaning robot 100 travels straight at the fourth point P4, the cleaning robot 100 may store a wall surface with respect to the outline information of the fourth point P4.
또한, 제5 지점(P5)에서 청소 로봇(100)은 장애물(O)이 위치하는 방향과 반대 방향(좌측 방향)을 회전 주행하므로 청소 로봇(100)의 제5 지점(P5)의 외곽선 정보에 대하여 오목한 모서리를 저장할 수 있다.In addition, at the fifth point P5, the cleaning robot 100 rotates in a direction opposite to the direction in which the obstacle O is located (left direction), so that the cleaning robot 100 may move to the outline information of the fifth point P5 of the cleaning robot 100. Concave corners can be saved.
또한, 제6 지점(P6)에서 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제3 지점(P3)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.In addition, since the cleaning robot 100 travels linearly at the sixth point P6, the cleaning robot 100 may store a wall surface with respect to the outline information of the third point P3.
이상에서 설명한 바와 같이 청소 로봇(100)은 임의의 위치에서 장애물(O)이 감지될 때까지 임의의 방향으로 주행할 수 있으며, 장애물(O)이 감지되면 장애물(O)의 외곽선을 따라 외곽선 추종 주행을 수행한다. 또한, 청소 로봇(100)은 주행 중에 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함하는 주행 기록을 저장한다.As described above, the cleaning robot 100 may travel in an arbitrary direction until the obstacle O is detected at an arbitrary position. When the obstacle O is detected, the cleaning robot 100 follows the outline along the outline of the obstacle O. Perform the drive. In addition, the cleaning robot 100 stores a driving record including driving information and position information of the cleaning robot 100 and outline information of the obstacle O while driving.
도 19는 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.19 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment.
도 19를 참조하여, 청소 로봇(100)의 청소 영역 설정(1200)에 대하여 설명한다.A cleaning area setting 1200 of the cleaning robot 100 will be described with reference to FIG. 19.
청소 로봇(100)은 앞서 설명한 청소 공간 주행(1100) 중에 출입구를 판단한다(1210).The cleaning robot 100 determines a doorway during the cleaning space driving 1100 described above (1210).
앞서 설명한 바와 같이 출입구는 벽에 의하여 구분되는 영역을 연결하는 통로에 해당한다. 즉, 청소 공간(A)은 벽에 의하여 복수의 영역(방 또는 거실)로 구획될 수 있으며, 출입구는 구획된 복수의 영역 사이를 연결한다.As described above, the doorway corresponds to a passage connecting the area separated by the wall. That is, the cleaning space A can be partitioned into a plurality of areas (rooms or living rooms) by the wall, and the doorway connects between the plurality of partitioned areas.
또한, 벽에 의하여 구획되는 복수의 영역을 청소 영역으로 설정하는 경우, 복수의 청소 영역은 출입구를 통하여 연결되며, 출입구의 양편은 각각 서로 다른 청소 영역을 설정할 수 있다.In addition, when setting the plurality of areas partitioned by the wall as the cleaning area, the plurality of cleaning areas are connected through the doorway, and both sides of the doorway may set different cleaning areas.
결국, 출입구는 청소 영역을 설정하기 위한 기준이 될 수 있다. 즉, 출입구가 판단되면, 출입구를 기준으로 청소 공간(A)을 복수의 청소 영역으로 구분할 수 있다.As a result, the entrance and exit may be a reference for setting the cleaning area. That is, when the doorway is determined, the cleaning space A may be divided into a plurality of cleaning areas based on the doorway.
예를 들어, 하나의 출입구를 포함하는 방의 경우, 방을 형성하는 벽면과 출입구를 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 이와 같이 형성된 폐곡선의 내부를 청소 영역으로 설정할 수 있다.For example, in the case of a room including one doorway, a closed curve is formed by connecting the wall surface and the doorway forming the room, and the cleaning robot 100 may set the inside of the closed curve formed as a cleaning area.
또한, 2개 이상의 출입구를 포함하는 거실의 경우 역시 거실을 형성하는 벽면과 2개 이상의 출입구를 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 형성된 폐곡선의 내부를 청소 영역으로 설정할 수 있다.In addition, in the case of a living room including two or more doorways, a closed curve is formed by connecting two or more doorways and the wall surface forming the living room, and the cleaning robot 100 may set the inside of the formed closed curve as the cleaning area.
이와 같이 출입구는 청소 영역을 설정하기 위한 기준이 되므로 청소 로봇(100)은 출입구의 위치를 판단한다.In this way, since the doorway serves as a reference for setting the cleaning area, the cleaning robot 100 determines the position of the doorway.
출입구가 판단되지 않으면(1210의 아니오), 청소 로봇(100)는 외곽선 추종 주행을 계속한다.If the doorway is not determined (NO in 1210), the cleaning robot 100 continues the outline following driving.
출입구가 판단되면(1210의 예), 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 기초로 청소 영역을 설정한다(1220).When the entrance and exit is determined (YES in 1210), the cleaning robot 100 sets a cleaning area based on the driving record of the cleaning robot 100 (1220).
청소 공간(A)을 출입구를 기준으로 복수의 청소 영역으로 분할하고자 하는 경우, 청소 로봇(100)은 벽의 외곽선 정보와 출입구의 위치를 기초로 청소 영역을 설정할 수 있다.When the cleaning space A is to be divided into a plurality of cleaning areas based on the doorway, the cleaning robot 100 may set the cleaning area based on the wall outline information and the location of the doorway.
앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역을 설정하기 앞서 청소 공간(A)의 벽면 등의 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행을 수행한다. 또한, 외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 위치 정보, 청소 로봇(100)의 주행 정보 및 장애물(O)의 외곽선 형성 정보를 포함하는 주행 기록을 저장한다.As described above, the cleaning robot 100 performs an outline following driving that travels along the outline of the obstacle O such as the wall surface of the cleaning space A before setting the cleaning area. In addition, the cleaning robot 100 stores the driving record including the position information of the cleaning robot 100, the driving information of the cleaning robot 100, and the outline forming information of the obstacle O during the outline following driving.
이처럼, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행 중에 주행 기록을 저장하므로 청소 로봇(100)은 주행 기록으로부터 장애물(O)의 외곽선을 추정할 수 있다. As such, since the cleaning robot 100 stores the driving record during the following-following operation of traveling along the outline of the obstacle O, the cleaning robot 100 may estimate the outline of the obstacle O from the driving record.
예를 들어, 방의 내벽을 따라 외곽선 추종 주행을 수행한 청소 로봇(100)은 주행 기록 가운데 청소 로봇(100)의 위치 정보를 기초로 방 내벽의 형상을 추정할 수 있다.For example, the cleaning robot 100 that performs the outline following driving along the inner wall of the room may estimate the shape of the inner wall of the room based on the position information of the cleaning robot 100 in the driving record.
따라서, 청소 로봇(100)은 앞서 검출된 출입구의 위치 정보와 청소 로봇(100)이 외곽선 추종 주행 중에 획득한 내벽의 외곽선 정보를 기초로 청소 영역을 설정할 수 있다. 즉, 청소 로봇(100)은 벽과 출입구에 의하여 다른 영역과 분리되는 방 또는 거실을 하나의 청소 영역으로 설정할 수 있다.Therefore, the cleaning robot 100 may set the cleaning area based on the position information of the previously detected entrance and exit information of the inner wall acquired by the cleaning robot 100 during the contour following driving. That is, the cleaning robot 100 may set a room or a living room separated from the other area by the wall and the entrance as one cleaning area.
이처럼, 청소 로봇(100)은 출입구의 위치를 판단하고, 출입구의 위치와 청소 로봇(100)의 주행 기록을 기초로 청소 영역을 설정할 수 있다.As such, the cleaning robot 100 may determine the location of the doorway and set the cleaning area based on the location of the doorway and the driving record of the cleaning robot 100.
이하에서는 청소 로봇(100)이 출입구의 위치를 판단하는 구체적인 방법과 청소 로봇(100)이 주행 기록을 기초로 청소 영역을 설정하는 구체적인 방법에 관하여 설명한다.Hereinafter, a detailed method of determining the position of the doorway by the cleaning robot 100 and a specific method of setting the cleaning area based on the driving record will be described.
청소 로봇(100)이 출입구의 위치를 판단하는 구체적인 방법을 설명하기 앞서 출입구의 판단 기준에 관하여 간략하게 설명한다.Prior to describing the specific method of the cleaning robot 100 to determine the location of the doorway, the criteria for determining the doorway will be briefly described.
앞서 설명한 바와 같이 청소 공간(A)은 벽면에 의하여 구획되고 출입구에 의하여 연결되는 복수의 영역으로 구분할 수 있다. 또한, 출입구와 벽면의 외곽선을 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 출입구와 벽면의 외곽선이 연결된 폐곡선의 내부를 청소 영역을 설정할 수 있다.As described above, the cleaning space A may be divided into a plurality of regions partitioned by a wall and connected by an entrance. In addition, a closed curve is formed by connecting the door and the outline of the wall surface, the cleaning robot 100 may set the cleaning area of the inside of the closed curve connected to the door and the wall outline.
출입구는 청소 공간의 외벽으로부터 청소 공간 내측으로 돌출된 내벽의 일단과 다른 내벽의 일단 사이에 형성되거나, 내벽의 벽면(또는 외벽의 벽면)과 다른 내벽의 일단 사이에 형성될 수 있다. The doorway may be formed between one end of the inner wall projecting from the outer wall of the cleaning space into the cleaning space and one end of the other inner wall, or may be formed between the wall surface of the inner wall (or the wall surface of the outer wall) and one end of the other inner wall.
일반적으로, 내벽의 벽면과 내벽의 벽면 사이는 통상적으로 통로에 해당하며 출입구에 해당하지 않는다. 또한, 벽면이 절곡된 내측 즉 내벽(또는 외벽)의 오목한 모서리에는 출입구가 형성되지 않는 것이 일반적이다.In general, the wall between the wall of the inner wall and the wall of the inner wall typically corresponds to a passageway and not an entrance. In addition, it is common that an entrance is not formed at the inner side of the curved wall, that is, the concave edge of the inner wall (or the outer wall).
그 결과, 출입구 양단의 장애물(O)은 볼록한 모서리로 이루어지거나, 출입구 일단의 장애물(O)은 볼록한 모서리로 구성되고 타단의 장애물(O)은 벽면으로 구성될 수 있다. 다시 말해, 출입구 양단 가운데 적어도 하나는 볼록한 모서리로 구성된다.As a result, the obstacles O at both ends of the doorway may be formed with convex edges, or the obstacles O at one end of the doorway may be configured with convex edges, and the other obstacles O may be formed as walls. In other words, at least one of both ends of the doorway has a convex edge.
또한, 사용자가 용이하게 출입할 수 있도록 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. In addition, the doorway may be approximately 80cm to 110cm in width so that the user can easily enter and exit.
또한, 청소 로봇(100)이 출입구를 통과하는 경우, 청소 로봇(100)의 주행 방향은 출입구와 수직한다. 즉, 출입구의 양단을 연결하는 직선은 청소 로봇(100)의 주행 방향과 수직한다.In addition, when the cleaning robot 100 passes through the doorway, the running direction of the cleaning robot 100 is perpendicular to the doorway. That is, a straight line connecting both ends of the entrance and exit is perpendicular to the running direction of the cleaning robot 100.
요약하면, 1) 출입구 양단 가운데 적어도 하나는 볼록한 모서리로 구성되고, 2) 출입구의 폭은 미리 정해진 기준 거리 범위 이내이고, 3) 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다.In summary, 1) at least one of both ends of the doorway has convex edges, 2) the width of the doorway is within a predetermined reference distance range, and 3) the doorway is perpendicular to the running direction of the cleaning robot 100 passing through the doorway. Located.
이와 같은 출입구의 조건을 만족하면 청소 로봇(100)은 해당 위치를 출입구로 판단할 수 있다.When the condition of the doorway is satisfied, the cleaning robot 100 may determine the corresponding position as the doorway.
또한, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하므로, 청소 로봇(100)의 주행 기록이 기록된 위치 즉 주행 기록의 위치 정보는 장애물(O)의 외곽선에 대응된다.In addition, since the cleaning robot 100 travels along the outline of the obstacle O, the position at which the driving record of the cleaning robot 100 is recorded, that is, the position information of the driving record, corresponds to the outline of the obstacle O.
따라서, 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 기초로 장애물(O)의 형상, 위치 등을 파악할 수 있으며, 주행 기록을 기초로 출입구를 판단할 수 있다.Therefore, the cleaning robot 100 may grasp the shape and the position of the obstacle O based on the driving record of the cleaning robot 100, and may determine the entrance and exit based on the driving record.
도 20은 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 일 예를 도시하고, 도 21 내지 도 23은 도 20에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.20 is a view illustrating an example of a method of determining, by a cleaning robot, a cleaning area according to an embodiment, and FIGS. 21 through 23 illustrate cleaning areas of a cleaning robot according to an embodiment according to the method illustrated in FIG. 20. An example of the process of determining the doorway.
도 20 내지 도 23을 참조하여, 청소 로봇(100)의 출입구 판단 방법(1500)에 대하여 설명한다.20 to 23, a doorway determination method 1500 of the cleaning robot 100 will be described.
청소 로봇(100)은 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는지를 판단한다(1510).The cleaning robot 100 determines whether the cleaning robot 100 rotates along the convex edge of the obstacle O in operation 1510.
앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 주행 기록을 저장하며, 주행 기록은 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함한다.As described above, the cleaning robot 100 stores the driving record while driving, and the driving record includes driving information and position information of the cleaning robot 100 and outline information of the obstacle O.
청소 로봇(100)은 주행 기록 가운데 장애물(O)의 외곽선 정보를 기초로 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는지 판단할 수 있다. 또한, 청소 로봇(100)은 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하면 장애물(O)의 외곽선이 볼록한 모서리임을 판단할 수 있다.The cleaning robot 100 may determine whether the cleaning robot 100 rotates along the convex edge of the obstacle O based on the outline information of the obstacle O in the driving record. In addition, the cleaning robot 100 may determine that the outline of the obstacle O is a convex edge when the cleaning robot 100 rotates in the direction in which the obstacle O is located.
예를 들어, 도 21에 도시된 바와 같이 청소 로봇(100)이 제1 지점(P1) 및 제2 지점(P2)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하지 않는 것으로 판단한다. For example, as shown in FIG. 21, when the cleaning robot 100 travels the first point P1 and the second point P2, the cleaning robot 100 travels in a straight line. It is judged not to drive along the convex edge of (O).
또한, 청소 로봇(100)이 제3 지점을 주행하는 경우에는 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하는 것으로 판단한다.In addition, when the cleaning robot 100 travels the third point, since the cleaning robot 100 rotates in the direction in which the obstacle O is located, the cleaning robot 100 travels along the convex edge of the obstacle O. I judge it.
또한, 도 22에 도시된 바와 같이 청소 로봇(100)이 제4 지점(P4), 제5 지점(P5) 및 제6 지점을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(1000은 장애물(O)의 볼록한 모서리를 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제7 지점을 주행하는 경우에는 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하는 것으로 판단한다.In addition, as shown in FIG. 22, when the cleaning robot 100 travels the fourth point P4, the fifth point P5, and the sixth point, the cleaning robot 100 travels in a straight line. It is determined that the vehicle does not travel along the convex edge of the obstacle O. In addition, when the cleaning robot 100 travels the seventh point, the cleaning robot 100 rotates in the direction in which the obstacle O is located. The cleaning robot 100 determines that the vehicle runs along the convex edge of the obstacle O.
청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는 것으로 판단되면(1510의 예), 청소 로봇(100)은 기준 거리 범위 이내에서 기록된 주행 기록을 검색한다(1520).If it is determined that the cleaning robot 100 rotates along the convex edge of the obstacle O (YES in 1510), the cleaning robot 100 searches for the driving record recorded within the reference distance range (1520).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.As described above, the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
따라서, 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하면, 청소 로봇(100)은 아래에서 설명하는 바와 같이 해당 볼록한 모서리가 출입구를 형성하는 내벽의 일단에 해당하는지를 판단한다.Therefore, when the cleaning robot 100 runs along the convex edge of the obstacle O, the cleaning robot 100 determines whether the convex edge corresponds to one end of the inner wall forming the doorway as described below.
청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단한다. 구체적으로, 청소 로봇(100)은 주행 기록에 포함된 청소 로봇(100)의 위치 정보와 청소 로봇(100)의 현재 위치를 비교하여 청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단할 수 있다.It is determined whether the driving record is recorded within a reference distance range from the current position of the cleaning robot 100. Specifically, the cleaning robot 100 compares the position information of the cleaning robot 100 included in the driving record with the current position of the cleaning robot 100 to record the driving within a range of a reference distance from the current position of the cleaning robot 100. It can be determined whether this has been recorded.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 청소 로봇(100)의 위치로부터 기준 거리 범위 이내에서 청소 로봇(100)이 주행한 주행 기록이 있다면 청소 로봇(100)이 추종하는 장애물(O)의 볼록한 모서리로부터 80cm 내지 110cm의 범위 내에 다른 장애물(O)이 존재하는 것으로 판단할 수 있다.As described above, the doorway may have a width of about 80 cm to about 110 cm. Therefore, if there is a driving record of the cleaning robot 100 traveling within the reference distance range from the current position of the cleaning robot 100, the cleaning robot 100 may be within a range of 80 cm to 110 cm from the convex edge of the obstacle O following. It may be determined that another obstacle O exists.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.Here, the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
또한, 기준 거리 이내에서 기록된 주행 기록은 출입구 여부 판단을 위하여 출입구 후보 목록에 저장될 수 있다.In addition, the driving record recorded within the reference distance may be stored in the doorway candidate list to determine the doorway.
예를 들어, 청소 로봇(100)이 도 21에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에 위치하는 경우 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제1 지점(P1) 및 제2 지점(P2)을 출입구 후보 목록에 저장할 수 있다.For example, when the cleaning robot 100 is located at the third point P3 as shown in FIG. 21, the cleaning robot 100 is located at the first point P1 within a reference distance range. And store the second point P2 in the doorway candidate list.
또한, 청소 로봇(100)이 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)을 출입구 후보 목록으로 저장할 수 있다.In addition, when the cleaning robot 100 is located at the seventh point P7, as shown in FIG. 22, the cleaning robot 100 may include a fourth point P4 located within a reference distance range, The fifth point P5 and the sixth point P6 may be stored as a doorway candidate list.
기준 거리 범위 이내에서 기록된 주행 기록이 검색되면(1520의 예), 청소 로봇(100)은 검색된 주행 기록이 장애물(O)과 반대편 측면에서 기록되었는지를 판단한다(1530).When the driving record recorded within the reference distance range is searched (YES in 1520), the cleaning robot 100 determines whether the searched driving record is recorded on the side opposite to the obstacle O (1530).
청소 로봇(100)이 주행 기록을 저장하면서 주행하는 경우, 도 21의 제1 지점(P1) 및 제2 지점(P2)과 같이 바로 이전에 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다. 또한, 하나의 장애물(O)을 사이에 두고 청소 로봇(100)이 양측에 주행하는 경우, 장애물(O)의 건너편에서 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다.When the cleaning robot 100 travels while storing the driving record, the driving record stored immediately before the first point P1 and the second point P2 of FIG. 21 may be located within a reference distance range. In addition, when the cleaning robot 100 travels on both sides with one obstacle O interposed, the traveling record stored across the obstacle O may be within a reference distance range.
다시 말해, 출입구를 형성하는 장애물(O)은 청소 로봇(100)의 양측에 각각 위치하는 서로 다른 장애물(O)인데, 기준 거리 범위 이내에서 기록된 주행 기록은 서로 다른 장애물(O)을 따라 주행하는 동안 기록된 주행 기록 뿐만 아니라, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록을 포함한다.In other words, the obstacles (O) forming the doorway is a different obstacle (O) respectively located on both sides of the cleaning robot 100, the driving record recorded within the reference distance range is running along the different obstacle (O) In addition to the driving record recorded while driving, the driving record recorded while driving along the same obstacle (O).
이와 같이, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 방향에 위치하는 것이 일반적이다.As such, the driving record recorded while traveling along the same obstacle (O) is generally located at the rear of the cleaning robot 100 or in the same direction as the obstacle (O).
따라서, 이와 같이 청소 로봇(100)이 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 따라 주행하는 중에 기록된 주행 기록을 배제하기 위하여, 주행 기록이 기록된 위치가 장애물(O)의 반대편에 위치하는지를 판단한다.Therefore, in order to exclude the driving record recorded while the cleaning robot 100 is traveling along the same obstacle O as the obstacle O currently being tracked, the position where the driving record is recorded is opposite to the obstacle O. Determine if it is located in.
구체적으로, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록은 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 추종 중에 기록된 것이므로 청소 로봇(100)은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록을 출입구 후보 목록으로부터 배제한다.Specifically, since the driving record which is located at the rear of the cleaning robot 100 or recorded in the same side as the obstacle O is recorded while following the same obstacle O as the obstacle O currently being followed, the cleaning robot 100 Excludes the driving record located behind the cleaning robot 100 or recorded on the side such as the obstacle O from the doorway candidate list.
예를 들어, 도 21에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에서 주행하는 경우, 제1 지점(P1)과 제2 지점(P2)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 장애물(O)과 같은 측면에 위치하므로 제1 지점(P1)과 제2 지점(P2)의 주행 기록은 출입구 후보 목록에서 배제된다.For example, as shown in FIG. 21, when the cleaning robot 100 travels at the third point P3, the first point P1 and the second point P2 may have a reference distance from the cleaning robot 100. It is located within the range, but since it is located on the same side as the obstacle O, the driving record of the first point P1 and the second point P2 is excluded from the door candidate list.
또한, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하고, 장애물(O)과 반대편에 위치하므로 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.In addition, as shown in FIG. 22, when the cleaning robot 100 runs at the seventh point P7, the fourth point P4, the fifth point P5, and the sixth point P6 may be the cleaning robot ( The driving record of the fourth point P4, the fifth point P5, and the sixth point P6 is not excluded from the door candidate list because it is located within the reference distance range from 100 and opposite the obstacle O.
주행 기록이 장애물(O)의 반대편에서 기록된 것으로 판단되면(1530의 예), 청소 로봇(100)은 주행 기록의 외곽선 정보가 벽면 또는 볼록한 모서리인지를 판단한다(1540).If it is determined that the driving record is recorded on the opposite side of the obstacle O (Yes of 1530), the cleaning robot 100 determines whether the outline information of the driving record is a wall or a convex edge (1540).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.As described above, the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
또한, 청소 로봇(100)은 1510 단계에서 장애물(O)의 볼록한 모서리를 따라 주행하므로 청소 로봇(100)의 현재 추종하는 장애물(O)의 맞은편에 위치하는 장애물(O)의 외곽선이 볼록한 모서리 또는 벽면인지를 판단한다. 다시 말해, 청소 로봇(100)이 볼록한 모서리와 볼록한 모서리 사이 또는 벽면과 볼록한 모서리 사이를 주행하는지 판단한다.In addition, since the cleaning robot 100 travels along the convex edge of the obstacle O in step 1510, the edge of the obstacle O that is opposite to the obstacle O currently being tracked by the cleaning robot 100 is convex. Or determine whether it is a wall. In other words, it is determined whether the cleaning robot 100 travels between the convex edge and the convex edge or between the wall and the convex edge.
구체적으로, 청소 로봇(100)는 출입구 후보 목록에 저장된 주행 기록의 외곽선 정보를 기초로 해당 주행 기록이 장애물(O)의 벽면 또는 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록된 주행 기록인지를 판단할 수 있다. 또한, 장애물(O)의 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되지 않은 주행 기록은 출입구 후보 목록으로부터 배제된다.Specifically, the cleaning robot 100 determines whether the driving record is a driving record recorded while driving along the convex edge of the obstacle O or the wall surface of the obstacle O based on the outline information of the driving record stored in the doorway candidate list. You can judge. In addition, the driving record not recorded while driving along the wall or convex edge of the obstacle O is excluded from the doorway candidate list.
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 모두 청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하는 도중에 기록된 것이다. 따라서, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.For example, as shown in FIG. 22, when the cleaning robot 100 is located at the seventh point P7, the driving of the fourth point P4, the fifth point P5, and the sixth point P6 is performed. All of the records were recorded while the cleaning robot 100 was traveling along the wall surface of the obstacle O. Therefore, the driving record of the fourth point P4, the fifth point P5, and the sixth point P6 is not excluded from the doorway candidate list.
주행 기록의 외곽선 정보가 벽면 또는 볼록한 모서리인 것으로 판단되면(1540의 예), 청소 로봇(1000은 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 위치에서 기록되었는지를 판단한다(1550).If the outline information of the driving record is determined to be a wall or a convex edge (YES in 1540), the cleaning robot 1000 determines whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100 (1550). .
앞서 설명한 바와 같이 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다. 다시 말해, 청소 로봇(100)이 출입구를 통과하는 중에는 청소 로봇(100)의 진행 방향과 출입구의 양단을 연결하는 직선이 서로 수직한다.As described above, the doorway is located perpendicular to the driving direction of the cleaning robot 100 passing through the doorway. In other words, while the cleaning robot 100 passes through the doorway, the traveling direction of the cleaning robot 100 and the straight lines connecting both ends of the doorway are perpendicular to each other.
청소 로봇(100)이 출입구를 통과하고 있다면, 청소 로봇(100)의 주행 방향과 수직한 방향에 출입구를 형성하는 한 쌍의 장애물(O)이 위치한다. 출입구를 형성하는 한 쌍의 장애물(O) 가운데 하나는 청소 로봇(100)이 외곽선을 추종하는 장애물이며, 다른 하나의 장애물(O)은 청소 로봇(100)이 추종하는 장애물(O)의 반대편에 위치한다.If the cleaning robot 100 passes through the doorway, a pair of obstacles O forming the doorway in a direction perpendicular to the running direction of the cleaning robot 100 is located. One of the pair of obstacles (O) forming the doorway is an obstacle that the cleaning robot 100 follows the outline, and the other obstacle (O) is opposite to the obstacle (O) that the cleaning robot 100 follows. Located.
또한, 청소 로봇(100)은 주행 기록을 통하여 출입구를 형성하는 장애물(O) 가운데 다른 하나의 존부를 판단할 수 있다. 구체적으로, 청소 로봇(100)은 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록의 존부를 판단할 수 있다.In addition, the cleaning robot 100 may determine the presence of the other one of the obstacles O forming the doorway through the driving record. In detail, the cleaning robot 100 may determine whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100.
만일, 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록이 있다면 청소 로봇(100)는 검색된 주행 기록이 기록된 위치(위치 정보를 기초로 판단됨)와 청소 로봇(100)의 현재 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.If there is a driving record recorded at a position perpendicular to the current driving direction of the cleaning robot 100, the cleaning robot 100 may determine a position where the searched driving record is recorded (determined based on the position information) and the cleaning robot ( It may be determined that the doorway exists between the current positions of 100).
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제5 지점(P5)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하고, 제4 지점(P4)과 제6 지점(P6)은 그렇지 않다. 따라서, 제4 지점(P4)과 제6 지점(P6)에서 기록된 주행 기록은 출입구 후보 기록으로부터 배제되고, 청소 로봇(100)은 제7 지점(P7)과 제5 지점(P5) 사이에 출입구가 형성된 것으로 판단할 수 있다.For example, when the cleaning robot 100 is located at the seventh point P7 as shown in FIG. 22, the fifth point P5 is located in a direction perpendicular to the running direction of the cleaning robot 100. The fourth point P4 and the sixth point P6 are not. Accordingly, the driving record recorded at the fourth point P4 and the sixth point P6 is excluded from the entrance candidate record, and the cleaning robot 100 enters and exits between the seventh point P7 and the fifth point P5. It can be determined that is formed.
주행 기록이 청소 로봇(100)의 주행 방향과 수직한 방향의 위치에서 기록되었으면(1550의 예), 청소 로봇(100)은 검출된 주행 기록이 기록된 위치로 이동한다(1560).If the traveling record is recorded at a position perpendicular to the traveling direction of the cleaning robot 100 (YES in 1550), the cleaning robot 100 moves to the position where the detected traveling record is recorded (1560).
청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하고, 장애물(O)의 볼록한 모서리로부터 기준 거리 범위 이내에 다른 장애물(O)의 볼록한 모서리 또는 벽면이 존재하고, 청소 로봇(100)이 장애물(O)과 장애물(O) 사이를 수직하게 주행하고 있다면 청소 로봇(100)은 청소 공간(A)의 출입구를 통과하는 것으로 판단할 수 있다.The cleaning robot 100 travels along the convex edge of the obstacle O, the convex edge or wall surface of another obstacle O exists within a reference distance from the convex edge of the obstacle O, and the cleaning robot 100 is If the vehicle runs vertically between the obstacle O and the obstacle O, the cleaning robot 100 may determine that the cleaning robot 100 passes through the entrance and exit of the cleaning space A. FIG.
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 회전 주행하고 있으며, 청소 로봇(100)으로부터 기준 거리 범위 이내에서 제5 지점(P5)이 위치하고, 제5 지점(P5)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하므로 청소 로봇(100)은 제7 지점(P7)과 제5 지점(P5) 사이에 출입구가 형성된 것으로 판단할 수 있다.For example, as shown in FIG. 22, when the cleaning robot 100 travels at the seventh point P7, the cleaning robot 100 rotates along the convex edge of the obstacle O, and the cleaning robot 100 rotates. The fifth point P5 is located within the reference distance range from the 100, and the fifth point P5 is located in a direction perpendicular to the traveling direction of the cleaning robot 100, so that the cleaning robot 100 is located at the seventh point ( It may be determined that the doorway is formed between P7) and the fifth point P5.
이와 같이 출입구를 검출하면 청소 로봇(100)은 청소 로봇(100)의 현재 위치와 함께 출입구를 형성하는 지점으로 이동한다.In this way, when the doorway is detected, the cleaning robot 100 moves to a point forming the doorway together with the current position of the cleaning robot 100.
예를 들어, 도 23에 도시된 바와 같이 청소 로봇(100)는 출입구를 형성하는 것으로 판단된 제5 지점(P5)으로 이동할 수 있다.For example, as illustrated in FIG. 23, the cleaning robot 100 may move to the fifth point P5 that is determined to form the doorway.
또한, 제5 지점(P5)으로 이동하는 동안 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다.In addition, the cleaning robot 100 stores the driving record of the cleaning robot 100 while moving to the fifth point P5.
따라서, 청소 로봇(100)이 제5 지점(P5)에 도달하면 청소 로봇(100)이 이동한 경로는 도 23에 도시된 바와 같이 폐곡선(CL)을 형성한다. 이와 같은 폐곡선(CL)의 내부는 이후 청소 영역으로 설정될 것이다.Therefore, when the cleaning robot 100 reaches the fifth point P5, the path traveled by the cleaning robot 100 forms a closed curve CL as shown in FIG. 23. The interior of this closed curve CL will then be set as the cleaning area.
이상에서 설명한 바와 같이 출입구 판단과 관련하여, 청소 로봇(100)은 ① 청소 로봇(100)이 볼록한 모서리를 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ③ 검색된 주행 기록이 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되었는지 판단하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단한다.As described above, in relation to the doorway determination, the cleaning robot 100 determines whether ① the cleaning robot 100 moves along the convex corner, ② searches whether there is a driving record within a reference distance, and ③ retrieves the searched driving record. It is determined whether it is recorded while driving along the wall or convex edge, and ④ it is determined whether the searched driving record is located in a direction perpendicular to the current driving direction of the cleaning robot 100.
다만, 출입구 판단을 위한 각 조건의 판단 순서를 상이할 수 있다. 예를 들어, 청소 로봇(100)은 ① 청소 로봇(100)이 볼록한 모서리를 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단하고, ③ 검색된 주행 기록이 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되었는지 판단할 수 있다.However, the determination order of each condition for the entrance determination may be different. For example, the cleaning robot 100 determines whether ① the cleaning robot 100 moves along the convex edge, ② searches whether there is a driving record within a reference distance, and ④ the searched driving record is determined by the cleaning robot 100. It may be determined whether the vehicle is located in a direction perpendicular to the current driving direction, and whether the searched driving record is recorded while driving along the wall or convex edge.
이상에서는 장애물(O)의 볼록한 모서리를 따라 주행하는 청소 로봇(100)이 출입구를 판단하는 방법에 관하여 설명하였다.In the above, the cleaning robot 100 traveling along the convex edge of the obstacle O has been described for determining the doorway.
이하에서는 장애물(O)의 벽면을 따라 주행하는 청소 로봇(100)이 출입구를 판단하는 방법에 관하여 설명한다.Hereinafter, a method of determining the doorway by the cleaning robot 100 traveling along the wall surface of the obstacle O will be described.
도 24는 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 다른 일 예를 도시하고, 도 25 내지 도 27은 도 24에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.24 is a view illustrating another example of a method of determining, by a cleaning robot, an entrance and exit of a cleaning area, and FIGS. 25 to 27 illustrate cleaning of a cleaning robot according to one embodiment according to the method shown in FIG. 24. An example of a process of determining an entrance and exit area is shown.
도 24 내지 도 27을 참조하여, 청소 로봇(100)의 출입구 판단 방법(1600)에 대하여 설명한다.With reference to FIGS. 24-27, the entrance / exit determination method 1600 of the cleaning robot 100 is demonstrated.
청소 로봇(100)은 청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는지를 판단한다(1610).The cleaning robot 100 determines whether the cleaning robot 100 linearly travels along the wall surface of the obstacle O in operation 1610.
앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 주행 기록을 저장하며, 주행 기록은 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함한다.As described above, the cleaning robot 100 stores the driving record while driving, and the driving record includes driving information and position information of the cleaning robot 100 and outline information of the obstacle O.
청소 로봇(100)은 주행 기록 가운데 장애물(O)의 외곽선 정보를 기초로 청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는지 판단할 수 있다. 또한, 청소 로봇(100)은 청소 로봇(100)이 직선 주행하면 장애물(O)의 외곽선이 벽면임을 판단할 수 있다.The cleaning robot 100 may determine whether the cleaning robot 100 travels along the wall surface of the obstacle O based on the outline information of the obstacle O in the driving record. In addition, the cleaning robot 100 may determine that the outline of the obstacle O is a wall surface when the cleaning robot 100 runs straight.
예를 들어, 도 25에 도시된 바와 같이 청소 로봇(100)이 제1 지점(P1)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다. 또한, 청소 로봇(100)이 제2 지점(P2)을 주행하는 경우에는 청소 로봇(100)이 회전 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제3 지점(P3)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다.For example, as shown in FIG. 25, when the cleaning robot 100 travels the first point P1, the cleaning robot 100 travels in a straight line, so the cleaning robot 100 follows the wall of the obstacle O. Judging by the driving. In addition, when the cleaning robot 100 travels the second point P2, since the cleaning robot 100 travels in rotation, the cleaning robot 100 determines that the cleaning robot 100 does not travel along the wall surface of the obstacle O. In addition, since the cleaning robot 100 travels in a straight line when the cleaning robot 100 travels the third point P3, the cleaning robot 100 determines that the cleaning robot 100 travels along the wall surface of the obstacle O.
또한, 도 26에 도시된 바와 같이 청소 로봇(100)이 제6 지점을 주행하는 경우에는 청소 로봇(100)이 회전 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제5 지점(P7), 제6 지점(P6) 및 제7 지점(P7)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다.In addition, as shown in FIG. 26, when the cleaning robot 100 travels the sixth point, the cleaning robot 100 travels in rotation so that the cleaning robot 100 does not travel along the wall surface of the obstacle O. To judge. In addition, when the cleaning robot 100 travels the fifth point P7, the sixth point P6, and the seventh point P7, the cleaning robot 100 travels in a straight line. It is judged to drive along the wall surface.
청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는 것으로 판단되면(1610의 예), 청소 로봇(100)은 기준 거리 범위 이내에서 기록된 주행 기록을 검색한다(1620).If it is determined that the cleaning robot 100 travels straight along the wall surface of the obstacle O (YES in 1610), the cleaning robot 100 searches for the driving record recorded within the reference distance range (1620).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있다.As described above, the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall.
따라서, 청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하면, 청소 로봇(100)은 아래에서 설명하는 바와 같이 해당 벽면이 출입구를 형성하는 내벽의 벽면에 해당하는지를 판단한다.Therefore, when the cleaning robot 100 travels along the wall surface of the obstacle O, the cleaning robot 100 determines whether the corresponding wall surface corresponds to the wall surface of the inner wall forming the entrance as described below.
청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단한다. 구체적으로, 청소 로봇(100)은 주행 기록에 포함된 청소 로봇(100)의 위치 정보와 청소 로봇(100)의 현재 위치를 비교하여 청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단할 수 있다.It is determined whether the driving record is recorded within a reference distance range from the current position of the cleaning robot 100. Specifically, the cleaning robot 100 records the driving within the reference distance range from the current position of the cleaning robot 100 by comparing the position information of the cleaning robot 100 included in the driving record with the current position of the cleaning robot 100. It can be determined whether this has been recorded.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 청소 로봇(100)의 위치로부터 기준 거리 범위 이내에서 청소 로봇(100)이 주행한 주행 기록이 있다면 청소 로봇(100)이 추종하는 장애물(O)의 벽면으로부터 80cm 내지 110cm의 범위 내에 다른 장애물(O)이 존재하는 것으로 판단할 수 있다.As described above, the doorway may have a width of about 80 cm to about 110 cm. Therefore, if there is a driving record of the cleaning robot 100 traveling within the reference distance range from the position of the cleaning robot 100 at present, the cleaning robot 100 may be different from the wall surface of the obstacle O following the cleaning robot 100 within a range of 80 cm to 110 cm. It may be determined that the obstacle O exists.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.Here, the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
또한, 기준 거리 이내에서 기록된 주행 기록은 출입구 여부 판단을 위하여 출입구 후보 목록에 저장될 수 있다.In addition, the driving record recorded within the reference distance may be stored in the doorway candidate list to determine the doorway.
예를 들어, 청소 로봇(100)이 도 25에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에 위치하는 경우 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제1 지점(P1) 및 제2 지점(P2)을 출입구 후보 목록에 저장할 수 있다.For example, when the cleaning robot 100 is located at the third point P3 as shown in FIG. 25, the cleaning robot 100 is located at a first point P1 within a reference distance range. And store the second point P2 in the doorway candidate list.
또한, 청소 로봇(100)이 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)을 출입구 후보 목록으로 저장할 수 있다.In addition, when the cleaning robot 100 is located at the seventh point P7, as shown in FIG. 26, the cleaning robot 100 may include a fourth point P4 located within a reference distance range, The fifth point P5 and the sixth point P6 may be stored as a doorway candidate list.
기준 거리 범위 이내에서 기록된 주행 기록이 검색되면(1620의 예), 청소 로봇(100)은 검색된 주행 기록이 장애물(O)과 반대편 측면에서 기록되었는지를 판단한다(1630).When the driving record recorded within the reference distance range is searched (YES in 1620), the cleaning robot 100 determines whether the searched driving record is recorded from the side opposite to the obstacle O (1630).
청소 로봇(100)이 주행 기록을 저장하면서 주행하는 경우, 도 21의 제1 지점(P1) 및 제2 지점(P2)과 같이 바로 이전에 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다. 또한, 하나의 장애물(O)을 사이에 두고 청소 로봇(100)이 양측에 주행하는 경우, 장애물(O)의 건너편에서 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다.When the cleaning robot 100 travels while storing the driving record, the driving record stored immediately before the first point P1 and the second point P2 of FIG. 21 may be located within a reference distance range. In addition, when the cleaning robot 100 travels on both sides with one obstacle O interposed, the traveling record stored across the obstacle O may be within a reference distance range.
다시 말해, 출입구를 형성하는 장애물(O)은 청소 로봇(100)의 양측에 각각 위치하는 서로 다른 장애물(O)인데, 기준 거리 범위 이내에서 기록된 주행 기록은 서로 다른 장애물(O)을 따라 주행하는 동안 기록된 주행 기록 뿐만 아니라, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록을 포함한다.In other words, the obstacles (O) forming the doorway is a different obstacle (O) respectively located on both sides of the cleaning robot 100, the driving record recorded within the reference distance range is running along the different obstacle (O) In addition to the driving record recorded while driving, the driving record recorded while driving along the same obstacle (O).
이와 같이, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 방향에 위치하는 것이 일반적이다.As such, the driving record recorded while traveling along the same obstacle (O) is generally located at the rear of the cleaning robot 100 or in the same direction as the obstacle (O).
따라서, 이와 같이 청소 로봇(100)이 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 따라 주행하는 중에 기록된 주행 기록을 배제하기 위하여, 주행 기록이 기록된 위치가 장애물(O)의 반대편에 위치하는지를 판단한다.Therefore, in order to exclude the driving record recorded while the cleaning robot 100 is traveling along the same obstacle O as the obstacle O currently being tracked, the position where the driving record is recorded is opposite to the obstacle O. Determine if it is located in.
구체적으로, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록은 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 추종 중에 기록된 것이므로 청소 로봇(100)은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록을 출입구 후보 목록으로부터 배제한다.Specifically, since the driving record which is located at the rear of the cleaning robot 100 or recorded in the same side as the obstacle O is recorded while following the same obstacle O as the obstacle O currently being followed, the cleaning robot 100 Excludes the driving record located behind the cleaning robot 100 or recorded on the side such as the obstacle O from the doorway candidate list.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에서 주행하는 경우, 제1 지점(P1)과 제2 지점(P2)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에 위치하므로 제1 지점(P1)과 제2 지점(P2)의 주행 기록은 출입구 후보 목록에서 배제된다.For example, as shown in FIG. 26, when the cleaning robot 100 travels at the third point P3, the first point P1 and the second point P2 may have a reference distance from the cleaning robot 100. Although located within the range, the driving record of the first point P1 and the second point P2 is excluded from the doorway candidate list because it is located behind the cleaning robot 100 or on the same side as the obstacle O.
또한, 도 27에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 제4 지점(P4)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하고, 장애물(O)과 반대편에 위치하므로 제4 지점(P4)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다. 그러나, 제5 지점(P5)과 제6 지점(P6)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 청소 로봇(100)의 후방에 위치하므로 제5 지점(P6)과 제6 지점(P6)의 주행 기록은 출입구 후보 목록에서 배제된다.In addition, as shown in FIG. 27, when the cleaning robot 100 travels at the seventh point P7, the fourth point P4 is located within a reference distance range from the cleaning robot 100, and the obstacle O Since it is located on the opposite side, the driving record of the fourth point P4 is not excluded from the doorway candidate list. However, although the fifth point P5 and the sixth point P6 are located within the reference distance range from the cleaning robot 100, the fifth point P5 and the sixth point P6 are located at the rear of the cleaning robot 100. The driving record of P6) is excluded from the exit candidate list.
주행 기록이 장애물(O)의 반대편에서 기록된 것으로 판단되면(1630의 예), 청소 로봇(100)은 주행 기록의 외곽선 정보가 볼록한 모서리인지를 판단한다(1640).If it is determined that the driving record is recorded on the opposite side of the obstacle O (YES in 1630), the cleaning robot 100 determines whether the outline information of the driving record is a convex edge (1640).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.As described above, the doorway may be formed between one end of the inner wall and the other end or between one end of the inner wall and the wall surface of the other inner wall, and one end of the inner wall may include a convex edge.
또한, 청소 로봇(100)은 1510 단계에서 장애물(O)의 벽면을 따라 주행하므로 청소 로봇(100)의 현재 추종하는 장애물(O)의 맞은편에 위치하는 장애물(O)의 외곽선이 볼록한 모서리인지를 판단한다. 다시 말해, 청소 로봇(100)이 벽면과 볼록한 모서리 사이를 주행하는지 판단한다.In addition, since the cleaning robot 100 travels along the wall surface of the obstacle O in step 1510, whether the outline of the obstacle O that is opposite to the currently obstructed obstacle O of the cleaning robot 100 is a convex edge. Judge. In other words, it is determined whether the cleaning robot 100 travels between the wall surface and the convex edge.
구체적으로, 청소 로봇(100)는 출입구 후보 목록에 저장된 주행 기록의 외곽선 정보를 기초로 해당 주행 기록이 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록된 주행 기록인지를 판단할 수 있다. 또한, 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록되지 않은 주행 기록은 출입구 후보 목록으로부터 배제된다.In detail, the cleaning robot 100 may determine whether the driving record is a driving record recorded while driving along the convex edge of the obstacle O based on the outline information of the driving record stored in the doorway candidate list. In addition, the driving record not recorded while driving along the convex edge of the obstacle O is excluded from the doorway candidate list.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4)의 주행 기록은 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하는 도중에 기록된 것이다. 따라서, 제4 지점(P4)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.For example, as shown in FIG. 26, when the cleaning robot 100 is located at the seventh point P7, the driving record of the fourth point P4 may indicate that the cleaning robot 100 is convex of the obstacle O. FIG. It was recorded while driving along the edge. Therefore, the driving record of the fourth point P4 is not excluded from the doorway candidate list.
주행 기록의 외곽선 정보가 볼록한 모서리인 것으로 판단되면(1640의 예), 청소 로봇(1000은 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 위치에서 기록되었는지를 판단한다(1650).If the outline information of the driving record is determined to be a convex edge (YES in 1640), the cleaning robot 1000 determines whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100 (1650).
앞서 설명한 바와 같이 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다. 다시 말해, 청소 로봇(100)이 출입구를 통과하는 중에는 청소 로봇(100)의 진행 방향과 출입구의 양단을 연결하는 직선이 서로 수직한다.As described above, the doorway is located perpendicular to the driving direction of the cleaning robot 100 passing through the doorway. In other words, while the cleaning robot 100 passes through the doorway, the traveling direction of the cleaning robot 100 and the straight lines connecting both ends of the doorway are perpendicular to each other.
청소 로봇(100)이 출입구를 통과하고 있다면, 청소 로봇(100)의 주행 방향과 수직한 방향에 출입구를 형성하는 한 쌍의 장애물(O)이 위치한다. 출입구를 형성하는 한 쌍의 장애물(O) 가운데 하나는 청소 로봇(100)이 외곽선을 추종하는 장애물이며, 다른 하나의 장애물(O)은 청소 로봇(100)이 추종하는 장애물(O)의 반대편에 위치한다.If the cleaning robot 100 passes through the doorway, a pair of obstacles O forming the doorway in a direction perpendicular to the running direction of the cleaning robot 100 is located. One of the pair of obstacles (O) forming the doorway is an obstacle that the cleaning robot 100 follows the outline, and the other obstacle (O) is opposite to the obstacle (O) that the cleaning robot 100 follows. Located.
또한, 청소 로봇(100)은 주행 기록을 통하여 출입구를 형성하는 장애물(O) 가운데 다른 하나의 존부를 판단할 수 있다. 구체적으로, 청소 로봇(100)은 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록의 존부를 판단할 수 있다.In addition, the cleaning robot 100 may determine the presence of the other one of the obstacles O forming the doorway through the driving record. In detail, the cleaning robot 100 may determine whether the driving record is recorded at a position perpendicular to the current driving direction of the cleaning robot 100.
만일, 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록이 있다면 청소 로봇(100)는 검색된 주행 기록이 기록된 위치(위치 정보를 기초로 판단됨)와 청소 로봇(100)의 현재 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.If there is a driving record recorded at a position perpendicular to the current driving direction of the cleaning robot 100, the cleaning robot 100 may determine a position where the searched driving record is recorded (determined based on the position information) and the cleaning robot ( It may be determined that the doorway exists between the current positions of 100).
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치한다. 따라서, 청소 로봇(100)은 제7 지점(P7)과 제4 지점(P4) 사이에 출입구가 형성된 것으로 판단할 수 있다.For example, as shown in FIG. 26, when the cleaning robot 100 is located at the seventh point P7, the fourth point P4 is located in a direction perpendicular to the running direction of the cleaning robot 100. . Therefore, the cleaning robot 100 may determine that an entrance is formed between the seventh point P7 and the fourth point P4.
주행 기록이 청소 로봇(100)의 주행 방향과 수직한 방향의 위치에서 기록되었으면(1650의 예), 청소 로봇(100)은 검출된 주행 기록이 기록된 위치로 이동한다(1660).If the traveling record is recorded at a position perpendicular to the traveling direction of the cleaning robot 100 (YES in 1650), the cleaning robot 100 moves to the position where the detected traveling record is recorded (1660).
청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하고, 장애물(O)의 벽면으로부터 기준 거리 범위 이내에 다른 장애물(O)의 볼록한 모서리가 존재하고, 청소 로봇(100)이 장애물(O)과 장애물(O) 사이를 수직하게 주행하고 있다면 청소 로봇(100)은 청소 공간(A)의 출입구를 통과하는 것으로 판단할 수 있다.The cleaning robot 100 travels along the wall of the obstacle O, a convex edge of another obstacle O exists within a reference distance range from the wall of the obstacle O, and the cleaning robot 100 is the obstacle O. If the vehicle is running vertically between the obstacle O and the cleaning robot 100 may be determined to pass through the entrance and exit of the cleaning space (A).
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 청소 로봇(100)은 현재 장애물(O)의 볼록한 모서리를 따라 회전 주행하고 있으며, 청소 로봇(100)으로부터 기준 거리 범위 이내에서 제4 지점(P4)이 위치하고, 제4 지점(P4)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하므로 청소 로봇(100)은 제7 지점(P7)과 제4 지점(P4) 사이에 출입구가 형성된 것으로 판단할 수 있다.For example, as shown in FIG. 26, when the cleaning robot 100 is traveling at the seventh point P7, the cleaning robot 100 is currently rotating along the convex edge of the obstacle O, and is cleaned. Since the fourth point P4 is located within a reference distance range from the robot 100, and the fourth point P4 is located in a direction perpendicular to the running direction of the cleaning robot 100, the cleaning robot 100 is located at a seventh point. It may be determined that the doorway is formed between P7 and the fourth point P4.
이와 같이 출입구를 검출하면 청소 로봇(100)은 청소 로봇(100)의 현재 위치와 함께 출입구를 형성하는 지점으로 이동한다.In this way, when the doorway is detected, the cleaning robot 100 moves to a point forming the doorway together with the current position of the cleaning robot 100.
예를 들어, 도 27에 도시된 바와 같이 청소 로봇(100)는 출입구를 형성하는 것으로 판단된 제4 지점(P4)으로 이동할 수 있다.For example, as illustrated in FIG. 27, the cleaning robot 100 may move to the fourth point P4 determined to form an entrance.
또한, 제4 지점(P4)으로 이동하는 동안 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다. In addition, the cleaning robot 100 stores the driving record of the cleaning robot 100 while moving to the fourth point P4.
따라서, 청소 로봇(100)이 제4 지점(P4)에 도달하면 청소 로봇(100)이 이동한 경로는 도 27에 도시된 바와 같이 폐곡선(CL)을 형성한다. 이와 같은 폐곡선(CL)의 내부는 이후 청소 영역으로 설정될 것이다.Therefore, when the cleaning robot 100 reaches the fourth point P4, the path traveled by the cleaning robot 100 forms a closed curve CL as shown in FIG. 27. The interior of this closed curve CL will then be set as the cleaning area.
이상에서 설명한 바와 같이 출입구 판단과 관련하여, 청소 로봇(100)은 ① 청소 로봇(100)이 벽면을 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ③ 검색된 주행 기록이 볼록한 모서리를 따라 주행 중에 기록되었는지 판단하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단한다.As described above, in relation to the doorway determination, the cleaning robot 100 determines whether the cleaning robot 100 moves along the wall surface, searches whether there is a driving record within a reference distance, and It is determined whether the driving record is recorded along the convex edge, and whether the searched driving record is located in a direction perpendicular to the current driving direction of the cleaning robot 100.
다만, 출입구 판단을 위한 각 조건의 판단 순서를 상이할 수 있다. 예를 들어, 청소 로봇(100)은 ① 청소 로봇(100)이 벽면을 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단하고, ③ 검색된 주행 기록이 볼록한 모서리를 따라 주행 중에 기록되었는지 판단할 수 있다.However, the determination order of each condition for the entrance determination may be different. For example, the cleaning robot 100 determines whether the cleaning robot 100 moves along the wall surface, and searches for whether there is a driving record within a reference distance, and the searched driving record is the current of the cleaning robot 100. It may be determined whether it is located in a direction perpendicular to the driving direction, and ③ it may be determined whether the searched driving record is recorded while driving along the convex edge.
이상에서 설명한 바와 같이 청소 로봇(100)은 현재의 주행 정보 및 과거 저장된 주행 기록을 기초로 출입구의 위치를 판단한다. 구체적으로, 청소 로봇(100)은 현재의 주행 정보 및 과거 저장된 주행 기록을 기초로 청소 로봇(100)이 현재 출입구를 통과하는지 여부를 실시간으로 판단한다.As described above, the cleaning robot 100 determines the position of the doorway based on the current driving information and the past stored driving record. Specifically, the cleaning robot 100 determines in real time whether the cleaning robot 100 passes through the current entrance or exit based on the current driving information and the past stored driving record.
도 28은 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시하고, 도 29 내지 도 32는 도 28에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 과정의 일 예를 도시한다.28 illustrates a method of setting a cleaning area by a cleaning robot according to an embodiment, and FIGS. 29 to 32 illustrate a process of setting a cleaning area by a cleaning robot according to the method shown in FIG. 28. An example is shown.
도 28 내지 도 32를 참조하여, 청소 로봇(100)의 청소 영역 설정 방법(1700)을 설명한다.28 to 32, a cleaning area setting method 1700 of the cleaning robot 100 will be described.
청소 로봇(100)은 현재의 위치가 이전에 주행한 위치와 동일한지 판단한다(1710).The cleaning robot 100 determines whether the current position is the same as the previously traveled position (1710).
구체적으로, 청소 로봇(100)은 주행 기록에 포함된 위치 정보를 기초로 현재의 위치가 이전에 주행한 위치와 동일한지 판단할 수 있다.In detail, the cleaning robot 100 may determine whether the current position is the same as the previously traveled position based on the position information included in the driving record.
청소 로봇(100)의 현재 위치와 이전에 주행한 위치가 동일한 경우, 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다.When the current position of the cleaning robot 100 and the previously traveled position are the same, a closed curve is generated by the traveling path of the cleaning robot 100.
앞서 설명한 바와 같이 청소 로봇(100)이 출입구를 판단하고, 판단된 출입구의 일단으로부터 타단으로 주행할 수 있다. 그 결과, 도 29에 도시된 바와 같이 청소 로봇(100)이 주행한 주행 경로는 폐곡선(CL)을 형성한다.As described above, the cleaning robot 100 may determine the entrance and exit, and may travel from one end of the determined entrance to the other end. As a result, as shown in FIG. 29, the traveling route on which the cleaning robot 100 has traveled forms a closed curve CL.
청소 로봇(100)의 현재 위치가 청소 로봇(100)이 이전에 주행한 위치와 동일하면(1710의 예), 청소 로봇(100)은 주행 기록에 의한 폐곡선(CL)을 직선 모델링한다(1720).If the current position of the cleaning robot 100 is the same as the position where the cleaning robot 100 has previously traveled (YES in 1710), the cleaning robot 100 linearly models the closed curve CL based on the driving record (1720). .
구체적으로, 주행 순서를 따라 복수의 주행 기록의 위치 정보가 나타내는 지점들을 서로 연결한다. 이때, 청소 로봇(100)은 각각의 지점들이 연결되어 형성된 주행 경로가 평평해지도록 각각의 지점들을 연결한다.Specifically, the points indicated by the position information of the plurality of travel records are connected to each other in the travel order. At this time, the cleaning robot 100 connects the respective points so that the traveling path formed by connecting the respective points becomes flat.
구체적으로, 청소 로봇(100)이 직선 주행을 수행한 경우, 각각의 지점을 연결한 선분 사이의 사잇각이 미리 정해진 각도 이상이 되도록 청소 로봇(100)은 각각의 지점을 연결할 수 있다. Specifically, when the cleaning robot 100 performs a straight run, the cleaning robot 100 may connect each point so that the angle between the line segments connecting the respective points is equal to or greater than a predetermined angle.
예를 들어, 도 30에 도시된 바와 같이 복수의 주행 기록이 제1 지점(P1), 제2 지점(P2), 제3 지점(P3), 제4 지점(P4) 및 제5 지점(P5)을 나타내는 경우, 청소 로봇(100)는 제1 지점(P1) 내지 제5 지점(P5)을 순서대로 연결하여 청소 로봇(100)의 주행 경로를 생성한다.For example, as shown in FIG. 30, a plurality of driving records are recorded at a first point P1, a second point P2, a third point P3, a fourth point P4, and a fifth point P5. In this case, the cleaning robot 100 connects the first point P1 to the fifth point P5 in order to generate a driving path of the cleaning robot 100.
우선, 도 30의 (a)에 도시된 바와 같이 청소 로봇(100)은 제1 지점(P1)과 제2 지점(P2)을 연결한다.First, as shown in FIG. 30A, the cleaning robot 100 connects the first point P1 and the second point P2.
이후, 청소 로봇(100)은 제2 지점(P2)과 제3 지점(P3)을 연결하는 선분과 제1 지점(P1)과 제2 지점(P2)을 연결한 선분 사이의 각도(Θ3)가 미리 정해진 기준 각도 이상인지를 판단한다. 도 30의 (a)에 도시된 바와 같이 해당 각도(Θ3)가 기준 각도 이상이면, 청소 로봇(100)은 제2 지점(P2)과 제3 지점(P3)을 연결한다.Thereafter, the cleaning robot 100 has an angle Θ3 between a line segment connecting the second point P2 and the third point P3 and a line segment connecting the first point P1 and the second point P2. It is determined whether or not the predetermined reference angle or more. As shown in FIG. 30A, when the corresponding angle θ3 is greater than or equal to the reference angle, the cleaning robot 100 connects the second point P2 and the third point P3.
이후, 청소 로봇(100)은 제3 지점(P3)과 제4 지점(P4)을 연결하는 선분과 제2 지점(P2)과 제3 지점(P3)을 연결한 선분 사이의 각도(Θ4)가 기준 각도 이상인지를 판단한다. 도 30의 (b)에 도시된 바와 같이 해당 각도(Θ4)가 기준 각도보다 작으면 청소 로봇(100)은 제3 지점(P3)을 제4 지점(P4)과 연결하지 않는다.Thereafter, the cleaning robot 100 has an angle Θ4 between a line segment connecting the third point P3 and the fourth point P4 and a line segment connecting the second point P2 and the third point P3. Determine whether the reference angle or more. As shown in FIG. 30B, when the corresponding angle θ4 is smaller than the reference angle, the cleaning robot 100 does not connect the third point P3 with the fourth point P4.
이후, 청소 로봇(100)은 제3 지점(P3)과 제5 지점(P5)을 연결하는 선분과 제2 지점(P2)과 제3 지점(P3)을 연결한 선분 사이의 각도(Θ5)가 기준 각도 이상인지를 판단한다. 도 30의 (c)에 도시된 바와 같이 해당 각도(Θ5)가 기준 각도 이상이면, 청소 로봇(100)은 제3 지점(P3)과 제5 지점(P5)을 연결한다.Thereafter, the cleaning robot 100 has an angle Θ5 between a line segment connecting the third point P3 and the fifth point P5 and a line segment connecting the second point P2 and the third point P3. Determine whether the reference angle or more. As shown in FIG. 30C, when the angle θ5 is greater than or equal to the reference angle, the cleaning robot 100 connects the third point P3 and the fifth point P5.
이와 같은 방식으로 청소 로봇(100)은 각각의 주행 기록이 나타내는 지점을 연결하여 청소 로봇(100)이 주행한 주행 경로를 생성할 수 있다.In this manner, the cleaning robot 100 may connect the points indicated by the respective driving records to generate a driving route on which the cleaning robot 100 travels.
다른 예로, 청소 로봇(100)이 직선 주행을 최초 수행한 제1 지점과 직선 주행을 마지막으로 수행한 제2 지점 사이를 직선으로 연결하고, 제1 지점과 제2 지점 사이의 제3 지점이 직선으로부터 벗어난 정도가 오차 범위를 넘으면 제1 지점과 제3 지점을 직선으로 연결하고, 제3 지점과 제2 지점을 직선으로 연결할 수도 있다.As another example, the cleaning robot 100 connects a straight line between the first point where the linear driving is first performed and the second point where the linear driving is last performed, and the third point between the first point and the second point is a straight line. If the deviation from the error exceeds the error range, the first point and the third point may be connected in a straight line, and the third point and the second point may be connected in a straight line.
또한, 청소 로봇(100)이 회전 주행을 수행한 경우에는 각각의 지점을 그대로 연결하여 청소 로봇(100)이 주행한 주행 경로를 생성할 수 있다.In addition, when the sweeping robot 100 performs a rotational driving, each of the points may be connected as it is to generate a driving route driven by the sweeping robot 100.
청소 영역을 직선 모델링한 이후 청소 로봇(100)은 폐곡선(CL)을 단순화한다(1730).After linearly modeling the cleaning area, the cleaning robot 100 simplifies the closed curve CL (1730).
청소 로봇(100)은 직선 모델링한 폐곡선(CL)의 일부 영역이 다른 영역으로부터 기준치 이상 벗어난 경우, 일부 영역을 단순화시킬 수 있다.The cleaning robot 100 may simplify some areas when some areas of the straight line modeled closed curve CL deviate from the other areas by more than a reference value.
예를 들어, 도 31의 (a)에 도시된 바와 같이 폐곡선(CL)에 포함하는 제1 경로(L1), 제2 경로(L2) 및 제3 경로(L3)는 다른 경로에 비하여 복잡하게 생성되었다.For example, as illustrated in (a) of FIG. 31, the first path L1, the second path L2, and the third path L3 included in the closed curve CL may be more complicated than other paths. It became.
도 31의 (b)에 도시된 바와 같이 청소 로봇(100)은 복잡하게 생성된 제1 경로(L1), 제2 경로(L2) 및 제3 경로(L3)를 단순화시킬 수 있다. As illustrated in (b) of FIG. 31, the cleaning robot 100 may simplify the first path L1, the second path L2, and the third path L3, which are complicatedly generated.
청소 영역의 단순화 작업 이후 청소 로봇(100)은 폐곡선(CL)을 형성하는 라인들의 교점을 특이점으로 저장하고, 각각의 라인들의 벡터 성분을 이용하여 볼록한 모서리와 오목한 모서리의 위치 정보를 최종 저장할 수 있다.After the simplification of the cleaning area, the cleaning robot 100 may store the intersections of the lines forming the closed curve CL as singularities and finally store the position information of the convex and concave edges using the vector component of each line. .
청소 영역을 단순화시킨 이후 청소 로봇(100)은 폐곡선(CL)을 회전 변환한다(1740).After the cleaning area is simplified, the cleaning robot 100 rotates the closed curve CL in operation 1740.
청소 로봇(100)은 최초 주행 위치를 원점으로 하여 주행 기록을 저장하고, 저장된 주행 기록의 위치 정보를 기초로 청소 영역을 설정한다.The cleaning robot 100 stores the driving record with the initial driving position as the origin, and sets the cleaning area based on the stored position information of the driving record.
예를 들어, 도 1에 도시된 바와 같이 거실(R1, 도 1 참조)의 일측으로부터 비스듬하게 주행을 개시하면, 청소 로봇(100)의 제1 방(R1, 도 1 참조)에 대응되는 제1 청소 영역(A1)은 도 32의 (a)에 도시된 바와 같이 설정된다. 다시 말해, 청소 로봇(100)은 주행 개시 시에 생성한 xy좌표계의 방향에 따라 직사각형 형태의 제1 방(R1, 도 1 참조)에 대응하여 마름모 형태의 폐곡선(CL)을 생성하게 된다.For example, as shown in FIG. 1, when the vehicle starts traveling obliquely from one side of the living room R1 (see FIG. 1), the first corresponding to the first room R1 (see FIG. 1) of the cleaning robot 100 is performed. The cleaning area A1 is set as shown in Fig. 32A. In other words, the cleaning robot 100 generates a closed curve CL having a rhombus shape corresponding to the rectangular first room R1 (see FIG. 1) according to the direction of the xy coordinate system generated at the start of driving.
청소 로봇(100)은 이와 같은 마름모 형태의 폐곡선(CL)을 더욱 단순화시키기 위하여 폐곡선(CL)을 회전 변환한다.The cleaning robot 100 rotates the closed curve CL to further simplify the closed curve CL of the rhombus shape.
구체적으로, 청소 로봇(100)은 폐곡선(CL)을 형성하는 라인들이 도 32의 (a)에 도시된 x축과 이루는 각도를 획득한다. 이때, 청소 로봇(100)은 주행 개시 시점에 생성한 xy좌표계를 도 32의 (a)에 도시된 바와 같이 각도에 따라 복수의 각도 영역(r1~r12)으로 분할할 수 있다.Specifically, the cleaning robot 100 obtains an angle between the lines forming the closed curve CL and the x-axis shown in (a) of FIG. 32. At this time, the cleaning robot 100 may divide the xy coordinate system generated at the start of driving into a plurality of angle regions r1 to r12 according to the angle as shown in FIG. 32 (a).
이후, 각각의 라인들의 각도가 복수의 각도 영역(r1~r12) 가운데 어느 각도 영역에 속하는지를 판단한다.Subsequently, it is determined which angle region among the plurality of angle regions r1 to r12 belongs to the angle of each line.
도 32의 (a)에 도시된 바에 의하면, 청소 로봇(100)은 폐곡선(CL)의 제1 라인(l1)과 제3 라인(l3)은 제4 각도 영역(r4)에 속하고, 제2 라인(l2)과 제4 라인(l4)은 제10 각도 영역(r10)에 속하는 것으로 판단할 수 있다.As shown in FIG. 32A, the cleaning robot 100 includes the first line l1 and the third line l3 of the closed curve CL belonging to the fourth angle region r4 and the second line. The line l2 and the fourth line l4 may be determined to belong to the tenth angular region r10.
이와 같은 방식으로 청소 로봇(100)은 각각의 각도 영역에 대하여 같은 각도 영역에 속하는 라인들의 길이의 합을 산출한다.In this way, the cleaning robot 100 calculates the sum of the lengths of the lines belonging to the same angle region for each angle region.
이후, 청소 로봇(100)은 같은 각도 영역에 속하는 라인들의 길이의 합이 가장 큰 각도 영역을 주 각도 영역으로 선정한다.Thereafter, the cleaning robot 100 selects the angular region having the largest sum of the lengths of the lines belonging to the same angular region as the main angular region.
주 각도 영역을 선정한 이후, 청소 로봇(100)은 주 각도 영역과 수직한 각도 영역에 속하는 라인들의 길이의 합을 산출하고, 그 합이 미리 정해진 기준값 이상인지 판단한다. After selecting the main angular region, the cleaning robot 100 calculates the sum of the lengths of the lines belonging to the angular region perpendicular to the main angular region, and determines whether the sum is greater than or equal to a predetermined reference value.
주 각도 영영과 수직한 각도 영역에 속하는 라인들의 길이의 합이 기준갑보다 작으면, 청소 로봇(100)은 청소 로봇(100)은 같은 각도 영역에 속하는 라인들의 길이의 합이 두번째로 큰 각도 영역을 주 각도로 다시 선정할 수 있다.If the sum of the lengths of the lines belonging to the angular region perpendicular to the main angular zero is less than the reference box, the scavenging robot 100 determines that the scavenging robot 100 has the second largest sum of the lengths of the lines belonging to the same angular region. Can be reselected as the main angle.
이후, 청소 로봇은 청소 로봇(100)은 다시 주 각도 영역과 수직한 각도 영역에 속하는 라인들의 길이의 합을 산출하고, 그 합이 미리 정해진 기준값 이상인지 판단한다.Thereafter, the cleaning robot 100 again calculates the sum of the lengths of the lines belonging to the angular area perpendicular to the main angular area, and determines whether the sum is greater than or equal to a predetermined reference value.
주 각도 영역의 선정 시에 그과 수직한 각도 영역을 고려하는 것은, 지나치게 폭이 좁은 청소 영역이 형성되지 않도록 하기 위함이다.In selecting the main angular region, the angular region perpendicular to the angular region is taken into consideration so that an excessively narrow cleaning region is not formed.
도 32의 (a)의 제1 청소 영역(A1)을 예로 들면, 제4 각도 영역(r4)에 속하는 제1 라인(l1)과 제3 라인(l3)의 길이의 합이 가장 크다. 또한, 제4 각도 영역(r4)과 수직한 제10 각도 영역(r10)에 속한 제2 라인(l2)과 제4 라인(l4)의 합이 기준값 이상이다.Taking the first cleaning region A1 of FIG. 32A as an example, the sum of the lengths of the first line l1 and the third line l3 belonging to the fourth angle region r4 is the largest. In addition, the sum of the second line l2 and the fourth line l4 belonging to the tenth angle area r10 perpendicular to the fourth angle area r4 is equal to or greater than the reference value.
따라서, 청소 로봇(100)은 제4 각도 영역(r4)을 주 각도 영역으로 선정할 수 있다.Therefore, the cleaning robot 100 may select the fourth angle region r4 as the main angle region.
주 각도 영역이 선정되면, 청소 로봇(100)은 폐곡선(CL)을 주 각도 영역의 중심 각도만큼 회전 변환시킨다.When the main angle region is selected, the cleaning robot 100 rotates the closed curve CL by the center angle of the main angle region.
예를 들어, 청소 로봇(100)은 도 32의 (a)에 도시된 폐곡선(CL)을 주 각도 영역인 제4 각도 영역(r4)의 중심 각도(52.5도) 만큼 회전 변환시킬 수 있다.For example, the cleaning robot 100 may rotate and convert the closed curve CL illustrated in FIG. 32A by the center angle (52.5 degrees) of the fourth angle region r4 that is the main angle region.
그 결과, 제1 청소 영역(A1)은 도 32의 (b)에 도시된 바와 같이 직사각형 형태로 변환된다.As a result, the first cleaning area A1 is converted into a rectangular shape as shown in Fig. 32B.
이후, 청소 로봇(100)은 회전 변환된 청소 영역의 x축 방향 최대값과 최소값, y축 방향 최대값과 최소값을 산출한다. 또한, 청소 로봇(100)은 x축 방향 최대값과 최소값 및 y축 방향 최대값과 최소값을 기초로 직사각형 형태의 최종 청소 영역을 설정한다.Thereafter, the cleaning robot 100 calculates the maximum value and the minimum value in the x-axis direction, the maximum value and the minimum value in the y-axis direction of the cleaning area that has been rotated. In addition, the cleaning robot 100 sets a rectangular final cleaning area based on the maximum value and minimum value of the x-axis direction and the maximum value and minimum value of the y-axis direction.
예를 들어, 도 32의 (b)에 도시된 폐곡선은 직사각형 형태를 갖으므로 청소 로봇(100)은 도 32의 (b)에 도시된 폐곡선을 제1 청소 영역(A1)으로 설정할 수 있다.For example, since the closed curve shown in FIG. 32B has a rectangular shape, the cleaning robot 100 may set the closed curve shown in FIG. 32B as the first cleaning area A1.
이상에서 설명한 바와 같이 청소 로봇(100)은 단순화된 청소 영역을 설정하기 위하여, 청소 로봇(100)의 주행에 의하여 생성된 폐곡선(CL)을 단순화시킨 이후 청소 로봇(100)은 단순화된 폐곡선(CL)을 청소 영역(A1)으로 설정한다.As described above, the cleaning robot 100 simplifies the closed curve CL generated by the running of the cleaning robot 100 in order to set the simplified cleaning area, and then the cleaning robot 100 performs the simplified closed curve CL. ) Is set to the cleaning area A1.
청소 영역(A1)이 설정된 이후 청소 로봇(100)는 설정된 청소 영역(A1)의 내부를 청소한다.After the cleaning area A1 is set, the cleaning robot 100 cleans the inside of the set cleaning area A1.
도 33은 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 방법을 도시하고, 도 34 내지 도 36는 도 33에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 과정의 일 예를 도시한다.33 illustrates a method of cleaning the cleaning area by the cleaning robot according to an embodiment, and FIGS. 34 to 36 illustrate a process of cleaning the cleaning area by the cleaning robot according to the method shown in FIG. 33. An example is shown.
도 33 내지 도 36를 참조하여, 청소 로봇(100)의 청소 영역 청소 방법(1300)을 설명한다.33 to 36, a cleaning area cleaning method 1300 of the cleaning robot 100 will be described.
청소 로봇(100)는 청소 영역(A1)의 내부를 주행하며 청소한다(1310).The cleaning robot 100 cleans while driving inside the cleaning area A1 (1310).
청소 로봇(100)은 다양한 방법으로 청소 영역(A1)의 내부를 청소할 수 있다.The cleaning robot 100 may clean the inside of the cleaning area A1 in various ways.
예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역(A1)을 청소할 수 있다.For example, the cleaning robot 100 may clean the cleaning area A1 while performing zigzag driving as shown in FIG. 34.
구체적으로, 청소 로봇(100)는 청소 영역(A1)의 x축을 주축으로 하여 지그재그 주행을 수행할 수 있다.In detail, the cleaning robot 100 may perform zigzag driving using the x axis of the cleaning area A1 as the main axis.
다시 말해, 청소 로봇(100)은 청소 영역(A1)에 포함된 어느 하나의 오목한 모서리에서 x축 방향(또는 -x축 방향)으로 주행하고, 장애물(O)과 마주치면 y축 방향(또는 -y축 방향)으로 장애물(O)의 외곽선을 따라 이동할 수 있다. 이후, 청소 로봇(100)은 -x축 방향(또는 x축 방향)으로 주행하고, 장애물(O)과 마주치면 y축 방향(또는 -y축 방향)으로 장애물(O)의 외곽선을 따라 이동할 수 있다.In other words, the cleaning robot 100 travels in the x-axis direction (or -x-axis direction) at one concave edge included in the cleaning area A1, and encounters the obstacle O in the y-axis direction (or- in the y-axis direction) to move along the outline of the obstacle (O). Thereafter, the cleaning robot 100 may travel in the -x axis direction (or the x axis direction), and move along the outline of the obstacle O in the y axis direction (or the -y axis direction) when it encounters the obstacle O. have.
다른 예로, 청소 로봇(100)은 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역(A1)을 청소할 수 있다.As another example, the cleaning robot 100 may clean the cleaning area A1 while traveling in any direction as shown in FIG. 35.
구체적으로, 청소 로봇(100)은 청소 영역(A1) 내부의 임의의 위치에서 임의의 방향으로 주행하고, 장애물(O)과 마주치면 임의의 방향으로 임의의 각도만큼 회전한 이후 주행할 수 있다.In detail, the cleaning robot 100 may travel in an arbitrary direction at an arbitrary position inside the cleaning area A1, and may travel after being rotated by an arbitrary angle in an arbitrary direction when facing the obstacle O.
청소 영역의 청소 중에 청소 로봇(100)은 청소 영역에 대한 청소가 완료되었는지를 판단한다(1320).During the cleaning of the cleaning area, the cleaning robot 100 determines whether the cleaning of the cleaning area is completed (1320).
예를 들어, 도 34에 도시된 바와 같이 청소 로봇(100)이 청소 영역(A1)을 지그재그 주행하는 경우, 청소 로봇(100)는 청소 영역(A1) 내부의 모든 영역을 주행하면 청소 영역(A1)에 대한 청소가 완료된 것으로 판단할 수 있다.For example, when the cleaning robot 100 zigzags the cleaning area A1 as shown in FIG. 34, when the cleaning robot 100 travels all areas inside the cleaning area A1, the cleaning area A1 may be used. ), It can be determined that the cleaning for the
예를 들어, 도 35에 도시된 바와 같이 청소 로봇(100)이 임의의 방향으로 주행하는 경우, 청소 로봇(100)은 미리 정해진 청소 시간이 경과하면 청소 영역(A1)에 대한 청소가 완료된 것으로 판단할 수 있다.For example, when the cleaning robot 100 travels in an arbitrary direction as illustrated in FIG. 35, the cleaning robot 100 determines that the cleaning of the cleaning area A1 is completed when a predetermined cleaning time elapses. can do.
청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(1320의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다. 또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(1320의 예), 청소 로봇(100)은 청소 완료 영역을 저장한다(1330).If it is determined that the cleaning of the cleaning area is not completed (NO in 1320), the cleaning robot 100 continues the cleaning of the cleaning area. In addition, when it is determined that the cleaning of the cleaning area is completed (YES in 1320), the cleaning robot 100 stores the cleaning completion area (1330).
구체적으로, 청소 로봇(100)은 청소 공간(A) 가운데 청소를 완료한 청소 영역(A1)을 별도로 저장할 수 있다.Specifically, the cleaning robot 100 may separately store the cleaning area A1 of which cleaning is completed in the cleaning space A. FIG.
이후, 청소 로봇(100)은 출입구를 검출한 위치로 이동한 이후 청소 공간(A)을 주행한다(1340).Thereafter, the cleaning robot 100 moves to the position where the doorway is detected and then travels through the cleaning space A (1340).
예를 들어, 청소 로봇(100)은 청소 영역(A1)에 대한 청소가 완료되면, 청소 로봇(100)은 도 36에 도시된 바와 같이 제1 방(R1)의 출입구를 검출한 위치로 제7 지점(P7)으로 이동할 수 있다. For example, when the cleaning robot 100 cleans the cleaning area A1, the cleaning robot 100 moves to the position where the entrance of the first room R1 is detected as shown in FIG. 36. You can move to point P7.
제7 지점(P7)으로 이동한 청소 로봇(100)은 다시 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행을 수행할 수 있다.The cleaning robot 100 moved to the seventh point P7 may again perform an outline following driving that travels along the outline of the obstacle O. FIG.
이상에서 설명한 바와 같이 청소 로봇(100)은 청소 영역(A1)을 설정한 이후 즉시 청소 영역(A1)을 청소하고, 청소 공간(A)을 계속 주행할 수 있다.As described above, the cleaning robot 100 may clean the cleaning area A1 immediately after setting the cleaning area A1, and continue to run the cleaning space A.
이하에서는 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역을 청소 영역으로 설정하고, 설정된 청소 영역을 청소하는 방법에 대하여 설명한다.Hereinafter, a method of cleaning the set cleaning area by setting a non-cleaned area after cleaning the cleaning space A as a cleaning area, will be described.
도 37은 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 방법을 도시하고, 도 38 및 도 39는 도 37에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 과정의 일 예를 도시한다.37 illustrates a method of cleaning the uncleaned area by the cleaning robot according to an embodiment, and FIGS. 38 and 39 illustrate a method of cleaning the uncleaned area by the cleaning robot according to the method shown in FIG. 37. An example of the process is shown.
청소 로봇(100)은 현재의 위치가 외곽선 추종 주행을 개시한 위치인지를 판단한다(1410).The cleaning robot 100 determines whether the current position is a position at which the outline tracking operation is started (1410).
구체적으로, 청소 로봇(100)은 주행 기록에 포함된 위치 정보를 기초로 현재의 위치가 외곽선 추종 주행을 개시한 위치와 동일한지 판단할 수 있다.In detail, the cleaning robot 100 may determine whether the current position is the same as the position at which the outline following driving starts based on the position information included in the driving record.
청소 로봇(100)의 현재 위치와 외곽선 추종 주행을 개시한 위치가 동일한 경우, 청소 로봇(100)은 청소 공간(A)에 포함된 모든 영역을 주행한 것으로 판단할 수 있다. When the current position of the cleaning robot 100 and the position at which the outline tracking operation is started are the same, the cleaning robot 100 may determine that all areas included in the cleaning space A have traveled.
구체적으로, 청소 로봇(100)은 도 38에 도시된 바와 같이 청소 로봇(100)이 청소 공간(A)의 모든 외곽선을 따라 주행할 것으로 판단할 수 있다.In detail, as illustrated in FIG. 38, the cleaning robot 100 may determine that the cleaning robot 100 travels along all the outlines of the cleaning space A. FIG.
청소 로봇(100)의 현재 위치가 외곽선 추종 주행을 개시한 위치와 동일하면(1410의 예), 청소 로봇(100)은 미청소 영역을 판단한다(1420).If the current position of the cleaning robot 100 is the same as the position of starting the outline following driving (YES in 1410), the cleaning robot 100 determines an uncleaned area (1420).
앞서 설명한 바와 같이 청소 로봇(100)은 청소 공간(A)을 주행하는 중에 실시간으로 청소 영역(A1, A2)을 설정하고, 설정된 청소 영역(A1, A2)을 우선 청소한다.As described above, the cleaning robot 100 sets the cleaning areas A1 and A2 in real time while driving the cleaning space A, and first cleans the set cleaning areas A1 and A2.
구체적으로, 청소 로봇(100)은 출입구를 판단하고, 청소 영역(A1, A2)을 형성하는 장애물(O)의 외곽선과 출입구를 연결하는 폐곡선(CL)을 생성하고, 생성된 폐곡선(CN)을 기초로 청소 영역(A1, A2)을 설정한다. 또한, 청소 로봇(100)은 다른 영역의 주행에 앞서 청소 영역(A1, A2)을 우선 청소하고, 청소가 완료된 청소 영역(A1, A2)을 저장한다.Specifically, the cleaning robot 100 determines the entrance and exit, generates a closed curve CL connecting the entrance and the outside of the obstacle O forming the cleaning areas A1 and A2, and generates the generated closed curve CN. The cleaning areas A1 and A2 are set as a basis. In addition, the cleaning robot 100 first cleans the cleaning areas A1 and A2 before the other area runs, and stores the cleaning areas A1 and A2 where the cleaning is completed.
그 결과, 청소 로봇(100)이 청소 공간(A)을 모두 주행하기 전까지 청소 로봇(100)이 최초 외곽선 추종 주행을 개시한 영역에는 청소 영역이 설정되지 않다.As a result, the cleaning area is not set in the area | region where the cleaning robot 100 started the initial outline following driving until the cleaning robot 100 runs all the cleaning spaces A. As shown in FIG.
따라서, 청소 공간(A)을 모두 주행한 이후, 청소 로봇(100)은 청소 로봇(100)은 청소 공간(A) 가운데 청소가 완료된 영역을 제외한 영역을 미청소 영역으로 판단할 수 있다.Therefore, after driving the cleaning space A in full, the cleaning robot 100 may determine that the cleaning robot 100 is an uncleaned area except for the area in which the cleaning is completed.
예를 들어, 도 38에 도시된 바와 같이 청소 로봇(100)이 거실(R3)에서 외곽선 추종 주행을 개시한 경우, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하는 동안 제1 방(R1)과 제2 방(R2)에 대하여 제1 청소 영역(A1) 및 제2 청소 영역(A2)을 설정하고, 제1 청소 영역(A1)과 제2 청소 영역(A2)을 청소한다.For example, as shown in FIG. 38, when the cleaning robot 100 starts the outline following driving in the living room R3, the cleaning robot 100 runs along the outline of the obstacle O while in the first room. The first cleaning area A1 and the second cleaning area A2 are set for the R1 and the second room R2, and the first cleaning area A1 and the second cleaning area A2 are cleaned.
이후, 청소 로봇(100)이 청소 공간(A)을 계속 주행하면, 청소 로봇(100)은 최초 외곽선 추종 주행을 개시한 위치에 도달할 수 있다.Thereafter, when the cleaning robot 100 continues to travel in the cleaning space A, the cleaning robot 100 may reach a position at which the first outline following driving starts.
그 결과, 청소 로봇(100)에는 도 38에 도시된 바와 같이 청소가 완료된 제1 청소 영역(A1) 및 제2 청소 영역(A3), 거실(R3)의 외곽선에 대응되는 폐곡선(CL)으로 구성된 청소 공간(A)의 맵이 저장된다.As a result, as shown in FIG. 38, the cleaning robot 100 includes a first cleaning area A1, a second cleaning area A3, and a closed curve CL corresponding to the outline of the living room R3. The map of the cleaning space A is stored.
또한, 청소 로봇(100)은 폐곡선(CL)의 내부를 청소가 완료되지 않는 영역으로 판단할 수 있다.In addition, the cleaning robot 100 may determine the inside of the closed curve CL as an area in which cleaning is not completed.
미청소 영역을 판단한 이후, 청소 로봇(100)은 미청소 영역에 대응하는 청소 영역을 설정한다(1430).After determining the uncleaned area, the cleaning robot 100 sets a cleaning area corresponding to the uncleaned area (1430).
구체적으로, 미청소 영역에 대한 청소 영역을 설정하기 위하여 청소 로봇(100)은 앞서 설명한 바와 같이 미청소 영역에 대응하는 폐곡선(CL)을 직선 모델링하고, 단순화시키고, 회전 변환시킨다.Specifically, in order to set the cleaning area for the uncleaned area, the cleaning robot 100 linearly models, simplifies, and rotates the closed curve CL corresponding to the uncleaned area as described above.
그 결과, 도 39에 도시된 바와 같이 미청소 영역(R3)에 대한 청소 영역(A3)이 설정된다.As a result, as shown in FIG. 39, the cleaning area | region A3 with respect to the uncleaned area | region R3 is set.
청소 영역을 설정한 이후, 청소 로봇(100)은 설정된 청소 영역 내부를 청소한다(1430).After setting the cleaning area, the cleaning robot 100 cleans the inside of the set cleaning area (1430).
청소 로봇(100)은 다양한 방법으로 청소 영역(A3)의 내부를 청소할 수 있다.The cleaning robot 100 may clean the inside of the cleaning area A3 in various ways.
예를 들어, 청소 로봇(100)은 도 39에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역(A3)을 청소할 수 있다.For example, the cleaning robot 100 may clean the cleaning area A3 while performing zigzag driving as shown in FIG. 39.
청소 영역의 청소 중에 청소 로봇(100)은 청소 로봇(100)은 청소 영역에 대한 청소가 완료되었는지를 판단한다(1450).During the cleaning of the cleaning area, the cleaning robot 100 determines whether the cleaning robot 100 has completed the cleaning of the cleaning area (1450).
예를 들어, 도 39에 도시된 바와 같이 청소 로봇(100)이 청소 영역(A3)을 지그재그 주행하는 경우, 청소 로봇(100)는 청소 영역(A3) 내부의 모든 영역을 주행하면 청소 영역(A3)에 대한 청소가 완료된 것으로 판단할 수 있다.For example, as shown in FIG. 39, when the cleaning robot 100 zigzags the cleaning area A3, when the cleaning robot 100 travels all areas inside the cleaning area A3, the cleaning area A3 may be used. ), It can be determined that the cleaning for the
모든 청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(1450의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다.If it is determined that the cleaning for all the cleaning areas is not completed (NO in 1450), the cleaning robot 100 continues the cleaning of the cleaning area.
또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(1450의 예), 청소 로봇(100)은 충전 스테이션으로 복귀한다(1460).In addition, when it is determined that cleaning of the cleaning area is completed (Yes of 1450), the cleaning robot 100 returns to the charging station (1460).
청소 공간(A)을 모두 주행한 이후 미청소 영역을 청소하면, 청소 로봇(100)은 청소 공간(A) 내부의 모든 영역을 청소한 것으로 판단할 수 있다.When the cleaning robot 100 is cleaned after all of the cleaning space A has been driven, the cleaning robot 100 may determine that all areas inside the cleaning space A have been cleaned.
따라서, 청소 로봇(100)은 배터리 충전을 위하여 충전 스테이션으로 복귀할 수 있다.Thus, the cleaning robot 100 may return to the charging station for charging the battery.
이상에서 설명한 바와 같이 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후, 청소되지 않는 영역을 청소 영역으로 설정하고, 모든 청소 영역을 청소한 이후 충전 스테이션으로 복귀한다.As described above, the cleaning robot 100 sets the non-cleaned area as the cleaning area after driving all the cleaning spaces A, and returns to the charging station after cleaning all the cleaning areas.
이상에서는 청소 로봇(100)이 장애물 감지부(140)를 이용하여 청소 공간(A)의 외곽선을 따라 주행하고, 주행 중에 출입구가 발견되면 주행 기록을 기초로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 방법에 관하여 설명하였다.In the above, the cleaning robot 100 travels along the outline of the cleaning space A using the obstacle detecting unit 140, and when an entrance is found while driving, the cleaning robot 100 sets the cleaning area based on the driving record, and sets the cleaning area. First, the cleaning method was described.
다만, 청소 로봇(100)이 주행 중에 출입구를 발견하고 청소 영역을 설정하기 위하여 장애물 감지부(140)를 이용하는 것에 한정되는 것은 아니다.However, the cleaning robot 100 is not limited to using the obstacle detecting unit 140 to find an entrance and set a cleaning area while driving.
이하에서는 청소 로봇이 동일한 경로를 반복 주행하는 등의 비정상적인 주행여부를 판단하고, 비정상적인 주행이 판단되면 비정상적인 주행으로부터 벗어나는 방법에 대하여 설명한다.Hereinafter, a method of determining whether the robot moves abnormally, such as repeatedly traveling the same path, and when the abnormal driving is determined, will be described.
도 40은 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는지 판단하는 방법을 도시하고, 도 41 및 도 42는 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는 일 예를 도시한다.40 illustrates a method of determining whether a cleaning robot repeatedly travels on the same path, and FIGS. 41 and 42 illustrate examples of repeatedly cleaning the same path by the cleaning robot according to an embodiment.
도 40, 도 41 및 도 42를 참조하여, 청소 로봇(100)의 비정상적인 주행 이탈 방법(3000)을 설명한다.40, 41, and 42, an abnormal driving departure method 3000 of the cleaning robot 100 will be described.
주행 중에 청소 로봇(100)는 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단한다(3010).The cleaning robot 100 determines whether the cleaning robot 100 repeatedly runs the same path while driving (3010).
청소 로봇(100)은 다양한 이유로 동일한 경로를 반복 주행할 수 있다. 예를 들어, 청소 로봇(100)이 청소 공간(A)의 한복판에 위치하는 장애물(O1)을 감지하면, 청소 로봇(100)은 장애물(O1)의 외곽을 따라 반복적으로 주행할 수 있다.The cleaning robot 100 may repeatedly travel the same path for various reasons. For example, when the cleaning robot 100 detects the obstacle O1 located in the middle of the cleaning space A, the cleaning robot 100 may repeatedly travel along the outer edge of the obstacle O1.
구체적으로, 도 41에 도시된 바와 같이 외벽(OW)에 의하여 형성된 청소 공간(A)이 내벽(IW)에 의하여 제1 방(R1)과 제2 방(R2)으로 구분될 수 있다. 이와 같이 청소 공간(A)이 제1 방(R1)과 제2 방(R2)으로 구분되고 제1 출입구(E1)에 의하여 제1 방(R1)과 제2 방(R2)이 연결되는 경우, 청소 로봇(100)은 도 11에 도시된 청소 동작(1000, 도 11 참조)에 따라 제1 출입구(E1)를 발견하고, 제1 방(R1)을 우선 청소할 수 있다.In detail, as illustrated in FIG. 41, the cleaning space A formed by the outer wall OW may be divided into the first room R1 and the second room R2 by the inner wall IW. When the cleaning space A is divided into the first room R1 and the second room R2, and the first room R1 and the second room R2 are connected by the first doorway E1, The cleaning robot 100 may discover the first doorway E1 according to the cleaning operation 1000 (see FIG. 11) shown in FIG. 11, and may first clean the first room R1.
이후, 청소 로봇(100)은 외벽(OW)을 따라 이동하는 중에 이동 가능한 제2 장애물(O2)을 발견하고, 제2 장애물(O2)의 외곽선을 따라 이동할 수 있다. 제2 장애물(O2)의 외곽선을 따라 이동 중에 고정된 제1 장애물(O1)을 발견하고, 제1 장애물(O1)의 외곽선을 따라 이동할 수 있다.Thereafter, the cleaning robot 100 may discover the second obstacle O2 that is movable while moving along the outer wall OW, and may move along the outline of the second obstacle O2. The first obstacle O1 that is fixed while moving along the outline of the second obstacle O2 may be found and moved along the outline of the first obstacle O1.
청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 이동 중에 도 42에 도시된 바와 같이 제2 장애물(O2)이 제거되면, 청소 로봇(100)는 제1 장애물(O1)의 외곽선을 따라 주행한다. 다시 말해, 청소 로봇(100)은 제1 장애물(O1)로부터 벗어나지 못한다.When the second obstacle O2 is removed as shown in FIG. 42 while the cleaning robot 100 moves along the outline of the first obstacle O1, the cleaning robot 100 may remove the outline of the first obstacle O1. Drive along. In other words, the cleaning robot 100 does not escape from the first obstacle O1.
이처럼, 청소 로봇(100)이 다른 장애물 또는 벽면과 인접하지 않는(고립된) 장애물(O1)의 외곽선을 따라 주행하는 경우, 청소 로봇(100)은 전원부(미도시)에 저장된 에너지가 모두 소모될 때까지 장애물(O1)의 외곽선을 따라 주행할 뿐 청소 공간(A)을 청소하지 못할 수 있다.As such, when the cleaning robot 100 travels along the outline of the obstacle O1 that is not adjacent to another obstacle or the wall (isolated), the cleaning robot 100 may consume all the energy stored in the power supply unit (not shown). Until the vehicle only travels along the outline of the obstacle O1, the cleaning space A may not be cleaned.
이와 같이 청소 로봇(100)이 고립된 장애물(O1)로부터 벗어나기 위하여, 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행하는지를 판단한다.In this way, in order for the cleaning robot 100 to escape from the isolated obstacle O1, the cleaning robot 100 determines whether the cleaning robot 100 repeatedly runs the same path.
청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보와 주행 기록의 위치 정보를 기초로 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 청소 로봇(100)의 주행 기록을 저장한다. 구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보, 청소 로봇(100)의 주행 속도, 주행 방향 등을 나타내는 주행 정보, 청소 로봇(100)이 추종하는 장애물(O)의 외곽선의 특징을 나타내는 외곽선 정보를 저장할 수 있다.The cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130, and the cleaning robot 100 repeats the same path based on the currently acquired position information and the position information of the driving record. You can determine if you are driving. As described above, the cleaning robot 100 stores the driving record of the cleaning robot 100 while driving. Specifically, the cleaning robot 100 includes position information indicating the position of the cleaning robot 100 at each predetermined time interval, driving information indicating the traveling speed of the cleaning robot 100, the driving direction, and the like, followed by the cleaning robot 100. The outline information indicating the characteristic of the outline of the obstacle O can be stored.
또한, 청소 로봇(100)은 현재 획득된 위치 정보와 주행 기록의 위치 정보를 비교하고, 비교 결과에 따라 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단할 수 있다. 예를 들어, 청소 로봇(100)은 현재 획득된 위치 정보를 기초로 주행 기록을 검색하고, 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로 판단할 수 있으며, 현재 획득된 위치 정보와 동일한 위치 정보가 발견되지 않으면 청소 로봇(100)은 동일한 경로를 반복 주행하지 않는 것으로 판단할 수 있다.In addition, the cleaning robot 100 may compare the currently acquired position information with the position information of the driving record, and determine whether the cleaning robot 100 repeatedly runs the same path based on the comparison result. For example, the cleaning robot 100 searches the driving record based on the currently acquired location information, and if the same location information as the currently acquired location information is found, the cleaning robot 100 determines that the same route is repeatedly traveled. If the same location information as the currently acquired location information is not found, the cleaning robot 100 may determine that the same path is not repeatedly driven.
청소 로봇(100)이 동일한 경로를 반복 주행하지 않는 것으로 판단되면(3010의 아니오), 청소 로봇(100)은 주행을 계속 수행한다.If it is determined that the cleaning robot 100 does not repeatedly travel the same path (NO in 3010), the cleaning robot 100 continues to travel.
반면, 청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면(3010의 예), 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다(3020).On the other hand, if it is determined that the cleaning robot 100 repeatedly travels the same path (YES in 3010), the cleaning robot 100 moves to a predetermined reference position (3020).
구체적으로, 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행하기 이전의 위치로 이동할 수 있다. 예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 청소한 이후 동일한 경로를 반복 주행하는 경우, 청소 로봇(100)은 제1 방(R1)의 제1 출입구(E1)의 일단(P1)으로 이동할 수 있다.Specifically, the cleaning robot 100 may move to a position before the cleaning robot 100 repeatedly travels the same path. For example, as shown in FIG. 42, when the cleaning robot 100 repeatedly runs the same path after cleaning the first room R1, the cleaning robot 100 may perform the first operation of the first room R1. It can move to one end P1 of the entrance E1.
또한, 청소 로봇(100)이 이동할 기준 위치는 청소 로봇(100)이 주행함에 따라 달라질 수 있다. 예를 들어, 청소 로봇(100)이 제1 방(R1)을 청소하기 이전의 기준 위치와 청소 로봇(100)이 제1 방(R1)을 청소한 이후의 기준 위치는 상이할 수 있다.In addition, the reference position to which the cleaning robot 100 will move may vary as the cleaning robot 100 travels. For example, the reference position before the cleaning robot 100 cleans the first room R1 and the reference position after the cleaning robot 100 cleans the first room R1 may be different.
기준 위치로 이동한 이후, 청소 로봇(100)은 기준 위치에서부터 다시 주행한다(3030).After moving to the reference position, the cleaning robot 100 again runs from the reference position (3030).
구체적으로, 청소 로봇(100)은 기준 위치로부터 장애물 또는 벽면의 외곽선을 따라 주행할 수 있다.In detail, the cleaning robot 100 may travel along an outline of an obstacle or a wall from a reference position.
또한, 청소 로봇(100)은 반복 주행 중의 주행 기록을 삭제할 수 있다. 예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 반복 주행한 경우, 청소 로봇(100)은 제1 장애물(O1)의 외곽선을 따라 주행 중에 저장한 주행 기록을 삭제할 수 있다.In addition, the cleaning robot 100 may delete the driving record during the repeated driving. For example, as shown in FIG. 42, when the cleaning robot 100 repeatedly runs along the outline of the first obstacle O1, the cleaning robot 100 is driving along the outline of the first obstacle O1. You can delete the saved driving record.
이상에서 설명한 바와 같이 청소 로봇(100)은 동일한 경로를 반복 주행하는지를 판단하고, 반복 주행으로 판단되면 미리 정해진 기준 위치로 이동할 수 있다. 이처럼, 미리 정해진 기준 위치로 이동함으로써, 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로부터 벗어날 수 있다.As described above, the cleaning robot 100 may determine whether the same route is repeatedly traveled, and if the cleaning robot 100 is determined to be repeatedly traveling, the cleaning robot 100 may move to a predetermined reference position. In this way, by moving to the predetermined reference position, the cleaning robot 100 can escape from repeatedly traveling the same path.
이하에서는 청소 로봇(100)이 반복 주행으로부터 벗어나는 구체적인 방법에 대하여 설명한다.Hereinafter, a detailed method of the cleaning robot 100 deviating from repeated driving will be described.
도 43은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 일 예를 도시하고, 도 44는 도 43에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.FIG. 43 illustrates an example of a method in which the cleaning robot deviates from repeated driving, and FIG. 44 illustrates an example in which the cleaning robot travels according to the method illustrated in FIG. 43.
도 43 및 도 44를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3100)의 일 예를 설명한다.43 and 44, an example of a method 3100 in which the cleaning robot 100 deviates from repeated driving will be described.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3110).The cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3110).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재 위치 정보와 주행 기록의 위치 정보가 동일한 것으로 판단할 수 있다.Specifically, the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position information and the position information of the driving record are the same.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3110의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the current positional information and the positional information of the driving record are not the same (NO in 3110), the cleaning robot 100 continues the current driving.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3110의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3120).On the other hand, if the current position information and the position information of the driving record are the same (YES in 3110), the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3120.
청소 로봇(100)이 동일한 위치를 다시 통과하더라도 반드시 청소 로봇(100)이 동일한 경로를 반복 주행하는 것은 아니다. 예를 들어, 청소 로봇(100)이 이미 주행한 경로를 교차하여 주행하는 경우, 청소 로봇(100)은 동일할 위치를 다시 주행하지만 청소 로봇(100)이 동일한 경로를 반복 주행하는 것은 아니다.Even if the cleaning robot 100 passes the same position again, the cleaning robot 100 does not necessarily travel the same path repeatedly. For example, when the cleaning robot 100 crosses a path that has already traveled, the cleaning robot 100 travels the same position again, but the cleaning robot 100 does not repeatedly travel the same path.
이러한 이유로, 청소 로봇(100)은 동일한 위치를 다시 통과하면, 청소 로봇(100)은 현재의 주행 각도(주행 방향을 나타냄)과 이전의 주행 각도(주행 방향의 나타냄) 사이의 차이를 산출하고, 산출된 차이의 절대값과 미리 정해진 각도를 비교한다. 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.For this reason, when the cleaning robot 100 passes through the same position again, the cleaning robot 100 calculates a difference between the current driving angle (indicative of the driving direction) and the previous traveling angle (indicative of the driving direction), The absolute value of the calculated difference is compared with a predetermined angle. In this case, the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.Specifically, the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130. As described above, the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130. In this case, the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.In addition, the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ±360도, ±720도, ± 1080도 등이 될 수 있다.Thereafter, the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ± 360 degrees, ± 720 degrees, ± 1080 degrees, or the like.
예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 주행하는 경우, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하여 이전과 동일한 위치로 이동할 수 있다. 이처럼 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 청소 로봇(100)의 회전 변위는 청소 로봇(100)이 제자리에서 1회 회전한 것과 같다. 다시 말해, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 청소 로봇(100)의 누적 주행 각도는 360도 증가하거나 360도 감소한다. 따라서, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ±360도가 된다.For example, as shown in FIG. 42, when the cleaning robot 100 travels along the outline of the isolated obstacle O1, the cleaning robot 100 travels once along the outline of the obstacle O1 and moves. You can move to the same location as. As such, when the cleaning robot 100 runs once along the outline of the obstacle O1, the rotational displacement of the cleaning robot 100 is the same as that of the cleaning robot 100 rotated once in place. In other words, when the cleaning robot 100 travels once along the outline of the obstacle O1, the cumulative driving angle of the cleaning robot 100 increases or decreases 360 degrees. Therefore, when the cleaning robot 100 runs once along the outline of the obstacle O1, the difference in the cumulative running angle between before and after the driving becomes ± 360 degrees.
또한, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 2회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ±720도가 되고, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 3회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ±1080도가 된다.In addition, when the cleaning robot 100 travels twice along the outline of the obstacle O1, the difference in the cumulative traveling angle between before and after the driving becomes ± 720 degrees, and the cleaning robot 100 moves the outline of the obstacle O1. Therefore, when traveling three times, the difference of the accumulated running angle between before and after running becomes +1080 degree.
결국, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.As a result, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 360 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times. Also, when the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 1080 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
미리 정해진 각도를 360도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전하였는지를 판단할 수 있고, 미리 정해진 각도를 720도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 회전하였는지를 판단할 수 있다. 또한, 미리 정해진 각도를 1080도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전하였는지를 판단할 수 있다.If the predetermined angle is set to 360 degrees, the cleaning robot 100 may determine whether the cleaning robot 100 has rotated one or more times along the outline of the isolated obstacle O1, and if the predetermined angle is set to 720 degrees, the cleaning robot 100 may determine whether the cleaning robot 100 has rotated twice along the outline of the isolated obstacle O1. In addition, if the predetermined angle is set to 1080 degrees, the cleaning robot 100 may determine whether the cleaning robot 100 has rotated three or more times along the outline of the isolated obstacle O1.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.In other words, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is equal to or greater than a predetermined angle (360 degrees, 720 degrees, 1080 degrees, etc.), the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
추가적으로, 청소 로봇(100)이 동일한 경로를 반복 주행하는지 더욱 확실하게 판단하기 위하여, 청소 로봇(100)은 현재의 주행 거리와 이전의 주행 거리 사이의 차이를 산출하고, 산출된 차이와 미리 정해진 거리를 비교할 수 있다.In addition, to more reliably determine whether the sweeping robot 100 repeatedly travels the same path, the sweeping robot 100 calculates a difference between the current travel distance and the previous travel distance, and calculates the difference and the predetermined distance. Can be compared.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 주행 거리를 입력받고, 메모리(115)에 저장된 주행 기록으로부터 이전의 주행 거리를 획득할 수 있다. 이후, 제어부(110)는 현재의 주행 거리와 이전의 주행 거리 사이의 차이를 산출하고, 산출된 차이가 미리 정해진 거리 이하이면 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단하고, 산출된 차이가 미리 정해진 거리보다 크면 청소 로봇(100)이 동일한 경로를 반복 주행하지 않는 것으로 판단할 수 있다.In detail, the controller 110 of the cleaning robot 100 may receive a driving distance from the motion detector 130 and obtain a previous driving distance from the driving record stored in the memory 115. Thereafter, the controller 110 calculates a difference between the current travel distance and the previous travel distance. If the calculated difference is less than or equal to the predetermined distance, the controller 110 determines that the cleaning robot 100 has repeatedly traveled the same path, and calculated If the difference is greater than the predetermined distance, it may be determined that the cleaning robot 100 does not repeatedly travel the same path.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3120의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is smaller than the predetermined angle (NO in 3120), the cleaning robot 100 continues the current travel.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3120의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3130).On the other hand, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is greater than or equal to a predetermined angle (YES in 3120), the cleaning robot 100 may enter and exit the most recently cleaned cleaning area. Move toward 3130.
앞서 설명한 바와 같이 청소 로봇(100)이 동일한 위치를 다시 통과하고, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면, 청소 로봇(100)은 동일한 경로를 반복 주행한 것으로 판단할 수 있다.As described above, when the cleaning robot 100 passes through the same position again, and the absolute value of the difference between the current traveling angle (direction) and the previous traveling angle (direction) is equal to or greater than the predetermined angle, the cleaning robot 100 May be determined to have repeatedly traveled the same route.
이처럼, 청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면, 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다. 이때 기준 위치는 가장 최근에 청소한 청소 영역의 출입구가 될 수 있다.As such, when it is determined that the cleaning robot 100 repeatedly travels the same path, the cleaning robot 100 moves to a predetermined reference position. In this case, the reference position may be an entrance and exit of the cleaning area that was most recently cleaned.
앞서 설명한 바와 같이 청소 로봇(100)은 출입구를 발견하면, 출입구를 기초로 청소 영역을 설정하고, 설정된 청소 영역에 대하여 청소를 수행한다. 따라서, 청소를 수행한 청소 영역의 출입구는 새로운 청소 영역을 설정하기 위한 출발점이 된다. 다시 말해, 가장 최근에 청소한 청소 영역의 출입구는 반복 주행하기 이전 주행의 출발점이 된다.As described above, when the cleaning robot 100 finds the doorway, the cleaning robot 100 sets the cleaning area based on the doorway, and performs cleaning on the set cleaning area. Therefore, the entrance and exit of the cleaning area | region which performed cleaning becomes a starting point for setting a new cleaning area | region. In other words, the entrance and exit of the most recently cleaned cleaning area becomes the starting point of the run before repeating the run.
따라서, 청소 로봇(100)은 반복 주행하기 이전 주행의 출발점인 청소 영역의 출입구의 일단으로 이동할 수 있다.Therefore, the cleaning robot 100 may move to one end of the entrance and exit of the cleaning area, which is the starting point of the driving, before the repeated driving.
예를 들어, 청소 로봇(100)이 제1 방(R1)을 청소한 이후 반복 주행을 수행한 경우, 도 44에 도시된 바와 같이 청소 로봇(100)은 제1 방(R1)의 출입구인 제1 출입구(E1)의 일단(P1)을 향하여 이동할 수 있다.For example, when the cleaning robot 100 repeatedly runs after cleaning the first room R1, as shown in FIG. 44, the cleaning robot 100 may be configured as a doorway of the first room R1. 1 can move toward one end P1 of the entrance E1.
제1 출입구(E1)의 일단(P1)에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제할 수 있다. 구체적으로, 청소 로봇(100)은 제1 방(R1)의 청소를 완료한 이후 제1 출입구(E1)의 일단(P1)에 도달하기까지의 주행 기록을 모두 삭제할 수 있다.When the end P1 of the first entrance E1 is reached, the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving. Specifically, the cleaning robot 100 may delete all the driving records from the first room R1 until the cleaning device 100 reaches the end P1 of the first entrance E1 after the cleaning of the first room R1 is completed.
이상에서 설명한 바와 같이 청소 로봇(100)은 위치 정보와 주행 방향 정보를 기초로 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단하고, 동일한 경로를 반복 주행하는 것으로 판단되면 가장 최근에 청소된 청소 영역의 출입구로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.As described above, the cleaning robot 100 determines whether the cleaning robot 100 repeatedly travels the same path based on the location information and the driving direction information, and if it is determined that the cleaning robot 100 repeatedly travels the same path, the cleaning robot that has been cleaned most recently Move to the doorway of the area. As a result, the cleaning robot 100 may escape from repeated travel.
도 45는 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 다른 일 예를 도시하고, 도 46 및 도 47은 도 45에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.FIG. 45 illustrates another example of a method in which the cleaning robot deviates from repetitive running, and FIGS. 46 and 47 illustrate an example in which the cleaning robot travels in accordance with the method illustrated in FIG. 45.
도 45, 도 46 및 도 47를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3200)의 다른 일 예를 설명한다.45, 46, and 47, another example of a method 3200 in which the cleaning robot 100 deviates from repeated driving will be described.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3210).The cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3210).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재의 위치와 이전의 위치가 동일한 것으로 판단할 수 있다.Specifically, the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position and the previous position are the same.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3210의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the current positional information and the positional information of the driving record are not the same (NO in 3210), the cleaning robot 100 continues the current driving.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3210의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3220). 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.On the other hand, if the current position information and the position information of the driving record are the same (YES in 3210), the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3320. In this case, the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.Specifically, the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130. As described above, the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130. In this case, the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.In addition, the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ±360도, ±720도, ± 1080도 등이 될 수 있다.Thereafter, the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ± 360 degrees, ± 720 degrees, ± 1080 degrees, or the like.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.If the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 360 degrees or more, the cleaning robot 100 follows the outline of the obstacle O1 in which the cleaning robot 100 is isolated. It can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times. Also, when the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 1080 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.In other words, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is equal to or greater than a predetermined angle (360 degrees, 720 degrees, 1080 degrees, etc.), the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3220의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is smaller than the predetermined angle (NO in 3320), the cleaning robot 100 continues the current travel.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3220의 예), 청소 로봇(100)은 청소를 수행한 청소 영역이 있는지를 판단한다(3230).On the other hand, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is greater than or equal to a predetermined angle (YES in 3220), the cleaning robot 100 checks whether there is a cleaning area where cleaning has been performed. Determination (3230).
구체적으로, 청소 로봇(100)은 청소 로봇(100)의 주행 기록 및 청소 기록 등을 기초로 청소가 완료된 청소 영역이 있는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역이 설정되면 설정된 청소 영역에 식별 코드를 부여하고, 청소 영역의 청소가 완료되면 청소 영역의 식별 코드를 청소 기록으로 저장할 수 있다. 따라서, 청소 로봇(100)은 청소 기록을 기초로 청소가 완료된 청소 영역의 존부, 청소가 완료된 청소 영역의 위치, 청소가 완료된 청소 영역의 출입구의 위치 등을 획득할 수 있다.In detail, the cleaning robot 100 may determine whether there is a cleaning area in which cleaning is completed, based on driving records and cleaning records of the cleaning robot 100. As described above, the cleaning robot 100 may assign an identification code to the set cleaning area when the cleaning area is set, and store the identification code of the cleaning area as a cleaning record when the cleaning area is completed. Therefore, the cleaning robot 100 may acquire the presence of the cleaning area where the cleaning is completed, the location of the cleaning area where the cleaning is completed, the location of the entrance and exit of the cleaning area where the cleaning is completed, and the like based on the cleaning record.
청소를 수행한 청소 영역이 존재하면(3230의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3240).If there is a cleaning area that has been cleaned (Yes of 3230), the cleaning robot 100 moves toward the entrance and exit of the most recently cleaned cleaning area (3240).
청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면, 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다. 이때 기준 위치는 가장 최근에 청소한 청소 영역의 출입구가 될 수 있다. 따라서, 청소 로봇(100)은 가장 최근에 청소된 청소 영역의 출입구의 일단으로 이동할 수 있다.If it is determined that the cleaning robot 100 travels the same path repeatedly, the cleaning robot 100 moves to a predetermined reference position. In this case, the reference position may be an entrance and exit of the cleaning area that was most recently cleaned. Thus, the cleaning robot 100 can move to one end of the entrance and exit of the cleaning area that was most recently cleaned.
또한, 가장 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.In addition, when one end of the entrance and exit of the most recently cleaned cleaning area is reached, the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
청소를 수행한 청소 영역이 존재하지 않으면(3230의 아니오), 청소 로봇(100)은 미리 정해진 방향으로 이동한다(3250).If there is no cleaning area where cleaning is performed (NO in 3230), the cleaning robot 100 moves in a predetermined direction (3250).
청소를 수행한 청소 영역이 존재하지 않는 경우, 청소 영역의 출입구를 설정하기 못하였으므로 청소 로봇(100)이 이동할 기준 위치는 주행을 개시한 출발점이 될 수 있다. 그러나, 주행을 개시한 출발점에서 다시 주행을 개시할 경우, 청소 로봇(100)은 다시 동일한 경로를 반복 주행할 수 있다.If there is no cleaning area where cleaning has been performed, since the entrance and exit of the cleaning area cannot be set, the reference position to which the cleaning robot 100 is to move may be a starting point at which driving starts. However, when starting to travel again from the starting point where the driving started, the cleaning robot 100 may repeatedly travel the same path again.
예를 들어, 도 46에 도시된 바와 같이 청소 로봇(100)이 주행을 개시한 이후 최초로 감지한 장애물(O)이 고립된 장애물(O1)인 경우, 청소 로봇(100)이 청소를 수행한 청소 영역이 존재하지 않는다. 이때, 청소 로봇(100)이 출발점으로부터 다시 주행을 개시하면, 청소 로봇(100)은 다시 고립된 장애물(O1)의 외곽선을 따라 동일한 경로를 반복 주행한다.For example, as shown in FIG. 46, when the obstacle O first detected after the cleaning robot 100 starts driving is an isolated obstacle O1, the cleaning robot 100 performs cleaning. Zone does not exist. At this time, when the cleaning robot 100 starts driving again from the starting point, the cleaning robot 100 repeatedly travels the same path along the outline of the isolated obstacle O1.
이를 방지하기 위하여, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 미리 정해진 방향으로 이동할 수 있다.In order to prevent this, when it is determined that the same route is repeatedly driven, the cleaning robot 100 may move in a predetermined direction.
예를 들어, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 도 47에 도시된 바와 같이 즉시 장애물(O1)의 반대 방향으로 45도 회전한 이후 직전 주행할 수 있다. 또한, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 이전의 주행 기록을 모두 삭제할 수 있다.For example, if it is determined that the same route is repeatedly traveled, the cleaning robot 100 may immediately travel after being rotated 45 degrees in the opposite direction of the obstacle O1 as illustrated in FIG. 47. In addition, when it is determined that the same route is repeatedly traveled, the cleaning robot 100 may delete all previous driving records.
이상에서 설명한 바와 같이, 청소 로봇(100)이 동일한 경로를 반복 주행하고, 이전에 청소한 청소 영역이 없는 경우, 청소 로봇(100)은 즉시 미리 정해진 방향으로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.As described above, when the cleaning robot 100 repeatedly travels the same path and there is no cleaning area previously cleaned, the cleaning robot 100 may immediately move in a predetermined direction. As a result, the cleaning robot 100 may escape from repeated travel.
도 48은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 또 다른 일 예를 도시하고, 도 49 내지 도 52는 도 48에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.48 is a view illustrating another example of a method in which the cleaning robot deviates from repeated driving, and FIGS. 49 to 52 illustrate an example in which the cleaning robot travels according to the method illustrated in FIG. 48.
도 48 내지 도 52를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3300)의 또 다른 일 예를 설명한다.48 to 52, another example of a method 3300 in which the cleaning robot 100 deviates from repeated driving will be described.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3310).The cleaning robot 100 determines whether the current position of the cleaning robot 100 is the same as the position previously driven by the cleaning robot 100 (3310).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재의 위치와 이전의 위치가 동일한 것으로 판단할 수 있다.Specifically, the cleaning robot 100 obtains the current position information of the cleaning robot 100 through the motion detector 130 and searches the driving record based on the currently obtained position information. If the same location information as the currently acquired position information is found in the driving record, the cleaning robot 100 may determine that the current position and the previous position are the same.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3310의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the current positional information and the positional information of the driving record are not the same (NO in 3310), the cleaning robot 100 continues the current driving.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3210의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3320). 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.On the other hand, if the current position information and the position information of the driving record are the same (YES in 3210), the cleaning robot 100 determines the absolute value of the difference between the current driving angle (direction) and the previous driving angle (direction) in advance. It is determined whether the angle is greater than 3320. In this case, the predetermined angle may be determined as 360 degrees, 720 degrees, 1080 degrees, or the like.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.Specifically, the control unit 110 of the cleaning robot 100 receives the cumulative running angle from the motion detector 130. As described above, the cleaning robot 100 may store the instantaneous travel angle and the accumulated travel angle while traveling through the motion detector 130. In this case, the controller 110 may obtain a current cumulative driving angle from the motion detector 130.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.In addition, the controller 110 of the cleaning robot 100 may obtain the cumulative driving angle of the previous driving from the driving record stored in the memory 115. In other words, the controller 110 may acquire the accumulated driving angle of the cleaning robot 100 when the cleaning robot 100 travels the same position as the current position.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ±360도, ±720도, ± 1080도 등이 될 수 있다.Thereafter, the controller 110 calculates a difference between the cumulative travel angle of the current travel and the cumulative travel angle of the previous travel. If the cleaning robot 100 repeatedly runs the same path, the difference between the current cumulative running angle and the previous cumulative running angle may be ± 360 degrees, ± 720 degrees, ± 1080 degrees, or the like.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.If the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 360 degrees or more, the cleaning robot 100 follows the outline of the obstacle O1 in which the cleaning robot 100 is isolated. It can be judged that it has rotated more than once. Also, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 720 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated two or more times. Also, when the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is 1080 degrees or more, the cleaning robot 100 may mark the outline of the obstacle O1 in which the cleaning robot 100 is isolated. Therefore, it can be judged that it has rotated three times or more.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.In other words, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is equal to or greater than a predetermined angle (360 degrees, 720 degrees, 1080 degrees, etc.), the cleaning robot 100 may be a cleaning robot ( It may be determined that 100 has repeatedly traveled the same route.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3320의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.If the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is smaller than the predetermined angle (NO in 3320), the cleaning robot 100 continues the current travel.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3320의 예), 청소 로봇(100)은 청소를 수행한 청소 영역이 있는지를 판단한다(3330).On the other hand, if the absolute value of the difference between the current travel angle (direction) and the previous travel angle (direction) is greater than or equal to a predetermined angle (YES in 3320), the cleaning robot 100 checks whether there is a cleaning area where cleaning has been performed. Determination (3330).
구체적으로, 청소 로봇(100)은 청소 로봇(100)의 주행 기록 및 청소 기록 등을 기초로 청소가 완료된 청소 영역이 있는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역이 설정되면 설정된 청소 영역에 식별 코드를 부여하고, 청소 영역의 청소가 완료되면 청소 영역의 식별 코드를 청소 기록으로 저장할 수 있다. 따라서, 청소 로봇(100)은 청소 기록을 기초로 청소가 완료된 청소 영역의 존부, 청소가 완료된 청소 영역의 위치, 청소가 완료된 청소 영역의 출입구의 위치 등을 획득할 수 있다.In detail, the cleaning robot 100 may determine whether there is a cleaning area in which cleaning is completed, based on driving records and cleaning records of the cleaning robot 100. As described above, the cleaning robot 100 may assign an identification code to the set cleaning area when the cleaning area is set, and store the identification code of the cleaning area as a cleaning record when the cleaning area is completed. Therefore, the cleaning robot 100 may acquire the presence of the cleaning area where the cleaning is completed, the location of the cleaning area where the cleaning is completed, the location of the entrance and exit of the cleaning area where the cleaning is completed, and the like based on the cleaning record.
청소를 수행한 청소 영역이 존재하지 않으면(3330의 아니오), 청소 로봇(100)은 미리 정해진 방향으로 이동한다(3340).If there is no cleaning area in which cleaning is performed (NO in 3330), the cleaning robot 100 moves in a predetermined direction (3340).
청소를 수행한 청소 영역이 존재하지 않는 경우, 청소 영역의 출입구를 설정하기 못하였으므로 청소 로봇(100)이 이동할 기준 위치는 주행을 개시한 출발점이 될 수 있다. 그러나, 주행을 개시한 출발점에서 다시 주행을 개시할 경우, 청소 로봇(100)은 다시 동일한 경로를 반복 주행할 수 있다.If there is no cleaning area where cleaning has been performed, since the entrance and exit of the cleaning area cannot be set, the reference position to which the cleaning robot 100 is to move may be a starting point at which driving starts. However, when starting to travel again from the starting point where the driving started, the cleaning robot 100 may repeatedly travel the same path again.
이를 방지하기 위하여, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 미리 정해진 방향으로 이동할 수 있다. 또한, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 이전의 주행 기록을 모두 삭제할 수 있다.In order to prevent this, when it is determined that the same route is repeatedly driven, the cleaning robot 100 may move in a predetermined direction. In addition, when it is determined that the same route is repeatedly traveled, the cleaning robot 100 may delete all previous driving records.
청소를 수행한 청소 영역이 존재하면(3330의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되는지를 판단한다(3350).If the cleaning area has been cleaned (Yes of 3330), the cleaning robot 100 determines whether one end of the entrance and exit of the most recently cleaned cleaning area is included in the repeated driving path (3350).
청소를 수행한 청소 영역이 존재하면, 청소 로봇(100)은 청소 영역의 출입구의 일단을 기준 위치로 정하고, 기준 위치를 향하여 이동할 수 있다. 그러나, 기준 위치가 반복 주행 경로에 포함된 경우, 청소 로봇(100)이 기준 위치로 이동하더라도 청소 로봇(100)은 반복 주행을 계속하게 된다.If there is a cleaning area that has been cleaned, the cleaning robot 100 may set one end of the entrance and exit of the cleaning area as a reference position and move toward the reference position. However, when the reference position is included in the repetitive travel path, even if the cleaning robot 100 moves to the reference position, the cleaning robot 100 continues the repetitive travel.
예를 들어, 도 49에 도시된 바와 같이 제1 방(R1)을 청소한 청소 로봇(100)은 외벽(OW), 이동 가능한 제3 장애물(O3) 및 고정된 제1 장애물(O1)을 따라 이동할 수 있다. For example, as shown in FIG. 49, the cleaning robot 100 cleaning the first room R1 may follow the outer wall OW, the movable third obstacle O3, and the fixed first obstacle O1. I can move it.
이때, 제1 장애물(O1)의 외곽선을 따라 이동 중에 청소 로봇(100)이 제1 장애물(O1)의 볼록한 모서리에 해당하는 제2 위치(P2)에 도달하면, 청소 로봇(100)은 제2 위치(P2)와 내벽(IW) 사이를 제2 출입구(E2)로 판단할 수 있다. 구체적으로, 제2 위치(P2)는 볼록한 모서리에 해당하고, 제2 위치(P2)의 반대 편에는 내벽(IW)이 위치하므로, 청소 로봇(100)는 제2 위치(P2)와 내벽(IW) 사이를 제2 출입구(E2)로 판단할 수 있다.At this time, when the cleaning robot 100 reaches the second position P2 corresponding to the convex edge of the first obstacle O1 during the movement along the outline of the first obstacle O1, the cleaning robot 100 may move to the second position. It may be determined between the position P2 and the inner wall IW as the second entrance or exit E2. Specifically, since the second position P2 corresponds to the convex edge, and the inner wall IW is located opposite the second position P2, the cleaning robot 100 has the second position P2 and the inner wall IW. ) May be determined as the second doorway E2.
도 50에 도시된 바와 같이 청소 로봇(100)은 제3 장애물(O3) 및 제1 장애물(O1)에 의하여 구획되는 제2 방(R2)의 일부(R2-2)를 청소 영역으로 설정하고, 제2 방(R2)의 일부(R2-2)를 청소할 수 있다. 이후, 청소 로봇(100)은 다시 제1 장애물(O1)의 외곽선을 따라 주행할 수 있다.As shown in FIG. 50, the cleaning robot 100 sets a part R2-2 of the second room R2 partitioned by the third obstacle O3 and the first obstacle O1 as the cleaning area, A part R2-2 of the 2nd room R2 can be cleaned. Thereafter, the cleaning robot 100 may again travel along the outline of the first obstacle O1.
청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 주행하는 중에 제3 장애물(O3)이 제거되면, 도 51에 도시된 바와 같이 청소 로봇(100)은 제1 장애물(O1)의 외곽선을 따라 반복 주행한다.When the third obstacle O3 is removed while the cleaning robot 100 runs along the outline of the first obstacle O1, as shown in FIG. 51, the cleaning robot 100 may outline the first obstacle O1. Repeat your journey.
청소 로봇(100)은 앞서 설명한 3310 및 3320 단계를 통하여 동일한 경로에 대한 반복 주행을 판단하고, 기준 위치로 이동할 수 있다.The cleaning robot 100 may determine repetitive driving on the same path through steps 3310 and 3320 described above, and move to the reference position.
그러나, 기준 위치에 해당하는 제2 출입구(E2)의 일단(P2)은 제1 장애물(O1)의 외곽선에 포함된다. 다시 말해, 기준 위치가 반복 주행의 경로에 포함된다. 따라서, 청소 로봇(100)이 기준 위치인 제2 출입구(E2)의 일단(P2)으로 이동하더라도 청소 로봇(100)은 다시 제1 장애물(O1)의 외곽선을 따라 반복 주행하게 된다.However, one end P2 of the second doorway E2 corresponding to the reference position is included in the outline of the first obstacle O1. In other words, the reference position is included in the path of the repeated travel. Therefore, even if the cleaning robot 100 moves to one end P2 of the second entrance E2 which is a reference position, the cleaning robot 100 may repeatedly travel along the outline of the first obstacle O1.
이러한 동작을 방지하기 위하여, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되는지를 판단할 수 있다.In order to prevent such an operation, the cleaning robot 100 may determine whether one end of the entrance and exit of the cleaning area that has been cleaned most recently is included in the repetitive travel path.
청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록을 이용하여 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되었는지를 판단할 수 있다.The controller 110 of the cleaning robot 100 may determine whether one end of the entrance and exit of the most recently cleaned cleaning area is included in the repetitive travel path using the driving record stored in the memory 115.
구체적으로, 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로 판단되면, 주행 기록으로부터 반복 주행 경로를 추출한다. 다시 말해, 청소 로봇(100)이 이전 주행 위치와 동일한 위치를 주행하면, 청소 로봇(100)은 이전 주행 시점과 현재 주행 시점 사이에 청소 로봇(100)이 주행한 주행 경로를 판단한다.Specifically, when it is determined that the cleaning robot 100 repeatedly travels the same route, the cleaning robot 100 extracts the repeating travel route from the travel record. In other words, when the cleaning robot 100 travels the same position as the previous travel position, the cleaning robot 100 determines a driving path that the cleaning robot 100 has traveled between the previous travel time and the current travel time.
이후, 청소 로봇(100)은 반복 주행 경로와 청소 영역의 출입구의 일단의 위치를 비교함으로써 반복 주행 경로에 가장 최근에 청소한 청소 영역의 출입구의 일단이 포함되는지를 판단할 수 있다.Thereafter, the cleaning robot 100 may determine whether one end of the entrance and exit of the cleaning area that has been most recently cleaned is included in the repeating driving path by comparing the position of one end of the exit and the exit of the cleaning area.
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되지 않으면(3350의 아니오), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3360).If one end of the entrance and exit of the most recently cleaned cleaning area is not included in the repeating travel path (NO in 3350), the cleaning robot 100 moves toward the entrance and exit of the most recently cleaned cleaning area (3360).
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되지 않으면, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동하면 반복 주행으로부터 벗어날 것으로 판단할 수 있다. 따라서, 반복 주행으로부터 벗어나기 위하여 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동한다.When one end of the entrance and exit of the most recently cleaned cleaning area is not included in the repetitive travel path, the cleaning robot 100 may determine that the moving robot moves out of the repetitive travel when moving to one end of the entrance and exit of the most recently cleaned cleaning area. Therefore, the cleaning robot 100 moves to one end of the entrance and exit of the most recently cleaned cleaning area in order to escape from repeated travel.
또한, 가장 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.In addition, when one end of the entrance and exit of the most recently cleaned cleaning area is reached, the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되면(3350의 예), 청소 로봇(100)은 2번째로 최근에 청소한 청소 영역의 출입구를 향하여 이동한다Once one end of the entrance to the cleaning area that has been cleaned most recently is included in the repeating travel path (Yes of 3350), the cleaning robot 100 moves toward the entrance of the cleaning area to be cleaned secondly.
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되면, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동하면 반복 주행이 계속될 것으로 판단할 수 있다. 따라서, 반복 주행으로부터 벗어나기 위하여 청소 로봇(100)은 2번째로 최근에 청소한 청소 영역의 출입구의 일단으로 이동한다.When one end of the entrance and exit of the most recently cleaned cleaning area is included in the repetitive travel path, the cleaning robot 100 may determine that the repetitive travel will continue when the moving robot 100 moves to one end of the entrance and exit of the most recently cleaned cleaning area. Therefore, the cleaning robot 100 moves to one end of the entrance and exit of the cleaning area that has been cleaned recently for the second time in order to escape from repeated travel.
예를 들어, 도 52에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 청소한 이후 제2 방의 일부(R2-2)를 청소하고, 제1 장애물(O1)의 외곽선을 따라 반복 주행할 수 있다. 이때, 제2 방의 일부(R2-2)의 제2 출입구(E2)의 일단(P2)는 반복 주행 경로에 포함되므로, 청소 로봇(100)는 제1 방(R1)의 제1 출입구(E1)의 일단(P1)으로 이동할 수 있다.For example, as shown in FIG. 52, the cleaning robot 100 cleans the part R2-2 of the second room after cleaning the first room R1, and follows the outline of the first obstacle O1. Can run repeatedly. At this time, since the one end P2 of the second entrance E2 of the part R2-2 of the second room is included in the repeating travel path, the cleaning robot 100 is the first entrance E1 of the first room R1. It can move to one end (P1) of.
또한, 2번째로 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.In addition, when one end of the entrance and exit of the second cleaning area that has been recently cleaned is reached, the cleaning robot 100 may delete all the driving records of the driving due to the repeated driving and restart the driving.
이상에서 설명한 바와 같이, 청소 로봇(100)이 동일한 경로를 반복 주행하고, 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함된 경우, 청소 로봇(100)은 2번째로 최근에 청소된 청소 영역의 출입구의 일단으로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.As described above, when the cleaning robot 100 repeatedly travels the same path, and one end of the entrance and exit of the cleaning area that has been cleaned most recently is included in the repeating travel path, the cleaning robot 100 is second-most recently. It can be moved to one end of the doorway of the cleaned cleaning area. As a result, the cleaning robot 100 may escape from repeated travel.
이하에서는 청소 로봇(100)이 주행 중에 출입구를 발견하고 청소 영역을 설정하는 다른 일 예에 대하여 설명한다.Hereinafter, another example in which the cleaning robot 100 detects an entrance and a setting of a cleaning area while driving is described.
도 53은 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.Fig. 53 is a diagram illustrating a control configuration of a cleaning robot according to another embodiment.
도 53을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 로봇(100) 주변의 영상을 획득하는 영상 획득부(191)를 포함할 수 있다.Referring to FIG. 53, the cleaning robot 100 may include a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle ( O control unit 110 for controlling the operation of the obstacle detection unit 140, the moving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space, and the cleaning robot 100. And an image acquisition unit 191 that acquires an image around the cleaning robot 100.
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.The user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 53에 도시된 바와 같이 영상 획득부(191)를 더 포함한다.However, the cleaning robot 100 according to another embodiment further includes an image acquisition unit 191 as shown in FIG. 53.
영상 획득부(191)는 청소 로봇(100) 상방 즉 천장의 영상을 획득하는 상방 카메라 모듈(191a)와 청소 로봇(100) 전방의 영상을 획득하는 전방 카메라 모듈(191b)를 포함할 수 있다.The image acquisition unit 191 may include an upper camera module 191a that acquires an image of the cleaning robot 100, that is, a ceiling, and a front camera module 191b that acquires an image in front of the cleaning robot 100.
상방 카메라 모듈(191a)는 청소 로봇(100)의 상면에 마련되어 청소 로봇(100)의 상방(上方) 영상 즉 청소 공간의 천장의 3차원 영상을 획득하는 3차원 카메라와 3차원 카메라가 획득한 영상을 영상 처리하는 그래픽 프로세서를 포함할 수 있다. 이와 같은 그래픽 프로세서는 3차원 카메라가 획득한 영상의 크기 또는 해상도를 변경하는 등의 간단한 영상 처리를 수행할 수 있다.The upper camera module 191a is provided on the upper surface of the cleaning robot 100 to acquire an upper image of the cleaning robot 100, that is, a three-dimensional image of the ceiling of the cleaning space and an image obtained by the three-dimensional camera. It may include a graphics processor for image processing. Such a graphic processor may perform simple image processing such as changing the size or resolution of an image acquired by the 3D camera.
3차원 영상은 촬영 대상의 2차원 영상과 촬영 대상까지의 거리 정보를 포함하며, 이와 같은 3차원 카메라는 스테레오 카메라 모듈 또는 깊이 센서 모듈 등을 채용할 수 있다. The 3D image includes a 2D image of a photographing target and distance information to a photographing target, and the 3D camera may employ a stereo camera module or a depth sensor module.
스테레오 카메라 모듈은 한 쌍의 2차원 카메라를 포함하고, 한 쌍의 2차원 카메라가 획득한 영상의 차이를 이용하여 촬영된 대상의 거리 정보를 산출한다. 또한 스테레오 카메라 모듈은 한 쌍의 2차원 카메라가 획득한 영상 중 어느 하나와 촬영된 대상의 거리 정보를 출력한다. The stereo camera module includes a pair of two-dimensional cameras, and calculates distance information of the photographed object by using a difference between images acquired by the pair of two-dimensional cameras. In addition, the stereo camera module outputs any one of the images acquired by the pair of two-dimensional camera and the distance information of the photographed object.
깊이 센서 모듈은 촬영 대상의 영상을 획득하는 2차원 카메라와 촬영 대상을 향하여 적외선을 조사하고 촬영 대상에서 반사되는 적외선의 크기를 검출함으로써 촬영 대상까지의 거리를 측정하는 적외선 센서를 포함한다. 또한, 깊이 센서 모듈은 2차원 카메라가 획득한 영상과 적외선 센서가 획득한 거리 정보를 출력한다. The depth sensor module includes a two-dimensional camera that acquires an image of a photographing target, and an infrared sensor that measures distance to the photographing target by irradiating infrared rays toward the photographing target and detecting a magnitude of the infrared rays reflected from the photographing target. In addition, the depth sensor module outputs the image acquired by the 2D camera and the distance information obtained by the infrared sensor.
전방 카메라 모듈(191b)는 청소 로봇(100)의 전면에 마련되어 청소 로봇(100)의 전방(前方) 3차원 영상을 획득하는 3차원 카메라와 3차원 카메라가 획득한 3차원 영상을 영상 처리하는 그래픽 프로세서를 포함할 수 있다.The front camera module 191b is provided on the front surface of the cleaning robot 100 to graphic the 3D camera for acquiring a front 3D image of the cleaning robot 100 and the 3D image acquired by the 3D camera. It may include a processor.
도 54은 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 55 내지 도 59는 도 54에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.54 illustrates a method of cleaning a cleaning space by a cleaning robot according to another embodiment, and FIGS. 55 to 59 illustrate a method of cleaning a cleaning space by a cleaning robot according to the method shown in FIG. 54. An example is shown.
도 54 내지 도 59을 참조하여 청소 로봇(100)의 청소 방법(2000)을 설명한다.A cleaning method 2000 of the cleaning robot 100 will be described with reference to FIGS. 54 to 59.
청소 로봇(100)은 청소 공간(A)을 주행한다(2010).The cleaning robot 100 runs the cleaning space A (2010).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.Specifically, the cleaning robot 100 may travel in any direction from any position.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.The arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.In addition, the cleaning robot 100 can travel in any direction at the start of driving. For example, the cleaning robot 100 may travel toward the front at the start of driving. However, the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.However, after the driving starts, it is preferable that the cleaning robot 100 does not change the driving direction until the obstacle O is found.
주행 중에 청소 로봇(100)은 전방 카메라 모듈(191b)를 이용하여 출입구를 검출한다(2020).While driving, the cleaning robot 100 detects an entrance and exit using the front camera module 191b (2020).
청소 로봇(100)은 미리 정해진 주기마다 전방 카메라 모듈(191b)을 이용하여 청소 로봇(100) 전방의 영상을 획득하고, 전방 영상으로부터 영상 특징(image feature)을 추출하고, 추출된 영상 특징을 기초로 전방 영상을 출입구의 영상을 포함하는지를 판단할 수 있다.The cleaning robot 100 acquires an image in front of the cleaning robot 100 by using the front camera module 191b at predetermined intervals, extracts an image feature from the front image, and based on the extracted image feature. It is possible to determine whether the front image includes the image of the entrance and exit.
구체적으로, 청소 로봇(100)은 전방 카메라 모듈(191b)를 이용하여 전방 영상을 획득한다. 이때, 청소 로봇(100)이 전방 카메라 모듈(191b)로서 3차원 카메라 모듈을 채용한 경우, 전방 영상은 영상 정보와 함께 거리 정보도 포함할 수 있다.Specifically, the cleaning robot 100 obtains the front image by using the front camera module 191b. In this case, when the cleaning robot 100 employs the 3D camera module as the front camera module 191b, the front image may include distance information together with image information.
예를 들어, 도 55에 도시된 바와 같이 청소 로봇(100)이 출입구 앞에 위치하면 청소 로봇(100)은 출입구의 영상을 획득할 수 있다. 이때, 청소 로봇(100)이 획득한 출입구의 영상은 도 56에 도시된 제1 영상(image1)과 같다. For example, as shown in FIG. 55, when the cleaning robot 100 is located in front of the doorway, the cleaning robot 100 may acquire an image of the doorway. At this time, the image of the entrance and exit obtained by the cleaning robot 100 is the same as the first image (image1) shown in FIG.
제1 영상(image1)을 획득한 청소 로봇(100)은 제1 영상(image1)으로부터 특징점(keypoint)들을 추출할 수 있다. 구체적으로, 청소 로봇(100)은 Harris Corner 알고리즘, Shi-Tomasi 알고리즘, SIFT-DoG 알고리즘, FAST 알고리즘, AGAST 알고리즘 등을 이용하여 제1 영상(image1)으로부터 특징점을 추출할 수 있다.The cleaning robot 100 that acquires the first image image1 may extract keypoints from the first image1. In detail, the cleaning robot 100 may extract a feature point from the first image 1 using a Harris Corner algorithm, a Shi-Tomasi algorithm, a SIFT-DoG algorithm, a FAST algorithm, an AGAST algorithm, and the like.
예를 들어, 청소 로봇(100)은 도 56에 도시된 바와 같은 제1 영상(image1)으로부터 제1 특징점(KP1), 제2 특징점(KP2), 제3 특징점(KP3), 제4 특징점(KP4)를 포함하는 복수의 특징점을 추출할 수 있다.For example, the cleaning robot 100 may include the first feature point KP1, the second feature point KP2, the third feature point KP3, and the fourth feature point KP4 from the first image image1 as illustrated in FIG. 56. A plurality of feature points including) may be extracted.
또한, 청소 로봇(100)은 각각의 특징점에 대응하는 거리 정보를 이용하여 특징점들의 3차원 좌표를 산출할 수 있으며, 산출된 3차원 좌표를 기초로 청소 로봇(100) 전방에 위치한 대상(objection)이 출입구인지를 판단할 수 있다.In addition, the cleaning robot 100 may calculate three-dimensional coordinates of the feature points using distance information corresponding to each feature point, and an object located in front of the cleaning robot 100 based on the calculated three-dimensional coordinates. It can be determined whether it is an entrance or exit.
예를 들어, 청소 로봇(100)은 특징점의 3차원 좌표를 기초로 각각의 특징점들을 연결한 형상이 출입구의 형상에 대응되는지 판단할 수 있다. 앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm에 해당하며, 높이는 대략 180cm 내지 220cm에 해당한다. 청소 로봇(100)은 기계 학습(machine learning) 알고리즘 등을 이용하여 특징점들에 의한 형상이 출입구의 형상에 대응되는지 판단할 수 있다.For example, the cleaning robot 100 may determine whether the shape connecting the feature points corresponds to the shape of the doorway based on the 3D coordinates of the feature points. As described above, the doorway has a width of approximately 80 cm to 110 cm and a height of approximately 180 cm to 220 cm. The cleaning robot 100 may determine whether the shape formed by the feature points corresponds to the shape of the doorway using a machine learning algorithm.
출입구를 검출한 청소 로봇(100)은 출입구를 통과하여 주행할 수 있다.The cleaning robot 100 detecting the doorway may travel through the doorway.
예를 들어, 도 57에 도시된 바와 같이 거실(R3)에 위치하던 청소 로봇(100)은 출입구를 검출한 이후 검출된 출입구를 통과하여 제1 방(R1)으로 이동할 수 있다.For example, as illustrated in FIG. 57, the cleaning robot 100 located in the living room R3 may move to the first room R1 through the detected doorway after detecting the doorway.
이후, 청소 로봇(100)은 상방 카메라 모듈을 이용하여 청소 영역을 설정한다(2030).Thereafter, the cleaning robot 100 sets a cleaning area using the upper camera module in operation 2030.
출입구를 통과한 청소 로봇(100)은 상방 카메라 모듈(191a)을 이용하여 청소 영역 천장의 영상을 획득하고, 천장 영상으로부터 영상 특징(image feature)을 추출하고, 추출된 영상 특징을 기초로 청소 영역을 설정할 수 있다.The cleaning robot 100 that has passed through the doorway acquires an image of the ceiling of the cleaning area using the upper camera module 191a, extracts an image feature from the ceiling image, and based on the extracted image feature, Can be set.
구체적으로, 청소 로봇(100)은 상방 카메라 모듈(191a)를 이용하여 천장 영상을 획득한다. 이때, 청소 로봇(100)이 전방 카메라 모듈(191a)로서 3차원 카메라 모듈을 채용한 경우, 천장 영상은 영상 정보와 함께 거리 정보도 포함할 수 있다.Specifically, the cleaning robot 100 obtains the ceiling image using the upper camera module 191a. In this case, when the cleaning robot 100 employs the 3D camera module as the front camera module 191a, the ceiling image may include distance information together with image information.
예를 들어, 도 57에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1) 내부로 진입하면 청소 로봇(100)은 제1 방(R1)의 천장 영상을 획득할 수 있다. 이때, 청소 로봇(100)이 획득한 천장 영상은 도 58에 도시된 제2 영상(image2)과 같다. For example, as shown in FIG. 57, when the cleaning robot 100 enters the first room R1, the cleaning robot 100 may acquire a ceiling image of the first room R1. In this case, the ceiling image acquired by the cleaning robot 100 is the same as the second image image2 illustrated in FIG. 58.
제2 영상(image2)을 획득한 청소 로봇(100)은 제2 영상(image2)으로부터 특징점(keypoint)들을 추출할 수 있다.The cleaning robot 100 obtaining the second image 2 may extract keypoints from the second image 2.
예를 들어, 청소 로봇(100)은 도 58에 도시된 바와 같은 제1 영상(image1)으로부터 제1 특징점(KP1), 제2 특징점(KP2), 제3 특징점(KP3), 제4 특징점(KP4)를 포함하는 복수의 특징점을 추출할 수 있다.For example, the cleaning robot 100 may include the first feature point KP1, the second feature point KP2, the third feature point KP3, and the fourth feature point KP4 from the first image image1 as illustrated in FIG. 58. A plurality of feature points including) may be extracted.
또한, 청소 로봇(100)은 각각의 특징점에 대응하는 거리 정보를 이용하여 특징점들의 3차원 좌표를 산출할 수 있으며, 산출된 3차원 좌표를 기초로 제1 방(R1)의 맵을 생성할 수 있다.In addition, the cleaning robot 100 may calculate three-dimensional coordinates of the feature points using distance information corresponding to each feature point, and generate a map of the first room R1 based on the calculated three-dimensional coordinates. have.
이후, 청소 로봇(100)은 제1 방(R1)을 기초로 제1 방(R1)에 대응되는 제1 청소 영역(A1)을 설정할 수 있다. 이때, 청소 로봇(100)은 도 28에서 설명한 청소 영역 설정 방법(1700, 도 28 참조)를 이용하여 제1 청소 영역(A1)을 설정할 수 있다.Thereafter, the cleaning robot 100 may set the first cleaning area A1 corresponding to the first room R1 based on the first room R1. In this case, the cleaning robot 100 may set the first cleaning area A1 using the cleaning area setting method 1700 (see FIG. 28) described with reference to FIG. 28.
다만, 청소 로봇(100)이 상방 카메라 모듈(191a)를 이용하여 청소 영역을 설정하는 것에 한정되는 것은 아니다.However, the cleaning robot 100 is not limited to setting the cleaning area using the upper camera module 191a.
예를 들어, 청소 로봇(100)은 장애물 감지부(140)를 이용하여 장애물(O)의 외곽선을 따라 주행할 수 있다. 또한, 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 청소 로봇(100)의 주행 정보, 위치 정보 등을 포함하는 주행 기록을 저장할 수 있다. 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 현재 위치가 출입구의 위치와 동일한지를 판단하고, 현재 위치가 출입구의 위치와 동일하면 청소 로봇(100)은 저장된 주행 기록을 기초로 청소 영역을 설정할 수도 있다.For example, the cleaning robot 100 may travel along the outline of the obstacle O by using the obstacle detecting unit 140. In addition, while driving along the outline of the obstacle O, the cleaning robot 100 may store a driving record including driving information, position information, and the like of the cleaning robot 100. While driving along the outline of the obstacle O, the cleaning robot 100 determines whether the current position is the same as the position of the doorway, and if the current position is the same as the position of the doorway, the cleaning robot 100 based on the stored driving record. You can also set the cleaning area.
청소 영역을 설정한 청소 로봇(100)은 설정된 청소 영역을 주행하면서 청소 영역을 청소한다(2040).The cleaning robot 100 that sets the cleaning area cleans the cleaning area while driving the set cleaning area (2040).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다.The cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33.
예를 들어, 청소 로봇(100)은 도 59에 도시된 바와 같이 지그재그 주행을 수행하여 청소 영영을 청소하고, 청소 영역의 출입구를 판단한 위치로 이동할 수 있다.For example, as illustrated in FIG. 59, the cleaning robot 100 may perform zigzag driving to clean the cleaning area, and move to the position where the entrance and exit of the cleaning area is determined.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2050). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.Thereafter, the cleaning robot 100 determines whether all cleaning areas have been cleaned (2050). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A. FIG.
예를 들어, 청소하지 않은 영역의 출입구가 검출되지 않으면 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소한 것으로 판단할 수 있다.For example, when the entrance and exit of the area not cleaned is not detected, the cleaning robot 100 may determine that all areas of the cleaning space A have been cleaned.
모든 청소 영역을 청소하지 않았으면(2050의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 출입구 판단, 청소 영역 설정, 청소 영역 청소를 반복한다.If all the cleaning area | regions are not cleaned (NO of 2050), the cleaning robot 100 repeats driving | running | working of the cleaning space A, entrance determination, cleaning area setting, and cleaning cleaning area | regions.
또한, 모든 청소 영역을 청소하였으면(2050의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.In addition, if all the cleaning areas have been cleaned (Yes of 2050), the cleaning robot 100 may end the run and return to the filling station.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응되는 청소 영역을 설정하고, 설정된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.For example, the cleaning robot 100 may set a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the set cleaning area.
이상에서 설명한 바와 같이 청소 로봇(100)은 주행 중 영상 획득부(191)를 이용하여 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소할 수 있다.As described above, the cleaning robot 100 may set the cleaning area using the image acquisition unit 191 while driving and clean the set cleaning area first.
도 60은 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.60 is a control diagram of the cleaning robot according to another embodiment.
도 60을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 로봇(100)의 주변 환경을 감시하는 레이더 센서부(193)를 포함할 수 있다.Referring to FIG. 60, the cleaning robot 100 may include a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and an obstacle ( O control unit 110 for controlling the operation of the obstacle detection unit 140, the moving unit 160 for moving the cleaning robot 100, the cleaning unit 170 for cleaning the cleaning space, and the cleaning robot 100. And a radar sensor unit 193 for monitoring the surrounding environment of the cleaning robot 100.
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.The user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 60에 도시된 바와 같이 레이더 센서부(193)를 더 포함한다.However, the cleaning robot 100 according to another embodiment further includes a radar sensor unit 193 as shown in FIG. 60.
레이더 센서부(193)는 청소 로봇(100)의 전방을 향하여 전파를 발신하고, 장애물(O) 등의 대상으로부터 반사되는 반사파를 검출/분석하여 대상까지의 거리, 대상의 이동 속도 등을 검출할 수 있다.The radar sensor unit 193 transmits radio waves toward the front of the cleaning robot 100 and detects / analyzes reflected waves reflected from an object such as an obstacle O to detect a distance to the object, a moving speed of the object, and the like. Can be.
구체적으로, 레이더 센서부(193)는 전파가 발신된 시각과 반사파가 수신된 시각 사이의 시간 차이를 이용하여 대상까지의 거리를 산출할 수 있으며, 대상의 이동에 의한 도플러 효과(Doppler effect)를 이용하여 대상의 이동 속도를 산출할 수 있다.In detail, the radar sensor unit 193 may calculate a distance to the target by using a time difference between the time at which the radio wave is transmitted and the time at which the reflected wave is received, and the Doppler effect due to the movement of the target Can be used to calculate the moving speed of the target.
또한, 레이더 센서부(193)는 지향성 안테나를 이용하여 일정한 방향으로 전파를 발신할 수 있다. 특히, 레이더 센서부(193)는 지향성 안테나를 회전시킴으로써 시간 간격을 두고 여러 방향으로 전파를 발신할 수도 있다.In addition, the radar sensor unit 193 may transmit a radio wave in a predetermined direction by using a directional antenna. In particular, the radar sensor unit 193 may transmit radio waves in various directions at time intervals by rotating the directional antenna.
이와 같이 지향성 안테나를 회전시켜 여러 방향으로 전파를 발신하는 경우, 레이더 센서부(193)는 전파가 발신된 방향을 기초로 장애물(O) 등이 위치하는 방향을 산출할 수 있다.When the radio waves are transmitted in various directions by rotating the directional antennas as described above, the radar sensor unit 193 may calculate the direction in which the obstacle O is located based on the direction in which the radio waves are transmitted.
도 61은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.61 is a view illustrating a cleaning robot cleaning a cleaning space, according to another embodiment.
도 61을 참조하여 청소 로봇(100)의 청소 방법(2100)을 설명한다.A cleaning method 2100 of the cleaning robot 100 will be described with reference to FIG. 61.
청소 로봇(100)은 청소 공간(A)을 주행한다(2110).The cleaning robot 100 travels the cleaning space A (2110).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.Specifically, the cleaning robot 100 may travel in any direction from any position.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.The arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.In addition, the cleaning robot 100 can travel in any direction at the start of driving. For example, the cleaning robot 100 may travel toward the front at the start of driving. However, the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.However, after the driving starts, it is preferable that the cleaning robot 100 does not change the driving direction until the obstacle O is found.
주행 중에 청소 로봇(100)은 레이더 센서부(193)를 이용하여 출입구를 검출한다(2120).The cleaning robot 100 detects an entrance and exit using the radar sensor unit 193 while driving (2120).
출입구를 검출하기 위하여 청소 로봇(100)은 미리 정해진 주기마다 레이더 센서부(193)를 이용하여 청소 로봇(100)의 전방을 탐지하고, 장애물(O) 사이에 미리 정해진 거리 범위의 빈 공간이 검출되는지를 판단할 수 있다. 여기서 미리 정해진 거리 범위는 앞서 설명한 바와 같이 출입구의 폭에 해당하는 80cm 내지 110cm일 수 있다.In order to detect the entrance and exit, the cleaning robot 100 detects the front of the cleaning robot 100 using the radar sensor unit 193 at predetermined intervals, and detects an empty space having a predetermined distance range between the obstacles O. It can be judged. The predetermined distance range may be 80 cm to 110 cm corresponding to the width of the doorway as described above.
또한, 출입구를 검출한 청소 로봇(100)은 출입구의 위치 정보를 기록하고, 출입구를 향하여 주행한다.In addition, the cleaning robot 100 that detects the entrance and exit records the position information of the entrance and travels toward the entrance.
이후, 청소 로봇(100)은 장애물 감지부을 이용하여 청소 영역을 설정한다(2130).Thereafter, the cleaning robot 100 sets the cleaning area using the obstacle detecting unit (2130).
출입구를 검출한 청소 로봇(100)은 장애물 감지부(140)를 이용하여 장애물(O)의 외곽선을 따라 주행할 수 있다. 또한, 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 청소 로봇(100)의 주행 정보, 위치 정보 등을 포함하는 주행 기록을 저장할 수 있다. The cleaning robot 100 that detects the entrance and exit may travel along the outline of the obstacle O by using the obstacle detecting unit 140. In addition, while driving along the outline of the obstacle O, the cleaning robot 100 may store a driving record including driving information, position information, and the like of the cleaning robot 100.
장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 현재 위치가 출입구의 위치와 동일한지를 판단하고, 현재 위치가 출입구의 위치와 동일하면 청소 로봇(100)은 저장된 주행 기록을 기초로 청소 영역을 설정할 수도 있다.While driving along the outline of the obstacle O, the cleaning robot 100 determines whether the current position is the same as the position of the doorway, and if the current position is the same as the position of the doorway, the cleaning robot 100 based on the stored driving record. You can also set the cleaning area.
청소 영역을 설정한 청소 로봇(100)은 설정된 청소 영역을 주행하면서 청소 영역을 청소한다(2140).The cleaning robot 100 that sets the cleaning area cleans the cleaning area while driving the set cleaning area (2140).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다. 예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역을 청소하거나, 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역을 청소할 수 있다.The cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33. For example, the cleaning robot 100 may clean the cleaning area while performing a zigzag driving as shown in FIG. 34, or clean the cleaning area while driving in any direction as shown in FIG. 35.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2150). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.Thereafter, the cleaning robot 100 determines whether all cleaning areas have been cleaned (2150). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A. FIG.
청소하지 않은 영역의 출입구가 검출되지 않으면 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소한 것으로 판단할 수 있다.If the entrance and exit of the area not cleaned is not detected, the cleaning robot 100 may determine that all areas of the cleaning space A have been cleaned.
모든 청소 영역을 청소하지 않았으면(2150의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 출입구 판단, 청소 영역 설정, 청소 영역 청소를 반복한다.If all the cleaning areas have not been cleaned (NO in 2150), the cleaning robot 100 repeats the running of the cleaning space A, the entrance determination, the cleaning area setting, and the cleaning area cleaning.
모든 청소 영역을 청소하였으면(2150의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.Once all cleaning areas have been cleaned (Yes of 2150), the cleaning robot 100 may end the run and return to the filling station.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응되는 청소 영역을 설정하고, 설정된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.For example, the cleaning robot 100 may set a cleaning area corresponding to an area that is not cleaned after driving all of the cleaning space A, and may return to the charging station after cleaning the set cleaning area.
이상에서 설명한 바와 같이 청소 로봇(100)은 주행 중 레이더 센서부(193) 및 장애물 감지부(140)를 이용하여 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소할 수 있다.As described above, the cleaning robot 100 may set the cleaning area by using the radar sensor unit 193 and the obstacle detecting unit 140 while driving, and may first clean the set cleaning area.
도 62는 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시하고, 도 63은 마그네틱 밴드가 설치된 청소 공간을 도시한다.FIG. 62 shows a control configuration of a cleaning robot according to another embodiment, and FIG. 63 shows a cleaning space provided with a magnetic band.
도 62 및 도 63을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 공간(A) 바닥의 자기장을 감지하는 자기장 감지부(195)를 포함할 수 있다.62 and 63, the cleaning robot 100 includes a user interface 120 that interacts with a user, a motion detector 130 that detects information related to the movement of the cleaning robot 100, and a cleaning space A. Obstacle detection unit 140 for detecting the obstacle (O) of the moving unit 160 for moving the cleaning robot 100, cleaning unit 170 for cleaning the cleaning space, the overall control of the operation of the cleaning robot 100 It may include a magnetic field detector 195 for detecting a magnetic field of the control unit 110 and the floor of the cleaning space (A).
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.The user interface 120, the motion detection unit 130, the obstacle detecting unit 140, the driving unit 160, the cleaning unit 170, and the controller 180 are the cleaning robot 100 according to the exemplary embodiment described above with reference to FIG. 10. Is the same as the configuration.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 62에 도시된 바와 같이 자기장 감지부(195)를 더 포함한다.However, the cleaning robot 100 according to another embodiment further includes a magnetic field detector 195 as shown in FIG. 62.
자기장 감지부(195)는 청소 로봇(100)의 저면 또는 전면에 설치될 수 있으며, 사용자가 사전에 설치한 마그네틱 밴드(M1, M2)가 생성하는 자기장을 검출할 수 있다.The magnetic field detector 195 may be installed at the bottom or the front of the cleaning robot 100, and may detect the magnetic fields generated by the magnetic bands M1 and M2 previously installed by the user.
사용자는 도 63에 도시된 바와 같이 사전에 청소 공간(A)의 출입구에 해당하는 위치에 마그네틱 밴드(M1, M2)를 설치할 수 있다.As shown in FIG. 63, the user may install the magnetic bands M1 and M2 at positions corresponding to the entrance and exit of the cleaning space A in advance.
예를 들어, 사용자는 거실(R3)과 제1 방(R1)을 연결하는 제1 출입구에 제1 마그네틱 밴드(M1)를 설치하고, 거실(R3)과 제2 방(R2)를 연결하는 제2 출입구에 제2 마그네틱 밴드(M2)를 설치할 수 있다.For example, a user installs a first magnetic band M1 at a first entrance connecting the living room R3 and the first room R1, and connects the living room R3 and the second room R2. 2nd magnetic band M2 can be installed in 2 entrances and exits.
여기서, 제1 마그네틱 밴드(M1)과 제2 마그네틱 밴드(M2)를 동일한 형상을 갖을 수 있으며, 동일한 세기 및 극성의 자기장을 생성할 수 있다.Here, the first magnetic band M1 and the second magnetic band M2 may have the same shape, and may generate a magnetic field having the same intensity and polarity.
자기장 감지부(195)는 이와 같이 사용자가 사전에 설치한 마그네틱 밴드(M1, M2)가 생성하는 자기장을 감지하고, 자기장의 감지에 대응하는 전기적 신호를 제어부(110)에 전달할 수 있다.The magnetic field detector 195 may detect a magnetic field generated by the magnetic bands M1 and M2 previously installed by the user, and may transmit an electrical signal corresponding to the detection of the magnetic field to the controller 110.
도 64은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 65 내지 도 67는 도 64에 도시된 청소 방법에 따라 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 과정을 도시한다.64 illustrates a method of cleaning a cleaning space by a cleaning robot according to another embodiment, and FIGS. 65 to 67 illustrate a cleaning space of a cleaning robot according to another embodiment according to the cleaning method shown in FIG. 64. Shows the process of cleaning it.
청소 로봇(100)은 청소 공간(A)을 주행하고, 주행 중에 주행 기록을 저장한다(2210). The cleaning robot 100 travels in the cleaning space A, and stores the driving record while driving (2210).
청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다. The cleaning robot 100 can travel in any direction from any position.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.The arbitrary position may be a position where a charging station (not shown) for charging the battery of the cleaning robot 100 is located, or a position where the user places the cleaning robot 100 on the floor of the cleaning space A. FIG. In this way, the position where the cleaning robot 100 starts traveling is not limited.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다. 다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.In addition, the cleaning robot 100 can travel in any direction at the start of driving. For example, the cleaning robot 100 may travel toward the front at the start of driving. However, the present invention is not limited thereto, and the cleaning robot 100 may travel after changing the driving direction before starting the driving. However, after the driving starts, it is preferable that the cleaning robot 100 does not change the driving direction until the obstacle O is found.
또한, 주행 중에 청소 로봇(100)은 장애물(O)이 감지되는 판단할 수 있다. 구체적으로, 청소 로봇(100)의 장애물 감지부(140)는 청소 로봇(100)의 전방 및 측면을 향하여 광을 발신하고, 장애물(O)로부터 반사되어 수신되는 반사광을 검출한다. 청소 로봇(100)의 제어부(110)는 반사광의 검출 여부에 따라 장애물(O)의 존부를 판단할 수 있다.In addition, the cleaning robot 100 may determine that the obstacle (O) is detected while driving. In detail, the obstacle detecting unit 140 of the cleaning robot 100 transmits light toward the front and side surfaces of the cleaning robot 100, and detects the reflected light reflected from the obstacle O and received. The controller 110 of the cleaning robot 100 may determine whether the obstacle O is present according to whether the reflected light is detected.
장애물이 감지되면, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행할 수 있다. 구체적으로, 청소 로봇(100)은 장애물(O)과의 거리가 미리 정해진 장애물 추종 거리를 유지하면서 장애물(O)의 외곽선과 평행하게 주행하는 외곽선 추종 주행을 수행할 수 있다.When the obstacle is detected, the cleaning robot 100 may travel along the outline of the obstacle O. In detail, the cleaning robot 100 may perform an outline following driving in which the distance from the obstacle O runs in parallel with the outline of the obstacle O while maintaining a predetermined obstacle following distance.
또한, 외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장할 수 있다. 구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보와 청소 로봇(100)의 주행 속도, 주행 방향 등을 나타내는 주행 정보를 저장할 수 있다.In addition, the cleaning robot 100 may store a driving record of the cleaning robot 100 during the outline following driving. In detail, the cleaning robot 100 may store position information indicating the position of the cleaning robot 100 and driving information indicating the traveling speed, the driving direction, and the like of the cleaning robot 100 at predetermined time intervals.
주행 중에 청소 로봇(100)은 자기장이 감지되는지를 판단한다(2220). 청소 로봇(100)은 자기장 감지부(195)를 이용하여 마그네틱 밴드(M1, M2)가 생성한 자기장을 감지할 수 있다.The cleaning robot 100 determines whether a magnetic field is detected while driving (2220). The cleaning robot 100 may detect the magnetic fields generated by the magnetic bands M1 and M2 using the magnetic field detector 195.
예를 들어, 외곽선 추종 주행 중에 청소 로봇(100)이 도 65에 도시된 바와 같이 출입구를 통과하면, 청소 로봇(100)은 사용자가 사전에 설치한 제1 마그네틱 밴드(M1)가 생성하는 자기장을 감지할 수 있다.For example, when the cleaning robot 100 passes through the doorway as shown in FIG. 65 during the outline following driving, the cleaning robot 100 generates a magnetic field generated by the first magnetic band M1 previously installed by the user. It can be detected.
자기장이 감지되지 않으면(2220의 아니오), 청소 로봇(100)은 주행을 계속하고, 자기장이 감지되면(2220의 예), 청소 로봇(100)은 자기장을 감지한 위치를 저장한다(2230).If the magnetic field is not detected (NO in 2220), the cleaning robot 100 continues to travel, and when the magnetic field is detected (YES in 2220), the cleaning robot 100 stores the position where the magnetic field is detected (2230).
자기장이 감지되면, 청소 로봇(100)은 출입구를 통과하고 하고 있는 것으로 판단할 수 있다. 따라서, 청소 로봇(100)은 출입구의 위치를 판단하기 위하여 자기장이 감지된 위치를 저장한다.When the magnetic field is detected, the cleaning robot 100 may determine that it is passing through the doorway. Therefore, the cleaning robot 100 stores the position where the magnetic field is detected in order to determine the position of the entrance and exit.
이후, 청소 로봇(100)은 현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하는지를 판단한다(2240).Thereafter, the cleaning robot 100 determines whether another magnetic field sensing position exists within a reference distance range from the current magnetic field sensing position (2240).
청소 로봇(100)은 사전에 저장된 자기장 감지 위치와 현재 자기장을 감지한 청소 로봇(100)의 위치 사이의 거리를 산출한다. 이후, 청소 로봇(100)은 산출된 거리가 미리 저장된 기준 거리 범위 이내인지를 판단한다.The cleaning robot 100 calculates a distance between a previously stored magnetic field detection position and a position of the cleaning robot 100 that detects the current magnetic field. Thereafter, the cleaning robot 100 determines whether the calculated distance is within a preset reference distance range.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 자기장을 감지한 청소 로봇(100)의 위치로부터 기준 거리 이내에 이전에 자기장이 감지된 위치가 존재한다면 청소 로봇(100)은 현재 자기장이 감지된 위치와 이전에 자기장 감지된 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.As described above, the doorway may have a width of about 80 cm to about 110 cm. Therefore, if a position where a magnetic field has been previously detected within a reference distance from the position of the cleaning robot 100 that detects the current magnetic field exists, the cleaning robot 100 may enter and exit between the position where the current magnetic field is detected and the position where the magnetic field has been previously detected. Can be determined to exist.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.Here, the reference distance range may be a distance range obtained by subtracting the width of the cleaning robot 100 from approximately 80cm to 110cm. For example, if the width of the cleaning robot 100 is 30cm, the reference distance range may be 50cm to 80cm.
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하지 않으면(2240의 아니오), 청소 로봇(100)은 외곽선 추종 주행을 계속한다.If no other magnetic field sensing position exists within the reference distance range from the current magnetic field sensing position (NO in 2240), the cleaning robot 100 continues the outline following driving.
예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)에 진입할 때에는 청소 로봇(100)은 제1 마그네틱 밴드(M1)에 의한 자기장을 검출할 수 있다.For example, as shown in FIG. 66, when the cleaning robot 100 enters the first room R1, the cleaning robot 100 may detect a magnetic field generated by the first magnetic band M1.
그러나, 주변에 다른 자기장 감지 위치가 존재하지 않으므로 청소 로봇(100)은 출입구를 지나 제1 방(R1)로 진입하고, 외곽선 추종 주행을 계속한다.However, since no other magnetic field sensing position exists around the cleaning robot 100, the cleaning robot 100 enters the first room R1 through the entrance and continues the outline following the driving.
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하면(2240), 청소 로봇(100)은 사전에 저장된 자기장 감지 위치로 이동한다(2250).If another magnetic field sensing position exists within the reference distance range from the current magnetic field sensing position (2240), the cleaning robot 100 moves to the previously stored magnetic field sensing position (2250).
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하면 청소 로봇(100)은 청소 로봇(100)이 해당 출입구를 2회 통과한 것으로 판단할 수 있다.If another magnetic field detection position exists within a reference distance range from the current magnetic field detection position, the cleaning robot 100 may determine that the cleaning robot 100 has passed through the corresponding entrance twice.
즉, 청소 로봇(100)은 출입구를 최초 통과하는 것은 출입구에 의하여 외부와 연결되는 영역에 진입한 것으로 판단하고, 출입구를 두번째 통과하는 것은 해당 영역으로부터 이탈하는 것으로 판단할 수 있다.That is, the cleaning robot 100 may determine that the first passage through the entrance has entered an area connected to the outside by the entrance, and the second passage through the entrance may depart from the corresponding area.
또한, 청소 로봇(100)은 해당 영역의 내부를 모두 주행하고, 주행 기록을 저장한 것으로 판단할 수 있다.In addition, the cleaning robot 100 may determine that all of the inside of the region is driven and the driving record is stored.
따라서, 청소 로봇(100)은 해당 영역에 대응하는 청소 영역을 설정하기 위하여 자기장이 감지된 위치로 이동한다.Therefore, the cleaning robot 100 moves to the position where the magnetic field is sensed to set the cleaning area corresponding to the corresponding area.
예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 이탈할 때에는 청소 로봇(100)은 제1 마그네틱 밴드(M1)에 의한 자기장을 검출할 수 있다.For example, as shown in FIG. 66, when the cleaning robot 100 leaves the first room R1, the cleaning robot 100 may detect a magnetic field generated by the first magnetic band M1.
또한, 청소 로봇(100)이 자기장을 감지한 위치로부터 기준 거리 범위 이내에 청소 로봇(100)이 제1 방(R1)에 진입할 때 저장한 자기장 감지 위치가 존재한다.In addition, there is a magnetic field detection position stored when the cleaning robot 100 enters the first room R1 within a reference distance range from the position where the cleaning robot 100 detects the magnetic field.
따라서, 청소 로봇(100)은 거실(R3)과 제1 방(R1)을 연결하는 제1 출입구를 2회 통과한 것으로 판단할 수 있으며, 청소 로봇(100)은 청소 로봇(100)이 제1 마그네틱 밴드(M1)에 의한 자기장을 최초로 감지한 위치로 이동한다.Therefore, the cleaning robot 100 may determine that the first entrance that connects the living room R3 and the first room R1 has been passed twice, and the cleaning robot 100 has a first cleaning robot 100. The magnetic field generated by the magnetic band M1 is moved to the first detected position.
자기장 감지 위치로 이동한 이후 청소 로봇(100)은 주행 기록을 기초로 청소 영역을 설정한다(2260).After moving to the magnetic field sensing position, the cleaning robot 100 sets the cleaning area based on the driving record (2260).
청소 로봇(100)이 자기장 감지 위치로 이동하면, 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다. 예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다.When the cleaning robot 100 moves to the magnetic field sensing position, a closed curve is generated by the driving path of the cleaning robot 100. For example, as illustrated in FIG. 66, a closed curve is generated by the driving path of the cleaning robot 100.
청소 로봇(100)은 이와 같은 폐곡선을 기초로 제1 청소 영역(A1)을 설정할 수 있다.The cleaning robot 100 may set the first cleaning area A1 based on the closed curve.
구체적으로, 청소 로봇(100)은 폐곡선을 직선 모델링하고, 직선 모델링된 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환함으로써 제1 청소 영역(A1)을 설정할 수 있다.In detail, the cleaning robot 100 may set the first cleaning area A1 by linearly modeling the closed curve, simplifying the straight modeled closed curve, and rotating the simplified closed curve.
청소 영역을 설정한 이후, 청소 로봇(100)은 설정된 청소 영역을 청소하고, 청소 영역을 청소 완료 영역으로 저장한다(2270).After setting the cleaning area, the cleaning robot 100 cleans the set cleaning area and stores the cleaning area as the cleaning completion area (2270).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다. 예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역을 청소하거나, 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역을 청소할 수 있다.The cleaning robot may clean the cleaning area according to the cleaning area cleaning method 1300 illustrated in FIG. 33. For example, the cleaning robot 100 may clean the cleaning area while performing a zigzag driving as shown in FIG. 34, or clean the cleaning area while driving in any direction as shown in FIG. 35.
이후, 청소가 완료되면 청소 로봇(100)은 청소 영역을 청소 완료 영역으로 저장할 수 있다.Thereafter, when the cleaning is completed, the cleaning robot 100 may store the cleaning area as the cleaning completion area.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2280). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.Thereafter, the cleaning robot 100 determines whether all cleaning areas have been cleaned (2280). In other words, it is determined whether the cleaning robot 100 has cleaned all the areas included in the cleaning space A. FIG.
구체적으로, 청소 로봇(100)이 외곽선 추종 주행을 개시한 위치에 도달하면, 청소 로봇(100)은 청소 공간(A) 가운데 청소되지 않은 미청소 영역을 판단한다. 이후, 청소 로봇(100)은 미청소 영역에 대응하는 청소 영역을 설정하고, 설정된 청소 영역 내부를 청소한다.Specifically, when the cleaning robot 100 reaches the position at which the outline tracking operation is started, the cleaning robot 100 determines an uncleaned area in the cleaning space A that is not cleaned. Thereafter, the cleaning robot 100 sets a cleaning area corresponding to the uncleaned area and cleans the inside of the set cleaning area.
미청소 영역을 모두 청소하면 청소 로봇(100)은 모든 청소 영역이 청소된 것으로 판단할 수 있다.If all of the uncleaned areas are cleaned, the cleaning robot 100 may determine that all the cleaned areas are cleaned.
모든 청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(2280의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다.If it is determined that the cleaning for all the cleaning areas is not completed (NO in 2280), the cleaning robot 100 continues the cleaning for the cleaning area.
또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(2280의 예), 청소 로봇(100)은 충전 스테이션으로 복귀하고, 동작을 종료한다.In addition, if it is determined that cleaning of the cleaning area is completed (YES in 2280), the cleaning robot 100 returns to the charging station and ends the operation.
이상에서 설명한 바와 같이 청소 로봇(100)은 사용자가 사전에 출입구에 설치한 마그네틱 밴드와 마그네틱 밴드의 자기장을 감지하는 자기장 감지부를 이용하여 출입구를 검출하고, 검출된 출입구와 주행 기록을 기초로 청소 영역을 설정할 수 있다. 또한, 청소 로봇(100)은 설정된 청소 영역을 우선 청소할 수 있다.As described above, the cleaning robot 100 detects the entrance and exit using a magnetic band detecting unit that detects the magnetic field of the magnetic band and the magnetic band previously installed at the entrance, and based on the detected entrance and driving record, the cleaning area. Can be set. In addition, the cleaning robot 100 may first clean the set cleaning area.
이상에서는 개시된 발명의 일 실시예에 대하여 도시하고 설명하였지만, 개시된 발명은 상술한 특정의 실시예에 한정되지 아니하며 청구범위에서 청구하는 요지를 벗어남 없이 개시된 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의하여 다양한 변형실시가 가능함을 물론이고 이러한 변형실시들은 개시된 발명으로부터 개별적으로 이해될 수 없다.Although one embodiment of the disclosed invention has been illustrated and described above, the disclosed invention is not limited to the specific embodiments described above, and those skilled in the art without departing from the scope of the claims. Of course, various modifications can be made by the above, and these modifications can not be individually understood from the disclosed invention.

Claims (41)

  1. 본체;main body;
    상기 본체를 이동시키는 주행부;A driving unit which moves the main body;
    청소 공간을 청소하는 청소부;A janitor for cleaning the cleaning space;
    상기 본체의 주행 중에 상기 청소 공간에 포함된 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하고, 상기 청소 영역이 설정되면 상기 청소 영역을 청소하는 제어부를 포함하는 청소 로봇.And a controller configured to set at least one of the plurality of areas included in the cleaning space as a cleaning area while the main body is running, and to clean the cleaning area when the cleaning area is set.
  2. 제1항에 있어서,The method of claim 1,
    상기 제어부는 상기 본체의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고, 판단된 출입구의 위치와 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정하는 청소 로봇.The control unit determines the position of the entrance and exit of the cleaning area during the running of the main body, and sets the cleaning area based on the determined position of the entrance and the running record of the main body.
  3. 제2항에 있어서,The method of claim 2,
    상기 본체의 이동을 방해하는 장애물을 검출하는 장애물 감지부를 더 포함하고,Further comprising an obstacle detecting unit for detecting an obstacle that hinders the movement of the main body,
    상기 제어부는 상기 본체가 상기 장애물의 외곽선을 따라 주행하도록 상기 주행부를 제어하는 청소 로봇.The control unit is a cleaning robot for controlling the running unit so that the main body travels along the outline of the obstacle.
  4. 제3항에 있어서,The method of claim 3,
    상기 본체의 주행 기록은 상기 본체가 주행한 위치 정보와 상기 장애물의 외곽선 정보를 포함하는 청소 로봇.The driving record of the main body includes the position information the main body traveled and the outline information of the obstacle.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 장애물의 외곽선을 따라 주행 중에 상기 제어부는 상기 본체의 현재 위치와 상기 주행 기록을 기초로 상기 출입구의 위치를 판단하는 청소 로봇.And a controller configured to determine the position of the doorway based on the current position of the main body and the driving record while driving along the outline of the obstacle.
  6. 제5항에 있어서,The method of claim 5,
    상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단하는 청소 로봇.If the current position of the main body is a first convex edge of the obstacle, and there is a driving record that travels along the second convex corner of the obstacle within a predetermined distance from the current position, the controller may control the first convex edge and the The cleaning robot which judges the position of an entrance and exit between 2nd convex edges.
  7. 제5항에 있어서,The method of claim 5,
    상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단하는 청소 로봇.If the current position of the main body is a first convex edge of the obstacle, and there is a driving record that travels along the first wall surface of the obstacle within a predetermined distance from the current position, the controller may control the first convex edge and the first position. Cleaning robot which judges between 1 wall surface as position of entrance.
  8. 제5항에 있어서,The method of claim 5,
    상기 본체의 현재 위치가 상기 장애물의 제1 벽면이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단하는 청소 로봇.If the current position of the main body is the first wall surface of the obstacle, and there is a driving record that travels along the first convex edge of the obstacle within a predetermined distance from the current position, the controller may control the first wall surface and the first wall surface. The cleaning robot which judges the position of a doorway between the convex edges.
  9. 제2항에 있어서,The method of claim 2,
    상기 제어부는 상기 출입구의 위치와 상기 본체가 주행한 위치 정보를 연결하여 폐곡선을 생성하는 청소 로봇.The control unit generates a closed curve by connecting the position of the doorway and the position information traveled by the main body.
  10. 제9항에 있어서,The method of claim 9,
    상기 제어부는 상기 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환하는 청소 로봇.The controller simplifies the closed curve and rotates the simplified closed curve.
  11. 제2항에 있어서,The method of claim 2,
    상기 본체의 전방 및 상방의 영상을 획득하는 영상 획득부를 더 포함하고,The apparatus may further include an image acquisition unit for acquiring images of the front and the upper side of the main body.
    상기 제어부는 상기 영상 획득부가 획득한 상기 본체의 전방 영상을 기초로 상기 출입구의 위치를 판단하는 청소 로봇.The control unit is a cleaning robot for determining the position of the doorway based on the front image of the main body obtained by the image acquisition unit.
  12. 제11항에 있어서,The method of claim 11,
    상기 제어부는 상기 전방 영상으로부터 특징점을 추출하고, 추출된 특징점과 상기 출입구의 형상을 비교함으로써 상기 출입구의 위치를 판단하는 청소 로봇.The controller extracts a feature point from the front image, and determines the position of the doorway by comparing the extracted feature point with the shape of the doorway.
  13. 제11항에 있어서,The method of claim 11,
    상기 출입구의 위치가 판단되면, 상기 제어부는 상기 본체의 상방 영상을 기초로 상기 청소 영역을 설정하는 청소 로봇.And when the position of the doorway is determined, the controller sets the cleaning area based on an upper image of the main body.
  14. 제13항에 있어서,The method of claim 13,
    상기 제어부는 상기 상방 영상으로부터 특징점을 추출하고, 추출된 특징점을 기초로 상기 청소 영역을 설정하는 청소 로봇.The control unit extracts a feature point from the upper image and sets the cleaning area based on the extracted feature point.
  15. 제2항에 있어서,The method of claim 2,
    상기 본체의 전방을 향하여 전파를 발신하고, 검출 대상으로부터 반사되는 반사파를 수신하는 레이더 센서를 더 포함하고,Further comprising a radar sensor for transmitting a radio wave toward the front of the main body, receiving a reflected wave reflected from the detection target,
    상기 제어부는 수신된 반사파를 기초로 상기 검출 대상의 위치 및 방향을 판단하는 청소 로봇.The control unit is a cleaning robot for determining the position and direction of the detection object based on the received reflected wave.
  16. 제15항에 있어서,The method of claim 15,
    상기 제어부는 상기 수신된 반사파를 기초로 상기 출입구의 위치를 판단하는 청소 로봇.The control unit is a cleaning robot for determining the position of the doorway based on the received reflected wave.
  17. 제16항에 있어서,The method of claim 16,
    상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정하는 청소 로봇.And when the position of the doorway is determined, the controller sets the cleaning area based on the position of the doorway and the driving record of the main body.
  18. 제2항에 있어서,The method of claim 2,
    상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장을 감지하는 자기장 감지부를 더 포함하는 청소 로봇.Cleaning robot further comprises a magnetic field detector for detecting a magnetic field generated by the magnetic band installed in the doorway.
  19. 제18항에 있어서,The method of claim 18,
    상기 제어부는 상기 자기장 감지부의 감지 결과를 기초로 상기 출입구의 위치를 판단하는 청소 로봇.The control unit is a cleaning robot for determining the position of the entrance based on the detection result of the magnetic field detection unit.
  20. 제19항에 있어서,The method of claim 19,
    상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정하는 청소 로봇.And when the position of the doorway is determined, the controller sets the cleaning area based on the position of the doorway and the driving record of the main body.
  21. 청소 공간을 청소하는 청소 로봇의 제어 방법에 있어서,In the control method of the cleaning robot for cleaning the cleaning space,
    상기 청소 로봇을 주행시키고;Drive the cleaning robot;
    상기 청소 로봇의 주행 중에 청소 영역을 설정하고;Setting a cleaning area while the cleaning robot is running;
    상기 청소 영역이 설정되면, 설정된 청소 영역을 우선 주행시키고;If the cleaning area is set, first driving the set cleaning area;
    상기 청소 영역이 상기 청소 영역을 주행하는 동안, 상기 청소 영역을 청소하는 것을 포함하는 청소 로봇의 제어 방법.And cleaning the cleaning area while the cleaning area travels through the cleaning area.
  22. 제21항에 있어서, 상기 청소 영역을 설정하는 것은, The method of claim 21, wherein setting the cleaning area,
    상기 청소 로봇의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고;Determine the position of the entrance and exit of the cleaning area while the cleaning robot is running;
    판단된 출입구의 위치와 상기 청소 로봇의 주행 기록을 기초로 상기 청소 영역을 설정하는 것을 포함하는 청소 로봇의 제어 방법.And setting the cleaning area based on the determined position of the entrance and exit and the driving record of the cleaning robot.
  23. 제22항에 있어서, 상기 청소 로봇을 주행시키는 것은,The method of claim 22, wherein the running of the cleaning robot,
    상기 청소 로봇의 이동을 방해하는 장애물의 외곽선을 따라 주행시키는 것을 포함하는 청소 로봇의 제어 방법.The control method of the cleaning robot comprising driving along the outline of the obstacle that obstructs the movement of the cleaning robot.
  24. 제23항에 있어서,The method of claim 23,
    상기 주행 기록은 상기 청소 로봇이 주행한 위치 정보 및 상기 장애물의 외곽선 정보를 포함하는 청소 로봇의 제어 방법.The driving record is a control method of a cleaning robot including position information on which the cleaning robot travels and outline information of the obstacle.
  25. 제24항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 24, wherein determining the position of the doorway,
    상기 청소 로봇의 현재 위치 및 상기 주행 기록을 기초로 상기 출입구의 위치를 판단하는 것을 포함하는 청소 로봇의 제어 방법.And determining the position of the doorway based on the current position of the cleaning robot and the driving record.
  26. 제24항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 24, wherein determining the position of the doorway,
    상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함하는 청소 로봇의 제어 방법.If the current position of the cleaning robot is a first convex edge of the obstacle and there is a driving record that travels along the second convex edge of the obstacle within a predetermined distance from the current position, the first convex edge and the second The control method of the cleaning robot comprising determining the position of the doorway between the convex edges.
  27. 제24항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 24, wherein determining the position of the doorway,
    상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단하는 것을 포함하는 청소 로봇의 제어 방법.If the current position of the cleaning robot is a first convex edge of the obstacle and there is a driving record traveling along the first wall surface of the obstacle within a predetermined distance from the current position, the first convex edge and the first wall surface. The control method of the cleaning robot comprising determining the position of the doorway between.
  28. 제24항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 24, wherein determining the position of the doorway,
    상기 청소 로봇의 현재 위치가 상기 장애물의 제1 벽면이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함하는 청소 로봇의 제어 방법.If the current position of the cleaning robot is the first wall surface of the obstacle and there is a driving record traveling along the first convex edge of the obstacle within a predetermined distance from the current position, the first wall surface and the first convex edge. The control method of the cleaning robot comprising determining the position of the doorway between.
  29. 제22항에 있어서, 상기 청소 영역을 설정하는 것은,The method of claim 22, wherein setting the cleaning area,
    상기 출입구의 위치 및 상기 주행 기록을 기초로 상기 청소 영역을 설정하는 청소 로봇의 제어 방법.And a cleaning robot setting the cleaning area based on the position of the doorway and the driving record.
  30. 제29항에 있어서, 상기 청소 영역을 설정하는 것은,The method of claim 29, wherein setting the cleaning area,
    상기 출입구의 위치와 상기 청소 로봇이 주행한 위치 정보를 연결하여 폐곡선을 생성하고;Generating a closed curve by connecting the position of the entrance and the position information of the cleaning robot;
    상기 폐곡선을 단순화시키고;Simplifying the closed curve;
    단순화된 폐곡선을 회전 변환하는 것을 포함하는 청소 로봇의 제어 방법.A method of controlling a cleaning robot comprising rotationally transforming a simplified closed curve.
  31. 제22항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 22, wherein determining the position of the doorway,
    상기 청소 로봇의 전방 영상을 기초로 상기 출입구의 위치를 판단하는 것을 포함하는 청소 로봇의 제어 방법.And determining the position of the doorway based on the front image of the cleaning robot.
  32. 제22항에 있어서, 상기 청소 영역을 설정하는 것은,The method of claim 22, wherein setting the cleaning area,
    상기 청소 로봇의 상방 영상을 기초로 상기 청소 영역을 설정하는 것을 포함하는 청소 로봇의 제어 방법.And setting the cleaning area based on an upper image of the cleaning robot.
  33. 제22항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 22, wherein determining the position of the doorway,
    상기 청소 로봇의 주행을 방해하는 장애물로부터 반사되는 반사파를 기초로 상기 출입구의 위치를 판단하는 것을 포함하는 청소 로봇의 제어 방법.And determining the position of the doorway based on the reflected wave reflected from an obstacle that prevents the cleaning robot from running.
  34. 제22항에 있어서, 상기 출입구의 위치를 판단하는 것은,The method of claim 22, wherein determining the position of the doorway,
    상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장의 감지 여부에 따라 상기 출입구의 위치를 판단하는 것을 포함하는 청소 로봇의 제어 방법.And determining the position of the doorway according to whether the magnetic field generated by the magnetic band installed at the doorway is detected.
  35. 본체;main body;
    상기 본체를 이동시키는 주행부;A driving unit which moves the main body;
    청소를 수행하는 청소부;A janitor performing cleaning;
    상기 본체의 주행 중에 출입구가 검출되면, 상기 출입구에 의하여 구획되는 영역을 청소 영역으로 설정하여 청소하는 제어부를 포함하는 청소 로봇.And a control unit for cleaning by setting an area partitioned by the door as a cleaning area when an entrance is detected while the main body is running.
  36. 제35항에 있어서,36. The method of claim 35 wherein
    상기 본체의 주행 중에 상기 본체의 위치 정보 및 주행 각도를 포함하는 주행 기록을 획득하는 움직임 검출부; 및A motion detector for obtaining a driving record including position information and a driving angle of the main body while the main body is traveling; And
    상기 주행 기록을 저장하는 저장부를 더 포함하는 청소 로봇.And a storage unit for storing the driving record.
  37. 제36항에 있어서,The method of claim 36,
    상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 기준 위치로 이동하도록 상기 주행부를 제어하는 청소 로봇.And the control unit controls the driving unit to move the main body to a predetermined reference position when the main body repeatedly travels the same path.
  38. 제37항에 있어서,The method of claim 37,
    상기 제어부는 상기 주행 기록의 위치 정보 및 주행 각도를 기초로 상기 본체가 동일한 경로를 반복 주행하는지 판단하는 청소 로봇.And the control unit determines whether the main body repeatedly travels the same path based on the position information and the driving angle of the driving record.
  39. 제37항에 있어서,The method of claim 37,
    상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 상기 출입구로 이동하도록 상기 주행부를 제어하는 청소 로봇.And the controller controls the driving unit to move the main body to the doorway when the main body repeatedly travels the same path.
  40. 제37항에 있어서,The method of claim 37,
    상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 방향으로 주행하도록 상기 주행부를 제어하는 청소 로봇.And the controller controls the driving unit such that the main body travels in a predetermined direction when the main body repeatedly travels the same path.
  41. 본체;main body;
    상기 본체를 이동시키는 주행부;A driving unit which moves the main body;
    복수의 영역을 포함하는 청소 공간을 청소하는 청소부;A cleaning unit cleaning a cleaning space including a plurality of areas;
    상기 본체의 주행 중에 상기 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하여 청소하고, 상기 적어도 하나의 영역의 청소가 완료되면 나머지 영역 가운데 적어도 하나의 영역을 청소 영역으로 재설정하여 청소하는 제어부를 포함하는 청소 로봇.A control unit for cleaning by setting at least one area of the plurality of areas as a cleaning area while driving the main body, and resetting at least one area of the remaining areas to a cleaning area when cleaning of the at least one area is completed; Cleaning robot included.
PCT/KR2015/008353 2014-08-20 2015-08-10 Cleaning robot and control method therefor WO2016028021A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15833829.3A EP3184013A4 (en) 2014-08-20 2015-08-10 Cleaning robot and control method therefor
AU2015304254A AU2015304254B2 (en) 2014-08-20 2015-08-10 Cleaning robot and controlling method thereof
US15/505,574 US10394249B2 (en) 2014-08-20 2015-08-10 Cleaning robot and control method thereof
CN201580057197.5A CN107072457B (en) 2014-08-20 2015-08-10 Cleaning robot and control method thereof
AU2018250455A AU2018250455B2 (en) 2014-08-20 2018-10-18 Cleaning robot and controlling method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0108446 2014-08-20
KR20140108446 2014-08-20
KR10-2015-0111429 2015-08-07
KR1020150111429A KR102527645B1 (en) 2014-08-20 2015-08-07 Cleaning robot and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2016028021A1 true WO2016028021A1 (en) 2016-02-25

Family

ID=55350923

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/008353 WO2016028021A1 (en) 2014-08-20 2015-08-10 Cleaning robot and control method therefor

Country Status (1)

Country Link
WO (1) WO2016028021A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031825A1 (en) * 2017-08-08 2019-02-14 삼성전자(주) Electronic device and operation method therefor
WO2019104666A1 (en) * 2017-11-30 2019-06-06 深圳市沃特沃德股份有限公司 Sweeping robot and method for performing area division thereof
US10860029B2 (en) 2016-02-15 2020-12-08 RobArt GmbH Method for controlling an autonomous mobile robot
US11175670B2 (en) 2015-11-17 2021-11-16 RobArt GmbH Robot-assisted processing of a surface using a robot
US11188086B2 (en) 2015-09-04 2021-11-30 RobArtGmbH Identification and localization of a base station of an autonomous mobile robot
US11550054B2 (en) 2015-06-18 2023-01-10 RobArtGmbH Optical triangulation sensor for distance measurement
US11709489B2 (en) 2017-03-02 2023-07-25 RobArt GmbH Method for controlling an autonomous, mobile robot
US11768494B2 (en) 2015-11-11 2023-09-26 RobArt GmbH Subdivision of maps for robot navigation
US11789447B2 (en) 2015-12-11 2023-10-17 RobArt GmbH Remote control of an autonomous mobile robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090062210A (en) * 2007-12-12 2009-06-17 엘지전자 주식회사 Topological map apparatus of robot cleaner and controlling method of robot cleaner using topological map
KR20110010380A (en) * 2009-07-24 2011-02-01 주식회사 모뉴엘 Cleaning robot unit
KR20110092158A (en) * 2010-02-08 2011-08-17 엘지전자 주식회사 Robot cleaner and controlling method thereof
KR20120021064A (en) * 2010-08-31 2012-03-08 엘지전자 주식회사 Mobile robot and controlling method of the same
KR20130002218A (en) * 2011-06-28 2013-01-07 삼성전자주식회사 Robot cleaner and control method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090062210A (en) * 2007-12-12 2009-06-17 엘지전자 주식회사 Topological map apparatus of robot cleaner and controlling method of robot cleaner using topological map
KR20110010380A (en) * 2009-07-24 2011-02-01 주식회사 모뉴엘 Cleaning robot unit
KR20110092158A (en) * 2010-02-08 2011-08-17 엘지전자 주식회사 Robot cleaner and controlling method thereof
KR20120021064A (en) * 2010-08-31 2012-03-08 엘지전자 주식회사 Mobile robot and controlling method of the same
KR20130002218A (en) * 2011-06-28 2013-01-07 삼성전자주식회사 Robot cleaner and control method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3184013A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550054B2 (en) 2015-06-18 2023-01-10 RobArtGmbH Optical triangulation sensor for distance measurement
US11188086B2 (en) 2015-09-04 2021-11-30 RobArtGmbH Identification and localization of a base station of an autonomous mobile robot
US11768494B2 (en) 2015-11-11 2023-09-26 RobArt GmbH Subdivision of maps for robot navigation
US11175670B2 (en) 2015-11-17 2021-11-16 RobArt GmbH Robot-assisted processing of a surface using a robot
US11789447B2 (en) 2015-12-11 2023-10-17 RobArt GmbH Remote control of an autonomous mobile robot
US10860029B2 (en) 2016-02-15 2020-12-08 RobArt GmbH Method for controlling an autonomous mobile robot
US11709497B2 (en) 2016-02-15 2023-07-25 RobArt GmbH Method for controlling an autonomous mobile robot
US11709489B2 (en) 2017-03-02 2023-07-25 RobArt GmbH Method for controlling an autonomous, mobile robot
WO2019031825A1 (en) * 2017-08-08 2019-02-14 삼성전자(주) Electronic device and operation method therefor
US11592825B2 (en) 2017-08-08 2023-02-28 Samsung Electronics Co., Ltd. Electronic device and operation method therefor
WO2019104666A1 (en) * 2017-11-30 2019-06-06 深圳市沃特沃德股份有限公司 Sweeping robot and method for performing area division thereof

Similar Documents

Publication Publication Date Title
WO2016028021A1 (en) Cleaning robot and control method therefor
WO2021010757A1 (en) Mobile robot and control method thereof
WO2017078304A1 (en) Robot cleaner and method for controlling the same
WO2015130134A1 (en) Cleaning robot and remote controller included in same
AU2019335976B2 (en) A robot cleaner and a controlling method for the same
WO2016003077A1 (en) Cleaning robot and controlling method thereof
AU2019430311B2 (en) Plurality of autonomous mobile robots and controlling method for the same
WO2018038553A1 (en) Mobile robot and control method therefor
AU2019262482B2 (en) Plurality of autonomous mobile robots and controlling method for the same
WO2018155999A2 (en) Moving robot and control method thereof
WO2020060155A1 (en) Robot cleaner, charging device and charging system
WO2020050489A1 (en) A robot cleaner and a controlling method for the same
WO2019212276A1 (en) Plurality of autonomous mobile robots and controlling method for the same
AU2019262477B2 (en) Plurality of autonomous mobile robots and controlling method for the same
EP3787458A1 (en) A plurality of robot cleaner and a controlling method for the same
WO2019212281A1 (en) Plurality of autonomous mobile robots and controlling method for the same
WO2019212277A1 (en) Plurality of autonomous mobile robots and controlling method for the same
WO2018212608A1 (en) Movable marking system, method for controlling movable marking device, and computer-readable recording medium
WO2021172932A1 (en) Moving robots and method for controlling the same
WO2019054676A1 (en) Mobile robot system and method for controlling same
WO2019004773A1 (en) Mobile terminal and robot system including same
WO2021006671A1 (en) Mobile robot using artificial intelligence and control method thereof
WO2021157833A1 (en) Robot vacuum cleaner and control method therefor
WO2021006553A1 (en) Moving robot and control method thereof
WO2021157799A1 (en) Robot cleaner and control method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15833829

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015833829

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015833829

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15505574

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015304254

Country of ref document: AU

Date of ref document: 20150810

Kind code of ref document: A