WO2023027312A1 - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2023027312A1
WO2023027312A1 PCT/KR2022/008768 KR2022008768W WO2023027312A1 WO 2023027312 A1 WO2023027312 A1 WO 2023027312A1 KR 2022008768 W KR2022008768 W KR 2022008768W WO 2023027312 A1 WO2023027312 A1 WO 2023027312A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
image
robot
error
identification information
Prior art date
Application number
PCT/KR2022/008768
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 EP22861526.6A priority Critical patent/EP4197713A4/en
Priority to CN202280051166.9A priority patent/CN117715733A/zh
Publication of WO2023027312A1 publication Critical patent/WO2023027312A1/ko
Priority to US18/318,328 priority patent/US20230286166A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • 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
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/243Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
    • 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/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/695Coordinated control of the position or course of two or more vehicles for maintaining a fixed relative position of the vehicles, e.g. for convoy travelling or formation flight
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2101/00Details of software or hardware architectures used for the control of position
    • G05D2101/20Details of software or hardware architectures used for the control of position using external object recognition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2101/00Details of software or hardware architectures used for the control of position
    • G05D2101/22Details of software or hardware architectures used for the control of position using off-board distributed computer resources for performing calculations, e.g. cloud-based
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/30Specific applications of the controlled vehicles for social or care-giving applications
    • G05D2105/31Specific applications of the controlled vehicles for social or care-giving applications for attending to humans or animals, e.g. in health care environments
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/40Indoor domestic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals

