WO2018097574A1 - 이동 로봇 및 그 제어방법 - Google Patents

이동 로봇 및 그 제어방법 Download PDF

Info

Publication number
WO2018097574A1
WO2018097574A1 PCT/KR2017/013274 KR2017013274W WO2018097574A1 WO 2018097574 A1 WO2018097574 A1 WO 2018097574A1 KR 2017013274 W KR2017013274 W KR 2017013274W WO 2018097574 A1 WO2018097574 A1 WO 2018097574A1
Authority
WO
WIPO (PCT)
Prior art keywords
obstacle
mobile robot
image
unit
driving
Prior art date
Application number
PCT/KR2017/013274
Other languages
English (en)
French (fr)
Inventor
노동기
백승면
백승민
이성훈
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020160157552A external-priority patent/KR102662949B1/ko
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US16/463,785 priority Critical patent/US11330948B2/en
Priority to AU2017363769A priority patent/AU2017363769B2/en
Priority to EP21191617.6A priority patent/EP3950234B1/en
Priority to EP17874188.0A priority patent/EP3546139B1/en
Publication of WO2018097574A1 publication Critical patent/WO2018097574A1/ko
Priority to US17/743,935 priority patent/US11737635B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation 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/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • B25J19/061Safety devices with audible signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

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 capable of recognizing obstacles such as movable obstacles and performing avoided driving.
  • 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.
  • 1 is a view referred to in the description of the obstacle detection and avoiding method of the conventional mobile robot.
  • the robot cleaner sucks dust and foreign substances while moving and performs cleaning (S11).
  • the ultrasonic sensor detects the ultrasonic signal reflected by the obstacle and recognizes the presence of the obstacle (S12), and determines whether the height of the recognized obstacle exceeds the height (S13).
  • the robot cleaner determines that the height can be exceeded, the robot cleaner moves straight (S14), and if not, rotates the robot 90 degrees (S15).
  • the robot cleaner For example, if the obstacle is a low threshold.
  • the robot cleaner recognizes the threshold and determines that it can pass, the robot cleaner moves over the threshold.
  • the robot cleaner may be caught by the wire while being crossed over the wire.
  • the robot cleaner may determine that the obstacle can be overcome. In this case, the robot cleaner may restrain the wheel while turning up the support of the fan.
  • the robot cleaner may collide with the robot cleaner when the robot cleaner avoids driving.
  • the user avoids watching the movement of the robot cleaner, rather, the robot cleaner moves in the direction of the user's movement, which may interfere with the user's movement.
  • Machine learning is one of the fields of artificial intelligence, which means to let a computer learn data and perform some tasks such as prediction and classification based on it.
  • Deep learning Based on Artificial Neural Networks (ANN), it is an artificial intelligence technology that computers can learn like humans themselves. In other words, deep learning is the computer itself finding and determining characteristics.
  • ANN Artificial Neural Networks
  • deep learning frameworks include Theano at the University of Montreal, Canada, Torch at the University of New York, USA, Caffe at the University of California, Berkeley, and TensorFlow from Google.
  • An object of the present invention is to provide a mobile robot capable of determining a property of an obstacle and adjusting a driving pattern according to the property of an obstacle, and performing a reliable obstacle recognition and avoidance operation, and a control method thereof.
  • An object of the present invention is to provide a mobile robot capable of acquiring image data capable of increasing the accuracy of obstacle attribute recognition and a control method thereof.
  • An object of the present invention is to improve the stability of the mobile robot itself and the convenience of the user, and to improve the driving efficiency and cleaning efficiency by performing operations such as forward, retreat, stop, and bypass according to the obstacle recognition result. And to provide a control method thereof.
  • An object of the present invention is to provide a mobile robot and a control method thereof capable of accurately recognizing the properties of obstacles based on machine learning.
  • An object of the present invention is to provide a mobile robot capable of performing machine learning efficiently and extracting data that can be used for obstacle property recognition and a control method thereof.
  • a mobile robot includes a driving unit for moving a main body, an image acquisition unit for acquiring an image around the main body, and a sensor including one or more sensors for detecting an obstacle during movement.
  • the controller recognizes an attribute of the detected obstacle based on the image acquired by the image acquisition unit, and controls a driving unit of the driving unit based on the recognized obstacle attribute, and If the attribute is a movable obstacle, by including a sound output unit for outputting a predetermined sound, it is possible to improve the stability, user convenience, driving efficiency, cleaning efficiency.
  • the control method of the mobile robot to achieve the above or another object, the step of detecting an obstacle during the movement, through the sensor unit, if the sensor detects the obstacle, the image acquisition unit to obtain Recognizing a property of the detected obstacle based on the detected; when the recognized property of the obstacle is a movable obstacle, outputting a preset sound; and controlling driving of the driving unit based on the recognized property of the obstacle. It may include.
  • the mobile robot may determine the property of the obstacle and adjust the driving pattern according to the property of the obstacle, thereby performing a reliable obstacle recognition and avoiding operation.
  • the mobile robot can perform machine learning efficiently and extract data that can be used for obstacle property recognition.
  • 1 is a view referred to in the description of the obstacle detection and avoiding method of the conventional mobile robot.
  • FIG. 2 is a perspective view showing a mobile robot and a charging table for charging the mobile robot according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an upper surface of the mobile robot shown in FIG. 2.
  • FIG. 4 is a diagram illustrating a front portion of the mobile robot illustrated in FIG. 2.
  • FIG. 5 is a view illustrating a bottom portion of the mobile robot shown in FIG. 2.
  • FIG. 6 is a block diagram showing a control relationship between the major components of a mobile robot according to an embodiment of the present invention.
  • FIG. 7 is an example of a simplified internal block diagram of a server according to an embodiment of the present invention.
  • FIG. 8 is a view referred to for describing the operation method of the mobile robot and the server according to an embodiment of the present invention.
  • 9 to 11 are diagrams referred to for describing deep learning.
  • FIG. 14 is a perspective view of a mobile robot according to an embodiment of the present invention.
  • FIG. 15 is a front view and a side view of an obstacle detecting sensor of the mobile robot shown in FIG. 14.
  • 16 to 18 are views referred to for describing the operation of the obstacle detection sensor of the mobile robot shown in FIG.
  • 19 and 20 are diagrams illustrating an obstacle detecting sensor unit of a mobile robot according to an embodiment of the present invention.
  • FIG. 21 is a view referred to to explain an obstacle or distance sensing principle of the sensor unit illustrated in FIGS. 19 and 20.
  • 22 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
  • FIG. 23 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
  • 24 to 32 are views referred to for describing a control method of a mobile robot according to an embodiment of the present invention.
  • module and “unit” for the components used in the following description are merely given in consideration of ease of preparation of the present specification, and do not give particular meanings or roles by themselves. Therefore, the “module” and “unit” may be used interchangeably.
  • the mobile robot 100 refers to a robot that can move itself by using a wheel or the like, and may be a home helper robot or a robot cleaner.
  • a robot cleaner having a cleaning function among mobile robots will be described with reference to the drawings, but the present invention is not limited thereto.
  • FIG. 2 is a perspective view showing a mobile robot and a charging table for charging the mobile robot according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an upper surface of the mobile robot shown in FIG. 2
  • FIG. 4 is a diagram illustrating a front portion of the mobile robot illustrated in FIG. 2
  • FIG. 5 is a bottom portion of the mobile robot illustrated in FIG. 2. It is a degree.
  • FIG. 6 is a block diagram showing a control relationship between the major components of a mobile robot according to an embodiment of the present invention.
  • the mobile robot 100 includes a main body 110 and image acquisition units 120, 120a and 120b for acquiring an image around the main body 110.
  • the portion facing the ceiling in the driving zone is defined as the upper surface portion (see FIG. 3), and the portion facing the bottom in the driving zone is defined as the bottom portion (see FIG. 5).
  • the front part is defined as a part facing the driving direction among the parts forming the circumference of the main body 110 between the upper and lower parts.
  • the mobile robot 100 includes a driving unit 160 for moving the main body 110.
  • the driving unit 160 includes at least one driving wheel 136 for moving the main body 110.
  • the driving unit 160 includes a driving motor (not shown) connected to the driving wheel 136 to rotate the driving wheel.
  • the driving wheels 136 may be provided at the left and right sides of the main body 110, respectively, hereinafter referred to as left wheels 136 (L) and right wheels 136 (R).
  • the left wheel 136 (L) and the right wheel 136 (R) may be driven by one drive motor, but the left wheel drive motor and the right wheel 136 (R) which drive the left wheel 136 (L) as necessary.
  • Each right wheel drive motor for driving may be provided.
  • the driving direction of the main body 110 can be switched to the left or the right, with a difference in the rotational speed of the left wheel 136 (L) and the right wheel 136 (R).
  • An inlet 110h through which air is sucked may be formed in a bottom portion of the main body 110, and an inhalation device (not shown) that provides suction power so that air may be sucked through the inlet 110h in the main body 110. And a dust container (not shown) for collecting dust sucked with air through the suction port 110h.
  • the main body 110 may include a case 111 forming a space in which various components of the mobile robot 100 are accommodated.
  • An opening for inserting and removing the dust container may be formed in the case 111, and a dust container cover 112 that opens and closes the opening may be rotatably provided with respect to the case 111.
  • the battery 138 supplies not only a driving motor but also power necessary for the overall operation of the mobile robot 100.
  • the mobile robot 100 may perform driving to return to the charging station 200 for charging, and during such a return driving, the mobile robot 100 may make a position of the charging station 200 by itself. Can be detected.
  • Charging station 200 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 robot 100 may include a signal detector (not shown) that receives a return signal.
  • the charging unit 200 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 robot 100 moves to the position of the charging stand 200 according to the infrared signal transmitted from the charging stand 200 and docks with the charging stand 200. The docking is performed between the charging terminal 133 of the mobile robot 100 and the charging terminal 210 of the charging table 200.
  • the mobile robot 100 may perform driving of returning the charging station 200 of the image-based or laser-pattern extraction method.
  • the mobile robot 100 may recognize a specific pattern formed on the charging station 200 using an optical signal transmitted from the main body 110, extract the specific pattern, and return to the charging station.
  • the mobile robot 100 may include a pattern optical sensor (not shown).
  • the pattern light sensor may be provided in the main body 110, and irradiates an optical pattern to an active area where the mobile robot 100 is active, and captures an area to which the pattern light is irradiated to obtain an input image. can do.
  • the pattern light may be light of a specific pattern such as a cross pattern.
  • the charging stand 200 may include two or more location marks spaced apart from each other at regular intervals.
  • the position mark forms a mark that is distinguished from the peripheral portion when the pattern light is incident on its own surface.
  • the marker may be due to the deformation of the shape of the pattern light incident on the surface due to the morphological characteristics of the position marker, and the light reflectance (or absorption) due to the material characteristic of the position marker is different from that of the peripheral portion. It may be caused by flying.
  • the location mark may comprise an edge which forms the mark. As the pattern light incident on the surface of the position mark is bent at an angle, the peaks as the marks are identified in the input image.
  • the mobile robot 100 may automatically search for a charging station when the battery level is low. Alternatively, the mobile robot 100 may search for a charging station even when a charging command is input from a user.
  • the pattern extractor extracts the peaks from the input image, and the controller 140 obtains the location information of the extracted peaks.
  • the location information may include a location in a three-dimensional space in consideration of the distance from the mobile robot 100 to the peaks.
  • the controller 140 obtains the actual distance between the peaks based on the acquired position information on the peaks, and compares it with a preset reference value, and if the difference between the actual distance and the reference value is within a certain range, the charging stand 200 It can be determined that the search was made.
  • the mobile robot 100 may obtain the surrounding image through the camera of the image acquisition unit 120, extract the shape corresponding to the charging station 200 from the acquired image, and return to the charging station 200. have.
  • the mobile robot 100 may acquire a surrounding image through a camera of the image acquisition unit 120, identify a specific optical signal transmitted from the charging station 200, and return to the charging station.
  • the image acquisition unit 120 photographs the driving zone, and may include a camera module.
  • the camera module may include a digital camera.
  • the digital camera includes at least one optical lens and an image sensor (eg, a CMOS image sensor) configured to include a plurality of photodiodes (eg, pixels) formed by the 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 120 is provided on the front camera 120a and the upper surface of the main body 110 to acquire an image of the front of the main body 110, and acquires an image of the ceiling in the driving zone.
  • the upper camera 120b is provided, the position and the photographing range of the image acquisition unit 120 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 photographed by the camera may be used to recognize a kind of material such as dust, hair, floor, etc. existing in a corresponding space, whether or not to be cleaned, or to confirm a cleaning time.
  • the front camera 120a may photograph a situation of an obstacle or a cleaning area existing in the front of the moving direction of the mobile robot 100.
  • the image acquisition unit 120 may acquire a plurality of images by continuously photographing the periphery of the main body 110, and the obtained plurality of images may be stored in the storage unit 150. Can be.
  • the mobile robot 100 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 robot 100 may include a sensor unit 170 including sensors for sensing various data related to the operation and state of the mobile robot.
  • the sensor unit 170 may include an obstacle detecting sensor 131 detecting a front obstacle.
  • the sensor unit 170 may further include a cliff detection sensor 132 for detecting the presence of a cliff on the floor in the driving zone, and a lower camera sensor 139 for acquiring an image of the floor.
  • the obstacle detecting sensor 131 may include a plurality of sensors installed at predetermined intervals on the outer circumferential surface of the mobile robot 100.
  • the sensor unit 170 may include a first sensor disposed on the front surface of the main body 110, a second sensor disposed to be spaced left and right from the first sensor, and a third sensor. .
  • the obstacle detecting sensor 131 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 131 may vary according to the type of the mobile robot, and the obstacle detecting sensor 131 may include more various sensors.
  • the obstacle detecting sensor 131 is a sensor for detecting a distance between an indoor wall or an obstacle, and the present invention is not limited thereto.
  • the ultrasonic sensor will be described with reference to an ultrasonic sensor, and with reference to FIGS. 14 to 21. Another exemplary obstacle sensing method is described.
  • the obstacle detecting sensor 131 detects an object in the driving (moving) direction of the mobile robot, in particular, an obstacle, and transmits obstacle information to the controller 140. That is, the obstacle detecting sensor 131 may detect a moving path of the mobile robot, a protrusion existing on the front or side, a household picking device, a furniture, a wall, a wall edge, and transmit the information to the control unit.
  • the controller 140 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 100 according to the detected position of the obstacle.
  • the obstacle detecting sensor 131 provided on the outer surface of the case 110 may 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 131 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 170 may further include a motion detection sensor for detecting the operation of the mobile robot 100 according to the driving of the main body 110 and outputs the motion information.
  • a motion sensor may be a gyro sensor, a wheel sensor, an acceleration sensor, or the like.
  • the gyro sensor detects the rotation direction and detects the rotation angle when the mobile robot 100 moves according to the driving mode.
  • the gyro sensor detects the angular velocity of the mobile robot 100 and outputs a voltage value proportional to the angular velocity.
  • the controller 140 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 136 (L) and the right wheel 136 (R) to sense the number of revolutions of the wheel.
  • the wheel sensor may be a rotary encoder.
  • the rotary encoder detects and outputs rotational speeds of the left wheel 136 (L) and the right wheel 136 (R).
  • the controller 140 may calculate the rotation speed of the left and right wheels by using the rotation speed. In addition, the controller 140 may calculate the rotation angle by using the difference in the rotation speed of the left wheel 136 (L) and the right wheel 136 (R).
  • the acceleration sensor detects a change in the speed of the mobile robot 100, for example, a change in the mobile robot 100 due to 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 140 to detect a speed change of the mobile robot 100. That is, the acceleration sensor detects the impact amount according to the speed change and outputs a voltage value corresponding thereto. Thus, the acceleration sensor can perform the function of the electronic bumper.
  • the controller 140 may calculate a position change of the mobile robot 100 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 robot 100 may include a power supply unit (not shown) for supplying power to the robot cleaner by having a rechargeable battery 138.
  • the power supply unit supplies driving power and operating power to each component of the mobile robot 100, and when the remaining power is insufficient, the power supply unit may be charged by receiving a charging current from the charging stand 200.
  • the mobile robot 100 may further include a battery detector (not shown) that detects a charging state of the battery 138 and transmits a detection result to the controller 140.
  • the battery 138 is connected to the battery detector so that the battery remaining amount and the charging state are transmitted to the controller 140.
  • the battery remaining amount may be displayed on the display 182 of the output unit 180.
  • the mobile robot 100 includes an operation unit 137 capable of inputting on / off or various commands.
  • the control unit 137 may receive various control commands necessary for the overall operation of the mobile robot 100.
  • the mobile robot 100 may include an output unit 180 to display reservation information, a battery state, an operation mode, an operation state, an error state, etc. as an image or output a sound.
  • the output unit 180 may include a sound output unit 181 for outputting an audio signal.
  • the sound output unit 181 may output a notification message such as a warning sound, an operation mode, an operation state, an error state, etc. under the control of the controller 140.
  • the sound output unit 181 may convert an electrical signal from the controller 140 into an audio signal and output the audio signal.
  • a speaker or the like may be provided.
  • the output unit 180 may further include a display 182 for displaying reservation information, a battery state, an operation mode, an operation state, an error state, and the like as an image.
  • the mobile robot 100 includes a controller 140 for processing and determining various types of information, such as recognizing a current position, and a storage 150 for storing various data.
  • the mobile robot 100 may further include a communication unit 190 for transmitting and receiving data with an external terminal.
  • the external terminal includes an application for controlling the mobile robot 100, and displays an map of the driving area to be cleaned by the mobile robot 100 through execution of the application, and designates an area to clean a specific area on the map.
  • 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 robot 100 to display a current location of the mobile robot along 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 140 controls the overall operation of the mobile robot 100 by controlling the image acquisition unit 120, the operation unit 137, the driving unit 160, etc. constituting the mobile robot 100.
  • the storage unit 150 records various types of information necessary for the control of the mobile robot 100 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 150 may store a map for the driving zone.
  • the map may be input by an external terminal, a server, or the like, which may exchange information with the mobile robot 100 through wired or wireless communication, or may be generated by the mobile robot 100 by learning itself.
  • the map may display the locations of the rooms in the driving zone.
  • the current position of the mobile robot 100 may be displayed on the map, and the current position of the mobile robot 100 on the map may be updated during the driving process.
  • the external terminal stores the same map as the map stored in the storage 150.
  • the storage unit 150 may store cleaning history information. Such cleaning history information may be generated every time cleaning is performed.
  • the map of the driving zone stored in the storage unit 150 stores a corresponding navigation map used for driving during cleaning, a SLAM (Simultaneous Localization and Mapping) map used for location recognition, an obstacle, and the like. It may be a learning map used for learning cleaning, a global location map used for global location recognition, 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 150 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 obstacle information recognized on the learning map can be recorded to replace the obstacle recognition map
  • the global location map can be used to recognize or replace the global location map by using the SLAM map used for location recognition. Can be.
  • the controller 140 may include a driving control module 141, a position recognition module 142, a map generation module 143, and an obstacle recognition module 144.
  • the driving control module 141 controls the driving of the mobile robot 100, and controls the driving of the driving unit 160 according to the driving setting.
  • the driving control module 141 may determine the driving path of the mobile robot 100 based on the operation of the driving unit 160. For example, the driving control module 141 may grasp the current or past moving speed of the mobile robot 100, the distance traveled, and the like based on the rotational speed of the driving wheel 136, and each driving wheel 136 ( L) and 136 (R) may also determine the current or past direction change process. Based on the driving information of the mobile robot 100 thus identified, the position of the mobile robot 100 on the map may be updated.
  • the map generation module 143 may generate a map of the driving zone.
  • the map generation module 143 may generate a map by processing the image acquired through the image acquisition unit 120. That is, a cleaning map corresponding to the cleaning area can be created.
  • the map generation module 143 may recognize the global location by processing the image acquired through the image acquisition unit 120 at each location in association with the map.
  • the location recognition module 142 estimates and recognizes the current location.
  • the position recognition module 142 detects a location in association with the map generation module 143 using the image information of the image acquisition unit 120 to estimate the current position even when the position of the mobile robot 100 suddenly changes. Can be recognized.
  • the mobile robot 100 may recognize a position during continuous driving through the position recognition module 142, and also, through the map generation module 143 and the obstacle recognition module 144, without the position recognition module 142. Learn and estimate your current location.
  • the image acquisition unit 120 acquires images around the mobile robot 100.
  • an image acquired by the image acquisition unit 120 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 143 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 are known that are suitable for the detection of these features. 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 143 calculates a descriptor based on each feature point.
  • the map generation module 143 may convert feature points into descriptors using a scale invariant feature transform (SIFT) technique for feature detection.
  • SIFT scale invariant feature transform
  • the descriptor is defined as a cluster of individual feature points existing in a specific space, and may be expressed as an n-dimensional vector.
  • various features such as edges, corners, blobs, and ridges of the ceiling may be calculated as respective descriptors and stored in the storage unit 150.
  • At least one descriptor is classified into a plurality of groups according to a predetermined sub-classification rule for each acquired image, and the descriptors included in the same group are sub-represented according to the predetermined sub-representation rule Can be converted to a descriptor. That is, the representative values of the descriptors obtained through the individual images may be designated and normalized.
  • 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 not changed even when the mobile robot 100 is photographed with different postures.
  • -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 143 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 143 may obtain a feature distribution of each location through the above process.
  • Each positional feature distribution can be represented by a histogram or an n-dimensional vector.
  • the map generation module 143 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 robot 100 becomes unknown due to a position leap or the like, the current position may be estimated based on data such as a previously stored descriptor or a lower representative descriptor.
  • the mobile robot 100 obtains an acquired image through the image acquisition unit 120 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 142 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 142 calculates a recognition descriptor through a recognition descriptor calculating step based on each recognition feature point.
  • the recognition feature point and the recognition descriptor are for explaining a process performed by the location recognition module 142 and are distinguished from terms describing the process performed by the map generation module 143.
  • the features of the external world of the mobile robot 100 are merely defined in different terms.
  • the position recognition module 142 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 142 is based on at least one recognition descriptor information obtained through the acquired image of the unknown current position, position information to be compared according to a predetermined lower conversion rule (for example, feature distribution of each position) 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 a location where the greatest probability is calculated may be determined as the current location.
  • the controller 140 may distinguish the driving zone and generate a map composed of a plurality of regions, or recognize the current position of the main body 110 based on the pre-stored map.
  • the controller 140 may transmit the generated map to an external terminal, a server, etc. through the communication unit 190.
  • the controller 140 may store the map in the storage unit.
  • the controller 140 transmits the updated information to the external terminal so that the map stored in the external terminal and the mobile robot 100 is the same.
  • the area designated by the mobile robot 100 may be cleaned for the cleaning command from the mobile terminal, and the current position of the mobile robot may be stored in the external terminal. To be displayed.
  • 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 140 determines whether the current position of the mobile robot matches the position on the map.
  • the cleaning command may be input from a remote controller, an operation unit or an external terminal.
  • the controller 140 recognizes the current position and recovers the current position of the mobile robot 100 based on the current position.
  • the driving unit 160 may be controlled to move to the designated area.
  • the position recognition module 142 analyzes the acquired image input from the image acquisition unit 120 to estimate the current position based on the map. can do.
  • the obstacle recognition module 144 or the map generation module 143 may also recognize the current position in the same manner.
  • the driving control module 141 calculates a driving route from the current position to the designated region and controls the driving unit 160 to move to the designated region.
  • the driving control module 141 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 141 may calculate a driving route according to the received cleaning pattern information, travel along the driving route, and perform cleaning.
  • the controller 140 may store the cleaning record in the storage 150 when the cleaning of the set designated area is completed.
  • controller 140 may transmit the operation state or cleaning state of the mobile robot 100 to the external terminal and the server at a predetermined cycle through the communication unit 190.
  • 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 robot 100 moves in one direction until an obstacle or a wall surface is detected, and when the obstacle recognition module 144 recognizes the obstacle, the mobile robot 100 moves straight, rotates, etc. according to the recognized characteristics of the obstacle.
  • the pattern can be determined.
  • the mobile robot 100 may continue to go straight if it is an obstacle of a kind that can be passed over the property of the recognized obstacle. Or, if the property of the recognized obstacle is an obstacle that can not be passed, the mobile robot 100 is rotated to move a certain distance, and again to the distance in which the obstacle is detected in the opposite direction of the initial movement direction to form a zigzag You can drive
  • the controller 140 may control the sound output unit 181 to output a preset sound when the recognized obstacle attribute is a movable obstacle such as a person or a companion animal.
  • the preset sound may be a warning sound or a message for guiding movement of the movable obstacle.
  • the controller 140 may control the sound output unit 181 to output a message to move away when at least a part of a body such as a human foot or hand is recognized.
  • the controller 140 may control the sound output unit 181 to output a warning sound so that the pet can move in response to the sound.
  • the controller 140 may control the driving unit 160 to stop the movement of the main body.
  • controller 140 may output a warning sound or a message for guiding the movement of the movable obstacle, and wait for the movable obstacle to move for a predetermined waiting time.
  • the controller 140 may control to move differently depending on whether the movable obstacle moves after a predetermined waiting time.
  • the controller 140 may control to resume the existing movement.
  • the controller 140 may control to perform the avoiding driving for the movable obstacle.
  • the mobile robot 100 may perform the avoiding driving for the obstacle.
  • the controller 140 may control the main body 110 to repeat the reverse and the straight ahead within a predetermined distance range.
  • the controller 140 may control the main body 110 to repeat backward and straight within a predetermined distance range as if the main body 110 flutters while waiting for the movement of the movable obstacle. Accordingly, the user can intuitively know that the mobile robot 100 is waiting for his / her own movement by a staggering motion of the mobile robot 100 in addition to the guide message.
  • the controller 140 may control to perform the avoidance driving in a different pattern based on the recognized property of the obstacle.
  • the controller 140 may control to avoid driving in different patterns according to the properties of obstacles such as non-hazardous obstacles (general obstacles), dangerous obstacles, and movable obstacles.
  • the controller 140 may control the dangerous obstacle to bypass by avoiding the dangerous obstacle while securing a safe distance of a longer distance.
  • the controller 140 may control to perform the avoiding driving corresponding to the general obstacle or the avoiding driving corresponding to the dangerous obstacle.
  • the controller 140 may control to travel accordingly.
  • the mobile robot 100 may perform obstacle recognition and avoidance based on machine learning.
  • the controller 140 may drive the driving unit 160 based on an obstacle recognition module 144 that recognizes an obstacle previously learned by machine learning in an input image and an attribute of the recognized obstacle. It may include a driving control module 141 for controlling.
  • the mobile robot 100 may include an obstacle recognition module 144 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 144 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 144 may include 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 144 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 140 acquires the image acquisition unit 120 in response to the direction of the obstacle detected by the sensor unit 170. It may be controlled to extract a partial region of the image.
  • the image acquisition unit 120 in particular, the front camera 120a may acquire an image within a predetermined angle range in the moving direction of the mobile robot 100.
  • the controller 140 may determine the property of an obstacle in the moving direction by using only a partial region instead of using the entire image acquired by the image acquisition unit 120, in particular, the front camera 120a.
  • control unit 140 extracts a partial region of an image acquired by the image acquisition unit 120 in response to a direction of an obstacle detected by the sensor unit 170.
  • the module 145 may further include.
  • the mobile robot 100 may further include a separate image processing unit for extracting a partial region of the image acquired by the image acquisition unit 120 in response to the direction of the obstacle detected by the sensor unit 170,
  • the image acquisition unit 120 may directly process the image.
  • the obstacle recognition module 144 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 region of the image acquired by the image acquisition unit 120 as recognition data according to the direction of the obstacle detected by the sensor unit 170 such as an ultrasonic sensor.
  • the obstacle recognition module 144 may recognize an obstacle based on data previously learned by machine learning from an image acquired by the image acquisition unit 120.
  • the obstacle recognition module 144 may recognize the obstacle based on data previously learned by machine learning from an image extracted from the image acquired by the image acquisition unit 120.
  • the driving control module 141 may control the driving of the driving unit 160 based on the recognized attribute of the obstacle.
  • control unit 140 when the obstacle is detected in the right direction of the front of the main body, extracts the lower right area of the image obtained by the image acquisition unit 120, the obstacle is the front of the main body
  • the lower left area of the image obtained by the image acquisition unit 120 is extracted, and when the obstacle is detected in the front direction of the main body, the image acquisition unit 120 acquires It can be controlled to extract the center area of the image.
  • controller 140 may control to extract and extract the region to be extracted from the image acquired by the image acquisition unit 120 to correspond to the direction of the detected obstacle.
  • a configuration of cropping and extracting a partial region of the image acquired by the image acquisition unit 120 will be described later in detail with reference to FIGS. 27 to 30.
  • the controller 140 acquires the image acquisition unit 120 based on the moving direction and the moving speed of the main body 110.
  • the controller 170 may control to select a specific viewpoint image before the obstacle detection time of the sensor unit 170 from the plurality of consecutive images.
  • the mobile robot When the image acquisition unit 120 acquires an image by using the obstacle detection time of the sensor unit 170 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 170 of the plurality of consecutive images obtained by the image acquisition unit 120 based on the moving direction and the moving speed of the main body 110, the obstacle detection of the sensor unit 170 of the plurality of consecutive images obtained by the image acquisition unit 120.
  • a specific viewpoint image before the viewpoint may be selected and used as obstacle recognition data.
  • a configuration of selecting a specific viewpoint image from among the images acquired by the image acquisition unit 120 and using it as data for obstacle recognition will be described later in detail with reference to FIGS. 31 and 32.
  • the obstacle recognition module 144 may recognize the property of the obstacle included in the selected specific viewpoint image based on data previously learned by machine learning.
  • the storage 150 may store input data for determining obstacle attributes and data for learning the deep neural network DNN.
  • the storage 150 may store the original image acquired by the image acquisition unit 120 and the extracted images from which the predetermined region is extracted.
  • the storage unit 150 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 144.
  • the obstacle recognition module 144 performs a learning process by using a predetermined image as training data whenever the image acquisition unit 120 acquires an image or extracts a partial region of the image, or a predetermined number. After the above image is obtained, a learning process may be performed.
  • the obstacle recognition module 144 updates a deep neural network (DNN) structure such as a weight by adding a recognition result every time an obstacle is recognized, or is secured after a predetermined number of training data are secured.
  • a training process may be performed with training data to update a deep neural network (DNN) structure such as a weight.
  • the mobile robot 100 may receive data related to machine learning from the predetermined server through the communication unit 190.
  • the mobile robot 100 may update the obstacle recognition module 141 based on the data related to the machine learning received from the predetermined server.
  • the mobile robot 100 may transmit an image or an extracted image acquired by the image acquisition unit 120 from a predetermined server through the communication unit 190.
  • FIG. 7 is an example of a simplified internal block diagram of a server according to an embodiment of the present invention.
  • the server 70 may include a communication unit 720, a storage unit 730, a learning module 740, and a processor 710.
  • the processor 710 may control overall operations of the server 70.
  • the server 70 may be a server operated by a home appliance manufacturer such as the mobile robot 100 or a server operated by a service provider, or may be a kind of cloud server.
  • the communication unit 720 may receive various data such as status information, operation information, operation information, etc. from a home appliance, a gateway, or the like such as the mobile terminal or the mobile robot 100.
  • the communication unit 720 may transmit data corresponding to the received various information to a portable terminal, a home appliance such as the mobile robot 100, a gateway, or the like.
  • the communication unit 720 may include one or more communication modules, such as an internet module and a mobile communication module.
  • the storage unit 730 may store the received information and include data for generating result information corresponding thereto.
  • the storage unit 730 may store data used for machine learning, result data, and the like.
  • the learning module 740 may serve as a learner of a home appliance such as the mobile robot 100.
  • the learning module 740 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 810 may control to update the artificial neural network structure of the home appliance such as the mobile robot 100 to the learned artificial neural network structure after learning according to a setting.
  • FIG. 8 is a view referred to for describing the operation method of the mobile robot and the server according to an embodiment of the present invention.
  • the control unit 140 of the mobile robot 100 and more specifically, the obstacle recognition module 144 may have a deep neural network (DNN) structure 144a such as a convolutional neural network (CNN).
  • DNN deep neural network
  • CNN convolutional neural network
  • the pre-learned deep neural network (DNN) structure 144a may receive input data for recognition, recognize an attribute of an obstacle included in the input data, and output the result.
  • DNN deep neural network
  • Unknown data not recognized by the deep neural network (DNN) structure 144a may be stored in its own storage space 144b in the storage 150 or the obstacle recognition module 144.
  • unknown data not recognized by the obstacle recognition module 144 may be transmitted to the server 70 through the communication unit 190.
  • the data that the obstacle recognition module 144 has successfully recognized may be transmitted to the server 70.
  • the server 70 may generate a configuration of learned weights, and the server 70 may learn a deep neural network (DNN) structure using training data.
  • DNN deep neural network
  • the server 70 may transmit the updated deep neural network (DNN) structure data to the mobile robot 100 to be updated.
  • DNN deep neural network
  • 9 to 11 are diagrams referred to for describing deep learning.
  • 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 certain pattern from input data 1010 and forms a feature map.
  • the computer may extract the low level feature 1020, the middle level feature 1030, and the high level feature 1040 to recognize the object and output the result 1050.
  • 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 1020, may be input to the next layer connected to that node, eg, the node of mid level feature 1030.
  • a node of a next layer for example, a node of the midlevel feature 1030, may receive values output from a plurality of nodes of the low level feature 1020.
  • 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 higher level feature 1040.
  • a node of the next layer for example, a node of the high level feature 1040 may receive values output from a plurality of nodes of the mid level feature 1030.
  • 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
  • FIG. 11 is a diagram illustrating a convolutional neural network (CNN) structure.
  • CNN convolutional neural network
  • a convolutional neural network may also include an input layer, a hidden layer, and an output layer.
  • the predetermined image 1100 is input to an input layer.
  • a hidden layer may include a plurality of layers, and may include a convolution layer and a sub-sampling 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.
  • the convolution layer may be used to perform convolution filtering to filter information extracted from a previous layer by using a filter having a predetermined size.
  • the convolution layer performs a convolution operation on the input image data 1100 and 1102 using a convolution filter, and generates feature maps 1101 and 1103 in which the characteristics of the input image 1100 are expressed. 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 1101 and 1103 through sampling or pooling.
  • the output layer recognizes the input image 1100 by combining various features represented in the feature map 1104.
  • 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.
  • the obstacle recognition module 144 classifies and classifies obstacles into a class such as a fan, a home theater, a power strip, a lamp support, a barrier, a person (foot), a person (hand), a companion animal, and the like. I can recognize it.
  • the obstacle recognition module 144 a class such as a fan, a home theater, a power strip, a lamp support, etc. may be classified as a dangerous obstacle super-class and classified by a higher concept.
  • the obstacle recognition module 144 may classify, classify, and recognize a obstacle capable of traveling straight ahead such as a barrier into a non-hazardous obstacle super-class.
  • the obstacle recognition module 144 may classify, classify, and recognize movable obstacles such as a person (foot), a person (hand), a companion animal as a movable obstacle super-class.
  • the obstacle recognition module 144 recognizes an input image, and a fan may obtain a recognition result having a confidence value of 0.95 and a home theater having a confidence value of 0.7. . In this case, the obstacle recognition module 144 may output a fan, which is a recognition result having a higher confidence value, as a recognition result for the input image.
  • the confidence value may be normalized to a range of 0.0 to 1.0.
  • the obstacle recognition module 144 recognizes the input image, so that the fan has a confidence value of 0.35 and the home theater has a confidence value of 0.4.
  • the obstacle recognition module 144 may determine the unknown data without selecting a specific recognition result because both confidence values of the two recognition results are lower than the reference value. have.
  • the obstacle recognition module 144 may recognize the input image, and may obtain a recognition result in which the fan has a confidence value of 0.95 and the home theater has a confidence value of 0.9.
  • the obstacle recognition module 144 does not select a specific recognition result because the confidence values of both recognition results are higher than the reference value. In other words, it can be judged as a dangerous obstacle that is a higher concept.
  • the driving control module 141 may control the drive unit 160 to move to avoid the dangerous obstacle.
  • FIG. 14 is a perspective view of a mobile robot according to an embodiment of the present invention.
  • FIG. 15 is a front view and a side view of the obstacle detecting sensor of the mobile robot shown in FIG. 14, and FIGS. 16 to 18 are views for explaining an operation of the obstacle detecting sensor of the mobile robot shown in FIG. 14.
  • the mobile robot 100 may include an obstacle detecting sensor 171 that detects an obstacle using one or more light patterns P1 and P2. .
  • the light patterns P1 and P2 may be horizontal lines Ph. In some cases, some of the light patterns P1 and P2 may further include a vertical line Pv pattern.
  • the obstacle detecting sensor 171 using the light pattern may include a first pattern irradiator 1520, a second pattern irradiator 1530, and a pattern recognizer 1540, and include a first pattern irradiator 1520 and a second pattern.
  • the irradiation unit 1530 and the pattern recognition unit 1540 may be disposed on the base unit 1510.
  • 15 is a front view and a side view of the obstacle detecting sensor 171.
  • 16 illustrates an irradiation range and an obstacle detection range of the obstacle detection sensor 171.
  • FIG. 15A is a front view of the obstacle detecting sensor 171
  • FIG. 15B is a side view.
  • the first and second pattern irradiation units 1520 and 1530 of the obstacle detecting sensor 171 transmit a light source and a predetermined pattern by transmitting light emitted from the light source.
  • the pattern generator may include an optical pattern projection element (OPPE).
  • the light source may be a laser diode (LD), a light emitting diode (LED), or the like. Laser light is superior to other light sources in terms of monochromaticity, straightness, and connection characteristics, and precise distance measurement is possible. In particular, infrared or visible light may vary in accuracy of distance measurement depending on factors such as color and material of the object. Is a large problem, a laser diode is preferable as the light source.
  • the pattern generator may include a lens and a diffractive optical element (DOE). Various patterns of light may be irradiated according to the configuration of the pattern generators provided in each of the pattern radiators 1520 and 1530.
  • DOE diffractive optical element
  • the first pattern irradiator 1520 may irradiate the first pattern of light P1 (hereinafter, referred to as first pattern light) toward the front lower side of the main body 110. Therefore, the first pattern light P1 may be incident on the bottom of the cleaning area.
  • first pattern light the first pattern of light P1
  • the first pattern light P1 may be configured in the form of a horizontal line Ph.
  • the first pattern light P1 may be configured in the form of a cross pattern in which the horizontal line Ph intersects the vertical line Pv.
  • the first pattern irradiator 1520, the second pattern irradiator 1530, and the pattern recognizer 1540 may be vertically arranged in a line.
  • the pattern recognizing unit 1540 is disposed below the first pattern irradiating unit 1520 and the second pattern irradiating unit 1530, but is not limited thereto.
  • the first pattern irradiating unit 1520 and the second pattern irradiating unit 1530 may be used. It may be disposed on the top of).
  • the first pattern irradiator 1520 is located above and irradiates the first pattern light P1 downward toward the front to detect an obstacle located below the first pattern irradiator 1520.
  • the two pattern irradiation unit 1530 may be disposed below the first pattern irradiation unit 1520 to irradiate the second pattern of light P2 (hereinafter referred to as second pattern light) upwardly toward the front. Therefore, the second pattern light P2 may be incident on an obstacle or a portion of the obstacle that is located at least higher than the second pattern irradiator 1530 from the wall or the bottom of the cleaning area.
  • the second pattern light P2 may be formed in a different pattern from the first pattern light P1, and preferably includes a horizontal line.
  • the horizontal line is not necessarily to be a continuous line segment, it may be made of a dotted line.
  • the horizontal irradiation angle of the first pattern irradiator 1520 and the second pattern irradiator 1530 may be determined in a range of 130 ° to 140 °.
  • the pattern recognizer 1540 may acquire an image of the front of the main body 110 of FIG. 1.
  • the pattern light (P1, P2) appears in the image acquired by the pattern recognition unit 1540, hereinafter, the image of the pattern light (P1, P2) shown in the obtained image is called a light pattern, which is substantially Since the pattern light (P1, P2) incident on the space is an image formed on the image sensor, the same reference numerals as those of the pattern lights (P1, P2) are assigned to the first pattern light (P1) and the second pattern light (P2). ) And images corresponding to the first and second light patterns P1 and P2, respectively.
  • the pattern recognition unit 1540 may include a digital camera that converts an image of an object into an electrical signal and then converts the image into a digital signal and stores the same in a memory device.
  • the digital camera may include an image sensor (not shown) and an image processor (not shown). ) May be included.
  • An image sensor is an apparatus that converts an optical image into an electrical signal, and is composed of a chip in which a plurality of photo diodes are integrated.
  • a pixel is a photo diode. Charges are accumulated in each pixel by an image formed on the chip by light passing through the lens, and the charges accumulated in the pixels are converted into electrical signals (eg, voltages).
  • electrical signals eg, voltages.
  • a charge coupled device CCD
  • CMOS complementary metal oxide semiconductor
  • the image processor generates a digital image based on the analog signal output from the image sensor.
  • the image processor includes an AD converter for converting an analog signal into a digital signal, a buffer memory for temporarily recording digital data in accordance with a digital signal output from the AD converter, and information recorded in the buffer memory. It may include a digital signal processor (DSP) for processing to form a digital image.
  • DSP digital signal processor
  • the controller (140 of FIG. 6) detects features of points, lines, planes, and the like with respect to predetermined pixels constituting the obtained image, and based on the detected features, the light patterns P1 and P2 are detected. Alternatively, points, lines, planes, and the like constituting the light patterns P1 and P2 can be detected.
  • a horizontal line Ph forming the first light pattern P1 and a horizontal line forming the second light pattern P2 are extracted. can do.
  • the present invention is not limited thereto, and various techniques for extracting a pattern having a desired shape from a digital image are already known.
  • the pattern detector 210 may use the first light pattern P1 and the second light pattern (P1) using these known techniques. P2) can be extracted.
  • the first pattern irradiator 1520 and the second pattern irradiator 1530 may be symmetrically disposed.
  • the first pattern irradiator 1520 and the second pattern irradiator 1530 are vertically spaced apart by a distance h3 so that the first pattern irradiator irradiates the first pattern light downward, and the second pattern irradiator upwards the second pattern light. Is irradiated with each other to cross the pattern light.
  • the pattern recognizing unit 1540 is positioned below the distance h2 from the second pattern irradiator, and captures an image of the front of the furnace main body 110 at an angle of view ⁇ s in the vertical direction.
  • the pattern recognition unit 1540 is installed at a position h1 from the bottom surface.
  • the pattern recognizing unit 1540 may not interfere with photographing the front side in consideration of a bumper (not shown) constituting the lower end of the front portion of the main body 110 of the mobile robot 1 or a structure for driving or cleaning. It is preferred to be installed at the location.
  • the first pattern irradiator 1520 or the second pattern irradiator 1530 is provided such that a direction in which an optical axis of the lenses constituting the pattern irradiators 1520 and 1350 faces is formed to form a predetermined irradiation angle.
  • the first pattern irradiation unit 1520 irradiates the first pattern light P1 to the lower portion at the first irradiation angle ⁇ r1, and the second pattern irradiation unit 1530 has the second pattern light ⁇ at the second irradiation angle ⁇ r2. Irradiate P2) on top.
  • the first irradiation angle and the second irradiation angle may be set to be the same in some cases based on different things.
  • the first irradiation angle and the second irradiation angle are preferably defined in the range of 50 ° to 75 °, but are not necessarily limited thereto.
  • the first irradiation angle may be set to 60 to 70 degrees and the second irradiation angle may be set to 50 to 55 degrees. It may be changed according to the structure of the lower bumper of the mobile robot or the lower object sensing distance, and the height of the upper part to be detected.
  • the light pattern is obtained in the acquired image according to a position away from the first pattern irradiator 1520.
  • the positions of (P1, P2) are different. For example, when the first pattern light P1 and the second pattern light P2 are incident on a predetermined obstacle, the closer the obstacle is located from the mobile robot 100, the more the first light pattern ( P1) is displayed at a high position, on the contrary, the second light pattern P2 is displayed at a low position.
  • distance data to an obstacle corresponding to a row (a line formed of pixels arranged in the horizontal direction) constituting an image generated by the pattern recognition unit 1540 is stored in advance, and then the pattern recognition unit 1540 is stored.
  • the position of the obstacle may be estimated from the distance data to the obstacle corresponding to the row.
  • the pattern recognition unit 1540 is aligned so that the main axis of the lens faces in a horizontal direction, and ⁇ s shown in FIG. 16 indicates an angle of view of the pattern recognition unit 1540 and is set to a value of 100 ° or more, preferably 100 to 110 degrees, but is not necessarily limited thereto.
  • the distance from the bottom of the cleaning area to the pattern recognition unit 1540 may be determined between about 60 mm and 70 mm.
  • the bottom of the cleaning area in the image acquired by the pattern recognition unit 1540 may be a pattern recognition unit ( Appears after D1 from 1540, and D2 is a position where the first light pattern P1 is displayed on the bottom of the acquired image.
  • D2 is a position where the first light pattern P1 is displayed on the bottom of the acquired image.
  • an image in which the first pattern light P1 is incident on the obstacle by the pattern recognition unit 1540 may be obtained.
  • the first light pattern is displayed above the reference position ref1 in response to the incident first pattern light P1.
  • the distance from the main body 110 to D1 is preferably 100 mm to 150 mm, and the distance to D2 is preferably 180 mm to 280 mm, but is not necessarily limited thereto.
  • D3 represents the distance from the most protruding portion of the front portion of the main body to the position where the second pattern light is incident, the main body detects the obstacle during the movement, so that the obstacle in front (upper) without colliding with the obstacle The minimum distance that can be detected.
  • D3 may be set to approximately 23 mm to 30 mm.
  • the controller 140 may recognize a cliff located in front of the mobile robot 100.
  • a cliff eg, a staircase
  • the first pattern light does not enter the floor, the first light pattern P1 disappears from the acquired image.
  • the controller 140 may determine that there is a cliff in front of the main body 110 separated by D2 based on the length of D2. In this case, when the first pattern light P1 has a cross shape, the edge may disappear and only the vertical line may be displayed, thereby determining the cliff.
  • the controller 140 may determine that a cliff exists on the left side or the right side of the mobile robot 100.
  • the controller 140 may determine that a cliff exists on the right side.
  • the controller 140 may control the driving unit 160 of FIG. 6 so that the mobile robot 100 may travel along a path not falling into the cliff, based on the identified cliff information.
  • the controller 140 advances to a predetermined distance, for example, D2 or less, and once again, by using the cliff sensor installed in the lower portion of the main body, it may again check whether the cliff is.
  • the mobile robot 100 may first check the cliff through the acquired image, and may travel for a predetermined distance to secondly check the cliff.
  • 17 is a diagram showing light of a pattern irradiated by the first pattern irradiator.
  • the controller 140 detects the first light pattern or the second light pattern from the image acquired from the pattern recognition unit 1540, and analyzes the first light pattern or the second light pattern to determine the position of the first light pattern.
  • the obstacle is determined by comparing with the position ref1.
  • the normal state is the floor is high and low, even, flat state, there is no obstacle in front of the state can continue to run.
  • the second light pattern P2 Since the second light pattern P2 appears in an image obtained by being incident on the obstacle when an obstacle exists in the upper portion of the front, the second light pattern P2 is generally not displayed in the normal state.
  • the controller 140 determines that an obstacle exists in the front.
  • the controller 140 may control the driving unit 160 to avoid the obstacle and travel.
  • the controller 140 may determine the position and size of the detected obstacle in response to the positions of the first light pattern P1 and the second light pattern and whether the second light pattern is displayed. In addition, the controller 140 may determine the position and size of the obstacle in response to the change of the first light pattern and the second light pattern displayed on the image acquired while driving.
  • the controller 140 controls the driving unit 160 by determining whether to continue driving on the recognized obstacle or whether to drive by avoiding. For example, the controller 140 determines that the driving is possible when the height of the obstacle is lower than the predetermined height or when it is possible to enter the space between the obstacle and the floor.
  • the first light pattern P1 may be displayed at a position lower than the reference position ref1.
  • the controller 140 determines that the downhill slope exists when the first light pattern P1 appears at a position lower than the reference position. In the case of a cliff, since the first light pattern P1 disappears, the cliff may be distinguished from the cliff.
  • the controller 140 determines that a cliff exists in the driving direction.
  • the controller 140 may determine that a cliff exists on the left side or the right side.
  • the obstacle may be determined in consideration of both the position of the horizontal line and the length of the vertical line.
  • FIG. 18 is an exemplary view illustrating a form of a pattern irradiated to an obstacle in a mobile robot according to an embodiment of the present invention.
  • the controller 140 may determine the position, size, and shape of the obstacle.
  • the controller 140 may determine that an obstacle exists.
  • the first light pattern is displayed above the reference position ref1 in the acquired image.
  • the second light pattern is displayed on the upper side thereof. Since the position of the second light pattern is closer to the obstacle, the position is displayed on the lower side, and therefore, the second light pattern is displayed on the lower side than when the distance between the wall surface and the main body 110 is greater than D2. However, the second pattern light is displayed above the reference position and the first light pattern.
  • the controller 140 may calculate the distance to the wall surface as an obstacle through the first light pattern and the second light pattern.
  • the first pattern light P1 and the second pattern light P2 are disposed on the floor and the obstacle with two horizontal lines, respectively. Incident.
  • the controller 140 determines an obstacle based on the first light pattern and the second light pattern.
  • the height of the obstacle may be determined based on the position of the second light pattern and the change of the second light pattern that appears while approaching the obstacle. Accordingly, the controller 140 determines whether it is possible to enter the lower space of the obstacle and controls the driving unit 160.
  • the space can be recognized. Can be determined.
  • the controller 140 may control the driving unit 160 to allow the main body 110 to travel by avoiding obstacles.
  • the controller 140 may control the driving unit 160 so that the main body 110 enters or passes through the space.
  • the controller 140 has different distances between the first light pattern and the second light pattern. Can be distinguished.
  • the position of the first light pattern is displayed than the reference position.
  • the controller 140 may distinguish the type of obstacle.
  • the first pattern light P1 is irradiated to the floor with a horizontal line
  • the second pattern light P2 is irradiated to the edge of the obstacle, a part of which is a horizontal line. And the other part is indicated by obliquely entering the obstacle. Since the second light pattern rises farther from the main body 110, in the case of the side surface of the obstacle, the second light pattern becomes an oblique line that is bent upwards than the horizontal line irradiated on the front surface.
  • the first pattern light P1 is partially displayed as a horizontal line above the reference position, and on the side of the edge. A portion is irradiated and displayed as a diagonal line bent downward, and the bottom surface is indicated by a horizontal line at the reference position.
  • the second pattern light is partially displayed as a horizontal line, and a part irradiated to the side surface of the edge is incident and appeared with an oblique line that is bent upwards.
  • the first light pattern is indicated by a horizontal line at the reference position ref1
  • the second light pattern P2 is partially horizontally displayed on the protruding surface. It is displayed, part of which is indicated by an oblique line which is irradiated to the side of the protruding surface and bent upwards, and the other part is irradiated to the wall and appears as a horizontal line.
  • the controller 140 determines the position, shape, and size (height) of the obstacle based on the position and shape of the first pattern light and the second pattern light.
  • FIGS. 19 and 20 are views illustrating an obstacle detecting sensor unit of a mobile robot according to an embodiment of the present invention
  • FIG. 21 is used to explain an obstacle or distance sensing principle of the sensor unit shown in FIGS. 19 and 20. It is a drawing.
  • the obstacle detecting sensor unit 172 emits light L1 to detect the position or distance of the obstacle.
  • the obstacle detecting sensor unit 172 is provided on the main body so as to be rotatable and liftable.
  • the obstacle detecting sensor unit 172 may include a light emitting unit 2021, a light receiving unit 2022, and a base 2023.
  • the obstacle detection sensor unit 172 may include a lift driver (not shown) for moving the obstacle detection sensor unit 172 up and down, a tilt driver (not shown) for adjusting a sensing angle of the obstacle detection sensor unit 172, and rotation to rotate. It may include a driving unit (not shown).
  • the light emitting unit 2021 emits light L1 and may include a light source and a collimate lens that refracts the light emitted from the light source to be irradiated in parallel.
  • a light source a light emitter for emitting infrared light or visible light, for example, an infrared light or a visible light emitting diode (LED) may be applied, but a light emitter for emitting laser light is preferable.
  • the light receiver 2022 may include an image sensor in which a spot of light L2 reflected or scattered from an obstacle is formed.
  • the image sensor is a collection of a plurality of unit pixels arranged in a matrix form of n ⁇ m.
  • Each unit pixel is realized by various light-receiving elements such as CdS (CADMIUM SULFIDE CELL), photodiode (PHOTO DIODE), phototransistor (PHOTO TRANSISTOR), SOLAR CELL, and photoelectric tube
  • CdS CADMIUM SULFIDE CELL
  • PHOTO DIODE photodiode
  • PHOTO TRANSISTOR phototransistor
  • SOLAR CELL SOLAR CELL
  • the light receiving unit 2022 may include a light receiving lens, and light reflected or scattered from an obstacle passes through the light receiving lens and is refracted to form an image sensor.
  • the light receiving lens may be composed of a plurality of lenses.
  • the base 2023 supports the light emitting unit 2021 and the light receiving unit 2022, and is provided to be rotatable and liftable from the main body.
  • the light emitter 2021 and the image sensor may be disposed at regular intervals on the base.
  • a supporter 2025 may be further provided to support the obstacle detecting sensor unit 172, and the base 2023 may be rotatably supported by the supporter 2025.
  • the supporter 2025 may be fixed to a lower main body (110 in FIG. 1) by a fastening member such as a screw or a bolt.
  • the lifting driving unit to be described later elevates the base 2023.
  • the present invention is not limited thereto, and the supporter may be provided to be capable of lifting up and down with respect to the lower main body 110 by the lifting driving unit.
  • the base cover 2024 is coupled to the base 2023 and rotates integrally with the base.
  • a light transmission path through which the light L1 emitted from the light emitting part 2021 passes and a light reception path through which the light received by the light receiving part passes may be formed between the base cover and the base.
  • the lift drive unit lifts the obstacle detection sensor unit 172.
  • the lift drive can include a linear or rotary motor.
  • a power transmission means for mediating power transmission or switching between the lifting driving unit and the obstacle detecting sensor unit 172 may be provided.
  • the belt 2043 may be implemented in various ways.
  • the power transmission means may include a drive pinion rotated by the motor and a rack fixed to the base and engaged with the drive pinion.
  • the obstacle detecting sensor unit 172 may be lifted and lowered through a lifting hole (not shown) formed at an upper portion of the main body.
  • a lifting hole (not shown) formed at an upper portion of the main body.
  • the obstacle detecting sensor unit 172 When the obstacle detecting sensor unit 172 is in the ascending position, the obstacle detecting sensor unit 172 protrudes to the upper side of the main body through the lifting hole, and the light emitting unit 2021 and the light receiving unit 2022 are also above the main body. Is located in.
  • 21 is a diagram for explaining a principle of measuring a distance to an object.
  • the basic principle of detecting the position of an object through the obstacle detecting sensor unit 172 is using triangulation.
  • the light emitted from the light source 2110 has a predetermined angle ⁇ with the main axis C of the light receiving lens 2130.
  • the angle is closely related to the accuracy of the distance measurement to the object. If the value is too small, it may be difficult to measure the distance to the object at a short distance. Difficulties can arise in measuring the distance to the object. Therefore, the angle should have an appropriate value, and preferably there should be no problem in measuring the distance to the object located from 0.1 m to 4 m.
  • An image sensor 2120 is disposed to be spaced apart from the light source 2110, and a light receiving lens 2130 is disposed between the image sensor 2120 and the object or obstacle 300.
  • the distance between the obstacle and the light receiving lens 2130 is defined as an object distance 'L', and the object distance 'L' is calculated by Equation 1 below.
  • f is the focal length
  • g is the distance between the light source and the lens
  • is the angle between the light emitted from the light source 2110 and the main axis (C) of the light receiving lens 2130
  • p is the light reflected or scattered from the object
  • the position of the spot formed on the image sensor 2120 is displayed based on the center o of the image sensor 2120.
  • the location information used to map the cleaning area corresponds to the profile of the transparent member 2132. Intervals, for example, those obtained at intervals between 0 degrees and 180 degrees can be used.
  • 22 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
  • the mobile robot 100 may move according to a command or a setting and perform cleaning (S2210).
  • the sensor unit 170 may include obstacle detection sensors 131, 171, and 172, and may detect an obstacle while moving.
  • the image acquisition unit 120 may acquire an image of the front of the main body 110 (S2230).
  • the image acquisition unit 120 selects an image corresponding to the point in time when the sensor unit 170 detects an obstacle or an image before the point in time when the sensor unit 170 detects the obstacle, thereby detecting the obstacle. It can also be used as an image.
  • the sensor 170 may recognize an attribute of the detected obstacle based on an image acquired by the image acquisition unit 120 (S2240).
  • the obstacle recognition module 144 may recognize the obstacle on the basis of the data previously learned by machine learning in the image acquired by the image acquisition unit 120 (S2240).
  • the obstacle recognition module 144 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 pre-learned data.
  • the obstacle recognition module 144 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 input data, and as a result, You can output
  • CNN convolutional neural network
  • CNN previously learned convolutional neural network
  • the obstacle recognition module 144 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 a partial region of the image acquired by the image acquisition unit 120 as recognition data according to the direction of the obstacle detected by the sensor unit 170. Can be.
  • a configuration of cropping and extracting a partial region of the image acquired by the image acquisition unit 120 will be described later in detail with reference to FIGS. 27 to 30.
  • the driving control module 141 may control the driving of the driving unit 160 on the basis of the recognized attribute of the obstacle (S2290).
  • the driving control module 141 may control the driving to bypass the obstacle.
  • the driving control module 141 may control to continue running straight in the case of the obstacle of the height that the recognized obstacle can be over, such as a low height of the barrier.
  • the driving control module 141 may control the vehicle to bypass the obstacle when a dangerous obstacle that is likely to be restrained during movement is recognized even when an obstacle of a low height such as a pedestal, a power strip, or an electric wire of the fan is moved.
  • the controller 140 may control the sound output unit 181 to output a preset sound (S2270).
  • the movable obstacle may be part of a human body or a companion animal
  • the preset sound may be a warning sound or a message for guiding the movement of the movable obstacle.
  • the controller 140 may control the sound output unit 181 to output a message to move away when at least a part of a body such as a human foot or hand is recognized.
  • the controller 140 may control the sound output unit 181 to output a warning sound so that the pet can move in response to the sound.
  • the controller 140 may control the driving unit 160 to stop the movement of the main body and wait (S2260).
  • the procedure of outputting the sound (S2270) after the standby (S2260) is illustrated, but the present invention is not limited thereto.
  • the sound may be output, and the sound may be output while stopping the movement of the main body or stopping the movement.
  • the controller 140 may output a warning sound or a message guiding the movement of the movable obstacle (S2270), and wait for the movable obstacle to move for a predetermined waiting time (S2260).
  • the sensor unit 170 may detect whether the movable obstacle moves within the predetermined waiting time (S2280).
  • the controller 140 may determine whether the movable obstacle moves during the predetermined waiting time, and control the vehicle to move differently accordingly.
  • the controller 140 may control to resume movement before stopping of the main body (S2260) without change.
  • the controller 140 may control to perform the avoidance driving for the movable obstacle (S2290).
  • the mobile robot 100 may perform the avoiding driving for the obstacle.
  • the controller 140 may control the main body 110 to repeat the reverse and the straight ahead within a predetermined distance range.
  • the controller 140 may control the main body 110 to repeat backward and straight within a predetermined distance range as if the main body 110 flutters while waiting for the movement of the movable obstacle. Accordingly, the user can intuitively know that the mobile robot 100 is waiting for his / her own movement by a staggering motion of the mobile robot 100 in addition to the guide message.
  • the mobile robot 100 also detects a movable obstacle such as a person's foot or hand. Audio can be output.
  • the user can directly recognize that the mobile robot 100 recognizes the user's foot, and the reliability of the mobile robot 100 can be increased.
  • FIG. 23 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention, which illustrates a specific case in which the sensor unit 170 recognizes a foot of a person using an ultrasonic sensor.
  • the mobile robot 100 may move in a predetermined pattern according to a command or a setting (S2310).
  • the mobile robot 100 may travel in a zigzag pattern and perform cleaning (S2310).
  • the controller 140 controls the property of the obstacle based on the image acquired by the image acquisition unit 120. It may be recognized (S2320).
  • the image acquisition unit 120 may continuously photograph the front and the surroundings of the mobile robot 100, or acquire the image by photographing the front and the surroundings according to the detection of the obstacle of the sensor unit 170.
  • the controller 140 may control the mobile robot 100 to travel according to the recognized property of the obstacle.
  • the controller 140 may control to avoid the normal obstacle driving (S2341).
  • the controller 140 may control to avoid the dangerous obstacle driving (S2342).
  • At least one of the normal obstacle avoidance driving and the dangerous obstacle avoidance driving may be different from a distance between the obstacle to expand during the avoidance driving, the rotation angle of the mobile robot, and the avoidance driving pattern.
  • the controller 140 may control the sound to be output through the sound output unit 181 (S2350).
  • the sound output unit 181 may provide a voice notification to the user, such as “Please clean, please move out”. That is, when the human foot is recognized, the user may be confirmed that the user has recognized the information, and the user may be informed so as to avoid the cleaning area.
  • controller 140 may stop the movement of the mobile robot 100 (S2360) and determine whether a person moves within a predetermined waiting time (S2370 and S2380).
  • the controller 140 may drive a timer to determine whether the predetermined waiting time has elapsed.
  • the timer may be provided in the controller 140 or separately provided outside the controller 140.
  • the reflected ultrasonic signal is cleared, and thus it is possible to determine whether the movable obstacle moves by clearing the ultrasonic signal.
  • the controller 140 may control to perform a preset avoidance operation.
  • the controller 140 may control to avoid the dangerous obstacle driving (S2342).
  • 24 to 32 are views referred to for describing a control method of a mobile robot according to an embodiment of the present invention.
  • the mobile robot 100 if a moving obstacle such as a person (foot) when driving, is recognized, "Please move out of cleaning.” If you give a back alarm and stop it within a certain time after stopping, cleaning can be continued.
  • a moving obstacle such as a person (foot) when driving
  • the user's reliability can be increased.
  • FIG. 26 illustrates an example in which the mobile robot 100 repeats backward and straight movement within a predetermined distance range during a waiting time.
  • the mobile robot 100 while waiting for the movement of the movable obstacle, the mobile robot 100 moves forward by the first distance D11 and then moves backward by the second distance D12 and again by the first distance D11.
  • the reverse of the second distance (D12) it can be known that the mobile robot 100 is waiting for the user's movement.
  • the first distance D11 is preferably set to a value small enough so that the mobile robot 100 does not approach the obstacle too much, and the second distance D12 corresponds to the first distance D11. Can be set.
  • the mobile robot 100 may move backward by the second distance D12, move forward only by the second distance D12, and not move forward to the initial stop position, thereby not approaching an obstacle. That is, it is more preferable that the mobile robot 100 repeats backward, forward, backward, and forward movements by the second distance D12.
  • 27 to 30 illustrate specific examples of cropping and extracting a partial region of an image acquired by the image acquisition unit 120.
  • the mobile robot 100 may detect an obstacle 2700 such as a human foot while moving through the sensor unit 170.
  • 27 illustrates a case where the obstacle 2700 is detected at the center of the moving direction of the mobile robot 100.
  • the image acquisition unit 120 photographs the front of the mobile robot 100 to display at least the obstacle 2700.
  • An image 2800 including a part may be obtained.
  • the controller 140 may control to extract a partial region 2810 of the image 2800 obtained by the image acquisition unit 120 in response to the direction of the obstacle 2700 detected by the sensor unit 170.
  • the controller 140 may have a lower area of the center of the image acquired by the image acquisition unit 120. 2810 may be controlled to extract.
  • the controller 140 may use the extracted image 2820 as input data for recognizing an attribute of an obstacle as illustrated in FIG. 28B.
  • the obstacle recognition module 144 may recognize that the obstacle 2700 is a person's foot based on data previously learned by machine learning.
  • the obstacle recognition module 144 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 input data, and as a result, You can output
  • CNN convolutional neural network
  • CNN previously learned convolutional neural network
  • the driving control module 141 may control the driving unit 160 to perform the avoidance operation such as progress after the rotation, if the detected obstacle is not an obstacle that may proceed.
  • the extracted image 2820 may be stored in the storage 150.
  • the original image 2800 obtained by the image acquisition unit 120 may also be stored in the storage unit 150.
  • the extracted image 2820 stored in the storage 150 may be used as training data.
  • the controller 140 extracts the lower right area of the image obtained by the image acquisition unit 120, the obstacle is the front of the main body 110
  • the image acquisition unit 120 may be controlled to extract the lower left area of the image obtained
  • 29 illustrates a case where the obstacle 2700 is detected on the right side in the moving direction of the mobile robot 100.
  • the controller 140 controls the right side of the image 3000 acquired by the image acquisition unit 120.
  • the lower region 3010 may be controlled to be extracted.
  • the controller 140 may use the extracted image 3020 as input data for recognizing an attribute of an obstacle as illustrated in FIG. 30B.
  • the present invention does not simply crop to a preset size based on the center area of the entire image, but extracts the center, left, and right areas of the image based on the direction in which the obstacle is detected.
  • the machine recognizes the largest specific gravity in the image, it can improve the attribute recognition rate of the obstacle.
  • the lower end portion of the acquired image may be extracted so that more obstacles are included in the input data for recognition.
  • the first sensor disposed on the front of the main body of the mobile robot 100, the second sensor and the third sensor disposed to be spaced apart from the first sensor to the left and right. It may include.
  • the first sensor may operate as the transmitter and the second sensor and the third sensor may operate as the receiver.
  • the first sensor may emit an ultrasonic signal
  • the second sensor and the third sensor may receive a signal reflected by an obstacle.
  • the direction in which the obstacle is located and the distance to the obstacle may be determined using known ultrasound recognition methods.
  • the distance between the detected obstacle and the second sensor and the distance between the detected obstacle and the third sensor are the same, it may be determined that the obstacle is detected at the center of the front direction of the mobile robot 100. have.
  • the image acquisition unit 120 may extract a predetermined region from the center of the entire original image obtained.
  • the distance between the detected obstacle and the second sensor is greater than the distance between the detected obstacle and the third sensor, it may be determined that the obstacle is detected in the front right direction of the mobile robot 100.
  • the image acquisition unit 120 may extract a predetermined region from the lower right side of the entire original image acquired.
  • the controller 140 may determine a distance between the detected obstacle and the second sensor and the distance between the detected obstacle and the third sensor in the extraction target region in the image acquired by the image acquisition unit 120. It can be controlled to extract by shifting to proportional to.
  • the mobile robot by using the extracted image as training data (training) to perform a learning process, to continuously update the artificial neural network (ANN), deep neural network (DNN) structure Can be.
  • ANN artificial neural network
  • DNN deep neural network
  • the extracted image may be transmitted to a predetermined server, and data related to machine learning may be received from the predetermined server. Thereafter, the mobile robot may update the obstacle recognition module based on data related to machine learning received from the predetermined server.
  • 31 and 32 illustrate specific examples in which a specific view image is selected from the images acquired by the image acquisition unit 120 and used as obstacle recognition data.
  • 31 illustrates a case where the obstacle 3100 is detected from the front direction of the mobile robot 100.
  • the image acquisition unit 120 may continuously photograph and acquire a plurality of images.
  • the mobile robot 100 acquires a first image 3111 at a first position 3110, obtains a second image 3121 at a second position 3120, and a third image at a third position 3130. 3131 may be obtained.
  • a predetermined number of images may be stored in the storage 150.
  • the image of the earliest point in time may be deleted, and the newly acquired image may be stored.
  • the mobile robot 100 may start image recognition according to a trigger signal generated by ultrasonic signal detection.
  • an ultrasonic sensor used as a trigger signal has a short range, the characteristics of the object to be recognized may disappear when the image 3131 acquired when the obstacle 3100 is detected and triggered. have.
  • the present invention stores the successive images in the storage unit 150, and after determining whether the driving direction is a straight driving, when using the first image 3111 without using the third image 3131 when triggering, Obstacle recognition can be performed.
  • the mobile robot 100 Since the mobile robot 100 often travels at a constant speed, only the straight driving is determined to select an image of a predetermined time point, for example, an image of a past time point two frames ahead of an obstacle detection time of the sensor unit 170. Obstacle recognition can be performed.
  • controller 140 may determine how far ahead of an obstacle detection time of the sensor unit 170 is to be selected in consideration of the detection range, performance, and processing speed of the obstacle recognition process of the sensor unit 170. .
  • the recognition rate may be increased by extracting and recognizing a partial region of the image of the selected viewpoint without using the entire image of the selected viewpoint as obstacle recognition input data.
  • the mobile robot may determine the property of the obstacle and adjust the driving pattern according to the property of the obstacle, thereby performing a reliable obstacle recognition and avoiding operation.
  • the mobile robot can perform machine learning efficiently and extract data that can be used for obstacle property recognition.
  • the mobile robot according to the present invention may not be limitedly applied to the configuration and method of the embodiments described as described above, and the embodiments may be selectively combined with each or all of the embodiments so that various modifications may be made. It may be configured.
  • the control method of the mobile robot it is possible to implement as a processor-readable code on a processor-readable recording medium.
  • the processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet. .
  • the processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.

Abstract

본 발명의 일 측면에 따른 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 센서부가 장애물을 감지하면, 영상획득부가 획득하는 영상에 기초하여 감지된 장애물의 속성을 인식하고, 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 제어부, 및, 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하는 음향 출력부를 포함함으로써, 안정성, 사용자의 편의성, 운전 효율, 청소 효율을 향상시킬 수 있다.

Description

이동 로봇 및 그 제어방법
본 발명은 이동 로봇 및 그 제어방법에 관한 것으로서, 더욱 상세하게는 이동 가능한 장애물 등 장애물을 인식하여 회피주행을 수행할 수 있는 이동 로봇 및 그 제어 방법에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다.
이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.
일반적으로 이동 로봇의 장애물 감지를 위해 적외선 센서 또는 초음파 센서가 이용된다. 적외선 센서는 장애물에 반사되어 돌아오는 반사광의 광량 또는 수신되는 시간을 통해 장애물의 존재와 거리를 판단하고, 초음파 센서는 소정 주기를 가지는 초음파를 발산하여 장애물에 의해 반사되는 초음파가 있을 경우 초음파 발산 시간과 장애물에 반사되어 되돌아오는 순간의 시간차를 이용하여 장애물과의 거리를 판단한다.
한편, 장애물 인식 및 회피는 이동 로봇의 주행 성능 뿐만 아니라 청소 성능에 큰 영향을 미치므로, 장애물 인식 능력의 신뢰성 확보가 요구된다.
종래 기술(한국 등록특허공보 10-0669892호)은 적외선 센서와 초음파 센서를 조합하여 신뢰성 높은 장애물 인식 기술을 구현하는 기술을 개시한다.
하지만, 종래 기술(한국 등록특허공보 10-0669892호)은 장애물의 속성을 판별하지 못한다는 문제점이 있다.
도 1은 종래의 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명에 참조되는 도면이다.
도 1을 참조하면, 로봇 청소기는 이동하면서 먼지 및 이물질을 흡입하며 청소를 수행한다(S11).
초음파 센서에서 장애물에 의해 반사되는 초음파 신호를 감지하여 장애물의 존재를 인식하고(S12), 인식된 장애물의 높이가 넘을 수 있는 높이 인지 여부를 판단하게 된다(S13).
로봇 청소기는, 넘을 수 있는 높이라고 판단되면 직진으로 이동하고(S14), 그렇지 않은 경우에는 90도 회전(S15)하여 이동할 수 있다.
예를 들어, 장애물이 낮은 문턱인 경우. 로봇 청소기는, 문턱을 인식하고, 인식 결과, 통과할 수 있다고 판단하면, 문턱을 넘어서 이동한다.
하지만, 넘을 수 있는 높이라고 판단한 장애물이 전선이라면 로봇 청소기는 전선을 넘어가다가 전선에 걸려 구속될 수 있다.
또한, 선풍기의 받침대는 문턱과 비슷하거나 낮은 높이를 가지므로, 로봇 청소기는 넘을 수 있는 장애물이라고 판단할 수 있다. 이 경우에, 로봇 청소기는 선풍기의 받침대를 타고 올라가다가 바퀴가 헛돌면서 구속될 수 있다.
또한, 이동 가능한 장애물, 예를 들어, 사람이나 반려동물이 움직이는 경우에, 로봇 청소기의 회피 주행시 로봇 청소기와 충돌할 수 있다.
또한, 사용자가 로봇 청소기의 이동을 보면서 피하는데, 오히려 로봇 청소기가 사용자의 이동 방향으로 이동하여, 사용자의 이동을 방해할 수 있다.
따라서, 전방 장애물의 속성을 파악하여 속성에 맞게 이동 패턴을 변경할 수 있는 방안이 요구된다.
한편, 최근에는 인공지능과 딥러닝 등 머신 러닝에 관한 관심이 크게 증가하고 있다.
머신 러닝은, 인공지능 분야 중 하나로써, 컴퓨터에게 데이터를 학습시키고, 그를 바탕으로 예측, 분류와 같은 어떤 작업을 수행하도록 하는 것을 의미한다.
머신 러닝의 가장 대표적인 정의는 톰 미첼(Tom M. Mitchell) 교수가 제시한 것으로, “어떠한 태스크(T)를 하는데 특정한 기준(P)으로 측정한 성능이 특정한 경험(E)로 인해 향상되었다면 그 어떤 태스크(T)는 어떠한 경험(E)으로부터 배웠다. 라고 말할 수 있다.”이다. 즉, 어떠한 태스크(T)에 대해 꾸준한 경험(E)을 통하여 성능을 높이는 것을 머신 러닝으로 볼 수 있다.
종래의 머신 러닝은 통계학 기반의 분류, 회귀, 군집 모델이 중심이었다. 특히, 분류, 회귀 모델의 지도 학습에서는 학습 데이터의 특성과 이러한 특성을 기반으로 새로운 데이터를 구별하는 학습 모델을 사람이 사전에 정의했다.
한편, 최근에는 종래의 머신러닝과는 다르게, 딥러닝 기술이 발전하고 있다. 딥러닝은. 인공신경망(Artificial Neural Networks: ANN)에 기반하여 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다. 즉, 딥러닝은 컴퓨터가 스스로 특성을 찾아내고 판별하는 것이다.
딥러닝의 발전을 가속화한 요인 중 하나로 오픈소스로 제공되는 딥러닝 프레임워크를 들 수 있다. 예를 들어, 딥러닝 프레임워크로는 캐나다 몬트리올 대학교의 시아노(Theano), 미국 뉴욕 대학교의 토치(Torch), 캘리포니아 버클리 대학교의 카페(Caffe), 구글의 텐서플로우(TensorFlow) 등이 있다.
딥러닝 프레임워크들의 공개에 따라, 효과적인 학습 및 인식을 위해, 딥러닝 알고리즘 외에 학습 과정, 학습 방법, 학습에 시용하는 데이터의 추출 및 선정이 더욱 중요해지고 있다.
또한, 인공지능과 머신 러닝을 다양한 제품, 서비스에 이용하기 위한 연구가 증가하고 있다.
본 발명의 목적은, 장애물의 속성을 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은, 장애물 속성 인식의 정확성을 높일 수 있는 영상 데이터를 획득할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출하는 이동 로봇 및 그 제어방법을 제공함에 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 센서부가 장애물을 감지하면, 영상획득부가 획득하는 영상에 기초하여 감지된 장애물의 속성을 인식하고, 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 제어부, 및, 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하는 음향 출력부를 포함함으로써, 안정성, 사용자의 편의성, 운전 효율, 청소 효율을 향상시킬 수 있다.
또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 센서부를 통하여, 이동 중 장애물을 감지하는 단계, 센서부가 장애물을 감지하면, 영상획득부가 획득하는 영상에 기초하여 감지된 장애물의 속성을 인식하는 단계, 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하는 단계, 및, 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 단계를 포함할 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇이, 장애물의 속성을 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 장애물 속성 인식의 정확성을 높일 수 있는 영상 데이터를 획득할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.
도 1은 종래의 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명에 참조되는 도면이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 3은 도 2에 도시된 이동 로봇의 상면부를 도시한 도이다.
도 4는 도 2에 도시된 이동 로봇의 정면부를 도시한 도이다.
도 5는 도 2에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법에 관한 설명에 참조되는 도면이다.
도 9 내지 도 11은 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다.
도 12와 도 13은 장애물 인식에 관한 설명에 참조되는 도면이다.
도 14는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다.
도 15는 도 14에 도시된 이동 로봇의 장애물 감지 센서의 전면도와 측면도이다.
도 16 내지 도 18은 도 14에 도시된 이동 로봇의 장애물 감지 센서의 동작에 관한 설명에 참조되는 도면이다.
도 19와 도 20은 본 발명의 일 실시예에 따른 이동 로봇의 장애물 감지 센서 유닛을 도시한 도면이다.
도 21은 도 19와 도 20에 도시된 센서 유닛의 장애물 또는 거리 감지 원리를 설명하는데 참조되는 도면이다.
도 22는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 23은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 24 내지 도 32는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 본 발명이 이러한 실시예에 한정되는 것은 아니며 다양한 형태로 변형될 수 있음은 물론이다.
도면에서는 본 발명을 명확하고 간략하게 설명하기 위하여 설명과 관계없는 부분의 도시를 생략하였으며, 명세서 전체를 통하여 동일 또는 극히 유사한 부분에 대해서는 동일한 도면 참조부호를 사용한다.
한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하에서는, 도면들을 참조하여, 이동 로봇 중 청소 기능을 가지는 로봇 청소기를 예로 들어 설명하나, 본 발명은 이에 한정되지 않는다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 3은 도 2에 도시된 이동 로봇의 상면부를 도시한 도이며, 도 4는 도 2에 도시된 이동 로봇의 정면부를 도시한 도이고, 도 5는 도 2에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 2 내지 도 6을 참조하면, 이동 로봇(100)은, 본체(110)와, 본체(110) 주변의 영상을 획득하는 영상획득부(120, 120a, 120b)를 포함한다.
이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 3 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 5 참조)로 정의하며, 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 4 참조)라고 정의한다.
이동 로봇(100)은 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(136)를 포함한다. 주행부(160)는 구동 바퀴(136)에 연결되어 구동 바퀴를 회전시키는 구동 모터(미도시)를 포함한다. 구동 바퀴(136)는 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(136(L))과 우륜(136(R))이라고 한다.
좌륜(136(L))과 우륜(136(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(136(L))을 구동시키는 좌륜 구동 모터와 우륜(136(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(136(L))과 우륜(136(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(110)의 주행방향을 전환할 수 있다.
본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(110h)가 형성될 수 있으며, 본체(110) 내에는 흡입구(110h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(110h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.
본체(110)는 이동 로봇(100)을 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다. 케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.
흡입구(110h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(134)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(135)가 구비될 수 있다. 이들 브러시(134, 135)들의 회전에 의해 주행구역 내 바닥으로부터 먼지들이 분리되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(110h)를 통해 흡입되어 먼지통에 모인다.
배터리(138)는 구동 모터뿐만 아니라, 이동 로봇(100)의 작동 전반에 필요한 전원을 공급한다. 배터리(138)가 방전될 시, 이동 로봇(100)은 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100)은 스스로 충전대(200)의 위치를 탐지할 수 있다.
충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되는 것은 아니다.
이동 로봇(100)은 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 신호 감지부는 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100)은 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.
실시예에 따라서는, 이동 로봇(100)은 영상 기반 또는 레이저-패턴 추출 방식의 충전대(200) 복귀 주행을 수행할 수 있다.
이동 로봇(100)은, 본체(110)에서 발신되는 광신호 등을 이용하여 충전대(200)에 형성된 특정 패턴을 인식하고 이를 추출하여 충전대로 복귀 할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 이동 로봇(100)은 패턴 광 센서(미도시)를 포함할 수 있다.
패턴 광 센서는, 본체(110)에 구비될 수 있고, 이동 로봇(100)이 활동하는 활동영역에 패턴 광(optical pattern)을 조사하고, 상기 패턴 광이 조사된 영역을 촬영하여 입력영상을 획득할 수 있다. 예를 들어, 상기 패턴 광은 십자 패턴 등 특정 패턴의 광일 수 있다.
한편, 충전대(200)는, 일정한 간격으로 서로 이격된 2 이상의 위치 표지를 포함할 수 있다.
위치 표지는, 그 자신의 표면에 패턴 광이 입사되었을 시, 주변부와 구분되는 표식을 형성한다. 이러한 표식은 위치 표지의 형태적인 특성으로 인해, 표면에 입사된 패턴 광의 형태가 변형되는 것으로부터 기인한 것일 수 있고, 다르게는 위치 표지의 재질적인 특성으로 인한 광 반사율(또는 흡수율)이 주변부와 차이가 나는 것에서 기인한 것일 수 있다.
위치 표지는 상기 표식을 형성케 하는 모서리를 포함할 수 있다. 위치 표지의 표면에 입사된 패턴 광이 모서리에서 각을 이루며 꺽임으로써, 입력영상에서는 상기 표식으로써의 첨점이 확인된다.
이동 로봇(100)은 배터리 잔량이 부족한 경우에 자동으로 충전대 탐색을 실시할 수 있고, 다르게는 사용자로부터 충전 명령이 입력되었을 시에도 충전대 탐색을 실시할 수 있다.
이동 로봇(100)이 충전대 탐색을 실시하는 경우, 패턴 추출부는 입력영상으로부터 첨점들을 추출하고, 제어부(140)는 추출된 첨점들의 위치정보를 획득한다. 상기 위치정보는 이동 로봇(100)으로부터 첨점들까지의 거리가 고려된 3차원 공간상에서의 위치를 포함할 수 있다.
제어부(140)는 획득된 첨점들에 대한 위치정보를 바탕으로 첨점들간의 실제거리를 구하고, 이를 기 설정된 기준값과 비교하여, 상기 실제거리와 상기 기준값 간의 차이가 일정범위 내이면 충전대(200)가 탐색된 것으로 판단할 수 있다.
또는, 이동 로봇(100)은, 영상획득부(120)의 카메라를 통해 주변 영상을 획득 후, 획득된 영상에서 충전대(200)에 대응하는 형상을 추출, 식별하여 충전대(200)로 복귀할 수 있다.
또한, 이동 로봇(100)은, 영상획득부(120)의 카메라를 통해 주변 영상을 획득하고, 충전대(200)에서 발신되는 특정 광 신호를 식별하여 충전대로 복귀할 수 있다.
영상획득부(120)는 주행구역을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 상기 카메라 모듈은 디지털 카메라를 포함할 수 있다. 디지털 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를 들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.
바람직하게, 영상획득부(120)는, 본체(110) 전방의 영상을 획득하도록 구비되는 전면 카메라(120a)와 본체(110)의 상면부에 구비되어, 주행구역 내의 천장에 대한 영상을 획득하는 상부 카메라(120b)를 구비하나, 영상획득부(120)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다.
본 실시예의 경우, 이동 로봇의 일부 부위(ex, 전방, 후방, 저면)에 카메라가 설치되어 있으며, 청소 시에 촬상영상을 지속적으로 획득할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다. 카메라에 의해 촬상된 영상은 해당 공간에 존재하는 먼지, 머리카락, 바닥 등과 같은 물질의 종류 인식, 청소 여부, 또는 청소 시점을 확인하는데 사용할 수 있다.
전면 카메라(120a)는 이동 로봇(100)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상획득부(120)는 본체(110) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(150)에 저장될 수 있다.
이동 로봇(100)은 복수의 영상을 이용하여 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 장애물 인식의 정확성을 높일 수 있다.
또한, 이동 로봇(100)은 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(170)를 포함할 수 있다.
예를 들어, 상기 센서부(170)는 전방의 장애물을 감지하는 장애물 감지 센서(131)를 포함할 수 있다. 또한, 상기 센서부(170)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(132)와, 바닥의 영상을 획득하는 하부 카메라 센서(139)를 더 포함할 수 있다.
도 2와 도 4를 참조하면, 상기 장애물 감지 센서(131)는 이동 로봇(100)의 외주면에 일정 간격으로 설치되는 복수의 센서를 포함할 수 있다.
예를 들어, 상기 센서부(170)는, 상기 본체(110)의 전면에 배치되는 제1 센서, 상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서를 포함할 수 있다.
상기 장애물 감지 센서(131)는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
한편, 상기 장애물 감지 센서(131)에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지 센서(131)는 더 다양한 센서를 포함할 수 있다.
상기 장애물 감지 센서(131)는 실내의 벽이나 장애물과의 거리를 감지하는 센서로, 본 발명은 그 종류에 한정되지 않으나, 이하에서는 초음파 센서를 예시하여 설명하고, 도 14 내지 도 21을 참조하여 예시적인 다른 방식의 장애물 감지 방식을 설명한다.
상기 장애물 감지 센서(131)는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 제어부(140)에 전달한다. 즉, 상기 장애물 감지 센서(131)는, 이동 로봇의 이동 경로, 전방이나 측면에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어 유닛에 전달할 수 있다.
이때, 제어부(140)는 초음파 센서를 통해 수신된 적어도 2 이상의 신호에 기초하여 장애물의 위치를 감지하고, 감지된 장애물의 위치에 따라 이동 로봇(100)의 움직임을 제어할 수 있다.
실시예에 따라서는, 케이스(110)의 외측면에 구비되는 장애물 감지 센서(131)는 발신부와 수신부를 포함하여 구성될 수 있다.
예를 들어, 초음파 센서는 적어도 하나 이상의 발신부 및 적어도 2 이상의 수신부가 서로 엇갈리도록 구비될 수 있다. 이에 따라, 다양한 각도로 신호를 방사하고, 장애물에 반사된 신호를 다양한 각도에서 수신할 수 있다.
실시예에 따라서는, 장애물 감지 센서(131)에서 수신된 신호는, 증폭, 필터링 등의 신호 처리 과정을 거칠 수 있고, 이후 장애물까지의 거리 및 방향이 산출될 수 있다.
한편, 상기 센서부(170)는 본체(110)의 구동에 따른 이동 로봇(100)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 예를 들어, 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(100)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(140)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
휠 센서는, 좌륜(136(L))과 우륜(136(R))에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있다. 로터리 엔코더는 좌륜(136(L))과 우륜(136(R))의 회전수를 감지하여 출력한다.
제어부(140)는 회전수를 이용하여 좌, 우측 바퀴의 회전 속도를 연산할 수 있다. 또한, 제어부(140)는 좌륜(136(L))과 우륜(136(R))의 회전수 차이를 이용하여 회전각을 연산할 수 있다.
가속도 센서는, 이동 로봇(100)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100)의 변화를 감지한다. 가속도 센서는 주 바퀴나 보조바퀴의 인접 위치에 부착되어, 바퀴의 미끄러짐이나 공회전을 검출할 수 있다.
또한, 가속도 센서는 제어부(140)에 내장되어 이동 로봇(100)의 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.
제어부(140)는 동작 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(100)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상 정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.
한편, 이동 로봇(100)은 충전 가능한 배터리(138)를 구비하여 로봇 청소기 내로 전원을 공급하는 전원 공급부(미도시)를 포함할 수 있다.
상기 전원 공급부는 이동 로봇(100)의 각 구성 요소들에 구동 전원과, 동작 전원을 공급하며, 전원 잔량이 부족하면 충전대(200)에서 충전 전류를 공급받아 충전될 수 있다.
이동 로봇(100)은 배터리(138)의 충전 상태를 감지하고, 감지 결과를 제어부(140)에 전송하는 배터리 감지부(미도시)를 더 포함할 수 있다. 배터리(138)는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(140)에 전달된다. 배터리 잔량은 출력부(180)의 디스플레이(182)에 표시될 수 있다.
또한, 이동 로봇(100)은 온/오프(On/Off) 또는 각종 명령을 입력할 수 있는 조작부(137)를 포함한다. 조작부(137)를 통해 이동 로봇(100)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다.
또한, 이동 로봇(100)은 출력부(180)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하거나 음향으로 출력할 수 있다.
출력부(180)는 오디오 신호를 출력하는 음향 출력부(181)를 포함할 수 있다. 음향 출력부(181)는 제어부(140)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지 등을 음향으로 출력할 수 있다. 음향 출력부(181)는, 제어부(140)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
또한, 출력부(180)는 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하는 디스플레이(182)를 더 포함할 수 있다.
도 6을 참조하면, 이동 로봇(100)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(140), 및 각종 데이터를 저장하는 저장부(150)를 포함한다. 또한, 이동 로봇(100)은 외부 단말기와 데이터를 송수신하는 통신부(190)를 더 포함할 수 있다.
외부 단말기는 이동 로봇(100)을 제어하기 위한 애플리케이션을 구비하고, 애플리케이션의 실행을 통해 이동 로봇(100)이 청소할 주행구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 애플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
외부 단말기는 이동 로봇(100)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다.
제어부(140)는 이동 로봇(100)를 구성하는 영상획득부(120), 조작부(137), 주행부(160) 등을 제어하여, 이동 로봇(100)의 동작 전반을 제어한다.
저장부(150)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(150)에는 주행구역에 대한 맵(Map)이 저장될 수 있다. 맵은 이동 로봇(100)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다.
맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(150)에 저장된 맵과 동일한 맵을 저장한다.
상기 저장부(150)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.
상기 저장부(150)에 저장되는 주행구역에 대한 맵은, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다.
한편, 상술한 바와 같이 용도별로 상기 저장부(150)에 맵들을 구분하여 저장, 관리할 수 있지만, 맵이 용도별로 명확히 구분되지 않을 수도 있다. 예를 들어, 적어도 2 이상의 용도로 사용할 수 있도록 하나의 맵에 복수의 정보를 저장할 수도 있다. 가령, 학습 맵 상에 인식된 장애물 정보가 기록되어 장애물 인식 맵을 대신할 수 있으며, 위치 인식에 사용되는 SLAM 맵을 이용하여 전역 위치를 인식함으로써 전역 위치 맵을 대신하거나 전역 위치 맵과 함께 사용 될 수 있다.
제어부(140)는 주행제어모듈(141), 위치인식모듈(142), 지도생성모듈(143) 및 장애물인식모듈(144)을 포함할 수 있다.
도 2 내지 도 6을 참조하면, 주행제어모듈(141)은 이동 로봇(100)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(160)의 구동을 제어한다. 또한, 주행제어모듈(141)은 주행부(160)의 동작을 바탕으로 이동 로봇(100)의 주행경로를 파악할 수 있다. 예를 들어, 주행제어모듈(141)은 구동 바퀴(136)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(136(L), 136(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다.
지도생성모듈(143)은 주행구역의 맵을 생성할 수 있다. 지도생성모듈(143)은 영상획득부(120)를 통해 획득한 영상을 처리하여 맵을 작성할 수 있다. 즉, 청소 영역과 대응되는 청소 맵을 작성할 수 있다.
또한, 지도생성모듈(143)은 각 위치에서 영상획득부(120)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식할 수 있다.
위치인식모듈(142)은 현재 위치를 추정하여 인식한다. 위치인식모듈(142)은 영상획득부(120)의 영상 정보를 이용하여 지도생성모듈(143)과 연계하여 위치를 파악함으로써, 이동 로봇(100)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
이동 로봇(100)은 위치인식모듈(142)을 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 위치인식모듈(142) 없이 지도생성모듈(143) 및 장애물인식모듈(144)을 통해, 맵을 학습하고 현재 위치를 추정할 수 있다.
이동 로봇(100)이 주행하는 중에, 영상획득부(120)는 이동 로봇(100) 주변의 영상들을 획득한다. 이하, 영상획득부(120)에 의해 획득된 영상을 '획득영상'이라고 정의한다.
획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다.
지도생성모듈(143)은 획득영상들 각각으로부터 특징을 검출한다. 컴퓨터 비전(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 검출기 등이 있다.
지도생성모듈(143)은 각 특징점을 근거로 디스크립터를 산출한다. 지도생성모듈(143)은 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다.
한편, 디스크립터는 특정 공간내에 존재하는 개별 특징점의 군집으로 정의되며, n차원 벡터(vector)로 표기될 수 있다. 예를 들어, 천정의 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 각각의 디스크립터로 산출되어 저장부(150)에 저장될 수 있다.
각 위치의 획득 영상을 통해 얻어진 디스크립터 정보를 바탕으로 획득 영상마다 적어도 하나의 디스크립터를 소정 하위 분류 규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환 할 수 있다. 즉, 개별 영상을 통해 얻어진 디스크립터들에 대해 대표값을 지정하여 표준화 하는 과정을 거칠 수 있다.
SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(100)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 이에 한정되지 않고 다른 다양한 기법(예를 들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.
지도생성모듈(143)은 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.
다른 예로, 실(room)과 같이 소정 구역내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
지도생성모듈(143)은 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 지도생성모듈(143)은 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(100)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
이동 로봇(100)은, 미지의 현재 위치에서 영상획득부(120)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
위치인식모듈(142)은 획득영상으로부터 특징들을 검출한다. 컴퓨터 비전 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법 및 이들 특징의 검출에 적합한 여러 특징검출기들에 대한 설명은 상기한 바와 같다.
위치인식모듈(142)은 각 인식 특징점을 근거로 인식 디스크립터 산출단계를 거쳐 인식 디스크립터를 산출한다. 이때 인식 특징점 및 인식 디스크립터는 위치인식모듈(142)에서 수행하는 과정을 설명하기 위한 것으로 지도생성모듈(143)에서 수행하는 과정을 설명하는 용어와 구분하기 위한 것이다. 다만, 이동 로봇(100)의 외부 세계의 특징이 각각 다른 용어로 정의되는 것에 불과하다.
위치인식모듈(142)은 본 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 인식 특징점을 인식 디스크립터로 변환할 수 있다. 인식 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.
SIFT는 앞서 설명한 바와 같이, 획득영상에서 코너점 등 식별이 용이한 특징점을 선택한 후, 각 특징점 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다.
위치인식모듈(142)은 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
이와 같이, 제어부(140)는 주행구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기저장된 맵을 바탕으로 본체(110)의 현재 위치를 인식할 수 있다.
제어부(140)는 맵이 생성되면, 생성된 맵을 통신부(190)를 통해 외부 단말기, 서버 등으로 전송할 수 있다. 또한, 제어부(140)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 저장부에 저장할 수 있다.
또한 제어부(140)는 주행 중 맵이 갱신되는 경우 갱신된 정보를 외부 단말기로 전송하여 외부 단말기와 이동 로봇(100)에 저장되는 맵이 동일하도록 한다. 외부 단말기와 이동 로봇(100)에 저장된 맵이 동일하게 유지됨에 따라 이동 단말기로부터의 청소명령에 대하여, 이동 로봇(100)이 지정된 영역을 청소할 수 있으며, 또한, 외부 단말기에 이동 로봇의 현재 위치가 표시될 수 있도록 하기 위함이다.
이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함할 수 있다.
제어부(140)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 조작부 또는 외부 단말기로부터 입력될 수 있다.
제어부(140)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부(160)를 제어할 수 있다.
현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인 할 수 없는 경우, 위치인식모듈(142)은 영상획득부(120)로부터 입력되는 획득영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 장애물인식모듈(144) 또는 지도생성모듈(143) 또한, 같은 방식으로 현재 위치를 인식할 수 있다.
위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 후, 주행제어모듈(141)은 현재 위치로부터 지정영역으로 주행경로를 산출하고 주행부(160)를 제어하여 지정영역으로 이동한다.
서버로부터 청소 패턴 정보를 수신하는 경우, 주행제어모듈(141)은 수신한 청소 패턴 정보에 따라, 전체 주행구역을 복수의 영역으로 나누고, 하나 이상의 영역을 지정영역으로 설정할 수 있다.
또한, 주행제어모듈(141)은 수신한 청소 패턴 정보에 따라 주행경로를 산출하고, 주행경로를 따라 주행하며, 청소를 수행할 수 있다.
제어부(140)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(150)에 저장할 수 있다.
또한, 제어부(140)는 통신부(190)를 통해 이동 로봇(100)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기, 서버로 전송할 수 있다.
그에 따라 외부 단말기는 수신되는 데이터를 바탕으로, 실행중인 애플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소 상태에 대한 정보를 출력한다.
본 발명의 실시예에 따른 이동 로봇(100)은 일방향으로 장애물이나 벽면이 감지될 때까지 이동하다가, 장애물인식모듈(144)이 장애물을 인식하면, 인식된 장애물의 속성에 따라 직진, 회전 등 주행 패턴을 결정할 수 있다.
예를 들어, 인식된 장애물의 속성이 넘어갈 수 있는 종류의 장애물이면, 이동 로봇(100)은 계속 직진할 수 있다. 또는, 인식된 장애물의 속성이 넘어갈 수 없는 종류의 장애물이면, 이동 로봇(100)은 회전하여 일정거리 이동하고, 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하여 지그재그(zigzag) 형태로 주행할 수 있다.
한편, 제어부(140)는 인식된 장애물의 속성이 사람, 반려동물 등 이동 가능한 장애물인 경우에, 음향 출력부(181)가 기설정된 음향을 출력하도록 제어할 수 있다.
상기 기설정된 음향은, 경고음 또는 상기 이동 가능한 장애물의 이동을 안내하는 메시지일 수 있다.
예를 들어, 제어부(140)는 사람의 발, 손 등 신체 중 적어도 일부가 인식되면, 비켜달라는 메시지를 출력하도록 음향 출력부(181)를 제어할 수 있다.
또한, 제어부(140)는 개, 고양이 등 반려동물이 인식되면, 반려동물이 소리에 반응하여 이동할 수 있도록 경고음을 출력하도록 음향 출력부(181)를 제어할 수 있다.
한편, 제어부(140)는 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 상기 본체의 이동을 정지하도록 주행부(160)를 제어할 수 있다.
또한, 제어부(140)는 경고음 또는 상기 이동 가능한 장애물의 이동을 안내하는 메시지를 출력하고, 소정 대기 시간 동안 이동 가능한 장애물이 이동하는 것을 기다릴 수 있다.
제어부(140)는 이동 가능한 장애물의 경우에는 소정 대기 시간 후에 이동 가능한 장애물의 이동 여부에 따라 다르게 주행하도록 제어할 수 있다.
이 경우에, 제어부(140)는 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되면, 기존의 이동을 재개하도록 제어할 수 있다.
즉, 이동 가능한 장애물이 소정 대기 시간 이내에 이동하면, 이동 로봇(100)의 이동에 제약 사항이 없어진 것으로 기존의 주행 패턴에 따른 이동을 재개할 수 있다.
만약, 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되지 않으면, 제어부(140)는 상기 이동 가능한 장애물에 대한 회피주행을 수행하도록 제어할 수 있다.
즉, 이동 가능한 장애물이 소정 대기 시간 이내에 이동하지 않으면, 이동 로봇(100)은 장애물에 대한 회피주행을 수행할 수 있다.
한편, 제어부(140)는, 상기 본체(110)가 소정 거리 범위 내에서 후진과 직진을 반복하도록 제어할 수 있다.
바람직하게는 제어부(140)는 이동 가능한 장애물의 이동할 때까지 대기하는 대기 시간 동안에 상기 본체(110)가 움찔거리는 것처럼 소정 거리 범위 내에서 후진과 직진을 반복하도록 제어할 수 있다. 이에 따라, 사용자는 안내 메시지 외에도 이동 로봇(100)의 움찔거리는 동작으로 자신의 이동을 이동 로봇(100)이 기다리고 있음을 직관적으로 알 수 있다.
한편, 제어부(140)는 인식된 장애물의 속성에 기초하여 다른 패턴으로 회피주행을 수행하도록 제어할 수 있다. 제어부(140)는 비위험 장애물(일반 장애물), 위험 장애물, 이동 가능한 장애물 등 장애물의 속성에 따라 다른 패턴으로 회피 주행하도록 제어할 수 있다.
예를 들어, 제어부(140)는 위험 장애물은 더 긴 거리의 안전 거리를 확보한 상태에서 우회하여 회피하도록 제어할 수 있다.
또한, 제어부(140)는 이동 가능한 장애물의 경우에 소정 대기 시간 후에도 장애물이 이동하지 않으면, 일반 장애물에 대응하는 회피 주행 또는 위험 장애물에 대응하는 회피 주행을 수행하도록 제어할 수 있다. 또는, 제어부(140)는 이동 가능한 장애물에 대응하는 회피 주행 패턴이 별도로 설정된 경우에는 이에 따라 주행하도록 제어할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행할 수 있다.
상기 제어부(140)는, 입력 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈(144)과 상기 인식된 장애물의 속성에 기초하여, 상기 주행부(160)의 구동을 제어하는 주행제어모듈(141)을 포함할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝으로 장애물의 속성이 학습된 장애물인식모듈(144)을 포함할 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.
딥러닝(Deep Learning)은. 인공지능을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.
장애물인식모듈(144)은 장애물의 속성이 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(ANN)을 포함할 수 있다.
예를 들어, 장애물인식모듈(144)은 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다.
딥러닝(Deep Learning)에 대해서는 도 9 내지 도 11 등을 참조하여 상세히 후술한다.
장애물인식모듈(144)은 상기 심층신경망(DNN)에 포함된 노드들 사이의 가중치(weight)들에 기초하여 입력되는 영상 데이터에 포함되는 장애물의 속성을 판별할 수 있다.
한편, 이동 로봇(100)이 이동 중 센서부(170)가 장애물을 감지하면, 제어부(140)는 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하도록 제어할 수 있다.
상기 영상획득부(120), 특히 전면 카메라(120a)는 상기 이동 로봇(100)의 이동 방향에서 소정 각도 범위 내의 영상을 획득할 수 있다.
상기 제어부(140)는, 상기 영상획득부(120), 특히 전면 카메라(120a)가 획득한 영상 전체를 사용하는 것이 아니라 일부 영역만을 사용하여 이동 방향에 존재하는 장애물의 속성을 판별할 수 있다.
도 6의 실시예를 참조하면, 상기 제어부(140)는, 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하는 영상처리모듈(145)을 더 포함할 수 있다.
또는, 이동 로봇(100)은, 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하는 별도의 영상처리부를 더 포함하거나, 상기 영상획득부(120)가 직접 영상을 처리할 수 있다.
상기 머신 러닝으로 학습된 장애물인식모듈(144)은 그 특성상 학습한 대상이 입력 영상 데이터에서 많은 부분을 차지할수록 인식률이 높다.
따라서, 본 발명은 초음파 센서 등 센서부(170)가 감지하는 장애물의 방향에 따라 영상획득부(120)가 획득한 영상 중 다른 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.
상기 장애물인식모듈(144)은 영상획득부(120)가 획득한 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다.
더욱 바람직하게는 상기 장애물인식모듈(144)은 영상획득부(120)가 획득한 영상에서 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다.
한편, 상기 주행제어모듈(141)은 상기 인식된 장애물의 속성에 기초하여 상기 주행부(160)의 구동을 제어할 수 있다.
한편, 상기 제어부(140)는, 상기 장애물이 상기 본체 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 우측 하단 영역을 추출하고, 상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 좌측 하단 영역을 추출하며, 상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 중앙(center) 하단 영역을 추출하도록 제어할 수 있다.
또한, 상기 제어부(140)는, 상기 영상획득부(120)가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물의 방향에 대응하도록 이동(shift)시켜 추출하도록 제어할 수 있다.
상기 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구성에 대해서는 도 27 내지 도 30 등을 참조하여 상세히 후술한다.
또한, 이동 로봇(100)이 이동 중 센서부(170)가 장애물을 감지하면, 제어부(140)는 상기 본체(110)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(120)가 획득하는 연속된 복수의 영상 중 상기 센서부(170)의 장애물 감지 시점 이전의 특정 시점 영상을 선택하도록 제어할 수 있다.
센서부(170)의 장애물 감지 시점을 트리거(trigger) 신호로 하여, 영상획득부(120)가 영상을 획득하는 경우에는, 이동 로봇이 계속 이동하고 있어, 장애물이 획득영상에 포함되지 않거나 작게 포함될 수 있다.
따라서, 본 발명의 일 실시예는, 상기 본체(110)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(120)가 획득하는 연속된 복수의 영상 중 상기 센서부(170)의 장애물 감지 시점 이전의 특정 시점 영상을 선택하여, 장애물 인식용 데이터로 사용할 수 있다.
상기 영상획득부(120)가 획득한 영상 중 특정 시점 영상을 선택하여, 장애물 인식용 데이터로 사용하는 구성에 대해서는 도 31, 도 32 등을 참조하여 상세히 후술한다.
한편, 장애물인식모듈(144)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 장애물의 속성을 인식할 수 있다.
한편, 저장부(150)에는 장애물 속성 판별을 위한 입력 데이터, 상기 심층신경망(DNN)을 학습하기 위한 데이터가 저장될 수 있다.
저장부(150)에는 영상획득부(120)가 획득한 원본 영상과 소정 영역이 추출된 추출 영상들이 저장될 수 있다.
또한, 실시예에 따라서는, 저장부(150)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.
또는, 실시예에 따라서는, 상기 심층신경망 구조를 이루는 웨이트(weight), 바이어스(bias)들은 장애물인식모듈(144)의 임베디드 메모리(embedded memory)에 저장될 수 있다.
한편, 상기 장애물인식모듈(144)은 상기 영상획득부(120)가 영상을 획득하거나 영상의 일부 영역을 추출할 때마다 소정 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 영상이 획득된 후 학습 과정을 수행할 수 있다.
즉, 상기 장애물인식모듈(144)은 장애물을 인식할 때마다 인식 결과를 추가하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트(update)하거나, 소정 횟수의 트레이닝 데이터가 확보된 후에 확보된 트레이닝 데이터로 학습 과정을 수행하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트할 수 있다.
또는, 이동 로봇(100)은 통신부(190)를 통하여 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다.
이 경우에, 이동 로봇(100)은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 장애물인식모듈(141)을 업데이트(update)할 수 있다.
한편, 이동 로봇(100)은 영상획득부(120)가 획득하는 영상 또는 추출 영상을 통신부(190)를 통하여 소정 서버로부터 송신할 수 있다.
도 7은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 7을 참조하면, 서버(70)는, 통신부(720), 저장부(730), 학습모듈(740), 및 프로세서(710)를 구비할 수 있다.
프로세서(710)는, 서버(70)의 전반적인 동작을 제어할 수 있다.
한편, 서버(70)는, 상기 이동 로봇(100) 등 홈 어플라이언스 제조사가 운영하는 서버 또는 서비스 제공자가 운영하는 서버일 수 있고, 일종의 클라우드(Cloud) 서버일 수 있다.
통신부(720)는, 휴대 단말기, 이동 로봇(100) 등 홈 어플라이언스, 게이트웨이 등으로부터 상태 정보, 동작 정보, 조작 정보 등 각종 데이터를 수신할 수 있다.
그리고 통신부(720)는 수신되는 각종 정보에 대응하는 데이터를 휴대 단말기, 이동 로봇(100) 등 홈 어플라이언스, 게이트웨이 등으로 송신할 수 있다.
이를 위해, 통신부(720)는 인터넷 모듈, 이동 통신 모듈 등 하나 이상의 통신 모듈을 구비할 수 있다.
저장부(730)는, 수신되는 정보를 저장하고, 이에 대응하는 결과 정보 생성을 위한 데이터를 구비할 수 있다.
또한, 저장부(730)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
학습모듈(740)은 상기 이동 로봇(100) 등 홈 어플라이언스의 학습기 역할을 수행할 수 있다.
상기 학습모듈(740)에는 인공신경망, 예를 들어, CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다.
상기 학습모듈(740)의 학습 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다.
한편, 상기 제어부(810)는 설정에 따라 학습 후 상기 이동 로봇(100) 등 홈 어플라이언스의 인공신경망 구조를 학습된 인공신경망 구조로 업데이트시키도록 제어할 수 있다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법에 관한 설명에 참조되는 도면이다.
도 8을 참조하면, 이동 로봇(100)의 제어부(140), 더욱 상세하게는 장애물인식모듈(144)에는 CNN(Convolutional Neural Network) 등 심층신경망(DNN) 구조(144a)가 탑재될 수 있다.
기학습된 심층신경망(DNN) 구조(144a)는 인식용 입력 데이터를 입력받고, 입력 데이터에 포함된 장애물의 속성을 인식하여, 그 결과를 출력할 수 있다.
심층신경망(DNN) 구조(144a)가 인식하지 못하는 데이터(unknown data)는 저장부(150) 또는 장애물인식모듈(144) 내의 자체 저장공간(144b)에 저장될 수 있다.
한편, 장애물인식모듈(144)이 인식하지 못하는 데이터(unknown data)는 통신부(190)를 통하여 서버(70)로 전송될 수 있다. 또한, 장애물인식모듈(144)이 인식에 성공한 데이터도 서버(70)로 전송될 수 있다.
서버(70)는 학습된 웨이트(weight)들의 구성을 생성할 수 있고, 서버(70)는 심층신경망(DNN) 구조를 트레이닝(training) 데이터를 사용하여 학습할 수 있다.
서버(70)는 수신한 데이터에 기초하여, 심층신경망(DNN)을 학습시킨 후, 업데이트된 심층신경망(DNN) 구조 데이터를 이동 로봇(100)으로 전송하여 업데이트하게 할 수 있다.
도 9 내지 도 11은 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다.
머신 러닝(Machine Learning)의 일종인 딥러닝(Deep Learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.
딥러닝(Deep learning)은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝(Machine Learning) 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(ANN)를 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(DNN)으로 구성될 수 있다
도 9를 참조하면, 인공신경망(ANN)은 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. 각 레이어는 복수의 노드들을 포함하고, 각 레이어는 다음 레이어와 연결된다. 인접한 레이어 사이의 노드들은 웨이트(weight)를 가지고 서로 연결될 수 있다.
도 10을 참조하면, 컴퓨터(머신)는 투입된 입력 데이터(1010)로부터 일정한 패턴을 발견해 특징맵(Feature Map)을 형성한다. 컴퓨터(머신)는 하위레벨 특징(1020)부터, 중간레벨 특징(1030), 상위레벨 특징(1040)까지 추출하여, 대상을 인식하고 그 결과를 출력(1050)할 수 있다.
인공신경망은 다음 순서의 레이어로 갈수록 더욱 상위레벨의 특징으로 추상화할 수 있다.
도 9와 도 10을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다.
임의의 노드, 예를 들어, 하위레벨 특징(1020)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(1030)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(1030)의 노드는 하위레벨 특징(1020)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
이 때, 각 노드의 입력값은 이전 레이어의 노드의 출력값에 웨이트(weight)가 적용된 값일 수 있다. 웨이트(weight)는 노드간의 연결 강도를 의미할 수 있다.
또한, 딥러닝 과정은 적절한 웨이트(weight)를 찾아내는 과정으로도 볼 수 있다.
한편, 임의의 노드, 예를 들어, 중간레벨 특징(1030)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(1040)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(1040)의 노드는 중간레벨 특징(1030)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
인공신경망은 각 레벨에 대응하는 학습된 레이어(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)은, 특히 객체 인식 분야에서 많이 사용되는 구조로써, 도 11을 참조하여 설명한다.
CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.
도 11은 CNN(Convolutional Neural Network) 구조를 도시한 도면이다.
CNN(Convolutional Neural Network)도 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다.
입력 레이어(Input Layer)에는 소정 이미지(1100)가 입력된다.
도 11을 참조하면, 히든 레이어(Hiddent Layer)는 복수의 레이어로 구성되고, 컨볼루션 레이어(convolution layer)와 서브-샘플링 레이어(sub-sampling layer)를 포함할 수 있다.
CNN(Convolutional Neural Network)에서는 기본적으로 컨볼루션(convolution) 연산을 통해 영상의 특징을 추출하기 위한 다양한 필터와 비선형적인 특성을 더하기 위한 풀링(pooling) 또는 비선형 활성화(non-linear activation) 함수 등이 함께 사용된다.
컨볼루션(convolution)은 영상 처리 분야에서 주로 필터 연산에 사용되며 영상으로부터 특징(feature)을 추출하기 위한 필터를 구현하는데 사용된다.
예를 들어, 3X3 윈도우를 이동하면서 영상 전체에 대해서 컨볼루션 연산을 반복적으로 수행하게 되면 윈도우의 가중치(weight) 값에 따라 적정한 결과를 얻을 수 있다.
컨볼루션 레이어(convolution layer)는 미리 정한 크기의 필터를 이용하여 이전 레이어에서 추출된 정보를 필터링하는 컨볼루션 필터링을 수행하는데 사용할 수 있다.
컨볼루션 레이어(convolution layer)는 컨볼루션 필터를 이용하여 입력된 영상 데이터(1100, 1102)에 컨볼루션 연산을 수행하고, 입력 이미지(1100)의 특징이 표현된 특징맵(1101, 1103)을 생성한다.
컨볼루션 필터링의 결과로서, 컨볼루션 레이어(convolution layer)에 포함된 필터의 개수에 따라 필터 개수만큼의 필터링 영상들이 생성될 수 있다. 컨볼루션 레이어는 필터링 영상들에 포함된 노드들로 구성될 수 있다.
또한, 컨볼루션 레이어(convolution layer)와 쌍을 이루는 서브-샘플링 레이어(sub-sampling layer)는 쌍을 이루는 컨볼루션 레이어(convolution layer)와 동일한 수의 특징맵들을 포함할 수 있다.
서브-샘플링 레이어(sub-sampling layer)는 샘플링 또는 풀링(pooling)을 통해 특징맵(1101, 1103)의 차원을 감소시킨다.
출력 레이어(Output Layer)는 특징맵(1104)에 표현된 다양한 특징을 조합하여 입력 이미지(1100)를 인식한다.
본 발명에 따른 이동 로봇의 장애물 인식 모듈은 상술한 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 본 발명이 한정되는 것은 아니나, 영상 내 객체 인식에서 많이 사용되고 있는 CNN(Convolutional Neural Network) 구조를 이용할 수 있다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.
도 12와 도 13은 장애물 인식에 관한 설명에 참조되는 도면이다.
도 12를 참조하면, 장애물인식모듈(144)은, 장애물들을 선풍기, 홈씨어터, 멀티탭, 램프받침, 둔턱, 사람(발), 사람(손), 반려동물 등 클래스(class)로 분류하고 구분하여 인식할 수 있다.
또한, 장애물인식모듈(144)은, 선풍기, 홈씨어터, 멀티탭, 램프받침 등의 클래스는 상위 개념으로 위험 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.
또한, 장애물인식모듈(144)은, 둔턱 등의 직진 주행 가능한 장애물을 비위험 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.
또한, 장애물인식모듈(144)은, 사람(발), 사람(손), 반려동물 등의 이동 가능한 장애물을 이동 가능한 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.
도 13의 (a)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.95의 신뢰값(confidence), 홈씨어터는 0.7의 신뢰값을 가지는 인식 결과를 얻을 수 있다. 이 경우에, 장애물인식모듈(144)은, 더 높은 신뢰값을 가지는 인식 결과인 선풍기를 입력 영상에 대한 인식 결과로 출력할 수 있다.
한편, 신뢰값(confidence)은 0.0 내지 1.0의 범위로 정규화될 수 있다.
도 13의 (b)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.35의 신뢰값, 홈씨어터는 0.4의 신뢰값을 가지는 인식 결과를 얻을 수 있다.
예를 들어, 0.6 이하의 신뢰값은 인정하지 않도록 설정된 경우, 장애물인식모듈(144)은, 두 인식 결과의 신뢰값들이 모두 기준치보다 낮으므로 특정 인식 결과를 선택하지 않고, unknown data로 판정할 수 있다.
도 13의 (c)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.95의 신뢰값, 홈씨어터는 0.9의 신뢰값을 가지는 인식 결과를 얻을 수 있다.
예를 들어, 0.9 이상의 신뢰값을 가지는 인식 결과를 최종 인식 결과로 선택하도록 설정된 경우에, 장애물인식모듈(144)은, 두 인식 결과의 신뢰값들이 모두 기준치보다 높으므로 특정 인식 결과를 선택하지 않고, 상위 개념인 위험 장애물로 판정할 수 있다.
또는, 신뢰값의 차이가 0.15 이상인 경우에 가장 높은 신뢰값의 인식 결과를 인정하도록 설정된 경우에도, 상위 개념인 위험 장애물로 판정할 수 있다.
한편, 위험 장애물로 판단한 경우에도, 주행제어모듈(141)은 위험 장애물을 회피하여 이동하도록 구동부(160)를 제어할 수 있다.
도 14는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다.
도 15는 도 14에 도시된 이동 로봇의 장애물 감지 센서의 전면도와 측면도이고, 도 16 내지 도 18은 도 14에 도시된 이동 로봇의 장애물 감지 센서의 동작에 관한 설명에 참조되는 도면이다.
도 14 내지 도 18을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은 하나 이상의 광 패턴(P1, P2)를 이용하여 장애물을 감지하는 장애물 감지 센서(171)를 포함할 수 있다.
상기 광 패턴(P1, P2)은 수평선(Ph) 패턴일 수 있다. 경우에 따라서는, 상기 광 패턴(P1, P2)의 일부는 수직선(Pv) 패턴을 더 포함할 수 있다.
광 패턴을 이용하는 장애물 감지 센서(171)는 제1 패턴 조사부(1520), 제2 패턴 조사부(1530) 및 패턴 인식부(1540)를 포함할 수 있고, 제1 패턴 조사부(1520), 제2 패턴 조사부(1530) 및 패턴 인식부(1540)는 베이스부(1510) 상에 배치될 수 있다.
도 15는 장애물 감지 센서(171)의 전면도와 측면도이다. 도 16은 장애물 감지 센서(171)의 조사 범위와 장애물 탐지 범위를 도시한 것이다.
도 15의 (a)는 장애물 감지 센서(171)의 전면도이고, 도 15의 (b)는 측면도이다.
도 15의 (a)와 (b)에 도시된 바와 같이, 장애물 감지 센서(171)의 제1, 2 패턴 조사부(1520, 1530)는 광원과, 광원으로부터 조사된 광이 투과됨으로써 소정의 패턴을 생성하는 패턴생성자(OPPE: Optical Pattern Projection Element)를 포함할 수 있다. 광원은 레이저 다이오드(Laser Diode, LD), 발광 다이오드(Light Emitteing Diode, LED) 등 일 수 있다. 레이저 광은 단색성, 직진성 및 접속 특성에 있어 다른 광원에 비해 월등해, 정밀한 거리 측정이 가능하며, 특히, 적외선 또는 가시광선은 대상체의 색상과 재질 등의 요인에 따라 거리 측정의 정밀도에 있어서 편차가 크게 발생되는 문제가 있기 때문에, 광원으로는 레이저 다이오드가 바람직하다. 패턴생성자는 렌즈, DOE(Diffractive optical element)를 포함할 수 있다. 각각의 패턴 조사부(1520, 1530)에 구비된 패턴 생성자의 구성에 따라 다양한 패턴의 광이 조사될 수 있다.
제1 패턴 조사부(1520)는 제1 패턴의 광(P1, 이하, 제1 패턴 광이라고 함.)을 본체(110)의 전방 하측을 향해 조사할 수 있다. 따라서, 제1 패턴 광(P1)은 청소구역의 바닥에 입사될 수 있다.
제1 패턴 광(P1)은 수평선(Ph)의 형태로 구성될 수 있다. 또한, 제1 패턴 광(P1)은 수평선(Ph)과 수직선(Pv)이 교차하는 십자 패턴의 형태로 구성되는 것 또한 가능하다.
제1 패턴 조사부(1520), 제2 패턴 조사부(1530) 및 패턴 인식부(1540)는 수직으로, 일렬 배치될 수 있다. 패턴 인식부(1540)는, 제1 패턴 조사부(1520)와 제2 패턴 조사부(1530)의 하부에 배치되나, 반드시 이에 한정되는 것은 아니며,제1 패턴 조사부(1520)와 제2 패턴 조사부(1530)의 상부에 배치될 수도 있다.
실시예에서, 제1 패턴 조사부(1520)는 상측에 위치하여 전방을 향해 하방으로 제1 패턴 광(P1)을 조사하여, 제1 패턴 조사부(1520) 보다 하측에 위치하는 장애물을 감지하고, 제2 패턴 조사부(1530)는 제1 패턴 조사부(1520)의 하측에 위치하여 전방을 향해 상방으로 제2 패턴의 광(P2, 이하, 제2 패턴 광이라고 함.)을 조사할 수 있다. 따라서, 제2 패턴 광(P2)은 벽면이나, 청소구역의 바닥으로부터 적어도 제2 패턴 조사부(1530) 보다 높이 위치하는 장애물 또는 장애물의 일정 부분에 입사될 수 있다.
제2 패턴 광(P2)은 제1 패턴 광(P1)과 다른 패턴으로 이루어질 수 있고, 바람직하게는 수평선을 포함하여 구성된다. 여기서, 수평선은 반드시 연속한 선분이어야 하는 것은 아니고, 점선으로 이루어질 수도 있다.
제1 패턴 조사부(1520)와 제2 패턴 조사부(1530)의 수평 조사각은, 바람직하게는, 130˚ 내지 140˚ 범위에서 정해질 수 있다.
패턴 인식부(1540)는 본체(도 1의 110) 전방의 영상을 획득할 수 있다. 특히, 패턴 인식부(1540)에 의해 획득된 영상에는 패턴 광(P1, P2)이 나타나며, 이하, 획득된 영상에 나타난 패턴 광(P1, P2)의 상을 광 패턴이라고 하고, 이는 실질적으로 실제 공간 상에 입사된 패턴 광(P1, P2)이 이미지 센서에 맺힌 상이기 때문에, 패턴 광들(P1, P2)과 같은 도면 부호를 부여하여, 제1 패턴 광(P1) 및 제2 패턴 광(P2)과 각각 대응하는 상들을 제1 광 패턴(P1) 및 제2 광 패턴(P2)이라고 하기로 한다.
패턴 인식부(1540)는 피사체의 상을 전기적 신호로 변환시킨 후 다시 디지털 신호로 바꿔 메모리소자에 기억시키는 디지털 카메라를 포함할 수 있으며, 디지털 카메라는 이미지센서(미도시)와 영상처리부(미도시)를 포함할 수 있다.
이미지센서는 광학 영상(image)을 전기적 신호로 변환하는 장치로, 다수개의 광 다이오드(photo diode)가 집적된 칩으로 구성되며, 광 다이오드로는 픽셀(pixel)을 예로 들 수 있다. 렌즈를 통과한 광에 의해 칩에 맺힌 영상에 의해 각각의 픽셀들에 전하가 축적되며, 픽셀에 축적된 전하들은 전기적 신호(예를 들어, 전압)로 변환된다. 이미지센서로는 CCD(Charge Coupled Device), CMOS(Complementary Metal Oxide Semiconductor) 등이 잘 알려져 있다.
영상처리부는 이미지센서로부터 출력된 아날로그 신호를 바탕으로 디지털 영상을 생성한다. 영상처리부는 아날로그 신호를 디지털 신호로 변환하는 AD컨버터와, AD컨버터로부터 출력된 디지털 신호에 따라 일시적으로 디지털 정보(digital data)를 기록하는 버퍼 메모리(buffer memory)와, 버퍼 메모리에 기록된 정보를 처리하여 디지털 영상을 구성하는 디지털 신호처리기(DSP:Digital Signal Processor)를 포함할 수 있다.
제어부(도 6의 140)는 획득된 영상을 구성하는 소정의 픽셀들에 대해 점, 선, 면 등의 특징을 검출(feature detection)하고, 이렇게 검출된 특징을 바탕으로 광 패턴(P1, P2) 또는 광 패턴(P1, P2)을 구성하는 점, 선, 면 등을 검출할 수 있다.
예를 들어, 획득된 영상 주변보다 밝은 픽셀들이 연속됨으로써 구성되는 선분들을 추출하여, 제1 광 패턴(P1)을 구성하는 수평선(Ph), 제2 광 패턴(P2)을 구성하는 수평선을 추출할 수 있다.
그러나 이에 한정되지 않고, 디지털 영상으로부터 원하는 형태의 패턴을 추출하는 다양한 기법들이 이미 알려져 있는바, 패턴검출부(210)는 이들 공지된 기술들을 이용하여 제1 광 패턴(P1)과 제2 광 패턴(P2)을 추출할 수 있다.
도 7에 도시된 바와 같이, 제1 패턴 조사부(1520)와 제2 패턴 조사부(1530)는 대칭으로 배치될 수 있다. 제1 패턴 조사부(1520)와 제2 패턴 조사부(1530)는 거리 h3 만큼 떨어져 상하로 배치되어 제1 패턴 조사부는 하부로 제1 패턴 광을 조사하고, 제2 패턴 조사부는 상부로 제2 패턴 광을 조사하여 상호 패턴 광이 교차된다.
패턴 인식부(1540)는 제2 패턴 조사부로부터 거리 h2 만큼 떨어진 하부에 위치하여, 상하방향에 대하여 화각 θs로 로 본체(110)의 전방의 영상을 촬영한다. 패턴 인식부(1540)는 바닥면으로부터 거리 h1의 위치에 설치된다. 패턴 인식부(1540)는 이동 로봇(1)의 본체(110)의 전면부 하단을 구성하는 범퍼(미도시), 또는 주행 또는 청소를 위한 구조물의 형태를 고려하여, 전방을 촬영하는데 방해되지 않는 위치에 설치되는 것이 바람직하다.
제1 패턴 조사부(1520) 또는 제2 패턴 조사부(1530)는 각각의 패턴 조사부(1520, 1350)를 구성하는 렌즈들의 주축(Optical axis)이 향하는 방향이 일정 조사각을 형성하도록 설치된다.
제1 패턴 조사부(1520)는 제1 조사각(θr1)으로 제1 패턴 광(P1)을 하부에 조사하고, 제2 패턴 조사부(1530)는 제2 조사각(θr2)으로 제2 패턴 광(P2)을 상부에 조사한다. 이때, 제1 조사각과 제2 조사각은 상이한 것을 기본으로 하나 경우에 따라 동일하게 설정될 수 있다. 제1 조사각과 제2 조사각은, 바람직하게는 50˚ 내지 75˚ 범위에서 정해지나 반드시 이에 한정되어야 하는 것을 아니다. 예를 들어 제1 조사각은 60 내지 70도 제2 조사각은 50 내지 55도로 설정될 수 있다. 이동 로봇의 하부 범퍼의 구조 또는 하부 물체감지 거리, 그리고 감지하고자 하는 상부의 높이에 따라 변경될 수 있다.
제1 패턴 조사부(1520) 및/또는 제2 패턴 조사부(1530)로부터 조사된 패턴 광이 장애물에 입사되었을 시, 장애물이 제1 패턴 조사부(1520)로부터 떨어진 위치에 따라, 획득된 영상에서 광 패턴(P1, P2)의 위치가 달라진다. 예를 들어, 제1 패턴 광(P1)과 제2 패턴 광(P2)이 소정의 장애물에 입사되었을 시, 장애물이 이동 로봇(100)으로부터 가깝게 위치한 것일수록, 획득된 영상에서 제1 광 패턴(P1)이 높은 위치에 표시되며, 반대로, 제2 광 패턴(P2)은 낮은 위치에 표시된다. 즉, 패턴 인식부(1540)에 의해 생성되는 영상을 구성하는 행(횡방향으로 배열된 픽셀들로 이루어진 선)에 대응하는 장애물까지의 거리 데이터를 미리 저장하였다가, 패턴 인식부(1540)를 통해 획득된 영상에서 검출된 광 패턴(P1, P2)이 소정의 행에서 검출되면, 그 행에 대응하는 장애물까지의 거리 데이터로부터 장애물의 위치가 추정될 수 있다.
패턴 인식부(1540)는 렌즈의 주축이 수평한 방향을 향하도록 정렬되고, 도 16에 표시된 θs는 패턴 인식부(1540)의 화각을 표시한 것으로, 100˚ 이상의 값으로 설정되고, 바람직하게는 100˚ 내지 110˚이나, 반드시 이에 한정되어야 하는 것을 아니다.
또한, 청소구역의 바닥으로부터 패턴 인식부(1540)까지의 거리는 대략 60mm 내지 70mm 사이에서 정해질 수 있고, 이 경우, 패턴 인식부(1540)가 획득한 영상에서 청소구역의 바닥은 패턴 인식부(1540)로부터 D1 이후부터 나타나며, D2는 획득된 영상에 나타난 바닥 중에서 제1 광 패턴(P1)이 표시되는 위치이다. 이때, D2에 장애물이 위치하는 경우, 패턴 인식부(1540)에 의해 장애물에 제1 패턴 광(P1)이 입사된 영상이 획득될 수 있다. 장애물이 D2보다 이동 로봇(100)에 근접한 경우 입사된 제1 패턴 광(P1)에 대응하여 제1 광 패턴은 기준위치(ref1)보다 상측에 표시된다.
여기서, 본체(110)로부터 D1까지의 거리는 바람직하게는 100mm 내지 150mm로 이고, D2까지의 거리는 바람직하게는 180mm 내지 280mm 이나, 반드시 이에 한정되는 것은 아니다. 한편, D3는 본체의 전면부 중 가장 돌출된 부분부터 제2 패턴 광이 입사되는 위치까지의 거리를 나타낸 것으로, 본체는 이동중에 장애물을 감지하므로, 장애물에 충돌하지 않고 전방(상부)의 장애물을 감지할 수 있는 최소한의 거리이다. D3는 대략 23mm 내지 30mm 로 설정될 수 있다.
한편, 제어부(140)는 본체(110)가 주행하는 중, 획득된 영상에 나타난 제1 광 패턴(P1)이 정상상태에서 사라지는 경우 또는 제1 광 패턴의 일부만 표시되는 경우, 이동 로봇(100)의 주변에 낭떠러지가 존재하는 것으로 판단한다.
제어부(140)는 획득된 영상에 제1 광 패턴이 표시되지 않는 경우, 이동 로봇(100)의 전방에 위치하는 낭떠러지를 인식할 수 있다. 이동 로봇(100)의 전방에 낭떠러지(예를 들어, 계단)가 존재하는 경우, 제1 패턴 광이 바닥에 입사되지 않으므로, 획득영상에서 제1 광 패턴(P1)이 사라지게 된다.
제어부(140)는 D2의 길이를 바탕으로, 본체(110)로부터 D2 만큼 떨어진 전방에 낭떠러지가 있는 것으로 판단할 수 있다. 이때, 제1 패턴 광(P1)이 십자 형상인 경우에는 수평선은 사라지고 수직선만 표시됨에 따라 낭떠러지를 판단할 수 있다.
또한, 제어부(140)는 제1 광 패턴의 일부가 표시되지 않는 경우, 이동 로봇(100)의 좌측 또는 우측에 낭떠러지가 존재하는 것으로 판단할 수 있다. 제1 광 패턴의 우측 일부가 표시되지 않는 경우, 낭떠러지가 우측에 존재하는 것으로 판단할 수 있다.
따라서, 제어부(140)는 파악된 낭떠러지 정보를 바탕으로, 이동 로봇(100)이 낭떠러지에 빠지지 않는 경로를 따라 주행될 수 있도록 주행부(도 6의 160)를 제어할 수 있다.
또한, 제어부(140)는 전방에 낭떠러지가 존재하는 경우, 일정거리, 예를 들어 D2 또는 그 이하로 전진하여, 본체의 하부에 설치된 낭떠러지센서를 이용하여, 낭떠러지인지 여부를 다시 한번 확인할 수 있다. 이동 로봇(100)은 획득된 영상을 통해 낭떠러지를 1차 확인하고, 일정거리 주행하여 낭떠러지 센서를 통해 2차 확인할 수 있다.
도 17은 제1 패턴 조사부에 의해 조사되는 패턴의 광을 도시한 도이다.
제어부(140)는 패턴 인식부(1540)로부터 획득된 영상으로부터 제1 광 패턴 또는 제2 광 패턴을 검출하고, 제1 광 패턴 또는 제2 광 패턴을 분석하여 제1 광 패턴의 위치를 정해진 기준위치(ref1)와 비교하여 장애물을 판단한다.
도 17의 (a)에 도시된 바와 같이, 제1 광 패턴(P1)의 수평선이 기준위치(ref1)에 위치하는 경우, 정상상태로 판단한다. 이때 정상상태란, 바닥이 높낮이가 없고 고른, 평편한 상태이고, 전방에 장애물이 존재하지 않아 계속 주행 가능한 상태이다.
제2 광 패턴(P2)은, 전방의 상부에 장애물이 존재하는 경우 장애물에 입사되어 획득된 영상에 나타나므로, 정상상태에서는 제2 광 패턴(P2)은 나타나지 않는 것이 일반적이다.
도 17의 (b)에 도시된 바와 같이, 제1 광 패턴(P1)의 수평선이 기준위치(ref1)보다 상부에 위치하는 경우, 제어부(140)는 전방에 장애물이 존재하는 것으로 판단한다.
제어부(140)는 도시된 바와 같이 장애물이 감지되면, 장애물을 회피하여 주행하도록 주행부(160)를 제어할 수 있다.
한편, 제어부(140)는 제1 광 패턴(P1) 및 제2 광 패턴의 위치와 제2 광 패턴의 표시 여부에 대응하여 감지된 장애물의 위치와 크기를 판단할 수 있다. 또한, 제어부(140)는 주행중에 획득된 영상에 표시되는 제1 광 패턴과 제2 광 패턴의 변화에 대응하여 장애물의 위치와 크기를 판단할 수 있다.
제어부(140)는 인식된 장애물에 대하여 계속 주행할 수 있는지 또는 회피하여 주행할지 여부를 판단하여 주행부(160)를 제어한다. 예를 들어 제어부(140)는 장애물의 높이가 일정 높이 이하로 낮은 경우, 또는 장애물과 바닥 사이에 공간에 진입 가능한 경우에는 주행이 가능하다고 판단한다.
도 17의 (c)에 도시된 바와 같이, 제1 광 패턴(P1)이 기준위치(ref1)보다 낮은 위치에 표시될 수 있다. 제어부(140)는 제1 광 패턴(P1)이 기준위치보다 낮은 위치에 나타나는 경우, 내리막 경사로가 존재하는 것으로 판단한다. 낭떠러지의 경우 제1 광 패턴(P1)이 사라지므로 낭떠러지와는 구분될 수 있다.
도 17의 (d)에 도시된 바와 같이, 제어부(140)는 제1 광 패턴이 표시되지 않는 경우 주행방향에 낭떠러지가 존재하는 것으로 판단한다.
또한, 도 17의 (e)와 같이, 제1 광 패턴의 일부가 표시되지 않는 경우, 제어부(140)는 좌측 또는 우측에 낭떠러지가 존재하는 것으로 판단할 수 있다.
한편, 제1 광 패턴(P1)이 십자형상인 경우에는 수평선의 위치와, 수직선의 길이를 모두 고려하여 장애물을 판단할 수 있다.
도 18은 본 발명의 일실시예에 따른 이동 로봇에 있어서 장애물에 조사되는 패턴의 형태를 도시한 예시도이다.
도 18에 도시된 바와 같이, 장애물 감지 센서(171)로부터 조사되는 패턴 광이 장애물에 조사되어, 촬영된 영상에 나타남에 따라 제어부(140)는 장애물의 위치, 크기, 형태를 판단할 수 있다.
도 18의 (a)에 도시된 바와 같이, 주행 중 전방에 벽면이 존재하는 경우, 제1 패턴 광은 바닥에 입사되고 제2 패턴 광은 벽면에 입사된다. 그에 따라 획득된 영상에는 제1 광 패턴(P1)과 제2 광 패턴(P2)이 두 개의 수평선으로 표시된다. 이때 벽면과의 거리가 D2보다 먼 경우 제1 광 패턴(P1)은 기준위치(ref1)에 표시되나 제2 광 패턴이 표시됨에 따라 제어부(140)는 장애물이 존재하는 것을 판단할 수 있다.
한편, 본체(110)와 벽면과의 거리가 D2 미만으로 근접하는 경우, 제1 패턴 광이 바닥이 아닌 벽면에 입사되므로, 획득영상에는 제1 광 패턴이 기준위치(ref1)보다 상측에 표시되고, 그 상측에 제2 광 패턴이 표시된다. 제2 광 패턴은 장애물에 근접할수록 그 위치가 하측에 표시되므로, 벽면과 본체(110)의 거리가 D2보다 먼 경우보다는 하측에 표시된다. 단, 제2 패턴 광은 기준위치 및 제1 광 패턴보다는 상측에 표시된다.
그에 따라 제어부(140)는 제1 광 패턴과 제2 광 패턴을 통해 장애물인 벽면까지의 거리를 산출할 수 있다.
도 18의 (b)에 도시된 바와 같이, 침대, 서랍장 등의 장애물이 전방에 존재하는 경우, 제1 패턴 광(P1)과 제2 패턴 광(P2)이 두개의 수평선으로 바닥과 장애물에 각각 입사된다.
제어부(140)는 제1 광 패턴과 제2 광 패턴을 바탕으로 장애물을 판단한다. 제2 광 패턴의 위치 및 장애물에 접근하는 중 나타나는 제2 광 패턴의 변화를 바탕으로 장애물의 높이를 판단할 수 있다. 그에 따라 제어부(140)는 장애물의 하부 공간에 진입 가능한지 여부를 판단하여 주행부(160)를 제어한다.
예를 들어 청소구역 내에 침대와 같이 바닥과의 사이에 소정의 공간이 형성되는 장애물이 위치하는 경우, 공간을 인지할 수 있으며, 바람직하게는 공간의 높이를 파악하여 장애물을 통과할 것인지, 회피할 것인지를 판단할 수 있다. 공간의 높이가 본체(110)의 높이보다 낮다고 판단된 경우, 제어부(140)는 본체(110)가 장애물을 회피하여 주행하도록 주행부(160)를 제어할 수 있다. 반대로, 공간의 높이가 본체(110)의 높이보다 높다고 판단된 경우, 제어부(140)는 본체(110)가 공간 내로 진입 또는 공간을 통과하도록 주행부(160)를 제어하는 것도 가능하다.
이때, 전술한 도 18의 (a)에도 제1 광 패턴과 제2 광 패턴이 두개의 수평선으로 표시되기는 하나, 제어부(140)는 제1 광 패턴과 제2 광 패턴 사이의 거리가 상이하므로 이를 구분할 수 있다. 또한, 도 18의 (a)의 경우, 장애물에 근접할수록 제1 광 패턴의 위치가 기준위치보다 위에 표시되나, 도 18의 (b)와 같이, 상부에 위치한 장애물의 경우에는 일정거리 근접하더라도 제1 광 패턴(P1)은 기준위치(ref1)에 표시되고, 제2 광 패턴(P2)의 위치가 변경되므로, 제어부(140)는 장애물의 종류를 구분할 수 있다.
도 18의 (c)와 같이, 침대 또는 서랍장 모서리의 경우, 제1 패턴 광(P1)은 바닥에 수평선으로 조사되고, 제2 패턴 광(P2)은 장애물의 모서리에 조사됨에 따라 그 일부는 수평선으로 나타나고 나머지 일부는 사선으로 장애물에 입사되어 나타난다. 제2 광 패턴은 본체(110)로부터 멀수록 상승하므로, 장애물의 측면의 경우, 전면에 조사되는 수평선보다 상측으로 꺾어지는 사선이 된다.
도 18의 (d)에 도시된 바와 같이, 본체(110)가 벽면 모서리에 일정거리 이상 근접한 경우, 제1 패턴 광(P1)은 일부가 기준위치보다 상측에 수평선으로 표시되고, 모서리의 측면에 일부가 조사되어 하부로 꺾어지는 사선으로 표시되며, 바닥면에 대해서는 기준위치에서 수평선으로 표시된다.
한편, 제2 패턴 광은 전술한 도 18의 (c)와 같이 일부는 수평선으로 표시되고, 모서리의 측면에 조사되는 일부는 상부로 꺾어지는 사선으로 입사되어 나타난다.
또한, 도 18의 (e)와 같이, 벽면으로부터 돌출된 장애물에 대하여, 제1 광 패턴은 기준위치(ref1)에 수평선으로 표시되고, 제2 광 패턴(P2)은 돌출면에 일부가 수평선으로 표시되고, 일부는 돌출면의 측면에 조사되어 상부로 꺾어지는 사선으로 표시되며, 나머지 일부는 벽면에 조사되어 수평선으로 나타난다.
그에 따라 제어부(140)는 제1 패턴 광과 제2 패턴 광의 위치 및 형태를 바탕으로 장애물의 위치, 형태, 크기(높이)를 판단한다.
도 19와 도 20은 본 발명의 일 실시예에 따른 이동 로봇의 장애물 감지 센서 유닛을 도시한 도면이고, 도 21은 도 19와 도 20에 도시된 센서 유닛의 장애물 또는 거리 감지 원리를 설명하는데 참조되는 도면이다.
도 19와 도 20을 참조하면, 장애물 감지 센서 유닛(172)은 광(L1)을 출사하여 장애물의 위치 또는 거리를 감지한다. 장애물 감지 센서 유닛(172)은 본체에 회전 및 승강 가능하게 구비된다. 장애물 감지 센서 유닛(172)은 발광부(2021), 수광부(2022), 그리고 베이스(2023)를 포함할 수 있다.
장애물 감지 센서 유닛(172)은, 장애물 감지 센서 유닛(172)을 상하 이동시키는 승강구동부(미도시), 장애물 감지 센서 유닛(172)의 센싱 각도를 조절하는 틸트구동부(미도시), 회전시키는 회전구동부(미도시)를 포함할 수 있다.
발광부(2021)는 광(L1)을 출사하는 것으로, 광원과, 광원으로부터 출사된 광이 평행하게 조사되도록 굴절시키는 콜리메이트 렌즈(collimate lens)를 포함할 수 있다. 광원으로는 적외선이나 가시광선을 발광시키는 발광체, 예를 들어, 적외선 또는 가시광선 발광 다이오드(LED)가 적용될 수도 있으나, 레이저 광을 출사하는 발광체가 바람직하다.
수광부(2022)는 장애물로부터 반사 또는 산란된 빛(L2)의 스팟이 맺히는 이미지 센서를 포함할 수 있다. 이미지 센서는 nXm의 매트릭스 형태로 배열된 복수개의 단위 픽셀들의 집합체이다. 각 단위 픽셀들은 CdS(CADMIUM SULFIDE CELL, 황화 카드뮴 셀), 광 다이오드(PHOTO DIODE), 광 트랜지스터(PHOTO TRANSISTOR), 태양전지(SOLAR CELL), 광전관(PHOTOELECTRIC TUBE) 등의 다양한 방식의 수광소자로 구현 수 있으며, 이러한 수광소자들은 광에 의한 광학신호를 전기신호로 변환시킨다. 또한, 수광부(2022)는 수광 렌즈를 포함할 수 있으며, 장애물로부터 반사 또는 산란된 광이 수광 렌즈를 통과하며 굴절되어 이미지 센서에 맺힌다. 수광 렌즈는 복수의 렌즈로 구성될 수 있다.
베이스(2023)는 발광부(2021)와 수광부(2022)를 지지하며, 본체로부터 회전 및 승강 가능하게 구비된다. 발광부(2021)와 이미지 센서는 베이스 상에서 일정한 간격을 유지하며 배치될 수 있다.
한편, 장애물 감지 센서 유닛(172)을 지지하기 위한 서포터(2025)가 더 구비될 수 있으며, 서포터(2025)에는 베이스(2023)가 회전 가능하게 지지될 수 있다. 서포터(2025)는 하부 본체(도 1의 110)에 나사나 볼트 등의 체결부재에 의해 고정될 수 있으며, 이 경우, 후술하는 승강 구동부는 베이스(2023)를 승강시킨다. 그러나, 이에 한정되지 않고, 실시예에 따라 서포터는 승강 구동부에 의해 하부 본체(110)에 대하여 상하로 승강 가능하게 구비될 수도 있다.
베이스 커버(2024)는 베이스(2023)에 결합되어, 베이스와 일체로 회전된다. 베이스 커버와 베이스 사이에는 발광부(2021)로부터 출사된 광(L1)이 통과되는 송광통로와, 수광부로 수신되는 광이 통과되는 수광통로가 형성될 수 있다.
승강 구동부는 장애물 감지 센서 유닛(172)을 승강시키는 것이다. 승강 구동부는 선형 또는 회전 모터를 포함할 수 있다. 장애물 감지 센서 유닛(172)이 승강 운동할 수 있도록, 승강 구동부와 장애물 감지 센서 유닛(172) 간의 동력 전달 또는 전환을 매개하는 동력 전달수단이 구비될 수 있으며, 이러한 동력전달 수단은 기어, 풀리(2042), 밸트(2043) 등을 이용하여 다양하게 실시될 수 있다. 예를 들어, 승강 구동부로 회전 모터가 사용되는 경우, 동력 전달수단으로는 상기 모터에 의해 회전되는 구동 피니언과, 베이스에 고정 배치되어 상기 구동 피니언과 치합되는 레크를 포함할 수 있다.
장애물 감지 센서 유닛(172)은 본체 상부에 형성된 승강 홀(미도시)을 통해 승강될 수 있다. 장애물 감지 센서 유닛(172)이 상하로 승강하는 경우, 장애물 감지 센서 유닛(172)이 하강 위치에 있을 시에는 장애물 감지 센서 유닛(172)의 발광부(2021)로부터 출사된 광(L1)은 장애물 감지 센서 유닛(172)에 설치되는 투명부재를 통해 본체의 전방을 향하고, 장애물로부터 반사 또는 산란된 광(L2)은 투명부재를 통과하여 수광부(2022)로 입사된다.
장애물 감지 센서 유닛(172)이 상승 위치에 있을 시에는, 장애물 감지 센서 유닛(172)이 승강 홀을 통해 본체의 상측으로 돌출된 상태이고, 발광부(2021)와 수광부(2022)도 본체의 상측에서 위치된다.
도 21은 물체까지의 거리를 측정하는 원리를 설명하기 위한 도면이다. 도 21을 참조하면, 장애물 감지 센서 유닛(172)을 통해 물체의 위치 감지가 이루어지는 기본 원리는 삼각 측량법을 이용한 것이다.
광원(2110)으로부터 출사된 광은 수광 렌즈(2130)의 주축(C)과 소정의 각도(θ)를 갖는다. 특히, 각도는 물체까지의 거리 측정의 정확성과 밀접한 관련을 갖는 것으로, 그 값이 너무 작으면 근거리에 있는 물체까지의 거리를 측정하는데 곤란함이 생길 수 있으며, 반대로 그 값이 너무 크면 원거리에 있는 물체까지의 거리를 측정하는데 곤란함이 생길 수 있다. 따라서, 각도는 적절한 값을 가져야 하며, 바람직하게는 0.1m부터 4m에 위치한 물체까지의 거리를 측정하는데 문제가 없어야 한다.
광원(2110)으로부터 이격되어 이미지 센서(2120)가 배치되어 있고, 이미지 센서(2120)와 상기 물체 또는 장애물(300) 사이에는 수광 렌즈(2130)가 배치되어 있다. 이때, 장애물과 수광 렌즈(2130) 사이의 거리를 물체 거리 'L'로 정의하며, 물체 거리 'L'은 하기의 수학식 1로 계산된다.
수학식 1
Figure PCTKR2017013274-appb-M000001
여기서, f는 초점거리, g는 광원과 렌즈 사이 간격, θ는 광원(2110)으로부터 출사된 광과 수광 렌즈(2130)의 주축(C)이 이루는 각도, p는 물체에서 반사 또는 산란된 광이 이미지 센서(2120)에 맺히는 스팟의 위치를 이미지 센서(2120)의 중심(o)을 기준으로 표시한 것이다.
한편, 출사된 광이 투명부재(2132)를 통과한 경우에만 이미지 센서(2120)에 스팟이 맺히기 때문에, 청소구역을 매핑하는데 이용되는 위치정보들은 투명부재(2132)의 프로파일(profile)에 대응하는 구간, 예를 들어, 0도에서 180도 사이의 구간에서 구해진 것들이 이용될 수 있다.
이하에서는 초음파 센서로 장애물을 감지하는 경우를 예시하여 설명하지만 본 발명은 이에 한정되지 않는다. 예를 들어, 도 14 내지 도 21을 참조하여 예시한 다른 방식의 장애물 감지 방식을 이용할 수 있음은 자명할 것이다.
도 22는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 2 내지 도 6, 및, 도 22를 참조하면, 먼저, 이동 로봇(100)은 명령 또는 설정에 따라서 이동하며 청소를 수행할 수 있다(S2210).
센서부(170)는 장애물감지센서(131, 171, 172)를 포함하며, 이동 중 장애물을 감지할 수 있다.
이동 중에 센서부(170)를 통하여 장애물이 감지되면(S2220), 영상획득부(120)는 본체(110) 전방의 영상을 획득할 수 있다(S2230).
또는, 영상획득부(120)가 획득하고 있는 영상 중에서 센서부(170)가 장애물을 감지하는 시점에 대응하는 영상 또는 센서부(170)가 장애물을 감지하는 시점이전의 영상을 선택하여 장애물 인식용 영상으로 사용할 수도 있다.
상기 센서부(170)가 장애물을 감지하면, 영상획득부(120)가 획득하는 영상에 기초하여 상기 감지된 장애물의 속성을 인식할 수 있다(S2240).
더욱 바람직하게는, 장애물인식모듈(144)은 상기 영상획득부(120)가 획득하는 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다(S2240).
장애물인식모듈(144)은 머신 러닝으로 장애물의 종류 등 속성을 인식하도록 학습된 인공신경망을 포함할 수 있고, 기학습된 데이터에 기초하여 장애물의 속성을 인식할 수 있다.
예를 들어, 장애물인식모듈(144)에는 딥러닝 구조 중 하나인 CNN(Convolutional Neural Network)이 탑재되고, 기학습된 CNN(Convolutional Neural Network)은 입력 데이터에 포함된 장애물의 속성을 인식하여 그 결과를 출력할 수 있다.
상기 머신 러닝으로 학습된 장애물인식모듈(144)은 그 특성상 학습한 대상이 입력 영상 데이터에서 많은 부분을 차지할수록 인식률이 높다.
따라서, 본 발명의 일 실시예에 따르면, 센서부(170)가 감지하는 장애물의 방향에 따라 영상획득부(120)가 획득한 영상 중 일부 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.
상기 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구성에 대해서는 도 27 내지 도 30 등을 참조하여 상세히 후술한다.
한편, 주행제어모듈(141)은, 상기 인식된 장애물의 속성에 기초하여, 주행부(160)의 구동을 제어할 수 있다(S2290).
예를 들어, 주행제어모듈(141)은 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에, 장애물을 우회하여 주행하도록 제어할 수 있다.
또한, 주행제어모듈(141)은 낮은 높이의 둔턱과 같이 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에, 계속해서 직진 주행하도록 제어할 수 있다.
또한, 주행제어모듈(141)은 선풍기의 받침대, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 위험 장애물이 인식되면, 장애물을 우회하여 주행하도록 제어할 수 있다.
한편, 제어부(140)는, 상기 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하도록 음향 출력부(181)를 제어할 수 있다(S2270).
여기서, 상기 이동 가능한 장애물은, 사람의 신체 중 일부이거나 반려동물일 수 있고, 상기 기설정된 음향은, 경고음 또는 상기 이동 가능한 장애물의 이동을 안내하는 메시지일 수 있다.
예를 들어, 제어부(140)는 사람의 발, 손 등 신체 중 적어도 일부가 인식되면, 비켜달라는 메시지를 출력하도록 음향 출력부(181)를 제어할 수 있다.
또한, 제어부(140)는 개, 고양이 등 반려동물이 인식되면, 반려동물이 소리에 반응하여 이동할 수 있도록 경고음을 출력하도록 음향 출력부(181)를 제어할 수 있다.
한편, 제어부(140)는 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 상기 본체의 이동을 정지하여 대기하도록 주행부(160)를 제어할 수 있다(S2260).
한편, 도 22에서는 대기(S2260) 이후에 음향을 출력(S2270)하는 순서를 예시하였으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 음향을 출력하고, 본체의 이동을 정지하거나, 이동을 정지하면서 음향을 출력할 수도 있다.
한편, 제어부(140)는 경고음 또는 상기 이동 가능한 장애물의 이동을 안내하는 메시지를 출력하고(S2270), 소정 대기 시간 동안 이동 가능한 장애물이 이동하는 것을 기다릴 수 있다(S2260).
한편, 센서부(170)는 상기 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동하는 지 여부를 감지할 수 있다(S2280). 제어부(140)는 이동 가능한 장애물의 경우에는 소정 대기 시간 동안에 이동 가능한 장애물의 이동 여부를 판별하고, 이에 따라 다르게 주행하도록 제어할 수 있다.
제어부(140)는 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되면(S2280), 상기 본체의 정지(S2260) 전 이동을 변경 사항 없이 재개하도록 제어할 수 있다.
즉, 이동 가능한 장애물이 소정 대기 시간 이내에 이동하면, 이동 로봇(100)의 이동에 제약 사항이 없어진 것으로 기존의 주행 패턴에 따른 이동을 재개할 수 있다.
만약, 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되지 않으면(S2280), 제어부(140)는 상기 이동 가능한 장애물에 대한 회피주행을 수행하도록 제어할 수 있다(S2290).
즉, 이동 가능한 장애물이 소정 대기 시간 이내에 이동하지 않으면, 이동 로봇(100)은 장애물에 대한 회피주행을 수행할 수 있다.
한편, 제어부(140)는, 상기 본체(110)가 소정 거리 범위 내에서 후진과 직진을 반복하도록 제어할 수 있다.
바람직하게는 제어부(140)는 이동 가능한 장애물의 이동할 때까지 대기하는 대기 시간 동안에 상기 본체(110)가 움찔거리는 것처럼 소정 거리 범위 내에서 후진과 직진을 반복하도록 제어할 수 있다. 이에 따라, 사용자는 안내 메시지 외에도 이동 로봇(100)의 움찔거리는 동작으로 자신의 이동을 이동 로봇(100)이 기다리고 있음을 직관적으로 알 수 있다.
통상적으로 가족 구성원 중 어느 하나가 청소할 때, 댁내 구성원이 청소구역을 발로 막고 있으면, 발을 치우라고 말하는 것이 다수의 반응이다.
본 발명을 이러한 사용자들의 통상적인 행동을 반영하여 이동 로봇(100)도 사람의 발, 손 등 이동가능한 장애물을 감지하면 "청소 중이니 발을 비켜주세요." 등의 음성을 출력할 수 있다.
이에 따라, 사용자가 이동 로봇(100)이 사용자의 발을 인식한다는 것을 직접적으로 인지할 수 있고, 이동 로봇(100)의 신뢰성이 높아질 수 있다.
또한, 가족 구성원이 청소시 이동 가능한데도 불필요하게 회피주행함으로써 발생할 수 있는 미 청소 영역을 감소시킴으로써 청소 효율을 향상시킬 수 있다.
도 23은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도로, 센서부(170)가 초음파 센서를 이용하여 사람의 발을 인식하는 구체적인 경우를 예시한 것이다.
도 23을 참조하면, 먼저, 이동 로봇(100)은 명령 또는 설정에 따라서 기설정된 패턴으로 이동할 수 있다(S2310). 예를 들어, 이동 로봇(100)은 지그재그 패턴으로 주행하며 청소를 수행할 수 있다(S2310).
센서부(170)가 초음파 센서를 포함하는 경우에, 반사되는 초음파 신호를 감지함으로써 장애물의 존재를 감지하고, 제어부(140)는 영상획득부(120)가 획득하는 영상에 기초하여 장애물의 속성을 인식할 수 있다(S2320).
한편, 영상획득부(120)는 지속적으로 이동 로봇(100) 전방 및 주변을 촬영하거나, 상기 센서부(170)의 장애물 감지에 따라 전방 및 주변을 촬영하여 영상을 획득할 수 있다.
한편, 제어부(140)는 인식된 장애물의 속성에 따라 이동 로봇(100)이 주행하도록 제어할 수 있다.
예를 들어, 제어부(140)는 인식된 장애물이 일반 장애물(비위험 장애물)이면(S2331), 일반 장애물 회피주행하도록 제어할 수 있다(S2341).
또한, 제어부(140)는 인식된 장애물이 위험 장애물이면(S2332), 위험 장애물 회피주행하도록 제어할 수 있다(S2342).
여기서, 일반 장애물 회피주행과 위험 장애물 회피주행은, 회피 주행시 확복하는 장애물과의 거리, 이동 로봇의 회전 각도, 회피 주행 패턴 중 적어도 하나가 상이할 수 있다.
또한, 제어부(140)는, 인식된 장애물이 사람의 발이면(S2334), 음향 출력부(181)를 통하여 음향이 출력되도록 제어할 수 있다(S2350).
예를 들어, 음향 출력부(181)는,“청소 중이니 비켜주세요.”등 음성 알림(Notice)을 사용자에게 제공할 수 있다. 즉, 사람 발 인식 시 사용자에게 인지했다는 것을 확인시켜줄 수 있고, 사용자가 청소 영역에서 회피할 수 있도록 정보를 줄 수 있다.
또한, 제어부(140)는, 이동 로봇(100)의 이동을 정지하고(S2360), 소정 대기 시간 내에 사람이 이동하는지 판별할 수 있다(S2370, S2380).
한편, 제어부(140)는 소정 대기 시간 도과 여부를 판별하기 위하여 타이머를 구동(Timer on)할 수 있다. 타이머는 제어부(140) 내에 구비되거나 제어부(140) 외부에 별도로 구비될 수 있다.
예를 들어, 초음파 센서에서 감지되는 장애물이 이동하면 반사되는 초음파 신호가 클리어(clear)되므로, 초음파 신호의 클리어(clear) 여부로 이동 가능한 장애물의 이동 여부를 판별할 수 있다.
초음파 신호의 클리어(clear) 되면(S2370), 전방에 사람이 비켰다고 판단할 수 있으므로 지그재그 패턴의 기존 이동을 재개할 수 있다(S2310).
소정 대기 시간 동안, 장애물의 이동이 판별되지 않아, 대기 시간이 타임 아웃(time out)되면(S2380), 제어부(140)는 기설정된 회피 동작을 수행하도록 제어할 수 있다.
예를 들어, 대기 시간이 타임 아웃되면(S2380), 제어부(140)는 위험 장애물 회피주행하도록 제어할 수 있다(S2342).
도 24 내지 도 32는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
도 24를 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은, 주행 시 사람(발) 등 이동 가능한 장애물이 인식되면, "청소중이니 비켜주세요." 등 알람을 주고, 정지 후 일정 시간 이내 비키면 청소를 계속하고, 비키지 않으면 장애물 회피로 동작할 수 있다.
이에 따라, 이동 로봇(100)과 사용자 간의 충돌을 방지할 수 있고, 청소 효율을 높일 수 있다.
또한, 집에서 가족 구성원이 바닥에 앉아서 팔을 지지하고 기대어 있는 경우도 매우 많다.
따라서, 도 25와 같이, 이동 로봇(100)은, 주행 시 사람의 손 또는 팔이 인식되면, "팔을 치워주세요." 등 알람을 사용자에게 제공할 수 있다.
또한, 사람의 '발', '손', '팔' 등 인식된 신체의 특정 부위를 정확하게 사용자에게 알리면, 사용자의 신뢰성을 높일 수 있다.
도 26은, 대기 시간 동안에 이동 로봇(100)이 소정 거리 범위 내에서 후진과 직진을 반복하는 예를 도시한 것이다.
도 26을 참조하면, 이동 가능한 장애물의 이동을 기다리는 동안에 이동 로봇(100)은, 제1 거리(D11)만큼 전진했다가 제2 거리(D12)만큼 후진, 다시 제1 거리(D11)만큼 전진했다가 제2 거리(D12)만큼 후진함으로써, 이동 로봇(100)이 사용자의 이동을 기다리고 있음을 알릴 수 있다.
한편, 상기 제1 거리(D11)는 이동 로봇(100)이 장애물에 너무 접근하지 않도록 충분히 작은 값으로 설정되는 것이 바람직하고, 상기 제2 거리(D12)는 상기 제1 거리(D11)에 대응하여 설정될 수 있다.
바람직하게는, 이동 로봇(100)은, 제2 거리(D12)만큼 후진하고, 다시 제2 거리(D12)만큼만 전진하여, 최초 정지 위치 앞으로 전진하지 않음으로써, 장애물에 접근하지 않을 수 있다. 즉, 이동 로봇(100)은 제2 거리(D12)만큼의 후진, 전진, 후진, 전진을 반복하는 것이 더욱 바람직하다.
도 27 내지 도 30은 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구체적인 예들을 도시한 것이다.
도 27을 참조하면, 이동 로봇(100)은 센서부(170)를 통하여 이동 중에 사람의 발 등 장애물(2700)을 감지할 수 있다. 도 27은 장애물(2700)이 이동 로봇(100)의 이동 방향 중앙에서 감지되는 경우를 예시한다.
이동 로봇(100)이 이동 중에 장애물(2700)의 존재를 감지하면, 도 28의 (a)와 같이, 영상획득부(120)는 이동 로봇(100)의 전방을 촬영하여 장애물(2700)의 적어도 일부가 포함되는 영상(2800)을 획득할 수 있다.
제어부(140)는 상기 센서부(170)가 감지하는 장애물(2700)의 방향에 대응하여 영상획득부(120)가 획득한 영상(2800) 중 일부 영역(2810)을 추출하도록 제어할 수 있다.
도 27과 도 28을 참조하면, 제어부(140)는 상기 장애물(2700)이 본체(110) 전면 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 중앙(center) 하단 영역(2810)을 추출하도록 제어할 수 있다.
한편, 제어부(140)는, 도 28의 (b)와 같이 추출된 영상(2820)을 장애물의 속성을 인식하기 위한 입력 데이터로 사용할 수 있다.
장애물인식모듈(144)은 머신러닝으로 기학습된 데이터에 기초하여 상기 장애물(2700)이 사람의 발이라는 것을 인식할 수 있다. 예를 들어, 장애물인식모듈(144)에는 딥러닝 구조 중 하나인 CNN(Convolutional Neural Network)이 탑재되고, 기학습된 CNN(Convolutional Neural Network)은 입력 데이터에 포함된 장애물의 속성을 인식하여 그 결과를 출력할 수 있다.
한편, 주행제어모듈(141)은 상기 감지된 장애물이 진행해도 되는 장애물이 아닌 경우에, 회전 후 진행 등 회피 동작을 수행하도록 주행부(160)를 제어할 수 있다.
한편, 상기 추출된 영상(2820)은 저장부(150)에 저장될 수 있다. 또한, 영상획득부(120)가 획득한 원본 영상(2800)도 상기 저장부(150)에 저장될 수 있다.
상기 저장부(150)에 저장된 추출된 영상(2820)은 트레이닝 데이터로 활용될 수 있다.
한편, 제어부(140)는 장애물이 본체(110) 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 우측 하단 영역을 추출하고, 장애물이 상기 본체(110) 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 좌 측하단 영역을 추출하도록 제어할 수 있다.,
도 29는 장애물(2700)이 이동 로봇(100)의 이동 방향 우측에서 감지되는 경우를 예시한다.
도 30의 (a)를 참조하면, 장애물(2700)이 본체(110) 전면의 우측 방향에서 감지되는 경우에, 제어부(140)는 상기 영상획득부(120)가 획득하는 영상(3000)의 우측하단 영역(3010)을 추출하도록 제어할 수 있다.
제어부(140)는, 도 30의 (b)와 같이 추출된 영상(3020)을 장애물의 속성을 인식하기 위한 입력 데이터로 사용할 수 있다.
본 발명은 단순히 전체 영상의 중심 영역을 기준으로 미리 설정된 크기로 크로핑(cropping)하는 것이 아니라, 장애물이 감지되는 방향에 기초하여, 영상 중 중앙, 좌측, 우측 영역을 추출할 수 있다.
이에 따라, 인식을 위한 입력 데이터에 장애물이 최대한 많이 포함될 수 있다. 머신은 영상 내 비중이 가장 많은 것을 인식하므로, 장애물의 속성 인식률을 향상시킬 수 있다.
한편, 이동 로봇(100)은 소정 공간의 바닥에서 주행하므로 획득영상의 하단부를 추출하여 인식을 위한 입력 데이터에 장애물이 더 많이 포함되도록 할 수 있다.
본 발명의 일 실시예에 따른 센서부(170)는, 이동 로봇(100)의 본체 전면에 배치되는 제1 센서, 상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서를 포함할 수 있다.
이 경우에, 상기 제1 센서는 발신부로 동작하고, 제2 센서 및 제3 센서는 수신부로 동작할 수 있다. 예를 들어, 상기 제1 센서는 초음파 신호를 방사하고, 제2 센서 및 제3 센서는 장애물에 반사된 신호를 수신할 수 있다. 장애물에 반사된 신호를 수신하면, 공지된 초음파를 이용한 인식 방법들을 이용하여 장애물이 있는 방향, 장애물과의 거리를 판단할 수 있다.
예를 들어, 감지되는 장애물과 상기 제2 센서 사이의 거리와 상기 감지되는 장애물과 상기 제3 센서 사이의 거리가 동일하면, 장애물이 이동 로봇(100)의 전면 방향 중앙에서 감지된 것으로 판단할 수 있다.
이 경우에, 영상획득부(120)가 획득한 원본 영상 전체의 중앙(center) 하단에서 소정 영역을 추출할 수 있다.
한편, 감지되는 장애물과 상기 제2 센서 사이의 거리가 상기 감지되는 장애물과 상기 제3 센서 사이의 거리보다 크면, 장애물이 이동 로봇(100)의 전면 우측 방향에서 감지된 것으로 판단할 수 있다.
이 경우에, 영상획득부(120)가 획득한 원본 영상 전체의 우측 하단에서 소정 영역을 추출할 수 있다.
제어부(140)는, 상기 영상획득부(120)가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물과 상기 제2 센서 사이의 거리와 상기 감지되는 장애물과 상기 제3 센서 사이의 거리 차이에 비례하도록 이동(shift)시켜 추출하도록 제어할 수 있다.
한편, 본 발명의 일 실시예에 따른 이동 로봇은, 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행함으로써, 인공신경망(ANN), 심층신경망(DNN) 구조를 지속적으로 업데이트할 수 있다.
또는, 상기 추출된 영상을 소정 서버로 전송하고, 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다. 이후, 이동 로봇은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 상기 장애물인식모듈을 업데이트(update)할 수 있다.
도 31과 도 32는 영상획득부(120)가 획득한 영상 중 특정 시점 영상을 선택하여, 장애물 인식용 데이터로 사용하는 구체적인 예를 도시한 것이다.
도 31은 장애물(3100)이 이동 로봇(100)의 전면 방향에서 감지되는 경우를 예시한다.
도 31을 참조하면, 이동 로봇(100)이 주행하면서, 영상획득부(120)가 계속해서 촬영하여 복수의 영상을 획득할 수 있다. 이동 로봇(100)은 제1 위치(3110)에서 제1 영상(3111)을 획득하고, 제2 위치(3120)에서 제2 영상(3121)을 획득하고, 제3 위치(3130)에서 제3 영상(3131)을 획득할 수 있다.
도 32를 참조하면, 저장부(150)에는 소정 개수의 영상이 저장될 수 있다. 또한, 설정된 개수 이상의 영상이 획득되면, 가장 앞선 시점의 영상을 삭제하고, 새로 획득된 영상을 저장할 수 있다.
이동 로봇(100)은, 초음파 신호 감지에 의한 트리거(Trigger) 신호에 따라 영상 인식을 시작할 수 있다.
하지만, 트리거(Trigger) 신호로 사용하는 초음파 센서의 경우 레인지(Range)가 짧기 때문에, 장애물(3100)이 감지되어 트리거(Trigger)될 때 획득된 영상(3131)을 보면 인식 대상의 특징이 사라질 수 있다.
따라서, 본 발명은 저장부(150)에 연속되는 영상들을 저장하고, 진행 방향이 직진 주행인지 판단 후 트리거(Trigger) 시 제3 영상(3131)을 사용하지 않고 제1 영상(3111)을 사용하여 장애물 인식을 수행할 수 있다.
이동 로봇(100)은 일정한 속도로 주행하는 경우가 많기 때문에 직진 주행 여부만을 판단하여 소정 시점의 영상, 예를 들어, 센서부(170)의 장애물 감지 시점보다 2 프레임 앞선 과거 시점의 영상을 선택하여 장애물 인식을 수행할 수 있다.
또한, 제어부(140)는 센서부(170)의 감지 범위, 성능, 장애물 인식 과정의 처리 속도 등도 고려하여, 센서부(170)의 장애물 감지 시점보다 얼마나 앞선 과거 시점의 영상을 선택할 지 결정할 수 있다.
한편, 실시예에 따라서는, 선택된 시점의 영상 전체를 장애물 인식 입력 데이터로 사용하지 않고, 선택된 시점의 영상 중 일부 영역을 추출하여 인식함으로써 인식률을 높일 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇이, 장애물의 속성을 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 장애물 속성 인식의 정확성을 높일 수 있는 영상 데이터를 획득할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.
본 발명에 따른 이동 로봇은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 실시예에 따른 이동 로봇의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (20)

  1. 본체를 이동시키는 주행부;
    상기 본체 주변의 영상을 획득하는 영상획득부;
    상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부;
    상기 센서부가 장애물을 감지하면, 상기 영상획득부가 획득하는 영상에 기초하여 상기 감지된 장애물의 속성을 인식하고, 상기 인식된 장애물의 속성에 기초하여, 상기 주행부의 구동을 제어하는 제어부; 및,
    상기 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하는 음향 출력부;를 포함하는 이동 로봇.
  2. 제1항에 있어서,
    상기 이동 가능한 장애물은, 사람의 신체 중 일부이거나 반려동물인 것을 특징으로 이동 로봇.
  3. 제1항에 있어서,
    상기 제어부는,
    상기 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 상기 본체의 이동을 정지하도록 제어하는 것을 특징으로 하는 이동 로봇.
  4. 제3항에 있어서,
    상기 제어부는,
    소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되면, 기존의 이동을 재개하도록 제어하는 것을 특징으로 이동 로봇.
  5. 제3항에 있어서,
    상기 제어부는,
    소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되지 않으면, 상기 이동 가능한 장애물에 대한 회피주행을 수행하도록 제어하는 것을 특징으로 이동 로봇.
  6. 제3항에 있어서,
    상기 제어부는,
    상기 본체가 소정 거리 범위 내에서 후진과 직진을 반복하도록 제어하는 것을 특징으로 이동 로봇.
  7. 제1항에 있어서,
    상기 제어부는,
    상기 인식된 장애물의 속성에 기초하여 다른 패턴으로 회피주행을 수행하도록 제어하는 것을 특징으로 이동 로봇.
  8. 제1항에 있어서,
    상기 기설정된 음향은, 경고음 또는 상기 이동 가능한 장애물의 이동을 안내하는 메시지인 것을 특징으로 이동 로봇.
  9. 제1항에 있어서,
    상기 제어부는,
    상기 영상획득부가 획득하는 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식하는 장애물인식모듈과
    상기 인식된 장애물의 속성에 기초하여, 상기 주행부의 구동을 제어하는 주행제어모듈을 포함하는 이동 로봇.
  10. 제9항에 있어서,
    소정 서버로부터 머신 러닝과 관련된 데이터를 수신하는 통신부;를 더 포함하고, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 상기 장애물인식모듈을 업데이트(update)하는 것을 특징으로 하는 이동 로봇.
  11. 제1항에 있어서,
    상기 제어부는,
    상기 센서부가 감지하는 장애물의 방향에 대응하여 상기 영상획득부가 획득하는 영상의 일부 영역을 추출하도록 제어하는 것을 특징으로 이동 로봇.
  12. 제11항에 있어서,
    상기 제어부는,
    상기 장애물이 상기 본체 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 우측 하단 영역을 추출하고,
    상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 좌측 하단 영역을 추출하며,
    상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 중앙(center) 하단 영역을 추출하도록 제어하는 것을 특징으로 하는 이동 로봇.
  13. 제1항에 있어서,
    상기 영상획득부가 획득하는 연속된 복수의 영상을 저장하는 저장부;를 더 포함하고,
    상기 제어부는,
    상기 센서부가 장애물을 감지하면, 상기 본체의 이동 방향과 이동 속도에 기초하여, 상기 연속된 복수의 영상 중 상기 센서부의 장애물 감지 시점 이전의 특정 시점 영상을 선택하고, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 장애물의 속성을 인식하는 것을 특징으로 이동 로봇.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 이동 속도가 느릴수록 상기 센서부의 장애물 감지 시점을 기준으로 더 과거 시점의 영상을 선택하는 것을 특징으로 하는 이동 로봇.
  15. 센서부를 통하여, 이동 중 장애물을 감지하는 단계;
    상기 센서부가 장애물을 감지하면, 영상획득부가 획득하는 영상에 기초하여 상기 감지된 장애물의 속성을 인식하는 단계;
    상기 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 기설정된 음향을 출력하는 단계; 및,
    상기 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 단계;를 포함하는 이동 로봇의 제어방법.
  16. 제15항에 있어서,
    상기 이동 가능한 장애물은, 사람의 신체 중 일부이거나 반려동물인 것을 특징으로 이동 로봇의 제어방법.
  17. 제15항에 있어서,
    상기 장애물의 속성을 인식하는 단계는, 상기 영상획득부가 획득하는 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식하는 것을 특징으로 이동 로봇의 제어방법.
  18. 제15항에 있어서,
    상기 인식된 장애물의 속성이 이동 가능한 장애물인 경우, 상기 본체의 이동을 정지하는 단계;를 더 포함하는 이동 로봇의 제어방법.
  19. 제18항에 있어서,
    상기 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동하는 지 여부를 감지하는 단계;를 더 포함하고,
    상기 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되면, 상기 본체의 정지 전 이동을 재개하도록 제어하는 것을 특징으로 하는 이동 로봇의 제어방법.
  20. 제18항에 있어서,
    상기 소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동하는 지 여부를 감지하는 단계;를 더 포함하고,
    소정 대기 시간 이내에 상기 이동 가능한 장애물의 이동이 감지되지 않으면, 상기 인식된 장애물의 속성에 기초하여 상기 주행부의 구동을 제어하는 단계는, 상기 이동 가능한 장애물에 대한 회피주행을 수행하도록 제어하는 것을 특징으로 이동 로봇.
PCT/KR2017/013274 2016-11-24 2017-11-21 이동 로봇 및 그 제어방법 WO2018097574A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US16/463,785 US11330948B2 (en) 2016-11-24 2017-11-21 Moving robot and control method thereof
AU2017363769A AU2017363769B2 (en) 2016-11-24 2017-11-21 Mobile robot and control method thereof
EP21191617.6A EP3950234B1 (en) 2016-11-24 2017-11-21 Mobile robot and control method thereof
EP17874188.0A EP3546139B1 (en) 2016-11-24 2017-11-21 Mobile robot and control method thereof
US17/743,935 US11737635B2 (en) 2016-11-24 2022-05-13 Moving robot and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0157552 2016-11-24
KR1020160157552A KR102662949B1 (ko) 2016-11-24 인공지능 이동 로봇 및 그 제어방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/463,785 A-371-Of-International US11330948B2 (en) 2016-11-24 2017-11-21 Moving robot and control method thereof
US17/743,935 Continuation US11737635B2 (en) 2016-11-24 2022-05-13 Moving robot and control method thereof

Publications (1)

Publication Number Publication Date
WO2018097574A1 true WO2018097574A1 (ko) 2018-05-31

Family

ID=62196012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013274 WO2018097574A1 (ko) 2016-11-24 2017-11-21 이동 로봇 및 그 제어방법

Country Status (5)

Country Link
US (2) US11330948B2 (ko)
EP (2) EP3950234B1 (ko)
AU (1) AU2017363769B2 (ko)
TW (1) TWI660703B (ko)
WO (1) WO2018097574A1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108972630A (zh) * 2018-08-22 2018-12-11 安徽爱依特科技有限公司 机器人防撞装置
CN110065081A (zh) * 2019-05-24 2019-07-30 北京深醒科技有限公司 一种支持sip的家庭安全巡防机器人
KR20200027087A (ko) * 2018-08-30 2020-03-12 삼성전자주식회사 로봇 및 그의 제어 방법
US20200143927A1 (en) * 2018-11-02 2020-05-07 Stryker Corporation Techniques For Transporting Autonomous Patient Support Apparatuses and Medical Equipment To An Incident Scene
CN111398968A (zh) * 2018-12-28 2020-07-10 浙江舜宇智能光学技术有限公司 Tof精度检测系统及其精度检测方法
CN112130555A (zh) * 2020-06-09 2020-12-25 广东科学技术职业学院 基于激光导航雷达及计算机视觉感知融合的自行走机器人及系统
CN112805128A (zh) * 2018-08-01 2021-05-14 Lg电子株式会社 人工智能移动机器人
EP3774202A4 (en) * 2018-09-20 2021-05-19 Samsung Electronics Co., Ltd. CLEANING ROBOT AND PROCESS FOR PERFORMING AN ASSOCIATED TASK
EP3863813A4 (en) * 2018-12-26 2021-12-15 Samsung Electronics Co., Ltd. CLEANING ROBOTS AND METHODS FOR PERFORMING TASKS WITH THEM
CN117502974A (zh) * 2024-01-08 2024-02-06 九阳股份有限公司 一种表面清洁装置的助力控制方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220203524A1 (en) * 2013-11-01 2022-06-30 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US10882186B1 (en) 2017-05-11 2021-01-05 AI Incorporated Method for efficient operation of mobile robotic devices
JP7194914B2 (ja) * 2018-03-29 2022-12-23 パナソニックIpマネジメント株式会社 自律移動掃除機、自律移動掃除機による掃除方法、及び自律移動掃除機用プログラム
EP3660617A4 (en) * 2018-08-14 2021-04-14 Chiba Institute of Technology MOBILE ROBOT
TWI679378B (zh) * 2018-08-22 2019-12-11 崑山科技大學 空氣品質微型監測系統及空氣品質淨化方法
TWI671610B (zh) * 2018-09-28 2019-09-11 財團法人工業技術研究院 自動引導車、自動引導車控制系統、以及自動引導車之控制方法
TWI718455B (zh) * 2018-12-20 2021-02-11 燕成祥 機器人偵測困住裝置
US11353884B2 (en) * 2019-01-28 2022-06-07 Pixart Imaging Inc. Robot without detection dead zone
CN109784420B (zh) * 2019-01-29 2021-12-28 深圳市商汤科技有限公司 一种图像处理方法及装置、计算机设备和存储介质
CN111679661A (zh) * 2019-02-25 2020-09-18 北京奇虎科技有限公司 基于深度相机的语义地图构建方法及扫地机器人
TWI687785B (zh) * 2019-02-25 2020-03-11 華碩電腦股份有限公司 自動回充方法
CN111609852A (zh) * 2019-02-25 2020-09-01 北京奇虎科技有限公司 语义地图构建方法、扫地机器人及电子设备
KR20200115696A (ko) * 2019-03-07 2020-10-08 삼성전자주식회사 전자 장치 및 그 제어 방법
TWI743519B (zh) * 2019-07-18 2021-10-21 萬潤科技股份有限公司 自走式裝置及其建立地圖方法
KR102281346B1 (ko) 2019-07-25 2021-07-23 엘지전자 주식회사 로봇 청소기 및 그 제어방법
KR102224638B1 (ko) * 2019-07-31 2021-03-05 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR20190106874A (ko) 2019-08-27 2019-09-18 엘지전자 주식회사 인공 지능을 통해 구속 상황을 인식하는 로봇 청소기 및 그의 동작 방법
KR20210028426A (ko) * 2019-09-04 2021-03-12 엘지전자 주식회사 로봇 청소기 및 그 제어방법
US11774593B2 (en) 2019-12-27 2023-10-03 Automotive Research & Testing Center Method of simultaneous localization and mapping
US11878712B2 (en) 2020-02-26 2024-01-23 Baidu Usa Llc Trajectory planning with obstacle avoidance for autonomous driving vehicles
KR102361982B1 (ko) * 2020-03-04 2022-02-11 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
JP7373746B2 (ja) * 2020-03-13 2023-11-06 パナソニックIpマネジメント株式会社 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム
KR20210130478A (ko) * 2020-04-22 2021-11-01 삼성전자주식회사 로봇 청소기 및 그 제어 방법
KR20220003250A (ko) * 2020-07-01 2022-01-10 엘지전자 주식회사 로봇 청소기와 이를 구비하는 로봇 청소기 시스템
TWI780468B (zh) 2020-08-13 2022-10-11 國立陽明交通大學 機器人對人員跟隨之控制方法與系統
CN112087899B (zh) * 2020-09-17 2021-09-10 广州高腾科技有限公司 一种干线放大器用保护装置
US11854328B2 (en) 2020-10-14 2023-12-26 1Ahead Technologies Access management system
US20230005312A1 (en) * 2020-10-14 2023-01-05 1Ahead Technologies Access management system
US11756357B2 (en) 2020-10-14 2023-09-12 1Ahead Technologies Access management system
ES2906821A1 (es) * 2020-10-15 2022-04-20 Cecotec Res And Development Sl Sistema de deteccion de espacios desordenados para robot de limpieza y/o desinfeccion y metodo asociado
CN112506189A (zh) * 2020-11-19 2021-03-16 深圳优地科技有限公司 一种控制机器人移动的方法
CN114571472B (zh) * 2020-12-01 2024-01-23 北京小米机器人技术有限公司 用于足式机器人的地面属性检测方法及驱动方法及其装置
CN112506204B (zh) * 2020-12-17 2022-12-30 深圳市普渡科技有限公司 机器人遇障处理方法、装置、设备和计算机可读存储介质
WO2022142394A1 (zh) * 2020-12-28 2022-07-07 追觅创新科技(苏州)有限公司 一种清洗盘及清洁坞
CN112847443B (zh) * 2020-12-31 2022-03-22 安徽飞凯电子技术有限公司 一种机器人用自主视觉辨别系统
CN113558523A (zh) * 2021-06-22 2021-10-29 惠州越登智能科技有限公司 激光雷达障碍检测装置、设备及检测方法
CN113413091B (zh) * 2021-06-30 2023-04-18 科沃斯商用机器人有限公司 清洁机器人及其避障方法
TWI772177B (zh) * 2021-09-10 2022-07-21 迪伸電子股份有限公司 自走裝置的移動控制方法及自走裝置
TWI821774B (zh) * 2021-11-01 2023-11-11 萬潤科技股份有限公司 地圖定位方法及自走式裝置
CN114296447B (zh) * 2021-12-07 2023-06-30 北京石头世纪科技股份有限公司 自行走设备的控制方法、装置、自行走设备和存储介质
US20230320551A1 (en) * 2022-04-11 2023-10-12 Vorwerk & Co. Interholding Gmb Obstacle avoidance using fused depth and intensity from nnt training
WO2023205252A1 (en) * 2022-04-19 2023-10-26 Eyevac, Llc Automated vacuum and charger system and method
CN114904825A (zh) * 2022-05-12 2022-08-16 湖北汽车工业学院 一种共享多功能洗眼镜机

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185412A (ja) * 1995-12-28 1997-07-15 Yaskawa Electric Corp 自律移動装置
KR100669892B1 (ko) 2005-05-11 2007-01-19 엘지전자 주식회사 장애물 회피 기능을 갖는 이동로봇과 그 방법
KR20070115244A (ko) * 2006-06-01 2007-12-05 삼성전자주식회사 이동 로봇의 원격 조종을 위한 충돌방지 시스템, 장치 및방법
JP2008200770A (ja) * 2007-02-16 2008-09-04 Toshiba Corp ロボットおよびその制御方法
KR101105057B1 (ko) * 2008-03-17 2012-01-16 가부시키가이샤 히타치세이사쿠쇼 자율 이동 로봇 장치 및 자율 이동 로봇 장치의 회피 방법
KR101338246B1 (ko) * 2012-02-16 2013-12-09 인하대학교 산학협력단 이동로봇의 충돌방지 시스템 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2648071B1 (fr) * 1989-06-07 1995-05-19 Onet Procede et appareil autonomes de nettoyage automatique de sol par execution de missions programmees
JP2005296510A (ja) * 2004-04-15 2005-10-27 Funai Electric Co Ltd 監視カメラを備えた自走式掃除機
KR100769909B1 (ko) 2006-09-06 2007-10-24 엘지전자 주식회사 이동 로봇 및 그 동작방법
EP2249998B1 (en) * 2008-01-28 2013-03-20 Seegrid Corporation Methods for real-time interaction with robots
US8706297B2 (en) * 2009-06-18 2014-04-22 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
KR102061511B1 (ko) * 2013-04-26 2020-01-02 삼성전자주식회사 청소 로봇, 홈 모니터링 장치 및 그 제어 방법
KR102094347B1 (ko) * 2013-07-29 2020-03-30 삼성전자주식회사 자동 청소 시스템, 청소 로봇 및 그 제어 방법
KR20150104311A (ko) * 2014-03-05 2015-09-15 엘지전자 주식회사 로봇 청소기 및 그의 제어방법
US9415513B2 (en) * 2014-08-29 2016-08-16 General Electric Company Systems and methods for railyard robotics
KR20160065574A (ko) 2014-12-01 2016-06-09 엘지전자 주식회사 로봇 청소기 및 그의 제어방법
JP6532530B2 (ja) * 2014-12-16 2019-06-19 アクチエボラゲット エレクトロルックス ロボット掃除機の掃除方法
US9704043B2 (en) * 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
DE102015107598A1 (de) 2015-05-13 2016-11-17 Vorwerk & Co. Interholding Gmbh Verfahren zum Betrieb eines selbsttätig verfahrbaren Reinigungsgerätes
US20170049288A1 (en) * 2015-08-18 2017-02-23 Nilfisk, Inc. Mobile robotic cleaner

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185412A (ja) * 1995-12-28 1997-07-15 Yaskawa Electric Corp 自律移動装置
KR100669892B1 (ko) 2005-05-11 2007-01-19 엘지전자 주식회사 장애물 회피 기능을 갖는 이동로봇과 그 방법
KR20070115244A (ko) * 2006-06-01 2007-12-05 삼성전자주식회사 이동 로봇의 원격 조종을 위한 충돌방지 시스템, 장치 및방법
JP2008200770A (ja) * 2007-02-16 2008-09-04 Toshiba Corp ロボットおよびその制御方法
KR101105057B1 (ko) * 2008-03-17 2012-01-16 가부시키가이샤 히타치세이사쿠쇼 자율 이동 로봇 장치 및 자율 이동 로봇 장치의 회피 방법
KR101338246B1 (ko) * 2012-02-16 2013-12-09 인하대학교 산학협력단 이동로봇의 충돌방지 시스템 및 방법

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112805128A (zh) * 2018-08-01 2021-05-14 Lg电子株式会社 人工智能移动机器人
CN108972630A (zh) * 2018-08-22 2018-12-11 安徽爱依特科技有限公司 机器人防撞装置
KR20200027087A (ko) * 2018-08-30 2020-03-12 삼성전자주식회사 로봇 및 그의 제어 방법
KR102629036B1 (ko) * 2018-08-30 2024-01-25 삼성전자주식회사 로봇 및 그의 제어 방법
EP3782771A4 (en) * 2018-08-30 2021-06-23 Samsung Electronics Co., Ltd. ROBOTS AND CONTROL PROCEDURES FOR IT
US20210213619A1 (en) * 2018-08-30 2021-07-15 Samsung Electronics Co., Ltd. Robot and control method therefor
EP3774202A4 (en) * 2018-09-20 2021-05-19 Samsung Electronics Co., Ltd. CLEANING ROBOT AND PROCESS FOR PERFORMING AN ASSOCIATED TASK
US11929157B2 (en) * 2018-11-02 2024-03-12 Stryker Corporation Techniques for transporting autonomous patient support apparatuses and medical equipment to an incident scene
US20200143927A1 (en) * 2018-11-02 2020-05-07 Stryker Corporation Techniques For Transporting Autonomous Patient Support Apparatuses and Medical Equipment To An Incident Scene
US11350809B2 (en) 2018-12-26 2022-06-07 Samsung Electronics Co., Ltd. Cleaning robot and method of performing task thereof
EP3863813A4 (en) * 2018-12-26 2021-12-15 Samsung Electronics Co., Ltd. CLEANING ROBOTS AND METHODS FOR PERFORMING TASKS WITH THEM
CN111398968A (zh) * 2018-12-28 2020-07-10 浙江舜宇智能光学技术有限公司 Tof精度检测系统及其精度检测方法
CN111398968B (zh) * 2018-12-28 2022-10-18 浙江舜宇智能光学技术有限公司 Tof精度检测系统及其精度检测方法
CN110065081A (zh) * 2019-05-24 2019-07-30 北京深醒科技有限公司 一种支持sip的家庭安全巡防机器人
CN112130555B (zh) * 2020-06-09 2023-09-15 广东科学技术职业学院 基于激光导航雷达及计算机视觉感知融合的自行走机器人及系统
CN112130555A (zh) * 2020-06-09 2020-12-25 广东科学技术职业学院 基于激光导航雷达及计算机视觉感知融合的自行走机器人及系统
CN117502974A (zh) * 2024-01-08 2024-02-06 九阳股份有限公司 一种表面清洁装置的助力控制方法
CN117502974B (zh) * 2024-01-08 2024-03-22 九阳股份有限公司 一种表面清洁装置的助力控制方法

Also Published As

Publication number Publication date
US11330948B2 (en) 2022-05-17
US20220265106A1 (en) 2022-08-25
EP3546139B1 (en) 2021-09-22
EP3950234B1 (en) 2024-04-10
AU2017363769A1 (en) 2019-07-11
AU2017363769B2 (en) 2020-10-29
EP3950234A1 (en) 2022-02-09
TWI660703B (zh) 2019-06-01
US20190320867A1 (en) 2019-10-24
EP3546139A4 (en) 2020-07-22
EP3546139A1 (en) 2019-10-02
US11737635B2 (en) 2023-08-29
TW201825037A (zh) 2018-07-16
KR20180058511A (ko) 2018-06-01

Similar Documents

Publication Publication Date Title
WO2018097574A1 (ko) 이동 로봇 및 그 제어방법
WO2018038551A1 (ko) 이동 로봇 및 그 제어방법
WO2018139796A1 (ko) 이동 로봇 및 그의 제어 방법
AU2020247141B2 (en) Mobile robot and method of controlling the same
WO2019083291A1 (ko) 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법
WO2018155999A2 (en) Moving robot and control method thereof
WO2017200302A2 (ko) 이동 로봇 및 그 제어방법
WO2021006677A2 (en) Mobile robot using artificial intelligence and controlling method thereof
WO2020218652A1 (ko) 공기 청정기
AU2019262468B2 (en) A plurality of robot cleaner and a controlling method for the same
WO2017188706A1 (ko) 이동 로봇 및 이동 로봇의 제어방법
WO2019151845A2 (ko) 에어컨
AU2020244635B2 (en) Mobile robot control method
EP3846979A1 (en) Plurality of autonomous mobile robots and controlling method for the same
WO2017188800A1 (ko) 이동 로봇 및 그 제어방법
WO2019151846A2 (ko) 공기 청정기
WO2021006542A1 (en) Mobile robot using artificial intelligence and controlling method thereof
WO2019212240A1 (en) A plurality of robot cleaner and a controlling method for the same
WO2018117616A1 (ko) 이동 로봇
WO2022075610A1 (ko) 이동 로봇 시스템
WO2021020621A1 (ko) 인공지능 무빙 에이전트
WO2021006553A1 (en) Moving robot and control method thereof
WO2019004773A1 (ko) 이동 단말기 및 이를 포함하는 로봇 시스템
WO2022075616A1 (ko) 이동 로봇 시스템
WO2022075615A1 (ko) 이동 로봇 시스템

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: 17874188

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: 2017874188

Country of ref document: EP

Effective date: 20190624

ENP Entry into the national phase

Ref document number: 2017363769

Country of ref document: AU

Date of ref document: 20171121

Kind code of ref document: A