WO2018139796A1 - 이동 로봇 및 그의 제어 방법 - Google Patents
이동 로봇 및 그의 제어 방법 Download PDFInfo
- Publication number
- WO2018139796A1 WO2018139796A1 PCT/KR2018/000761 KR2018000761W WO2018139796A1 WO 2018139796 A1 WO2018139796 A1 WO 2018139796A1 KR 2018000761 W KR2018000761 W KR 2018000761W WO 2018139796 A1 WO2018139796 A1 WO 2018139796A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- obstacle
- mobile robot
- unit
- image
- obstacles
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000033001 locomotion Effects 0.000 claims abstract description 36
- 238000010801 machine learning Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 15
- 231100001261 hazardous Toxicity 0.000 claims 1
- 238000013528 artificial neural network Methods 0.000 description 36
- 238000004140 cleaning Methods 0.000 description 24
- 238000013527 convolutional neural network Methods 0.000 description 24
- 238000013135 deep learning Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 13
- 238000001514 detection method Methods 0.000 description 12
- 239000000428 dust Substances 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 210000005224 forefinger Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0044—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- 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
- 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
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- 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/0003—Home robots, i.e. small robots for domestic use
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/46—Sensing device
- Y10S901/47—Optical
Definitions
- the present invention relates to a mobile robot and a control method thereof, and more particularly, to a mobile robot and a control method for performing obstacle recognition and avoidance or restraint escape based on machine learning.
- Robots have been developed for industrial use and have been a part of factory automation. Recently, the application of robots has been further expanded, medical robots, aerospace robots, and the like have been developed, and home robots that can be used in general homes have also been made. Among these robots, a moving robot capable of traveling by magnetic force is called a mobile robot.
- a representative example of a mobile robot used at home is a robot cleaner, which is a device that cleans a corresponding area by inhaling dust or foreign matter while driving around a certain area by itself.
- the mobile robot is capable of moving by itself and is free to move, and is provided with a plurality of sensors for avoiding obstacles and the like while driving, and may travel to avoid obstacles.
- an infrared sensor or an ultrasonic sensor is used to detect obstacles of a mobile robot.
- the infrared sensor determines the existence and distance of the obstacles based on the amount of reflected light or the reflected light returning to the obstacle, and the ultrasonic sensor emits an ultrasonic wave having a predetermined period, and the ultrasonic emission time when there is an ultrasonic wave reflected by the obstacle.
- the distance from the obstacle is determined by using the time difference between the moment of returning and the reflection of the obstacle.
- obstacle recognition and avoidance has a great effect on the running performance of the mobile robot as well as the cleaning performance, it is required to ensure the reliability of the obstacle recognition ability.
- the avoidance path may not be detected, and there is an increasing need for an escape algorithm of the mobile robot.
- the present invention is to provide a mobile robot and a control method for storing the position information on the obstacle in order to avoid the obstacle in advance.
- An object of the present invention is to recognize the information of the obstacle by the mobile robot itself without manual input by the user.
- An object of the present invention is to provide a mobile robot that escapes itself from a restrained state trapped in a plurality of obstacles.
- the mobile robot may include a sensor unit including one or more sensors for detecting an obstacle during movement.
- the sensor unit may store location information of the detected obstacle and location information of the mobile robot.
- the mobile robot registers an area having a predetermined size around a detected obstacle as a obstacle area in a map and stores an image obtained by the image acquisition unit in the obstacle area. It may include wealth.
- the mobile robot according to an embodiment of the present invention can identify the property of the obstacle by itself through repeated recognition and learning processes based on machine learning.
- the mobile robot according to an embodiment of the present invention may escape from the restrained state by moving the obstacle by itself based on the properties of the obstacles in the restrained state.
- the property of the obstacle can be identified by itself through repeated recognition and learning processes based on machine learning, user convenience is increased.
- the mobile robot may escape from the restrained state by moving the obstacle based on the properties of the obstacles in the restrained state, and thus the mobile robot may continue to travel by itself even when there is no user. It has an effect.
- FIG. 1 and 2 illustrate a mobile robot according to an embodiment of the present invention.
- FIG 3 is a view for explaining a mobile robot according to another embodiment of the present invention.
- FIG. 4 is a view for explaining a method for detecting and avoiding obstacles of a mobile robot.
- FIG. 5 is a perspective view illustrating a mobile robot and a charging table for charging the mobile robot according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating an upper surface of the mobile robot shown in FIG. 5.
- FIG. 7 is a diagram illustrating a front portion of the mobile robot shown in FIG. 5.
- FIG. 8 is a view illustrating a bottom portion of the mobile robot shown in FIG. 5.
- 9 and 10 are block diagrams showing a control relationship between main components of a mobile robot according to an embodiment of the present invention.
- FIG. 11 is an example of a simplified internal block diagram of a server according to an embodiment of the present invention.
- 16 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
- 17 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
- 18 to 20 are views for explaining a first embodiment of the obstacle avoidance driving of the mobile robot according to another embodiment of the present invention.
- 21 to 22 are views for explaining a second embodiment of the obstacle avoidance driving of the mobile robot according to another embodiment of the present invention.
- 23 to 25 are diagrams for describing a first embodiment in which a mobile robot moves an obstacle according to another embodiment of the present invention.
- 26 to 29 are diagrams for describing a second exemplary embodiment in which a mobile robot moves an obstacle according to another exemplary embodiment of the present invention.
- 30 to 34B are views for explaining a third embodiment in which a mobile robot moves an obstacle according to another embodiment of the present invention.
- 35 is a flowchart illustrating a method for controlling a mobile robot according to another embodiment of the present invention.
- FIG. 1 and 2 illustrate a mobile robot according to an embodiment of the present invention.
- the mobile robot 100 may include a main body 50, a left wheel 61a, a right wheel 61b, and a suction unit 70.
- the image information acquisition unit 110 including the depth sensor 111 may be provided at the upper front of the mobile robot 100.
- the RGB sensor 113 may also be provided.
- the left wheel 61a and the right wheel 61b can drive the main body 50. As the left wheel 61a and the right wheel 61b are rotated by the travel driving unit 170, foreign substances such as dust or garbage may be sucked through the suction unit 70.
- the suction unit 70 may be provided in the main body 50 to suck dust from the bottom surface.
- the suction unit 70 may further include a filter (not shown) that collects foreign matters from the suctioned airflow, and a foreign matter receiver (not shown) in which foreign matters collected by the filter are accumulated.
- FIG 3 is a view for explaining a mobile robot according to another embodiment of the present invention.
- the mobile robot 300 may include a main body 310, a display 320, and a driving driver 330.
- the main body 310 of the mobile robot 300 illustrated in FIG. 3 has a higher length than the main body of the mobile robot 100 described with reference to FIGS. 1 and 2, and may be advantageous in moving large obstacles.
- the main body 310 of the mobile robot 300 may have a forefinger (not shown) on both left and right sides, and the mobile robot 300 moves an object designated as an object or an obstacle to a specific position. I can move it.
- FIG. 4 is a view for explaining a method for detecting and avoiding obstacles of a mobile robot.
- the mobile robot may perform cleaning while sucking dust and foreign substances while moving (S411).
- the ultrasonic sensor may detect the ultrasonic signal reflected by the obstacle to recognize the presence of the obstacle (S412), and determine whether the height of the recognized obstacle exceeds the height (S413).
- the robot cleaner determines that the height can be exceeded, the robot cleaner moves straight (S414), and if not, rotates 90 degrees (S415).
- FIG. 5 is a perspective view illustrating a mobile robot and a charging table for charging the mobile robot according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating an upper surface portion of the mobile robot illustrated in FIG. 5
- FIG. 7 is a diagram illustrating a front portion of the mobile robot illustrated in FIG. 5
- FIG. 8 is a bottom portion of the mobile robot illustrated in FIG. 5. It is a degree.
- 9 and 10 are block diagrams showing the control relationship between the main components of the mobile robot according to an embodiment of the present invention.
- the mobile robots 400, 400a, and 400b include a main body 410 and image acquisition units 420, 420a and 420b for acquiring an image around the main body 410.
- the ceiling facing portion in the driving zone is defined as the upper surface portion (see FIG. 6)
- the floor facing portion in the driving zone is defined as the bottom portion (see FIG. 8)
- the portion of the portion forming the circumference of the main body 410 in the running direction between the upper surface portion and the lower surface portion is defined as a front portion (see FIG. 7).
- the mobile robots 400, 400a, and 400b include a driving unit 460 for moving the main body 410.
- the driving unit 460 includes at least one driving wheel 436 for moving the main body 410.
- the driving unit 460 includes a driving motor (not shown) connected to the driving wheel 436 to rotate the driving wheel.
- the driving wheels 436 may be provided at left and right sides of the main body 410, respectively, hereinafter referred to as left wheels 436 (L) and right wheels 436 (R).
- the left wheel 436 (L) and the right wheel 436 (R) may be driven by one drive motor, but the left wheel drive motor and the right wheel 436 (R) which drive the left wheel 436 (L) as necessary.
- Each right wheel drive motor for driving may be provided.
- the driving direction of the main body 410 can be switched to the left or the right by varying the rotational speeds of the left wheel 436 (L) and the right wheel 436 (R).
- An inlet 410h through which air is sucked may be formed in a bottom portion of the main body 410, and a suction device (not shown) that provides suction power so that air may be sucked through the inlet 410h in the main body 410. And a dust container (not shown) for collecting dust sucked with air through the suction port 410h.
- the main body 410 may include a case 411 forming a space in which various components constituting the mobile robot 400, 400a, and 400b are accommodated.
- An opening for inserting and removing the dust container may be formed in the case 411, and a dust container cover 412 that opens and closes the opening may be rotatably provided with respect to the case 411.
- the battery 438 supplies not only a driving motor but also power necessary for the overall operation of the mobile robots 400, 400a, and 400b.
- the mobile robots 400, 400a and 400b may travel to return to the charging table 500 for charging. During this return travel, the mobile robots 400, 400a and 400b Can detect the position of the charging station 500 by itself.
- Charging stage 500 may include a signal transmitter (not shown) for transmitting a predetermined return signal.
- the return signal may be an ultrasonic signal or an infrared signal, but is not limited thereto.
- the mobile robots 400, 400a, and 400b may include a signal detector (not shown) that receives a return signal.
- the charging unit 500 may transmit an infrared signal through the signal transmitter, and the signal detector may include an infrared sensor that detects the infrared signal.
- the mobile robots 400, 400a, and 400b move to the position of the charging stand 500 according to the infrared signal transmitted from the charging stand 500, and dock with the charging stand 500. By this docking, charging is performed between the charging terminal 433 of the mobile robots 400, 400a, and 400b and the charging terminal 510 of the charging table 500.
- the image acquisition unit 420 photographs the driving zone, and may include a camera module.
- the camera module may include a digital camera.
- a digital camera includes an image sensor (eg, a CMOS image sensor) including at least one optical lens and a plurality of photodiodes (eg, pixels) formed by light passing through the optical lens. It may include a digital signal processor (DSP) that forms an image based on the signals output from the photodiodes.
- DSP digital signal processor
- the digital signal processor may generate not only a still image but also a moving image composed of frames composed of the still image.
- the image acquisition unit 420 is provided on the front camera 420a and the upper surface of the main body 410 to acquire an image of the front of the main body 410, and acquires an image of the ceiling in the driving zone.
- the upper camera 420b is provided, the position and the photographing range of the image acquisition unit 420 are not necessarily limited thereto.
- a camera is installed at a portion (ex, front, rear, bottom) of the mobile robot, and the captured image can be continuously acquired during cleaning.
- Such cameras may be installed in several parts for each photographing efficiency.
- the image captured by the image may be used to recognize a kind of material such as dust, hair, floor, etc. existing in the space, to check whether or not to clean, or to check a cleaning time.
- the front camera 420a may capture a situation of an obstacle or a cleaning area existing in the front of the moving direction of the mobile robots 400, 400a, and 400b.
- the image acquisition unit 420 may acquire a plurality of images by continuously photographing the periphery of the main body 410, and the obtained plurality of images may be stored in the storage unit 450. Can be.
- the mobile robots 400, 400a, and 400b may increase the accuracy of obstacle recognition by using a plurality of images, or increase the accuracy of obstacle recognition by selecting one or more images from the plurality of images and using effective data.
- the mobile robots 400, 400a, and 400b may include a sensor unit 470 including sensors for sensing various data related to the operation and state of the mobile robot.
- the sensor unit 470 may include an obstacle detecting sensor 431 detecting a front obstacle.
- the sensor unit 470 may further include a cliff detection sensor 432 for detecting the presence of a cliff on the floor in the driving zone, and a lower camera sensor 439 for acquiring an image of the floor.
- the obstacle detecting sensor 431 may include a plurality of sensors installed at predetermined intervals on the outer circumferential surface of the mobile robot 400.
- the sensor unit 470 may include a first sensor disposed on the front surface of the main body 410, a second sensor disposed to be spaced left and right from the first sensor, and a third sensor. .
- the obstacle detecting sensor 431 may include an infrared sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, a position sensitive device (PSD) sensor, and the like.
- the position and type of the sensor included in the obstacle detecting sensor 431 may vary according to the type of the mobile robot, and the obstacle detecting sensor 431 may include more various sensors.
- the obstacle detecting sensor 431 is a sensor that detects a distance between an indoor wall and an obstacle, but the present invention is not limited to the type thereof. Hereinafter, an ultrasonic sensor will be described.
- the obstacle detecting sensor 431 detects an object in the driving (moving) direction of the mobile robot, in particular an obstacle, and transmits obstacle information to the controller 440. That is, the obstacle detecting sensor 431 may detect a moving path of the mobile robot, a protrusion existing in the front or side, a household picking device, a furniture, a wall, a wall edge, and the like, and transmit the information to the control unit.
- the controller 440 may detect the position of the obstacle based on at least two signals received through the ultrasonic sensor, and control the movement of the mobile robot 400 according to the detected position of the obstacle.
- the obstacle detecting sensor 431 provided on the outer surface of the case 410 may be configured to include a transmitter and a receiver.
- the ultrasonic sensor may be provided such that at least one transmitter and at least two receivers are staggered from each other. Accordingly, the signal may be radiated at various angles, and the signal reflected by the obstacle may be received at various angles.
- the signal received by the obstacle detecting sensor 431 may be subjected to signal processing such as amplification and filtering, and then the distance and direction to the obstacle may be calculated.
- the sensor unit 470 may further include a motion detection sensor for detecting the operation of the mobile robot (400, 400a, 400b) according to the driving of the main body 410 and outputs the operation information.
- a gyro sensor As the motion detection sensor, a gyro sensor, a wheel sensor, an acceleration sensor, or the like may be used.
- the gyro sensor detects a rotation direction and detects a rotation angle when the mobile robots 400, 400a and 400b move according to the driving mode.
- the gyro sensor detects the angular velocities of the mobile robots 400, 400a and 400b and outputs a voltage value proportional to the angular velocities.
- the controller 440 calculates the rotation direction and the rotation angle by using the voltage value output from the gyro sensor.
- the wheel sensor is connected to the left wheel 436 (L) and the right wheel 436 (R) to sense the number of revolutions of the wheel.
- the wheel sensor may be a rotary encoder.
- the rotary encoder detects and outputs the number of revolutions of the left wheel 436 (L) and the right wheel 436 (R).
- the controller 440 may calculate rotation speeds of the left and right wheels by using the rotation speed. In addition, the controller 440 may calculate the rotation angle using the difference in the rotation speed of the left wheel 436 (L) and the right wheel 436 (R).
- the acceleration sensor detects a change in speed of the mobile robots 400, 400a and 400b, for example, a change in the mobile robots 400, 400a and 400b according to a start, stop, direction change, collision with an object, and the like.
- the acceleration sensor is attached to the adjacent position of the main wheel or the auxiliary wheel, and can detect slippage or idle of the wheel.
- the acceleration sensor may be built in the controller 440 to detect a change in speed of the mobile robots 400, 400a, and 400b. That is, the acceleration sensor detects the impact amount according to the speed change and outputs a voltage value corresponding thereto.
- the acceleration sensor can perform the function of the electronic bumper.
- the controller 440 may calculate a position change of the mobile robots 400, 400a and 400b based on the motion information output from the motion detection sensor. This position becomes a relative position corresponding to the absolute position using the image information.
- the mobile robot can improve the performance of the position recognition using the image information and the obstacle information through the relative position recognition.
- the mobile robots 400, 400a, and 400b may include a power supply unit (not shown) that includes a rechargeable battery 438 and supplies power to the robot cleaner.
- the power supply unit supplies driving power and operating power to the components of the mobile robots 400, 400a and 400b, and when the remaining power is insufficient, the power supply unit may be charged by receiving a charging current from the charging station 500.
- the mobile robots 400, 400a, and 400b may further include a battery detector (not shown) that detects a charging state of the battery 438 and transmits a detection result to the controller 440.
- the battery 438 is connected to the battery detector so that the battery remaining amount and the charging state are transmitted to the controller 440.
- the remaining battery level may be displayed on the screen of the output unit (not shown).
- the mobile robots 400, 400a, and 400b include an operation unit 437 capable of inputting on / off or various commands.
- the control unit 437 may receive various control commands necessary for the overall operation of the mobile robot 400.
- the mobile robots 400, 400a, and 400b may include an output unit (not shown) to display reservation information, a battery state, an operation mode, an operation state, an error state, and the like.
- the mobile robots 400a and 400b include a controller 440 for processing and determining various types of information, such as recognizing a current location, and a storage unit 450 for storing various data.
- the mobile robots 400, 400a, and 400b may further include a communication unit 490 for transmitting and receiving data with an external terminal.
- the external terminal has an application for controlling the mobile robots 400a and 400b, and displays the map of the driving area to be cleaned by the mobile robots 400a and 400b through execution of the application, and cleans a specific area on the map. You can specify an area.
- Examples of the external terminal may include a remote controller, a PDA, a laptop, a smartphone, a tablet, and the like, having an application for setting a map.
- the external terminal may communicate with the mobile robots 400a and 400b to display the current location of the mobile robot together with a map, and information about a plurality of areas may be displayed. In addition, the external terminal updates and displays its position as the mobile robot travels.
- the controller 440 controls the overall operation of the mobile robot 400 by controlling the image acquisition unit 420, the operation unit 437, and the traveling unit 460 constituting the mobile robots 400a and 400b.
- the storage unit 450 records various types of information necessary for controlling the mobile robot 400 and may include a volatile or nonvolatile recording medium.
- the recording medium stores data that can be read by a microprocessor, and includes a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic Tapes, floppy disks, optical data storage devices, and the like.
- the storage unit 450 may store a map for the driving zone.
- the map may be input by an external terminal, a server, etc., which may exchange information with the mobile robots 400a and 400b through wired or wireless communication, or may be generated by the mobile robots 400a and 400b by learning themselves. have.
- the map may display the locations of the rooms in the driving zone.
- the current positions of the mobile robots 400a and 400b may be displayed on the map, and the current positions of the mobile robots 400a and 400b on the map may be updated during the driving process.
- the external terminal stores the same map as the map stored in the storage 450.
- the storage unit 450 may store cleaning history information. Such cleaning history information may be generated every time cleaning is performed.
- the map for the driving zone stored in the storage unit 450 is a navigation map used for driving during cleaning, a SLAM (Simultaneous localization and mapping) map used for location recognition, and hits an obstacle. It may be a learning map that stores information for use in learning cleaning, a global location map used for global location recognition, and an obstacle recognition map in which information about the recognized obstacle is recorded.
- SLAM Simultaneous localization and mapping
- maps may be stored and managed in the storage unit 450 for each use, but the map may not be clearly classified for each use.
- a plurality of pieces of information may be stored in one map to be used for at least two purposes.
- the controller 440 may include a driving control module 441, a position recognition module 442, a map generation module 443, and an obstacle recognition module 444.
- the driving control module 441 controls the driving of the mobile robots 400, 400a, and 400b, and controls the driving of the driving unit 460 according to the driving setting.
- the driving control module 441 may grasp the driving paths of the mobile robots 400, 400a, and 400b based on the operation of the driving unit 460.
- the driving control module 441 may grasp the current or past moving speed of the mobile robot 400, the distance traveled, and the like based on the rotational speed of the driving wheel 436, and each driving wheel 436 ( L), 436 (R)) can also determine the current or past direction change process according to the rotation direction.
- the positions of the mobile robots 400, 400a and 400b may be updated on the map.
- the map generation module 443 may generate a map of the driving zone.
- the map generation module 443 may generate a map by processing the image acquired through the image acquisition unit 420.
- a cleaning map corresponding to the cleaning area can be created.
- the map generation module 443 may recognize the global location by processing the image acquired through the image acquisition unit 420 at each location in association with the map.
- the location recognition module 442 estimates and recognizes the current location.
- the position recognition module 442 detects the position in association with the map generation module 443 using the image information of the image acquisition unit 420, so that even if the position of the mobile robot 400, 400a, 400b is suddenly changed.
- the current position can be estimated and recognized.
- the mobile robots 400, 400a, and 400b may recognize the position during continuous driving through the position recognition module 442, and may also use the map generation module 443 and the obstacle recognition module 444 without the position recognition module 442. You can learn the map and estimate your current location.
- the image acquisition unit 420 acquires images around the mobile robot 400.
- an image acquired by the image acquisition unit 420 is defined as an 'acquisition image'.
- the acquired image includes various features such as lightings on the ceiling, edges, corners, blobs, and ridges.
- the map generation module 443 detects a feature from each of the acquired images.
- Various methods of detecting a feature from an image are well known in the field of computer vision technology.
- Several feature detectors suitable for the detection of these features are known. Examples include Canny, Sobel, Harris & Stephens / Plessey, SUSAN, Shi & Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR, and Gray-level blobs detectors.
- the map generation module 443 calculates a descriptor based on each feature point.
- the map generation module 443 may convert feature points into descriptors using a scale invariant feature transform (SIFT) technique for feature detection.
- SIFT scale invariant feature transform
- the descriptor may be expressed as an n-dimensional vector.
- the SIFT can detect an invariant feature with respect to the scale, rotation, and brightness change of the photographing target, and thus the same area is invariable even when the mobile robot 400 is photographed with different postures (ie, rotation invariant) -invariant)) feature can be detected.
- HOG Histogram of Oriented Gradient
- Haar feature Haar feature
- Fems Fems
- LBP Local Binary Pattern
- MCT Modified Census Transform
- the map generation module 443 classifies at least one descriptor into a plurality of groups according to a predetermined sub-classification rule for each acquired image based on descriptor information obtained through the acquired image of each position, and according to the predetermined sub-representation rule. Descriptors included in each can be converted into lower representative descriptors.
- all descriptors gathered from the acquired images in a predetermined zone are classified into a plurality of groups according to a predetermined sub-classification rule, and the descriptors included in the same group according to the predetermined sub-representation rule are each lower representative descriptors. You can also convert to.
- the map generation module 443 may perform feature distribution of each location through this process.
- Each positional feature distribution can be represented by a histogram or an n-dimensional vector.
- the map generation module 443 may estimate an unknown current position based on a descriptor calculated from each feature point without passing through a predetermined sub classification rule and a predetermined sub representative rule.
- the current position of the mobile robots 400, 400a, and 400b is unknown due to a position leap or the like, the current position may be estimated based on data stored in the descriptor or lower representative descriptor.
- the mobile robots 400, 400a, and 400b obtain an acquired image through the image acquisition unit 420 at an unknown current position. Through the image, various features such as lightings on the ceiling, edges, corners, blobs, and ridges are identified.
- the position recognition module 442 detects features from the acquired image. Description of the various methods of detecting features from an image in the field of computer vision technology and the various feature detectors suitable for the detection of these features are described above.
- the position recognition module 442 calculates a recognition descriptor through a recognition descriptor calculating step based on each recognition feature point.
- the recognition feature points and the recognition descriptors are for explaining the process performed by the obstacle recognition module 444 and are distinguished from terms describing the process performed by the map generation module 443.
- the characteristics of the external world of the mobile robots 400, 400a, and 400b are merely defined in different terms.
- the position recognition module 442 may convert a recognition feature point into a recognition descriptor by using a scale invariant feature transform (SIFT) technique for detecting the present feature.
- SIFT scale invariant feature transform
- the recognition descriptor may be expressed as an n-dimensional vector.
- SIFT selects a feature point that can be easily identified, such as a corner point, in an acquired image, and then distributes the gradient of brightness gradients of pixels belonging to a predetermined area around each feature point (the direction of the change of brightness and the degree of change of brightness). ) Is an image recognition technique that obtains an n-dimensional vector whose value is a numerical value for each dimension.
- the position recognition module 442 is based on at least one recognition descriptor information obtained through the acquired image of the unknown current position, the position information (for example, feature distribution of each position) to be compared according to a predetermined lower conversion rule. And information that can be compared with (sub-recognition feature distribution).
- each position feature distribution may be compared with each recognition feature distribution to calculate each similarity. Similarity (probability) may be calculated for each location corresponding to each location, and the location where the greatest probability is calculated may be determined as the current location.
- the controller 440 may identify a driving zone and generate a map composed of a plurality of regions, or recognize a current position of the main body 410 based on a pre-stored map.
- the controller 440 may transmit the generated map to an external terminal or a server through the communication unit 490. As described above, the controller 440 may store the map in a storage unit when a map is received from an external terminal, a server, or the like.
- the controller 440 transmits the updated information to the external terminal so that the map stored in the external terminal and the mobile robot 400, 400a, 400b is the same.
- the area designated by the mobile robots 400, 400a and 400b can be cleaned for the cleaning instruction from the mobile terminal. This is to display the current position of the mobile robot on the terminal.
- the map may be divided into a plurality of areas, the connection path connecting the plurality of areas, and may include information about obstacles in the area.
- the controller 440 determines whether or not the position on the map matches the current position of the mobile robot.
- the cleaning command may be input from a remote controller, an operation unit or an external terminal.
- the controller 440 recognizes the current position and recovers the current position of the mobile robot 400 based on the current position.
- the driving unit 460 may be controlled to move to the designated area.
- the position recognition module 442 analyzes the acquired image input from the image acquisition unit 420 and estimates the current position based on the map. can do.
- the obstacle recognition module 444 or the map generation module 443 may also recognize the current position in the same manner.
- the driving control module 441 calculates the driving route from the current position to the designated region and controls the driving unit 460 to the designated region. Move.
- the driving control module 441 may divide the entire driving zone into a plurality of areas according to the received cleaning pattern information, and set at least one area as a designated area.
- the driving control module 441 may calculate a driving route according to the received cleaning pattern information, travel along the driving route, and perform cleaning.
- the controller 440 may store the cleaning record in the storage 450 when the cleaning of the set designated area is completed.
- control unit 440 may transmit the operation state or cleaning state of the mobile robot 400 to the external terminal and the server at predetermined intervals through the communication unit 490.
- the external terminal displays the position of the mobile robot along with the map on the screen of the running application based on the received data, and outputs information on the cleaning state.
- the mobile robots 400, 400a, and 400b move in one direction until an obstacle or a wall surface is detected, and when the obstacle recognition module 444 recognizes the obstacle, the robot moves straight according to the properties of the recognized obstacle. You can determine your driving pattern, for example, rotation.
- the mobile robot 400, 400a, and 400b may continue to go straight if the recognized obstacle is a kind of obstacle that can be passed. Or, if the property of the recognized obstacle is an obstacle that can not be passed, the mobile robot (400, 400a, 400b) is rotated to move a certain distance, and again to the distance that the obstacle is detected in the opposite direction of the initial movement direction to zigzag I can run in the form
- the mobile robots 400, 400a, and 400b may perform obstacle recognition and avoidance based on machine learning.
- the controller 440 may drive the driving unit 460 based on an obstacle recognition module 444 for recognizing obstacles previously learned by machine learning from an input image and the attributes of the recognized obstacles. It may include a driving control module 441 for controlling.
- the mobile robots 400, 400a, and 400b according to the embodiment of the present invention may include an obstacle recognition module 444 in which the property of the obstacle is learned by machine learning.
- Machine learning means that a computer can learn from data and let the computer solve the problem without the human being instructing the logic.
- ANN Deep Learning Based on Artificial Neural Networks
- the artificial neural network may be implemented in a software form or a hardware form such as a chip.
- the obstacle recognition module 444 may include an artificial neural network (ANN) in the form of software or hardware in which the property of the obstacle is learned.
- ANN artificial neural network
- the obstacle recognition module 444 may be a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), a deep belief network (DBN), and the like that have been learned by deep learning. It may include.
- DNN deep neural network
- CNN convolutional neural network
- RNN recurrent neural network
- DNN deep belief network
- the obstacle recognition module 444 may determine an attribute of an obstacle included in the input image data based on weights between nodes included in the deep neural network DNN.
- the controller 440 may correspond to the direction of the obstacle detected by the sensor unit 470 in response to the image acquisition unit ( The control unit 420 may extract a partial region of the image acquired by the 420.
- the image acquisition unit 420 in particular, the front camera 420a may acquire an image within a predetermined angle range in the moving direction of the mobile robot 400, 400a, 400b.
- the controller 440 may determine the property of the obstacle in the moving direction by using only a partial region instead of using the entire image acquired by the image acquisition unit 420, especially the front camera 420a.
- the controller 440 extracts a partial region of an image acquired by the image acquisition unit 420 in response to a direction of an obstacle detected by the sensor unit 470.
- the module 445 may further include.
- the mobile robot 400b extracts a partial region of the image acquired by the image acquisition unit 420 in response to the direction of the obstacle detected by the sensor unit 470. It may further include a separate image processor 425.
- the mobile robot 400a according to the embodiment of FIG. 9 and the mobile robot 400b according to the embodiment of FIG. 10 have the same configuration except for the image processing module 445 and the image processing unit 425.
- the image acquisition unit 420 may directly extract a partial region of the image.
- the obstacle recognition module 444 learned by the machine learning has a higher recognition rate as the object to be learned occupies a large portion of the input image data.
- the recognition rate may be increased by extracting another area of the image acquired by the image acquisition unit 420 as recognition data according to the direction of the obstacle detected by the sensor unit 470 such as an ultrasonic sensor.
- the obstacle recognition module 444 may recognize the obstacle on the basis of the data previously learned by machine learning from the extracted image.
- the driving control module 441 may control the driving of the driving unit 460 based on the recognized attribute of the obstacle.
- control unit 440 when the obstacle is detected in the right direction of the front of the main body, extracts the lower right region of the image obtained by the image acquisition unit, the obstacle is detected in the left direction of the front of the main body If the image acquisition unit is to extract the lower left area of the image, and if the obstacle is detected in the front direction of the main body, the control unit to extract the center (center) area of the image obtained by the image acquisition unit can do.
- controller 440 may control to extract and extract the region to be extracted from the image acquired by the image acquisition unit so as to correspond to the direction of the detected obstacle.
- the controller 440 may be configured to obtain the image acquisition unit based on the moving direction and the moving speed of the main body 410.
- the control unit 420 may control to select a specific viewpoint image before the obstacle detection time of the sensor unit 470 among the plurality of consecutive images acquired by the 420.
- the mobile robot When the image acquisition unit 420 acquires an image by using the obstacle detection time of the sensor unit 470 as a trigger signal, the mobile robot continues to move, so that the obstacle is not included in the acquired image or is small. Can be.
- the obstacle detection of the sensor unit 470 is performed among a plurality of consecutive images acquired by the image acquisition unit 420 based on the moving direction and the moving speed of the main body 410.
- a specific viewpoint image before the viewpoint may be selected and used as obstacle recognition data.
- the obstacle recognition module 444 may recognize the property of the obstacle included in the selected specific viewpoint image based on the data previously learned by machine learning.
- the storage 450 may store input data for determining obstacle attributes and data for learning the deep neural network DNN.
- the storage unit 450 may store the original image acquired by the image acquisition unit 420 and the extracted images from which the predetermined region is extracted.
- the storage unit 450 may store weights and biases that form the deep neural network (DNN).
- DNN deep neural network
- weights and biases constituting the deep neural network structure may be stored in an embedded memory of the obstacle recognition module 444.
- the obstacle recognition module 444 performs a learning process by using the extracted image as training data whenever a partial region of the image acquired by the image acquisition unit 420 is obtained, or a predetermined number of times. After the extracted image is obtained, a learning process may be performed.
- the obstacle recognition module 444 updates the deep neural network (DNN) structure such as weight by adding a recognition result every time the obstacle is recognized, or is secured after a predetermined number of training data is secured.
- a training process may be performed with training data to update a deep neural network (DNN) structure such as a weight.
- the mobile robots 400, 400a, and 400b may transmit the extracted image to a predetermined server through the communication unit 490 and receive data related to machine learning from the predetermined server.
- the mobile robots 400, 400a, and 400b may update the obstacle recognition module 441 based on data related to machine learning received from the predetermined server.
- FIG. 11 is an example of a simplified internal block diagram of a server according to an embodiment of the present invention.
- the server 370 may include a communication unit 1120, a storage unit 1130, a learning module 1140, and a processor 1110.
- the processor 1110 may control overall operations of the server 370.
- the server 370 may be a server operated by a home appliance manufacturer such as the mobile robots 400, 400a, and 400b or a server operated by a service provider, or may be a kind of cloud server.
- the communication unit 1120 may receive various data such as status information, operation information, operation information, and the like from a portable terminal, a home appliance such as the mobile robots 400, 400a, and 400b, a gateway, or the like.
- the communication unit 1120 may transmit data corresponding to the received various information to a portable terminal, a home appliance such as mobile robots 400, 400a, and 400b, a gateway, and the like.
- the communication unit 1120 may include one or more communication modules, such as an internet module and a mobile communication module.
- the storage unit 1130 may store the received information and may include data for generating result information corresponding thereto.
- the storage unit 1130 may store data used for machine learning, result data, and the like.
- the learning module 1140 may serve as a learner of a home appliance such as the mobile robots 400, 400a, and 400b.
- the learning module 1140 may include an artificial neural network, for example, a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN). You can learn neural networks.
- DNN deep neural network
- CNN convolutional neural network
- RNN recurrent neural network
- DBN deep belief network
- both unsupervised learning and supervised learning may be used.
- the controller 1110 may control to update the artificial neural network structure of the home appliance such as the mobile robots 400, 400a, and 400b to the learned artificial neural network structure after learning according to a setting.
- Deep learning technology a kind of machine learning, is a multi-level deep learning based on data.
- Deep learning may represent a set of machine learning algorithms that extract key data from a plurality of data as the level increases.
- the deep learning structure may include an artificial neural network (ANN).
- ANN artificial neural network
- the deep learning structure may include a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN).
- DNN deep neural network
- CNN convolutional neural network
- RNN recurrent neural network
- DNN deep belief network
- an artificial neural network may include an input layer, a hidden layer, and an output layer. Each layer includes a plurality of nodes, and each layer is connected to the next layer. Nodes between adjacent layers may be connected to each other with a weight.
- a computer finds a predetermined pattern from input data 1310 and forms a feature map.
- the computer may extract the low level feature 1320, the middle level feature 1330, and the high level feature 1340 to recognize the object and output the result 1350.
- the neural network can be abstracted to higher level features as it goes to the next layer.
- each node may operate based on an activation model, and an output value corresponding to an input value may be determined according to the activation model.
- the output value of any node, eg, lower level feature 1320, may be input to the next layer connected to that node, eg, the node of mid level feature 1330.
- a node of a next layer, for example, a node of the midlevel feature 1330 may receive values output from a plurality of nodes of the low level feature 1320.
- the input value of each node may be a value to which a weight is applied to the output value of the node of the previous layer.
- the weight may mean the connection strength between nodes.
- Deep learning can also be seen as a process of finding an appropriate weight.
- an output value of an arbitrary node may be input to the next layer connected to the node, for example, a node of the upper level feature 1340.
- a node of a next layer for example, a node of the high level feature 1340, may receive values output from a plurality of nodes of the mid level feature 1330.
- the artificial neural network may extract feature information corresponding to each level by using a learned layer corresponding to each level.
- the artificial neural network can be abstracted sequentially to recognize a predetermined object by utilizing feature information of the highest level.
- the computer distinguishes bright and dark pixels according to the brightness of pixels from the input image, and distinguishes simple shapes such as edges and edges, I can distinguish things. Finally, the computer can figure out the form that defines the human face.
- the deep learning structure according to the present invention may use various known structures.
- the deep learning structure according to the present invention may be a convolutional neural network (CNN), a recurrent neural network (RNN), a deep belief network (DBN), or the like.
- CNN convolutional neural network
- RNN recurrent neural network
- DNN deep belief network
- RNN Recurrent Neural Network
- RNN Recurrent Neural Network
- Deep Belief Network is a deep learning structure that consists of multiple layers of Restricted Boltzman Machine (RBM), a deep learning technique. By repeating RBM (Restricted Boltzman Machine) learning, if a certain number of layers is formed, a deep belief network (DBN) having a corresponding number of layers can be formed.
- RBM Restricted Boltzman Machine
- CNN Convolutional Neural Network
- CNN Convolutional Neural Network
- CNN convolutional neural network
- a convolutional neural network may also include an input layer, a hidden layer, and an output layer.
- the predetermined image 1400 is input to an input layer.
- a hidden layer may include a plurality of layers, and may include a convolution layer and a subsampling layer.
- Convolutional Neural Network basically includes various filters for extracting the features of the image through convolution operations and pooling or non-linear activation functions for adding nonlinear features. Used.
- Convolution is mainly used for filter operation in the field of image processing and is used to implement a filter for extracting features from an image.
- a result value 1501 is obtained.
- a predetermined result 1502 is obtained.
- the final result can be obtained by performing calculation on the entire image while moving the predetermined window.
- the convolution layer may be used to perform convolution filtering to filter the information extracted in the previous layer using a filter having a predetermined size (for example, the 3X3 window illustrated in FIG. 15).
- the convolution layer performs a convolution operation on the input image data 1400 and 1402 using a convolution filter, and generates feature maps 1401 and 1403 expressing features of the input image 1400. do.
- filtering images as many as the number of filters may be generated according to the number of filters included in the convolution layer.
- the convolutional layer may be composed of nodes included in the filtered images.
- the sub-sampling layer paired with the convolution layer may include the same number of feature maps as the paired convolution layer.
- the sub-sampling layer reduces the dimensions of the feature maps 1401 and 1403 through sampling or pooling.
- the output layer recognizes the input image 1400 by combining various features represented in the feature map 1404.
- the obstacle recognition module of the mobile robot according to the present invention may use the various deep learning structures described above.
- a convolutional neural network (CNN) structure that is widely used for object recognition in an image may be used.
- the learning of the artificial neural network can be achieved by adjusting the weight of the connection line between nodes so that a desired output comes out for a given input.
- the neural network can continuously update the weight value by learning.
- a method such as back propagation may be used for learning an artificial neural network.
- 16 and 17 are flowcharts illustrating a control method of a mobile robot according to an exemplary embodiment of the present invention.
- the cleaning may be performed while moving according to a command or setting of the mobile robots 400, 400a, and 400b (S1610).
- the sensor unit 470 may include an obstacle detecting sensor 431 and may detect an obstacle in front of the sensor unit 470.
- the image acquisition unit 420 may acquire an image in front of the main body 410 (S1630).
- the controller 440 may control to cut and extract a partial region of the image acquired by the image acquisition unit 420 in response to the direction of the obstacle detected by the sensor unit 470 (S1640).
- the image processing module 445 in the controller 440 may extract a partial region of the image.
- the controller 440 may control the image processor 425 provided to separately extract a partial region.
- the controller 440 may control the image processor 425 provided to separately extract a partial region.
- the image acquisition unit 420 may control to extract a partial region.
- the obstacle recognition module 444 may recognize the obstacle on the basis of the data previously learned by machine learning in the extracted image (S1650).
- the obstacle recognition module 444 may include an artificial neural network learned to recognize an attribute such as an obstacle type by machine learning, and may recognize an attribute of an obstacle based on previously learned data (S1650).
- the obstacle recognition module 444 includes a convolutional neural network (CNN), which is one of deep learning structures, and the previously learned convolutional neural network (CNN) recognizes an attribute of an obstacle included in the input data, and as a result, You can output
- CNN convolutional neural network
- CNN previously learned convolutional neural network
- the obstacle recognition module 444 learned by the machine learning has a higher recognition rate as the object to be learned occupies a large portion of the input image data.
- the recognition rate may be increased by extracting another area of the image acquired by the image acquisition unit 420 as recognition data according to the direction of the obstacle detected by the sensor unit 470.
- the driving control module 441 may control the driving of the driving unit 460 based on the recognized attribute of the obstacle (S1660).
- the driving control module 441 may control the driving to bypass the obstacle when the recognized obstacle is an obstacle of a height that cannot be exceeded.
- the driving control module 441 may control the vehicle to continue traveling straight when the recognized obstacle is an obstacle of a height such as a low height barrier.
- the driving control module 441 may control the vehicle to bypass the obstacle when it is recognized that even an obstacle of low height such as a pedestal, a human hair, a power strip, and an electric wire of the electric fan is detected.
- the mobile robots 400, 400a, and 400b may move according to a command or a setting (S1710).
- the obstacle may be recognized by sensing the reflected ultrasonic signal (S1720).
- the image acquisition unit 420 may continuously photograph the front and the surroundings of the mobile robots 400, 400a and 400b, or acquire the image by photographing the front and the surroundings according to the detection of the obstacle of the sensor unit 470. .
- the controller 440 may control to extract an area corresponding to an area where the ultrasonic signal is detected from the image acquired by the image acquisition unit 420 (S1730).
- the controller 440 may control to extract the right region of the image acquired by the image acquisition unit 420 when the region where the ultrasonic signal is detected is the front right region.
- the controller 440 may control to extract a center region of the image acquired by the image acquisition unit 420 when the region where the ultrasonic signal is detected is the front center region.
- the controller 440 may determine an attribute of an obstacle detected in the extracted image, based on data previously learned by machine learning.
- controller 440 may determine whether the detected obstacle is at a height that may be exceeded (S1740).
- the controller 440 may control to bypass the obstacle and rotate by 90 degrees (S1755).
- the control unit 440 may determine the attribute information of the detected obstacle (S1745). That is, the controller 440 may determine whether the recognized obstacle is an obstacle that may proceed due to the low possibility of restraint.
- control unit 440 may control to continue to move straight (S1750).
- the detected obstacle is a height that can be exceeded, in the case of an obstacle of a low height, driving straight.
- the mobile robot tries to escape from the restrained state by applying a motion such as shaking left / right when it is constrained, but a safety accident such as peeling off the coating of the wire may occur.
- the present invention can improve reliability by recognizing obstacle attribute information by using machine learning and image information and determining a driving pattern according to the recognized obstacle attribute.
- 18 to 20 are views for explaining a first embodiment of the obstacle avoidance driving of the mobile robot according to another embodiment of the present invention.
- the mobile robot 1800 may store the movement map 1810 data in a predetermined space.
- the mobile robot 1800 may generate and store the movement map 1810 while moving the predetermined space for a predetermined time.
- the mobile robot 1800 may receive and store the movement map 1810 of the predetermined space from an external server.
- the movement map 1810 stored by the mobile robot 1800 may include location information of obstacles 1811, 1812, 1813, and 1814.
- the location information of the obstacles 1811, 1812, 1813, and 1814 may be received from the server, or the mobile robot 1800 may directly detect the obstacle and acquire an image, generate information, and store the information while moving a predetermined space.
- the data type stored by the mobile robot 1800 may include a shape including an obstacle image as illustrated in FIG. 19, or may include a form of adding obstacle information to the movement map 1810 as illustrated in FIG. 20.
- the mobile robot 1800 may perform the path setting so as not to collide with the obstacle based on the movement map 1810 including the location information of the obstacles 1811, 1812, 1813, and 1814.
- 21 to 22 are views for explaining a second embodiment of the obstacle avoidance driving of the mobile robot according to another embodiment of the present invention.
- the mobile robot 2100 may store a movement map 2110.
- the movement map 2110 may include location information of the obstacles 2111, 2112, 2113, and 2114.
- the mobile robot 2100 may know the positions of the obstacles 2111, 2112, 2113, and 2114 based on the movement map 2110, and may prevent collision with the obstacle by selecting a driving route that avoids the position.
- the mobile robot 2100 may encounter a new obstacle 2115 that is not stored in the movement map 2110 while traveling, on a driving route.
- the mobile robot 2100 may recognize the obstacle 2115 through image recognition, and may detect the obstacle 2115 information.
- the mobile robot 2100 may acquire an image of a region around the new obstacle 2115.
- the mobile robot 2100 may newly calculate the obstacle 2115 avoidance driving path 2120 from the image of the area around the obstacle 2115.
- the mobile robot 2100 may continue to travel along the obstacle 2115 avoidance traveling path 2120 for reaching the original destination.
- 23 to 25 are diagrams for describing a first embodiment in which a mobile robot moves an obstacle according to another embodiment of the present invention.
- the movement map 2310 stored by the mobile robot 2300 may include location information of obstacles 2311, 2312, 2313, and 2314.
- the location information of the obstacles 2311, 2312, 2313, and 2314 may be received from the server, or the mobile robot 2300 may directly detect the obstacle while acquiring the image while moving a predetermined space, and may generate and store the information.
- the mobile robot 2300 may set a driving route based on the location information of the obstacles 2311, 2312, 2313, and 2314.
- the mobile robot 2300 may find the first obstacle 2311 on the driving path set according to the existing movement map 2310.
- the mobile robot 2300 may recognize the first obstacle 2311 through the image information.
- the mobile robot 2300 may determine that the first obstacle 2311 is at a position other than the position indicated on the movement map 2310.
- the mobile robot 2300 may access the movement map 2310 and search for the original position of the first obstacle 2311.
- the mobile robot 2300 may move the first obstacle 2311 to the original position of the first obstacle 2311 displayed on the movement map 2310.
- the mobile robot 2300 may move the first obstacle 2311 in an operation of pushing through the main body, or may move the first obstacle 2311 using a forefinger arm.
- the mobile robot 2300 moving the first obstacle 2311 to the original position may calculate a new driving route from the current position to the destination originally intended to go.
- the mobile robot 2300 may move according to the calculated new driving path.
- 26 to 29 are diagrams for describing a second exemplary embodiment in which a mobile robot moves an obstacle according to another exemplary embodiment of the present invention.
- the movement map 2610 stored by the mobile robot 2600 may include location information of obstacles 2611, 2612, 2613, and 2614.
- the location information of the obstacles 2611, 2612, 2613, and 2614 may be received from the server, or the mobile robot 2600 may detect the obstacle directly while moving a predetermined space, obtain an image, and generate and store the information.
- the mobile robot 2600 may set a driving route based on the location information of the obstacles 2611, 2612, 2613, and 2614.
- the mobile robot 2600 may discover a new obstacle 2615 on the driving route set according to the existing movement map 2610.
- the mobile robot 2600 may detect various information such as the position, size, type, and shape of the new obstacle 2615 through an image acquisition process.
- the mobile robot 2600 moves the map 2610 to positions 2611, 2632, 2633, and 2634 for moving the new obstacle 2615 based on the detected information of the new obstacle 2615. ).
- the mobile robot 2600 may transmit a location selection message for moving the new obstacle 2615 to the user device 2640.
- the user may select a location to move the new obstacle 2615 through the user device 2640.
- the mobile robot 2600 may move the new obstacle 2615 based on the movement map 2610, as shown in FIG. 29.
- the mobile robot 2600 may move the new obstacle 2615 in an operation of pushing through the main body, or may move the new obstacle 2615 using the tong arm.
- 30 to 34B are views for explaining a third embodiment in which a mobile robot moves an obstacle according to another embodiment of the present invention.
- the movement map 3010 stored by the mobile robot 3000 may include location information of obstacles 3011, 3012, 3013, and 3014.
- the location information of the obstacles 3011, 3012, 3013, and 3014 may be received from the server, or the mobile robot 3000 may directly detect the obstacle and acquire an image while storing the information after moving the predetermined space.
- the mobile robot 3000 may set a driving route based on the position information of the obstacles 3011, 3012, 3013, and 3014.
- the mobile robot 3000 may detect an obstacle restraint state on a driving path set according to the existing movement map 3010.
- the mobile robot 3000 may be in a restrained state by the first obstacle 3011 stored in the movement map, the fifth obstacle 3015 and the sixth obstacle 3016 not stored in the movement map. have.
- the mobile robot 3000 acquires the position, size, type, shape, etc. of the first obstacle 3011, the fifth obstacle 3015 and the sixth obstacle 3016 which are not stored in the moving map through an image acquisition process. Various information of can be detected.
- the mobile robot 3000 may first select an obstacle that is easy to move from among the first obstacle 3011, the fifth obstacle 3015, and the sixth obstacle 3016.
- the mobile robot 3000 may move the fifth obstacle 3015 having a ball shape that is easy to move.
- the mobile robot 3000 may calculate a new driving route 3020 to reach its original destination.
- the mobile robot 3000 that has escaped from the restrained state may move to the destination based on the new driving path 3020.
- the mobile robot 3000 may reposition the position of the fifth obstacle 3015 that is moved to escape the restrained state.
- the mobile robot 3000 facing the restrained state may select an obstacle having original position information among the first obstacle 3011, the fifth obstacle 3015, and the sixth obstacle 3016.
- the mobile robot 3000 has original position information of the first obstacle 3011 among the first obstacle 3011, the fifth obstacle 3015, and the sixth obstacle 3016.
- the mobile robot 3000 may move the position of the first obstacle 3011 to the original position based on the movement map 3010.
- the mobile robot 3000 may escape from the restrained state by repositioning the first obstacle 3011.
- the mobile robot 3000 facing the restrained state may determine that there are no obstacles that can move among the first obstacle 3011, the fifth obstacle 3015, and the sixth obstacle 3016.
- the mobile robot 3000 may transmit a restrained state escape request message to the user device 3040.
- the mobile robot has a technical effect of escaping from the confined state and continuing to execute the movement.
- 35 is a flowchart illustrating a method for controlling a mobile robot according to another embodiment of the present invention.
- the mobile robot according to another embodiment of the present invention may acquire image information while driving in real time (S3501).
- the mobile robot may recognize an object based on the image information (S3502).
- the mobile robot may generate and store a movement map based on the image information and the object recognition information (S3503).
- the mobile robot may check whether there is an object such as an obstacle while driving (S3504).
- the mobile robot may continue to travel by newly calculating the avoidance travel route.
- the mobile robot may move the obstacle to another location.
- the obstacle may be moved to the original position.
- the mobile robot may determine whether there is an obstacle that can be moved out of the restraining obstacles (S3508).
- the mobile robot may secure the escape route by moving the obstacle (S3509).
- the mobile robot escaped from the restrained state may return the moved obstacle (S3501).
- the mobile robot may wait in the restrained state and wait for the user's help.
- the present invention described above can be embodied as computer readable codes on a medium in which a program is recorded.
- the computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. There is this.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Acoustics & Sound (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명의 일 실시 예에 따른 로봇 청소기는 본체를 이동시키는 주행부,상기 본체 주변의 영상을 획득하는 영상획득부, 상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 상기 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵에 장애물 지역으로 등록하고, 상기 장애물 지역에서 상기 영상획득부가 획득하는 영상을 저장하는 저장부, 머신 러닝으로 기학습된 데이터에 기초하여, 상기 장애물 지역에서 상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하고, 상기 순차적으로 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별하는 장애물 인식 모듈 및 복수 개의 장애물들로부터 가능한 주행 경로가 모두 차단되는 구속 상태를 감지하는 경우, 상기 장애물 인식 모듈을 통해 상기 복수 개의 장애물들의 속성을 파악하고, 상기 복수 개의 장애물들 중 하나의 장애물을 이동시키도록 상기 주행부를 제어하는 제어부를 포함한다.
Description
본 발명은 이동 로봇 및 그 제어방법에 관한 것으로서, 더욱 상세하게는 머신 러닝(machine learning) 기반의 장애물 인식 및 회피 또는 구속 탈출을 수행하는 이동 로봇 및 그 제어 방법에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다.
이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.
일반적으로 이동 로봇의 장애물 감지를 위해 적외선 센서 또는 초음파 센서가 이용된다. 적외선 센서는 장애물에 반사되어 돌아오는 반사광의 광량 또는 수신되는 시간을 통해 장애물의 존재와 거리를 판단하고, 초음파 센서는 소정 주기를 가지는 초음파를 발산하여 장애물에 의해 반사되는 초음파가 있을 경우 초음파 발산 시간과 장애물에 반사되어 되돌아오는 순간의 시간차를 이용하여 장애물과의 거리를 판단한다.
한편, 장애물 인식 및 회피는 이동 로봇의 주행 성능 뿐만 아니라 청소 성능에 큰 영향을 미치므로, 장애물 인식 능력의 신뢰성 확보가 요구된다.
나아가, 좁은 공간을 이동하는 경우 회피 경로가 검출되지 않을 수 있고, 이러한 경우에 대비한 이동 로봇의 탈출 알고리즘에 대한 필요성이 증가하고 있다.
본 발명은 장애물을 사전에 회피하기 위하여 장애물에 대한 위치 정보를 저장하는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명은 사용자의 수동 입력 없이 이동 로봇 스스로 장애물의 정보를 인식하는 것을 목적으로 한다.
본 발명은 복수 개의 장애물들에 갇히는 구속 상태에서 스스로 탈출하는 이동 로봇을 제공하는 것을 목적으로 한다.
본 발명의 실시 예에 따른 이동 로봇은 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부를 포함할 수 있다.
본 발명의 실시 예에 따른 이동 로봇의 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장할 수 있다.
본 발명의 실시 예에 따른 이동 로봇은 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물 지역으로 등록하고, 상기 장애물 지역에서 상기 영상획득부가 획득하는 영상을 저장하는 저장부를 포함할 수 있다.
본 발명의 실시 예에 따른 이동 로봇은 머신 러닝에 기반하여 반복된 인식 및 학습 과정을 통하여 장애물의 속성을 스스로 파악할 수 있다.
본 발명의 실시 예에 따른 이동 로봇은 구속 상태에서 장애물들의 속성들에 기초하여 장애물을 스스로 이동시킴으로써 구속 상태로부터 탈출할 수 있다.
본 발명의 실시 예에 따르면, 센서부를 통해 장애물을 감지하고 감지된 장애물의 위치 정보를 맵(map) 형태로 저장함으로써, 사전에 미리 장애물 충돌을 방지하는 효과가 있다.
본 발명의 실시 예에 따르면, 머신 러닝에 기반하여 반복된 인식 및 학습 과정을 통하여 장애물의 속성을 스스로 파악할 수 있기 때문에, 사용자 편의성이 증대되는 장점이 있다.
본 발명의 실시 예에 따르면, 구속 상태에서 이동 로봇이 장애물들의 속성들에 기초하여 장애물을 이동시켜 구속 상태로부터 스스로 탈출할 수 있는바, 사용자가 없는 경우에도 이동 로봇 스스로 주행을 계속해서 실시할 수 있는 효과가 있다.
도 1 및 도 2는 본 발명의 일 실시 예에 따른 이동 로봇을 설명하는 도면이다.
도 3은 본 발명의 다른 일 실시예에 따른 이동 로봇을 설명하기 위한 도면이다.
도 4는 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명을 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 6은 도 5에 도시된 이동 로봇의 상면부를 도시한 도이다.
도 7은 도 5에 도시된 이동 로봇의 정면부를 도시한 도이다.
도 8은 도 5에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 9와 도 10은 본 발명의 실시예에 따른 이동 로봇의 주요 구성들 간의 제어 관계를 도시한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 12 내지 도 15는 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다.
도 16은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 17은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 18 내지 도 20은 본 발명의 다른 일 실시예에 따른 이동 로봇의 장애물 회피 주행에 대한 제1 실시예를 설명하기 위한 도면이다.
도 21 내지 도 22는 본 발명의 다른 일 실시예에 따른 이동 로봇의 장애물 회피 주행에 대한 제2 실시예를 설명하기 위한 도면이다.
도 23 내지 도 25는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제1 실시예를 설명하기 위한 도면이다.
도 26 내지 도 29는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제2 실시예를 설명하기 위한 도면이다.
도 30 내지 도 34b는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제3 실시예를 설명하기 위한 도면이다.
도 35는 본 발명의 다른 일 실시예에 따른 이동 로봇의 제어 방법에 대한 플로우 차트이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
도 1 및 도 2는 본 발명의 일 실시 예에 따른 이동 로봇을 설명하는 도면이다.
도 1 및 도 2를 참조하면, 이동 로봇(100)은 본체(50), 좌륜(61a), 우륜(61b) 및 흡입부(70)를 포함할 수 있다.
특히, 이동 로봇(100)의 전면 상단에는 깊이 센서(111)를 포함하는 영상 정보 획득부(110)가 구비될 수 있다. 물론, 추가적으로, RGB 센서(113)도 구비될 수 있다.
좌륜(61a) 및 우륜(61b)은 본체(50)를 주행시킬 수 있다. 좌륜(61a) 및 우륜(61b)이 주행 구동부(170)에 의해 회전됨에 따라, 흡입부(70)를 통해 먼지나 쓰레기 등의 이물질이 흡입될 수 있다.
흡입부(70)는 본체(50)에 구비되어 바닥 면의 먼지를 흡입할 수 있다.
흡입부(70)는 흡입된 기류 중에서 이물질을 채집하는 필터(미도시)와, 상기 필터에 의해 채집된 이물질들이 축적되는 이물질 수용기(미도시)를 더 포함할 수 있다.
도 3은 본 발명의 다른 일 실시예에 따른 이동 로봇을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 본 발명의 다른 일 실시예에 따른 이동 로봇(300)은 본체(310), 디스플레이부(320) 및 주행구동부(330)를 포함할 수 있다.
도 3에 도시된 이동 로봇(300)의 본체(310)는 도 1 및 도 2에서 설명한 이동 로봇(100)의 본체보다 더 높은 길이로 구성되어, 큰 장애물 들을 옮기는데 유리할 수 있다.
나아가, 도 3에는 도시하지 않았으나 이동 로봇(300)의 본체(310)는 좌우 양쪽에 집게팔(미도시)을 구비할 수 있어, 이동 로봇(300)은 사물 또는 장애물로 지정된 물체를 특정 위치로 옮길 수 있다.
이하 도 4부터는 도 1 내지 도 3의 이동 로봇을 이용하여 장애물을 인식하고, 회피하고, 특정 상황에서는 장애물을 이동시키는 이동 로봇의 제어 방법에 대하여 자세히 설명하도록 하겠다.
도 4는 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명을 위한 도면이다.
도 4를 참조하면, 이동 로봇은 이동하면서 먼지 및 이물질을 흡입하며 청소를 수행할 수 있다(S411).
초음파 센서에서 장애물에 의해 반사되는 초음파 신호를 감지하여 장애물의 존재를 인식하고(S412), 인식된 장애물의 높이가 넘을 수 있는 높이 인지 여부를 판단할 수 있다(S413).
로봇 청소기는, 넘을 수 있는 높이라고 판단되면 직진으로 이동하고(S414), 그렇지 않은 경우에는 90도 회전(S415)하여 이동할 수 있다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 6은 도 5에 도시된 이동 로봇의 상면부를 도시한 도이며, 도 7은 도 5에 도시된 이동 로봇의 정면부를 도시한 도이고, 도 8은 도 5에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 9와 도 10은 본 발명의 실시예에 따른 이동 로봇의 주요 구성들간의 제어관계를 도시한 블록도이다.
도 6 내지 도 10을 참조하면, 이동 로봇(400, 400a, 400b)은 본체(410)와, 본체(410) 주변의 영상을 획득하는 영상획득부(420, 420a, 420b)를 포함한다.
본체(410)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 6 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 8 참조)로 정의하며, 상면부와 저면부 사이에서 본체(410)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 7 참조)라고 정의한다.
이동 로봇(400, 400a, 400b)은 본체(410)를 이동시키는 주행부(460)를 포함한다. 주행부(460)는 본체(410)를 이동시키는 적어도 하나의 구동 바퀴(436)를 포함한다. 주행부(460)는 구동 바퀴(436)에 연결되어 구동 바퀴를 회전시키는 구동 모터(미도시)를 포함한다. 구동 바퀴(436)는 본체(410)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(436(L))과 우륜(436(R))이라고 한다.
좌륜(436(L))과 우륜(436(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(436(L))을 구동시키는 좌륜 구동 모터와 우륜(436(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(436(L))과 우륜(436(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(410)의 주행방향을 전환할 수 있다.
본체(410)의 저면부에는 공기의 흡입이 이루어지는 흡입구(410h)가 형성될 수 있으며, 본체(410) 내에는 흡입구(410h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(410h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.
본체(410)는 이동 로봇(400, 400a, 400b)을 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(411)를 포함할 수 있다. 케이스(411)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 개구부를 여닫는 먼지통 커버(412)가 케이스(411)에 대해 회전 가능하게 구비될 수 있다.
흡입구(410h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(434)와, 본체(410)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(435)가 구비될 수 있다. 이들 브러시(434, 435)들의 회전에 의해 주행구역 내 바닥으로부터 먼지들이 분리되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(410h)를 통해 흡입되어 먼지통에 모인다.
배터리(438)는 구동 모터뿐만 아니라, 이동 로봇(400, 400a, 400b)의 작동 전반에 필요한 전원을 공급한다. 배터리(438)가 방전될 시, 이동 로봇(400, 400a, 400b)은 충전을 위해 충전대(500)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(400, 400a, 400b)은 스스로 충전대(500)의 위치를 탐지할 수 있다.
충전대(500)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되는 것은 아니다.
이동 로봇(400, 400a, 400b)은 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(500)는 신호 송출부를 통해 적외선 신호를 송출하고, 신호 감지부는 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(400, 400a, 400b)은 충전대(500)로부터 송출된 적외선 신호에 따라 충전대(500)의 위치로 이동하여 충전대(500)와 도킹(docking)한다. 이러한 도킹에 의해이동 로봇(400, 400a, 400b)의 충전 단자(433)와 충전대(500)의 충전 단자(510) 간에 충전에 이루어진다.
영상획득부(420)는 주행구역을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 상기 카메라 모듈은 디지털 카메라를 포함할 수 있다. 디지털 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다.
디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.
바람직하게, 영상획득부(420)는, 본체(410) 전방의 영상을 획득하도록 구비되는 전면 카메라(420a)와 본체(410)의 상면부에 구비되어, 주행구역 내의 천장에 대한 영상을 획득하는 상부 카메라(420b)를 구비하나, 영상획득부(420)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다.
본 실시예의 경우, 이동 로봇의 일부 부위(ex, 전방, 후방, 저면)에 카메라가 설치되어 있으며, 청소 시에 촬상영상을 지속적으로 획득할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다. 카메라
에 의해 촬상된 영상은 해당 공간에 존재하는 먼지, 머리카락, 바닥 등과 같은 물질의 종류 인식,청소 여부, 또는 청소 시점을 확인하는데 사용할 수 있다.
전면 카메라(420a)는 이동 로봇(400, 400a, 400b)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상획득부(420)는 본체(410) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(450)에 저장될 수 있다.
이동 로봇(400, 400a, 400b)은 복수의 영상을 이용하여 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 장애물 인식의 정확성을 높일 수 있다.
또한, 이동 로봇(400, 400a, 400b)은 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(470)를 포함할 수 있다.
예를 들어, 상기 센서부(470)는 전방의 장애물을 감지하는 장애물 감지센서(431)를 포함할 수 있다. 또한, 상기 센서부(470)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(432)와, 바닥의 영상을 획득하는 하부 카메라 센서(439)를 더 포함할 수 있다.
도 5와 도 7을 참조하면, 상기 장애물 감지센서(431)는 이동 로봇(400)의 외주면에 일정 간격으로 설치되는 복수의 센서를 포함할 수 있다.
예를 들어, 상기 센서부(470)는, 상기 본체(410)의 전면에 배치되는 제1 센서, 상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서를 포함할 수 있다.
상기 장애물 감지센서(431)는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
한편, 상기 장애물 감지센서(431)에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지센서(431)는 더 다양한 센서를 포함할 수 있다.
상기 장애물 감지센서(431)는 실내의 벽이나 장애물과의 거리를 감지하는 센서로, 본 발명은 그 종류에 한정되지 않으나, 이하에서는 초음파 센서를 예시하여 설명한다.
상기 장애물 감지센서(431)는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 제어부(440)에 전달한다. 즉, 상기 장애물 감지센서(431)는, 이동 로봇의 이동 경로, 전방이나 측면에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어 유닛에 전달할 수 있다.
이때, 제어부(440)는 초음파 센서를 통해 수신된 적어도 2 이상의 신호에 기초하여 장애물의 위치를 감지하고, 감지된 장애물의 위치에 따라 이동 로봇(400)의 움직임을 제어할 수 있다.
실시예에 따라서는, 케이스(410)의 외측면에 구비되는 장애물 감지 센서(431)는 발신부와 수신부를 포함하여 구성될 수 있다.
예를 들어, 초음파 센서는 적어도 하나 이상의 발신부 및 적어도 2 이상의 수신부가 서로 엇갈리도록 구비될 수 있다. 이에 따라, 다양한 각도로 신호를 방사하고, 장애물에 반사된 신호를 다양한 각도에서 수신할 수 있다.
실시예에 따라서는, 장애물 감지센서(431)에서 수신된 신호는, 증폭, 필터링 등의 신호 처리 과정을 거칠 수 있고, 이후 장애물까지의 거리 및 방향이 산출될 수 있다.
한편, 상기 센서부(470)는 본체(410)의 구동에 따른 이동 로봇(400, 400a, 400b)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다.
동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(400, 400a, 400b)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(400, 400a, 400b)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(440)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
휠 센서는, 좌륜(436(L))과 우륜(436(R))에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있다. 로터리 엔코더는 좌륜(436(L))과 우륜(436(R))의 회전수를 감지하여 출력한다.
제어부(440)는 회전수를 이용하여 좌, 우측 바퀴의 회전 속도를 연산할 수 있다. 또한, 제어부(440)는 좌륜(436(L))과 우륜(436(R))의 회전수 차이를 이용하여 회전각을 연산할 수 있다.
가속도 센서는, 이동 로봇(400, 400a, 400b)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(400, 400a, 400b)의 변화를 감지한다. 가속도 센서는 주 바퀴나 보조바퀴의 인접 위치에 부착되어, 바퀴의 미끄러짐이나 공회전을 검출할 수 있다.
또한, 가속도 센서는 제어부(440)에 내장되어 이동 로봇(400, 400a, 400b) 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.
제어부(440)는 동작 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(400, 400a, 400b)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.
한편, 이동 로봇(400, 400a, 400b)은 충전 가능한 배터리(438)를 구비하여 로봇 청소기 내로 전원을 공급하는 전원 공급부(미도시)를 포함할 수 있다.
상기 전원 공급부는 이동 로봇(400, 400a, 400b)의 각 구성 요소들에 구동 전원과, 동작 전원을 공급하며, 전원 잔량이 부족하면 충전대(500)에서 충전 전류를 공급받아 충전될 수 있다.
이동 로봇(400, 400a, 400b)은 배터리(438)의 충전 상태를 감지하고, 감지 결과를 제어부(440)에 전송하는 배터리 감지부(미도시)를 더 포함할 수 있다. 배터리(438)는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(440)에 전달된다. 배터리 잔량은 출력부(미도시)의 화면에 표시될 수 있다.
또한, 이동 로봇(400, 400a, 400b)은 온/오프(On/Off) 또는 각종 명령을 입력할 수 있는 조작부(437)를 포함한다. 조작부(437)를 통해 이동 로봇(400)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다. 또한, 이동 로봇(400, 400a, 400b)은 출력부(미도시)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 표시할 수 있다.
도 9와 도 10을 참조하면, 이동 로봇(400a, 400b)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(440), 및 각종 데이터를 저장하는 저장부(450)를 포함한다. 또한, 이동 로봇(400, 400a, 400b)은 외부 단말기와 데이터를 송수신하는 통신부(490)를 더 포함할 수 있다.
외부 단말기는 이동 로봇(400a, 400b)을 제어하기 위한 애플리케이션을 구비하고, 애플리케이션의 실행을 통해 이동 로봇(400a, 400b)이 청소할 주행구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 애플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
외부 단말기는 이동 로봇(400a, 400b)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다.
제어부(440)는 이동 로봇(400a, 400b)를 구성하는 영상획득부(420), 조작부(437), 주행부(460)를 제어하여, 이동 로봇(400)의 동작 전반을 제어한다.
저장부(450)는 이동 로봇(400)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(450)에는 주행구역에 대한 맵(Map)이 저장될 수 있다.
맵은 이동 로봇(400a, 400b)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 이동 로봇(400a, 400b)이 스스로 학습을 하여 생성한 것일 수도 있다.
맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(400a, 400b)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(400a, 400b)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(450)에 저장된 맵과 동일한 맵을 저장한다.
상기 저장부(450)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.
상기 저장부(450)에 저장되는 주행구역에 대한 맵(Map)은, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다.
한편, 상술한 바와 같이 용도별로 상기 저장부(450)에 맵들을 구분하여 저장, 관리할 수 있지만, 맵이 용도별로 명확히 구분되지 않을 수도 있다. 예를 들어, 적어도 2 이상의 용도로 사용할 수 있도록 하나의 맵에 복수의 정보를 저장할 수도 있다.
제어부(440)는 주행제어모듈(441), 위치인식모듈(442), 지도생성모듈(443) 및 장애물인식모듈(444)을 포함할 수 있다.
도 6 내지 도 10을 참조하면, 주행제어모듈(441)은 이동 로봇(400, 400a, 400b)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(460)의 구동을 제어한다. 또한, 주행제어모듈(441)은 주행부(460)의 동작을 바탕으로 이동 로봇(400, 400a, 400b)의 주행경로를 파악할 수 있다. 예를 들어, 주행제어모듈(441)은 구동 바퀴(436)의 회전속도를 바탕으로 이동 로봇(400)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(436(L), 436(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(400, 400a, 400b)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(400, 400a, 400b)의 위치가 갱신될 수 있다.
지도생성모듈(443)은 주행구역의 맵을 생성할 수 있다. 지도생성모듈(443)은 영상획득부(420)를 통해 획득한 영상을 처리하여 맵을 작성할 수 있다.
청소 영역과 대응되는 청소 맵을 작성할 수 있다.
또한, 지도생성모듈(443)은 각 위치에서 영상획득부(420)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식할 수 있다.
위치인식모듈(442)은 현재 위치를 추정하여 인식한다. 위치인식모듈(442)은 영상획득부(420)의 영상 정보를 이용하여 지도생성모듈(443)과 연계하여 위치를 파악함으로써, 이동 로봇(400, 400a, 400b)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
이동 로봇(400, 400a, 400b)은 위치인식모듈(442)을 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 위치인식모듈(442) 없이 지도생성모듈(443) 및 장애물인식모듈(444)을 통해, 맵을 학습하고 현재 위치를 추정할 수 있다.
이동 로봇(400, 400a, 400b)이 주행하는 중에, 영상획득부(420)는 이동 로봇(400) 주변의 영상들을 획득한다. 이하, 영상획득부(420)에 의해 획득된 영상을 '획득영상'이라고 정의한다.
획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다.
지도생성모듈(443)은 획득영상들 각각으로부터 특징을 검출한다. 컴퓨터 비전(Computer Vision) 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법(Feature Detection)이 잘 알려져 있다. 이들 특징의 검출에 적합한 여러 특징 검출기(feature detector)들이 알려져 있다. 예를 들어, Canny, Sobel, Harris&Stephens/Plessey, SUSAN, Shi&Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR, Grey-level blobs 검출기 등이 있다.
지도생성모듈(443)은 각 특징점을 근거로 디스크립터를 산출한다.
지도생성모듈(443)은 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다. 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.
SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(400)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다.
물론, 이에 한정되지 않고 다른 다양한 기법(예를 들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.
지도생성모듈(443)은 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.
다른 예로, 실(room)과 같이 소정 구역내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
지도생성모듈(443)은 이 같은 과정을 거쳐, 각 위치의 특징분포를 할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다.
또 다른 예로, 지도생성모듈(443)은 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(400, 400a, 400b)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
이동 로봇(400, 400a, 400b)은, 미지의 현재 위치에서 영상획득부(420)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
위치인식모듈(442)은 획득영상으로부터 특징들을 검출한다. 컴퓨터 비전 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법 및 이들 특징의 검출에 적합한 여러 특징검출기들에 대한 설명은 상기한 바와 같다.
위치인식모듈(442)은 각 인식 특징점을 근거로 인식 디스크립터 산출단계를 거쳐 인식 디스크립터를 산출한다. 이때 인식 특징점 및 인식 디스크립터는 장애물인식모듈(444)에서 수행하는 과정을 설명하기 위한 것으로 지도생성모듈(443)에서 수행하는 과정을 설명하는 용어와 구분하기 위한 것이다. 다만, 이동 로봇(400, 400a, 400b)의 외부 세계의 특징이 각각 다른 용어로 정의되는 것에 불과하다.
위치인식모듈(442)은 본 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 인식 특징점을 인식 디스크립터로 변환할 수 있다. 인식 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.
SIFT는 앞서 설명한 바와 같이, 획득영상에서 코너점 등 식별이 용이한 특징점을 선택한 후, 각 특징점 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다.
위치인식모듈(442)은 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현위치로 결정할 수 있다.
이와 같이, 제어부(440)는 주행구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기저장된 맵을 바탕으로 본체(410)의 현재 위치를 인식할 수 있다.
제어부(440)는 맵이 생성되면, 생성된 맵을 통신부(490)를 통해 외부 단말기, 서버 등으로 전송할 수 있다. 또한, 제어부(440)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 저장부에 저장할 수 있다.
또한 제어부(440)는 주행 중 맵이 갱신되는 경우 갱신된 정보를 외부 단말기로 전송하여 외부 단말기와 이동 로봇(400, 400a, 400b)에 저장되는 맵이 동일하도록 한다. 외부 단말기와 이동 로봇(400, 400a, 400b)에 저장된 맵이 동일하게 유지됨에 따라 이동 단말기로부터의 청소명령에 대하여, 이동 로봇(400, 400a, 400b)이 지정된 영역을 청소할 수 있으며, 또한, 외부 단말기에 이동 로봇의 현재 위치가 표시될 수 있도록 하기 위함이다.
이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함할 수 있다.
제어부(440)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 조작부 또는 외부 단말기로부터 입력될 수 있다.
제어부(440)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(400)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부(460)를 제어할 수 있다.
현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인 할 수 없는 경우, 위치인식모듈(442)은 영상획득부(420)로부터 입력되는 획득 영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 장애물인식모듈(444) 또는 지도생성모듈(443) 또한, 같은 방식으로 현재 위치를 인식할 수 있다.
위치를 인식하여 이동 로봇(400, 400a, 400b)의 현재 위치를 복구한 후, 주행제어모듈(441)은 현재 위치로부터 지정영역으로 주행경로를 산출하고 주행부(460)를 제어하여 지정영역으로 이동한다.
서버로부터 청소 패턴 정보를 수신하는 경우, 주행제어모듈(441)은 수신한 청소 패턴 정보에 따라, 전체 주행구역을 복수의 영역으로 나누고, 하나 이상의 영역을 지정영역으로 설정할 수 있다.
또한, 주행제어모듈(441)은 수신한 청소 패턴 정보에 따라 주행경로를 산출하고, 주행경로를 따라 주행하며, 청소를 수행할 수 있다.
제어부(440)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(450)에 저장할 수 있다.
또한, 제어부(440)는 통신부(490)를 통해 이동 로봇(400)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기, 서버로 전송할 수 있다.
그에 따라 외부 단말기는 수신되는 데이터를 바탕으로, 실행중인 애플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소 상태에 대한 정보를 출력한다.
본 발명의 실시예에 따른 이동 로봇(400, 400a, 400b)은 일방향으로 장애물이나 벽면이 감지될 때까지 이동하다가, 장애물인식모듈(444)이 장애물을 인식하면, 인식된 장애물의 속성에 따라 직진, 회전 등 주행 패턴을 결정할 수 있다.
예를 들어, 인식된 장애물의 속성이 넘어갈 수 있는 종류의 장애물이면, 이동 로봇(400, 400a, 400b)은 계속 직진할 수 있다. 또는, 인식된 장애물의 속성이 넘어갈 수 없는 종류의 장애물이면, 이동 로봇(400, 400a, 400b)은 회전하여 일정거리 이동하고, 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하여 지그재그 형태로 주행할 수 있다
본 발명의 실시예에 따른 이동 로봇(400, 400a, 400b)은, 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행할 수 있다.
상기 제어부(440)는, 입력 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈(444)과 상기 인식된 장애물의 속성에 기초하여, 상기 주행부(460)의 구동을 제어하는 주행제어모듈(441)을 포함할 수 있다.
본 발명의 실시예에 따른 이동 로봇(400, 400a, 400b)은, 머신 러닝으로 장애물의 속성이 학습된 장애물인식모듈(444)을 포함할 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.
딥러닝(Deep Learning)은. 인공지능을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.
장애물인식모듈(444)은 장애물의 속성이 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(ANN)을 포함할 수 있다.
예를 들어, 장애물인식모듈(444)은 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다.
딥러닝(Deep Learning)에 대해서는 도 12 내지 도 14 등을 참조하여 상세히 후술한다.
장애물인식모듈(444)은 상기 심층신경망(DNN)에 포함된 노드들 사이의 가중치(weight)들에 기초하여 입력되는 영상 데이터에 포함되는 장애물의 속성을 판별할 수 있다.
한편, 이동 로봇(400, 400a, 400b)이 이동 중 센서부(470)가 장애물을 감지하면, 제어부(440)는 상기 센서부(470)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(420)가 획득하는 영상의 일부 영역을 추출하도록 제어할 수 있다.
상기 영상획득부(420), 특히 전면 카메라(420a)는 상기 이동 로봇(400, 400a, 400b)의 이동 방향에서 소정 각도 범위 내의 영상을 획득할 수 있다.
상기 제어부(440)는, 상기 영상획득부(420), 특히 전면 카메라(420a)가 획득한 영상 전체를 사용하는 것이 아니라 일부 영역만을 사용하여 이동 방향에 존재하는 장애물의 속성을 판별할 수 있다.
도 9의 실시예를 참조하면, 상기 제어부(440)는, 상기 센서부(470)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(420)가 획득하는 영상의 일부 영역을 추출하는 영상처리모듈(445)을 더 포함할 수 있다.
또는, 도 10의 실시예를 참조하면, 이동 로봇(400b)은, 상기 센서부(470)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(420)가 획득하는 영상의 일부 영역을 추출하는 별도의 영상처리부(425)를 더 포함할 수 있다.
도 9의 실시예에 따른 이동 로봇(400a)과 도 10의 실시예에 따른 이동 로봇(400b)은 영상처리모듈(445), 영상처리부(425) 외에 다른 구성은 동일하다.
또는, 실시예에 따라서는, 도 9와 도 10의 실시예와는 달리 상기 영상획득부(420)가 직접 상기 영상의 일부 영역을 추출할 수도 있다.
상기 머신 러닝으로 학습된 장애물인식모듈(444)은 그 특성상 학습한 대상이 입력 영상 데이터에서 많은 부분을 차지할수록 인식률이 높다.
따라서, 본 발명은 초음파 센서 등 센서부(470)가 감지하는 장애물의 방향에 따라 영상획득부(420)가 획득한 영상 중 다른 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.
상기 장애물인식모듈(444)은 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다.
또한, 상기 주행제어모듈(441)은 상기 인식된 장애물의 속성에 기초하여 상기 주행부(460)의 구동을 제어할 수 있다.
한편, 상기 제어부(440)는, 상기 장애물이 상기 본체 전면의 우측방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 우측하단 영역을 추출하고, 상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 좌측하단 영역을 추출하며, 상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 중앙(center)하단 영역을 추출하도록 제어할 수 있다.
또한, 상기 제어부(440)는, 상기 영상획득부가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물의 방향에 대응하도록 이동(shift)시켜 추출하도록 제어할 수 있다.
또한, 이동 로봇(400, 400a, 400b)이 이동 중 센서부(470)가 장애물을 감지하면, 제어부(440)는 상기 본체(410)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(420)가 획득하는 연속된 복수의 영상 중 상기 센서부(470)의 장애 물 감지 시점 이전의 특정 시점 영상을 선택하도록 제어할 수 있다.
센서부(470)의 장애물 감지 시점을 트리거(trigger) 신호로 하여, 영상획득부(420)가 영상을 획득하는 경우에는, 이동 로봇이 계속 이동하고 있어, 장애물이 획득영상에 포함되지 않거나 작게 포함될 수 있다.
따라서, 본 발명의 일 실시예는, 상기 본체(410)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(420)가 획득하는 연속된 복수의 영상 중 상기 센서부(470)의 장애물 감지 시점 이전의 특정 시점 영상을 선택하여, 장애물 인식용 데이터로 사용할 수 있다.
한편, 장애물인식모듈(444)은, 머신 러닝(machine learning)으로 기 학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 장애물의 속성을 인식할 수 있다.
한편, 저장부(450)에는 장애물 속성 판별을 위한 입력 데이터, 상기 심층신경망(DNN)을 학습하기 위한 데이터가 저장될 수 있다.
저장부(450)에는 영상획득부(420)가 획득한 원본 영상과 소정 영역이 추출된 추출 영상들이 저장될 수 있다.
또한, 실시예에 따라서는, 저장부(450)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.
또는, 실시예에 따라서는, 상기 심층신경망 구조를 이루는 웨이트(weight), 바이어스(bias)들은 상기 장애물인식모듈(444)의 임베디드 메모리 (embedded memory)에 저장될 수 있다.
한편, 상기 장애물인식모듈(444)은 상기 영상획득부(420)가 획득하는 영상의 일부 영역을 추출할 때마다 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 추출 영상이 획득된 후 학습 과정을 수행할 수 있다.
즉, 상기 장애물인식모듈(444)은 장애물을 인식할 때마다 인식 결과를 추가하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트(update)하거나, 소정 횟수의 트레이닝 데이터가 확보된 후에 확보된 트레이닝 데이터로 학습 과정을 수행하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트할 수 있다.
또는, 이동 로봇(400, 400a, 400b)은 통신부(490)를 통하여 상기 추출된 영상을 소정 서버로 전송하고, 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다.
이 경우에, 이동 로봇(400, 400a, 400b)은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 장애물인식모듈(441)을 업데이트(update)할 수 있다.
도 11은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 11을 참조하면, 서버(370)는, 통신부(1120), 저장부(1130), 학습모듈(1140), 및 프로세서(1110)를 구비할 수 있다.
프로세서(1110)는, 서버(370)의 전반적인 동작을 제어할 수 있다.
한편, 서버(370)는, 상기 이동 로봇(400, 400a, 400b) 등 홈 어플라이언스 제조사가 운영하는 서버 또는 서비스 제공자가 운영하는 서버일 수 있고, 일종의 클라우드(Cloud) 서버일 수 있다.
통신부(1120)는, 휴대 단말기, 이동 로봇(400, 400a, 400b) 등 홈 어플라이언스, 게이트웨이 등으로부터 상태 정보, 동작 정보, 조작 정보 등 각종 데이터를 수신할 수 있다.
그리고 통신부(1120)는 수신되는 각종 정보에 대응하는 데이터를 휴대 단말기, 이동 로봇(400, 400a, 400b) 등 홈 어플라이언스, 게이트웨이 등으로 송신할 수 있다.
이를 위해, 통신부(1120)는 인터넷 모듈, 이동 통신 모듈 등 하나 이상의 통신 모듈을 구비할 수 있다.
저장부(1130)는, 수신되는 정보를 저장하고, 이에 대응하는 결과 정보 생성을 위한 데이터를 구비할 수 있다.
또한, 저장부(1130)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
학습모듈(1140)은 상기 이동 로봇(400, 400a, 400b) 등 홈 어플라이언스의 학습기 역할을 수행할 수 있다.
상기 학습모듈(1140)에는 인공신경망, 예를 들어, CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다.
상기 학습모듈(1140)의 학습 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다.
한편, 상기 제어부(1110)는 설정에 따라 학습 후 상기 이동 로봇(400, 400a, 400b) 등 홈 어플라이언스의 인공신경망 구조를 학습된 인공신경망 구조로 업데이트시키도록 제어할 수 있다.
도 12 내지 도 14는 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다.
머신 러닝(Machine Learning)의 일종인 딥러닝(Deep Learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.
딥러닝(Deep learning)은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝(Machine Learning) 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(ANN)를 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(DNN)으로 구성될 수 있다
도 12를 참조하면, 인공신경망(ANN)은 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. 각 레이어는 복수의 노드들을 포함하고, 각 레이어는 다음 레이어와 연결된다. 인접한 레이어 사이의 노드들은 웨이트(weight)를 가지고 서로 연결될 수 있다.
도 13을 참조하면, 컴퓨터(머신)는 투입된 입력 데이터(1310)로부터 일정한 패턴을 발견해 특징맵(Feature Map)을 형성한다. 컴퓨터(머신)는 하위레벨 특징(1320)부터, 중간레벨 특징(1330), 상위레벨 특징(1340)까지 추출하여, 대상을 인식하고 그 결과를 출력(1350)할 수 있다.
인공신경망은 다음 순서의 레이어로 갈수록 더욱 상위레벨의 특징으로 추상화할 수 있다.
도 12와 도 13을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다.
임의의 노드, 예를 들어, 하위레벨 특징(1320)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(1330)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(1330)의 노드는 하위레벨 특징(1320)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
이 때, 각 노드의 입력값은 이전 레이어의 노드의 출력값에 웨이트(weight)가 적용된 값일 수 있다. 웨이트(weight)는 노드간의 연결 강도를 의미할 수 있다.
또한, 딥러닝 과정은 적절한 웨이트(weight)를 찾아내는 과정으로도 볼 수 있다.
한편, 임의의 노드, 예를 들어, 중간레벨 특징(1330)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(1340)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(1340)의 노드는 중간레벨특징(1330)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
인공신경망은 각 레벨에 대응하는 학습된 레이어(layer)를 이용하여, 각 레벨에 대응하는 특징 정보를 추출할 수 있다. 인공신경망은 순차적으로 추상화하여, 가장 상위 레벨의 특징 정보를 활용하여 소정 대상을 인식할 수 있다.
예를 들어, 딥러닝에 의한 얼굴인식 과정을 살펴보면, 컴퓨터는 입력 영상으로부터, 픽셀의 밝기에 따라 밝은 픽셀과 어두운 픽셀을 구분하고, 테두리, 에지 등 단순한 형태를 구분한 후, 조금 더 복잡한 형태와 사물을 구분할 수 있다. 최종적으로 컴퓨터는 인간의 얼굴을 규정하는 형태를 파악할 수 있다.
본 발명에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등일 수 있다.
RNN(Recurrent Neural Network)은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(Time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다.
DBN(Deep Belief Network)은 딥러닝 기법인 RBM(Restricted Boltzman Machine)을 다층으로 쌓아 구성되는 딥러닝 구조이다. RBM(Restricted Boltzman Machine) 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN(Deep Belief Network)를 구성할 수 있다.
CNN(Convolutional Neural Network)은, 특히 객체 인식 분야에서 많이 사용되는 구조로써, 도 14를 참조하여 설명한다.
CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.
도 14는 CNN(Convolutional Neural Network) 구조를 도시한 도면이다.
CNN(Convolutional Neural Network)도 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다.
입력 레이어(Input Layer)에는 소정 이미지(1400)가 입력된다.
도 14를 참조하면, 히든 레이어(Hiddent Layer)는 복수의 레이어로 구성되고, 컨볼루션 레이어(convolution layer)와 서브-샘플링 레이어(subsampling layer)를 포함할 수 있다.
CNN(Convolutional Neural Network)에서는 기본적으로 컨볼루션(convolution) 연산을 통해 영상의 특징을 추출하기 위한 다양한 필터와 비선형적인 특성을 더하기 위한 풀링(pooling) 또는 비선형 활성화(non-linear activation) 함수 등이 함께 사용된다.
컨볼루션(convolution)은 영상 처리 분야에서 주로 필터 연산에 사용되며 영상으로부터 특징(feature)을 추출하기 위한 필터를 구현하는데 사용된다.
예를 들어, 도 15와 같이, 3X3 윈도우를 이동하면서 영상 전체에 대해서 컨볼루션 연산을 반복적으로 수행하게 되면 윈도우의 가중치(weight) 값에 따라 적정한 결과를 얻을 수 있다.
도 15의 (a)를 참조하면 전체 이미지 중 소정 영역(1510)에 대해 3X3 윈도우를 이용하여, 컨볼루션 연산을 수행하면, 결과값(1501)이 나온다.
도 15의 (b)를 참조하면 3X3 윈도우를 우측으로 1 이동시킨 영역(1520)에 대해 다시 결과를 구하면 소정 결과값(1502)이 나오게 된다.
즉, 도 15의 (c)와 같이, 소정 윈도우를 이동시키면서 영상 전체에 대해서 연산을 수행하면 최종적인 결과를 얻을 수 있다.
컨볼루션 레이어(convolution layer)는 미리 정한 크기의 필터(예를들어, 도 15에서 예시된 3X3 윈도우)를 이용하여 이전 레이어에서 추출된 정보를 필터링하는 컨볼루션 필터링을 수행하는데 사용될 수 있다.
컨볼루션 레이어(convolution layer)는 컨볼루션 필터를 이용하여 입력된 영상 데이터(1400, 1402)에 컨볼루션 연산을 수행하고, 입력 이미지(1400)의 특징이 표현된 특징맵(1401, 1403)을 생성한다.
컨볼루션 필터링의 결과로서, 컨볼루션 레이어(convolution layer)에 포함된 필터의 개수에 따라 필터 개수만큼의 필터링 영상들이 생성될 수 있다.
컨볼루션 레이어는 필터링 영상들에 포함된 노드들로 구성될 수 있다.
또한, 컨볼루션 레이어(convolution layer)와 쌍을 이루는 서브-샘플링 레이어(sub-sampling layer)는 쌍을 이루는 컨볼루션 레이어(convolution layer)와 동일한 수의 특징맵들을 포함할 수 있다.
서브-샘플링 레이어(sub-sampling layer)는 샘플링 또는 풀링(pooling)을 통해 특징맵(1401, 1403)의 차원을 감소시킨다.
출력 레이어(Output Layer)는 특징맵(1404)에 표현된 다양한 특징을 조합하여 입력 이미지(1400)를 인식한다.
본 발명에 따른 이동 로봇의 장애물 인식 모듈은 상술한 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 본 발명이 한정되는 것은 아니나, 영상 내 객체 인식에서 많이 사용되고 있는 CNN(Convolutional Neural Network) 구조를 이용할 수 있다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다.
또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.
도 16과 도 17은 본 발명의 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 5 내지 도 10 및 도 16을 참조하면, 먼저, 이동 로봇(400, 400a, 400b) 명령 또는 설정에 따라서 이동하며 청소를 수행할 수 있다(S1610).
센서부(470)는 장애물감지센서(431)를 포함하며, 전방의 장애물을 감지할 수 있다.
이동 중에 센서부(470)를 통하여 장애물이 감지되면(S1620), 영상획득부(420)는 본체(410) 전방의 영상을 획득할 수 있다(S1630).
이 경우에, 제어부(440)는, 상기 센서부(470)가 감지하는 장애물의 방향에 대응하여 영상획득부(420)가 획득하는 영상의 일부 영역을 잘라내어 추출하도록 제어할 수 있다(S1640).
실시예에 따라서, 상기 제어부(440) 내의 영상처리모듈(445)이 상기 영상의 일부 영역을 추출할 수 있다. 또는 상기 제어부(440)는 별도로 구비되는 영상처리부(425)가 일부 영역을 추출하도록 제어할 수 있다. 또는 상기 제어부(440)
는 영상획득부(420)가 일부 영역을 추출하도록 제어할 수 있다.
한편, 장애물인식모듈은(444)은 상기 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다(S1650).
장애물인식모듈(444)은 머신 러닝으로 장애물의 종류 등 속성을 인식하도록 학습된 인공신경망을 포함할 수 있고, 기학습된 데이터에 기초하여 장애물의 속성을 인식할 수 있다(S1650).
예를 들어, 장애물인식모듈(444)에는 딥러닝 구조 중 하나인CNN(Convolutional Neural Network)이 탑재되고, 기학습된 CNN(Convolutional Neural Network)은 입력 데이터에 포함된 장애물의 속성을 인식하여 그 결과를 출력할 수 있다.
상기 머신 러닝으로 학습된 장애물인식모듈(444)은 그 특성상 학습한 대상이 입력 영상 데이터에서 많은 부분을 차지할수록 인식률이 높다.
따라서, 본 발명은 센서부(470)가 감지하는 장애물의 방향에 따라 영상획득부(420)가 획득한 영상 중 다른 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.
한편, 주행제어모듈(441)은, 상기 인식된 장애물의 속성에 기초하여, 주행부(460)의 구동을 제어할 수 있다(S1660).
예를 들어, 주행제어모듈(441)은 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에, 장애물을 우회하여 주행하도록 제어할 수 있다.
또한, 주행제어모듈(441)은 낮은 높이의 둔턱과 같이 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에, 계속해서 직진 주행하도록 제어할 수 있다.
또한, 주행제어모듈(441)은 선풍기의 받침대, 인모, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 장애물이 인식되면, 장애물을 우회하여 주행하도록 제어할 수 있다.
도 5 내지 도 10 및 도 17을 참조하면, 먼저, 이동 로봇(400, 400a, 400b)은 명령 또는 설정에 따라서 이동할 수 있다(S1710).
센서부(470)가 초음파 센서를 포함하는 경우에, 반사되는 초음파 신호를 감지함으로써 장애물을 인식할 수 있다(S1720).
한편, 영상획득부(420)는 지속적으로 이동 로봇(400, 400a, 400b) 전방 및 주변을 촬영하거나, 상기 센서부(470)의 장애물 감지에 따라 전방 및 주변을 촬영하여 영상을 획득할 수 있다.
제어부(440)는 상기 영상획득부(420)를 통하여 획득한 영상 중 상기 초음파 신호가 감지된 영역에 대응하는 영역을 추출하도록 제어할 수 있다(S1730).
예를 들어, 제어부(440)는 상기 초음파 신호가 감지된 영역이 전방 우측 영역인 경우에 상기 영상획득부(420)를 통하여 획득한 영상 중 우측 영역을 추출하도록 제어할 수 있다. 또한, 제어부(440)는 상기 초음파 신호가 감지된 영역이 전방 중앙 영역인 경우에 상기 영상획득부(420)를 통하여 획득한 영상 중 중앙 영역을 추출하도록 제어할 수 있다.
한편, 제어부(440)는 머신 러닝으로 기학습된 데이터에 기초하여, 상기 추출된 영상에서 감지된 장애물의 속성을 판별할 수 있다.
또한, 제어부(440)는 감지된 장애물이 넘을 수 있는 높이인지 여부를 판단할 수 있다(S1740).
만약 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에(S1740), 제어부(440)는 90도 회전한 후 장애물을 우회하여 주행하도록 제어할 수 있다(S1755).
한편, 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에(S1740), 제어부(440)는 감지된 장애물의 속성 정보를 판단할 수 있다(S1745). 즉, 제어부(440)는 상기 인식된 장애물이 구속 가능성이 작아 진행해도 되는 장애물인지 여부를 판단할 수 있다.
진행해도 되는 장애물로 판단되면, 제어부(440)는 계속해서 직진 이동하도록 제어할 수 있다(S1750).
종래에는 감지된 장애물이 넘을 수 있는 높이인지 여부를 판단하여, 낮은 높이의 장애물의 경우에 직진 주행하였다.
하지만, 전선 등과 같은 장애물의 경우, 이동 로봇이 전선에 감겨 구속되는 경우가 발생하였다.
또한, 이동 로봇은 구속되는 경우에 좌/우로 흔드는 모션(motion) 등을 적용하여 구속 상태를 벗어나려고 하나, 전선의 피복이 벗겨지는 안전사고 등이 발생할 수 있었다.
하지만, 본 발명은 머신 러닝과 영상 정보를 활용하여 장애물 속성정보를 인식하고, 인식된 장애물 속성에 따라 주행 패턴을 결정함으로써, 신뢰성을 향상시킬 수 있다.
도 18 내지 도 20은 본 발명의 다른 일 실시예에 따른 이동 로봇의 장애물 회피 주행에 대한 제1 실시예를 설명하기 위한 도면이다,
도 18에 도시된 바와 같이, 본 발명의 다른 일 실시예에 의한 이동 로봇(1800)은 일정 공간 내에서 이동 맵(1810) 데이터를 저장할 수 있다.
이동 로봇(1800)은 기 정해진 시간 동안 상기 일정 공간을 이동하면서 상기 이동 맵(1810)을 생성하여 저장할 수 있다.
또한, 이동 로봇(1800)은 외부 서버로부터 상기 일정 공간에 대한 이동 맵(1810)을 수신하여 저장할 수 있다.
또한 도 19에 도시된 바와 같이, 이동 로봇(1800)이 저장하는 이동 맵(1810)은 장애물(1811, 1812, 1813, 1814) 위치 정보를 포함할 수 있다.
장애물(1811, 1812, 1813, 1814) 위치 정보는 서버로부터 수신할 수도 있고, 이동 로봇(1800)이 일정 공간을 이동하면서 직접 장애물을 감지하고 영상을 획득하여 정보를 생성 후 저장할 수도 있다.
또한, 이동 로봇(1800)이 저장하는 데이터 형태는 도 19와 같이 장애물 이미지를 포함하는 형태이거나, 도 20과 같이 장애물의 정보를 이동 맵(1810)에 부가하는 형태일 수 있다.
따라서, 이동 로봇(1800)은 장애물(1811, 1812, 1813, 1814) 위치 정보를 포함하는 이동 맵(1810)에 기초하여, 장애물에 충돌하지 않도록 경로 설정을 수행할 수 있다.
도 21 내지 도 22는 본 발명의 다른 일 실시예에 따른 이동 로봇의 장애물 회피 주행에 대한 제2 실시예를 설명하기 위한 도면이다.
도 21에 도시된 바와 같이, 이동 로봇(2100)은 이동 맵(2110)을 저장할 수 있다.
이동 맵(2110)은 장애물(2111, 2112, 2113, 2114) 위치 정보를 포함할 수 있다.
이동 로봇(2100)은 이동 맵(2110)에 기초하여 장애물(2111, 2112, 2113, 2114) 위치를 알 수 있고, 해당 위치를 회피하는 주행 경로를 선택함으로써 장애물과의 충돌을 방지할 수 있다.
도 21에 도시된 바와 같이, 이동 로봇(2100)은 주행 중 이동 맵(2110)에 저장되어 있지 않은 새로운 장애물(2115)을 주행 경로에서 만날 수 있다.
이 때, 이동 로봇(2100)은 영상인식을 통해 장애물(2115)을 인식할 수 있고, 장애물(2115) 정보를 디텍팅 할 수 있다.
또한, 이동 로봇(2100)은 새로운 장애물(2115) 주변 영역에 대한 영상을 획득할 수 있다.
따라서, 이동 로봇(2100)은 장애물(2115) 주변 영역에 대한 영상으로부터 장애물(2115) 회피 주행 경로(2120)를 새롭게 계산할 수 있다.
도 22에 도시된 바와 같이, 이동 로봇(2100)은 원래 목적지까지 도달하기 위한 장애물(2115) 회피 주행 경로(2120)에 따라서 주행을 계속할 수 있다.
도 23 내지 도 25는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제1 실시예를 설명하기 위한 도면이다.
이동 로봇(2300)이 저장하는 이동 맵(2310)은 장애물(2311, 2312, 2313, 2314) 위치 정보를 포함할 수 있다.
장애물(2311, 2312, 2313, 2314) 위치 정보는 서버로부터 수신할 수도 있고, 이동 로봇(2300)이 일정 공간을 이동하면서 직접 장애물을 감지하고 영상을 획득하여 정보를 생성 후 저장할 수도 있다.
이동 로봇(2300)은 장애물(2311, 2312, 2313, 2314) 위치 정보에 기반하여 주행 경로를 설정할 수 있다.
반면 도 23에 도시된 바와 같이, 이동 로봇(2300)은 기존 이동 맵(2310)에 따라 설정한 주행 경로 상에서 제1 장애물(2311)을 발견할 수 있다.
이동 로봇(2300)은 영상정보를 통해 제1 장애물(2311)을 인식할 수 있다.
이동 로봇(2300)은 제1 장애물(2311)이 이동 맵(2310)에 표시된 위치가 아닌 다른 위치에 있다는 것을 판단할 수 있다.
이 경우, 이동 로봇(2300)은 이동 맵(2310)에 액세스하여 제1 장애물(2311)의 원 위치를 검색할 수 있다.
그리고 도 24에 도시된 바와 같이, 이동 로봇(2300)은 이동 맵(2310)에 표시된 제1 장애물(2311)의 원 위치로, 제1 장애물(2311)을 옮길 수 있다.
이 때, 이동 로봇(2300)은 본체를 통해 미는 동작으로 제1 장애물(2311)을 옮길 수 있고, 또는 집게 팔을 이용하여 제1 장애물(2311)을 옮길 수 있다.
도 25에 도시된 바와 같이 제1 장애물(2311)을 원 위치로 옮긴 이동 로봇(2300)은, 현재 위치에서 본래 가고자 했던 목적지까지의 새로운 주행 경로를 계산할 수 있다.
그리고 이동 로봇(2300)은 계산된 새로운 주행 경로에 따라서 이동할 수 있다.
도 26 내지 도 29는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제2 실시예를 설명하기 위한 도면이다.
이동 로봇(2600)이 저장하는 이동 맵(2610)은 장애물(2611, 2612, 2613, 2614) 위치 정보를 포함할 수 있다.
장애물(2611, 2612, 2613, 2614) 위치 정보는 서버로부터 수신할 수도 있고, 이동 로봇(2600)이 일정 공간을 이동하면서 직접 장애물을 감지하고 영상을 획득하여 정보를 생성 후 저장할 수도 있다.
이동 로봇(2600)은 장애물(2611, 2612, 2613, 2614) 위치 정보에 기반하여 주행 경로를 설정할 수 있다.
반면 도 26에 도시된 바와 같이, 이동 로봇(2600)은 기존 이동 맵(2610)에 따라 설정한 주행 경로 상에서 새로운 장애물(2615)을 발견할 수 있다.
이동 로봇(2600)은 영상 획득 과정을 통해 새로운 장애물(2615)의 위치, 크기, 종류, 형태 등의 다양한 정보를 검출할 수 있다.
도 27에 도시된 바와 같이, 이동 로봇(2600)은 검출된 새로운 장애물(2615)의 정보에 기초하여, 새로운 장애물(2615)을 옮기기 위한 위치(2631, 2632, 2633, 2634)를 이동 맵(2610)에서 검색할 수 있다.
또한 도 28에 도시된 바와 같이, 이동 로봇(2600)은 새로운 장애물(2615)을 옮기기 위한 장소 선택 메시지를 사용자 장치(2640)로 전송할 수 있다.
사용자는 사용자 장치(2640)를 통해 새로운 장애물(2615)을 옮길 장소를 선택할 수 있다.
새로운 장애물(2615)을 옮기기 위한 위치(2634)가 결정되면, 도 29에 도시된 바와 같이 이동 로봇(2600)은 이동 맵(2610)에 기초하여 새로운 장애물(2615)를 옮길 수 있다.
이 때, 이동 로봇(2600)은 본체를 통해 미는 동작으로 새로운 장애물(2615)을 옮길 수 있고, 또는 집게 팔을 이용하여 새로운 장애물(2615)을 옮길 수 있다.
도 30 내지 도 34b는 본 발명의 다른 일 실시예에 따른 이동 로봇이 장애물을 이동시키는 제3 실시예를 설명하기 위한 도면이다.
이동 로봇(3000)이 저장하는 이동 맵(3010)은 장애물(3011, 3012, 3013, 3014) 위치 정보를 포함할 수 있다.
장애물(3011, 3012, 3013, 3014) 위치 정보는 서버로부터 수신할 수도 있고, 이동 로봇(3000)이 일정 공간을 이동하면서 직접 장애물을 감지하고 영상을 획득하여 정보를 생성 후 저장할 수도 있다.
이동 로봇(3000)은 장애물(3011, 3012, 3013, 3014) 위치 정보에 기반하여 주행 경로를 설정할 수 있다.
반면 도 30에 도시된 바와 같이, 이동 로봇(3000)은 기존 이동 맵(3010)에 따라 설정한 주행 경로 상에서 장애물 구속 상태를 감지할 수 있다.
예를 들어 도 30에서 이동 로봇(3000)은 이동 맵에 저장된 제1 장애물(3011), 이동 맵에 저장되지 않은 제5 장애물(3015) 및 제6 장애물(3016)에 의해 구속 상태에 위치할 수 있다.
이 경우, 이동 로봇(3000)은 영상 획득 과정을 통해 제1 장애물(3011), 이동 맵에 저장되지 않은 제5 장애물(3015) 및 제6 장애물(3016)에 대한 위치, 크기, 종류, 형태 등의 다양한 정보를 검출할 수 있다.
이 때, 이동 로봇(3000)은 제1 장애물(3011), 제5 장애물(3015) 및 제6 장애물(3016) 중에서 이동시키기 쉬운 장애물을 먼저 선택할 수 있다.
예를 들어 도 31에 도시된 바와 같이, 이동 로봇(3000)은 이동 시키기 쉬운 공 형태로 구성된 제5 장애물(3015)을 이동시킬 수 있다.
제5 장애물(3015)을 이동시킨 뒤, 이동 로봇(3000)은 본래 목적지까지 가기 위한 새로운 주행 경로(3020)을 계산할 수 있다.
구속 상태에서 탈출한 이동 로봇(3000)은 새로운 주행 경로(3020)에 기초하여 목적지까지 이동할 수 있다.
또한 도 32에 도시된 바와 같이, 이동 로봇(3000)은 구속 상태를 탈출하기 위하여 이동시킨 제5 장애물(3015)의 위치를 원 위치시킬 수 있다.
또한 구속 상태에 직면한 이동 로봇(3000)은 제1 장애물(3011), 제5 장애물(3015) 및 제6 장애물(3016) 중에서 원 위치 정보를 가지고 있는 장애물을 선택할 수 있다.
본 설명에서는 이동 로봇(3000)은 제1 장애물(3011), 제5 장애물(3015) 및 제6 장애물(3016) 중 제1 장애물(3011)의 원 위치 정보를 가지고 있는 것으로 가정한다.
도 33에 도시된 바와 같이, 이 경우 이동 로봇(3000)은 제1 장애물(3011)의 위치를 이동 맵(3010)에 기초하여 원 위치로 이동시킬 수 있다.
즉, 이동 로봇(3000)은 제1 장애물(3011)을 원 위치 시킴으로써 구속 상태로부터 탈출할 수 있다.
또한 구속 상태에 직면한 이동 로봇(3000)은 제1 장애물(3011), 제5 장애물(3015) 및 제6 장애물(3016) 중 이동이 가능한 장애물이 없는 것으로 판단할 수 있다.
이 경우에는 도 34b에 도시된 바와 같이, 이동 로봇(3000)은 사용자 장치(3040)로 구속 상태 탈출 요청 메시지를 전송할 수 있다.
따라서, 이와 같이 장애물들에 둘러 싸여 구속 상태에 직면하더라도 이동 로봇은 스스로 구속 상태에서 탈출하여 이동을 계속해서 실행할 수 있는 기술적 효과가 있다.
도 35는 본 발명의 다른 일 실시예에 따른 이동 로봇의 제어 방법에 대한 플로우 차트이다.
도 35에 도시된 바와 같이, 본 발명의 다른 일 실시예에 의한 이동 로봇은 주행 중 영상정보를 실시간으로 획득할 수 있다(S3501).
이동 로봇은 영상정보에 기초하여 사물을 인식할 수 있다(S3502).
이동 로봇은 영상정보 및 사물 인식 정보에 기초하여 이동 맵을 생성하여 저장할 수 있다(S3503).
이동 로봇은 주행 도중에 장애물과 같은 사물이 있는지 여부를 확인할 수 있다(S3504).
이동 로봇이 장애물을 만난 경우, 주변에 회피 경로가 없는 구속 상태인지 여부를 판단할 수 있다(S3505).
상기 판단 결과(S3505) 구속 상태가 아닌 경우, 장애물의 위치가 적절한지 여부를 판단할 수 있다(S3506).
상기 판단 결과(S3506) 사물의 위치가 적절하다고 판단되면, 이동 로봇은 회피 주행 경로를 새롭게 계산하여 주행을 계속할 수 있다.
반면 상기 판단 결과(S3506) 사물의 위치가 적절하지 않다고 판단되면, 이동 로봇은 상기 장애물을 다른 위치로 옮길 수 있다. 이 때, 상기 장애물의 원위치 정보를 가지고 있는 경우에는 상기 장애물을 원 위치로 옮길 수 있다.
상기 판단 결과(S3505) 구속 상태인 경우, 이동 로봇은 구속 장애물들 중의 위이동이 가능한 장애물이 있는지 여부를 판단할 수 있다(S3508).
상기 판단 결과(S3508) 이동 가능한 장애물이 있는 경우, 이동 로봇은 장애물을 이동시켜 탈출 경로를 확보할 수 있다(S3509). 그리고, 구속 상태에서 탈출한 이동 로봇은 이동 시킨 장애물을 원위치 시킬 수 있다(S3501).
반면 상기 판단 결과(S3508) 이동 가능한 장애물이 없는 경우, 이동 로봇은 구속 상태에서 대기하여 사용자의 도움을 기다릴 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
Claims (12)
- 이동 로봇에 있어서,본체를 이동시키는 주행부;상기 본체 주변의 영상을 획득하는 영상획득부;상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부;상기 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물 지역으로 등록하고, 상기 장애물 지역에서 상기 영상획득부가 획득하는 영상을 저장하는 저장부;머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물 지역에서 상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하고, 상기 순차적으로 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별하는 장애물 인식 모듈; 및복수 개의 장애물들로부터 가능한 주행 경로가 모두 차단되는 구속 상태를 감지하는 경우, 상기 장애물 인식 모듈을 통해 상기 복수 개의 장애물들의 속성을 파악하고, 상기 복수 개의 장애물들 중 하나의 장애물을 이동시키도록 상기 주행부를 제어하는 제어부를 포함하는이동 로봇.
- 제1항에 있어서,상기 제어부는,상기 장애물 인식 모듈을 이용하여 상기 복수 개의 장애물들의 속성 중 크기, 무게, 형태에 대한 속성 정보들을 획득하여 가장 이동이 용이한 상기 하나의 장애물을 선택하는이동 로봇.
- 제1항에 있어서,상기 제어부는,상기 복수 개의 장애물들 중 상기 저장부에 저장된 맵에 기 등록된 장애물이 있는 경우, 우선적으로 상기 기 등록된 장애물을 선택하여 이동시키도록 상기 주행부를 제어하는이동 로봇.
- 제3항에 있어서,상기 제어부는,상기 기 등록된 장애물을 이동시키는 경우, 상기 맵에 등록된 장애물 지역으로 상기 기 등록된 장애물을 이동시키도록 상기 주행부를 제어하는이동 로봇.
- 제1항에 있어서,상기 제어부는상기 하나의 장애물을 이동시키고 상기 구속 상태가 해제된 것을 감지하는 경우, 이전에 설정된 목적지까지의 새로운 주행 경로를 계산하는이동 로봇.
- 제5항에 있어서,상기 센서부는 상기 로봇 청소기의 상부면 일측에 장착되는로봇 청소기.
- 제1항에 있어서,상기 제어부는상기 하나의 장애물을 이동시키는 경우, 상기 맵에 기초하여 상기 하나의 장애물을 이동시키기 위한 위치를 선택하고, 상기 선택된 위치로 상기 하나의 장애물을 이동시키도록 상기 주행부를 제어하는이동 로봇.
- 제7항에 있어서,상기 제어부는,상기 하나의 장애물을 이동시키는 경우,상기 하나의 장애물을 이동시키기 위한 위치는 사용자로부터 선택 입력 받기 위한 메시지를 사용자 장치로 전송하도록 제어하는이동 로봇.
- 제1항에 있어서상기 장애물 인식 모듈은,상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식할 때, 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하는 과정을 반복적으로 수행하는이동 로봇.
- 제9항에 있어서,상기 장애물 인식 모듈은,현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여,상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면,상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 소정 가중치를 반영하여 상향하며,상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록하도록 제어하는이동 로봇.
- 제9항에 있어서,상기 장애물 인식 모듈은,상기 장애물지역의 모든 영역에 대하여 장애물 인식이 완료되는 순간, 마지막 현재 인식 결과를 상기 장애물의 최종 속성으로 판별하는이동 로봇.
- 제1항에 있어서,상기 장애물 인식 모듈은,상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하도록 제어하는 것을 특징으로 하는 이동 로봇.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18744662.0A EP3575046B1 (en) | 2017-01-25 | 2018-01-16 | Mobile robot and method for controlling same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0012318 | 2017-01-25 | ||
KR1020170012318A KR102688528B1 (ko) | 2017-01-25 | 2017-01-25 | 이동 로봇 및 그 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018139796A1 true WO2018139796A1 (ko) | 2018-08-02 |
Family
ID=62906382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/000761 WO2018139796A1 (ko) | 2017-01-25 | 2018-01-16 | 이동 로봇 및 그의 제어 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10852729B2 (ko) |
EP (1) | EP3575046B1 (ko) |
KR (1) | KR102688528B1 (ko) |
WO (1) | WO2018139796A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107225570A (zh) * | 2017-04-20 | 2017-10-03 | 深圳前海勇艺达机器人有限公司 | 智能机器人的避障方法及装置 |
CN109394086A (zh) * | 2018-11-19 | 2019-03-01 | 珠海市微半导体有限公司 | 一种基于被困的清洁机器人的继续行走方法、装置及芯片 |
EP3814067B1 (de) | 2018-08-31 | 2023-05-31 | Robart GmbH | Exploration eines robotereinsatzgebietes durch einen autonomen mobilen roboter |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
US10618174B2 (en) * | 2014-12-09 | 2020-04-14 | Aeolus Robotics, Inc. | Robotic Touch Perception |
US20220091265A1 (en) * | 2017-06-02 | 2022-03-24 | Pixart Imaging Inc. | Mobile robot generating resized region of interest in image frame and using dual-bandpass filter |
EP3667450B1 (en) * | 2017-08-07 | 2021-10-13 | Panasonic Corporation | Mobile body and method for control of mobile body |
CN107544495B (zh) * | 2017-08-17 | 2021-04-27 | 北京小米移动软件有限公司 | 清扫方法及装置 |
US10878294B2 (en) | 2018-01-05 | 2020-12-29 | Irobot Corporation | Mobile cleaning robot artificial intelligence for situational awareness |
USD872402S1 (en) * | 2018-04-23 | 2020-01-07 | Eozy International GmbH | Window cleaning robot |
KR102601141B1 (ko) * | 2018-06-22 | 2023-11-13 | 삼성전자주식회사 | 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법 |
CN110895409B (zh) * | 2018-08-23 | 2020-11-27 | 珠海格力电器股份有限公司 | 避让障碍物的控制方法 |
KR102629036B1 (ko) * | 2018-08-30 | 2024-01-25 | 삼성전자주식회사 | 로봇 및 그의 제어 방법 |
KR102500684B1 (ko) * | 2018-09-10 | 2023-02-16 | 엘지전자 주식회사 | 로봇 청소기 및 로봇 청소기의 제어 방법 |
KR102577785B1 (ko) * | 2018-09-20 | 2023-09-13 | 삼성전자주식회사 | 청소 로봇 및 그의 태스크 수행 방법 |
KR102147210B1 (ko) * | 2018-10-22 | 2020-08-24 | 엘지전자 주식회사 | 인공지능 이동 로봇의 제어 방법 |
KR20200075140A (ko) * | 2018-12-12 | 2020-06-26 | 엘지전자 주식회사 | 인공지능 이동 로봇 및 이의 제어 방법 |
JP7221549B2 (ja) * | 2018-12-17 | 2023-02-14 | 学校法人千葉工業大学 | 情報処理装置および移動ロボット |
KR102696487B1 (ko) | 2018-12-24 | 2024-08-21 | 삼성전자주식회사 | 기계 학습 기반의 로컬 모션 생성 방법 및 장치 |
KR20200084449A (ko) * | 2018-12-26 | 2020-07-13 | 삼성전자주식회사 | 청소 로봇 및 그의 태스크 수행 방법 |
WO2020192590A1 (zh) * | 2019-03-27 | 2020-10-01 | 李桂玉 | 一种扫地机器人 |
US11364898B2 (en) * | 2019-04-22 | 2022-06-21 | Robotic Research Opco, Llc | Autonomous vehicle controlled crash |
CN110108282B (zh) * | 2019-05-09 | 2023-11-07 | 仲恺农业工程学院 | 多源信息避障装置及避障系统 |
CN110154053A (zh) * | 2019-06-05 | 2019-08-23 | 东北师范大学 | 一种基于ocr的室内讲解机器人及其讲解方法 |
CN110345959B (zh) * | 2019-06-10 | 2023-11-03 | 同济人工智能研究院(苏州)有限公司 | 一种基于“门”点的路径规划方法 |
KR20190086631A (ko) * | 2019-07-02 | 2019-07-23 | 엘지전자 주식회사 | 사용자의 동작을 고려하여 청소하는 인공 지능 장치 및 그 방법 |
KR20190101326A (ko) * | 2019-08-12 | 2019-08-30 | 엘지전자 주식회사 | 이동공간 분할 방법 및 분할된 이동공간을 이동하는 이동로봇 |
KR20210047434A (ko) * | 2019-10-21 | 2021-04-30 | 엘지전자 주식회사 | 로봇 청소기 및 그의 동작 방법 |
KR20210057582A (ko) * | 2019-11-12 | 2021-05-21 | 삼성전자주식회사 | 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 |
JP7424570B2 (ja) * | 2019-12-23 | 2024-01-30 | アクチエボラゲット エレクトロルックス | ロボット掃除デバイスによる物体の移動 |
KR20210084129A (ko) * | 2019-12-27 | 2021-07-07 | 삼성전자주식회사 | 로봇 청소기 및 그 제어 방법 |
CN111142526B (zh) * | 2019-12-30 | 2022-07-12 | 科沃斯机器人股份有限公司 | 越障与作业方法、设备及存储介质 |
SE543958C2 (en) * | 2020-04-06 | 2021-10-05 | Husqvarna Ab | Navigation for a robotic work tool based on a classifier associated with an area |
CN111714034B (zh) * | 2020-05-18 | 2022-10-21 | 科沃斯机器人股份有限公司 | 一种自移动机器人的控制方法、系统及自移动机器人 |
DE102020206871A1 (de) * | 2020-06-02 | 2021-12-02 | BSH Hausgeräte GmbH | Verfahren zur umgehung von unpassierbaren hindernissen durch einen roboter |
CN113408382A (zh) * | 2020-07-13 | 2021-09-17 | 追创科技(苏州)有限公司 | 自移动设备的控制方法、装置、存储介质及自移动设备 |
CN112426111B (zh) * | 2020-08-31 | 2022-05-17 | 深圳市银星智能科技股份有限公司 | 一种机器人清扫控制装置、方法及电子设备 |
US20220138612A1 (en) * | 2020-10-29 | 2022-05-05 | Micron Technology, Inc. | Anomaly detection and resolution |
CN114518744A (zh) * | 2020-10-30 | 2022-05-20 | 深圳乐动机器人有限公司 | 机器人的脱困方法、装置、机器人及存储介质 |
DE102021200401B3 (de) | 2021-01-18 | 2022-06-30 | BSH Hausgeräte GmbH | Verfahren zur autonomen Bearbeitung von Bodenflächen |
CN113050655A (zh) * | 2021-03-29 | 2021-06-29 | 中国南方电网有限责任公司超高压输电公司柳州局 | 一种通过激光测距仪完成变电站机器人绕障的方法 |
CN113128703A (zh) * | 2021-04-19 | 2021-07-16 | 深圳市思拓智联科技有限公司 | 基于大数据具备自主学习能力的智能机器人 |
CN113110481B (zh) * | 2021-04-26 | 2024-02-06 | 上海智蕙林医疗科技有限公司 | 一种应急避让实现方法、系统、机器人和存储介质 |
CN113070882B (zh) * | 2021-04-28 | 2023-01-24 | 北京格灵深瞳信息技术股份有限公司 | 检修机器人控制系统、方法、装置和电子设备 |
CN113219972A (zh) * | 2021-05-08 | 2021-08-06 | 西安达升科技股份有限公司 | 一种agv精确定位的方法、装置及存储介质 |
CN114296447B (zh) * | 2021-12-07 | 2023-06-30 | 北京石头世纪科技股份有限公司 | 自行走设备的控制方法、装置、自行走设备和存储介质 |
SE2250230A1 (en) * | 2022-02-21 | 2023-08-22 | Husqvarna Ab | An outdoor robotic work tool comprising an environmental detection system adapted to detect obstacles |
CN115047876A (zh) * | 2022-06-07 | 2022-09-13 | 达闼机器人股份有限公司 | 可移动设备避障方法、装置、设备和存储介质 |
CN114935341B (zh) * | 2022-07-25 | 2022-11-29 | 深圳市景创科技电子股份有限公司 | 一种新型slam导航计算视频识别方法及装置 |
WO2024075949A1 (ko) * | 2022-10-07 | 2024-04-11 | 삼성전자 주식회사 | 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치 |
CN118356122B (zh) * | 2024-06-20 | 2024-10-18 | 追觅创新科技(苏州)有限公司 | 清洁机器人的控制方法及清洁机器人 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008200770A (ja) * | 2007-02-16 | 2008-09-04 | Toshiba Corp | ロボットおよびその制御方法 |
KR101273252B1 (ko) * | 2011-03-09 | 2013-06-12 | 호야로봇 (주) | 장애물 제거 수단이 구비된 주행 로봇 |
KR101322510B1 (ko) * | 2011-09-20 | 2013-10-28 | 엘지전자 주식회사 | 로봇 청소기 |
KR101362373B1 (ko) * | 2007-08-17 | 2014-02-12 | 삼성전자주식회사 | 로봇청소기 및 그 제어방법 |
KR20160054565A (ko) * | 2014-04-18 | 2016-05-16 | 가부시끼가이샤 도시바 | 자율 주행체 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060059006A (ko) * | 2004-11-26 | 2006-06-01 | 삼성전자주식회사 | 이동형 가전기기가 장애물을 회피하며 벽을 따라 이동하는방법 및 장치 |
US20090048727A1 (en) | 2007-08-17 | 2009-02-19 | Samsung Electronics Co., Ltd. | Robot cleaner and control method and medium of the same |
EP2261762A3 (en) * | 2009-06-12 | 2014-11-26 | Samsung Electronics Co., Ltd. | Robot cleaner and control method thereof |
KR102093177B1 (ko) * | 2013-10-31 | 2020-03-25 | 엘지전자 주식회사 | 이동 로봇 및 그 동작방법 |
KR20150142475A (ko) * | 2014-06-12 | 2015-12-22 | 연세대학교 산학협력단 | 장애물 식별 장치 및 방법 |
JP6537251B2 (ja) * | 2014-11-14 | 2019-07-03 | シャープ株式会社 | 自律走行装置 |
KR20160058594A (ko) * | 2014-11-17 | 2016-05-25 | 삼성전자주식회사 | 로봇 청소기, 단말장치 및 그 제어 방법 |
KR102398330B1 (ko) * | 2015-06-12 | 2022-05-16 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR102624560B1 (ko) * | 2017-01-31 | 2024-01-15 | 엘지전자 주식회사 | 청소기 |
-
2017
- 2017-01-25 KR KR1020170012318A patent/KR102688528B1/ko active IP Right Grant
-
2018
- 2018-01-16 EP EP18744662.0A patent/EP3575046B1/en active Active
- 2018-01-16 WO PCT/KR2018/000761 patent/WO2018139796A1/ko unknown
- 2018-01-23 US US15/877,677 patent/US10852729B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008200770A (ja) * | 2007-02-16 | 2008-09-04 | Toshiba Corp | ロボットおよびその制御方法 |
KR101362373B1 (ko) * | 2007-08-17 | 2014-02-12 | 삼성전자주식회사 | 로봇청소기 및 그 제어방법 |
KR101273252B1 (ko) * | 2011-03-09 | 2013-06-12 | 호야로봇 (주) | 장애물 제거 수단이 구비된 주행 로봇 |
KR101322510B1 (ko) * | 2011-09-20 | 2013-10-28 | 엘지전자 주식회사 | 로봇 청소기 |
KR20160054565A (ko) * | 2014-04-18 | 2016-05-16 | 가부시끼가이샤 도시바 | 자율 주행체 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107225570A (zh) * | 2017-04-20 | 2017-10-03 | 深圳前海勇艺达机器人有限公司 | 智能机器人的避障方法及装置 |
EP3814067B1 (de) | 2018-08-31 | 2023-05-31 | Robart GmbH | Exploration eines robotereinsatzgebietes durch einen autonomen mobilen roboter |
CN109394086A (zh) * | 2018-11-19 | 2019-03-01 | 珠海市微半导体有限公司 | 一种基于被困的清洁机器人的继续行走方法、装置及芯片 |
Also Published As
Publication number | Publication date |
---|---|
EP3575046A1 (en) | 2019-12-04 |
EP3575046A4 (en) | 2020-10-21 |
KR20180087798A (ko) | 2018-08-02 |
US10852729B2 (en) | 2020-12-01 |
EP3575046B1 (en) | 2021-06-16 |
KR102688528B1 (ko) | 2024-07-26 |
US20180210445A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018139796A1 (ko) | 이동 로봇 및 그의 제어 방법 | |
AU2020247141B2 (en) | Mobile robot and method of controlling the same | |
WO2018038552A1 (ko) | 이동 로봇 및 그 제어방법 | |
WO2018097574A1 (ko) | 이동 로봇 및 그 제어방법 | |
WO2021010757A1 (en) | Mobile robot and control method thereof | |
WO2018155999A2 (en) | Moving robot and control method thereof | |
WO2017188706A1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
WO2021006556A1 (en) | Moving robot and control method thereof | |
WO2021006677A2 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
WO2017188800A1 (ko) | 이동 로봇 및 그 제어방법 | |
AU2020244635B2 (en) | Mobile robot control method | |
AU2019336870B2 (en) | Plurality of autonomous mobile robots and controlling method for the same | |
AU2019262468B2 (en) | A plurality of robot cleaner and a controlling method for the same | |
WO2021006542A1 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
WO2018117616A1 (ko) | 이동 로봇 | |
WO2018101631A2 (ko) | 청소 로봇, 청소 로봇에 구비되는 청소 기능 제어 장치, 및 청소 로봇에 구비되는 다채널 라이더 기반 장애물 검출 장치 | |
WO2020122540A1 (ko) | 로봇 청소기 및 그 동작방법 | |
WO2019004742A1 (ko) | 이동 로봇과 이동 단말기를 포함하는 로봇 시스템 | |
WO2021006553A1 (en) | Moving robot and control method thereof | |
WO2021006671A1 (en) | Mobile robot using artificial intelligence and control method thereof | |
WO2019004773A1 (ko) | 이동 단말기 및 이를 포함하는 로봇 시스템 | |
WO2021225234A1 (en) | Robot cleaner and method for controlling the same | |
WO2023195621A1 (ko) | 이동 로봇 및 그의 제어 방법 | |
WO2021006693A2 (en) | Moving robot and control method thereof | |
WO2020050565A1 (en) | Plurality of autonomous mobile robots and controlling method for the same |
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: 18744662 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018744662 Country of ref document: EP Effective date: 20190826 |