Definitions

  • the present disclosure relates to a robot and a control method thereof, and more particularly, to a robot and a control method for determining whether an object is misrecognized.
  • robots capable of interacting with users are being actively used.
  • robots provide various services through interaction, such as responding to a user's question, serving food at a restaurant, or providing directions.
  • a technique for accurately recognizing an object is required. Otherwise, the robot may perform unnecessary motions, and the effectiveness of the robot may decrease. For example, a robot may misrecognize an object and mistakenly approach an unwanted object, or recognize an animal as a person or a person reflected in a mirror as a real person.
  • One technical problem to be solved by the present invention is to provide a robot that determines whether an object is misrecognized and operates based on the determination result.
  • an image sensor in the robot, an image sensor; driving unit; a memory storing at least one instruction; and a processor, wherein the processor acquires a first image captured by the image sensor, inputs the first image to an object recognition model, and obtains first identification information about an object included in the first image and Acquiring first information including a first reliability of the first identification information, controlling the driving unit so that the robot approaches the object, and capturing second information captured by the image sensor while the robot approaches the object An image is acquired, and second information including second identification information about the object and a second reliability of the second identification information is obtained by inputting the second image to the object recognition model, and the first information and A robot may be provided that compares the second information to determine whether an error exists in the first information, and controls the operation of the robot based on the determination result.
  • the processor may determine that an error exists in the first information when the first reliability is greater than the second reliability.
  • the processor may determine that an error exists in the first information when the first identification information and the second identification information are different.
  • the processor stores information about the error in the memory, and the information about the error includes the first image and a first image in which the first image is captured. It may include first position information and first direction information of the robot at a time point.
  • the processor obtains a third image captured by the image sensor, and inputs the third image to the object recognition model to determine third identification information about an object included in the third image and the third identification information.
  • Third information including a third degree of reliability may be obtained, and an operation of the robot may be controlled based on the third information and the information about the error.
  • the processor may control the driving unit to move toward an object included in the third image when the third reliability is greater than a predetermined value.
  • the processor obtains third location information and third direction information of the robot at a third point in time when the third image is captured, and the first location information, the first direction information, the third location information, and the third location information. Based on the third direction information, it may be determined whether the location where the first image was captured corresponds to the location where the third image was captured.
  • the processor determines the similarity between the first image and the third image when the difference between the first location information and the third location information is within a threshold value, and if the similarity value is greater than the threshold value, the predetermined value can increase
  • the processor may determine a similarity between the first image and the third image by inputting the first image and the third image to a similarity determination model.
  • a control method of a robot including an image sensor, obtaining a first image captured by the image sensor; acquiring first information including first identification information about an object included in the first image and first reliability of the first identification information by inputting the first image to an object recognition model; controlling the robot to approach the object; obtaining a second image captured by the image sensor while the robot approaches the object; obtaining second information including second identification information about the object and second reliability of the second identification information by inputting the second image to the object recognition model; comparing the first information and the second information to determine whether an error exists in the first information; And controlling the operation of the robot based on the determination result; a control method including may be provided.
  • the determining step if the first reliability level is greater than the second reliability level, it may be determined that an error exists in the first information.
  • the determining step if the first identification information and the second identification information are different, it may be determined that an error exists in the first information.
  • the control method further includes, when it is determined that an error exists in the first information, storing information about the error in the memory, wherein the information about the error includes the first image, the first image, and the first image. It may include first location information and first direction information of the robot at a first point in time when one image is captured.
  • the control method may include obtaining a third image captured by the image sensor; acquiring third information including third identification information about an object included in the third image and third reliability of the third identification information by inputting the third image to the object recognition model; and controlling an operation of the robot based on the third information and information about the error.
  • the control method may further include controlling the robot to move toward an object included in the third image when the third reliability is greater than a predetermined value.
  • the control method may include obtaining third location information and third direction information of the robot at a third point in time when the third image is captured; and determining whether a place where the first image was taken corresponds to a place where the third image was taken based on the first location information, the first direction information, the third location information, and the third direction information. ; may be further included.
  • the control method may further include determining a degree of similarity between the first image and the third image when it is determined that the location where the first image was captured corresponds to the location where the third image was captured; and increasing the preset value when the similarity is greater than the threshold value.
  • the similarity between the first image and the third image may be determined by inputting the first image and the third image to a similarity determination model.
  • object misrecognition of the robot can be prevented. Accordingly, the user's satisfaction may be improved.
  • FIG. 1 is a diagram for explaining a concept of a robot according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram showing the configuration of a robot according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining an error determination method according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining an error determination method according to another embodiment of the present disclosure.
  • FIG. 5 is a flowchart for controlling a preset value according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining a method of determining an error place according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram for explaining a method of determining a similarity between images according to an embodiment of the present disclosure.
  • 8A is a flowchart illustrating a method for controlling a robot according to an embodiment of the present disclosure.
  • 8B is a flowchart illustrating a method for controlling a robot according to another embodiment of the present disclosure.
  • Figure 9a is a sequence diagram for explaining the operation of the robot control system according to an embodiment of the present disclosure.
  • Figure 9b is a sequence diagram for explaining the operation of the robot control system according to another embodiment of the present disclosure.
  • the robot 100 may be a service robot.
  • the robot 100 may be implemented as various types of robots (eg, cleaning robots, etc.).
  • the robot 100 may perform work within a space S (eg, a television (TV) store). For example, the robot 100 may detect a user while moving within the space (S). The robot 100 provides a service (eg, product guidance) by performing an interaction with the detected user.
  • a space S eg, a television (TV) store
  • the robot 100 may detect a user while moving within the space (S).
  • the robot 100 provides a service (eg, product guidance) by performing an interaction with the detected user.
  • a service eg, product guidance
  • the robot 100 may obtain an image including the robot 100 periphery in order to detect the user, and may detect the user by analyzing the image.
  • each image is affected by various factors (eg, the angle at which the image was taken, the distance between the image sensor and the object, the presence or absence of external light, etc.) Pixel values corresponding to included objects may be different. Accordingly, an object recognition result corresponding to each image may be different.
  • the robot 100 may acquire the first image 11 and recognize the object 1 included in the first image 11 .
  • the robot 100 may move to perform interaction with the object 1 .
  • the robot 100 may obtain a second image 12 . That is, the second image 12 is generated when the robot 100 is located closer to the object 1 than the position at which the first image 11 is captured while the robot 100 approaches the object 1.
  • An image 12 may be captured.
  • the second image 12 does not include the object 1, object recognition results in the first image 11 and the second image 12 may be different.
  • the robot 100 may determine that the analysis result of the first image 11 includes an error based on the first image 11 and the second image 12 . That is, the robot 100 may determine that the object 1 is misrecognized.
  • the robot 100 may store information about the error.
  • the information about the error may include the first image 11 and location information of the robot 100 at a time point at which the first image 11 was captured.
  • the robot 100 may identify the current location as a location where an error occurred in the past. Also, the robot 100 may increase a preset value for determining an operation to be performed and perform the operation based on the changed preset value.
  • the preset value is a reference value for determining whether to perform an operation related to the identified object, and as the preset value increases, the possibility that the robot 100 performs an operation related to the identified object may decrease. . Accordingly, the robot 100 can prevent erroneous operation due to object erroneous recognition.
  • FIG. 2 is a block diagram showing the configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a sensor unit 110, a driving unit 120, a communication interface 130, a memory 140, and a processor 150. However, it is not limited thereto, and the robot 100 may further include a speaker for outputting a guide voice and a display for displaying a guide message.
  • the robot 100 may be a service robot, but is not limited thereto, and may be various robots such as industrial robots and military robots. Hereinafter, each configuration will be described.
  • the sensor unit 110 may include an image sensor 111 , a light detection and ranging (LiDAR) sensor 112 , a GPS sensor 113 , and a motion sensor 114 . However, it is not limited thereto, and the sensor unit 110 may further include various sensors such as a depth sensor and an ultrasonic sensor.
  • LiDAR light detection and ranging
  • the image sensor 111 (or camera) is a component for obtaining an image taken around the robot 100.
  • the processor 150 may obtain a photographed image based on a sensing value of the image sensor 111 .
  • the image sensor 111 may photograph the surroundings of the robot 100 at a preset period.
  • the image sensor 111 may be arranged to photograph the front of the robot 100 .
  • the image sensor 111 may include a Complementary Metal Oxide Semiconductor (CMOS) sensor and a Charge Coupled Device (CCD) sensor.
  • CMOS Complementary Metal Oxide Semiconductor
  • CCD Charge Coupled Device
  • the lidar sensor 112 may obtain scan data including positional information about an object existing around the robot 100 .
  • the processor 150 may obtain location information about objects around the robot 100 based on scan data obtained through the lidar sensor 112 .
  • the location information of the object may include distance information and angle information between the robot 100 and the object.
  • the lidar sensor 112 may perform a scan at a predetermined angle (eg, 360 degrees) with respect to the robot 100 .
  • the lidar sensor 112 may output a laser beam in the form of a point light source at a preset angle.
  • the lidar sensor 112 may emit a laser beam in the form of a line beam.
  • the GPS sensor 113 is a sensor for receiving a Global Positioning System (GPS) signal.
  • GPS Global Positioning System
  • the GPS sensor 113 may obtain current location information (x, y, z) of the robot 100 based on the GPS signal.
  • the motion sensor 114 may obtain motion information of the robot 100 .
  • the motion sensor 114 may include an Inertial Measurement Unit (IMU) sensor.
  • the processor 150 may obtain posture information of the robot 100 based on a sensing value of the motion sensor 114 .
  • the posture information of the robot 100 may include information about the rotation direction and rotation angle of the robot 100 and the direction in which the robot 100 is looking.
  • the direction in which the robot looks may be a direction in which a driving path of the robot points or a direction in which a camera of the robot takes pictures.
  • the driving unit 120 may include a wheel for moving the robot 100 and a wheel driving motor for rotating the wheel.
  • the driving unit 120 includes a motor driving circuit that supplies driving current to the wheel driving motor, a power transmission module that transmits the rotational force of the wheel driving motor to the wheel, and a rotation detection that detects rotational displacement and rotational speed of the wheel driving motor or wheel.
  • a sensor may be further included.
  • the communication interface 130 includes at least one circuit and can communicate with various types of external devices according to various types of communication methods.
  • the communication interface 130 may transmit a captured image acquired through the sensor unit 110 to an external server.
  • the communication interface 130 may receive information about an object included in a captured image from an external server.
  • the communication interface 130 is a Wi-Fi module, a Bluetooth module, a ZigBee module, a Beacon module, a cellular communication module, a 3G (3rd generation) mobile communication module, a 4G (4th generation) mobile It may include at least one of a communication module, a 4th generation Long Term Evolution (LTE) communication module, and a 5G (5th generation) mobile communication module.
  • LTE Long Term Evolution
  • the memory 140 may store an operating system (OS) for controlling the overall operation of the components of the robot 100 and commands or data related to the components of the robot 100 .
  • OS operating system
  • the memory 140 may store map information of a space where the robot 100 is located.
  • the memory 140 may store data necessary for a module for controlling the operation of the robot 100 to perform various operations.
  • the module for controlling the operation of the robot 100 includes an object information acquisition module 151, an error determination module 152, an error information acquisition module 153, an error location identification module 154, and an operation control module 155. can include
  • the memory 140 may store the learned neural network model.
  • the memory 140 may include a first neural network model (eg, the object recognition model NN1) and a second neural network model (eg, the similarity acquisition model NN2).
  • the memory 140 may be implemented as a non-volatile memory (ex: hard disk, solid state drive (SSD), flash memory), volatile memory, or the like.
  • a neural network may be implemented in various forms, and the number of hidden layers and nodes may vary according to embodiments.
  • the processor 150 may be electrically connected to the memory 140 to control overall functions and operations of the robot 100.
  • the processor 150 may load data stored in the non-volatile memory into the volatile memory for the modules 151 to 155 to perform various operations.
  • loading refers to an operation of loading and storing data stored in a non-volatile memory in a volatile memory so that the processor 150 can access it.
  • the object information acquisition module 151 may acquire an image captured by the image sensor 111 .
  • the object information acquisition module 151 may obtain a first image and a second image.
  • the first image is an image captured when the distance between the image sensor 111 and the object is the first distance
  • the second image is a second distance where the distance between the image sensor 111 and the object is less than the first distance. It may be an image captured at the time of day.
  • the first image and the second image may include at least one common object.
  • the first image and the second image may include a first object in common.
  • the object information acquisition module 151 may acquire information about an object included in the obtained image.
  • the information about the object may include identification information (eg, a person) of the object and reliability of the identification information. Reliability may indicate how accurate or reliable the identification information is, and may be a display value between 0 and 1. The higher the reliability, the higher the accuracy of the identification information.
  • the object information acquisition module 151 may acquire information about an object by inputting a photographed image to the object recognition model NN1.
  • the object recognition model NN1 is a neural network model learned to acquire information about an object included in an input image, and may include a Convolutional Neural Network (CNN).
  • CNN Convolutional Neural Network
  • the object information acquisition module 151 inputs the first image to the object recognition model NN1 to include first identification information about a first object included in the first image and a first reliability of the first identification information. First information can be obtained. In addition, the object information acquisition module 151 inputs the second image to the object recognition model NN1 to determine the second identification information about the first object commonly included in the first image and the second image and the second identification information. Second information including the second reliability may be obtained.
  • the error determination module 152 may determine whether an error exists in the information about the object acquired through the object information acquisition module 151 .
  • the error determination module 152 may determine whether there is an error in information about an object by comparing a plurality of images captured under different shooting conditions.
  • the photographing condition may be determined based on at least one of a distance and an angle between the image sensor 111 and the object.
  • a method of determining whether an error exists in information about an object based on a plurality of images taken when the distance between the image sensor 111 and the object is different will be described.
  • the first image captured when the distance between the image sensor 111 and the object is the first distance and the captured image when the distance between the image sensor 111 and the object is a second distance smaller than the first distance.
  • a second image may be acquired.
  • the first image and the second image may include the first object in common.
  • the error determination module 152 may determine whether an error exists in the first information based on first information corresponding to the first image and second information corresponding to the second image. For example, the error determination module 152 may determine that an error exists in the first information. For example, the first identification information for the first object may be 'person', and the second identification information for the first object may be 'dog'. And, if the first identification information and the second identification information are different from each other, the error determination module 152 prioritizes the second identification information over the first identification information when the first identification information and the second identification information are different. It may be determined that an error exists in the identification information.
  • the second image may not include the first object.
  • the second information about the second image may not include information about the first object.
  • the error determination module 152 may determine that an error exists in the first information. For example, if an object is not identified in the area of the second image corresponding to the first object, the error determination module 152 may determine that an error exists in the first information.
  • the error determination module 152 may determine that an error exists in the first information.
  • the first identification information and the second identification information for the first object may each correspond to 'person', the first reliability may be 0.7, and the second reliability may be 0.5.
  • the error determination module 152 may determine that an error exists in the first information.
  • the error determination module 152 may acquire information about each of a plurality of images captured at different angles, and determine whether an error exists in the acquired information. For example, a first image captured when the first object is located at the edge of the viewing angle of the image sensor 111 and a second image captured when the first object is located at the center of the viewing angle of the image sensor 111 are acquired. It can be. When the first identification information for the first object included in the first image and the second identification information for the first object included in the second image are different, the error determination module 152 performs the first identification information or the second identification information. It can be determined that there is an error in the information.
  • the error information acquisition module 153 may acquire information about the error and store it in the memory 140 .
  • the information about the error may include an image captured at the error location, and location information and direction information of the robot 100 when the image is captured.
  • the error information acquisition module 153 may store the first image and first position information and first direction information of the robot 100 in the memory 140 at a first point in time when the first image was captured. Meanwhile, position information of the robot 100 by time may be stored in the memory 140 .
  • location information of the robot 100 may be calculated based on previously stored map information and a sensed value of the lidar sensor 112 . Alternatively, location information of the robot 100 may be obtained based on the GPS sensor 113 .
  • the robot 100 may operate in a first state of determining whether there is an error in information about an object and collecting and storing error information and in a second state of interacting with a user.
  • the aforementioned error determination module 152 and error information acquisition module 153 may operate when the robot 100 is in the first state. That is, the error determination module 152 and the error information acquisition module 153 may not operate when the robot 100 is in the second state.
  • the error place identification module 154 compares the location information and direction information of the current robot 100 with information about the error stored in the memory 140, so that the place where the current robot 100 is located is the place where the error occurred (hereinafter , referred to as an error place) can be identified. If the position of the current robot 100 is within a preset range from the place where the error occurred, and the difference between the viewing angle of the current robot 100 or the image sensor 111 and the stored angle is within the preset range, the error location is identified. Module 154 may determine that robot 100 is currently located in an error location.
  • the motion control module 155 may control various motions of the robot 100 based on the state of the robot 100 . If an object is identified in the image obtained through the image sensor 111 when the robot 100 is in the first state, the motion control module 155 may control the driving unit 120 to approach the identified object. For example, the motion control module 155 may control the driving unit 120 to approach a first object included in the first image.
  • the first image may be an image taken when the distance between the robot 100 and the first object is the first distance.
  • the motion control module 155 may control the driving unit 120 so that the distance between the first object and the robot 100 is smaller than the first distance. Accordingly, the image sensor 111 may capture a second image at a second distance where the distance between the robot 100 and the first object is smaller than the first distance.
  • the motion control module 155 may control the driving unit 120 so that the robot 100 rotates within a range in which the identified object does not deviate from the viewing angle of the image sensor 111 .
  • the motion control module 155 controls the robot 100 ) may control the driving unit 120 to rotate +5 degrees. Accordingly, the image sensor 111 may capture the same object from multiple angles.
  • the motion control module 155 may control the motion of the robot 100 based on the information about the object obtained through the object information acquisition module 151 .
  • the motion control module 155 may control the motion of the robot 100 based on the reliability of the identification information on the object. Specifically, when the reliability of the identification information on the object is greater than a predetermined value (eg, 0.5), the motion control module 155 may control the robot 100 to perform an operation related to the object.
  • a predetermined value eg, 0.5
  • the motion control module 155 may determine the object as noise and may not perform motion control related to the object. That is, the preset value may be a reference value for determining whether to perform an operation related to the identified object.
  • the motion control module 155 approaches the object and controls a speaker to output a voice guide or a display to output a video guide. You can control it.
  • the motion control module 155 may not perform motion control related to the object.
  • the preset value may be changed according to the position of the robot 100. For example, when the robot 100 is located in an error location, the preset value may be increased. If the preset value increases, the possibility of the robot 100 performing an operation related to the identified object may decrease. That is, since an error may be included in information about an object at an error place, if the preset value increases, an operation related to the misrecognized object (eg, an operation in which a non-human object is misrecognized as a human and the robot approaches the object) is performed. can prevent doing so.
  • the misrecognized object eg, an operation in which a non-human object is misrecognized as a human and the robot approaches the object
  • the motion control module 155 may change a preset value based on a similarity between an image captured at the current location and an image stored in the memory 140 as error information.
  • the operation control module 155 may determine a similarity between the first image stored as error information in the memory 140 and the third image captured at the current location. If the similarity is greater than the threshold value, the operation control module 155 may increase the preset value. On the other hand, if the similarity is less than the threshold value, the operation control module 155 may not change the preset value.
  • the reason for changing the preset value based on the similarity between the stored error information and the current image is that, even if photographing is taken from the same location and looking in the same direction, an existing misrecognized object disappears or a new object is added. This is because environmental changes such as For example, a new user not included in the first image may be located at the place where the error occurs.
  • the robot 100 does not perform an operation (eg, interaction) related to the new user. Accordingly, inconvenience to new users may be caused.
  • the motion control module 155 may determine the similarity between the first image and the third image using the similarity acquisition model NN2.
  • the similarity acquisition model NN2 is a neural network model trained to obtain a similarity between a plurality of input images, and may include a convolutional neural network (CNN).
  • the operation control module 155 may input the first image and the third image to the similarity acquisition model NN2 to determine the similarity between the first image and the third image.
  • each of the modules 151 to 155 is described as a configuration of the processor 150, but this is only an example, and each of the modules 151 to 155 may be stored in the memory 140.
  • the processor 150 may load the plurality of modules 151 to 155 stored in the memory 140 from non-volatile memory to volatile memory to execute respective functions of the plurality of modules 151 to 155.
  • each module of the processor 150 may be implemented as software or a combination of software and hardware.
  • Processor 150 may be composed of one or a plurality of processors.
  • the one or more processors may be a general-purpose processor such as a CPU, an AP, or a digital signal processor (DSP), a graphics-only processor such as a GPU or a vision processing unit (VPU), or an artificial intelligence-only processor such as an NPU.
  • DSP digital signal processor
  • GPU graphics-only processor
  • VPU vision processing unit
  • NPU an artificial intelligence-only processor
  • One or more processors control input data to be processed according to predefined operating rules or artificial intelligence models stored in the memory 140 .
  • the processors dedicated to artificial intelligence may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
  • a predefined action rule or an artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created. means burden.
  • Such learning may be performed in the device itself in which artificial intelligence according to the present disclosure is performed, or through a separate server and/or system.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the above examples.
  • AI models can be created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created.
  • An artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values.
  • a plurality of weights possessed by a plurality of neural network layers may be optimized by a learning result of an artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from an artificial intelligence model is reduced or minimized during a learning process.
  • the artificial intelligence model can be processed by an artificial intelligence processor designed with a hardware structure specialized for the processing of artificial intelligence models.
  • AI models can be created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created. means burden.
  • An artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Generative Adversarial Network (GAN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, but is not limited to the above examples.
  • DNN deep neural network
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Recurrent Neural Network
  • GAN Generative Adversarial Network
  • RBM Restricted Boltzmann Machine
  • DBN Deep Belief Network
  • BDN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • FIG. 3 is a diagram for explaining an error determination method according to an embodiment of the present disclosure.
  • the robot 100 may obtain a first image 31 of the first object 3 when the distance between the robot 100 and the first object 3 is the first distance.
  • the robot 100 may acquire first information about the first object 3 by performing an object recognition operation based on the first image 31 .
  • the first information about the first object 3 may include first identification information (human) and a first reliability (0.58) of the first identification information.
  • the robot 100 When the robot 100 approaches the first object 3 and the distance between the robot 100 and the first object 3 is a second distance smaller than the first distance, the second object 3 is photographed. Image 32 can be obtained.
  • the robot 100 may acquire information about the first object 3 by performing an object recognition operation based on the second image 32 .
  • the second information about the first object 3 may include second identification information (human) and a second reliability level (0.7) of the second identification information.
  • the robot 100 may determine whether an error exists in the first information based on the first information and the second information. Specifically, the robot 100 may determine whether the first identification information matches the second identification information and whether the second reliability is greater than the first reliability. When the first identification information matches the second identification information and the second reliability is greater than the first reliability, it may be determined that there is no error in the first information of the robot 100 . That is, the robot 100 may determine that the first object 3 is not misrecognized. On the other hand, if the first identification information and the second identification information do not match or the second reliability is smaller than the first reliability, it may be determined that there is no error in the first information of the robot 100 . In FIG. 3, since the first identification information (human) and the second identification information (human) match, and the second reliability (0.7) is greater than the first reliability (0.58), the robot 100 has an error in the first information. It can be determined that does not exist.
  • FIG. 4 is a diagram for explaining an error determination method according to another embodiment of the present disclosure.
  • the robot 100 may obtain a first image 41 of the first object 4 when the distance between the robot 100 and the first object 4 is the first distance.
  • the first object 1 may not be an actual object, but may be an object included in an image output from a display device.
  • the robot 100 may acquire first information about the first object 4 by performing an object recognition operation based on the first image 41 .
  • the first information about the first object 4 may include first identification information (human) and a first reliability (0.48) of the first identification information.
  • the robot 100 may acquire the second image 42 while approaching the first object 4 . Meanwhile, while the robot 100 is moving, the image output from the display device changes, so that the second image 42 may include the second object 5 instead of the first object 4 .
  • the robot 100 may acquire information about the second object 5 by performing an object recognition operation based on the second image 42 .
  • the second information about the second object 5 may include second identification information (dog) and a second reliability (0.52) of the second identification information.
  • the robot 100 may determine that an error exists in the first information or the second information. That is, the robot 100 may determine that the first object 4 is misrecognized.
  • FIG. 5 is a flowchart for controlling a preset value according to an embodiment of the present disclosure.
  • the robot 100 may determine whether the current location is an error location (S510).
  • FIG. 6 is a diagram for explaining a method of determining an error place according to an embodiment of the present disclosure.
  • the robot 100 stores map information 61 for a space where the robot 100 is currently located.
  • the robot 100 stores information (eg, location information) about a place where an error has previously occurred (ie, an error place) 62 .
  • the robot 100 may compare information about the current location (x1, y1) and the viewing direction (v1) with the stored error location to determine whether the robot 100 is located in the error location 62.
  • the error place 62 may include various environments, such as a wallpaper on which a person is drawn or a mirror placed thereon.
  • the robot 100 may determine whether the image obtained from the current location and the erroneous location are similar (S520). Specifically, the robot 100 may determine whether the similarity between the image obtained at the current location and the image obtained at the error location is greater than a threshold value. If the similarity is greater than the threshold value, the robot 100 may determine that the image acquired at the current location and the image obtained at the error location are similar. On the other hand, if the degree of similarity is smaller than the threshold value, the robot 100 may determine that the image obtained from the current location and the image obtained from the error location are not similar.
  • FIG. 7 is a diagram for explaining a method of determining a similarity between images according to an embodiment of the present disclosure.
  • the robot 100 inputs a first image 71 obtained from an error location and a third image 73 obtained from a current location to the similarity acquisition model NN2 to obtain a first image ( 71) and the similarity of the third image 73 may be obtained.
  • the first image 71 is information about the error location and may be previously stored in the robot 100 .
  • the robot 100 may adjust a preset value (S530). Specifically, the robot 100 may increase the preset value. On the other hand, if it is determined that the image acquired at the current location and the image obtained at the error location are not similar, the robot 100 may maintain the preset value (S540).
  • the robot 100 acquires identification information ('person') and reliability ('0.65') of the identification information ('person') for an object, and a preset value is set to 0.6.
  • the robot 100 may perform an operation related to the object. For example, the robot 100 may approach an object and interact with the object.
  • the obtained reliability ('0.65') is smaller than the preset value, and thus the robot 100 may not perform an object-related operation. That is, as the preset value increases, there is an effect of reducing the possibility that the robot 100 misrecognizes an object and malfunctions.
  • the robot 100 may determine that the first image 71 and the third image 73 are not similar and may maintain a preset value. Accordingly, the robot 100 can perform an operation related to the user 7, and the user 7 can receive a service. That is, a problem in which the user 7 cannot receive the service can be prevented.
  • FIG. 8A is a flowchart illustrating a method for controlling a robot according to an embodiment of the present disclosure.
  • FIG. 8A is a flowchart illustrating a method of controlling a robot when operating in a first mode of collecting error information.
  • the robot 100 obtains a first image (S811), and provides first information including first identification information about an object included in the first image and a first reliability of the first identification information. It can be obtained (S821).
  • the robot 100 may approach the object (S831) and obtain a second image while approaching the object (S841).
  • the robot 100 may obtain second information including second identification information about the object and second reliability of the second identification information based on the second image (S851).
  • the robot 100 may determine whether an error exists in the first information or the second information (S861). For example, if the first reliability level is greater than the second reliability level, the robot 100 may determine that an error exists in the first information or the second information. Alternatively, if the first identification information and the second identification information are different, the robot 100 may determine that an error exists in the first information or the second information.
  • the robot 100 may acquire and store information about the error (S871).
  • the information about the error may include a first image, first position information and first direction information of the robot 100 at a first time point at which the first image was captured.
  • FIG. 8B is a flowchart illustrating a method for controlling a robot according to another embodiment of the present disclosure.
  • FIG. 8B is a flowchart illustrating a method of controlling a robot when operating in a second mode for performing an operation for providing a service.
  • the robot 100 may perform an operation to detect a user while traveling in a preset area.
  • the robot 100 may determine whether the robot 100 is located in an error location (S812). For example, the robot 100 may compare stored error-related information and current location information to determine whether the current location corresponds to an error location.
  • the robot 100 may acquire a third image (S822) and adjust a predetermined value based on the error information and the third image (S832). For example, the robot 100 may determine the similarity between the first image and the third image captured in the error location. If the degree of similarity is greater than the threshold value, the robot 100 may increase the preset value. On the other hand, if the degree of similarity is smaller than the threshold value, the robot 100 may maintain the preset value without adjusting it.
  • the robot control operation according to the present disclosure may be performed by a robot control system composed of a robot and a server.
  • a robot control system composed of a robot and a server.
  • the operation of the robot control system will be described.
  • Figure 9a is a sequence diagram for explaining the operation of the robot control system according to an embodiment of the present disclosure. Specifically, Figure 9a is a sequence diagram for explaining the operation of the robot control system when the robot operates in the first mode to collect error information.
  • the robot control system 1000 may include a robot 100 and a server 200 .
  • the robot 100 may obtain a first image (S911) and transmit the first image to the server 200 (S921).
  • the server 200 may obtain first information including first identification information about an object included in the first image and a first reliability of the first identification information (S931). For example, the server 200 may acquire first information by inputting a first image to an object recognition model. Meanwhile, the processor of the server 200 has higher performance than the processor 150 of the robot 100, so that the first information can be obtained more quickly. Alternatively, the object recognition model stored in the server 200 may be larger than the object recognition model stored in the robot 100 . Accordingly, the information obtained in S931 and S971 may be more accurate than the information obtained in S821 and S851 of FIG. 8A.
  • the server 200 may transmit the first information to the robot 100 (S941).
  • the robot 100 may approach the object based on the first information and obtain a second image while approaching the object (S951). Then, the robot 100 may transmit the second image to the server 200 (S961).
  • the server 200 may obtain second information including second identification information about the object and second reliability of the second identification information based on the second image (S971). For example, the server 200 may acquire the second information by inputting the second image to the object recognition model. Then, the server 200 may determine whether an error exists in the first information or the second information (S981). The server 200 may determine whether there is an error in the first information or the second information based on the error determination method described in FIGS. 2 to 4 , and a detailed description thereof will be omitted. If there is an error in the first information or the second information, information about the error may be acquired and stored (S991).
  • Figure 9b is a sequence diagram for explaining the operation of the robot control system according to another embodiment of the present disclosure. Specifically, Figure 9b is a sequence diagram for explaining the operation of the robot control system when the robot operates in the second mode to perform an operation for service provision.
  • the robot 100 may transmit current location information to the server 200 (S912).
  • the server 200 may determine whether the robot 100 is located in an error location (S922).
  • the server 200 can determine whether the robot 100 is located in the erroneous place based on the error place determination method described in FIGS. 5 and 6, and a detailed description thereof will be omitted.
  • the server 200 may request a captured image at the current location from the robot 100 .
  • the robot 100 may acquire a third image (S932) and transmit the third image to the server 200 (S942).
  • the server 200 may adjust the preset value based on the error information and the third image (S952). For example, the server 200 may determine a similarity between the first image and the third image captured in the error location. At this time, the server 200 may input the first image and the third image into a similarity acquisition model to obtain a similarity between the first image and the third image. If the obtained similarity is greater than the threshold value, the server 200 may increase the preset value. On the other hand, if the obtained similarity is smaller than the threshold value, the server 200 may maintain the preset value without adjusting it. Meanwhile, the similarity acquisition model stored in the server 200 may be larger than the similarity acquisition model stored in the robot 100 . Accordingly, the degree of similarity obtained in S952 may be more accurate than the degree of similarity obtained in S832 of FIG. 8A.
  • the server 200 may transmit information about the adjusted preset value to the robot 100 (S962). Accordingly, the robot 100 may operate based on the adjusted preset value (S972). For example, if the third reliability of the third identification information for the object included in the third image is greater than the adjusted preset value, the robot 100 may perform an object-related operation based on the third identification information.
  • embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented in a processor itself.
  • embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • Computer instructions for performing processing operations according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • Computer instructions stored in such a non-transitory computer readable medium may cause a specific device to perform processing operations according to various embodiments described above when executed by a processor.
  • a non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory.
  • Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Electromagnetism (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Manipulator (AREA)

Abstract

로봇이 개시된다. 로봇은, 이미지 센서, 구동부, 메모리 및 프로세서를 포함하고, 프로세서는, 이미지 센서가 촬영한 제1 이미지를 획득하고, 제1 이미지에 포함된 오브젝트에 대한 제1 정보를 획득하고, 로봇이 오브젝트에 접근하도록 구동부를 제어하고, 로봇이 오브젝트에 접근하는 동안 제2 이미지를 획득하고, 제2 이미지에 기초하여 오브젝트에 대한 제2 정보를 획득하고, 제1 정보 및 제2 정보에 기초하여 제1 정보 또는 제2 정보에 에러가 존재하는지 판단하고, 판단 결과에 기초하여 로봇의 동작을 제어한다.

Description

로봇 및 그 제어 방법
본 개시는 로봇 및 그 제어 방법으로, 보다 상세하게는, 오브젝트 오인식 여부를 판단하는 로봇 및 그 제어 방법에 관한 것이다.
위의 정보는 본 개시의 이해를 돕기 위한 배경 정보로만 제공된다. 위의 내용 중 어느 것이 본 개시와 관련하여 선행 기술로 적용될 수 있는지 여부에 대한 결정이 내려지지 않았으며 어떠한 주장도 이루어지지 않는다.
로봇 기술의 발달에 힘입어, 사용자와 인터랙션할 수 있는 로봇이 활발히 이용되고 있다. 예를 들어, 로봇은 사용자의 질문에 응답하거나, 식당에서 음식을 서빙 하거나, 길 안내를 하는 등 인터랙션을 통한 다양한 서비스를 제공하고 있다.
한편, 사용자와의 원활한 인터랙션을 위해서는, 오브젝트를 정확히 인식하는 기술이 필요하다. 그렇지 않다면, 로봇이 불필요한 동작을 수행하게 되어 로봇의 효용성이 떨어질 수 있기 때문이다. 예를 들어, 로봇은 사물을 오인식하여 원하지 않는 사물로 잘못 접근하거나 동물을 사람으로 또는 거울에 비친 사람의 모습을 실제 사람으로 인식할 수 있다.
따라서, 로봇의 오브젝트 오인식을 방지하기 위한 기술에 대한 필요성이 대두된다.
본 발명이 해결하고자 하는 일 기술적 과제는, 오브젝트 오인식 여부를 판단하고, 판단 결과에 기초하여 동작하는 로봇을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
추가적인 측면은 다음의 설명에서 부분적으로 설명될 것이고, 부분적으로는 설명으로부터 명백할 것이고, 또는 제시된 실시예의 실행에 의해 학습될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시 예에 따르면, 로봇에 있어서, 이미지 센서; 구동부; 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 이미지 센서가 촬영한 제1 이미지를 획득하고, 상기 제1 이미지를 오브젝트 인식 모델에 입력하여 상기 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 상기 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득하고, 상기 로봇이 상기 오브젝트에 접근하도록 상기 구동부를 제어하고, 상기 로봇이 상기 오브젝트에 접근하는 동안 상기 이미지 센서가 촬영한 제2 이미지를 획득하고, 상기 제2 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 오브젝트에 대한 제2 식별 정보 및 상기 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득하고, 상기 제1 정보 및 상기 제2 정보를 비교하여 상기 제1 정보에 에러가 존재하는지 판단하고, 상기 판단 결과에 기초하여 상기 로봇의 동작을 제어하는 로봇이 제공될 수 있다.
상기 프로세서는, 상기 제1 신뢰도가 상기 제2 신뢰도보다 크면, 상기 제1 정보에 에러가 존재한다고 판단할 수 있다.
상기 프로세서는, 상기 제1 식별 정보와 상기 제2 식별 정보가 상이하면, 상기 제1 정보에 에러가 존재한다고 판단할 수 있다.
상기 프로세서는, 상기 제1 정보에 에러가 존재하는 것으로 판단되면, 상기 에러에 관한 정보를 상기 메모리에 저장하고, 상기 에러에 관한 정보는, 상기 제1 이미지, 상기 제1 이미지가 촬영된 제1 시점(time point)에서 상기 로봇의 제1 위치 정보 및 제1 방향 정보를 포함할 수 있다.
상기 프로세서는, 상기 이미지 센서가 촬영한 제3 이미지를 획득하고, 상기 제3 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 제3 이미지에 포함된 오브젝트에 대한 제3 식별 정보 및 상기 제3 식별 정보의 제3 신뢰도를 포함하는 제3 정보를 획득하고, 상기 제3 정보 및 상기 에러에 관한 정보에 기초하여 상기 로봇의 동작을 제어할 수 있다.
상기 프로세서는, 상기 제3 신뢰도가 기설정된 값보다 크면, 상기 제3 이미지에 포함된 오브젝트를 향해 이동하도록 상기 구동부를 제어할 수 있다.
상기 프로세서는, 상기 제3 이미지가 촬영된 제3 시점에서 상기 로봇의 제3 위치 정보 및 제3 방향 정보를 획득하고, 상기 제1 위치 정보, 상기 제1 방향 정보, 상기 제3 위치 정보 및 상기 제3 방향 정보에 기초하여 상기 제1 이미지가 촬영된 장소가 상기 제3 이미지가 촬영된 장소에 대응되는지 판단할 수 있다.
상기 프로세서는, 상기 제1 위치 정보 및 상기 제3 위치 정보의 차이가 임계 값 이내이면, 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단하고, 상기 유사도가 임계값보다 크면, 상기 기설정된 값을 증가시킬 수 있다.
상기 프로세서는, 상기 제1 이미지 및 상기 제3 이미지를 유사도 판단 모델에 입력하여 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 다른 일 실시 예에 따르면, 이미지 센서를 포함하는 로봇의 제어 방법에 있어서, 상기 이미지 센서가 촬영한 제1 이미지를 획득하는 단계; 상기 제1 이미지를 오브젝트 인식 모델에 입력하여 상기 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 상기 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득하는 단계; 상기 오브젝트에 접근하도록 상기 로봇을 제어하는 단계; 상기 로봇이 상기 오브젝트에 접근하는 동안 상기 이미지 센서가 촬영한 제2 이미지를 획득하는 단계; 상기 제2 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 오브젝트에 대한 제2 식별 정보 및 상기 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득하는 단계; 상기 제1 정보 및 상기 제2 정보를 비교하여 상기 제1 정보에 에러가 존재하는지 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 로봇의 동작을 제어하는 단계;를 포함하는 제어 방법이 제공될 수 있다.
상기 판단하는 단계는, 상기 제1 신뢰도가 상기 제2 신뢰도보다 크면, 상기 제1 정보에 에러가 존재한다고 판단할 수 있다.
상기 판단하는 단계는, 상기 제1 식별 정보와 상기 제2 식별 정보가 상이하면, 상기 제1 정보에 에러가 존재한다고 판단할 수 있다.
상기 제어 방법은, 상기 제1 정보에 에러가 존재하는 것으로 판단되면, 상기 에러에 관한 정보를 상기 메모리에 저장하는 단계;를 더 포함하고, 상기 에러에 관한 정보는, 상기 제1 이미지, 상기 제1 이미지가 촬영된 제1 시점에서 상기 로봇의 제1 위치 정보 및 제1 방향 정보를 포함할 수 있다.
상기 제어 방법은, 상기 이미지 센서가 촬영한 제3 이미지를 획득하는 단계; 상기 제3 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 제3 이미지에 포함된 오브젝트에 대한 제3 식별 정보 및 상기 제3 식별 정보의 제3 신뢰도를 포함하는 제3 정보를 획득하는 단계; 및 상기 제3 정보 및 상기 에러에 관한 정보에 기초하여 상기 로봇의 동작을 제어하는 단계;를 더 포함할 수 있다.
상기 제어 방법은, 상기 제3 신뢰도가 기설정된 값보다 크면, 상기 제3 이미지에 포함된 오브젝트를 향해 이동하도록 상기 로봇을 제어하는 단계;를 더 포함할 수 있다.
상기 제어 방법은, 상기 제3 이미지가 촬영된 제3 시점에서 상기 로봇의 제3 위치 정보 및 제3 방향 정보를 획득하는 단계; 및 상기 제1 위치 정보, 상기 제1 방향 정보, 상기 제3 위치 정보 및 상기 제3 방향 정보에 기초하여 상기 제1 이미지가 촬영된 장소가 상기 제3 이미지가 촬영된 장소에 대응되는지 판단하는 단계;를 더 포함할 수 있다.
상기 제어 방법은, 상기 제1 이미지가 촬영된 장소가 상기 제3 이미지가 촬영된 장소에 대응된다고 판단되면, 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단하는 단계; 및 상기 유사도가 임계값보다 크면, 상기 기설정된 값을 증가시키는 단계;를 더 포함할 수 있다.
상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단하는 단계는, 상기 제1 이미지 및 상기 제3 이미지를 유사도 판단 모델에 입력하여 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단할 수 있다.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 로봇의 오브젝트 오인식이 방지될 수 있다. 이에 따라, 사용자의 만족감이 향상될 수 있다.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
본 개시의 다른 양상, 이점 및 두드러진 특징들은 첨부된 도면과 관련하여 본 발명의 다양한 실시 예들을 개시하는 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
본 개시의 특정 실시 예의 양상, 특징 및 이점은 첨부된 도면들을 참조하여 후술되는 설명을 통해 보다 명확해질 것이다.
도 1은 본 개시의 일 실시 예에 따른 로봇의 컨셉을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 로봇의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 에러 판단 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 다른 일 실시 예에 따른 에러 판단 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 기설정된 값을 제어하는 순서도이다.
도 6은 본 개시의 일 실시 예에 따른 에러 장소를 판단하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 이미지 간 유사도를 판단하는 방법을 설명하기 위한 도면이다.
도 8a는 본 개시의 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다.
도 8b는 본 개시의 다른 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다.
도 9a는 본 개시의 일 실시 예에 따른 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 9b는 본 개시의 다른 일 실시 예에 따른 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다.
도면 전체에 걸쳐, 유사한 참조 번호는 유사한 부품, 구성요소 및 구조를 지칭하는 것으로 이해될 것이다.
첨부된 도면을 참조한 다음의 설명은 특허청구범위 및 그 균등물에 의해 정의되는 본 개시의 다양한 실시예의 포괄적인 이해를 돕기 위해 제공된다. 여기에는 이해를 돕기 위한 다양한 특정 세부 사항이 포함되어 있지만 이는 단지 예시적인 것으로 간주되어야 합니다. 따라서, 본 기술 분야의 통상의 지식을 가진 자는 본 개시의 범위 및 사상을 벗어나지 않고 여기에 설명된 다양한 실시예의 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략할 수 있다.
하기 설명 및 특허청구범위에서 사용된 용어 및 단어는 서지적 의미에 한정되지 않으며, 본 발명의 명확하고 일관된 이해를 가능하게 하기 위해 발명자가 사용한 것에 불과하다. 따라서, 본 발명의 다양한 실시예에 대한 다음의 설명은 단지 예시의 목적으로 제공되고 첨부된 청구범위 및 그 균등물에 의해 정의된 바와 같은 본 발명을 제한하기 위한 것이 아님이 당업자에게 명백하다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 개시의 일 실시 예에 따른 로봇의 컨셉을 설명하기 위한 도면이다. 예로, 로봇(100)은 서비스 로봇일 수 있다. 다만 이는 일 실시 예에 불과하며, 로봇(100)이 다양한 종류의 로봇(예로, 청소 로봇 등)으로 구현될 수 있음을 밝혀둔다.
도 1을 참조하면, 로봇(100)은 공간(S)(예로, 텔레비전(TV) 매장) 내에서 작업을 수행할 수 있다. 예를 들어, 로봇(100)은 공간(S) 내를 이동하면서 사용자를 감지할 수 있다. 로봇(100)은 감지된 사용자와 인터랙션을 수행하여 서비스(예로, 상품 안내)를 제공하고 있다.
로봇(100)은 사용자를 감지하기 위해 로봇(100) 주변을 포함하는 이미지를 획득하고, 이미지를 분석하여 사용자를 감지할 수 있다. 한편, 로봇(100)이 동일한 오브젝트를 촬영한 복수의 이미지를 분석하는 경우라도, 다양한 요인(예로, 이미지를 촬영한 각도, 이미지 센서와 오브젝트 사이의 거리, 외부광의 유무 등)에 의해 각 이미지에 포함된 오브젝트에 대응되는 픽셀 값은 상이할 수 있다. 이에 따라, 각 이미지에 대응되는 오브젝트 인식 결과는 상이할 수 있다.
예를 들어, 로봇(100)은 제1 이미지(11)를 획득하고, 제1 이미지(11)에 포함된 오브젝트(1)를 인식할 수 있다. 로봇(100)은 오브젝트(1)와의 인터랙션을 수행하기 위해 이동할 수 있다. 오브젝트(1)를 향해 이동하는 동안, 로봇(100)은 제2 이미지(12)를 획득할 수 있다. 즉, 제2 이미지(12)는 로봇(100)이 오브젝트(1)에 접근하는 동안 제1 이미지(11)가 캡처되는 위치보다 로봇(100)이 오브젝트(1)와 더 가깝게 위치할 때 제2 이미지(12)가 캡처될 수 있다.
제2 이미지(12)가 오브젝트(1)를 포함하지 않는다면, 제1 이미지(11) 및 제2 이미지(12)에서의 오브젝트 인식 결과가 상이할 수 있다.
이 같은 상황에서, 로봇(100)은 제1 이미지(11) 및 제2 이미지(12)에 기초하여 제1 이미지(11)에 대한 분석 결과가 에러를 포함하고 있음을 판단할 수 있다. 즉, 로봇(100)은 오브젝트(1)이 오인식되었다고 판단할 수 있다. 이 때, 로봇(100)은 에러에 관한 정보를 저장할 수 있다. 예로, 에러에 관한 정보는, 제1 이미지(11), 제1 이미지(11)가 촬영된 시점(time point)에서 로봇(100)의 위치 정보를 포함할 수 있다.
이후 로봇(100)이 공간(S)에 위치하게 되면, 로봇(100)은 현재 위치한 장소가 과거에 에러가 발생했던 장소인 것으로 식별할 수 있다. 그리고, 로봇(100)은 수행할 동작을 판단하기 위한 기설정된 값을 증가시키고, 변경된 기설정된 값에 기초하여 동작을 수행할 수 있다. 여기서, 기설정된 값이란, 식별된 오브젝트와 관련된 동작을 수행할 지 여부를 결정하기 위한 기준값으로, 기설정된 값이 증가할수록 로봇(100)이 식별된 오브젝트와 관련된 동작을 수행할 가능성이 낮아질 수 있다. 이에 따라, 로봇(100)은 오브젝트 오인식에 의한 오동작을 방지할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 도시한 블록도이다.
도 2를 참조하면, 로봇(100)은 센서부(110), 구동부(120), 통신 인터페이스(130), 메모리(140) 및 프로세서(150)를 포함할 수 있다. 다만 이에 한정되는 것은 아니며, 로봇(100)은 가이드 음성을 출력하기 위한 스피커, 가이드 메시지를 표시하기 위한 디스플레이를 더 포함할 수 있다. 예로, 로봇(100)은 서비스 로봇일 수 있으나, 이에 한정되는 것은 아니며, 산업용 로봇 및 군사 로봇 등 다양한 로봇일 수 있다. 이하 각 구성에 대하여 설명하도록 한다.
센서부(110)는 이미지 센서(111), 라이다(light detection and ranging, LiDAR) 센서(112), GPS 센서(113) 및 모션 센서(114)를 포함할 수 있다. 다만 이에 한정되는 것은 아니며, 센서부(110)는 뎁스 센서, 초음파 센서 등 다양한 센서를 더 포함할 수 있다.
이미지 센서(111)(또는 카메라)는 로봇(100) 주변을 촬영한 이미지를 획득하기 위한 구성이다. 프로세서(150)는 이미지 센서(111)의 센싱값에 기초하여 촬영 이미지를 획득할 수 있다. 이미지 센서(111)는 기설정된 주기로 로봇(100) 주변을 촬영할 수 있다. 예로, 이미지 센서(111)는 로봇(100)의 정면을 촬영하도록 배치될 수 있다. 한편, 이미지 센서(111)는 CMOS(Complementary Metal Oxide Semiconductor) 센서 및 CCD(Charge Coupled Device) 센서를 포함할 수 있다.
라이다 센서(112)는 로봇(100) 주위에 존재하는 오브젝트에 대한 위치 정보를 포함하는 스캔 데이터를 획득할 수 있다. 예로, 프로세서(150)는 라이다 센서(112)를 통해 획득되는 스캔 데이터를 바탕으로 로봇(100) 주변의 오브젝트에 대한 위치 정보를 획득할 수 있다. 오브젝트에 대한 위치 정보는, 로봇(100)과 오브젝트 사이의 거리 정보 및 각도 정보를 포함할 수 있다. 예로, 라이다 센서(112)는 로봇(100)을 기준으로 기설정된 각도(예로, 360도)로 스캔을 수행할 수 있다. 이를 위해, 라이다 센서(112)는 점 광원 형태의 레이저 빔을 기설정된 각도로 출력할 수 있다. 또는, 라이다 센서(112)는 라인 빔 형태의 레이저 빔을 출사할 수 있다.
GPS 센서(113)는 GPS(Global Positioning System) 신호를 수신하기 위한 센서이다. GPS 센서(113)는 GPS 신호에 기초하여 로봇(100)의 현재 위치 정보(x, y, z)를 획득할 수 있다.
모션 센서(114)는 로봇(100)의 모션 정보를 획득할 수 있다. 예로, 모션 센서(114)는 IMU(Inertial Measurement Unit) 센서를 포함할 수 있다. 프로세서(150)는 모션 센서(114)의 센싱값에 기초하여 로봇(100)의 자세 정보를 획득할 수 있다. 로봇(100)의 자세 정보는, 로봇(100)의 회전 방향, 회전 각도 및 로봇(100)이 바라보는 방향에 대한 정보를 포함할 수 있다. 로봇이 바라보는 방향은 로봇의 주행 경로가 가리키는 방향 또는 로봇의 카메라가 촬영하는 방향일 수 있다.
구동부(120)는 로봇(100)을 이동 시키는 바퀴 및 바퀴를 회전시키는 바퀴 구동 모터를 포함할 수 있다. 또한, 구동부(120)는 바퀴 구동 모터에 구동 전류를 공급하는 모터 구동 회로, 바퀴 구동 모터의 회전력을 바퀴에 전달하는 동력 전달 모듈, 바퀴 구동 모터 또는 바퀴의 회전 변위 및 회전 속도를 검출하는 회전 감지 센서를 더 포함할 수 있다.
통신 인터페이스(130)는 적어도 하나의 회로를 포함하며 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(130)는 센서부(110)를 통해 획득된 촬영 이미지를 외부 서버로 전송할 수 있다. 그리고, 통신 인터페이스(130)는 외부 서버로부터 촬영 이미지에 포함된 오브젝트에 대한 정보를 수신할 수 있다. 한편, 통신 인터페이스(130)는 와이파이(Wi-Fi) 모듈, 블루투스 모듈, 지그비(ZigBee) 모듈, 비콘(Beacon) 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다.
메모리(140)는 로봇(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 로봇(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 예로, 메모리(140)는 로봇(100)이 위치한 공간의 맵 정보를 저장할 수 있다. 또한, 메모리(140)는 로봇(100)의 동작을 제어하기 위한 모듈이 각종 동작을 수행하기 위해 필요한 데이터를 저장할 수 있다. 로봇(100)의 동작을 제어하기 위한 모듈은 오브젝트 정보 획득 모듈(151), 에러 판단 모듈(152), 에러 정보 획득 모듈(153), 에러 장소 식별 모듈(154) 및 동작 제어 모듈(155)을 포함할 수 있다.
한편, 메모리(140)는 학습된 신경망 모델을 저장할 수 있다. 예로, 메모리(140)는 제1 신경망 모델(예로, 오브젝트 인식 모델(NN1)) 및 제2 신경망 모델(예로, 유사도 획득 모델(NN2))을 포함할 수 있다. 메모리(140)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다. 신경망은 다양한 형태로 구현될 수 있고, 히든 레이어의 수, 노드의 수 등은 실시 예에 따라 달라질 수 있다.
프로세서(150)는 메모리(140)와 전기적으로 연결되어 로봇(100)의 전반적인 기능 및 동작을 제어할 수 있다. 프로세서(150)는 사용자 음성이 입력되면, 비휘발성 메모리에 저장되어 있는 모듈(151 내지 155)이 각종 동작을 수행하기 위한 데이터를 휘발성 메모리로 로딩(loading)할 수 있다. 여기서, 로딩이란 프로세서(150)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다.
오브젝트 정보 획득 모듈(151)은 이미지 센서(111)가 촬영한 이미지를 획득할 수 있다. 예로, 오브젝트 정보 획득 모듈(151)은 제1 이미지 및 제2 이미지를 획득할 수 있다. 여기서, 제1 이미지는 이미지 센서(111)와 오브젝트 사이의 거리가 제1 거리일 때 촬영된 이미지이며, 제2 이미지는 이미지 센서(111)와 오브젝트 사이의 거리가 제1 거리보다 작은 제2 거리일 때 촬영된 이미지일 수 있다. 이 때, 제1 이미지 및 제2 이미지는 적어도 하나의 공통 오브젝트를 포함할 수 있다. 예로, 제1 이미지 및 제2 이미지는 제1 오브젝트를 공통으로 포함할 수 있다.
오브젝트 정보 획득 모듈(151)은 획득된 이미지에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 여기서, 오브젝트에 대한 정보는 오브젝트에 대한 식별 정보(예로, 사람) 및 식별 정보의 신뢰도(reliability)를 포함할 수 있다. 신뢰도는 식별 정보가 얼마나 정확한지 또는 얼마나 신뢰할 수 있는지를 나타낼 수 있으며, 0에서 1사이의 표시 값일 수 있다. 신뢰도가 클수록 식별 정보의 정확도가 클 수 있다. 오브젝트 정보 획득 모듈(151)은 촬영 이미지를 오브젝트 인식 모델(NN1)에 입력하여 오브젝트에 대한 정보를 획득할 수 있다. 여기서, 오브젝트 인식 모델(NN1)은 입력 이미지에 포함된 오브젝트에 대한 정보를 획득하도록 학습된 신경망 모델로서, CNN (Convolutional Neural Network)을 포함할 수 있다.
예로, 오브젝트 정보 획득 모듈(151)은 제1 이미지를 오브젝트 인식 모델(NN1)에 입력하여 제1 이미지에 포함된 제1 오브젝트에 대한 제1 식별 정보 및 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득할 수 있다. 또한, 오브젝트 정보 획득 모듈(151)은 제2 이미지를 오브젝트 인식 모델(NN1)에 입력하여 제1 이미지 및 제2 이미지에 공통으로 포함된 제1 오브젝트에 대한 제2 식별 정보 및 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득할 수 있다.
에러 판단 모듈(152)은 오브젝트 정보 획득 모듈(151)을 통해 획득된 오브젝트에 대한 정보에 에러가 존재하는지 판단할 수 있다. 에러 판단 모듈(152)은 서로 다른 촬영 조건에서 촬영된 복수의 이미지를 비교하여 오브젝트에 대한 정보에 에러가 존재하는지 판단할 수 있다. 여기서, 촬영 조건은, 이미지 센서(111)와 오브젝트 사이의 거리 및 각도 중 적어도 하나에 기초하여 정해질 수 있다. 이하에서는 이미지 센서(111)와 오브젝트 사이의 거리가 상이할 때 촬영된 복수의 이미지에 기초하여 오브젝트에 대한 정보에 에러가 존재하는지 판단하는 방법에 대해 설명하도록 한다.
전술한 바와 같이, 이미지 센서(111)와 오브젝트 사이의 거리가 제1 거리일 때 촬영된 제1 이미지와 이미지 센서(111)와 오브젝트 사이의 거리가 제1 거리보다 작은 제2 거리일 때 촬영된 제2 이미지가 획득될 수 있다. 그리고, 제1 이미지 및 제2 이미지는 제1 오브젝트를 공통으로 포함할 수 있다.
에러 판단 모듈(152)은 제1 이미지에 대응되는 제1 정보 및 제2 이미지에 대응되는 제2 정보에 기초하여 제1 정보에 에러가 존재하는지 판단할 수 있다. 일 예로, 에러 판단 모듈(152)은 제1 정보에 에러가 존재한다고 판단할 수 있다. 가령, 제1 오브젝트에 대한 제1 식별 정보는 '사람'일 수 있고, 제1 오브젝트에 대한 제2 식별 정보는 '강아지'일 수 있다. 그리고, 제1 식별 정보와 제2 식별 정보가 서로 상이하면, 에러 판단 모듈(152)은 제1 식별 정보 및 제2 식별 정보가 상이한 경우, 제1 식별 정보보다 제2 식별 정보를 우선시하여 제1 식별 정보에 에러가 존재한다고 판단할 수 있다.
한편, 제2 이미지에는 제1 오브젝트가 포함되지 않을 수 있다. 이에 따라, 제2 이미지에 대한 제2 정보는 제1 오브젝트에 대한 정보를 포함하지 않을 수 있다. 이와 같이 제1 이미지에서 식별된 오브젝트가 제2 이미지에서는 식별되지 않는 경우, 에러 판단 모듈(152)은 제1 정보에 에러가 존재한다고 판단할 수 있다. 예로, 제1 오브젝트에 대응되는 제2 이미지의 영역에서 오브젝트가 식별되지 않으면, 에러 판단 모듈(152)은 제1 정보에 에러가 존재한다고 판단할 수 있다.
한편, 에러 판단 모듈(152)은 제1 신뢰도가 제2 신뢰도보다 크면, 제1 정보에 에러가 존재한다고 판단할 수 있다. 예로, 제1 오브젝트에 대한 제1 식별 정보 및 제2 식별 정보가 각각 '사람'에 대응되고, 제1 신뢰도는 0.7이며 제2 신뢰도는 0.5일 수 있다. 이 때, 에러 판단 모듈(152)은 제1 신뢰도가 제2 신뢰도보다 크므로, 제1 정보에 에러가 존재한다고 판단할 수 있다.
한편, 에러 판단 모듈(152)은 서로 다른 각도에서 촬영된 복수의 이미지 각각에 대한 정보를 획득하고, 획득된 정보에 에러가 존재하는지 판단할 수 있다. 예로, 이미지 센서(111)의 시야각의 엣지 부분에 제1 오브젝트가 위치할 때 촬영된 제1 이미지와, 이미지 센서(111)의 시야각의 중심에 제1 오브젝트 위치할 때 촬영된 제2 이미지가 획득될 수 있다. 제1 이미지에 포함된 제1 오브젝트에 대한 제1 식별 정보와 제2 이미지에 포함된 제1 오브젝트에 대한 제2 식별 정보가 상이한 경우, 에러 판단 모듈(152)은 제1 식별 정보 또는 제2 식별 정보에 에러가 존재한다고 판단할 수 있다.
에러 정보 획득 모듈(153)은 에러에 관한 정보를 획득하여 메모리(140)에 저장할 수 있다. 에러에 관한 정보는, 에러 장소에서 촬영된 이미지, 이미지가 촬영될 때 로봇(100)의 위치 정보 및 방향 정보를 포함할 수 있다. 예로, 에러 정보 획득 모듈(153)은 제1 이미지, 제1 이미지가 촬영된 제1 시점에서 로봇(100)의 제1 위치 정보 및 제1 방향 정보를 메모리(140)에 저장할 수 있다. 한편, 로봇(100)의 시간 별 위치 정보는 메모리(140)에 저장되어 있을 수 있다. 예로, 로봇(100)의 위치 정보는 미리 저장된 맵 정보와 라이다 센서(112)의 센싱값에 기초하여 산출될 수 있다. 또는, 로봇(100)의 위치 정보는 GPS 센서(113)에 기초하여 획득될 수 있다.
한편, 본 개시에 따른 로봇(100)은 오브젝트에 대한 정보에 에러가 존재하는지 판단하고 에러 정보를 수집 및 저장하는 제1 상태 및 사용자와의 인터랙션을 수행하는 제2 상태에서 동작할 수 있다. 전술한 에러 판단 모듈(152) 및 에러 정보 획득 모듈(153)은 로봇(100)이 제1 상태일 때 동작할 수 있다. 즉, 에러 판단 모듈(152) 및 에러 정보 획득 모듈(153)은 로봇(100)이 제2 상태일 때는 동작하지 않을 수 있다.
에러 장소 식별 모듈(154)은 현재 로봇(100)의 위치 정보 및 방향 정보와 메모리(140)에 저장된 에러에 관한 정보를 비교하여, 현재 로봇(100)이 위치한 장소가 에러가 발생했던 장소(이하, 에러 장소라 함)인지 식별할 수 있다. 현재 로봇(100)의 위치가 에러가 발생했던 장소로부터 기설정된 범위 이내이고, 현재 로봇(100) 또는 이미지 센서(111)가 바라보는 각도와 저장된 각도의 차이가 기설정된 범위 이내이면, 에러 장소 식별 모듈(154)은 로봇(100)이 현재 에러 장소에 위치한다고 판단할 수 있다.
동작 제어 모듈(155)은 로봇(100)의 상태에 기초하여 로봇(100)의 다양한 동작들을 제어할 수 있다. 로봇(100)이 제1 상태일 때 이미지 센서(111)를 통해 획득된 이미지에서 오브젝트가 식별되면, 동작 제어 모듈(155)은 식별된 오브젝트를 향해 접근하도록 구동부(120)를 제어할 수 있다. 예로, 동작 제어 모듈(155)은 제1 이미지에 포함된 제1 오브젝트를 향해 접근하도록 구동부(120)를 제어할 수 있다. 여기서, 제1 이미지는 로봇(100)과 제1 오브젝트 사이의 거리가 제1 거리일 때 촬영된 이미지일 수 있다. 동작 제어 모듈(155)은 제1 오브젝트와 로봇(100) 사이의 거리가 제1 거리보다 작아지도록 구동부(120)를 제어할 수 있다. 이에 따라, 이미지 센서(111)는 로봇(100)과 제1 오브젝트 사이의 거리가 제1 거리보다 작은 제2 거리에서 제2 이미지를 촬영할 수 있다.
또한, 동작 제어 모듈(155)은 식별된 오브젝트가 이미지 센서(111)의 시야각을 벗어나지 않는 범위 내에서 로봇(100)이 회전하도록 구동부(120)를 제어할 수 있다. 예로, 제1 오브젝트가 이미지 센서(111)의 시야각의 중심(즉 0도)에 위치하고, 이미지 센서(111)의 시야각이 -60도에서 +60도인 경우, 동작 제어 모듈(155)은 로봇(100)이 +5도 회전하도록 구동부(120)를 제어할 수 있다. 이에 따라, 이미지 센서(111)는 복수의 각도에서 동일한 오브젝트를 촬영할 수 있다.
로봇(100)이 제2 상태일 때, 동작 제어 모듈(155)은 오브젝트 정보 획득 모듈(151)을 통해 획득된 오브젝트에 대한 정보에 기초하여 로봇(100)의 동작을 제어할 수 있다. 특히, 동작 제어 모듈(155)은 오브젝트에 대한 식별 정보의 신뢰도에 기초하여 로봇(100)의 동작을 제어할 수 있다. 구체적으로, 오브젝트에 대한 식별 정보의 신뢰도가 기설정된 값(예로, 0.5)보다 크면, 동작 제어 모듈(155)은 오브젝트와 관련된 동작을 수행하도록 로봇(100)을 제어할 수 있다. 반면에, 오브젝트에 대한 식별 정보의 신뢰도가 기설정된 값보다 작으면, 동작 제어 모듈(155)은 오브젝트를 노이즈로 판단하고, 오브젝트와 관련된 동작 제어를 수행하지 않을 수 있다. 즉, 기설정된 값은, 식별된 오브젝트와 관련된 동작을 수행할 지 여부를 결정하기 위한 기준값일 수 있다.
예로, 오브젝트가 사람이고 오브젝트에 대한 식별 정보의 신뢰도가 기설정된 값보다 큰 경우, 동작 제어 모듈(155)은 오브젝트를 향해 접근하여 음성 가이드를 출력하도록 스피커를 제어하거나, 비디오 가이드를 출력하도록 디스플레이를 제어할 수 있다. 반면에, 오브젝트에 대한 식별 정보의 신뢰도가 기설정된 값보다 작으면, 오브젝트가 사람이더라도, 동작 제어 모듈(155)은 오브젝트와 관련된 동작 제어를 수행하지 않을 수 있다.
한편, 기설정된 값은 로봇(100)의 위치에 따라 변경될 수 있다. 예로, 로봇(100)이 에러 장소에 위치하는 경우, 기설정된 값은 증가될 수 있다. 기설정된 값이 증가하면, 로봇(100)이 식별된 오브젝트와 관련된 동작을 수행할 가능성이 낮아질 수 있다. 즉, 에러 장소에서는 오브젝트에 대한 정보에 에러가 포함될 수 있으므로, 기설정된 값이 증가되면 오인식된 오브젝트와 관련된 동작(예로, 사람이 아닌 오브젝트가 사람으로 오인식되어 로봇이 오브젝트로 접근하는 동작)을 수행하는 것을 방지할 수 있다.
로봇(100)이 에러 장소에 위치할 때, 동작 제어 모듈(155)은 현재 위치에서 촬영된 이미지와 에러 정보로서 메모리(140)에 저장된 이미지 간의 유사도에 기초하여 기설정된 값을 변경할 수 있다. 동작 제어 모듈(155)은 메모리(140)에 에러 정보로서 저장된 제1 이미지와 현재 위치에서 촬영된 제3 이미지의 유사도를 판단할 수 있다. 유사도가 임계값보다 크면, 동작 제어 모듈(155)은 기설정된 값을 증가시킬 수 있다. 반면에, 유사도가 임계값보다 작으면, 동작 제어 모듈(155)은 기설정된 값을 변경하지 않을 수 있다.
이와 같이, 저장된 에러 정보와 현재 이미지의 유사도에 기초하여 기설정된 값을 변경하는 이유는, 동일한 위치에서 동일한 방향을 바라보고 촬영을 하더라도, 기존에 존재하던 오인식된 오브젝트가 사라지거나 새로운 오브젝트가 추가되는 등의 환경 변화가 발생할 수 있기 때문이다. 가령, 에러 발생 장소에 제1 이미지에 포함되지 않은 새로운 사용자가 위치할 수 있다. 이 때, 기설정된 값이 증가되어 기설정된 값이 새로운 사용자에 대한 식별 정보의 신뢰도보다 커지게 되면, 로봇(100)은 새로운 사용자와 관련된 동작(예로, 인터랙션)을 수행하지 않게 된다. 이에 따라, 새로운 사용자의 불편이 초래될 수 있다.
한편, 동작 제어 모듈(155)은 유사도 획득 모델(NN2)을 이용하여 제1 이미지 및 제3 이미지의 유사도를 판단할 수 있다. 유사도 획득 모델(NN2)은 입력된 복수의 이미지 간의 유사도를 획득하도록 학습된 신경망 모델로서, CNN (Convolutional Neural Network)을 포함할 수 있다. 동작 제어 모듈(155)은 제1 이미지 및 제3 이미지를 유사도 획득 모델(NN2)에 입력하여 제1 이미지 및 제3 이미지의 유사도를 판단할 수 있다.
한편, 도 2에서는 각 모듈(151 내지 155)들을 프로세서(150)의 구성으로 설명하였으나, 이는 일 실시 예에 불과하며, 각 모듈(151 내지 155)들은 메모리(140)에 저장될 수 있다. 이 때, 프로세서(150)는 메모리(140)에 저장된 복수의 모듈(151 내지 155)을 비휘발성 메모리에서 휘발성 메모리로 로딩(loading)하여 복수의 모듈(151 내지 155)의 각 기능들을 실행할 수 있다. 또한, 프로세서(150)의 각 모듈들은 소프트웨어(software)로 구현되거나, 소프트웨어와 하드웨어(hardware)가 결합된 형태로 구현될 수 있다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(150)와 메모리(140)를 통해 동작된다. 프로세서(150)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(140)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공지능 모델은 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서에 의해 처리될 수 있다. 인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), GAN (Generative Adversarial Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 3은 본 개시의 일 실시 예에 따른 에러 판단 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 오브젝트 오인식이 발생하지 않는 상황이 도시되어있다. 로봇(100)은 로봇(100)과 제1 오브젝트(3) 사이의 거리가 제1 거리일 때 제1 오브젝트(3)를 촬영한 제1 이미지(31)를 획득할 수 있다. 로봇(100)은 제1 이미지(31)에 기초하여 오브젝트 인식 동작을 수행하여 제1 오브젝트(3)에 대한 제1 정보를 획득할 수 있다. 예를 들어, 제1 오브젝트(3)에 대한 제1 정보는 제1 식별 정보(human)와 제1 식별 정보의 제1 신뢰도(0.58)를 포함할 수 있다.
로봇(100)은 제1 오브젝트(3)로 접근하여 로봇(100)과 제1 오브젝트(3) 사이의 거리가 제1 거리보다 작은 제2 거리일 때 제1 오브젝트(3)를 촬영한 제2 이미지(32)를 획득할 수 있다. 로봇(100)은 제2 이미지(32)에 기초하여 오브젝트 인식 동작을 수행하여 제1 오브젝트(3)에 대한 정보를 획득할 수 있다. 예를 들어, 제1 오브젝트(3)에 대한 제2 정보는 제2 식별 정보(human)와 제2 식별 정보의 제2 신뢰도(0.7)를 포함할 수 있다.
로봇(100)은 제1 정보 및 제2 정보에 기초하여 제1 정보에 에러가 존재하는지 판단할 수 있다. 구체적으로, 로봇(100)은 제1 식별 정보와 제2 식별 정보가 일치하는 지 여부, 제1 신뢰도보다 제2 신뢰도가 큰 지 여부를 판단할 수 있다. 제1 식별 정보와 제2 식별 정보가 일치하고 제1 신뢰도보다 제2 신뢰도가 크면, 로봇(100) 제1 정보에 에러가 존재하지 않는다고 판단할 수 있다. 즉, 로봇(100)은 제1 오브젝트(3)를 오인식하지 않았다고 판단할 수 있다. 반면에, 제1 식별 정보와 제2 식별 정보가 일치하지 않거나 제1 신뢰도보다 제2 신뢰도가 작으면, 로봇(100) 제1 정보에 에러가 존재하지 않는다고 판단할 수 있다. 도 3에서는, 제1 식별 정보(human)와 제2 식별 정보(human)가 일치하고, 제1 신뢰도(0.58)보다 제2 신뢰도(0.7)가 크므로, 로봇(100)은 제1 정보에 에러가 존재하지 않는다고 판단할 수 있다.
도 4는 본 개시의 다른 일 실시 예에 따른 에러 판단 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 오브젝트 오인식이 발생하는 상황이 도시되어있다. 로봇(100)은 로봇(100)과 제1 오브젝트(4) 사이의 거리가 제1 거리일 때 제1 오브젝트(4)를 촬영한 제1 이미지(41)를 획득할 수 있다. 여기서, 제1 오브젝트(1)는 실제 오브젝트가 아니라, 디스플레이 장치에서 출력되는 영상에 포함된 오브젝트일 수 있다. 로봇(100)은 제1 이미지(41)에 기초하여 오브젝트 인식 동작을 수행하여 제1 오브젝트(4)에 대한 제1 정보를 획득할 수 있다. 예를 들어, 제1 오브젝트(4)에 대한 제1 정보는 제1 식별 정보(human)와 제1 식별 정보의 제1 신뢰도(0.48)를 포함할 수 있다.
한편, 로봇(100)은 제1 오브젝트(4)로 접근하는 동안 제2 이미지(42)를 획득할 수 있다. 한편, 로봇(100)이 이동하는 동안 디스플레이 장치에서 출력되는 영상이 변하여, 제2 이미지(42)에는 제1 오브젝트(4)가 아닌 제2 오브젝트(5)가 포함되어 있을 수 있다. 로봇(100)은 제2 이미지(42)에 기초하여 오브젝트 인식 동작을 수행하여 제2 오브젝트(5)에 대한 정보를 획득할 수 있다. 예를 들어, 제2 오브젝트(5)에 대한 제2 정보는 제2 식별 정보(dog)와 제2 식별 정보의 제2 신뢰도(0.52)를 포함할 수 있다.
도 4를 참조하면, 제1 식별 정보(human)와 제2 식별 정보(dog)가 일치하지 않는 경우, 로봇(100)은 제1 정보 또는 제2 정보에 에러가 존재한다고 판단할 수 있다. 즉, 로봇(100)은 제1 오브젝트(4)를 오인식하였다고 판단할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 기설정된 값을 제어하는 순서도이다.
도 5를 참조하면, 로봇(100)은 현재 위치가 에러 장소인지 여부를 판단할 수 있다(S510).
도 6은 본 개시의 일 실시 예에 따른 에러 장소를 판단하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 로봇(100)은 로봇(100)이 현재 위치하는 공간에 대한 맵 정보(61)를 저장하고 있다. 또한, 로봇(100)은 기존에 에러가 발생했던 장소(즉, 에러 장소)(62)에 대한 정보(예로, 위치 정보)를 저장하고 있다. 예를 들어, 로봇(100)은 현재 위치(x1, y1) 및 바라보는 방향(v1)에 대한 정보를 저장된 에러 장소와 비교하여 에러 장소(62)에 위치하는 지 여부를 판단할 수 있다. 한편, 에러 장소(62)는 사람이 그려진 벽지가 존재하거나, 거울이 놓여져 있는 것과 같이 다양한 환경을 포함할 수 있다.
현재 위치가 에러 장소라고 판단되면, 로봇(100)은 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지가 유사한 지 여부를 판단할 수 있다(S520). 구체적으로, 로봇(100)은 로봇(100)은 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지의 유사도가 임계값보다 큰 지 여부를 판단할 수 있다. 유사도가 임계값보다 크면, 로봇(100)은 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지가 유사하다고 판단할 수 있다. 반면에, 유사도가 임계값보다 작으면, 로봇(100)은 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지가 유사하지 않다고 판단할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 이미지 간 유사도를 판단하는 방법을 설명하기 위한 도면이다.
예로, 도 7을 참조하면, 로봇(100)은 에러 장소에서 획득된 제1 이미지(71) 및 현재 위치에서 획득된 제3 이미지(73)를 유사도 획득 모델(NN2)에 입력하여 제1 이미지(71) 및 제3 이미지(73)의 유사도를 획득할 수 있다. 여기서, 제1 이미지(71)는 에러 장소에 관한 정보로서, 로봇(100)에 미리 저장되어 있을 수 있다.
다시 도 5를 참조하면, 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지가 유사하다고 판단되면, 로봇(100)은 기설정된 값을 조절할 수 있다(S530). 구체적으로, 로봇(100)은 기설정된 값을 증가시킬 수 있다. 반면에, 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지가 유사하지 않다고 판단되면, 로봇(100)은 기설정된 값을 유지할 수 있다(S540).
전술한 바와 같이, 기설정된 값이 증가할수록 로봇(100)이 식별된 오브젝트와 관련된 동작을 수행할 가능성이 낮아질 수 있다. 예를 들어, 로봇(100)이 오브젝트에 대한 식별 정보('사람') 및 식별 정보('사람')의 신뢰도('0.65')를 획득하였으며, 기설정된 값이 0.6으로 설정되어 있다고 가정한다. 이 때, 획득된 신뢰도('0.65')가 기설정된 값보다 크므로, 로봇(100)은 오브젝트와 관련된 동작을 수행할 수 있다. 예로, 로봇(100)은 오브젝트로 접근하여 오브젝트와 인터랙션을 수행할 수 있다.
한편, 기설정된 값이 0.6에서 0.7로 증가되면, 획득된 신뢰도('0.65')가 기설정된 값보다 작으므로, 로봇(100)은 오브젝트와 관련된 동작을 수행하지 않을 수 있다. 즉, 기설정된 값이 증가됨에 따라, 로봇(100)이 오브젝트를 오인식하여 오동작할 가능성이 감소하게 되는 효과가 있다.
한편, 현재 위치에서 획득된 이미지와 에러 장소에서 획득된 이미지의 유사도를 고려하지 않고 기설정된 값이 조절되면, 사용자의 불편이 초래될 수 있다. 도 7을 참조하면, 에러 장소에서 촬영된 제3 이미지(73)에 사용자(7)가 포함되는 경우가 있을 수 있다. 유사도 판단 없이 기설정된 값이 증가된다면, 로봇(100)은 사용자(7)와 관련된 동작을 수행하지 않게 되고, 사용자(7)가 서비스를 제공받지 못하는 문제가 있을 수 있다. 본 개시에 따른 로봇(100)은 제1 이미지(71) 및 제3 이미지(73)가 유사하지 않다고 판단하고, 기설정된 값을 유지할 수 있다. 이에 따라, 로봇(100)은 사용자(7)와 관련된 동작을 수행할 수 있고, 사용자(7)는 서비스를 제공받을 수 있다. 즉, 사용자(7)가 서비스를 제공받지 못하는 문제를 방지될 수 있다.
도 8a는 본 개시의 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다. 특히, 도 8a는 에러 정보를 수집하는 제1 모드로 동작할 때 로봇의 제어 방법을 도시한 순서도이다.
도 8a를 참조하면, 로봇(100)은 제1 이미지를 획득하고(S811), 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득할 수 있다(S821). 로봇(100)은 오브젝트에 접근하고(S831), 오브젝트에 접근하는 동안 제2 이미지를 획득할 수 있다(S841). 로봇(100)은 제2 이미지에 기초하여 오브젝트에 대한 제2 식별 정보 및 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득할 수 있다(S851).
로봇(100)은 제1 정보 또는 제2 정보에 에러가 존재하는지 판단할 수 있다(S861). 예로, 제1 신뢰도가 제2 신뢰도보다 크면, 로봇(100)은 제1 정보 또는 제2 정보에 에러가 존재한다고 판단할 수 있다. 또는, 제1 식별 정보와 제2 식별 정보가 상이하면, 로봇(100)은 제1 정보 또는 제2 정보에 에러가 존재한다고 판단할 수 있다.
제1 정보 또는 제2 정보에 에러가 존재하면, 로봇(100)은 에러에 관한 정보를 획득하여 저장할 수 있다(S871). 예로, 에러에 관한 정보는, 제1 이미지, 제1 이미지가 촬영된 제1 시점(time point)에서 로봇(100)의 제1 위치 정보 및 제1 방향 정보를 포함할 수 있다.
도 8b는 본 개시의 다른 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다. 특히, 도 8b는 서비스 제공을 위한 동작을 수행하는 제2 모드로 동작할 때 로봇의 제어 방법을 도시한 순서도이다.
도 8b를 참조하면, 로봇(100)은 기설정된 영역을 주행하면서 사용자를 감지하기 위한 동작을 수행할 수 있다. 로봇(100)은 로봇(100)이 에러 장소에 위치하는지 판단할 수 있다(S812). 예로, 로봇(100)은 저장된 에러에 관한 정보 및 현재 위치 정보를 비교하여 현재 위치가 에러 장소에 대응되는 지 판단할 수 있다.
로봇(100)이 에러 장소에 위치한다고 판단되면, 로봇(100)은 제3 이미지를 획득하고(S822), 에러에 관한 정보 및 제3 이미지에 기초하여 기설정된 값을 조절할 수 있다(S832). 예로, 로봇(100)은 에러 장소에서 촬영된 제1 이미지와 제3 이미지의 유사도를 판단할 수 있다. 유사도가 임계값보다 크면, 로봇(100)은 기설정된 값을 증가시킬 수 있다. 반면에, 유사도가 임계값보다 작으면, 로봇(100)은 기설정된 값을 조절하지 않고 유지할 수 있다.
한편, 본 개시에 따른 로봇 제어 동작은 로봇 및 서버로 구성된 로봇 제어 시스템에 의해 수행될 수 있다. 이하에서는 로봇 제어 시스템의 동작에 대하여 살펴본다.
도 9a는 본 개시의 일 실시 예에 따른 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다. 구체적으로, 도 9a는 로봇이 에러 정보를 수집하는 제1 모드로 동작할 때 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 9a를 참조하면, 로봇 제어 시스템(1000)은 로봇(100) 및 서버(200)를 포함할 수 있다. 로봇(100)은 제1 이미지를 획득하고(S911), 제1 이미지를 서버(200)로 전송할 수 있다(S921).
서버(200)는 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득할 수 있다(S931). 예로, 서버(200)는 오브젝트 인식 모델에 제1 이미지를 입력하여 제1 정보를 획득할 수 있다. 한편, 서버(200)의 프로세서는 로봇(100)의 프로세서(150)에 비해 성능이 높아, 제1 정보를 보다 빠르게 획득할 수 있다. 또는, 서버(200)에 저장된 오브젝트 인식 모델은 로봇(100)에 저장된 오브젝트 인식 모델에 비해 크기가 클 수 있다. 이에 따라, 도 8a의 S821, S851에서 획득되는 정보에 비해 S931, S971에서 획득되는 정보가 정확도가 높을 수 있다.
서버(200)는 제1 정보를 로봇(100)으로 전송할 수 있다(S941). 로봇(100)은 제1 정보에 기초하여 오브젝트에 접근하며, 오브젝트에 접근하는 동안 제2 이미지를 획득할 수 있다(S951). 그리고, 로봇(100)은 제2 이미지를 서버(200)로 전송할 수 있다(S961).
서버(200)는 제2 이미지에 기초하여 오브젝트에 대한 제2 식별 정보 및 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득할 수 있다(S971). 예로, 서버(200)는 오브젝트 인식 모델에 제2 이미지를 입력하여 제2 정보를 획득할 수 있다. 그리고, 서버(200)는 제1 정보 또는 제2 정보에 에러가 존재하는지 판단할 수 있다(S981). 서버(200)는 도 2 내지 도 4에서 설명한 에러 판단 방법에 기초하여 제1 정보 또는 제2 정보에 에러가 존재하는지 판단할 수 있는 바, 그 상세한 설명은 생략한다. 제1 정보 또는 제2 정보에 에러가 존재하면, 에러에 관한 정보를 획득하여 저장할 수 있다(S991).
도 9b는 본 개시의 다른 일 실시 예에 따른 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다. 구체적으로, 도 9b는 로봇이 서비스 제공을 위한 동작을 수행하는 제2 모드로 동작할 때 로봇 제어 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 9b를 참조하면, 로봇(100)은 서버(200)로 현재 위치 정보를 전송할 수 있다(S912). 서버(200)는 로봇(100)이 에러 장소에 위치하는지 판단할 수 있다(S922). 서버(200)는 도 5 및 도 6에서 설명한 에러 장소 판단 방법에 기초하여 로봇(100)이 에러 장소에 위치하는지 판단할 수 있는 바, 그 상세한 설명은 생략한다. 한편, 로봇(100)이 에러 장소에 위치한다고 판단되면, 서버(200)는 로봇(100)에게 현재 위치에서의 촬영 이미지를 요청할 수 있다.
로봇(100)은 제3 이미지를 획득하고(S932), 제3 이미지를 서버(200)로 전송할 수 있다(S942). 서버(200)는 에러에 관한 정보 및 제3 이미지에 기초하여 기설정된 값을 조절할 수 있다(S952). 예로, 서버(200)는 에러 장소에서 촬영된 제1 이미지와 제3 이미지의 유사도를 판단할 수 있다. 이 때, 서버(200)는 제1 이미지 및 제3 이미지를 유사도 획득 모델에 입력하여 제1 이미지 및 제3 이미지의 유사도를 획득할 수 있다. 획득된 유사도가 임계값보다 크면, 서버(200)는 기설정된 값을 증가시킬 수 있다. 반면에, 획득된 유사도가 임계값보다 작으면, 서버(200)는 기설정된 값을 조절하지 않고 유지할 수 있다. 한편, 서버(200)에 저장된 유사도 획득 모델은 로봇(100)에 저장된 유사도 획득 모델에 비해 크기가 클 수 있다. 이에 따라, 도 8a의 S832에서 획득되는 유사도에 비해 S952에서 획득되는 유사도가 정확도가 높을 수 있다.
서버(200)는 조절된 기설정된 값에 대한 정보를 로봇(100)으로 전송할 수 있다(S962). 이에 따라 로봇(100)은 조절된 기설정된 값에 기초하여 동작할 수 있다(S972). 예로, 로봇(100)은 제3 이미지에 포함된 오브젝트에 대한 제3 식별 정보의 제3 신뢰도가 조절된 기설정된 값보다 크면, 제3 식별 정보에 기초하여 오브젝트와 관련된 동작을 수행할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 로봇에 있어서,
    이미지 센서;
    구동부;
    적어도 하나의 인스트럭션을 저장하는 메모리; 및
    프로세서;를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 이미지 센서가 촬영한 제1 이미지를 획득하고,
    상기 제1 이미지를 오브젝트 인식 모델에 입력하여 상기 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 상기 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득하고,
    상기 로봇이 상기 오브젝트에 접근하도록 상기 구동부를 제어하고,
    상기 로봇이 상기 오브젝트에 접근하는 동안 상기 이미지 센서가 촬영한 제2 이미지를 획득하고,
    상기 제2 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 오브젝트에 대한 제2 식별 정보 및 상기 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득하고,
    상기 제1 정보 및 상기 제2 정보를 비교하여 상기 제1 정보에 에러가 존재하는지 판단하고,
    상기 판단 결과에 기초하여 상기 로봇의 동작을 제어하는
    로봇.
  2. 제1 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제1 신뢰도가 상기 제2 신뢰도보다 크면, 상기 제1 정보에 에러가 존재한다고 판단하는
    로봇.
  3. 제1 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제1 식별 정보와 상기 제2 식별 정보가 상이하면, 상기 제1 정보에 에러가 존재한다고 판단하는
    로봇.
  4. 제1 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제1 정보에 에러가 존재하는 것으로 판단되면, 상기 에러에 관한 정보를 상기 메모리에 저장하고,
    상기 에러에 관한 정보는,
    상기 제1 이미지, 상기 제1 이미지가 촬영된 제1 시점(time point)에서 상기 로봇의 제1 위치 정보 및 제1 방향 정보를 포함하는
    로봇.
  5. 제4 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 이미지 센서가 촬영한 제3 이미지를 획득하고,
    상기 제3 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 제3 이미지에 포함된 오브젝트에 대한 제3 식별 정보 및 상기 제3 식별 정보의 제3 신뢰도를 포함하는 제3 정보를 획득하고,
    상기 제3 정보 및 상기 에러에 관한 정보에 기초하여 상기 로봇의 동작을 제어하는
    로봇.
  6. 제5 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제3 신뢰도가 기설정된 값보다 크면, 상기 제3 이미지에 포함된 오브젝트를 향해 이동하도록 상기 구동부를 제어하는
    로봇.
  7. 제6 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제3 이미지가 촬영된 제3 시점에서 상기 로봇의 제3 위치 정보 및 제3 방향 정보를 획득하고,
    상기 제1 위치 정보, 상기 제1 방향 정보, 상기 제3 위치 정보 및 상기 제3 방향 정보에 기초하여 상기 제1 이미지가 촬영된 장소가 상기 제3 이미지가 촬영된 장소에 대응되는지 판단하는
    로봇.
  8. 제7 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제1 위치 정보 및 상기 제3 위치 정보의 차이가 임계 값 이내이면, 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단하고,
    상기 유사도가 임계값보다 크면, 상기 기설정된 값을 증가시키는
    로봇.
  9. 제8 항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행할 때,
    상기 제1 이미지 및 상기 제3 이미지를 유사도 판단 모델에 입력하여 상기 제1 이미지 및 상기 제3 이미지의 유사도를 판단하는
    로봇.
  10. 이미지 센서를 포함하는 로봇의 제어 방법에 있어서,
    상기 이미지 센서가 촬영한 제1 이미지를 획득하는 단계;
    상기 제1 이미지를 오브젝트 인식 모델에 입력하여 상기 제1 이미지에 포함된 오브젝트에 대한 제1 식별 정보 및 상기 제1 식별 정보의 제1 신뢰도를 포함하는 제1 정보를 획득하는 단계;
    상기 오브젝트에 접근하도록 상기 로봇을 제어하는 단계;
    상기 로봇이 상기 오브젝트에 접근하는 동안 상기 이미지 센서가 촬영한 제2 이미지를 획득하는 단계;
    상기 제2 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 오브젝트에 대한 제2 식별 정보 및 상기 제2 식별 정보의 제2 신뢰도를 포함하는 제2 정보를 획득하는 단계;
    상기 제1 정보 및 상기 제2 정보를 비교하여 상기 제1 정보에 에러가 존재하는지 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 로봇의 동작을 제어하는 단계;를 포함하는
    제어 방법.
  11. 제10 항에 있어서,
    상기 판단하는 단계는,
    상기 제1 신뢰도가 상기 제2 신뢰도보다 크면, 상기 제1 정보에 에러가 존재한다고 판단하는
    제어 방법.
  12. 제10 항에 있어서,
    상기 판단하는 단계는,
    상기 제1 식별 정보와 상기 제2 식별 정보가 상이하면, 상기 제1 정보에 에러가 존재한다고 판단하는
    제어 방법.
  13. 제10 항에 있어서,
    상기 제1 정보에 에러가 존재하는 것으로 판단되면, 상기 에러에 관한 정보를 상기 메모리에 저장하는 단계;를 더 포함하고,
    상기 에러에 관한 정보는,
    상기 제1 이미지, 상기 제1 이미지가 촬영된 제1 시점에서 상기 로봇의 제1 위치 정보 및 제1 방향 정보를 포함하는
    제어 방법.
  14. 제13 항에 있어서,
    상기 이미지 센서가 촬영한 제3 이미지를 획득하는 단계;
    상기 제3 이미지를 상기 오브젝트 인식 모델에 입력하여 상기 제3 이미지에 포함된 상기 오브젝트에 대한 제3 식별 정보 및 상기 제3 식별 정보의 제3 신뢰도를 포함하는 제3 정보를 획득하는 단계; 및
    상기 제3 정보 및 상기 에러에 관한 정보에 기초하여 상기 로봇의 동작을 제어하는 단계;를 더 포함하는
    제어 방법.
  15. 제14 항에 있어서,
    상기 제3 신뢰도가 기설정된 값보다 크면, 상기 제3 이미지에 포함된 상기 오브젝트를 향해 이동하도록 상기 로봇을 제어하는 단계;를 더 포함하는
    제어 방법.
PCT/KR2022/008768 2021-08-25 2022-06-21 로봇 및 그 제어 방법 WO2023027312A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22861526.6A EP4197713A4 (en) 2021-08-25 2022-06-21 ROBOTS AND METHOD FOR CONTROLLING SAME
CN202280051166.9A CN117715733A (zh) 2021-08-25 2022-06-21 机器人及其控制方法
US18/318,328 US20230286166A1 (en) 2021-08-25 2023-05-16 Robot and method for controlling thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210112501A KR20230030366A (ko) 2021-08-25 2021-08-25 로봇 및 그 제어 방법
KR10-2021-0112501 2021-08-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/318,328 Continuation US20230286166A1 (en) 2021-08-25 2023-05-16 Robot and method for controlling thereof

Publications (1)

Publication Number Publication Date
WO2023027312A1 true WO2023027312A1 (ko) 2023-03-02

Family

ID=85321843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008768 WO2023027312A1 (ko) 2021-08-25 2022-06-21 로봇 및 그 제어 방법

Country Status (5)

Country Link
US (1) US20230286166A1 (ko)
EP (1) EP4197713A4 (ko)
KR (1) KR20230030366A (ko)
CN (1) CN117715733A (ko)
WO (1) WO2023027312A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3525896B2 (ja) * 1999-03-19 2004-05-10 松下電工株式会社 3次元物体認識方法および同方法を使用したビンピッキングシステム
JP2006192563A (ja) * 2004-12-14 2006-07-27 Honda Motor Co Ltd 識別対象識別装置およびそれを備えたロボット
KR102026338B1 (ko) * 2018-10-08 2019-09-27 엘지전자 주식회사 인공지능 자가 학습 로봇
KR20200094451A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 영상 처리 장치 및 방법과 서비스 로봇
KR20210085696A (ko) * 2019-12-31 2021-07-08 삼성전자주식회사 전자 장치의 움직임을 결정하는 방법 및 이를 사용하는 전자 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3525896B2 (ja) * 1999-03-19 2004-05-10 松下電工株式会社 3次元物体認識方法および同方法を使用したビンピッキングシステム
JP2006192563A (ja) * 2004-12-14 2006-07-27 Honda Motor Co Ltd 識別対象識別装置およびそれを備えたロボット
KR102026338B1 (ko) * 2018-10-08 2019-09-27 엘지전자 주식회사 인공지능 자가 학습 로봇
KR20200094451A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 영상 처리 장치 및 방법과 서비스 로봇
KR20210085696A (ko) * 2019-12-31 2021-07-08 삼성전자주식회사 전자 장치의 움직임을 결정하는 방법 및 이를 사용하는 전자 장치

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP4197713A1 (en) 2023-06-21
US20230286166A1 (en) 2023-09-14
EP4197713A4 (en) 2024-03-13
CN117715733A (zh) 2024-03-15
KR20230030366A (ko) 2023-03-06

Similar Documents

Publication Publication Date Title
WO2017030259A1 (ko) 자동추적 기능을 갖는 무인항공기 및 그 제어방법
EP1981278B1 (en) Automatic tracking device and automatic tracking method
US10732643B2 (en) Control system, moving object, and control apparatus
WO2011013862A1 (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
WO2019225964A1 (en) System and method for fast object detection
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2022039404A1 (ko) 광시야각의 스테레오 카메라 장치 및 이를 이용한 깊이 영상 처리 방법
WO2021157904A1 (en) Electronic apparatus and controlling method thereof
WO2024014627A1 (ko) 스마트 하천 관제를 위한 통합 플랫폼
JPWO2008035411A1 (ja) 移動体情報検出装置、移動体情報検出方法および移動体情報検出プログラム
WO2023027312A1 (ko) 로봇 및 그 제어 방법
WO2020230921A1 (ko) 레이저 패턴을 이용하여 이미지 내의 특징을 추출하는 방법 및 이를 적용한 식별장치와 로봇
WO2022050622A1 (ko) 디스플레이장치 및 그 제어방법
WO2023080667A1 (ko) Ai 기반 객체인식을 통한 감시카메라 wdr 영상 처리
WO2021066275A1 (ko) 전자 장치 및 그 제어 방법
WO2020130274A1 (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
WO2022098164A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022182096A1 (en) Real-time limb motion tracking
WO2020226264A1 (ko) 영상에 기초하여 위치 정보를 획득하는 전자 장치 및 그 동작 방법
WO2017003152A1 (en) Apparatus and method for controlling object movement
WO2019225925A1 (ko) 객체 위치 추정 방법 및 이를 위한 장치
WO2022203150A1 (ko) 로봇 및 그 제어 방법
WO2024071516A1 (ko) 객체 고정이 가능한 객체 트래킹 제공 방법 및 그를 위한 휴대 단말
WO2023095971A1 (ko) 단말 거치대를 이용한 이미지 생성 방법 및 그를 위한 휴대 단말

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022861526

Country of ref document: EP

Effective date: 20230314

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

Ref document number: 22861526

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280051166.9

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE