WO2019031825A1 - 전자 장치 및 그 동작 방법 - Google Patents

전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2019031825A1
WO2019031825A1 PCT/KR2018/008988 KR2018008988W WO2019031825A1 WO 2019031825 A1 WO2019031825 A1 WO 2019031825A1 KR 2018008988 W KR2018008988 W KR 2018008988W WO 2019031825 A1 WO2019031825 A1 WO 2019031825A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
electronic device
context data
unit
image
Prior art date
Application number
PCT/KR2018/008988
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
Application filed by 삼성전자(주) filed Critical 삼성전자(주)
Priority to CN201880051420.9A priority Critical patent/CN110998614B/zh
Priority to EP18844791.6A priority patent/EP3605409B1/en
Priority to US16/615,557 priority patent/US11592825B2/en
Publication of WO2019031825A1 publication Critical patent/WO2019031825A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Definitions

  • the present invention relates to an electronic apparatus and a method of operating the same, and more particularly, to an electronic apparatus and method for assisting the running of a robot.
  • the present disclosure relates to an artificial intelligence (AI) system and its application technology that simulate functions such as recognition and judgment of a human brain using a machine learning algorithm such as deep learning.
  • AI artificial intelligence
  • AI Artificial Intelligence
  • AI is a computer system that implements human-level intelligence. Unlike existing rules-based smart system, AI is a system that learns, judges and becomes smart. As the use of artificial intelligence increases the recognition rate and understanding of user preferences more accurately, existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
  • Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
  • Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
  • Element technology is a technology that uses machine learning algorithms such as deep learning. It is used for linguistic understanding, visual understanding, reasoning / prediction, knowledge representation, .
  • Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like.
  • Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement.
  • Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
  • Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization).
  • the motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
  • the present invention also provides a computer-readable recording medium on which a program for causing the computer to execute the method is provided.
  • the technical problem to be solved is not limited to the technical problems as described above, and other technical problems may exist.
  • An electronic device includes a storage unit, at least one sensing unit, and a peripheral unit for shooting a peripheral image using the sensing unit while the electronic device is traveling.
  • Context data including a surrounding image photographed within a predetermined time range from a point in time when an incapacity situation occurs, storing the context data corresponding to the incapacity situation generated in the storage unit, and using at least one data recognition model, And learning the stored context data.
  • FIG. 1 is a diagram showing an example in which an electronic device assisting the running of a robot operates according to an embodiment.
  • FIG. 2 is a flow chart of a method of operating an electronic device according to an embodiment.
  • FIG. 3 is a view for explaining an example of shooting a peripheral image according to an embodiment.
  • FIG. 4 is a diagram for explaining an example of generating context data according to an embodiment.
  • FIG. 5 is a flowchart illustrating an example of generating a virtual image according to an embodiment.
  • FIG. 6 is a diagram for explaining an example of generating a virtual image according to an embodiment.
  • FIG. 7 is a flowchart illustrating an example of determining entry point information according to an embodiment.
  • FIG. 8 is a diagram for explaining an example of determining entry point information according to an embodiment.
  • FIG. 9 is a flowchart for explaining an example of learning a non-running state according to an embodiment and estimating a non-running state.
  • FIG. 10 is a flowchart for explaining an example of estimating a non-running state according to an embodiment.
  • FIG. 11 is a flowchart for explaining an example of determining a traveling route for avoiding an unavailable situation according to an embodiment.
  • FIG. 12 is a diagram for explaining an example of determining a traveling route for avoiding a non-running state according to an embodiment.
  • FIG. 13 is a flowchart for explaining an example of determining a non-running state according to another embodiment.
  • FIG. 14 is a diagram for explaining an example of determining a non-running state according to another embodiment.
  • 15 is a block diagram of an electronic device according to an embodiment.
  • 16 is a block diagram of an electronic device according to another embodiment.
  • 17 is a block diagram of a robot according to an embodiment.
  • FIG. 18 is a block diagram of a processor in accordance with one embodiment.
  • 19 is a block diagram of a data learning unit according to an embodiment.
  • 20 is a block diagram of a data recognition unit according to an embodiment.
  • 21 is a diagram showing an example of learning and recognizing data by interlocking with an electronic device and a server according to an embodiment.
  • An electronic device includes a storage unit, at least one sensing unit, and a peripheral unit for shooting a peripheral image using the sensing unit while the electronic device is traveling.
  • Context data including a surrounding image photographed within a predetermined time range from a point in time when an incapacity situation occurs, storing the context data corresponding to the incapacity situation generated in the storage unit, and using at least one data recognition model, And learning the stored context data.
  • an electronic device comprising: a storage unit for storing context data including positional information on a peripheral image and a peripheral image corresponding to a plurality of non-driving situations, at least one sensing unit; The peripheral image and the position information acquired during the running of the electronic device are matched with the context data stored in the storage unit using one or more data recognition models, And estimates that an incapacity situation corresponding to the matching context data will occur as the match is made to the context data.
  • a method of operating an electronic device comprising: photographing a peripheral image while the electronic device is traveling; Generating context data including surrounding images photographed within a time range, storing context data corresponding to the incapacity situation generated, and learning the stored context data using one or more data recognition models .
  • a computer-readable recording medium includes a recording medium on which a program for causing a computer to execute the above-described method is recorded.
  • &quot When an element is referred to as " including " an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention.
  • " “... Module " or the like means a unit for processing at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software.
  • the robot 1 may include an electronic device 100 (Figs. 15 to 17) (hereinafter referred to as an electronic device 100) for assisting or controlling the running of the robot 1 have.
  • the electronic device 100 according to one embodiment can be autonomously driven by being included in the robot 1 (for example, a robot cleaner) and operating.
  • FIG. 1 is a diagram showing an example in which an electronic device assisting the running of a robot operates according to an embodiment.
  • a running disabled state may occur while the autonomous mobile robot 1 is running.
  • the non-running state is a state in which the external element (for example, the material of the floor, the shape, the curvature, the projection by the structure, etc.) brought into contact with the robot 1 including the electronic device 100 during self-running The running can be stopped and the running can not be resumed by the autonomous control of the robot 1.
  • the external element for example, the material of the floor, the shape, the curvature, the projection by the structure, etc.
  • the robot cleaner when the robot cleaner travels, it may become impossible to move further due to the material or shape of the flooring material, or to enter under a furniture such as a chair, and to be unable to move anymore.
  • an electronic device 100 can travel while shooting a surrounding image using a sensing unit 110 (FIGS. 15 and 16) If a non-travelable situation occurs that can not be moved further by being stuck in the bottom, it is possible to learn the non-travelable situation by using a data recognition model based on a neural network such as a DNN (Deep Neural Network).
  • the electronic device 100 learns the inability to run so that it can be estimated in advance that the incapacity situation will occur before the same incapacity situation occurs and the inconvenience situation can be avoided by changing the travel path .
  • the electronic device 100 can provide a safe and efficient robot driving environment by controlling the traveling operation so that the inability to travel state can be predicted and avoided in advance through the learning of the inability to travel state.
  • FIG. 2 is a flow chart of a method of operation of an electronic device according to one embodiment.
  • 3 is a view for explaining an example of shooting a peripheral image according to an embodiment.
  • 4 is a diagram for explaining an example of generating context data according to an embodiment. The flow chart of FIG. 2 will be described with reference to the drawings of FIGS. 3 to 4.
  • FIG. 2 will be described with reference to the drawings of FIGS. 3 to 4.
  • the electronic device 100 can photograph a surrounding image using the sensing unit 110 (FIG. 16) while the electronic device 100 is running.
  • the sensing unit 110 (FIG. 16) according to one embodiment may include an image sensor 228 (FIG. 16) capable of imaging an image.
  • the processor 120 (FIG. 15) of the electronic device 100 is configured to detect a forward image of the sensing unit 110 while the robot 1 is running, (30).
  • the processor 120 of the electronic device 100 may extract a plurality of keypoints from the acquired image frame.
  • the processor 120 may generate a video descriptor that converts the video data into vector data using the minutiae extracted from the video frame.
  • the processor 120 may store an image descriptor in the storage unit 140.
  • a method of matching images using video descriptors can be used, and the image matching method is not limited thereto.
  • the processor 120 controls the peripheral image photographed while the robot 1 is traveling to be stored in the temporary storage area of the storage unit 140, and when the preset capacity is exceeded, It is possible to control to delete from the video data.
  • step S202 of FIG. 2 the electronic device 100 according to the embodiment, as the incapacity situation occurs during travel, the context including the surrounding video images shot within the predetermined time range from when the incapacity situation occurs Data can be generated.
  • the vehicle 100 when an incapacity situation occurs while the electronic device 100 is running, the vehicle 100 is photographed in a predetermined time range (for example, within one minute from when the incapacity situation occurs)
  • the context data including the video frames 41, 42, and 43 can be generated.
  • step S203 of Fig. 2 the electronic device 100 according to the embodiment may store the context data corresponding to the non-running state in the storage unit 140 (Fig. 15).
  • context data including a plurality of image frames 41, 42, and 43 corresponding to a non-running situation (context 1) may be stored.
  • the electronic device 100 may use the sensing unit 110 (Fig. 16) capable of sensing position information to determine the position of the electronic device 100 during the traveling of the electronic device 100 Can be obtained.
  • the sensing unit 110 Fig. 16
  • the electronic device 100 may obtain respective position information corresponding to a point at which a plurality of image frames 41, 42, 43 are photographed during driving.
  • the electronic device 100 may store context data further including position information 45 corresponding to each image 41.
  • the electronic device 100 can extract feature information from each of the obtained plurality of image frames 41, 42, and 43.
  • the electronic device 100 may store context data further comprising feature information 46 (FIG. 4) extracted from each image frame 41 (FIG. 4).
  • the feature information may be identification information for identifying an object included in the image (e.g., furniture, structure, etc. included in the image).
  • the feature information may be information about a relative distance and a direction between a point where a plurality of image frames are photographed and a point where the incapacity situation occurs.
  • the feature information may be path information indicating a travel route estimated from the photographed peripheral image.
  • the processor 120 (Fig. 15) of the electronic device 100 according to an exemplary embodiment of the present invention stores the context data generated according to the incapacity state in the temporary storage unit 140 of the storage unit 140, It can be stored in an area different from the storage area.
  • the processor 120 may store the context data in the persistent storage area of the storage unit 140 so that the context data corresponding to the non-running state is not arbitrarily deleted.
  • step S204 of FIG. 2 the electronic device 100 according to one embodiment can learn context data using one or more data recognition models.
  • the processor 120 of the electronic device 100 can learn context data corresponding to a non-running state using a data recognition model based on a neural network.
  • the processor 120 can learn video data and a video descriptor converted from video data corresponding to a situation in which the player can not run.
  • the processor 120 generates a virtual image based on peripheral image data corresponding to a non-running state using the data recognition model, and learns the context data further including the virtual image can do.
  • the generation of the virtual image will be described later with reference to Figs. 5 to 6.
  • the processor 120 uses the data recognition model, determines, based on the context data corresponding to the inability to run, a video frame corresponding to the entry point at which the inability to reach the point where the in- And entry point information including location information.
  • the processor 120 can learn the context data further including the entry point information using the data recognition model. The entry point information will be described later with reference to FIGS. 7 to 8. FIG.
  • the processor 120 can compare the descriptors extracted from the plurality of image frames using the data recognition model, and learn the relationship between the plurality of descriptors.
  • Processor 120 may generate context data further including relationship information between a plurality of descriptors.
  • the processor 120 may update the data recognition model as it learns context data.
  • FIG. 5 is a flowchart illustrating an example of generating a virtual image according to an embodiment.
  • 6 is a diagram for explaining an example of generating a virtual image according to an embodiment. The flow chart of Fig. 5 will be described with reference to Fig. 6.
  • the electronic device 100 may generate a virtual image based on context data including a surrounding image, using one or more data recognition models.
  • the virtual image may be an image that is estimated to be obtained when approaching from the other direction the point at which the non-running situation corresponding to the context data occurs.
  • the electronic device 100 determines that the robot 1 is approaching from the other direction to a point where a non-running situation occurs based on a plurality of image frames 50 included in the context data (context 1) It is possible to generate a hypothetical image frame 60 that can be acquired.
  • the plurality of virtual image frames may be image frames estimated to be obtained when approaching in a circumstance where the inability to travel occurs in an environment having a different brightness.
  • a collided structure is located at a different position at a point where a non-running situation occurs
  • a plurality of virtual image frames are generated based on the assumption that areas excluding structures in an image frame are different.
  • the electronic device 100 may store the context data further including the virtual image in the storage unit 140 (FIG. 15).
  • the processor 120 can learn context data further including a virtual image using a data recognition model.
  • FIG. 7 is a flowchart illustrating an example of determining entry point information according to an embodiment.
  • 8 is a diagram for explaining an example of determining entry point information according to an embodiment. The flow chart of Fig. 7 will be explained with reference to the drawing of Fig.
  • the robot 1 since the robot 1 enters a specific space while it travels, it analyzes an entry point where a situation of inability to run after several seconds can be analyzed, so that the robot 1 avoids the other direction at the entry point So that it can be controlled to travel.
  • step S701 of Fig. 7 the electronic device 100 uses one or more data recognition models to calculate, based on the context data, an entry corresponding to an entry point at which a non- Point information can be determined.
  • the processor 120 may correspond to an entry point that causes the occurrence of a non-running state of a plurality of image frames 81, 82, and 83 corresponding to a non- It is possible to determine the video frame 81 to be played back.
  • Processor 120 may determine entry point information 85 that includes information identifying the image frame corresponding to the entry point, and the location information of the entry point.
  • the electronic device 100 may store the context data further including entry point information in the storage unit 140 (FIG. 15).
  • the processor 120 can learn context data further including entry point information using a data recognition model.
  • FIG. 9 is a flowchart for explaining an example of learning a non-running state according to an embodiment and estimating a non-running state.
  • step S901 of Fig. 9 the electronic device 100 according to one embodiment can run.
  • the electronic device 100 according to the embodiment can be autonomously driven by being included in and operated by the robot 1 (Fig. 1) (for example, a robot cleaner).
  • the electronic device 100 can take a surrounding image.
  • the electronic device 100 can take a surrounding image while the electronic device 100 is running using the sensing unit 110 including the image sensor 228.
  • the electronic device 100 according to the embodiment can determine that a non-running state has occurred while driving.
  • the electronic device 100 according to the embodiment is configured such that the traveling is stopped due to an external element (for example, the floor or the structure is sandwiched) that comes into contact during traveling, and the traveling is controlled by the autonomous control of the robot 1 If the situation becomes impossible to resume, it can be judged that the incapacity situation has occurred.
  • an external element for example, the floor or the structure is sandwiched
  • the electronic device 100 may store the context data corresponding to the non-running situation in the storage unit 140 (Fig. 15).
  • the electronic device 100 may store context data including a peripheral image corresponding to a non-running state, a video descriptor obtained by converting an image into vector data, position information, and the like.
  • the electronic device 100 can learn the context data using the data recognition model.
  • the electronic device 100 can generate a virtual image based on the image included in the context data using the data recognition model, and learn the context data further including the virtual image.
  • the electronic device 100 can generate and learn context data further including feature information, entry point information, and the like extracted from the image using a data recognition model.
  • the electronic device 100 can determine whether the photographed peripheral image matches the context data.
  • the electronic device 100 according to the embodiment can determine whether the photographed peripheral image matches with the context data stored in the storage unit (S904) while driving (S901), capturing a surrounding image (S902).
  • the electronic device 100 determines that the surrounding image photographed during driving matches with the context data stored in the storage unit, it can be estimated that an incapacity situation corresponding to the matching context data occurs (S907 ).
  • step S908 the electronic device 100 according to one embodiment can determine a travel route to avoid a non-travelable situation.
  • the electronic device 100 according to one embodiment can continue running, based on the determined travel route to avoid the inability to travel.
  • step S906 if it is determined that the surrounding image photographed while driving is not matched with the context data stored in the storage unit, the electronic device 100 according to the embodiment performs the operation (S902).
  • FIG. 10 is a flowchart for explaining an example of estimating a non-running state according to an embodiment.
  • FIG. 11 is a flowchart for explaining an example of determining a traveling route for avoiding an unavailable situation according to an embodiment.
  • FIG. 12 is a diagram for explaining an example of determining a traveling route for avoiding a non-running state according to an embodiment. The flowcharts of Figs. 10 and 11 will be described with reference to the drawings of Fig.
  • step S1001 of Fig. 10 the electronic device 100 according to the embodiment can acquire the peripheral image and the position information using the sensing unit 110 (Fig. 15) during traveling.
  • the electronic device 100 may acquire a surrounding image using the sensing unit 110 (FIG. 16). Also, the electronic device 100 can acquire positional information using the sensing unit 110 (Fig. 16).
  • the electronic device 100 uses the one or more data recognition models to store the peripheral image and the positional information acquired during the running of the electronic device in the storage unit 140 (Fig. 15 Or the context data stored in the context database.
  • step S1003 of Fig. 10 the electronic device 100 according to an embodiment can estimate that a running incapacity situation corresponding to the matching context data occurs as matching the context data.
  • step S1101 of Fig. 11 the electronic device 100 according to the embodiment uses one or more data recognition models to calculate the relative position of the electronic device with the current position information of the electronic device Distance and direction can be determined.
  • step S1102 of Fig. 11 the electronic device 100 according to one embodiment can determine a travel route for avoiding a non-travel situation based on the relative distance and direction determined in step S1101.
  • the electronic device 100 analyzes the relative distance and direction from the current position to the point where the incapacity situation occurs, using the data recognition model, and avoids the incapacity situation when moving in any direction Can be analyzed.
  • the electronic device 100 can determine whether the surrounding image photographed while driving matches the context data 21, 22, 23 stored in the storage unit 140 (FIG. 15).
  • the electronic device 100 estimates that the circumstantial image obtained during the running matches the context data 21 and thus estimates that the incapacity situation corresponding to the context data 21 will occur and avoids the incapacity situation
  • the traveling route can be changed (25).
  • the robot 1 when the robot 1 contacts the specific structure and stores and learns context data related to the situation when the incapacity situation occurs, the incapacity situation is estimated It can be controlled so as to avoid running ahead.
  • FIG. 13 is a flowchart for explaining an example of determining a non-running state according to another embodiment.
  • FIG. 14 is a diagram for explaining an example of determining a non-running state according to another embodiment. The flowchart of FIG. 13 will be described with reference to the drawing of FIG.
  • the electronic device 100 stops traveling due to an external element (for example, sandwiched between the floor or a structure) which is brought into contact with the robot during running, It is possible to determine that a situation in which the vehicle can not be resumed due to the in-running control is caused.
  • an external element for example, sandwiched between the floor or a structure
  • the electronic device 100 may determine that a driving disabled condition has occurred (S1301, FIG. 13) by determining that a user gesture set in advance is included in an image acquired during driving, .
  • the electronic device 100 can photograph a surrounding image using the sensing unit 110 while driving.
  • the electronic device 100 may determine that a non-driving situation has occurred as it acquires a surrounding image including a preset user gesture 50 (e.g., a gesture that the user extends the palm of the hand toward the electronic device 100) have.
  • a preset user gesture 50 e.g., a gesture that the user extends the palm of the hand toward the electronic device 100
  • the user may need to set the robot cleaner 1 not to enter a specific space (e.g., a baby room).
  • a predetermined gesture for example, a palm-opening gesture
  • the electronic device 100 displays the space in which the user gesture is input as a non- . ≪ / RTI >
  • step S1302 of Fig. 13 the electronic device 100 according to one embodiment can generate context data corresponding to a non-running situation.
  • the electronic device 100 may perform an operation in response to a non-running condition occurrence.
  • the electronic device 100 can generate context data based on a time point at which an image including a preset user gesture is acquired.
  • the electronic device 100 can learn the context data using a data recognition model.
  • 15 is a block diagram of an electronic device according to an embodiment.
  • the electronic device 100 may include a sensing unit 110, a storage unit 140, and a processor 120, according to one embodiment.
  • the electronic device 100 shown in Fig. 15 shows only the components related to this embodiment. Therefore, it will be understood by those skilled in the art that other general-purpose components other than the components shown in FIG. 15 may be further included.
  • the sensing unit 110 can photograph a peripheral image of the robot 1 while the robot 1 is running. Also, the sensing unit 110 can acquire the position information of the robot 1 while the robot 1 is running.
  • the sensing unit 110 may include a plurality of sensors for acquiring a peripheral image of the robot 1.
  • the sensing unit 110 may include an image sensor 228, such as a camera.
  • the sensing unit 110 may include a plurality of sensors for acquiring position information of the robot 1.
  • the sensing unit 110 may include a distance sensor, such as a RADAR sensor 226, a LIDAR sensor 227, and an odometry sensor 230.
  • the sensing unit 110 may include one or more actuators configured to modify the positions and / or orientations of the plurality of sensors, and may capture images of the front, rear, and side directions of the robot 1 .
  • the storage unit 140 may include a magnetic disk drive, an optical disk drive, and a flash memory. Or the storage unit 140 may be a portable USB data storage device.
  • the storage unit 140 may store system software for executing examples related to the present invention. System software for carrying out the examples herein may be stored on a portable storage medium.
  • the storage unit 140 may store the context data corresponding to the inability to run.
  • the storage unit 140 may store peripheral images photographed while the electronic device 100 is traveling.
  • the processor 120 may be comprised of at least one processor.
  • the processor 120 may capture a surrounding image using the sensing unit 110 while the electronic device 100 is traveling.
  • the processor 120 can generate context data including surrounding images photographed within a predetermined time range from when the incapacity situation occurs as the incapacity situation occurs while the electronic device 100 is running have.
  • the processor 120 may store the context data corresponding to the non-running state in the storage unit 140.
  • the processor 120 may learn the context data stored in the storage unit 140 using one or more data recognition models.
  • the processor 120 may be obtained by using one or more data recognition models, based on the context data including the surrounding image, when a point at which an out-of-travel condition corresponding to the context data occurs approaches from another direction It is possible to generate an estimated virtual image.
  • the processor 120 may store the context data further including the generated virtual image in the storage unit 140.
  • the processor 120 can also acquire positional information indicating the position of the electronic device 100 while the electronic device 100 is running using the sensing unit 110.
  • the processor 120 may store the context data further including positional information corresponding to a point at which an incapacity situation occurs in the storage unit 140 as the incapacity situation occurs while the electronic device 100 is running .
  • the processor 120 may extract the feature information from the surrounding image included in the context data using one or more data recognition models, and store the context data further including the extracted feature information in the storage unit 140 have.
  • the processor 120 may use at least one data recognition model to include an image frame and position information corresponding to an entry point at which a non-running state has occurred, based on the context data including the peripheral image The entry point information can be determined.
  • the processor 120 may store the context data further including entry point information in the storage unit 140.
  • the processor 120 may also use one or more data recognition models to determine whether the peripheral image photographed while the electronic device 100 is running matches the context data stored in the storage unit 140.
  • the processor 120 can estimate that a running state corresponding to the matching context data occurs as the photographed peripheral image is matched with the context data.
  • the processor 120 can determine a traveling route for avoiding an unavailable situation based on the relative distance and the direction.
  • the processor 120 may determine that an out-of-travel condition occurs due to the acquisition of the image including the preset user gesture.
  • 16 is a block diagram of an electronic device according to another embodiment.
  • the electronic device 100 may further include the sensing unit 110, the processor 120 and the storage unit 140 described in FIG. 15, the output unit 130, the input unit 150, and the communication unit 160 .
  • the sensing unit 110 may include a plurality of sensors configured to sense information about the environment in which the robot 1 is located and may include one or more actuators configured to modify the position and / .
  • the sensing unit 110 may include a GPS (Global Positioning System) 224, an Inertial Measurement Unit (IMU) 225, a RADAR sensor 226, a LIDAR sensor 227, an image sensor 228, (230).
  • the sensing unit 110 may include at least one of an on / humidity sensor 232, an infrared sensor 233, an air pressure sensor 235, a proximity sensor 236, and an RGB sensor 237 But is not limited thereto. The function of each sensor can be intuitively deduced from the name by those skilled in the art, so a detailed description will be omitted.
  • the sensing unit 110 may include a motion sensing unit 238 capable of sensing motion of the robot 1.
  • the motion sensing unit 238 may include a magnetic sensor 229, an acceleration sensor 231, and a gyroscope sensor 234.
  • the GPS 224 may be a sensor that is configured to estimate the geographic location of the robot 1. That is, the GPS 224 may comprise a transceiver configured to estimate the position of the robot 1 relative to the earth.
  • the IMU 225 may be a combination of sensors configured to sense the position and orientation changes of the robot 1 based on the inertial acceleration.
  • the combination of sensors may include accelerometers and gyroscopes.
  • the RADAR sensor 226 may be a sensor configured to sense objects in the environment in which the robot 1 is located using a wireless signal.
  • the RADAR sensor 226 may also be configured to sense the velocity and / or direction of objects.
  • the LIDAR sensor 227 may be a sensor configured to sense objects in the environment where the robot 1 is located using a laser. More specifically, the LIDAR sensor 227 may include a laser light source and / or a laser scanner configured to emit a laser, and a detector configured to detect the reflection of the laser. The LIDAR sensor 227 may be configured to operate in coherent (e.g., using heterodyne detection) or in an incoherent detection mode.
  • the image sensor 228 may be a still camera or a video camera configured to record the environment outside the robot 1.
  • the image sensor 228 may include a plurality of cameras, and a plurality of cameras may be disposed at multiple locations on the exterior of the robot 1.
  • the odometry sensor 230 can estimate the position of the robot 1 and measure the travel distance. For example, the odometry sensor 230 can measure the position change value of the robot 1 using the number of revolutions of the wheel of the robot 1. [
  • the communication unit 160 may include at least one antenna for wirelessly communicating with another device.
  • the communication unit 160 can be used to communicate with a cellular network or other wireless protocols and systems wirelessly via Wi-Fi or Bluetooth.
  • the communication unit 160 which is controlled by the processor 120, can transmit and receive wireless signals.
  • the processor 120 may execute a program included in the storage unit 140 so that the communication unit 160 transmits and receives a radio signal to and from the cellular network.
  • the input unit 150 means a means for inputting data for controlling the robot 1.
  • the input unit 150 may include a key pad, a dome switch, a touch pad (contact type capacitance type, pressure type resistive type, infrared ray detection type, surface ultrasonic wave conduction type, A measurement method, a piezo effect method, etc.), a jog wheel, a jog switch, and the like, but is not limited thereto.
  • the input unit 150 may include a microphone, and the microphone may be configured to receive audio (e.g., a voice command) from the user.
  • the output unit 130 may output an audio signal or a video signal and the output device 280 may include a display 281 and an audio output unit 282.
  • the display 281 may be a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, a three-dimensional display display, and electrophoretic display.
  • the output unit 130 may include two or more displays 281.
  • the audio output unit 282 outputs audio data received from the communication unit 160 or stored in the storage unit 140.
  • the sound output unit 282 may include a speaker, a buzzer, and the like.
  • the input unit 150 and the output unit 130 may include a network interface and may be implemented as a touch screen.
  • the processor 120 controls the sensing unit 110, the communication unit 160, the input unit 150, the storage unit 140, and the output unit 130 as a whole by executing programs stored in the storage unit 140. [ can do.
  • 17 is a block diagram of a robot according to an embodiment.
  • the robot 1 may include an electronic device 100 and a traveling device 200 according to one embodiment.
  • the robot 1 shown in Fig. 17 shows only the components related to this embodiment. Therefore, it will be understood by those skilled in the art that other general-purpose components other than the components shown in FIG. 17 may be further included.
  • the electronic device 100 may include a sensing unit 110, a storage unit 140, and a processor 120.
  • sensing unit 110 the storage unit 140, and the processor 120 has been described above with reference to FIGS. 15 and 16, and therefore will not be described.
  • the traveling device 200 may include a brake unit 221, a steering unit 222 and a throttle 223.
  • the steering unit 222 may be a combination of mechanisms that are configured to adjust the orientation of the robot 1.
  • the throttle 223 may be a combination of mechanisms configured to control the speed of operation of the engine / motor and to control the speed of the robot 1.
  • the brake unit 221 may be a combination of mechanisms configured to decelerate the robot 1. [ For example, the brake unit 221 may use friction to reduce the speed of the wheel / wheel of the robot 1.
  • FIG. 18 is a block diagram of a processor 120 in accordance with some embodiments.
  • the processor 120 may include a data learning unit 1310 and a data recognition unit 1320.
  • the data learning unit 1310 can learn the criteria for the situation determination.
  • the data learning unit 1310 can learn what data to use to determine a predetermined situation and how to determine the situation using the data.
  • the data learning unit 1310 acquires data to be used for learning, and applies the acquired data to a data recognition model to be described later, so as to learn a criterion for determining a situation.
  • the data recognition unit 1320 can determine the situation based on the data.
  • the data recognition unit 1320 can recognize the situation from predetermined data using the learned data recognition model.
  • the data recognizing unit 1320 can determine a predetermined situation based on predetermined data by acquiring predetermined data according to a predetermined reference by learning and using the acquired data as an input value and using the data recognition model . Further, the resultant value output by the data recognition model with the obtained data as an input value can be used to update the data recognition model.
  • At least one of the data learning unit 1310 and the data recognizing unit 1320 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • at least one of the data learning unit 1310 and the data recognition unit 1320 may be fabricated in the form of a dedicated hardware chip for artificial intelligence (AI) or a conventional general purpose processor Or application processor) or a graphics-only processor (e.g., a GPU), and may be mounted on various electronic devices as described above.
  • AI artificial intelligence
  • a conventional general purpose processor Or application processor e.g., a graphics-only processor
  • the data learning unit 1310 and the data recognizing unit 1320 may be mounted on one electronic device or on separate electronic devices, respectively.
  • one of the data learning unit 1310 and the data recognizing unit 1320 may be included in the electronic device, and the other may be included in the server.
  • the data learning unit 1310 and the data recognition unit 1320 may provide the model information constructed by the data learning unit 1310 to the data recognition unit 1320 via a wire or wireless communication, 1320 may be provided to the data learning unit 1310 as additional learning data.
  • At least one of the data learning unit 1310 and the data recognition unit 1320 may be implemented as a software module.
  • the software module can be read by a computer, And may be stored in non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS Operating System
  • some of the at least one software module may be provided by an Operating System (OS)
  • OS Operating System
  • 19 is a block diagram of a data learning unit according to an embodiment.
  • 19 is a block diagram of a data learning unit 1310 according to some embodiments.
  • the data learning unit 1310 includes a data acquisition unit 1310-1, a preprocessing unit 1310-2, a learning data selection unit 1310-3, a model learning unit 1310 -4) and a model evaluation unit 1310-5.
  • the data acquisition unit 1310-1 can acquire data necessary for the situation determination.
  • the data acquisition unit 1310-1 can acquire data necessary for learning for the situation determination.
  • the data acquisition unit 1310-1 can acquire context data regarding the incapacity situation when the incapacity situation occurs.
  • the data acquisition unit 1310-1 can receive the surrounding image of the robot 1 at the time when the incapacity situation occurs.
  • the data acquisition unit 1310-1 may receive data via an input device (e.g., a microphone, a camera, a sensor, or the like) of the electronic device.
  • the data acquisition unit 1310-1 may acquire data through an external device that communicates with the electronic device.
  • the peripheral image may comprise a plurality of images (or frames).
  • the data acquisition unit 1310-1 may be an external camera capable of communicating with a camera of an electronic device including the data learning unit 1310 or an electronic device including the data learning unit 1310 (e.g., CCTV or Black Box or the like).
  • the camera may include one or more image sensors (e.g., front or rear), a lens, an image signal processor (ISP), or a flash (e.g., LED or xenon lamp).
  • image sensors e.g., front or rear
  • ISP image signal processor
  • flash e.g., LED or xenon lamp
  • the preprocessing unit 1310-2 can preprocess the acquired data so that the acquired data can be used for learning for the situation determination.
  • the preprocessing unit 1310-2 can process the acquired data into a predetermined format so that the model learning unit 1310-4, which will be described later, can use the data acquired for learning for the situation determination.
  • the preprocessing unit 1310-2 may superimpose at least a part of the plurality of images on the basis of a common area included in each of a plurality of images (or frames) constituting at least a part of the input moving image A composite image can be generated. In this case, a plurality of composite images may be generated from one moving image.
  • the common area may be an area containing the same or similar common objects (e.g., objects, plants, animals, or the like) in each of the plurality of images.
  • the common area may be an area of the same or similar color, shade, RGB value or CMYK value in each of the plurality of images.
  • the learning data selection unit 1310-3 can select data necessary for learning from the preprocessed data.
  • the selected data may be provided to the model learning unit 1310-4.
  • the learning data selection unit 1310-3 can select data necessary for learning from the preprocessed data according to a predetermined criterion for the situation determination.
  • the learning data selection unit 1310-3 can also select data according to a predetermined criterion by learning by the model learning unit 1310-4, which will be described later.
  • data on furniture, structures, and the like that can affect the traveling path where the inability to travel of the robot 1 occurred can be selected.
  • the model learning unit 1310-4 can learn a criterion on how to determine the situation based on the learning data. Further, the model learning unit 1310-4 may learn a criterion as to which learning data should be used for the situation determination.
  • the model learning unit 1310-4 can learn a criterion as to what kind of inoperability situation to estimate based on the context data about the generated incapacity situation.
  • the model learning unit 1310-4 can learn the data recognition model used for the situation determination using the learning data.
  • the data recognition model may be a pre-built model.
  • the data recognition model may be a pre-built model that receives basic learning data (e.g., a sample image, etc.).
  • the data recognition model can be constructed considering the application field of the recognition model, the purpose of learning, or the computer performance of the device.
  • the data recognition model may be, for example, a model based on a neural network.
  • models such as Deep Neural Network (DNN), Recurrent Neural Network (RNN), and Bidirectional Recurrent Deep Neural Network (BRDNN) may be used as a data recognition model, but the present invention is not limited thereto.
  • the model learning unit 1310-4 may use a data recognition model to learn a data recognition model having a large relation between input learning data and basic learning data You can decide.
  • the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type.
  • the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
  • model learning unit 1310-4 can learn a data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent .
  • the model learning unit 1310-4 can learn the data recognition model through, for example, supervised learning using the learning data as an input value. Also, the model learning unit 1310-4 learns, for example, the type of data necessary for the situation judgment without any guidance, and by doing unsupervised learning to find a criterion for the situation judgment, The data recognition model can be learned. Also, the model learning unit 1310-4 can learn the data recognition model through reinforcement learning using, for example, feedback as to whether the result of the situation judgment based on learning is correct.
  • the model learning unit 1310-4 can store the learned data recognition model.
  • the model learning unit 1310-4 can store the learned data recognition model in the memory of the electronic device including the data recognition unit 1320.
  • the model learning unit 1310-4 may store the learned data recognition model in a memory of the electronic device including the data recognition unit 1320 to be described later.
  • the model learning unit 1310-4 may store the learned data recognition model in the memory of the server connected to the electronic device and the wired or wireless network.
  • the memory in which the learned data recognition model is stored may also store, for example, instructions or data associated with at least one other component of the electronic device.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, a middleware, an application programming interface (API), and / or an application program (or " application ").
  • the model evaluating unit 1310-5 inputs the evaluation data to the data recognition model. If the recognition result output from the evaluation data does not satisfy the predetermined criterion, the model evaluating unit 1310-5 can allow the model learning unit 1310-4 to learn again have.
  • the evaluation data may be predetermined data for evaluating the data recognition model.
  • the model evaluation unit 1310-5 it can be evaluated as unsatisfactory.
  • the predetermined criterion is defined as a ratio of 2%
  • the learned data recognition model outputs an incorrect recognition result for evaluation data exceeding 20 out of a total of 1000 evaluation data, Can be estimated that the learned data recognition model is not suitable.
  • the model evaluation unit 1310-5 evaluates whether each of the learned moving image recognition models satisfies a predetermined criterion, Can be determined as a model. In this case, when there are a plurality of models satisfying the predetermined criterion, the model evaluating unit 1310-5 can determine any one or a predetermined number of models previously set in the order of higher evaluation scores as the final data recognition model.
  • the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-4 in the data learning unit 1310, -5) may be fabricated in at least one hardware chip form and mounted on an electronic device.
  • at least one of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 One may be made in the form of a dedicated hardware chip for artificial intelligence (AI), or may be fabricated as part of a conventional general purpose processor (e.g., a CPU or application processor) or a graphics dedicated processor (e.g., GPU) And may be mounted on various electronic devices.
  • AI artificial intelligence
  • the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, Or may be mounted on separate electronic devices, respectively.
  • some of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 May be included in the electronic device, and the rest may be included in the server.
  • At least one of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 Software module. At least one of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5, (Or a program module including an instruction), the software module may be stored in a computer-readable, readable non-transitory computer readable media. Also, in this case, the at least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by an Operating System (OS), and some of the software modules may be provided by a predetermined application.
  • OS operating system
  • OS Operating System
  • 20 is a block diagram of a data recognition unit according to an embodiment.
  • 20 is a block diagram of a data recognition unit 1320 according to some embodiments.
  • a data recognition unit 1320 includes a data acquisition unit 1320-1, a preprocessing unit 1320-2, a recognition data selection unit 1320-3, 1320-4 and a model updating unit 1320-5.
  • the data acquisition unit 1320-1 can acquire data necessary for the situation determination and the preprocessing unit 1320-2 can preprocess the acquired data so that the acquired data can be used for the situation determination.
  • the preprocessing unit 1320-2 can process the acquired data into a predetermined format so that the recognition result providing unit 1320-4, which will be described later, can use the acquired data for the situation determination.
  • the recognition data selection unit 1320-3 can select data necessary for the situation determination from the preprocessed data.
  • the selected data may be provided to the recognition result provider 1320-4.
  • the recognition data selection unit 1320-3 can select some or all of the preprocessed data according to a predetermined criterion for the situation determination.
  • the recognition data selection unit 1320-3 can also select data according to a predetermined criterion by learning by the model learning unit 1310-4, which will be described later.
  • the recognition result provider 1320-4 can apply the selected data to the data recognition model to determine the situation.
  • the recognition result providing unit 1320-4 can provide the recognition result according to the data recognition purpose.
  • the recognition result providing unit 1320-4 can apply the selected data to the data recognition model by using the data selected by the recognition data selecting unit 1320-3 as an input value.
  • the recognition result can be determined by the data recognition model.
  • the inoperative state of the estimated robot 1 may be provided by text, voice, moving picture, image or command (for example, application execution command, module function execution command, etc.).
  • the model updating unit 1320-5 can update the data recognition model based on the evaluation of the recognition result provided by the recognition result providing unit 1320-4. For example, the model updating unit 1320-5 provides the recognition result provided by the recognition result providing unit 1320-4 to the model learning unit 1310-4 so that the model learning unit 1310-4 The data recognition model can be updated.
  • the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-4 in the data recognizing unit 1320 1320-5 may be fabricated in at least one hardware chip form and mounted on an electronic device.
  • At least one may be made in the form of a dedicated hardware chip for artificial intelligence (AI) or as part of a conventional general purpose processor (e.g. CPU or application processor) or a graphics dedicated processor (e.g. GPU) It may be mounted on one electronic device.
  • AI artificial intelligence
  • a conventional general purpose processor e.g. CPU or application processor
  • a graphics dedicated processor e.g. GPU
  • the data acquiring unit 1320-1, the preprocessing unit 1320-2, the recognition data selecting unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 May be mounted on an electronic device, or may be mounted on separate electronic devices, respectively.
  • the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 Some may be included in the electronic device, and the rest may be included in the server.
  • At least one of the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 May be implemented as a software module.
  • At least one of the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 When implemented in a module (or program module including an instruction), the software module may be stored in a computer-readable, non-transitory computer readable medium.
  • the at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS Operating System
  • some of the software module may be provided by an Operating System (OS)
  • some of the software modules may be provided by a predetermined application.
  • 21 is a diagram showing an example of learning and recognizing data by interlocking with an electronic device and a server according to an embodiment.
  • 21 is a diagram showing an example of learning and recognizing data by interlocking with the electronic device 100 and the server 2000 according to some embodiments.
  • the server 2000 can learn a criterion for determining a situation, and the device 1000 can determine a situation based on a learning result by the server 2000.
  • FIG. 21 the server 2000 can learn a criterion for determining a situation, and the device 1000 can determine a situation based on a learning result by the server 2000.
  • the model learning unit 2340 of the server 2000 can perform the function of the data learning unit 1310 shown in Fig.
  • the model learning unit 2340 of the server 2000 can learn what data to use to determine a predetermined situation and how to determine the situation using data.
  • the model learning unit 2340 acquires data to be used for learning, and applies the obtained data to a data recognition model to be described later, so as to learn a criterion for situation judgment.
  • the recognition result providing unit 1320-4 of the device 1000 can also apply the data selected by the recognition data selecting unit 1320-3 to the data recognition model generated by the server 2000 to determine the situation have.
  • the recognition result providing unit 1320-4 transmits the data selected by the recognition data selecting unit 1320-3 to the server 2000.
  • the server 2000 selects the recognition data selecting unit 1320-3, To apply the selected data to the recognition model to determine the situation.
  • the recognition result providing unit 1320-4 can receive from the server 2000 information on the status determined by the server 2000.
  • the electronic device 100 transmits context data corresponding to the non-running state of the robot 1 to the server 2000, and the server 2000 applies the context data to the data recognition model, To estimate the inability to travel.
  • the electronic device 100 can receive from the server 2000 information about the inability to travel state estimated by the server 2000.
  • the recognition result provider 1320-4 of the electronic device 100 can receive the recognition model generated by the server 2000 from the server 2000 and determine the situation using the received recognition model .
  • the recognition result providing unit 1320-4 of the device 1000 can apply the data selected by the recognition data selecting unit 1320-3 to the data recognition model received from the server 2000 to determine the situation have.
  • the electronic device 100 applies the context data corresponding to the non-running state of the robot 1 to the data recognition model received from the server 2000 to estimate the non-running state of the robot 1 .
  • the apparatus may include a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, The same user interface device, and the like.
  • Methods implemented with software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor.
  • the computer-readable recording medium may be a magnetic storage medium such as a read-only memory (ROM), a random-access memory (RAM), a floppy disk, a hard disk, ), And a DVD (Digital Versatile Disc).
  • the computer-readable recording medium may be distributed over networked computer systems so that computer readable code can be stored and executed in a distributed manner.
  • the medium is readable by a computer, stored in a memory, and executable on a processor.
  • This embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, embodiments may include integrated circuit components such as memory, processing, logic, look-up tables, etc., that may perform various functions by control of one or more microprocessors or other control devices Can be employed. Similar to how components may be implemented with software programming or software components, the present embodiments may be implemented in a variety of ways, including C, C ++, Java (" Java), an assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. In addition, the present embodiment can employ conventional techniques for electronic environment setting, signal processing, and / or data processing. Terms such as “mechanism”, “element”, “means”, “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Electromagnetism (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Signal Processing (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치 및 그 동작 방법이 제공된다. 전자 장치는, 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상을 촬영하고, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부에 저장하고, 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함할 수 있다.

Description

전자 장치 및 그 동작 방법
본 개시는 전자 장치 및 그 동작 방법에 관한 것으로서, 더욱 상세하게는, 로봇의 주행을 보조하는 전자 장치 및 방법에 관한 것이다.
또한, 본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용 기술에 관련된 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
로봇의 주행을 보조하는 전자 장치 및 방법을 제공하는 데 있다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따른 전자 장치는, 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상을 촬영하고, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부에 저장하고, 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함할 수 있다.
도 1은 일 실시 예에 따른 로봇의 주행을 보조하는 전자 장치가 동작하는 일 예를 도시하는 도면이다.
도 2는 일 실시 예에 따른 전자 장치의 동작 방법의 흐름도이다.
도 3은 일 실시 예에 따라 주변 영상을 촬영하는 예를 설명하기 위한 도면이다.
도 4는 일 실시 예에 따라 컨텍스트 데이터를 생성하는 예를 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 흐름도이다.
도 6은 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 도면이다.
도 7은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 흐름도이다.
도 8은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 도면이다.
도 9는 일 실시 예에 따라 주행 불능 상황을 학습하고, 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 10은 일 실시 예에 따라 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 11은 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 흐름도이다.
도 12는 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 도면이다.
도 13은 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 흐름도이다.
도 14는 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 16은 다른 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 17은 일 실시예에 따른 로봇의 블록 구성도(block diagram)이다.
도 18은 일 실시예에 따른 프로세서의 블록도이다.
도 19는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 20은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 21은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
일 측면에 따른 전자 장치는, 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상을 촬영하고, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부에 저장하고, 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함할 수 있다.
또한, 일 측면에 따른 전자 장치는, 복수의 주행 불능 상황 각각에 대응하는, 주변 영상과 주변 영상이 촬영된 위치 정보를 포함하는 컨텍스트 데이터를 저장하는 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상과 위치 정보를 획득하고, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 저장부에 저장된 컨텍스트 데이터와 매칭되는지 판단하고, 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 프로세서를 포함할 수 있다.
또한, 일 측면에 따른 전자 장치의 동작 방법은, 전자 장치가 주행하는 중에, 주변 영상을 촬영하는 단계, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하는 단계, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장하는 단계, 및 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는 단계를 포함할 수 있다.
또 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서에서, 로봇(1, 도 1, 도 17)은 로봇(1)의 주행을 보조 또는 제어하는 전자 장치(100, 도 15 내지 도 17)(이하, 전자 장치(100))를 포함할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 로봇(1)(예컨대, 로봇 청소기)에 포함되어 동작함으로써, 자율 주행할 수 있다.
도 1은 일 실시 예에 따른 로봇의 주행을 보조하는 전자 장치가 동작하는 일 예를 도시하는 도면이다.
일 실시 예에 따라 자율 주행하는 로봇(1)이 주행하는 중에, 주행 불능 상황이 발생할 수 있다. 일 실시 예에 따른 주행 불능 상황은, 전자 장치(100)가 포함된 로봇(1)이 자율 주행하는 중에 접촉하게 된 외부 요소(예컨대, 바닥의 재질, 형태, 굴곡, 구조물에 의한 끼임 등)로 인해, 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황일 수 있다.
예를 들어, 로봇 청소기가 주행하는 중에 바닥재의 재질이나, 형태로 인해 더 이상 이동할 수 없게 되거나, 의자와 같은 가구 아래로 진입하여 끼임으로써 더 이상 이동할 수 없게 되는 상황이 발생할 수 있다.
도 1을 참조하면, 일 실시 예에 따른 전자 장치(100)는, 센싱부(110, 도 15, 16)를 이용하여 주변 영상을 촬영하면서 주행할 수 있고, 구조물(예컨대, 의자)(15) 아래에 끼여서 더 이상 이동할 수 없는 주행 불능 상황이 발생하면, DNN(Deep Neural Network) 등의 뉴럴 네트워크(Neural Network)를 기반으로 하는 데이터 인식 모델을 이용하여, 주행 불능 상황을 학습할 수 있다. 전자 장치(100)는 주행 불능 상황을 학습함으로써, 이후 동일한 주행 불능 상황이 발생하기 이전에, 주행 불능 상황이 발생할 것으로 미리 추정할 수 있고, 주행 불능 상황이 발생하지 않도록 주행 경로를 변경하여 주행할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 주행 불능 상황 학습을 통해, 주행 불능 상황을 미리 예측하여 회피할 수 있도록 주행 동작을 제어함으로써, 보다 안전하고 효율적인 로봇 주행 환경을 제공할 수 있다.
도 2는 일 실시 예에 따라 전자 장치의 동작 방법의 흐름도이다. 도 3은 일 실시 예에 따라 주변 영상을 촬영하는 예를 설명하기 위한 도면이다. 도 4는 일 실시 예에 따라 컨텍스트 데이터를 생성하는 예를 설명하기 위한 도면이다. 도 2의 흐름도를 설명하면서, 도 3 내지 도 4의 도면을 참조하여 설명하기로 한다.
도 2의 단계 S201에서, 일 실시 예에 따른 전자 장치(100)는, 전자 장치(100)가 주행하는 중에 센싱부(110, 도 16)를 이용하여 주변 영상을 촬영할 수 있다. 일 실시 예에 따른 센싱부(110, 도 16)는 이미지를 촬영할 수 있는 이미지 센서(228, 도 16)를 포함할 수 있다.
도 3을 참조하면, 일 실시 예에 따라, 로봇(1)이 주행하는 중에, 전자 장치(100)의 프로세서(120, 도 15)는 센싱부(110)가 전방 영상을 촬영하면서 복수의 영상 프레임(30)을 획득하도록 제어할 수 있다.
일 실시 예에 따르면, 전자 장치(100)의 프로세서(120)는 획득된 영상 프레임으로부터, 복수의 특징점(keypoint)을 추출할 수 있다. 프로세서(120)는 영상 프레임으로부터 추출된 특징점을 이용하여, 영상 데이터를 벡터 데이터로 변환한 영상 디스크립터(descriptor)를 생성할 수 있다. 프로세서(120)는 영상 디스크립터(descriptor)를 저장부(140)에 저장할 수 있다.
일 실시 예에 따르면, 후술할 도 9 내지 도 10에서, 영상의 매칭 시, 영상 디스크립터를 이용하여 매칭하는 방법이 이용될 수 있으며, 영상 매칭 방법은 이에 제한되는 것은 아니다.
한편, 일 실시 예에 따라, 프로세서(120)는, 로봇(1)이 주행하는 중에 촬영되는 주변 영상이 저장부(140)의 임시 저장 영역에 저장되도록 제어하고, 미리 설정된 용량이 초과되면, 오래된 영상 데이터부터 삭제되도록 제어할 수 있다.
도 2의 단계 S202에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성할 수 있다.
도 4를 참조하면, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생하면, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위(예컨대, 주행 불능 상황이 발생한 시점으로부터 1분 이내)에 촬영된 영상 프레임(41, 42, 43)을 포함하는 컨텍스트 데이터를 생성할 수 있다.
도 2의 단계 S203에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다.
예를 들어, 도 4를 참조하면, 주행 불능 상황(context 1)에 대응하는 복수의 영상 프레임(41, 42, 43)을 포함하는 컨텍스트 데이터가 저장될 수 있다.
또한, 일 실시 예에 따른 전자 장치(100)는, 위치 정보를 센싱할 수 있는 센싱부(110, 도 16)를 이용하여, 전자 장치(100)가 주행하는 중에 전자 장치(100)의 위치를 나타내는 위치 정보를 획득할 수 있다.
일 실시 예에 따라, 도 4를 참조하면, 전자 장치(100)는 주행하는 중에 복수의 영상 프레임(41, 42, 43)이 촬영된 지점에 대응하는 각각의 위치 정보를 획득할 수 있다. 예컨대, 전자 장치(100)는 각 영상(41)에 대응하는 위치 정보(45)를 더 포함하는 컨텍스트 데이터를 저장할 수 있다.
또한, 일 실시 예에 따른 전자 장치(100)는, 획득된 복수의 영상 프레임(41, 42, 43) 각각으로부터 특징 정보를 추출할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 각 영상 프레임(41, 도 4)으로부터 추출된 특징 정보(46, 도 4)를 더 포함하는 컨텍스트 데이터를 저장할 수 있다.
예를 들어, 특징 정보는, 영상에 포함된 오브젝트(예컨대, 영상에 포함된 가구, 구조물 등)를 식별하기 위한 식별 정보일 수 있다.
또한, 예를 들어, 특징 정보는, 복수의 영상 프레임이 촬영된 지점과 주행 불능 상황이 발생된 지점과의 상대 거리 및 방향에 관한 정보일 수 있다.
또한, 예를 들어, 특징 정보는, 촬영된 주변 영상으로부터 추정되는 주행 경로를 나타내는 경로 정보일 수 있다.
한편, 일 실시 예에 따른 전자 장치(100)의 프로세서(120, 도 15)는, 주행 불능 상황에 따라 생성된 컨텍스트 데이터를, 로봇 주행 중에 촬영되는 주변 영상이 저장되는 저장부(140)의 임시 저장 영역과는 다른 영역에 저장할 수 있다. 프로세서(120)는 주행 불능 상황에 대응하는 컨텍스트 데이터가 임의로 삭제되지 않도록, 저장부(140)의 영구 저장 영역에 저장할 수 있다.
도 2의 단계 S204에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다.
일 실시 예에 따르면, 전자 장치(100)의 프로세서(120)는 뉴럴 네트워크(Neural Network)를 기반으로 하는 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 컨텍스트 데이터를 학습할 수 있다.
일 실시 예에 따르면, 프로세서(120)는, 주행 불능 상황에 대응하는 영상 데이터, 영상 데이터로부터 변환된 영상 디스크립터(discriptor)를 학습할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 주변 영상 데이터에 기초하여, 가상 영상을 생성하고, 가상 영상이 더 포함된 컨텍스트 데이터를 학습할 수 있다. 가상 영상 생성에 관해서는, 도 5 내지 도 6에 관한 설명에서 후술하기로 한다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정할 수 있다. 프로세서(120)는, 데이터 인식 모델을 이용하여, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 학습할 수 있다. 진입 지점 정보에 관해서는, 도 7 내지 도 8에 관한 설명에서 후술하기로 한다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 복수의 영상 프레임으로부터 각각 추출된 디스크립터(discriptor)를 비교하고, 복수의 디스크립터 간의 관계를 학습할 수 있다. 프로세서(120)는 복수의 디스크립터 간의 관계 정보를 더 포함하는 컨텍스트 데이터를 생성할 수 있다.
일 실시 예에 따르면, 프로세서(120)는, 컨텍스트 데이터를 학습함에 따라, 데이터 인식 모델을 업데이트할 수 있다.
도 1 내지 도 4는 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 5는 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 흐름도이다. 도 6은 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 도면이다. 도 5의 흐름도를 설명하면서, 도 6의 도면을 참조하여 설명하기로 한다.
도 5의 단계 S501에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 가상 영상을 생성할 수 있다.
일 실시 예에 따라, 가상 영상은, 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 영상일 수 있다.
도 6을 참조하면, 전자 장치(100)는, 컨텍스트 데이터(context 1)에 포함된 복수의 영상 프레임(50)을 기초로, 주행 불능 상황이 발생한 지점을 로봇(1)이 다른 방향에서 접근한다고 가정할 때 획득될 수 있는 가상의 영상 프레임(60)을 가정하여 생성할 수 있다.
또한, 예를 들어, 복수의 가상 영상 프레임은, 주행 불능 상황이 발생한 지점을 밝기가 다른 환경에서 접근할 때 획득될 것으로 추정되는 영상 프레임일 수 있다.
또한, 예를 들어, 복수의 가상 영상 프레임은, 주행 불능 상황이 발생한 지점에서 충돌한 구조물이 다른 위치에 놓일 때를 가정하여, 영상 프레임내의 구조물을 제외한 영역이 상이한 경우를 가정하여 생성된 영상일 수 있다.
도 5의 단계 S502에서, 일 실시 예에 따른 전자 장치(100)는, 가상 영상을 더 포함하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 또한, 일 실시 예에 따른 프로세서(120)는, 데이터 인식 모델을 이용하여, 가상 영상을 더 포함하는 컨텍스트 데이터를 학습할 수 있다.
도 5 내지 도 6은 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 7은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 흐름도이다. 도 8은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 도면이다. 도 7의 흐름도를 설명하면서, 도 8의 도면을 참조하여 설명하기로 한다.
일 실시 예에 따르면, 로봇(1)이 주행하는 중에 특정 공간에 진입하게 됨으로써, 수 초 후에 주행 불능 상황이 발생할 수 밖에 없는 진입 지점을 분석하여, 로봇(1)이 진입 지점에서 다른 방향으로 회피 주행할 수 있도록 제어할 수 있다.
도 7의 단계 S701에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 진입 지점 정보를 결정할 수 있다.
도 8을 참조하면, 예를 들어, 프로세서(120)는 주행 불능 상황에 대응하는 복수의 영상 프레임(81,82,83) 중 주행 불능 상황이 발생한 지점으로 도달하게 된 원인이 되는 진입 지점에 대응하는 영상 프레임(81)을 결정할 수 있다.
프로세서(120)는, 진입 지점에 대응하는 영상 프레임을 식별하는 정보, 진입 지점의 위치 정보를 포함하는 진입 지점 정보(85)를 결정할 수 있다.
도 7의 단계 S702에서, 일 실시 예에 따른 전자 장치(100)는, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 또한, 일 실시 예에 따른 프로세서(120)는, 데이터 인식 모델을 이용하여, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 학습할 수 있다.
도 7 내지 도 8은 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 9는 일 실시 예에 따라 주행 불능 상황을 학습하고, 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 9의 단계 S901에서, 일 실시 예에 따른 전자 장치(100)는 주행할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 로봇(1, 도 1)(예컨대, 로봇 청소기)에 포함되어 동작함으로써, 자율 주행할 수 있다.
도 9의 단계 S902에서, 일 실시 예에 따른 전자 장치(100)는 주변 영상을 촬영할 수 있다. 전자 장치(100)는 이미지 센서(228)를 포함하는 센싱부(110)를 이용하여, 전자 장치(100)가 주행하는 중에 주변 영상을 촬영할 수 있다.
도 9의 단계 S903에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 주행 불능 상황 발생한 것으로 판단할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 주행 중에 접촉하게 되는 외부 요소(예컨대, 바닥, 구조물 사이에 끼임 등)로 인해 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황이 되면, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
도 9의 단계 S904에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 주행 불능 상황에 대응하는 주변 영상, 영상을 벡터 데이터로 변환한 영상 디스크립터(discriptor), 위치 정보 등을 포함하는 컨텍스트 데이터를 저장할 수 있다.
도 9의 단계 S905에서, 일 실시 예에 따른 전자 장치(100)는, 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 포함된 영상을 기초로, 가상 영상을 생성하고, 가상 영상을 더 포함하는 컨텍스트 데이터를 학습할 수 있다. 또한, 일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 영상으로부터 추출된 특징 정보, 진입 지점 정보 등을 더 포함하는 컨텍스트 데이터를 생성하고 학습할 수 있다.
도 9의 단계 S906에서, 일 실시 예에 따른 전자 장치(100)는, 촬영된 주변 영상이 컨텍스트 데이터와 매칭되는지 판단할 수 있다. 일 실시 예에 따른 전자 장치(100)는 주행하는 중에(S901), 주변 영상을 촬영하면서(S902), 촬영된 주변 영상이, 저장부에 저장된(S904) 컨텍스트 데이터와 매칭되는지 판단할 수 있다.
일 실시 예에 따른 전자 장치(100)는 주행 중에 촬영된 주변 영상이, 저장부에 저장된 컨텍스트 데이터와 매칭된다고 판단하면, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다(S907).
단계 S908에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다. 일 실시 예에 따른 전자 장치(100)는 주행 불능 상황을 회피하기 위해 결정된 주행 경로에 기초하여, 주행을 지속할 수 있다.
한편, 단계 S906에서, 일 실시 예에 따른 전자 장치(100)는, 주행 중에 촬영된 주변 영상이, 저장부에 저장된 컨텍스트 데이터와 매칭되지 않는 것으로 판단되면, 주행을 지속하면서 주변 영상을 촬영하는 동작을 수행할 수 있다(S902).
도 10은 일 실시 예에 따라 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다. 도 11은 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 흐름도이다. 도 12는 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 도면이다. 도 10 및 도 11의 흐름도를 설명하면서, 도 12의 도면을 참조하여 설명하기로 한다.
도 10의 단계 S1001에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 센싱부(110, 도 15)를 이용하여 주변 영상과 위치 정보를 획득할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 센싱부(110, 도 16)를 이용하여 주변 영상을 획득할 수 있다. 또한, 전자 장치(100)는 센싱부(110, 도 16)를 이용하여 위치 정보를 획득할 수 있다.
도 10의 단계 S1002에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 저장부(140, 도 15)에 저장된 컨텍스트 데이터와 매칭되는지 판단할 수 있다.
도 10의 단계 S1003에서, 일 실시 예에 따른 전자 장치(100)는, 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다.
도 11의 단계 S1101에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정할 수 있다.
도 11의 단계 S1102에서, 일 실시 예에 따른 전자 장치(100)는, 단계 S1101에서 결정된, 상대 거리 및 방향을 기초로, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 현재 위치로부터, 주행 불능 상황이 발생한 지점과의 상대 거리 및 방향을 분석하고, 어떤 방향으로 이동하면 주행 불능 상황을 회피할 수 있을지 분석할 수 있다.
도 12를 참조하면, 전자 장치(100)는 주행 중 촬영된 주변 영상을, 저장부(140, 도 15)에 저장된 컨텍스트 데이터(21, 22, 23)와 매칭되는지 판단할 수 있다. 전자 장치(100)는 주행 중 획득된 주변 영상이 컨텍스트 데이터(21)와 매칭되는 것으로 판단함에 따라, 컨텍스트 데이터(21)에 대응하는 주행 불능 상황이 발생할 것으로 추정하고, 주행 불능 상황을 회피 하기 위해 주행 경로를 변경(25)할 수 있다.
일 실시 예에 따르면, 로봇(1)이 특정 구조물에 접촉하면서 주행 불능 상황이 발생했을 때의 상황에 관한 컨텍스트 데이터를 저장하고 학습함으로써, 추후 동일한 구조물에 다시 근접하게 되면, 주행 불능 상황을 추정하고 미연에 회피 주행하도록 제어할 수 있다.
도 13은 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 흐름도이다. 도 14는 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 도면이다. 도 13의 흐름도를 설명하면서, 도 14의 도면을 참조하여 설명하기로 한다.
도 1에서 설명한 바와 같이, 일 실시 예에 따른 전자 장치(100)는, 주행 중에 접촉하게 되는 외부 요소(예컨대, 바닥이나 구조물 사이에 끼임 등)로 인해 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황이 되면, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
또 다른 예로, 일 실시 예에 따른 전자 장치(100)는 주행하는 중에 획득한 영상에 미리 설정된 사용자 제스쳐가 포함된 것으로 판단함에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다(S1301, 도 13).
도 14를 참조하면, 전자 장치(100)는 주행하는 중에 센싱부(110)를 이용하여 주변 영상을 촬영할 수 있다. 전자 장치(100)는 미리 설정된 사용자 제스쳐(50)(예컨대, 전자 장치(100)를 향해 사용자가 손바닥을 펼쳐 드는 제스쳐)가 포함된 주변 영상을 획득함에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
예를 들어, 사용자는 특정 공간(예컨대, 아기 방)에 대해서는 로봇 청소기(1)가 진입하지 못하도록 설정할 필요가 있을 수 있다. 이 때, 사용자가 전자 장치(100)를 향해, 전자 장치(100)에 미리 설정된 제스쳐(예컨대, 손바닥을 펼쳐 드는 제스쳐)를 하면, 전자 장치(100)는 사용자 제스쳐가 입력된 공간을 주행 불능 상황과 동일하게 처리할 수 있다.
도 13의 단계 S1302에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 생성할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 주행 불능 상황 발생에 따른 동작을 수행할 수 있다. 전자 장치(100)는, 미리 설정된 사용자 제스쳐가 포함된 영상을 획득한 시점을 기초로, 컨텍스트 데이터를 생성할 수 있다. 전자 장치(100)는 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다.
도 15는 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 일 실시 예에 따라, 센싱부(110), 저장부(140) 및 프로세서(120)를 포함할 수 있다. 도 15에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 15에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
일 실시 예에 따라, 센싱부(110)는 로봇(1)이 주행하는 중에, 로봇(1)의 주변 영상을 촬영할 수 있다. 또한, 센싱부(110)는 로봇(1)이 주행하는 중에, 로봇(1)의 위치 정보를 획득할 수 있다.
센싱부(110)는 로봇(1)의 주변 영상을 획득하기 위한 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(110)는 카메라와 같은 이미지 센서(228)를 포함할 수 있다.
또한, 센싱부(110)는 로봇(1)의 위치 정보를 획득하기 위한 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(110)는 RADAR 센서(226), LIDAR 센서(227) 및 Odometery 센서(230)와 같은 거리 센서를 포함할 수 있다.
또한, 센싱부(110)는 다수의 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있는 바, 로봇(1)의 전방, 후방, 및 측방 각각의 방향의 영상을 촬영할 수 있다.
저장부(140)는, 마그네틱 디스크 드라이브, 광학 디스크 드라이브, 플래쉬 메모리를 포함할 수 있다. 또는 저장부(140)는 휴대 가능한 USB 데이터 저장 장치가 될 수 있다. 저장부(140)는 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어를 저장할 수 있다. 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어는 휴대 가능한 저장 매체에 저장될 수 있다.
일 실시 예에 따라 저장부(140)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장할 수 있다.
또한, 일 실시 예에 따라 저장부(140)는 전자 장치(100)가 주행하는 중에 촬영한 주변 영상을 저장할 수 있다.
일 실시예에 따라, 프로세서(120)는 적어도 하나의 프로세서로 구성될 수 있다.
일 실시 예에 따라, 프로세서(120)는 전자 장치(100)가 주행하는 중에, 센싱부(110)를 이용하여 주변 영상을 촬영할 수 있다.
또한, 프로세서(120)는, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성할 수 있다.
또한, 프로세서(120)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 저장부(140)에 저장된 컨텍스트 데이터를 학습할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성할 수 있다.
또한, 프로세서(120)는, 생성된 가상 영상을 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 센싱부(110)를 이용하여, 전자 장치(100)가 주행하는 중에, 전자 장치(100)의 위치를 나타내는 위치 정보를 획득할 수 있다.
또한, 프로세서(120)는, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 지점에 대응하는 위치 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 포함된 주변 영상으로부터 특징 정보를 추출하고, 추출된 특징 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정할 수 있다.
또한, 프로세서(120)는, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치(100)가 주행하는 중에 촬영된 주변 영상이, 저장부(140)에 저장된 컨텍스트 데이터에 매칭되는지 판단할 수 있다.
또한, 프로세서(120)는, 촬영된 주변 영상이 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다.
또한, 프로세서(120)는, 주행 불능 상황이 발생할 것으로 추정됨에 따라, 하나 이상의 데이터 인식 모델을 이용하여, 매칭되는 컨텍스트 데이터에 포함된 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 전자 장치(100)의 현재 위치 정보와의 상대 거리 및 방향을 결정할 수 있다. 또한, 프로세서(120)는, 상대 거리 및 방향에 기초하여, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다.
또한, 프로세서(120)는, 미리 설정된 사용자 제스쳐가 포함된 영상이 획득됨에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
도 16은 다른 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 도 15에서 설명한 센싱부(110), 프로세서(120) 및 저장부(140)와, 출력부(130), 입력부(150), 및 통신부(160)를 더 포함할 수 있다.
센싱부(110)는 로봇(1)이 위치해 있는 주변 환경에 관한 정보를 감지하도록 구성되는 다수의 센서들을 포함할 수 있고, 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있다. 예를 들어, 센싱부(110)는 GPS(Global Positioning System)(224), IMU(Inertial Measurement Unit)(225), RADAR 센서(226), LIDAR 센서(227), 이미지 센서(228) 및 Odometery 센서(230)를 포함할 수 있다. 또한, 센싱부(110)는 온/습도 센서(232), 적외선 센서(233), 기압 센서(235), 근접 센서(236), 및 RGB 센서(illuminance sensor)(237) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
또한, 센싱부(110)는 로봇(1)의 움직임을 센싱할 수 있는 움직임 센싱부(238)를 포함할 수 있다. 움직임 센싱부(238)는 지자기 센서(Magnetic sensor)(229), 가속도 센서(Acceleration sensor)(231), 및 자이로스코프 센서(234)를 포함할 수 있다.
GPS(224)는 로봇(1)의 지리적 위치를 추정하도록 구성되는 센서일 수 있다. 즉, GPS(224)는 지구에 대한 로봇(1)의 위치를 추정하도록 구성되는 송수신기를 포함할 수 있다.
IMU(225)는 관성 가속도에 기초하여 로봇(1)의 위치 및 배향 변화들을 감지하도록 구성되는 센서들의 조합이 될 수 있다. 예를 들어, 센서들의 조합은, 가속도계들 및 자이로스코프들을 포함할 수 있다.
RADAR 센서(226)는 무선 신호를 사용하여 로봇(1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 있다. 또한, RADAR 센서(226)는, 물체들의 속도 및/또는 방향을 감지하도록 구성될 수 있다.
LIDAR 센서(227)는 레이저를 사용하여 로봇(1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 잇다. 보다 구체적으로, LIDAR 센서(227)는 레이저를 방출하도록 구성되는 레이저 광원 및/또는 레이저 스캐너와, 레이저의 반사를 검출하도록 구성되는 검출기를 포함할 수 잇다. LIDAR 센서(227)는 코히런트(coherent)(예컨대, 헤티로다인 검출을 사용함) 또는 비코히런트(incoherent) 검출 모드에서 동작하도록 구성될 수 있다.
이미지 센서(228)는 로봇(1) 외부의 환경을 기록하도록 구성되는 스틸 카메라 또는 비디오 카메라가 될 수 있다. 예를 들어, 이미지 센서(228)는 다수의 카메라들을 포함할 수 있고, 다수의 카메라들은 로봇(1)의 외부 상의 다수의 위치들에 배치될 수 있다.
Odometery 센서(230)는 로봇(1)의 위치를 추정하고, 이동 거리를 측정할 수 있다. 예를 들어, Odometery 센서(230)는 로봇(1)의 바퀴의 회전 수를 이용하여 로봇(1)의 위치 변화 값을 측정할 수 있다.
통신부(160)는 다른 디바이스와 무선으로 통신하기 위한 적어도 하나의 안테나를 포함할 수 있다. 예를 들어, 통신부(160)는 와이파이 또는 블루투스를 통해 무선으로 셀룰러 네트워크 또는 다른 무선 프로토콜 및 시스템과 통신하기 위해 이용될 수 있다. 프로세서(120)에 의해 제어되는 통신부(160)는 무선 신호를 송수신할 수 있다. 예를 들어, 프로세서(120)는, 통신부(160)가 셀룰러 네트워크와 무선 신호를 송수신하기 위해, 저장부(140)에 포함된 프로그램을 실행시킬 수 있다.
입력부(150)는 로봇(1)을 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(150)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 또한, 입력부(150)는 마이크를 포함할 수 있는 바, 마이크는, 사용자로부터 오디오(예를 들어, 음성 명령)를 수신하도록 구성될 수 있다.
출력부(130)는 오디오 신호 또는 비디오 신호를 출력할 수 있으며, 출력 장치(280)는 디스플레이(281), 및 음향 출력부(282)를 포함할 수 있다.
디스플레이(281)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 출력부(130)의 구현 형태에 따라, 출력부(130)는 디스플레이(281)를 2개 이상 포함할 수도 있다.
음향 출력부(282)는 통신부(160)로부터 수신되거나 저장부(140)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(282)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
입력부(150) 및 출력부(130)는 네트워크 인터페이스를 포함할 수 있고, 터치 스크린으로 구현될 수 있다.
프로세서(120)는, 저장부(140)에 저장된 프로그램들을 실행함으로써, 센싱부(110), 통신부(160), 입력부(150), 저장부(140), 및 출력부(130)를 전반적으로 제어할 수 있다.
도 17은 일 실시예에 따른 로봇의 블록 구성도(block diagram)이다.
로봇(1)은 일 실시 예에 따라, 전자 장치(100) 및 주행 장치(200)를 포함할 수 있다. 도 17에 도시된 로봇(1)은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 17에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 센싱부(110), 저장부(140) 및 프로세서(120)를 포함할 수 있다.
센싱부(110), 저장부(140) 및 프로세서(120)에 대한 설명은, 도 15, 도 16에서 상술하였으므로, 생략하기로 한다.
주행 장치(200)는 브레이크 유닛(221), 조향 유닛(222) 및 스로틀(223)을 포함할 수 있다.
조향 유닛(222)은 로봇(1)의 방향을 조절하도록 구성되는 매커니즘들의 조합이 될 수 있다.
스로틀(223)은 엔진/모터의 동작 속도를 제어하여, 로봇(1)의 속도를 제어하도록 구성되는 매커니즘들의 조합이 될 수 있다.
브레이크 유닛(221)은 로봇(1)을 감속시키도록 구성되는 매커니즘들의 조합이 될 수 있다. 예를 들어, 브레이크 유닛(221)은 로봇(1)의 바퀴/휠의 속도를 줄이기 위해 마찰을 사용할 수 있다.
도 18은 일부 실시예에 따른 프로세서(120)의 블록도이다.
도 18을 참조하면, 일부 실시예에 따른 프로세서(120)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 상황 판단을 위한 기준을 학습할 수 있다. 데이터 학습부(1310)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
데이터 인식부(1320)는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 19는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 19는 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 상황 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
일 실시 예에 따라, 데이터 획득부(1310-1)는, 주행 불능 상황이 발생하면, 주행 불능 상황에 관한 컨텍스트 데이터를 획득할 수 있다. 예를 들어, 데이터 획득부(1310-1)는, 주행 불능 상황이 발생한 시점의 로봇(1)의 주변 영상을 입력 받을 수 있다. 일 예로, 데이터 획득부(1310-1)는 전자 장치의 입력 기기(예: 마이크로폰, 카메라 또는 센서 등)를 통해 데이터를 입력 받을 수 있다. 또는, 데이터 획득부(1310-1)는 전자 장치와 통신하는 외부 장치를 통해 데이터를 획득할 수 있다.
일 실시 예에 따라, 주변 영상은 복수의 이미지(또는, 프레임(frame))들로 구성될 수 있다. 일 예로, 데이터 획득부(1310-1)는 데이터 학습부(1310)를 포함하는 전자 장치의 카메라, 또는 데이터 학습부(1310)를 포함하는 전자 장치와 통신 가능한 외부의 카메라(예로, CCTV 또는 블랙박스 등)를 통하여 동영상을 입력 받을 수도 있다.
여기서, 카메라는 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전처리부(1310-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(1310-2)는 입력된 동영상의 적어도 일부를 구성하는 복수의 이미지(또는 프레임(frame))들 각각에 포함된 공통 영역을 기초로, 복수의 이미지들의 적어도 일부를 중첩하여 하나의 합성 이미지를 생성할 수 있다. 이 경우, 하나의 동영상에서 복수 개의 합성 이미지들이 생성될 수도 있다. 공통 영역은, 복수의 이미지들 각각에서 동일 또는 유사한 공통 오브젝트(예로, 물체, 동식물 또는 사람 등)를 포함한 영역이 될 수 있다. 또는, 공통 영역은, 복수의 이미지들 각각에서 색, 음영, RGB 값 또는 CMYK 값 등이 동일 또는 유사한 영역이 될 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
예를 들어, 로봇(1)의 주행 불능 상황이 발생했던 주행 경로 상에 영향을 미칠 수 있는 가구, 구조물 등에 관한 데이터가 선택될 수 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
일 실시 예에 따라, 모델 학습부(1310-4)는 발생된 주행 불능 상황에 관한 컨텍스트 데이터에 기초하여, 어떤 주행 불능 상황을 추정할지에 관한 기준을 학습할 수 있다.
또한, 모델 학습부(1310-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도 없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 20은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 20은 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.
도 20을 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
일 실시 예에 따라, 추정된 로봇(1)의 주행 불능 상황은, 텍스트, 음성, 동영상, 이미지 또는 명령어(예로, 어플리케이션 실행 명령어, 모듈 기능 실행 명령어 등) 등으로 제공될 수도 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 21은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 21은 일부 실시 예에 따른 전자 장치(100) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 21을 참조하면, 서버(2000)는 상황 판단을 위한 기준을 학습할 수 있으며, 디바이스(1000)는 서버(2000)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2340)는 도 19에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
또한, 디바이스(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여 상황을 판단할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(2000)에 의해 판단된 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
예를 들어, 전자 장치(100)는 로봇(1)의 주행 불능 상황에 대응하는 컨텍스트 데이터를 서버(2000)에게 전송하고, 서버(2000)가 컨텍스트 데이터를 데이터 인식 모델에 적용하여 로봇(1)의 주행 불능 상황을 추정할 것을 요청할 수 있다. 또한, 전자 장치(100)는 서버(2000)에 의해 추정된 주행 불능 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
또는, 전자 장치(100)의 인식 결과 제공부(1320-4)는 서버(2000)에 의해 생성된 인식 모델을 서버(2000)로부터 수신하고, 수신된 인식 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 디바이스(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다.
예를 들어, 전자 장치(100)는 로봇(1)의 주행 불능 상태에 대응하는 컨텍스트 데이터를, 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여, 로봇(1)의 주행 불능 상황을 추정할 수 있다.
상기 살펴 본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    저장부;
    적어도 하나의 센싱부; 및
    상기 전자 장치가 주행하는 중에, 상기 센싱부를 이용하여 주변 영상을 촬영하고,
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고,
    상기 발생된 주행 불능 상황에 대응하는 상기 생성된 컨텍스트 데이터를 상기 저장부에 저장하고,
    하나 이상의 데이터 인식 모델을 이용하여, 상기 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함하는 전자 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하고,
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    상기 센싱부를 이용하여, 상기 전자 장치가 주행하는 중에, 상기 전자 장치의 위치를 나타내는 위치 정보를 획득하고,
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 지점에 대응하는 위치 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  4. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 컨텍스트 데이터에 포함된 상기 주변 영상으로부터 특징 정보를 추출하고, 상기 추출된 특징 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  5. 제4 항에 있어서,
    상기 특징 정보는,
    상기 주변 영상에 포함된 오브젝트를 식별하기 위한 식별 정보,
    복수의 영상 프레임이 촬영된 지점과 상기 주행 불능 상황이 발생된 지점과의 상대 거리 및 방향에 관한 정보, 및
    상기 주변 영상으로부터 추정되는 주행 경로를 나타내는 경로 정보 중 적어도 하나를 포함하는, 전자 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 상기 컨텍스트 데이터에 기초하여, 상기 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정하고,
    상기 진입 지점 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  7. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 전자 장치가 주행하는 중에 촬영된 주변 영상이, 상기 저장부에 저장된 상기 컨텍스트 데이터에 매칭되는지 판단하고,
    상기 촬영된 주변 영상이 상기 컨텍스트 데이터에 매칭됨에 따라, 상기 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 전자 장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 주행 불능 상황이 발생할 것으로 추정됨에 따라, 상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 매칭되는 컨텍스트 데이터에 포함된 상기 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 상기 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정하고,
    상기 상대 거리 및 방향에 기초하여, 상기 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는, 전자 장치.
  9. 제1 항에 있어서,
    상기 프로세서는,
    미리 설정된 사용자 제스쳐가 포함된 영상이 획득됨에 따라, 상기 주행 불능 상황이 발생한 것으로 판단하는, 전자 장치.
  10. 전자 장치에 있어서,
    복수의 주행 불능 상황 각각에 대응하는, 주변 영상과 상기 주변 영상이 촬영된 위치 정보를 포함하는 컨텍스트 데이터를 저장하는 저장부;
    적어도 하나의 센싱부; 및
    상기 전자 장치가 주행하는 중에, 상기 센싱부를 이용하여 주변 영상과 위치 정보를 획득하고,
    하나 이상의 데이터 인식 모델을 이용하여, 상기 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 상기 저장부에 저장된 상기 컨텍스트 데이터와 매칭되는지 판단하고,
    상기 컨텍스트 데이터에 매칭됨에 따라, 상기 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 프로세서를 포함하는 전자 장치.
  11. 제10 항에 있어서,
    상기 프로세서는,
    상기 주행 불능 상황이 발생할 것으로 추정됨에 따라, 상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 매칭되는 컨텍스트 데이터에 포함된 상기 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 상기 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정하고,
    상기 상대 거리 및 방향에 기초하여, 상기 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는, 전자 장치.
  12. 제10 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하고,
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 상기 저장부에 저장하는, 전자 장치.
  13. 제10 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 상기 컨텍스트 데이터에 기초하여, 상기 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 주변 영상 및 위치 정보를 포함하는 진입 지점 정보를 결정하고,
    상기 진입 지점 정보를 더 포함하는 상기 컨텍스트 데이터를 상기 저장부에 저장하는, 전자 장치.
  14. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치가 주행하는 중에, 주변 영상을 촬영하는 단계;
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하는 단계;
    상기 발생된 주행 불능 상황에 대응하는 상기 생성된 컨텍스트 데이터를 저장하는 단계; 및
    하나 이상의 데이터 인식 모델을 이용하여, 상기 저장된 컨텍스트 데이터를 학습하는 단계를 포함하는, 방법.
  15. 제14 항에 있어서,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하는 단계; 및
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 저장하는 단계를 포함하는, 방법.
PCT/KR2018/008988 2017-08-08 2018-08-07 전자 장치 및 그 동작 방법 WO2019031825A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880051420.9A CN110998614B (zh) 2017-08-08 2018-08-07 电子设备及其操作方法
EP18844791.6A EP3605409B1 (en) 2017-08-08 2018-08-07 Electronic device and operation method therefor
US16/615,557 US11592825B2 (en) 2017-08-08 2018-08-07 Electronic device and operation method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0100435 2017-08-08
KR1020170100435A KR102448287B1 (ko) 2017-08-08 2017-08-08 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
WO2019031825A1 true WO2019031825A1 (ko) 2019-02-14

Family

ID=65271490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/008988 WO2019031825A1 (ko) 2017-08-08 2018-08-07 전자 장치 및 그 동작 방법

Country Status (5)

Country Link
US (1) US11592825B2 (ko)
EP (1) EP3605409B1 (ko)
KR (2) KR102448287B1 (ko)
CN (1) CN110998614B (ko)
WO (1) WO2019031825A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111860851A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于识别图像的方法和系统
EP3782524A1 (en) * 2019-08-23 2021-02-24 LG Electronics Inc. Robot cleaner for avoiding stuck situation through artificial intelligence and method of operating the same
US11899467B2 (en) * 2019-03-07 2024-02-13 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102448287B1 (ko) * 2017-08-08 2022-09-28 삼성전자주식회사 전자 장치 및 그 동작 방법
CN110490126B (zh) * 2019-08-15 2023-04-18 成都睿晓科技有限公司 一种基于人工智能的保险柜安全管控系统
KR102287460B1 (ko) * 2019-08-16 2021-08-10 엘지전자 주식회사 인공지능 무빙 에이전트
KR20190106874A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 인공 지능을 통해 구속 상황을 인식하는 로봇 청소기 및 그의 동작 방법
KR20210047431A (ko) * 2019-10-21 2021-04-30 엘지전자 주식회사 구속 위험 영역 정보를 공유하는 인공 지능 장치 및 그 방법
US11656628B2 (en) * 2020-09-15 2023-05-23 Irobot Corporation Learned escape behaviors of a mobile robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057881A (ko) * 2007-12-03 2009-06-08 한국전자통신연구원 인간지각을 이용한 네트워크 로봇 및 제어 방법
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
WO2016028021A1 (ko) * 2014-08-20 2016-02-25 삼성전자주식회사 청소 로봇 및 그 제어 방법
WO2016129912A1 (ko) * 2015-02-10 2016-08-18 에브리봇 주식회사 로봇 청소기 및 그의 제어 방법
KR20160132748A (ko) * 2015-05-11 2016-11-21 삼성전자주식회사 전자 장치 및 그 제어 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744665B2 (en) * 2009-07-28 2014-06-03 Yujin Robot Co., Ltd. Control method for localization and navigation of mobile robot and mobile robot using the same
KR101782057B1 (ko) * 2010-05-03 2017-09-26 삼성전자주식회사 지도 생성 장치 및 방법
KR101366860B1 (ko) * 2011-09-20 2014-02-21 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
JP6132659B2 (ja) * 2013-02-27 2017-05-24 シャープ株式会社 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
ES2613138T3 (es) * 2013-08-23 2017-05-22 Lg Electronics Inc. Robot limpiador y método para controlar el mismo
US9480380B2 (en) 2013-12-04 2016-11-01 Samsung Electronics Co., Ltd. Cleaning robot and control method thereof
KR102280210B1 (ko) * 2013-12-04 2021-07-22 삼성전자주식회사 청소 로봇 및 그 제어 방법
JP6648411B2 (ja) * 2014-05-19 2020-02-14 株式会社リコー 処理装置、処理システム、処理プログラム及び処理方法
KR102527645B1 (ko) * 2014-08-20 2023-05-03 삼성전자주식회사 청소 로봇 및 그 제어 방법
US9704043B2 (en) 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
US20180000306A1 (en) 2015-01-31 2018-01-04 Mini-Mole Llc Automatic Floor Cleaning Robot
US9953648B2 (en) 2015-05-11 2018-04-24 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
JP6630515B2 (ja) * 2015-08-25 2020-01-15 株式会社トプコン 位置誘導装置、位置誘導方法、プログラム
DE102015119501A1 (de) * 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
CN105511478B (zh) 2016-02-23 2019-11-26 百度在线网络技术(北京)有限公司 应用于扫地机器人的控制方法、扫地机器人及终端
US11327475B2 (en) * 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
TWI689387B (zh) * 2016-05-17 2020-04-01 南韓商Lg電子股份有限公司 行動機器人
KR102448287B1 (ko) * 2017-08-08 2022-09-28 삼성전자주식회사 전자 장치 및 그 동작 방법
KR20190105214A (ko) * 2019-08-23 2019-09-16 엘지전자 주식회사 인공 지능을 통해 구속 상황을 회피하는 로봇 청소기 및 그의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057881A (ko) * 2007-12-03 2009-06-08 한국전자통신연구원 인간지각을 이용한 네트워크 로봇 및 제어 방법
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
WO2016028021A1 (ko) * 2014-08-20 2016-02-25 삼성전자주식회사 청소 로봇 및 그 제어 방법
WO2016129912A1 (ko) * 2015-02-10 2016-08-18 에브리봇 주식회사 로봇 청소기 및 그의 제어 방법
KR20160132748A (ko) * 2015-05-11 2016-11-21 삼성전자주식회사 전자 장치 및 그 제어 방법

Non-Patent Citations (1)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899467B2 (en) * 2019-03-07 2024-02-13 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN111860851A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于识别图像的方法和系统
EP3782524A1 (en) * 2019-08-23 2021-02-24 LG Electronics Inc. Robot cleaner for avoiding stuck situation through artificial intelligence and method of operating the same
US11269342B2 (en) 2019-08-23 2022-03-08 Lg Electronics Inc. Robot cleaner for avoiding stuck situation through artificial intelligence and method of operating the same

Also Published As

Publication number Publication date
EP3605409A1 (en) 2020-02-05
EP3605409B1 (en) 2021-10-20
EP3605409A4 (en) 2020-03-04
KR102623574B1 (ko) 2024-01-11
US11592825B2 (en) 2023-02-28
KR102448287B1 (ko) 2022-09-28
CN110998614A (zh) 2020-04-10
CN110998614B (zh) 2024-03-01
KR20220136312A (ko) 2022-10-07
KR20190016333A (ko) 2019-02-18
US20200174489A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
WO2019031825A1 (ko) 전자 장치 및 그 동작 방법
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2019172645A1 (ko) 차량의 주행을 보조하는 전자 장치 및 방법
WO2020071683A1 (ko) 자율 주행 장치의 객체 인식 방법 및 자율 주행 장치
WO2020080773A1 (en) System and method for providing content based on knowledge graph
WO2020231153A1 (en) Electronic device and method for assisting with driving of vehicle
WO2018117428A1 (en) Method and apparatus for filtering video
WO2019216578A1 (en) Method and apparatus for executing cleaning operation
WO2019208950A1 (ko) 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법
WO2019208965A1 (ko) 전자 장치 및 그 동작 방법
WO2020241930A1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019151735A1 (en) Vision inspection management method and vision inspection system
WO2018117538A1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
WO2019124963A1 (ko) 음성 인식 장치 및 방법
WO2019027141A1 (en) ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE OPERATION OF A VEHICLE
WO2021002499A1 (ko) 군집 로봇을 이용하여 사용자의 위치를 추적하는 방법, 태그장치 및 이를 구현하는 로봇
EP3773111A1 (en) Method and apparatus for executing cleaning operation
WO2020241934A1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2020241920A1 (ko) 장치 정보에 기반하여, 다른 장치를 제어할 수 있는 인공 지능 장치
WO2020251086A1 (ko) 인공지능 세탁물 처리 기기
WO2020246640A1 (ko) 사용자의 위치를 결정하는 인공 지능 장치 및 그 방법
WO2020251074A1 (ko) 음성 인식 기능을 제공하는 인공 지능 로봇 및 그의 동작 방법
WO2021206221A1 (en) Artificial intelligence apparatus using a plurality of output layers and method for same
WO2019245331A1 (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: 18844791

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018844791

Country of ref document: EP

Effective date: 20191023

NENP Non-entry into the national phase

Ref country code: DE