WO2021246732A1 - 청소 로봇 및 그 제어 방법 - Google Patents
청소 로봇 및 그 제어 방법 Download PDFInfo
- Publication number
- WO2021246732A1 WO2021246732A1 PCT/KR2021/006724 KR2021006724W WO2021246732A1 WO 2021246732 A1 WO2021246732 A1 WO 2021246732A1 KR 2021006724 W KR2021006724 W KR 2021006724W WO 2021246732 A1 WO2021246732 A1 WO 2021246732A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fov
- cleaning robot
- main body
- boundary
- size
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Definitions
- the disclosed invention relates to a cleaning robot that detects an obstacle and a method for controlling the same.
- a cleaning robot is a device that automatically cleans the driving area by sucking foreign substances such as dust accumulated on the floor while driving automatically without user's manipulation.
- a sensor for detecting an object may be provided in the cleaning robot, and the controller of the cleaning robot may determine whether to avoid or climb an object based on an output of the sensor.
- Each sensor has its own Field of View (FOV), and objects located within the FOV can be detected, and objects located outside the FOV cannot be detected.
- FOV Field of View
- the obstacle is located at the FOV boundary or spans the FOV boundary, the presence of an object may be detected, but it is difficult to accurately determine whether the object is an object to be avoided or an object to be climbed.
- the disclosed invention performs a scan motion to acquire additional data on an object located at the boundary of the FOV of the sensor when a specific condition is satisfied, so that even if the object is located at the boundary of the FOV of the sensor, it Provided are a cleaning robot capable of lowering the probability of erroneous judgment and improving the reliability of avoiding obstacles or climbing up and running, and a control method thereof.
- a cleaning robot includes a main body; a sensing unit for acquiring data on the size of an object located in the vicinity of the main body; a driving unit for moving the body; and calculating the height of the object based on data regarding the size of the object, and when the calculated height of the object is included in a predetermined range and the object is located at the boundary of the FOV (Field of View) of the sensing unit, the and a control unit for controlling the driving unit to perform a scan motion of rotating or advancing the main body toward an object.
- FOV Field of View
- the control unit may calculate a size defined by the width and depth of the object based on data regarding the size of the object, and determine to perform the scan motion when the calculated size is less than a reference size.
- the control unit when the calculated height of the object is included in a predetermined reference range and the object is located at the boundary of the FOV (Field of View) of the sensing unit, based on the position of the object, the rotation direction of the main body, driving At least one of a direction, a rotation angle, and a travel distance may be determined.
- FOV Field of View
- the calculated height of the object is included in a predetermined range and the object is located at a boundary of a field of view (FOV) of the detection unit, based on at least one of the FOV of the detection unit and the sensing speed of the detection unit to determine the rotational speed or the forward speed of the main body.
- FOV field of view
- the control unit controls the driving unit to rotate the main body to the left when the object is located at the left boundary of the FOV, and rotates the main body to the right when the object is located at the right boundary of the FOV
- the driving unit may be controlled.
- the controller may control the driving unit to advance the main body when the object is located at the front boundary of the FOV.
- the controller may control the driving unit to rotate the main body by a predetermined rotation angle or advance the main body by a predetermined distance when the scan motion is performed.
- the controller may control the driving unit to rotate or advance the main body until data on an end of an object positioned at the boundary of the FOV is obtained when the scan motion is performed.
- the controller may determine the size of the object based on data regarding the size of the object while the scan motion is being performed.
- the controller may control the driving unit to stop the scan motion when the size of the object is greater than or equal to a predetermined reference size.
- a cleaning robot includes a main body; an image sensor for acquiring an image of the surroundings; a driving unit for moving the body; and if the object appearing in the surrounding image is located at the boundary of the field of view (FOV) of the photographing unit, and the result of object recognition for the object located at the boundary of the FOV satisfies a predetermined condition, the body is directed toward the object and a control unit for controlling the driving unit to perform a scan motion of rotating or advancing.
- FOV field of view
- the controller may output the type of at least one object and a matching probability for the type of the object as a result of the object recognition.
- the control unit may be configured to determine if the type of object having a matching probability greater than or equal to the first reference probability is not included in the result of the object recognition and the type of object having a matching probability greater than or equal to the second reference probability and less than the first reference probability corresponds to a predetermined obstacle. It can be judged that the condition is satisfied.
- the controller selects at least one of a rotation direction, a rotation angle, a driving direction, and a driving distance of the main body based on the position of the object. can decide
- the controller may control the driving unit to perform the scan motion until the object is located in a specific area within the FOV.
- the controller performs object recognition on an object located at the boundary of the FOV while performing the scan motion, and controls the driving unit to perform the scan motion until the object recognition result includes the first reference probability. can do.
- the controller may generate a cleaning map for an area in which the main body travels based on a result of object recognition for at least one object displayed in the surrounding image, and store the generated cleaning map.
- the controller may perform object recognition on the object during or after the scan motion is performed and store a result of the object recognition in the cleaning map.
- the control unit is, when the object displayed in the surrounding image is located at the boundary of a field of view (FOV) of the image sensor and a result of object recognition for an object located at the boundary of the FOV satisfies a predetermined condition, on the cleaning map If information about an object is stored in a position corresponding to , the scan motion may be omitted.
- FOV field of view
- the controller may omit the scan motion when it is determined that the scan motion is required again within a predetermined time or within a predetermined position range after the execution of the scan motion.
- the control unit performs object recognition on the surrounding image acquired during or after the scan motion is performed, and when the object recognized in the surrounding image corresponds to a predetermined climbing target obstacle, climb the object It is possible to control the driving unit to do so.
- the controller performs object recognition on the surrounding image acquired during or after the scan motion is performed, and avoids the object when the object recognized in the surrounding image corresponds to a predetermined avoidable obstacle It is possible to control the driving unit to do so.
- a control method of a cleaning robot including a main body, a driving unit for moving the main body, and a sensing unit for obtaining data on the size of an object located in the vicinity of the main body, the data relating to the size of the object calculate the height of the object based on; determining whether the object is located at a boundary of the FOV of the sensing unit; When the calculated height of the object is included in a predetermined range and the object is located at the boundary of the FOV (Field of View) of the sensing unit, performing a scan motion of rotating or advancing the body toward the object; includes; do.
- To perform the scan motion calculate a size defined by the width and depth of the object based on data about the size of the object, and perform the scan motion when the calculated size is less than a reference size Determining; may include.
- the body of the body is located based on the location of the object. Determining at least one of a rotation direction, a traveling direction, a rotation angle, and a traveling distance; may include.
- the scan motion when the calculated height of the object is included in a predetermined range and the object is located at a boundary of a field of view (FOV) of the detection unit, among the FOV of the detection unit and the sensing speed of the detection unit It may include determining the rotational speed or the forward speed of the main body based on at least one.
- FOV field of view
- the driving unit In performing the scan motion, when the object is located on the left boundary of the FOV, the driving unit is controlled to rotate the main body to the left, and when the object is located on the right boundary of the FOV, the main body is moved to the right It may include; to control the driving unit to rotate.
- the performing of the scan motion may include, when the object is located at the front boundary of the FOV, controlling the driving unit to advance the main body.
- the performing of the scan motion may include rotating the main body by a predetermined rotation angle or controlling the driving unit to advance the main body by a predetermined distance when the scan motion is performed.
- the performing of the scan motion includes controlling the driving unit to rotate or advance the main body until data on an end of an object located at the boundary of the FOV is obtained when the scan motion is performed. can do.
- the method may further include determining the size of the object based on data regarding the size of the object while the scan motion is being performed.
- the method may further include; when the size of the object is greater than or equal to a predetermined reference size, controlling the driving unit to stop the scan motion.
- a scan motion is performed to acquire additional data for an object located at the boundary of the FOV of the sensor, so that the object is controlled by the sensor. Even if it is located at the boundary of the FOV, it is possible to reduce the probability of misjudging the size or type of an object and improve the reliability of avoiding obstacles or climbing.
- FIG. 1 is a control block diagram of a cleaning robot according to an exemplary embodiment.
- FIG 2 is an external view of a cleaning robot according to an exemplary embodiment.
- FIG. 3 is a detailed diagram of a control block diagram of a cleaning robot according to an exemplary embodiment.
- FIG. 4 is a view showing the inside of a cleaning robot according to an exemplary embodiment.
- FIG 5 is a view illustrating a bottom surface of a cleaning robot according to an exemplary embodiment.
- 6 and 7 are diagrams illustrating conditions for determining whether the cleaning robot avoids an object or climbs over an object according to an exemplary embodiment.
- FIGS. 8 and 9 are diagrams illustrating an example in which the cleaning robot according to an embodiment requires a scan motion.
- FIGS. 10 and 11 are diagrams illustrating examples of a scan motion performed by a cleaning robot according to an exemplary embodiment.
- FIG. 12 is a table illustrating a result of object recognition output by a cleaning robot according to an exemplary embodiment.
- FIG. 13 is a view for explaining a scan motion performed when the cleaning robot performs object recognition according to an exemplary embodiment.
- FIG. 14 is a flowchart illustrating a method of determining whether to perform a scan motion based on the size of an object in a method of controlling a cleaning robot according to an embodiment.
- 15 is a flowchart illustrating an operation after performing a scan motion in a method of controlling a cleaning robot according to an exemplary embodiment.
- 16 is a flowchart illustrating a method of determining whether to perform a scan motion based on object recognition in a method of controlling a cleaning robot according to an embodiment.
- 17 is a flowchart illustrating an operation after a scan motion in a method of controlling a cleaning robot according to an exemplary embodiment.
- ordinal numbers such as the first and second are only used to distinguish a plurality of components or a plurality of data from each other, and the plurality of components or a plurality of data are expressed in terms of their position, priority, data
- the processing order or the size of data values is not limited.
- the identification code is used for convenience of description, and the identification code does not describe the order of each step, and each step may be performed differently from the specified order unless the specific order is clearly stated in the context. have.
- FIG. 1 is a control block diagram of a cleaning robot according to an exemplary embodiment.
- a cleaning robot 100 includes a sensing unit 140 that acquires data about the size of an object, a driving unit 120 that moves a main body 101 (refer to FIG. 2 ), and an object.
- the height of the object is calculated based on the data related to the size of the and a control unit 110 for controlling the traveling unit 120 to perform a scan motion of rotating or advancing the 101 .
- the cleaning robot 100 may perform cleaning while driving in a cleaning area, and when an obstacle is detected by the sensing unit 140 , it may avoid or climb over the detected obstacle.
- the obstacle detected by the sensing unit 140 may mean any object that protrudes or sinks from the floor, wall, or ceiling of the cleaning area to obstruct the running of the cleaning robot 100 . That is, an object located on the traveling path of the cleaning robot 100 , that is, in the cleaning area, may become an obstacle to the cleaning robot 100 .
- not only furniture such as tables and sofas located in the cleaning area but also walls dividing the space may correspond to obstacles, and objects from which the cleaning robot 100 can ascend and descend, such as carpets, thresholds, or round bars, are also included. could be an obstacle.
- objects that are not fixedly located in the cleaning area for example, objects such as glass cups, bowls, shoulder blades, and bags, may also correspond to obstacles to be avoided or climbed by the cleaning robot 100 .
- Whether the cleaning robot 100 avoids or climbs over the detected obstacle may be determined based on the size of the detected obstacle, and the size of the obstacle may be determined by at least one of a height, a width, and a depth.
- the detector 140 may acquire data on the size of an object by including at least one of various types of sensors such as an infrared sensor, a visible light sensor, an ultrasonic sensor, an obstacle sensor such as a laser sensor, and an image sensor.
- various types of sensors such as an infrared sensor, a visible light sensor, an ultrasonic sensor, an obstacle sensor such as a laser sensor, and an image sensor.
- 2D data or 3D data of an object may be acquired according to the type of sensor or the number and arrangement of sensors.
- the sensing unit 140 has a sensing range determined according to its specification, that is, a Field of View (FOV). Accordingly, even objects located in the vicinity of the cleaning robot 100 may not be detected if they are outside the FOV of the obstacle sensor 141 , but may be detected only when they are within the FOV.
- FOV Field of View
- the cleaning robot 100 calculates the height of an object, and when the calculated height is included in a predetermined range and the object is located at the boundary of the Field of View (FOV) of the sensing unit 140 , the object is removed.
- a scan motion of rotating or advancing the main body 101 in a direction in which it is positioned may be performed.
- FIG. 2 is an external view of a cleaning robot according to an embodiment
- FIG. 3 is a detailed diagram of a control block diagram of the cleaning robot according to an embodiment
- 4 is a view showing the inside of a cleaning robot according to an embodiment
- FIG. 5 is a view showing a bottom surface of the cleaning robot according to an embodiment.
- the driving unit 120 includes driving wheels 122 provided on the left and right sides of the main body 101 , respectively, and a driving driving unit 121 for providing power to the driving wheels 122 . can do.
- the driving driving unit 121 may include a wheel motor and a driving circuit.
- the controller 110 may transmit a control signal to the driving driving unit 121 to move the main body 101 by rotation of the driving wheels 122a and 122b.
- the cleaning robot 100 scatters dust on the floor while driving and sucks the scattered dust to perform cleaning
- a storage unit 150 for storing information on a travel route of the cleaning robot 100 .
- an input unit 163 for receiving a control command from a user, a speaker 162 for outputting status information of the cleaning robot 100, and a display 163 may be further included.
- the driving wheel 122 may include a left driving wheel 122a provided on the left side of the main body 101 and a right driving wheel 122b provided on the right side of the body 101 .
- the main body 101 may move forward, backward, or rotate by the rotation of the driving wheel 122 .
- the main body 101 moves straight forward
- both the left and right traveling wheels 121a and 121b rotate toward the rear
- the main body 101 is You can move in a straight line backwards.
- the main body 101 when the left and right traveling wheels 121a and 121b rotate in the same direction, but rotate at different speeds, the main body 101 curves to the right or left. When the left and right driving wheels 121a and 121b rotate in different directions, the main body 101 may rotate left or right in place.
- the wheel motor generates power for rotating the travel wheel 122 .
- a DC motor or a BLDC motor may be employed as the wheel motor, but the embodiment of the cleaning robot 100 does not limit the type of the wheel motor.
- the wheel motor may include a left wheel motor rotating the left driving wheel 121a and a right wheel motor rotating the right driving wheel 122b.
- Each of the left and right wheel motors may operate independently of each other according to a control signal of the controller 110 , and the main body 101 may move forward, backward, or rotate according to the operation of the left and right wheel motors.
- the driving unit 120 may further include a caster wheel 123 provided on the bottom surface of the main body 101 .
- the caster wheel 123 is installed on the bottom surface of the main body 101, rotates according to the moving direction of the main body 101, and can assist the main body 101 to move while maintaining a stable posture.
- the driving driving unit 121 may further include a caster wheel motor that generates a rotational force provided to the caster wheel 123 .
- the cleaning unit 130 may include a brush module 131 for scattering foreign substances such as dust existing on the floor of the cleaning area and a suction module 132 for sucking the scattered foreign substances.
- the brush module 131 includes a brush 131b that rotates to scatter foreign substances on the floor of the cleaning area, and a brush driving unit 131a that generates power provided to the brush 131b.
- the brush driving unit 131a may include a brush motor and a driving circuit.
- the brush 131b is provided in the suction port 103 formed on the bottom surface of the main body 101 and scatters foreign substances on the floor of the cleaning area into the suction port 103 while rotating about a rotation axis perpendicular to the front of the main body 101. .
- the suction module 132 sucks the foreign substances scattered by the brush 131b into the dust storage box 105, and a suction fan 132b and a suction fan ( It may include a suction driving unit 132a that generates power to rotate 132b.
- the suction driving unit 132a may include a suction motor and a driving circuit.
- the sensing unit 140 may include an obstacle sensor 141 and an image sensor 142 . At least one of the output of the obstacle sensor 141 and the output of the image sensor 142 may be used to determine whether to avoid or climb the obstacle. Also, at least one of the output of the obstacle sensor 141 and the output of the image sensor 142 may be used to generate a cleaning map.
- the obstacle sensor 141 may include at least one of an infrared sensor, an ultrasonic sensor, a laser sensor, and a visible light sensor, and acquires two-dimensional data on the size of an object according to the number, position, or arrangement of the sensors. It can also be used to obtain 3D data.
- the image sensor 142 may be a 2D camera or a 3D camera.
- the controller 110 may control the driving unit 120 and the cleaning unit 130 based on the user's control command and the output of the sensing unit 140 . A detailed operation of the control unit 110 will be described later.
- the control unit 110 performs an input/output interface 114 for mediating data entry and exit between various components included in the cleaning robot 100 and the control unit 110 , a memory 113 for storing programs and data, and image processing.
- the main processor 111, the input/output interface 114, the memory 113, the graphic processor 112 and the main processor ( 111) may include a system bus 115 that serves as a path for data transmission/reception.
- the input/output interface 114 receives the output value of the obstacle sensor 141 and transmits it to the main processor 111 , the graphic processor 112 , and the memory 113 through the system bus 115 .
- the input/output interface 114 may transmit a control signal output by the main processor 111 to the driving unit 120 or the cleaning unit 130 .
- the memory 113 may recall and store a control program and control data for controlling the operation of the cleaning robot 100 from the storage unit 150 , or temporarily store a detection result of the obstacle sensor 141 .
- the memory 113 may include a volatile memory such as S-RAM and D-RAM. However, the present invention is not limited thereto, and in some cases, the memory 113 may include a nonvolatile memory such as a flash memory or an erasable programmable read only memory (EPROM).
- a volatile memory such as S-RAM and D-RAM.
- the present invention is not limited thereto, and in some cases, the memory 113 may include a nonvolatile memory such as a flash memory or an erasable programmable read only memory (EPROM).
- EPROM erasable programmable read only memory
- the graphic processor 112 converts the image acquired by the image sensor 142 into a format that can be stored in the memory 113 or the storage 150 or changes the resolution or size of the image acquired by the image sensor 142 .
- the main processor 111 processes the detection result of the detection unit 140 according to the program and data stored in the memory 113 , or performs an arithmetic operation for controlling the driving unit 120 and the cleaning unit 130 .
- the main processor 111 calculates the position of the cleaning robot 100 based on the image acquired by the image sensor 142 , or the direction, distance, or size of the obstacle based on the output value of the obstacle sensor 141 . can be calculated.
- the main processor 111 may perform an operation for determining whether to avoid or climb the obstacle according to the direction, distance, or size of the obstacle. When it is determined to avoid the obstacle, the main processor 111 calculates a travel path for avoiding the obstacle, and when it is determined to climb the obstacle, the main processor 111 may calculate a travel path for climbing the obstacle.
- the main processor 111 may generate a control signal to be provided to the driving unit 120 so that the cleaning robot 100 moves along the calculated driving path.
- the storage unit 150 includes a magnetic disk, a solid state disk, a ROM (Read Only Memory), an Erasable Programmable Read Only Memory (EPROM), and an Electrically Erasable Programmable Read Only Memory: EEPROM) may include a non-volatile memory, and in some cases, it is also possible to further include the above-described volatile memory.
- ROM Read Only Memory
- EPROM Erasable Programmable Read Only Memory
- EEPROM Electrically Erasable Programmable Read Only Memory
- the storage unit 150 may permanently store a control program and control data for controlling the operation of the cleaning robot 100 , and may also store a cleaning map generated based on the data obtained by the detection unit 140 .
- FIGS. 6 and 7 are views illustrating conditions for determining whether the cleaning robot avoids an object or climbs over an object according to an embodiment
- FIGS. 8 and 9 are diagrams illustrating a scanning motion of the cleaning robot according to an embodiment It is a diagram showing an example of a case in which it is required.
- the scan motion may refer to a motion, such as rotation or forward, performed by the cleaning robot 100 to additionally scan an object positioned at the boundary of the FOV of the sensing unit 140 .
- the controller 110 may determine whether to avoid or climb based on the size of an object located in the vicinity of the cleaning robot 100 .
- data regarding the size of the object obtained by the sensing unit 140 may be used.
- the controller 110 may decide to avoid a high obstacle regardless of the size, and may decide to avoid a low obstacle if the size is small and to climb if the size is large.
- the object may decide to overtake it.
- the object You may decide to avoid it.
- the reference range may be defined as h1 or more and h2 or less, and the lower limit value of h1 and the upper limit value of h2 are the reliability of the sensor value, the height of the cleaning robot 100 , the height of the main body 101 spaced apart from the floor, and the driving It may be determined in consideration of factors such as the size of the wheel 122 .
- an object O1 having a high height that is, an object having a height exceeding h2 is irrespective of the width or depth. to be avoided.
- the size of the object defined by the width and depth may correspond to the area of the two-dimensional plane when the object is viewed from above.
- the controller 110 may determine that an object O2 having a size greater than or equal to the reference size among objects O2 and O3 whose height is included in the reference range is to climb. For example, an object such as a carpet, a rug, or a threshold may be determined as a climbing target.
- the controller 110 may decide to avoid the object O3 having a size less than the reference size among the objects O2 and O3 whose height is included in the reference range. For example, objects such as block toys, cables, shoulder pads, glass cups, and bowls may be determined to be avoided.
- the entire object O2 is not included in the FOV of the sensing unit 140 and is located at the boundary of the FOV.
- an error may occur in the determination of the size, and as a result, the determination of whether to climb over or avoid may be erroneous. That is, there may be a case in which cleaning is not performed on an area requiring cleaning by avoiding an obstacle to climb.
- the object When the object is located at the FOV boundary, it may mean that the object exists across the FOV boundary, that is, the object exists both inside and outside the FOV. For example, when the data on the object acquired by the sensing unit 140 continues up to the boundary of the FOV, the controller 110 may determine that the object is located at the boundary of the FOV.
- the general carpet is not entirely located within the FOV of the sensing unit 140, but is frequently located at the boundary of the FOV.
- the carpet is located at the boundary of the FOV of the sensing unit 140, if the size determined based on the data obtained by the sensing unit 140 is greater than or equal to the reference value, it is determined as a climbing target and cleaning can be performed while driving on the carpet. .
- the cleaning robot 100 enters at an obtuse angle toward the carpet C, 2 enters from the corner of the carpet C, or 3 the cleaning robot 100 enters the carpet ( When driving along the edge of C), only a part of the carpet (C) is detected and a situation in which it is determined as an avoidance target may occur.
- the controller 110 determines that a scan motion is necessary to additionally acquire data on the size of the object. can do.
- the controller 110 determines that the height of the object is within a predetermined range, and even if the object is located at the boundary of the FOV of the detection unit 140 , the size of the object determined based on the data obtained by the detection unit 140 is equal to or greater than the reference value. It is also possible to perform the scan motion when the size of the object is less than the reference value without performing the back scan motion.
- FIGS. 10 and 11 are diagrams illustrating examples of a scan motion performed by a cleaning robot according to an exemplary embodiment.
- control unit 110 determines to perform the scan motion as described above, the control unit 110 controls the rotation direction, traveling direction, rotation angle, and travel of the main body 101 based on the position of an object located at the boundary of the FOV. At least one of the distances may be determined.
- the controller 110 may determine the rotation direction of the main body 101 to the left.
- the controller 110 may transmit a control signal to the driving driving unit 121 to move the main body 101 by the rotation of the driving wheels 122a and 122b.
- the main body 101 curves to the right or left.
- the left and right driving wheels 121a and 121b rotate in different directions, the main body 101 may rotate left or right in place.
- the control unit 110 decides to rotate the main body 101 to the left in place
- the driving driving unit ( 121) to transmit a control signal.
- the controller 110 may determine the rotation direction of the main body 101 to the right, and the left driving wheel 121a rotates forward and the right driving wheel (121b) may transmit a control signal to the driving driving unit 121 to rotate toward the rear.
- the rotation direction may be determined as a direction in which priority is set. For example, when the left side of the 3D sensor employed as the obstacle sensor 141 has a wider FOV than the right side, the priority of the left rotation may be set high.
- control unit 110 determines the traveling direction of the main body 101 forward, , the main body 101 can be advanced.
- the controller 110 may rotate it by a predetermined rotation angle or advance it by a predetermined driving distance.
- the main body 101 may be rotated or moved forward until the end of the object positioned at the boundary of the FOV is detected for clear size detection. That is, the main body 101 may be rotated or moved forward until data on the end of the object located at the boundary of the FOV is obtained.
- control unit 110 determines the size of the object based on the data obtained by the sensing unit 140 even while the main body 101 rotates or moves forward, and does not reach a predetermined rotation angle or detects the end of the object Even if it is not, if the size of the object exceeds the predetermined reference size, the rotation or advancement of the main body 101 may be stopped.
- the controller 110 may determine the rotation speed or the traveling speed of the main body 101 .
- the rotation speed may be determined based on the FOV of the sensing unit 140 and the sensing speed. For example, as the FOV of the sensing unit 140 increases and the sensing speed increases, the rotation speed of the main body 101 may also be determined at a faster speed.
- the controller 110 determines factors (rotation direction, traveling direction, rotation angle, traveling distance, rotation speed, traveling speed, etc.) for performing the scan motion, and the main body 101 according to the determined factors. ) to perform a scan motion, the size of the object may be determined based on data obtained by the sensing unit 140 during or after the scan motion is performed.
- the cleaning robot 100 may climb the object, and as in the example of FIG. 11 , the scan motion When the size of the object determined on the basis of the data obtained by is smaller than the reference size, the cleaning robot 100 may avoid the object.
- the cleaning robot 100 may generate a cleaning map for the cleaning area based on data acquired through the sensing unit 140 while driving in the cleaning area, and the generated cleaning map is stored in the storage unit ( 150) can be stored.
- a result determined through the scan motion may also be stored in the cleaning map.
- FIG. 12 is a table showing a result of object recognition output by the cleaning robot according to an exemplary embodiment
- FIG. 13 is a view for explaining a scan motion performed when the cleaning robot according to an exemplary embodiment performs object recognition.
- the sensing unit 140 of the cleaning robot 100 may include an image sensor 142 .
- the image sensor 142 may acquire an image surrounding the main body 101 .
- the controller 110 may perform object recognition on the surrounding image obtained by the image sensor 142 .
- the graphic processor 112 performing image processing may recognize an object appearing in the surrounding image by applying an object recognition algorithm to the surrounding image.
- the type of at least one object and a matching probability thereof may be output as a result of object recognition.
- the matching probability means a probability that the corresponding object matches the type of the output object.
- the type of object and its matching probability are glass-95%, table leg-50%, It can be output as a toy - 20%.
- This result may indicate that the object to be recognized has a 90% probability of being a water cup, a 50% probability that it is a table leg, and a 20% probability that it is a toy.
- the controller 110 may recognize a type of an object having a matching probability equal to or greater than a predetermined reference probability (the first reference probability) as the target object. For example, when the predetermined reference probability is 90% and the object recognition result is the same as in the example of FIG. 12 , the controller 110 may recognize the target object as a glass cup.
- the controller 110 may determine whether to avoid or climb over the obstacle based on the object recognition result for the obstacle. For example, the control unit 110 may match and store whether to avoid or climb for each type of object. The controller 110 may recognize an object that appears in the surrounding image obtained by the image sensor 142 and calculate a driving route according to whether the recognized object is an obstacle to be avoided or an obstacle to climb.
- the decision on whether to climb over or avoid may be erroneous. For example, there may be a case where cleaning is not performed on an area that needs to be cleaned by avoiding an obstacle that must be climbed, and an object or a cleaning robot is damaged or broken or the cleaning area is rather contaminated by climbing the obstacle to be avoided. situations may arise.
- the controller 110 sets the condition that the object appearing in the surrounding image acquired by the image sensor 142 is located at the boundary of the FOV of the image sensor 142, and the result of object recognition for the object located at the boundary of the FOV is determined. If satisfied, the driving unit 120 may be controlled to perform a scan motion of rotating or advancing the main body in the direction in which the corresponding object is located.
- control unit 110 determines that the object is located at the boundary of the FOV of the image sensor 142 . can be judged as
- the control unit 110 determines in advance that a matching probability greater than or equal to the first reference probability is not included in the result of object recognition for an object displayed in the surrounding image, and the type of object having a matching probability greater than or equal to the second reference probability and lower than the first reference probability is determined in advance. If it corresponds to an obstacle, it is determined that a predetermined condition is satisfied, and a scan motion may be performed.
- the predetermined obstacle may be the above-mentioned obstacle to climb or the obstacle to avoid.
- the target object may be recognized as a type of object having the corresponding matching probability according to the above description without the need to perform a scan motion.
- the probability that the target object will correspond to the type of the object is very low, so that it is not necessary to perform the scan motion.
- the type of a certain object has a matching probability greater than the second reference probability and less than the first reference probability, it means that there is insufficient data to determine that the target object corresponds to the type of the object, but there is a possibility of matching. Additional data can be acquired through motion.
- the first reference probability and the second reference probability may be determined through experiments, statistics, simulations, and the like.
- the type of object having the matching probability does not correspond to a predetermined obstacle.
- a type of object such as a glass cup, shoulder blade, cable, carpet, rug, threshold, etc. may be determined as an obstacle, and the type of object having a matching probability greater than or equal to the second reference probability and less than the first reference probability is determined.
- a scan motion may be performed in a case corresponding to .
- the glass cup G appears in the surrounding image IM1 acquired by the image sensor 142 at the current position of the cleaning robot 100 , only a part of it appears and the entire shape cannot be recognized.
- the control unit 110 may perform object recognition on the surrounding image IM1, and a matching probability less than the first reference probability and greater than or equal to the second reference probability is included in the object recognition result, and the type of object having the matching probability is a glass cup.
- the back control unit 110 may determine that a predetermined condition is satisfied and perform a scan motion.
- the controller 110 may determine at least one of a rotation direction, a traveling direction, a rotation angle, and a travel distance of the main body 101 based on the position of an object located at the boundary of the FOV.
- the controller 110 may determine the rotation direction of the main body 101 to the right, and the driving driving unit 121 By transmitting a control signal to the main body 101 can be rotated to the right.
- the controller 110 may determine the rotation direction of the main body 101 to the left, and transmit a control signal to the driving driving unit 121 to move the main body 101 to the left. can be rotated
- the rotation direction may be determined as a direction in which priority is set.
- control unit 110 determines the traveling direction of the main body 101 forward, , the main body 101 can be advanced.
- the performance of object recognition may vary depending on the distance between the image sensor 142 and the object. Accordingly, even when the object is located on the right boundary or the left boundary of the FOV, in addition to the rotation of the main body 101, it is also possible to move the object to be close to a predetermined distance between the object and the main body 101 .
- control unit 110 may rotate by a predetermined rotation angle or advance by a predetermined driving distance, and as shown on the right side of FIG. 13 for clear object recognition, the object ( The body 101 may be rotated or advanced until G) is positioned at a specific area within the FOV. Object recognition is again performed using the surrounding image IM2 obtained when the object G is located in a specific area within the FOV.
- the control unit 110 may perform object recognition again after the scan motion is completed, and it is also possible to recognize an object based on the surrounding image obtained by the image sensor 142 while the main body 101 is rotating or moving forward. Even if the predetermined rotation angle is not reached or the object is not located in a specific area within the FOV, if a matching probability equal to or greater than the first reference probability is included in the object recognition result, the rotation or advancement of the main body 101 may be stopped.
- the controller 110 may determine the rotation speed or the traveling speed of the main body 101 .
- the rotation speed may be determined based on the FOV and the sensing speed of the image sensor 142 . For example, as the FOV of the image sensor 142 increases and the sensing speed increases, the rotation speed of the main body 101 may also be determined at a faster speed.
- the image sensor 142 may perform object recognition based on the surrounding image acquired during the execution or after the scan motion is performed, and determine whether to avoid or climb an obstacle based on the result of object recognition.
- the controller 110 performs object recognition on the surrounding image acquired by the image sensor 142 during or after the scan motion is performed, and when the recognized object corresponds to a predetermined obstacle to be avoided, the object is recognized
- the driving unit 120 may be controlled to avoid it.
- the recognized object may be a type of object having a matching probability equal to or greater than the first reference probability.
- controller 110 controls the driving unit 120 to climb over the object when the object recognized from the surrounding image acquired by the image sensor 142 during or after the scan motion is performed corresponds to a predetermined climbing object obstacle. can be controlled
- the controller 110 generates a cleaning map for the cleaning area based on the result of object recognition for at least one object displayed in the surrounding image obtained by the image sensor 142 while driving in the cleaning area, and stores the generated cleaning map. may be stored in the unit 150 .
- the controller 110 may store the result of object recognition obtained by the scan motion in the cleaning map. After that, even if a situation that requires a scan motion again occurs while the cleaning robot 100 is running, information about an object acquired by the scan motion is already stored in the corresponding location, and the matching between the second reference probability and the first reference probability is greater than or equal to the first reference probability If the type of the object having the probability matches the object stored in the cleaning map, the scan motion may be omitted and a driving route may be calculated based on the object information stored in the cleaning map.
- control unit 110 omits the scan motion and adds the scan motion to the object information stored in the cleaning map. Based on the driving route can be calculated.
- FIG. 14 is a flowchart illustrating a method of determining whether to perform a scan motion based on the size of an object in a method of controlling a cleaning robot according to an embodiment.
- data on the size of an object existing in the vicinity of the main body 101 is acquired using the sensing unit 140 ( 310 ).
- the controller 110 may determine whether to avoid or climb based on the size of an object located in the vicinity of the cleaning robot 100 .
- data regarding the size of the object obtained by the sensing unit 140 may be used.
- the height of the object is calculated based on the data on the size of the object ( 320 ).
- the controller 110 may decide to avoid a high object regardless of the size, and may decide to avoid a low object if the size is small and decide to climb if the size is large.
- the step of determining the height of an object is described before the step of determining whether the object is located at the boundary of the FOV, but the order may be reversed or determined at the same time.
- the scan motion is performed even if the height of the object is included in the predetermined range and the object is located at the boundary of the FOV of the detection unit 140 , if the size of the object determined based on the data obtained by the detection unit 140 is greater than or equal to the reference value, the scan motion is performed It is also possible to perform a scan motion when the size of the object is less than the reference value.
- Performing the scan motion may include, by the controller 110, determining at least one of a rotation direction, a traveling direction, a rotation angle, and a traveling distance of the main body 101 based on the position of an object located at the boundary of the FOV. have.
- control unit 110 may determine the rotation direction of the main body 101 to the left, and when the object is located at the right boundary of the FOV, the control unit 110 The rotation direction of the main body 101 may be determined to the right.
- the rotation direction may be determined as a direction in which priority is set.
- control unit 110 determines the traveling direction of the main body 101 forward, , the main body 101 can be advanced.
- the controller 110 may rotate it by a predetermined rotation angle or advance it by a predetermined driving distance.
- the main body 101 may be rotated or moved forward until the end of the object positioned at the boundary of the FOV is detected for clear size detection. That is, the main body 101 may be rotated or moved forward until data on the end of the object located at the boundary of the FOV is obtained.
- control unit 110 determines the size of the object based on the data obtained by the sensing unit 140 even while the main body 101 rotates or moves forward, and does not reach a predetermined rotation angle or detects the end of the object Even if it is not, if the size of the object exceeds the predetermined reference size, the rotation or advancement of the main body 101 may be stopped.
- performing the scan motion may include determining, by the controller 110 , the rotational speed or the traveling speed of the main body 101 .
- the rotation speed may be determined based on the FOV of the sensing unit 140 and the sensing speed. For example, as the FOV of the sensing unit 140 increases and the sensing speed increases, the rotation speed of the main body 101 may also be determined at a faster speed.
- 15 is a flowchart illustrating an operation after performing a scan motion in a method of controlling a cleaning robot according to an exemplary embodiment.
- the controller 110 determines factors (rotation direction, traveling direction, rotation angle, traveling distance, rotation speed, traveling speed, etc.) for performing the scan motion, and the main body 101 according to the determined factors. ) to perform a scan motion, the sensing unit 140 acquires data about the size of the object during or after the scan motion is performed ( 361 ), and the controller 110 receives the object based on the obtained data ( 361 ). It is possible to determine the size of (362).
- the size of the object may mean a size defined by at least one of a width and a depth of the object.
- the cleaning robot 100 may climb the object (364), and the data obtained by the scan motion
- the cleaning robot 100 may avoid the object (365). Also, a result determined through the scan motion may be stored in the cleaning map.
- 16 is a flowchart illustrating a method of determining whether to perform a scan motion based on object recognition in a method of controlling a cleaning robot according to an embodiment.
- an image around the main body 101 is acquired using the image sensor 142 ( 410 ), and object recognition is performed on the surrounding image ( 420 ).
- the graphic processor 112 performing image processing in the controller 110 may recognize an object appearing in the surrounding image by applying an object recognition algorithm to the surrounding image.
- the type of at least one object and a matching probability thereof may be output as a result of object recognition.
- the matching probability means a probability that the corresponding object matches the type of the output object.
- the description of the result of object recognition is the same as that described above with reference to FIG. 12 .
- the controller 110 may determine whether to avoid the obstacle or climb over the obstacle based on the object recognition result of the obstacle. For example, the control unit 110 may match and store whether to avoid or climb for each type of object. The controller 110 may recognize an object appearing in the surrounding image obtained by the image sensor 142 and calculate a driving route according to whether to avoid or climb by matching the recognized object.
- a scan motion may be performed ( S450). Due to the nature of the flowchart, the step of determining whether an object is located at the boundary of the FOV is described before the step of determining whether the result of object recognition satisfies a predetermined condition. .
- an obstacle in which a matching probability greater than or equal to the first reference probability is not included in the object recognition result for an object displayed in the surrounding image, and the type of object having a matching probability greater than or equal to the second reference probability and lower than the first reference probability is predetermined. If , it is determined that a predetermined condition is satisfied, and a scan motion can be performed.
- the first reference probability and the second reference probability may be determined through experiments, statistics, simulations, and the like.
- the type of object such as a glass cup, shoulder blade, cable, carpet, rug, threshold, etc. may be determined as an obstacle to climb or an obstacle to avoid, and has a matching probability greater than or equal to the second reference probability and less than the first reference probability.
- a scan motion may be performed.
- Performing the scan motion may include, by the controller 110, determining at least one of a rotation direction, a traveling direction, a rotation angle, and a traveling distance of the main body 101 based on the position of an object located at the boundary of the FOV. have.
- the controller 110 may determine the rotation direction of the main body 101 to the right, and transmit a control signal to the driving driving unit 121 to control the main body 101 . can be rotated to the right.
- the controller 110 may determine the rotation direction of the main body 101 to the left, and transmit a control signal to the driving driving unit 121 to move the main body 101 to the left. can be rotated
- the rotation direction may be determined as a direction in which priority is set.
- control unit 110 determines the traveling direction of the main body 101 forward, , the main body 101 can be advanced.
- the performance of object recognition may vary depending on the distance between the image sensor 142 and the object. Accordingly, even when the object is located on the right boundary or the left boundary of the FOV, in addition to the rotation of the main body 101, it is also possible to move the object to be close to a predetermined distance between the object and the main body 101 .
- control unit 110 may rotate by a predetermined rotation angle or advance by a predetermined driving distance until the object is positioned in a specific area within the FOV for clear object recognition.
- the main body 101 may be rotated or moved forward. When an object is located in a specific area within the FOV, object recognition is performed again using the obtained surrounding image.
- the control unit 110 may perform object recognition again after the scan motion is completed, and it is also possible to recognize an object based on the surrounding image obtained by the image sensor 142 while the main body 101 is rotating or moving forward. Even if the predetermined rotation angle is not reached or the object is not located in a specific area within the FOV, if a matching probability equal to or greater than the first reference probability is included in the object recognition result, the rotation or advancement of the main body 101 may be stopped.
- performing the scan motion may include determining, by the controller 110 , the rotational speed or the traveling speed of the main body 101 .
- the rotation speed may be determined based on the FOV and the sensing speed of the image sensor 142 . For example, as the FOV of the image sensor 142 increases and the sensing speed increases, the rotation speed of the main body 101 may also be determined at a faster speed.
- the method may further include performing object recognition based on the surrounding image acquired by the image sensor 142 during or after performing the scan motion, and determining whether to avoid or climb an obstacle based on a result of object recognition.
- 17 is a flowchart illustrating an operation after a scan motion in a method of controlling a cleaning robot according to an exemplary embodiment.
- the image sensor 142 acquires a surrounding image during or after the scan motion is performed ( 461 ), and the controller 110 recognizes an object based on the surrounding image acquired by the image sensor 142 . can be performed (462).
- the controller 110 can climb the object. can (464).
- the recognized object may be a type of object having a matching probability equal to or greater than the first reference probability.
- the controller 110 can avoid the object. There is (465).
- the controller 110 generates a cleaning map for the cleaning area based on the result of object recognition for at least one object displayed in the surrounding image obtained by the image sensor 142 while driving in the cleaning area, and stores the generated cleaning map. may be stored in the unit 150 .
- the controller 110 may store the result of object recognition obtained by the scan motion in the cleaning map. After that, even if a situation that requires a scan motion again occurs while the cleaning robot 100 is running, information about an object acquired by the scan motion is already stored in the corresponding location, and the matching between the second reference probability and the first reference probability is greater than or equal to the first reference probability If the type of the object having the probability matches the object stored in the cleaning map, the scan motion may be omitted and a driving route may be calculated based on the object information stored in the cleaning map.
- control unit 110 omits the scan motion and adds the scan motion to the object information stored in the cleaning map. Based on the driving route can be calculated.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
개시된 발명은 특정 조건이 만족되는 경우에 센서의 FOV의 경계에 위치하는 사물에 대한 추가 데이터의 획득을 위해 스캔 모션을 수행함으로써, 사물이 센서의 FOV의 경계에 위치하더라도 크기나 사물의 종류에 대한 오판단 확률을 낮추고 장애물에 대한 회피 또는 승월 주행의 신뢰도를 향상시킬 수 있는 청소 로봇 및 그 제어 방법을 제공한다. 일 실시예에 따른 청소 로봇은, 본체; 상기 본체의 주변에 위치하는 사물의 크기에 관한 데이터를 획득하는 감지부; 상기 본체를 이동시키는 주행부; 및 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 높이를 계산하고, 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의FOV(Field of View)의 경계에 위치하면 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 상기 주행부를 제어하는 제어부;를 포함한다.
Description
개시된 발명은 장애물을 감지하는 청소 로봇 및 그 제어 방법에 관한 것이다.
청소 로봇은 사용자의 조작 없이도 자동으로 주행하면서 바닥에 쌓인 먼지 등의 이물질을 흡입함으로써 주행 영역을 자동으로 청소하는 장치이다.
일반적으로 청소 로봇의 주행 영역에는 가구, 카펫, 기타 사물이 존재하고, 청소 로봇은 이들을 장애물로 인식하여 회피하거나 승월할 수 있다. 이를 위해, 청소 로봇에는 사물을 감지하는 센서가 마련될 수 있고, 청소 로봇의 제어부는 센서의 출력에 기초하여 사물의 회피 또는 승월 여부를 판단할 수 있다.
센서마다 고유의 FOV(Field of View)를 가지고 있으며, FOV 내에 위치하는 사물은 감지할 수 있고, FOV 밖에 위치하는 사물은 감지할 수 없다.
한편, 장애물이 FOV 경계에 위치하거나 FOV 경계에 걸쳐 있는 경우에는 사물의 존재는 감지될 수 있으나, 해당 사물이 회피해야 되는 사물인지 또는 승월해야 되는 사물인지 여부를 정확하게 판단하기 어렵다.
개시된 발명은 특정 조건이 만족되는 경우에 센서의 FOV의 경계에 위치하는 사물에 대한 추가 데이터의 획득을 위해 스캔 모션을 수행함으로써, 사물이 센서의 FOV의 경계에 위치하더라도 크기나 사물의 종류에 대한 오판단 확률을 낮추고 장애물에 대한 회피 또는 승월 주행의 신뢰도를 향상시킬 수 있는 청소 로봇 및 그 제어 방법을 제공한다.
일 실시예에 따른 청소 로봇은, 본체; 상기 본체의 주변에 위치하는 사물의 크기에 관한 데이터를 획득하는 감지부; 상기 본체를 이동시키는 주행부; 및 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 높이를 계산하고, 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의FOV(Field of View)의 경계에 위치하면 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 상기 주행부를 제어하는 제어부;를 포함한다.
상기 제어부는, 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 너비 및 깊이에 의해 정의되는 크기를 계산하고, 상기 계산된 크기가 기준 크기 미만인 경우에 상기 스캔 모션을 수행하기로 결정할 수 있다.
상기 제어부는, 상기 계산된 상기 사물의 높이가 정해진 기준 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 사물의 위치에 기초하여 상기 본체의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정할 수 있다.
상기 제어부는, 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 감지부의 FOV 및 상기 감지부의 센싱 속도 중 적어도 하나에 기초하여 상기 본체의 회전 속도 또는 전진 속도를 결정할 수 있다.
상기 제어부는, 상기 사물이 상기 FOV의 왼쪽 경계에 위치하면, 상기 본체를 왼쪽으로 회전시키기 위해 상기 주행부를 제어하고, 상기 사물이 상기 FOV의 오른쪽 경계에 위치하면, 상기 본체를 오른쪽으로 회전시키기 위해 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 사물이 상기 FOV의 전방 경계에 위치하면, 상기 본체를 전진시키기 위해 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 시에 미리 정해진 회전 각도만큼 상기 본체를 회전시키거나 또는 미리 정해진 거리만큼 상기 본체를 전진시키기 위해 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 시에 상기 FOV의 경계에 위치하는 사물의 단부에 대한 데이터가 획득될 때까지 상기 본체를 회전 또는 전진시키기 위해 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 중에 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 크기를 판단할 수 있다.
상기 제어부는, 상기 사물의 크기가 정해진 기준 크기 이상이 되면, 상기 스캔 모션을 중지시키기 위해 상기 주행부를 제어할 수 있다.
일 실시예에 따른 청소 로봇은, 본체; 주변 영상을 획득하는 영상 센서; 상기 본체를 이동시키는 주행부; 및 상기 주변 영상에 나타난 사물이 상기 촬영부의 FOV(Field of View)의 경계에 위치하고, 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족하면, 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 상기 주행부를 제어하는 제어부;를 포함한다.
상기 제어부는, 적어도 하나의 사물의 종류 및 상기 사물의 종류에 대한 매칭 확률을 상기 사물 인식의 결과로서 출력할 수 있다.
상기 제어부는, 상기 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되지 않고, 제2기준 확률 이상 상기 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 미리 정해진 장애물에 해당하면 상기 정해진 조건을 만족하는 것으로 판단할 수 있다.
상기 제어부는, 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족하면, 상기 사물의 위치에 기초하여 상기 본체의 회전 방향, 회전 각도, 주행 방향 및 주행 거리 중 적어도 하나를 결정할 수 있다.
상기 제어부는, 상기 사물이 상기 FOV 내의 특정 영역에 위치할 때까지 상기 스캔 모션을 수행하도록 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 중에 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식을 수행하고, 상기 사물 인식 결과에 상기 제1기준 확률이 포함될 때까지 상기 스캔 모션을 수행하도록 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 주변 영상에 나타난 적어도 하나의 사물에 대한 사물 인식의 결과에 기초하여 상기 본체가 주행하는 영역에 대한 청소 맵을 생성하고, 상기 생성된 청소 맵을 저장할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 중 또는 상기 스캔 모션의 수행 후에, 상기 사물에 대해 사물 인식을 수행하고 상기 사물 인식의 결과를 상기 청소 맵에 저장할 수 있다.
상기 제어부는, 상기 주변 영상에 나타난 사물이 상기 영상 센서의 FOV(Field of View)의 경계에 위치하고 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족할 때, 상기 청소 맵 상에 대응되는 위치에 사물에 대한 정보가 저장되어 있으면 상기 스캔 모션을 생략할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 이후 정해진 시간 내에 또는 정해진 위치 범위 내에서 다시 스캔 모션이 필요한 것으로 판단된 경우, 상기 스캔 모션을 생략할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 중 또는 상기 스캔 모션의 수행 이후에 획득된 주변 영상에 대해 사물 인식을 수행하고, 상기 주변 영상에서 인식된 사물이 미리 정해진 승월 대상 장애물에 대응되면 상기 사물을 승월하도록 상기 주행부를 제어할 수 있다.
상기 제어부는, 상기 스캔 모션의 수행 중 또는 상기 스캔 모션의 수행 이후에 획득된 주변 영상에 대해 사물 인식을 수행하고, 상기 주변 영상에서 인식된 사물이 미리 정해진 회피 대상 장애물에 대응되면 상기 사물을 회피하도록 상기 주행부를 제어할 수 있다.
일 실시예에 따른 본체, 상기 본체를 이동시키는 주행부 및 상기 본체의 주변에 위치하는 사물의 크기에 관한 데이터를 획득하는 감지부를 포함하는 청소 로봇의 제어 방법은, 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 높이를 계산하고; 상기 사물이 상기 감지부의 FOV의 경계에 위치하는지 여부를 판단하고; 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의FOV(Field of View)의 경계에 위치하면 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하는 것;을 포함한다.
상기 스캔 모션을 수행하는 것은, 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 너비 및 깊이에 의해 정의되는 크기를 계산하고, 상기 계산된 크기가 기준 크기 미만인 경우에 상기 스캔 모션을 수행하기로 결정하는 것;을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 계산된 상기 사물의 높이가 정해진 기준 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 사물의 위치에 기초하여 상기 본체의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정하는 것;을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 감지부의 FOV 및 상기 감지부의 센싱 속도 중 적어도 하나에 기초하여 상기 본체의 회전 속도 또는 전진 속도를 결정하는 것을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 사물이 상기 FOV의 왼쪽 경계에 위치하면, 상기 본체를 왼쪽으로 회전시키기 위해 상기 주행부를 제어하고, 상기 사물이 상기 FOV의 오른쪽 경계에 위치하면, 상기 본체를 오른쪽으로 회전시키기 위해 상기 주행부를 제어하는 것;을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 사물이 상기 FOV의 전방 경계에 위치하면, 상기 본체를 전진시키기 위해 상기 주행부를 제어하는 것;을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 스캔 모션의 수행 시에 미리 정해진 회전 각도만큼 상기 본체를 회전시키거나 또는 미리 정해진 거리만큼 상기 본체를 전진시키기 위해 상기 주행부를 제어하는 것;을 포함할 수 있다.
상기 스캔 모션을 수행하는 것은, 상기 스캔 모션의 수행 시에 상기 FOV의 경계에 위치하는 사물의 단부에 대한 데이터가 획득될 때까지 상기 본체를 회전 또는 전진시키기 위해 상기 주행부를 제어하는 것;을 포함할 수 있다.
상기 스캔 모션의 수행 중에 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 크기를 판단하는 것;을 더 포함할 수 있다.
상기 사물의 크기가 정해진 기준 크기 이상이 되면, 상기 스캔 모션을 중지시키기 위해 상기 주행부를 제어하는 것;을 더 포함할 수 있다.
개시된 발명의 일 측면에 따른 청소 로봇 및 그 제어 방법에 의하면, 특정 조건이 만족되는 경우에 센서의 FOV의 경계에 위치하는 사물에 대한 추가 데이터의 획득을 위해 스캔 모션을 수행함으로써, 사물이 센서의 FOV의 경계에 위치하더라도 크기나 사물의 종류에 대한 오판단 확률을 낮추고 장애물에 대한 회피 또는 승월 주행의 신뢰도를 향상시킬 수 있다.
도 1은 일 실시예에 따른 청소 로봇의 제어 블록도이다.
도 2 는 일 실시예에 따른 청소 로봇의 외관도이다.
도 3은 일 실시예에 따른 청소 로봇의 제어 블록도를 구체화한 도면이다.
도 4는 일 실시예에 따른 청소 로봇의 내부를 나타낸 도면이다.
도 5는 일 실시예에 따른 청소 로봇의 저면을 나타낸 도면이다.
도 6 및 도 7은 일 실시예에 따른 청소 로봇이 사물을 회피할 지 또는 승월할 지 여부를 판단하기 위한 조건을 나타낸 도면이다.
도 8 및 도 9는 일 실시예에 따른 청소 로봇이 스캔 모션을 필요로 하는 경우의 예시를 나타낸 도면이다.
도 10 및 도 11은 일 실시예에 따른 청소 로봇이 수행하는 스캔 모션의 예시를 나타낸 도면이다.
도 12는 일 실시예에 따른 청소 로봇이 출력하는 사물 인식의 결과를 나타낸 테이블이다.
도 13은 일 실시예에 따른 청소 로봇이 사물 인식을 수행하는 경우에 이뤄지는 스캔 모션을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 사물의 크기에 기초하여 스캔 모션의 수행 여부를 판단하는 방법에 관한 순서도이다.
도 15는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 스캔 모션 수행 이후의 동작을 나타낸 순서도이다.
도 16은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 사물 인식에 기초하여 스캔 모션의 수행 여부를 판단하는 방법에 관한 순서도이다.
도 17은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 스캔 모션 이후의 동작을 나타낸 순서도이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
명세서 전체에서, 어떤 구성요소가 다른 구성요소에 신호 또는 데이터를 전달 또는 전송한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 해당 구성요소와 다른 구성요소 사이에 또 다른 구성요소가 존재하여 이 구성요소를 통해 전달 또는 전송하는 것을 배제하지 않는다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
제1, 제2와 같은 서수의 표현은 복수의 구성요소 또는 복수의 데이터를 상호 구분하기 위해 사용되는 것일 뿐, 복수의 구성요소 또는 복수의 데이터가 서수의 표현에 의해 그 위치, 우선 순위, 데이터 처리 순서 또는 데이터 값의 크기 등이 제한되는 것은 아니다.
각 단계들에 있어 식별 부호는 설명의 편의를 위하여 사용되는 것으로 식별 부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 일 측면에 따른 청소 로봇 및 그 제어 방법의 실시예를 상세하게 설명한다.
도 1은 일 실시예에 따른 청소 로봇의 제어 블록도이다.
도 1을 참조하면, 일 실시예에 따른 청소 로봇(100)은 사물의 크기에 관한 데이터를 획득하는 감지부(140), 본체(101, 도 2 참조)를 이동시키는 주행부(120) 및 사물의 크기에 관한 데이터에 기초하여 사물의 높이를 계산하고, 계산된 높이가 정해진 범위에 포함되고 사물이 감지부(140)의 FOV(Field of View)의 경계에 위치하면 사물이 위치하는 방향으로 본체(101)를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 주행부(120)를 제어하는 제어부(110)를 포함한다.
일 실시예에 따른 청소 로봇(100)은 청소 영역을 주행하면서 청소를 수행할 수 있고, 감지부(140)에 의해 장애물이 감지되면 감지된 장애물을 회피하거나 승월할 수 있다.
감지부(140)가 감지하는 장애물은 청소 영역의 바닥, 벽 또는 천장으로부터 돌출 또는 함몰되어 청소 로봇(100)의 주행을 방해하는 모든 사물을 의미할 수 있다. 즉, 청소 로봇(100)의 주행 경로, 즉 청소 영역에 위치하는 사물은 청소 로봇(100)에게 장애물이 될 수 있다.
예를 들어, 청소 영역에 위치하는 테이블, 소파 등의 가구 뿐만 아니라 공간을 구획하는 벽도 장애물에 해당할 수 있고, 카펫, 문턱이나 환봉과 같이 청소 로봇(100)이 승월 및 하강할 수 있는 물체도 장애물에 해당할 수 있다. 또한, 청소 영역에 고정적으로 위치하지 않는 사물, 예를 들어, 유리컵, 그릇, 견변, 가방 등과 같은 사물도 청소 로봇(100)이 회피하거나 승월해야 하는 장애물에 해당할 수 있다.
청소 로봇(100)이 감지된 장애물을 회피할 지 또는 승월할 지 여부는 감지된 장애물의 크기에 기초하여 결정될 수 있고, 장애물의 크기는 높이, 너비 및 깊이 중 적어도 하나에 의해 결정될 수 있다.
감지부(140)는 적외선 센서, 가시광선 센서, 초음파 센서, 레이저 센서 등의 장애물 센서, 영상 센서 등 다양한 종류의 센서들 중 적어도 하나를 포함하여 사물의 크기에 관한 데이터를 획득할 수 있다. 또한, 센서의 종류 또는 센서의 개수와 배치에 따라 사물의 2차원 데이터를 획득할 수도 있고, 3차원 데이터를 획득할 수도 있다.
감지부(140)는 그 사양에 따라 정해진 감지 범위, 즉 FOV(Field of View)를 갖는다. 따라서, 청소 로봇(100)의 주변에 위치하는 사물이라도 장애물 센서(141)의 FOV 밖에 있으면 감지되지 않고 FOV 내에 있는 경우에 한하여 감지될 수 있다.
다만, 청소 로봇(100) 주변의 사물이 감지되었더라도, 사물의 전체가 감지부(140)의 FOV 내에 있지 않고 일부는 FOV 밖에 있고 일부만 FOV 내에 있는 경우에는 사물의 크기를 정확하게 획득하기 어려운 경우가 발생할 수 있다.
따라서, 일 실시예에 따른 청소 로봇(100)은 사물의 높이를 계산하고, 계산된 높이가 정해진 범위에 포함되고 사물이 감지부(140)의 FOV(Field of View)의 경계에 위치하면 사물이 위치하는 방향으로 본체(101)를 회전 또는 전진시키는 스캔 모션을 수행할 수 있다.
이하, 일 실시예에 따른 청소 로봇(100)의 동작을 더 구체적으로 설명한다.
도 2 는 일 실시예에 따른 청소 로봇의 외관도이고, 도 3은 일 실시예에 따른 청소 로봇의 제어 블록도를 구체화한 도면이다. 도 4는 일 실시예에 따른 청소 로봇의 내부를 나타낸 도면이며, 도 5는 일 실시예에 따른 청소 로봇의 저면을 나타낸 도면이다.
도 2 및 도 3을 참조하면, 주행부(120)는 본체(101)의 좌우에 각각 마련되는 주행 휠(122)과, 주행 휠(122)에 동력을 제공하기 위한 주행 구동부(121)를 포함할 수 있다.
주행 구동부(121)는 휠 모터와 구동 회로를 포함할 수 있다. 제어부(110)는 주행 휠(122a,122b)의 회전에 의해 본체(101)를 이동시키기 위해 주행 구동부(121)에 제어 신호를 전송할 수 있다.
또한, 청소 로봇(100)은 주행 중 바닥의 먼지를 비산시키고 비산된 먼지를 흡입함으로써 청소를 수행하는 클리닝부(130), 청소 로봇(100)의 주행 경로에 관한 정보를 저장하는 저장부(150), 사용자로부터 제어 명령을 입력 받는 입력부(163), 청소 로봇(100)의 상태 정보를 출력하는 스피커(162) 및 디스플레이(163)를 더 포함할 수 있다.
도 4 및 도 5를 더 참조하면, 주행 휠(122)은 본체(101)의 좌측에 마련되는 좌측 주행 휠(122a)과 우측에 마련되는 우측 주행 휠(122b)을 포함할 수 있다.
주행 휠(122)의 회전에 의해 본체(101)가 전진, 후진 또는 회전할 수 있다. 예를 들어, 좌우측 주행 휠(121a,121b) 모두가 전방을 향하여 회전하면 본체(101)는 전방으로 직선 이동하고, 좌우측 주행 휠(121a, 121b) 모두가 후방을 향하여 회전하면 본체(101)는 후방으로 직선 이동할 수 있다.
또한, 좌우측 주행 휠(121a, 121b)이 같은 방향으로 회전하되, 서로 다른 속도로 회전하면 본체(101)는 우측 또는 좌측으로 곡선 이동하며. 좌우측 주행 휠(121a, 121b)이 서로 다른 방향으로 회전하면 본체(101)는 제자리에서 좌측 또는 우측으로 회전할 수 있다.
전술한 바와 같이, 휠 모터는 주행 휠(122)을 회전시키기 위한 동력을 생성한다. 휠 모터로는 DC 모터 또는 BLDC 모터가 채용될 수 있으나, 청소 로봇(100)의 실시예는 휠 모터의 종류에 제한을 두지 않는다.
휠 모터는 좌측 주행 휠(121a)을 회전시키는 좌측 휠 모터와 우측 주행 휠(122b)을 회전시키는 우측 휠 모터를 포함할 수 있다. 좌우측 휠 모터 각각은 제어부(110)의 제어 신호에 따라 서로 독립적으로 동작할 수 있으며, 좌우측 휠 모터의 동작에 따라 본체(101)가 전진, 후진 또는 회전할 수 있다.
또한, 주행부(120)는 본체(101)의 저면에 마련되는 캐스터 휠(123)을 더 포함할 수 있다. 캐스터 휠(123)은 본체(101)의 저면에 설치되어 본체(101)의 이동 방향에 따라 회전하며, 본체(101)가 안정된 자세를 유지하며 이동할 수 있도록 보조할 수 있다.
주행 구동부(121)는 캐스터 휠(123)에 제공되는 회전력을 생성하는 캐스터 휠 모터를 더 포함할 수 있다.
클리닝부(130)는 청소 영역 바닥에 존재하는 먼지 등의 이물질을 비산시키는 브러시 모듈(131) 및 비산된 이물질을 흡입하는 흡입 모듈(132)을 포함할 수 있다.
브러시 모듈(131)은 청소 영역 바닥의 이물질을 비산시키기 위해 회전하는 브러시(131b) 및 브러시(131b)에 제공되는 동력을 생성하는 브러시 구동부(131a)를 포함한다. 브러시 구동부(131a)는 브러시 모터와 구동회로를 포함할 수 있다.
브러시(131b)는 본체(101)의 저면에 형성된 흡입구(103)에 마련되며, 본체(101)의 전방과 수직인 회전축을 중심으로 회전하면서 청소 영역 바닥의 이물질을 흡입구(103) 내부로 비산시킨다.
흡입 모듈(132)은 브러시(131b)에 의하여 비산된 이물질을 먼지 저장함(105) 내부로 흡입하며, 이물질을 먼지 저장함(105)으로 흡입하기 위한 흡입력을 발생시키는 흡입 팬(132b)과 흡입 팬(132b)을 회전시키는 동력을 생성하는 흡입 구동부(132a)를 포함할 수 있다. 흡입 구동부(132a)는 흡입 모터와 구동 회로를 포함할 수 있다.
감지부(140)는 장애물 센서(141)와 영상 센서(142)를 포함할 수 있다. 장애물 센서(141)의 출력과 영상 센서(142)의 출력 중 적어도 하나는 장애물의 회피 또는 승월 여부를 결정하는데 이용될 수 있다. 또한, 장애물 센서(141)의 출력과 영상 센서(142)의 출력 중 적어도 하나는 청소 맵을 생성하는데 사용될 수 있다.
전술한 바와 같이, 장애물 센서(141)는 적외선 센서, 초음파 센서, 레이저 센서 및 가시광선 센서 중 적어도 하나를 포함할 수 있고 센서의 개수, 위치 또는 배열에 따라 사물의 크기에 대한 2차원 데이터를 획득할 수도 있고, 3차원 데이터를 획득할 수도 있다.
영상 센서(142)는 2차원 카메라일 수도 있고, 3차원 카메라일 수도 있다.
제어부(110)는 사용자의 제어 명령 및 감지부(140)의 출력에 기초하여 주행부(120) 및 클리닝부(130)를 제어할 수 있다. 제어부(110)의 구체적인 동작에 대해서는 후술하도록 한다.
제어부(110)는 청소 로봇(100)에 포함된 각종 구성 요소와 제어부(110) 사이에서의 데이터 출입을 매개하는 입출력 인터페이스(114), 프로그램 및 데이터를 기억하는 메모리(113), 영상 처리를 수행하는 그래픽 프로세서(112) 및 메모리(113)에 기억된 프로그램 및 데이터에 따라 연산 동작을 수행하는 메인 프로세서(111), 입출력 인터페이스(114), 메모리(113), 그래픽 프로세서(112) 및 메인 프로세서(111) 사이의 데이터 송수신의 통로가 되는 시스템 버스(115)를 포함할 수 있다.
입출력 인터페이스(114)는 장애물 센서(141)의 출력값을 수신하고, 이를 시스템 버스(115)를 통하여 메인 프로세서(111), 그래픽 프로세서(112) 및 메모리(113)로 전송한다.
또한, 입출력 인터페이스(114)는 메인 프로세서(111)가 출력하는 제어 신호를 주행부(120) 또는 클리닝부(130)에 전달할 수 있다.
메모리(113)는 청소 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터를 저장부(150)로부터 불러와 기억하거나, 장애물 센서(141)의 감지 결과 등을 임시로 기억할 수 있다.
메모리(113)는 S램(S-RAM), D램(D-RAM) 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리(113)는 플래시 메모리, EPROM (Erasable Programmable Read Only Memory) 등의 비휘발성 메모리를 포함할 수도 있다.
그래픽 프로세서(112)는 영상 센서(142)가 획득한 영상을 메모리(113) 또는 저장부(150)에 저장할 수 있는 포맷으로 변환하거나, 영상 센서(142)가 획득한 영상의 해상도 또는 크기를 변경할 수 있다.
메인 프로세서(111)는 메모리(113)에 저장된 프로그램 및 데이터에 따라 감지부(140)의 감지 결과를 처리하거나, 주행부(120) 및 클리닝부(130)를 제어하기 위한 연산 동작을 수행한다.
예를 들어, 메인 프로세서(111)는 영상 센서(142)가 획득한 영상에 기초하여 청소 로봇(100)의 위치를 산출하거나, 장애물 센서(141)의 출력값에 기초하여 장애물의 방향, 거리 또는 크기를 산출할 수 있다.
또한, 메인 프로세서(111)는 장애물의 방향, 거리 또는 크기에 따라 장애물을 회피할지 또는 승월할지를 결정하기 위한 연산을 수행할 수 있다. 장애물을 회피하기로 결정되면 메인 프로세서(111)는 장애물을 회피하기 위한 주행 경로를 산출하고, 장애물을 승월하기로 결정되면 메인 프로세서(111)는 장애물을 승월하기 위한 주행 경로를 산출할 수 있다.
또한, 메인 프로세서(111)는 산출된 주행 경로를 따라 청소 로봇(100)이 이동하도록 주행부(120)에 제공할 제어 신호를 생성할 수 있다.
저장부(150)는 자기 디스크(magnetic disc), 반도체 디스크(solid state disk), 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있고, 경우에 따라 전술한 휘발성 메모리를 더 포함하는 것도 가능하다.
저장부(150)는 청소 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터를 영구적으로 저장할 수 있고, 감지부(140)가 획득한 데이터에 기초하여 생성된 청소 맵도 저장할 수 있다.
도 6 및 도 7은 일 실시예에 따른 청소 로봇이 사물을 회피할 지 또는 승월할 지 여부를 판단하기 위한 조건을 나타낸 도면이고, 도 8 및 도 9는 일 실시예에 따른 청소 로봇이 스캔 모션을 필요로 하는 경우의 예시를 나타낸 도면이다.
당해 실시예에서, 스캔 모션은 청소 로봇(100)이 감지부(140)의 FOV의 경계에 위치하는 사물을 추가적으로 스캔하기 위해 수행하는 회전 또는 전진 등의 모션을 의미할 수 있다.
제어부(110)는 청소 로봇(100)의 주변에 위치하는 사물의 크기에 기초하여 이를 회피할 지 또는 승월할 지 여부를 결정할 수 있다. 이 때, 사물의 크기를 판단하기 위해 감지부(140)가 획득한 사물의 크기에 관한 데이터를 이용할 수 있다.
제어부(110)는 높은 장애물은 크기에 상관없이 회피하기로 결정하고, 낮은 장애물은 크기가 작으면 회피하고 크기가 크면 승월하기로 결정할 수 있다.
구체적으로, 제어부(110)는 청소 로봇(100)의 주변에 위치하는 사물의 높이가 정해진 기준 범위에 포함되고 사물의 너비 및 깊이 중 적어도 하나에 의해 정의되는 크기가 정해진 기준 크기 이상이면, 해당 사물을 승월하기로 결정할 수 있다.
또한, 제어부(110)는 청소 로봇(100)의 주변에 위치하는 사물의 높이가 정해진 기준 범위에 포함되고 사물의 너비 및 깊이 중 적어도 하나에 의해 정의되는 크기가 정해진 기준 크기 미만이면, 해당 사물을 회피하기로 결정할 수 있다.
도 6의 예시에 따르면, 감지부(140)가 획득한 데이터에 기초하여 판단한 사물의 높이가 h1 이상 h2 이하이면, 회피 또는 승월 여부의 판단 대상이 될 수 있다. 즉, 기준 범위가 h1 이상 h2 이하로 정의될 수 있고, 하한값인 h1 값과 상한값인 h2값은 센서 값의 신뢰도, 청소 로봇(100)의 높이, 본체(101)가 바닥으로부터 이격된 높이, 주행 휠(122)의 크기 등의 요소를 고려하여 결정될 수 있다.
또한, 사물이 청소 영역의 바닥으로부터 돌출된 것이 아니라 천정 또는 다른 사물에 연결되어 있는 등 바닥으로부터 이격되어 있는 경우도 발생할 수 있다. 이 경우, 사물이 바닥으로부터 이격된 높이가 h3 또는 h4보다 낮으면, 청소 로봇(100)의 상부와 충돌할 가능성이 있으므로 회피하기로 결정할 수 있다.
도 7에 도시된 바와 같이, 감지부(140)의 FOV 내에 위치하는 사물(O1, O2, O3) 중 높이가 높은 사물(O1), 즉 높이가 h2를 초과하는 사물은 너비나 깊이에 상관없이 회피 대상이 된다.
높이가 낮은 사물(O2, O3), 즉 높이가 정해진 기준 범위(h1 이상 h2 이하)에 포함되는 사물은 너비와 깊이에 의해 정의되는 크기에 기초하여 회피할 지 또는 승월할 지 여부가 판단될 수 있다. 여기서, 너비와 깊이에 의해 정의되는 사물의 크기는 사물을 위에서 내려다 봤을 때 2차원 평면의 면적에 대응될 수 있다.
제어부(110)는 높이가 기준 범위에 포함되는 사물(O2, O3) 중 크기가 기준 크기 이상인 사물(O2)은 승월하기로 결정할 수 있다. 예를 들어, 카펫, 러그, 문턱 등의 사물이 승월 대상으로 결정될 수 있다.
제어부(110)는 높이가 기준 범위에 포함되는 사물(O2, O3) 중 크기가 기준 크기 미만인 사물(O3)은 회피하기로 결정할 수 있다. 예를 들어, 블록 장난감, 케이블, 견변, 유리컵, 그릇 등의 사물이 회피 대상으로 결정될 수 있다.
그러나, 도 8에 도시된 바와 같이, 높이가 기준 범위에 포함되고 크기가 기준 크기 이상인 사물(O2)이더라도 사물(O2) 전체가 감지부(140)의 FOV 내에 포함되지 않고, FOV의 경계에 위치하는 경우에는 그 크기에 대한 판단에 오류가 발생하여 결과적으로 승월 또는 회피 여부에 대한 결정이 잘못될 수 있다. 즉, 승월해야 하는 장애물을 회피하여 청소가 필요한 영역에 대해 청소가 수행되지 않는 경우가 발생할 수 있다.
사물이 FOV 경계에 위치하는 것은, 사물이 FOV의 경계에 걸쳐서 존재하는 것 즉, 사물이 FOV 내부와 외부에 모두 존재하는 것을 의미할 수 있다. 예를 들어, 제어부(110)는 감지부(140)가 획득한 사물에 대한 데이터가 FOV의 경계까지 연속되어 있는 경우에 사물이 FOV의 경계에 위치하는 것으로 판단할 수 있다.
다만, 사물이 FOV 의 경계에 위치하더라도 감지부(140)가 사물의 승월 또는 회피 여부를 판단하기에 충분한 데이터를 획득하였고, 감지부(140)가 획득한 데이터에 의해 판단한 크기가 기준 크기 이상인 경우에는 스캔 모션을 수행하지 않고 사물을 승월하기로 결정하는 것도 가능하다.
예를 들어, 일반적인 카펫은 큰 크기로 인해 감지부(140)의 FOV 내에 전부 위치하지 않고 FOV의 경계에 위치하는 경우가 자주 발생한다. 그러나, 카펫이 감지부(140)의 FOV의 경계에 위치하더라도 감지부(140)가 획득한 데이터에 기초하여 판단한 크기가 기준값 이상이면 승월 대상으로 판단하여 카펫 위를 주행하면서 청소를 수행할 수 있다.
그러나, 도 9의 예시에 도시된 바와 같이, ①청소 로봇(100)이 카펫(C)을 향해 둔각으로 진입하거나, ②카펫(C)의 코너에서 진입하거나, ③청소 로봇(100)이 카펫(C)의 가장자리를 따라 주행하는 경우, 카펫(C)의 일부만이 감지되어 회피 대상으로 판단되는 상황이 발생할 수 있다.
또는, ④청소 로봇(100)과 카펫(C) 사이에 물체가 존재하여 카펫(C)에 대해 획득된 데이터가 분리된 두 개의 사물로부터 획득된 데이터로 인식되는 경우 또는 ⑤청소 로봇(100)에서 먼 위치로부터 획득된 데이터에 노이즈가 포함되어 있는 경우에도, 카펫(C)이 회피 대상으로 판단되는 상황이 발생할 수 있다.
따라서, 제어부(110)는 사물의 높이가 정해진 범위에 포함되고, 사물이 감지부(140)의 FOV의 경계에 위치하는 경우에는 사물의 크기에 대한 데이터를 추가적으로 획득하기 위해 스캔 모션이 필요한 것으로 판단할 수 있다.
또한, 제어부(110)는 사물의 높이가 정해진 범위에 포함되고, 사물이 감지부(140)의 FOV의 경계에 위치하더라도 감지부(140)가 획득한 데이터에 기초하여 판단한 사물의 크기가 기준값 이상이면 스캔 모션을 수행하지 않고, 사물의 크기가 기준값 미만일 때 스캔 모션을 수행하는 것도 가능하다.
이하, 일 실시예에 따른 청소 로봇(100)이 수행하는 스캔 모션의 동작을 구체적으로 설명한다.
도 10 및 도 11은 일 실시예에 따른 청소 로봇이 수행하는 스캔 모션의 예시를 나타낸 도면이다.
전술한 바에 따라 제어부(110)가 스캔 모션을 수행하기로 결정한 경우, 제어부(110)는 FOV의 경계에 위치하는 사물의 위치에 기초하여 본체(101)의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정할 수 있다.
예를 들어, 도 10 및 도 11에 도시된 바와 같이, 사물(O)이 FOV의 좌측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 좌측으로 결정할 수 있다.
전술한 바와 같이, 제어부(110)는 주행 휠(122a,122b)의 회전에 의해 본체(101)를 이동시키기 위해 주행 구동부(121)에 제어 신호를 전송할 수 있다. 또한, 좌우측 주행 휠(121a, 121b)이 같은 방향으로 회전하되, 서로 다른 속도로 회전하면 본체(101)는 우측 또는 좌측으로 곡선 이동하며. 좌우측 주행 휠(121a, 121b)이 서로 다른 방향으로 회전하면 본체(101)는 제자리에서 좌측 또는 우측으로 회전할 수 있다.
따라서, 제어부(110)가 본체(101)를 제자리에서 좌측으로 회전시키기로 결정한 경우에는, 좌측 주행 휠(121a)은 후방을 향하여 회전시키고 우측 주행 휠(121b)은 전방을 향하여 회전시키도록 주행 구동부(121)에 제어 신호를 전송할 수 있다.
반대로, 사물(O)이 FOV의 우측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 우측으로 결정할 수 있고, 좌측 주행 휠(121a)은 전방을 향하여 회전시키고 우측 주행 휠(121b)은 후방을 향하여 회전시키도록 주행 구동부(121)에 제어 신호를 전송할 수 있다.
한편, 사물이 FOV의 좌우 경계에 모두 걸쳐 있는 경우에는 회전 방향을 우선도가 높게 설정된 방향으로 결정할 수 있다. 예를 들어, 장애물 센서(141)로 채용된 3D 센서의 FOV가 좌측이 우측보다 더 넓은 경우에는 좌측 회전의 우선도를 높게 설정할 수 있다.
또한, FOV의 경계에 위치하는 사물이 본체(101)의 전방에 위치하는 경우, 즉 사물이 FOV의 전방 경계에 위치하는 경우에는 제어부(110)는 본체(101)의 주행 방향을 전방으로 결정하고, 본체(101)를 전진시킬 수 있다.
제어부(110)는 본체(101)를 회전 또는 전진시킴에 있어서, 미리 정해진 회전 각도만큼 회전시키거나 미리 정해진 주행 거리만큼 전진시킬 수도 있다. 또는, 명확한 크기 감지를 위해 FOV의 경계에 위치하는 사물의 단부가 감지될 때까지 본체(101)를 회전 또는 전진시킬 수도 있다. 즉, FOV의 경계에 위치하는 사물의 단부에 대한 데이터가 획득될 때까지 본체(101)를 회전 또는 전진시킬 수 있다.
또는, 제어부(110)는 본체(101)가 회전 또는 전진하는 중에도 감지부(140)가 획득한 데이터에 기초하여 사물의 크기를 판단하고, 미리 정해진 회전 각도에 도달하지 않았거나 사물의 단부가 감지되지 않았더라도 사물의 크기가 정해진 기준 크기 이상이 되면 본체(101)의 회전 또는 전진을 중지시킬 수도 있다.
한편, 제어부(110)는 본체(101)의 회전 속도 또는 주행 속도를 결정할 수도 있다. 회전 속도는 감지부(140)의 FOV와 센싱 속도에 기초하여 결정될 수 있다. 예를 들어, 감지부(140)의 FOV가 클수록 센싱 속도가 빠를 수록 본체(101)의 회전 속도도 빠른 속도로 결정될 수 있다.
전술한 바와 같이, 제어부(110)가 스캔 모션을 수행하기 위한 인자들(회전 방향, 주행 방향, 회전 각도, 주행 거리, 회전 속도, 주행 속도 등)을 결정하고, 결정된 인자들에 따라 본체(101)를 이동시켜 스캔 모션을 수행하면, 스캔 모션 수행 중 또는 스캔 모션 수행 후에 감지부(140)가 획득한 데이터에 기초하여 사물의 크기를 판단할 수 있다.
도 10의 예시와 같이, 스캔 모션에 의해 획득된 데이터에 기초하여 판단된 사물의 크기가 기준 크기보다 큰 경우 청소 로봇(100)은 사물을 승월할 수 있고, 도 11의 예시와 같이, 스캔 모션에 의해 획득된 데이터에 기초하여 판단된 사물의 크기가 기준 크기보다 이하인 경우 청소 로봇(100)은 사물을 회피할 수 있다.
앞서 언급한 바와 같이, 청소 로봇(100)은 청소 영역을 주행하면서 감지부(140)를 통해 획득한 데이터에 기초하여 청소 영역에 대한 청소 맵을 생성할 수 있고, 생성된 청소 맵은 저장부(150)에 저장될 수 있다. 스캔 모션을 통해 판단한 결과도 청소 맵에 저장될 수 있다.
도 12는 일 실시예에 따른 청소 로봇이 출력하는 사물 인식의 결과를 나타낸 테이블이고, 도 13은 일 실시예에 따른 청소 로봇이 사물 인식을 수행하는 경우에 이뤄지는 스캔 모션을 설명하기 위한 도면이다.
전술한 바와 같이, 일 실시예에 따른 청소 로봇(100)의 감지부(140)는 영상 센서(142)를 포함할 수 있다. 영상 센서(142)는 본체(101)의 주변 영상을 획득할 수 있다.
제어부(110)는 영상 센서(142)가 획득한 주변 영상에 사물 인식을 수행할 수 있다. 구체적으로, 영상 처리를 수행하는 그래픽 프로세서(112)가 주변 영상에 사물 인식 알고리즘을 적용하여 주변 영상에 나타난 사물이 무엇인지 인식할 수 있다. 예를 들어, 하나의 타겟 사물에 대해 적어도 하나의 사물의 종류와 그에 대한 매칭 확률이 사물 인식의 결과로서 출력될 수 있다. 여기서, 매칭 확률은 해당 사물이, 출력된 사물의 종류에 매칭될 확률을 의미한다.
주변 영상에 나타난 복수의 사물 중 하나의 타겟 사물에 대한 사물 인식의 결과가 도 12의 예시에 도시된 바와 같이, 사물의 종류와 그에 대한 매칭 확률이 유리컵-95%, 테이블 다리-50%, 장난감-20%로 출력될 수 있다. 이러한 결과는 인식 대상인 사물이 물컵일 확률이 90%, 테이블 다리일 확률이 50%, 장난감일 확률이 20%의 확률인 것을 나타낼 수 있다.
제어부(110)는 정해진 기준 확률(제1기준 확률) 이상의 매칭 확률을 갖는 사물의 종류를 타겟 사물로 인식할 수 있다. 예를 들어, 정해진 기준 확률이 90%이고, 사물 인식 결과가 도 12의 예시와 같은 경우에, 제어부(110)는 타겟 사물을 유리컵으로 인식할 수 있다.
제어부(110)는 장애물에 대한 사물 인식 결과에 기초하여 장애물을 회피할 지 또는 승월할 지 여부를 결정할 수 있다. 예를 들어, 제어부(110)는 사물의 종류 별로 회피 여부 또는 승월 여부를 매칭시켜 저장할 수 있다. 제어부(110)는 영상 센서(142)가 획득한 주변 영상에 나타난 사물이 무엇인지 인식하고, 인식된 사물이 회피 대상 장애물인지 또는 승월 대상 장애물인지 여부에 따라 주행 경로를 산출할 수 있다.
한편, 청소 로봇(100)이 사물 인식을 수행하는 경우에도 타겟 사물이 영상 센서(142)의 FOV의 경계에 위치하는 경우에는 사물의 전체가 주변 영상에 나타나지 않기 때문에 인식 결과에 오류가 발생할 수 있다.
인식 결과의 오류로 인해 승월 또는 회피 여부에 대한 결정이 잘못될 수 있다. 예를 들어, 승월해야 하는 장애물을 회피하여 청소가 필요한 영역에 대해 청소가 수행되지 않는 경우가 발생할 수 있고, 회피해야 하는 장애물을 승월하여 사물 또는 청소 로봇이 파손 또는 고장나거나 청소 영역이 오히려 더 오염되는 상황이 발생할 수 있다.
따라서, 제어부(110)는 영상 센서(142)가 획득한 주변 영상에 나타난 사물이 영상 센서(142)의 FOV의 경계에 위치하고, FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족하면, 해당 사물이 위치하는 방향으로 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 주행부(120)를 제어할 수 있다.
제어부(110)는 영상 센서(142)가 획득한 주변 영상에 나타난 사물이 영상 센서(142)의 FOV의 경계까지 연속되어 존재하는 경우에 해당 사물이 영상 센서(142)의 FOV의 경계에 위치하는 것으로 판단할 수 있다.
제어부(110)는 주변 영상에 나타난 사물에 대한 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되지 않고, 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 미리 정해진 장애물에 해당하면 미리 정해진 조건을 만족하는 것으로 판단하고, 스캔 모션을 수행할 수 있다. 미리 정해진 장애물은 앞서 언급한 승월 대상 장애물 또는 회피 대상 장애물일 수 있다.
사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되면, 스캔 모션을 수행할 필요 없이 전술한 내용에 따라 타겟 사물을 해당 매칭 확률을 갖는 사물의 종류로 인식할 수 있다.
어떤 사물의 종류가 제2기준 확률 미만의 매칭 확률을 갖는 경우에는 타겟 사물이 해당 사물의 종류에 대응될 확률이 매우 낮으므로 스캔 모션을 수행하지 않아도 무방하다.
어떤 사물의 종류가 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 경우에는, 타겟 사물이 해당 사물의 종류에 대응되는 것으로 판단하기에는 데이터가 부족하지만 대응될 가능성이 있는 것을 의미하므로, 스캔 모션을 통해 추가적으로 데이터를 획득할 수 있다.
제1기준 확률과 제2기준 확률은 실험, 통계, 시뮬레이션 등을 통해 결정될 수 있다.
또한, 매칭 확률이 확률에 대한 조건을 만족하더라도 해당 매칭 확률을 갖는 사물의 종류가 정해진 장애물에 해당하지 않으면 스캔 모션을 수행하지 않는 것도 가능하다. 예를 들어, 유리컵, 견변, 케이블, 카펫, 러그, 문턱 등의 사물의 종류가 장애물로 정해질 수 있고, 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 정해진 장애물에 해당하는 경우에 스캔 모션을 수행할 수 있다.
도 13의 예시는 청소 로봇(100)의 청소 영역에 유리컵(G)이 존재하고 청소 로봇(100)의 현재 위치에서 유리컵(G)이 영상 센서(142)의 FOV의 경계에 위치하는 경우를 나타낸다.
청소 로봇(100)의 현재 위치에서 영상 센서(142)가 획득한 주변 영상(IM1)에는 유리컵(G)이 나타나지만 일부만이 나타나 전체 형상을 인식할 수는 없다.
제어부(110)는 주변 영상(IM1)에 사물 인식을 수행할 수 있고, 사물 인식의 결과에 제1기준 확률 미만 제2기준 확률 이상의 매칭 확률이 포함되고 해당 매칭 확률을 갖는 사물의 종류가 유리컵이면 제어부(110)는 정해진 조건이 만족되는 것으로 판단하고, 스캔 모션을 수행할 수 있다.
스캔 모션의 수행 방식은 앞서 설명한 바와 동일하다. 구체적으로, 제어부(110)는 FOV의 경계에 위치하는 사물의 위치에 기초하여 본체(101)의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정할 수 있다.
예를 들어, 도 13에 도시된 바와 같이, 사물(G)이 FOV의 우측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 우측으로 결정할 수 있고, 주행 구동부(121)에 제어 신호를 전송하여 본체(101)를 우측으로 회전시킬 수 있다.
반대로, 사물이 FOV의 좌측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 좌측으로 결정할 수 있고, 주행 구동부(121)에 제어 신호를 전송하여 본체(101)를 좌측으로 회전시킬 수 있다.
한편, 사물이 FOV의 좌우 경계에 모두 걸쳐 있는 경우에는 회전 방향을 우선도가 높게 설정된 방향으로 결정할 수 있다.
또한, FOV의 경계에 위치하는 사물이 본체(101)의 전방에 위치하는 경우, 즉 사물이 FOV의 전방 경계에 위치하는 경우에는 제어부(110)는 본체(101)의 주행 방향을 전방으로 결정하고, 본체(101)를 전진시킬 수 있다.
한편, 사물 인식의 성능은 영상 센서(142)와 사물 사이의 거리에 따라 달라질 수 있다. 따라서, 사물이 FOV의 우측 경계 또는 좌측 경계에 위치하는 경우에도 본체(101)의 회전에 더하여 사물과 본체(101) 사이에 정해진 거리까지 근접하도록 이동시키는 것도 가능하다.
제어부(110)는 본체(101)를 회전 또는 전진시킴에 있어서, 미리 정해진 회전 각도만큼 회전시키거나 미리 정해진 주행 거리만큼 전진시킬 수도 있고 명확한 사물 인식을 위해 도 13의 우측에 도시된 바와 같이 사물(G)이 FOV내의 특정 영역에 위치할 때까지 본체(101)를 회전 또는 전진시킬 수도 있다. 사물(G)이 FOV 내의 특정 영역에 위치했을 때 획득된 주변 영상(IM2)을 이용하여 다시 사물 인식을 수행한다.
제어부(110)는 스캔 모션이 완료된 후에 사물 인식을 다시 수행할 수도 있고, 본체(101)가 회전 또는 전진하는 중에도 영상 센서(142)가 획득한 주변 영상에 기초하여 사물을 인식하는 것도 가능하다. 미리 정해진 회전 각도에 도달하지 않았거나 사물이 FOV 내의 특정 영역에 위치하지 않았더라도, 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되면 본체(101)의 회전 또는 전진을 중지시킬 수도 있다.
한편, 제어부(110)는 본체(101)의 회전 속도 또는 주행 속도를 결정할 수도 있다. 회전 속도는 영상 센서(142)의 FOV와 센싱 속도에 기초하여 결정될 수 있다. 예를 들어, 영상 센서(142)의 FOV가 클수록 센싱 속도가 빠를 수록 본체(101)의 회전 속도도 빠른 속도로 결정될 수 있다.
전술한 바와 같이, 스캔 모션을 수행하기 위한 인자들(회전 방향, 주행 방향, 회전 각도, 주행 거리, 회전 속도, 주행 속도 등)이 결정되고, 결정된 인자들에 따라 스캔 모션이 수행되면, 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에 기초하여 사물 인식을 수행하고 사물 인식의 결과에 기초하여 장애물의 회피 여부 또는 승월 여부를 결정할 수 있다.
구체적으로, 제어부(110)는 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에 대해 사물 인식을 수행하고, 인식된 사물이 미리 정해진 회피 대상 장애물에 대응되면 해당 사물을 회피하도록 주행부(120)를 제어할 수 있다. 여기서, 인식된 사물은 제1기준 확률 이상의 매칭 확률을 갖는 사물의 종류일 수 있다.
또한, 제어부(110)는 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에서 인식된 사물이 미리 정해진 승월 대상 장애물에 대응되면 해당 사물을 승월하도록 주행부(120)를 제어할 수 있다.
제어부(110)는 청소 영역을 주행하면서 영상 센서(142)가 획득한 주변 영상에 나타난 적어도 하나의 사물에 대한 사물 인식의 결과에 기초하여 청소 영역에 대한 청소 맵을 생성하고 생성된 청소 맵을 저장부(150)에 저장할 수 있다.
제어부(110)는 스캔 모션에 의해 획득된 사물 인식의 결과를 청소 맵에 저장할 수 있다. 그 이후에 청소 로봇(100)의 주행 중에 다시 스캔 모션이 필요한 상황이 발생하더라도 해당 위치에 이미 스캔 모션에 의해 획득된 사물에 대한 정보가 저장되어 있고 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 청소 맵에 저장된 사물과 일치하면 스캔 모션을 생략하고 청소 맵에 저장된 사물 정보에 기초하여 주행 경로를 산출할 수 있다.
또는, 제어부(110)는 스캔 모션 수행 이후 정해진 시간 이내에 또는 스캔 모션이 수행된 위치로부터 정해진 범위 이내의 위치에서 다시 스캔 모션이 필요한 것으로 판단된 경우, 스캔 모션을 생략하고 청소 맵에 저장된 사물 정보에 기초하여 주행 경로를 산출할 수 있다.
이하, 일 실시예에 따른 청소 로봇의 제어 방법에 대해 설명한다. 일 실시예에 따른 청소 로봇의 제어 방법을 실시함에 있어서, 전술한 청소 로봇(100)이 사용될 수 있다. 따라서, 도 1 내지 도 13을 참조하여 설명한 내용은 별도의 언급이 없더라도 청소 로봇의 제어 방법에도 동일하게 적용될 수 있다.
도 14는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 사물의 크기에 기초하여 스캔 모션의 수행 여부를 판단하는 방법에 관한 순서도이다.
도 14를 참조하면, 감지부(140)를 이용하여 본체(101)의 주변에 존재하는 사물의 크기에 관한 데이터를 획득한다(310). 제어부(110)는 청소 로봇(100)의 주변에 위치하는 사물의 크기에 기초하여 이를 회피할 지 또는 승월할 지 여부를 결정할 수 있다. 이 때, 사물의 크기를 판단하기 위해 감지부(140)가 획득한 사물의 크기에 관한 데이터를 이용할 수 있다.
사물의 크기에 관한 데이터에 기초하여 사물의 높이를 계산한다(320). 제어부(110)는 높은 사물은 크기에 상관없이 회피하기로 결정하고, 낮은 사물은 크기가 작으면 회피하고 크기가 크면 승월하기로 결정할 수 있다.
계산된 사물의 높이가 정해진 범위에 포함되고(330의 예), 사물이 FOV의 경계에 위치하면(340의 예), 스캔 모션을 수행한다(350). 사물의 높이에 대한 기준 범위에 대한 설명은 앞서 도 6을 참조하여 설명한 바와 같다.
순서도의 특성 상 사물의 높이를 판단하는 단계를 사물이 FOV의 경계에 위치하는지 여부를 판단하는 단계보다 먼저 기재하였으나, 순서가 뒤바뀌는 것도 가능하고 동시에 판단되는 것도 가능하다.
또한, 사물의 높이가 정해진 범위에 포함되고, 사물이 감지부(140)의 FOV의 경계에 위치하더라도 감지부(140)가 획득한 데이터에 기초하여 판단한 사물의 크기가 기준값 이상이면 스캔 모션을 수행하지 않고, 사물의 크기가 기준값 미만일 때 스캔 모션을 수행하는 것도 가능하다.
스캔 모션을 수행하는 것은, 제어부(110)가 FOV의 경계에 위치하는 사물의 위치에 기초하여 본체(101)의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정하는 것을 포함할 수 있다.
예를 들어, 사물이 FOV의 좌측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 좌측으로 결정할 수 있고, 사물이 FOV의 우측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 우측으로 결정할 수 있다.
한편, 사물이 FOV의 좌우 경계에 모두 걸쳐 있는 경우에는 회전 방향을 우선도가 높게 설정된 방향으로 결정할 수 있다.
또한, FOV의 경계에 위치하는 사물이 본체(101)의 전방에 위치하는 경우, 즉 사물이 FOV의 전방 경계에 위치하는 경우에는 제어부(110)는 본체(101)의 주행 방향을 전방으로 결정하고, 본체(101)를 전진시킬 수 있다.
제어부(110)는 본체(101)를 회전 또는 전진시킴에 있어서, 미리 정해진 회전 각도만큼 회전시키거나 미리 정해진 주행 거리만큼 전진시킬 수도 있다. 또는, 명확한 크기 감지를 위해 FOV의 경계에 위치하는 사물의 단부가 감지될 때까지 본체(101)를 회전 또는 전진시킬 수도 있다. 즉, FOV의 경계에 위치하는 사물의 단부에 대한 데이터가 획득될 때까지 본체(101)를 회전 또는 전진시킬 수 있다.
또는, 제어부(110)는 본체(101)가 회전 또는 전진하는 중에도 감지부(140)가 획득한 데이터에 기초하여 사물의 크기를 판단하고, 미리 정해진 회전 각도에 도달하지 않았거나 사물의 단부가 감지되지 않았더라도 사물의 크기가 정해진 기준 크기 이상이 되면 본체(101)의 회전 또는 전진을 중지시킬 수도 있다.
한편, 스캔 모션을 수행하는 것은 제어부(110)가 본체(101)의 회전 속도 또는 주행 속도를 결정하는 것을 포함할 수도 있다. 회전 속도는 감지부(140)의 FOV와 센싱 속도에 기초하여 결정될 수 있다. 예를 들어, 감지부(140)의 FOV가 클수록 센싱 속도가 빠를 수록 본체(101)의 회전 속도도 빠른 속도로 결정될 수 있다.
도 15는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 스캔 모션 수행 이후의 동작을 나타낸 순서도이다.
전술한 바와 같이, 제어부(110)가 스캔 모션을 수행하기 위한 인자들(회전 방향, 주행 방향, 회전 각도, 주행 거리, 회전 속도, 주행 속도 등)을 결정하고, 결정된 인자들에 따라 본체(101)를 이동시켜 스캔 모션을 수행하면, 스캔 모션 수행 중 또는 스캔 모션 수행 후에 감지부(140)가 사물의 크기에 관한 데이터를 획득하고(361), 제어부(110)는 획득된 데이터에 기초하여 사물의 크기를 판단할 수 있다(362). 여기서, 사물의 크기는 사물의 너비 및 깊이 중 적어도 하나에 의해 정의되는 크기를 의미할 수 있다.
스캔 모션에 의해 획득된 데이터에 기초하여 판단된 사물의 크기가 기준 크기보다 큰 경우(363의 예), 청소 로봇(100)은 사물을 승월할 수 있고(364), 스캔 모션에 의해 획득된 데이터에 기초하여 판단된 사물의 크기가 기준 크기보다 이하인 경우(363의 아니오), 청소 로봇(100)은 사물을 회피할 수 있다(365). 또한, 스캔 모션을 통해 판단한 결과는 청소 맵에 저장될 수 있다.
도 16은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 사물 인식에 기초하여 스캔 모션의 수행 여부를 판단하는 방법에 관한 순서도이다.
도 16을 참조하면, 영상 센서(142)를 이용하여 본체(101)의 주변 영상을 획득하고(410), 주변 영상에 대해 사물 인식을 수행한다(420). 예를 들어, 제어부(110)에서 영상 처리를 수행하는 그래픽 프로세서(112)가 주변 영상에 사물 인식 알고리즘을 적용하여 주변 영상에 나타난 사물이 무엇인지 인식할 수 있다. 예를 들어, 하나의 타겟 사물에 대해 적어도 하나의 사물의 종류와 그에 대한 매칭 확률이 사물 인식의 결과로서 출력될 수 있다. 여기서, 매칭 확률은 해당 사물이, 출력된 사물의 종류에 매칭될 확률을 의미한다. 사물 인식의 결과에 대한 설명은 앞서 도 12에서 설명한 바와 같다.
일 실시예에 따른 청소 로봇의 제어 방법에 의하면, 제어부(110)가 장애물에 대한 사물 인식 결과에 기초하여 장애물을 회피할 지 또는 승월할 지 여부를 결정할 수 있다. 예를 들어, 제어부(110)는 사물의 종류 별로 회피 여부 또는 승월 여부를 매칭시켜 저장할 수 있다. 제어부(110)는 영상 센서(142)가 획득한 주변 영상에 나타난 사물이 무엇인지 인식하고, 인식된 사물에 매칭된 회피 여부 또는 승월 여부에 따라 주행 경로를 산출할 수 있다.
한편, 청소 로봇(100)이 사물 인식을 수행하는 경우에도 타겟 사물이 영상 센서(142)의 FOV의 경계에 위치하는 경우에는 사물의 전체가 주변 영상에 나타나지 않기 때문에 인식 결과에 오류가 발생할 수 있다.
따라서, 사물이 영상 센서(142)의 FOV의 경계에 위치하고(430의 예), 사물 인식의 결과가 정해진 조건을 만족하면(440의 예), 스캔 모션을 수행할 수 있다(450). 순서도의 특성 상 사물이 FOV의 경계에 위치하는지 여부를 판단하는 단계를 사물 인식의 결과가 정해진 조건을 만족하는지 여부를 판단하는 단계보다 먼저 기재하였으나, 순서가 뒤바뀌는 것도 가능하고 동시에 판단되는 것도 가능하다.
예를 들어, 주변 영상에 나타난 사물에 대한 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되지 않고, 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 미리 정해진 장애물에 해당하면 미리 정해진 조건을 만족하는 것으로 판단하고, 스캔 모션을 수행할 수 있다.
제1기준 확률과 제2기준 확률은 실험, 통계, 시뮬레이션 등을 통해 결정될 수 있다.
예를 들어, 유리컵, 견변, 케이블, 카펫, 러그, 문턱 등의 사물의 종류가 승월 대상 장애물 또는 회피 대상 장애물로 정해질 수 있고, 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 정해진 장애물에 해당하는 경우에 스캔 모션을 수행할 수 있다.
스캔 모션을 수행하는 것은, 제어부(110)가 FOV의 경계에 위치하는 사물의 위치에 기초하여 본체(101)의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정하는 것을 포함할 수 있다.
예를 들어, 사물이 FOV의 우측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 우측으로 결정할 수 있고, 주행 구동부(121)에 제어 신호를 전송하여 본체(101)를 우측으로 회전시킬 수 있다.
반대로, 사물이 FOV의 좌측 경계에 위치하는 경우, 제어부(110)는 본체(101)의 회전 방향을 좌측으로 결정할 수 있고, 주행 구동부(121)에 제어 신호를 전송하여 본체(101)를 좌측으로 회전시킬 수 있다.
한편, 사물이 FOV의 좌우 경계에 모두 걸쳐 있는 경우에는 회전 방향을 우선도가 높게 설정된 방향으로 결정할 수 있다.
또한, FOV의 경계에 위치하는 사물이 본체(101)의 전방에 위치하는 경우, 즉 사물이 FOV의 전방 경계에 위치하는 경우에는 제어부(110)는 본체(101)의 주행 방향을 전방으로 결정하고, 본체(101)를 전진시킬 수 있다.
한편, 사물 인식의 성능은 영상 센서(142)와 사물 사이의 거리에 따라 달라질 수 있다. 따라서, 사물이 FOV의 우측 경계 또는 좌측 경계에 위치하는 경우에도 본체(101)의 회전에 더하여 사물과 본체(101) 사이에 정해진 거리까지 근접하도록 이동시키는 것도 가능하다.
제어부(110)는 본체(101)를 회전 또는 전진시킴에 있어서, 미리 정해진 회전 각도만큼 회전시키거나 미리 정해진 주행 거리만큼 전진시킬 수도 있고 명확한 사물 인식을 위해 사물이 FOV내의 특정 영역에 위치할 때까지 본체(101)를 회전 또는 전진시킬 수도 있다. 사물이 FOV 내의 특정 영역에 위치했을 때 획득된 주변 영상을 이용하여 다시 사물 인식을 수행한다.
제어부(110)는 스캔 모션이 완료된 후에 사물 인식을 다시 수행할 수도 있고, 본체(101)가 회전 또는 전진하는 중에도 영상 센서(142)가 획득한 주변 영상에 기초하여 사물을 인식하는 것도 가능하다. 미리 정해진 회전 각도에 도달하지 않았거나 사물이 FOV 내의 특정 영역에 위치하지 않았더라도, 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되면 본체(101)의 회전 또는 전진을 중지시킬 수도 있다.
한편, 스캔 모션을 수행하는 것은 제어부(110)가 본체(101)의 회전 속도 또는 주행 속도를 결정하는 것을 포함할 수도 있다. 회전 속도는 영상 센서(142)의 FOV와 센싱 속도에 기초하여 결정될 수 있다. 예를 들어, 영상 센서(142)의 FOV가 클수록 센싱 속도가 빠를 수록 본체(101)의 회전 속도도 빠른 속도로 결정될 수 있다.
전술한 바와 같이, 스캔 모션을 수행하기 위한 인자들(회전 방향, 주행 방향, 회전 각도, 주행 거리, 회전 속도, 주행 속도 등)이 결정되고, 결정된 인자들에 따라 스캔 모션이 수행되면, 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에 기초하여 사물 인식을 수행하고 사물 인식의 결과에 기초하여 장애물의 회피 여부 또는 승월 여부를 결정하는 것을 더 포함할 수 있다.
도 17은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 스캔 모션 이후의 동작을 나타낸 순서도이다.
도 17을 참조하면, 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)는 주변 영상을 획득하고(461), 제어부(110)는 영상 센서(142)가 획득한 주변 영상에 기초하여 사물 인식을 수행할 수 있다(462).
구체적으로, 제어부(110)는 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에서 인식된 사물이 미리 정해진 승월 대상 장애물에 대응되면(463의 예) 해당 사물을 승월할 수 있다(464). 여기서, 인식된 사물은 제1기준 확률 이상의 매칭 확률을 갖는 사물의 종류일 수 있다.
또한, 제어부(110)는 스캔 모션 수행 중 또는 스캔 모션 수행 후에 영상 센서(142)가 획득한 주변 영상에서 인식된 사물이 미리 정해진 회피 대상 장애물에 대응되면(463의 아니오) 해당 사물을 회피할 수 있다(465).
제어부(110)는 청소 영역을 주행하면서 영상 센서(142)가 획득한 주변 영상에 나타난 적어도 하나의 사물에 대한 사물 인식의 결과에 기초하여 청소 영역에 대한 청소 맵을 생성하고 생성된 청소 맵을 저장부(150)에 저장할 수 있다.
제어부(110)는 스캔 모션에 의해 획득된 사물 인식의 결과를 청소 맵에 저장할 수 있다. 그 이후에 청소 로봇(100)의 주행 중에 다시 스캔 모션이 필요한 상황이 발생하더라도 해당 위치에 이미 스캔 모션에 의해 획득된 사물에 대한 정보가 저장되어 있고 제2기준 확률 이상 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 청소 맵에 저장된 사물과 일치하면 스캔 모션을 생략하고 청소 맵에 저장된 사물 정보에 기초하여 주행 경로를 산출할 수 있다.
또는, 제어부(110)는 스캔 모션 수행 이후 정해진 시간 이내에 또는 스캔 모션이 수행된 위치로부터 정해진 범위 이내의 위치에서 다시 스캔 모션이 필요한 것으로 판단된 경우, 스캔 모션을 생략하고 청소 맵에 저장된 사물 정보에 기초하여 주행 경로를 산출할 수 있다.
이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 전술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.
Claims (15)
- 본체;상기 본체의 주변에 위치하는 사물의 크기에 관한 데이터를 획득하는 감지부;상기 본체를 이동시키는 주행부; 및상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 높이를 계산하고, 상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의FOV(Field of View)의 경계에 위치하면 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 상기 주행부를 제어하는 제어부;를 포함하는 청소 로봇.
- 제1항에 있어서,상기 제어부는,상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 너비 및 깊이에 의해 정의되는 크기를 계산하고, 상기 계산된 크기가 기준 크기 미만인 경우에 상기 스캔 모션을 수행하기로 결정하는 청소 로봇.
- 제1항에 있어서,상기 제어부는,상기 계산된 상기 사물의 높이가 정해진 기준 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 사물의 위치에 기초하여 상기 본체의 회전 방향, 주행 방향, 회전 각도 및 주행 거리 중 적어도 하나를 결정하는 청소 로봇.
- 제3항에 있어서,상기 제어부는,상기 계산된 상기 사물의 높이가 정해진 범위에 포함되고 상기 사물이 상기 감지부의 FOV(Field of View)의 경계에 위치하면, 상기 감지부의 FOV 및 상기 감지부의 센싱 속도 중 적어도 하나에 기초하여 상기 본체의 회전 속도 또는 전진 속도를 결정하는 청소 로봇.
- 제3항에 있어서,상기 제어부는,상기 사물이 상기 FOV의 왼쪽 경계에 위치하면, 상기 본체를 왼쪽으로 회전시키기 위해 상기 주행부를 제어하고, 상기 사물이 상기 FOV의 오른쪽 경계에 위치하면, 상기 본체를 오른쪽으로 회전시키기 위해 상기 주행부를 제어하고, 상기 사물이 상기 FOV의 전방 경계에 위치하면, 상기 본체를 전진시키기 위해 상기 주행부를 제어하는 청소 로봇.
- 제3항에 있어서,상기 제어부는,상기 스캔 모션의 수행 시에 미리 정해진 회전 각도만큼 상기 본체를 회전시키거나 또는 미리 정해진 거리만큼 상기 본체를 전진시키기 위해 상기 주행부를 제어하는 청소 로봇.
- 제3항에 있어서,상기 제어부는,상기 스캔 모션의 수행 시에 상기 FOV의 경계에 위치하는 사물의 단부에 대한 데이터가 획득될 때까지 상기 본체를 회전 또는 전진시키기 위해 상기 주행부를 제어하는 청소 로봇.
- 제3항에 있어서,상기 제어부는,상기 스캔 모션의 수행 중에 상기 사물의 크기에 관한 데이터에 기초하여 상기 사물의 크기를 판단하고, 상기 사물의 크기가 정해진 기준 크기 이상이 되면, 상기 스캔 모션을 중지시키기 위해 상기 주행부를 제어하는 청소 로봇.
- 본체;주변 영상을 획득하는 영상 센서;상기 본체를 이동시키는 주행부; 및상기 주변 영상에 나타난 사물이 상기 촬영부의 FOV(Field of View)의 경계에 위치하고, 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족하면, 상기 사물을 향해 상기 본체를 회전 또는 전진시키는 스캔 모션을 수행하기 위해 상기 주행부를 제어하는 제어부;를 포함하는 청소 로봇.
- 제9항에 있어서,상기 제어부는,적어도 하나의 사물의 종류 및 상기 사물의 종류에 대한 매칭 확률을 상기 사물 인식의 결과로서 출력하는 청소 로봇 .
- 제10항에 있어서,상기 제어부는,상기 사물 인식의 결과에 제1기준 확률 이상의 매칭 확률이 포함되지 않고, 제2기준 확률 이상 상기 제1기준 확률 미만의 매칭 확률을 갖는 사물의 종류가 미리 정해진 장애물에 해당하면 상기 정해진 조건을 만족하는 것으로 판단하는 청소 로봇.
- 제11항에 있어서,상기 제어부는,상기 FOV의 경계에 위치하는 사물에 대한 사물 인식의 결과가 정해진 조건을 만족하면, 상기 사물의 위치에 기초하여 상기 본체의 회전 방향, 회전 각도, 주행 방향 및 주행 거리 중 적어도 하나를 결정하는 청소 로봇.
- 제12항에 있어서,상기 제어부는,상기 사물이 상기 FOV 내의 특정 영역에 위치할 때까지 상기 스캔 모션을 수행하도록 상기 주행부를 제어하는 청소 로봇.
- 제12항에 있어서,상기 제어부는,상기 스캔 모션의 수행 중에 상기 FOV의 경계에 위치하는 사물에 대한 사물 인식을 수행하고, 상기 사물 인식 결과에 상기 제1기준 확률이 포함될 때까지 상기 스캔 모션을 수행하도록 상기 주행부를 제어하는 청소 로봇.
- 제12항에 있어서,상기 제어부는,상기 주변 영상에 나타난 적어도 하나의 사물에 대한 사물 인식의 결과에 기초하여 상기 본체가 주행하는 영역에 대한 청소 맵을 생성하고, 상기 생성된 청소 맵을 저장하는 청소 로봇.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200066011A KR20210148739A (ko) | 2020-06-01 | 2020-06-01 | 청소 로봇 및 그 제어 방법 |
KR10-2020-0066011 | 2020-06-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021246732A1 true WO2021246732A1 (ko) | 2021-12-09 |
Family
ID=78830080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/006724 WO2021246732A1 (ko) | 2020-06-01 | 2021-05-31 | 청소 로봇 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210148739A (ko) |
WO (1) | WO2021246732A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114947621B (zh) * | 2022-06-22 | 2022-12-13 | 宁波国琅机器人科技有限公司 | 一种扫地机器人清理控制方法、系统、存储介质及智能终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010015194A (ja) * | 2008-06-30 | 2010-01-21 | Ihi Corp | 自律移動ロボット装置及び自律移動ロボット装置の制御方法 |
KR20180023301A (ko) * | 2016-08-25 | 2018-03-07 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20180101081A (ko) * | 2017-03-03 | 2018-09-12 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20190046201A (ko) * | 2017-10-25 | 2019-05-07 | 엘지전자 주식회사 | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 |
US20200151446A1 (en) * | 2014-03-19 | 2020-05-14 | Neurala, Inc. | Methods and apparatus for autonomous robotic control |
-
2020
- 2020-06-01 KR KR1020200066011A patent/KR20210148739A/ko unknown
-
2021
- 2021-05-31 WO PCT/KR2021/006724 patent/WO2021246732A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010015194A (ja) * | 2008-06-30 | 2010-01-21 | Ihi Corp | 自律移動ロボット装置及び自律移動ロボット装置の制御方法 |
US20200151446A1 (en) * | 2014-03-19 | 2020-05-14 | Neurala, Inc. | Methods and apparatus for autonomous robotic control |
KR20180023301A (ko) * | 2016-08-25 | 2018-03-07 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20180101081A (ko) * | 2017-03-03 | 2018-09-12 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20190046201A (ko) * | 2017-10-25 | 2019-05-07 | 엘지전자 주식회사 | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20210148739A (ko) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022045808A1 (ko) | 청소 로봇 및 그 제어 방법 | |
AU2018239735B2 (en) | Cleaner and method of controlling the same | |
WO2017048046A1 (ko) | 청소 로봇 및 그 제어 방법 | |
WO2017200303A2 (ko) | 이동 로봇 및 그 제어방법 | |
AU2020209330B2 (en) | Mobile robot and method of controlling plurality of mobile robots | |
WO2019124913A1 (en) | Robot cleaners and controlling method thereof | |
WO2019199027A1 (ko) | 로봇 청소기 | |
WO2019194628A1 (ko) | 이동 로봇 및 그 제어방법 | |
AU2018216517B9 (en) | Cleaner | |
WO2019093831A1 (en) | Robot cleaner and control method thereof | |
WO2021172936A1 (en) | Moving robot and control method thereof | |
WO2019221524A1 (ko) | 청소기 및 그 제어방법 | |
AU2020231781B2 (en) | Moving robot and controlling method for the moving robot | |
WO2022092571A1 (ko) | 로봇 청소기 및 그의 주행 방법 | |
WO2019221523A1 (ko) | 청소기 및 그 제어방법 | |
WO2020004824A1 (en) | Plurality of autonomous cleaner and controlling method for the same | |
WO2020197135A1 (en) | Moving robot and controlling method for the same | |
WO2021246732A1 (ko) | 청소 로봇 및 그 제어 방법 | |
WO2019177418A1 (en) | Mobile robot and controlling method thereof | |
WO2019194550A1 (ko) | 구속 방지 필터를 구비하는 로봇 청소기 | |
WO2021006674A2 (ko) | 이동 로봇 및 그 제어방법 | |
AU2020208074B2 (en) | Mobile robot and method of controlling mobile robot | |
WO2021177724A1 (ko) | 이동 로봇 및 그 제어방법 | |
WO2020101244A1 (ko) | 청소 장치 및 그 제어 방법 | |
AU2019243374B2 (en) | Cleaner |
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: 21818526 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21818526 Country of ref document: EP Kind code of ref document: A1 |