WO2021040104A1 - 로봇 - Google Patents

로봇 Download PDF

Info

Publication number
WO2021040104A1
WO2021040104A1 PCT/KR2019/011191 KR2019011191W WO2021040104A1 WO 2021040104 A1 WO2021040104 A1 WO 2021040104A1 KR 2019011191 W KR2019011191 W KR 2019011191W WO 2021040104 A1 WO2021040104 A1 WO 2021040104A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
target area
processor
information
loading box
Prior art date
Application number
PCT/KR2019/011191
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 PCT/KR2019/011191 priority Critical patent/WO2021040104A1/ko
Priority to KR1020190110198A priority patent/KR20210026974A/ko
Priority to US16/994,443 priority patent/US20210064019A1/en
Publication of WO2021040104A1 publication Critical patent/WO2021040104A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0016Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present invention relates to a robot, and more particularly, to a robot capable of unlocking a loading box in a target area, and a control method of such a robot.
  • Prior Art 1 Korean Patent Laid-Open Publication No. KR 10-2019-0055415 A discloses a ward assistant robot device that delivers necessary items for medical treatment of a patient. Prior art 1 moves to the front of the patient's bed with the necessary items loaded, and provides the patient's treatment items to the attending physician.
  • Prior Art 2 Korean Registered Patent Publication KR 10-1495498 B1 discloses a patient management assistant robot that delivers a medicine bag containing medicines to be taken by a patient. To this end, prior art 2 separates each patient and stores the medicine bag in a storage unit, and unlocks the storage unit allocated to the patient recognized as a recipient.
  • the receiving unit since the receiving unit is unlocked through authentication of a doctor or a patient only at the set destination, it is required to reach the destination in order to complete the delivery. Therefore, when there are a large number of people or obstacles in the vicinity of the destination, it is necessary to lower the driving speed and avoid driving to the destination, and delivery may be delayed.
  • An object of the present invention is to solve the problem of the prior art that delivery of goods is delayed when it is difficult for a robot to approach a destination.
  • An object of the present invention is to provide a robot that switches to an operation mode capable of unlocking a loading box of a robot when the robot is close to a destination.
  • An object of the present invention is to provide a robot that determines whether to enter a target space based on an object recognition model based on an artificial neural network.
  • the robot according to an embodiment of the present invention switches to a standby mode that can be unlocked when the robot enters a target area near a destination.
  • the robot includes at least one loading box, a memory storing route information from a departure point to a destination, a sensor acquiring space identification data while driving along the route information, and the loading box according to an operation mode of the robot. It may include a processor that controls the opening and closing.
  • the processor may determine whether the loading box has entered a target area that can be unlocked based on the space identification data, and when entering the target area, the processor may set the operation mode to the unlock standby mode.
  • the processor may determine whether it has entered the target area using an object recognition model based on an artificial neural network.
  • the robot according to an embodiment may further include a display that displays a user interface screen.
  • a method of controlling a robot with a loading box includes the steps of acquiring information on a target area capable of unlocking the loading box, locking the loading box, and setting the operation mode to a lock mode, from a starting point to a destination. Acquiring spatial identification data while driving along the route information, determining whether to enter the target area based on the spatial identification data, and setting the operation mode to the unlocking standby mode when entering the target area. Can include.
  • the robot control method may further include displaying a lock screen through a display through which an input for unlocking can be received when the operation mode is the unlocking standby mode.
  • the robot control method may further include transmitting a notification message to an external device through a communication unit when entering the target area.
  • the present invention it is possible to prevent a lowering of the traveling speed of the robot, which occurs when a large number of people or obstacles exist in the vicinity of a destination.
  • FIG. 1 is an exemplary diagram of a robot control environment including a robot, a terminal, a server, and a network connecting them to each other according to an exemplary embodiment.
  • FIG. 2 is a diagram showing the appearance of an exemplary robot.
  • FIG. 3 is a block diagram of a robot according to an embodiment.
  • FIG. 4 is a diagram illustrating a transition of an operation mode of a robot according to an exemplary embodiment.
  • FIG. 5 is a flowchart of a method for controlling a robot according to an exemplary embodiment.
  • FIG. 6 is an exemplary diagram of a user interface screen according to an operation mode.
  • FIG. 7 is a block diagram of a server according to an embodiment.
  • FIG. 1 is an exemplary diagram of a robot control environment including a robot, a terminal, a server, and a network connecting them to each other according to an exemplary embodiment.
  • the robot control environment may include a robot 100, a terminal 200, a server 300, and a network 400.
  • various electronic devices may be connected to each other to operate through a network 400.
  • the robot 100 may refer to a machine that automatically processes or operates a task given by its own capabilities.
  • a robot having a function of recognizing the environment and performing an operation by self-determining may be referred to as an intelligent robot.
  • the robot 100 can be classified into industrial, medical, household, military, and the like according to the purpose or field of use.
  • the robot 100 may be provided with a driving unit including an actuator or a motor to perform various physical operations such as moving a robot joint.
  • the movable robot includes a wheel, a brake, a propeller, and the like in a driving unit, and can travel on the ground or fly in the air through the driving unit.
  • the robot 100 may be implemented as a guide robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, etc. by applying AI technology.
  • the robot 100 may include a robot control module for controlling an operation, and the robot control module may refer to a software module or a chip implementing the same as hardware.
  • the robot 100 acquires status information of the robot 100 by using sensor information acquired from various types of sensors, detects (recognizes) the surrounding environment and objects, generates map data, or moves paths and travels. You can decide on a plan, decide on a response to user interaction, or decide on an action.
  • the robot 100 may use sensor information obtained from at least one sensor among a lidar, a radar, and a camera in order to determine a moving route and a driving plan.
  • the robot 100 may perform the above-described operations using a learning model composed of at least one artificial neural network.
  • the robot 100 may recognize a surrounding environment and an object using a learning model, and may determine an operation using the recognized surrounding environment information or object information.
  • the learning model may be directly learned by the robot 100 or learned by an external device such as the server 300.
  • the robot 100 may directly generate a result using a learning model to perform an operation, but transmits sensor information to an external device such as the server 300 and receives the generated result to perform the operation. May be.
  • the robot 100 determines a movement path and a driving plan by using at least one of map data, object information detected from sensor information, or object information acquired from an external device, and controls the driving unit to determine the movement path and driving plan.
  • the robot 100 can be driven.
  • the map data may include object identification information on various objects arranged in a space in which the robot 100 moves.
  • the map data may include object identification information on fixed objects such as walls and doors and movable objects such as flower pots and desks.
  • the object identification information may include a name, type, distance, and location.
  • the robot 100 may perform an operation or run by controlling a driving unit based on a user's control/interaction.
  • the robot 100 may acquire interaction intention information according to a user's motion or voice speech, and determine a response based on the acquired intention information to perform the operation.
  • the robot 100 may provide a delivery service as a delivery robot that transports goods from a departure point to a destination.
  • the robot 100 may communicate with the terminal 200 and the server 300 through the network 400.
  • the robot 100 may receive source information and delivery destination information set by the user through the terminal 200 from the terminal 200 and/or the server 300 through the network 400.
  • the robot 100 may transmit information such as a current location, an operation state, arrival or not, and sensing data to the terminal 200 and/or the server 300 through the network 400.
  • the terminal 200 is an electronic device operated by a user or an operator, and the user can use the terminal 200 to run an application for controlling the robot 100 or access an application installed in an external device including the server 300. have.
  • the terminal 200 may acquire target area information designated by a user through an application and transmit it to the robot 100 and/or the server 300 through the network 400.
  • the terminal 200 may receive status information of the robot 100 from the robot 100 and/or the server 300 through the network 400.
  • the terminal 200 may provide a user with a function of controlling, managing, and monitoring the robot 100 through an onboard application.
  • the terminal 200 may include a communication terminal capable of performing a function of a computing device (not shown), and the terminal 200 includes a desktop computer, a smartphone, a notebook, a tablet PC, a smart TV, and Mobile phones, personal digital assistants (PDAs), laptops, media players, micro servers, global positioning system (GPS) devices, e-book terminals, digital broadcasting terminals, navigation, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non- It may be a mobile computing device, but is not limited thereto.
  • the terminal 200 may be a wearable device such as a watch, glasses, hair band, and ring having a communication function and a data processing function.
  • the terminal 200 is not limited to the above-described contents, and a terminal capable of web browsing may be used without limitation.
  • the server 300 may be a database server that provides big data required for controlling the robot 100 and applying various artificial intelligence algorithms and data related to robot control.
  • the server 300 may include a web server or an application server that enables remote control of the robot 100 using an application installed in the terminal 200 or a web browser.
  • artificial intelligence refers to the field of researching artificial intelligence or the methodology to create it
  • machine learning refers to the field of researching methodologies to define and solve various problems dealt with in the field of artificial intelligence. it means.
  • Machine learning is also defined as an algorithm that improves the performance of a task through continuous experience.
  • An artificial neural network is a model used in machine learning, and may refer to an overall model with problem-solving capabilities, which is composed of artificial neurons (nodes) that form a network by combining synapses.
  • the artificial neural network may be defined by a connection pattern between neurons of different layers, a learning process for updating model parameters, and an activation function for generating an output value.
  • the artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include neurons and synapses connecting neurons. In an artificial neural network, each neuron can output a function of an activation function for input signals, weights, and biases input through synapses.
  • Model parameters refer to parameters determined through learning, and include weights of synaptic connections and biases of neurons.
  • the hyperparameter refers to a parameter that must be set before learning in a machine learning algorithm, and includes a learning rate, number of iterations, mini-batch size, and initialization function.
  • the purpose of learning the artificial neural network can be seen as determining the model parameters that minimize the loss function.
  • the loss function can be used as an index to determine an optimal model parameter in the learning process of the artificial neural network.
  • Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning according to the learning method.
  • Supervised learning refers to a method of training an artificial neural network when a label for training data is given, and a label indicates the correct answer (or result value) that the artificial neural network must infer when training data is input to the artificial neural network. It can mean.
  • Unsupervised learning may mean a method of training an artificial neural network in a state in which a label for training data is not given.
  • Reinforcement learning may mean a learning method in which an agent defined in a certain environment learns to select an action or sequence of actions that maximizes the cumulative reward in each state.
  • machine learning implemented as a deep neural network (DNN) including a plurality of hidden layers is sometimes referred to as deep learning (deep learning), and deep learning is a part of machine learning.
  • DNN deep neural network
  • machine learning is used in the sense including deep learning.
  • the network 400 may serve to connect the robot 100, the terminal 200, and the server 300.
  • Such networks 400 include wired networks such as local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), and integrated service digital networks (ISDNs), wireless LANs, CDMA, Bluetooth, and satellite communications. It may cover a wireless network such as, but is not limited thereto.
  • the network 400 may transmit and receive information using short-range communication and/or long-distance communication.
  • short-range communication may include Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee, and wireless fidelity (Wi-Fi) technologies
  • RFID radio frequency identification
  • IrDA infrared data association
  • UWB ultra-wideband
  • ZigBee wireless fidelity
  • Wi-Fi wireless fidelity
  • CDMA code division multiple access
  • FDMA frequency division multiple access
  • TDMA time division multiple access
  • OFDMA orthogonal frequency division multiple access
  • SC-FDMA single carrier frequency division multiple access
  • Network 400 may include connections of network elements such as hubs, bridges, routers, switches and gateways.
  • Network 400 may include one or more connected networks, such as a multi-network environment, including a public network such as the Internet and a private network such as a secure corporate private network. Access to network 400 may be provided through one or more wired or wireless access networks.
  • the network 400 may support an Internet of Things (IoT) network and/or 5G communication that exchanges and processes information between distributed components such as objects.
  • IoT Internet of Things
  • FIG. 2 is a diagram showing the appearance of an exemplary robot.
  • 2(a) and 2(b) exemplarily show the appearance of the robot 100.
  • the robot 100 may include various structures capable of storing articles.
  • the robot 100 may include a loading box 100a.
  • the loading box 100a is detachable from the main body of the robot and may be coupled to the main body through a fastening part.
  • the loading box 100a may be implemented integrally with the main body.
  • the loading box 100a means a space in which items can be stored.
  • the loading box 100a may include a plurality of storage spaces.
  • the method of storing the article of the robot 100 is not limited to the method of putting the article in the storage space.
  • the robot 100 may transport an article using, for example, a robot arm that holds the article.
  • the loading box 100a is used to include various storage structures including such a robot arm.
  • the loading box 100a may be equipped with a locking device.
  • the robot 100 may lock or unlock the locking device of the loading box 100a according to the driving state and the storage state of the article.
  • the locking device may be, for example, a mechanical and/or electronic/electromagnetic locking device, but is not limited thereto.
  • the robot 100 may store and manage information indicating whether the loading box 100a is locked, and share it with other devices.
  • the robot 100 may include at least one display.
  • the displays 100a and 100b are exemplarily disposed on the main body of the robot 100, but may be disposed at different positions of the main body or may be disposed outside the loading box 100a.
  • the displays 100a and 100b may be provided integrally with the robot 100 and/or detachable.
  • the robot 100 may include a first display 100b and a second display 100c.
  • the robot 100 may output a user interface screen through the first display 100a.
  • the robot 100 may output a notification message through the second display 100b.
  • FIG. 2(b) shows the main body of the robot 100 by way of example.
  • Fig. 2(b) shows the appearance of the robot 100 from which the loading box 100a is separated for reference.
  • FIG. 3 is a block diagram of a robot according to an embodiment.
  • the robot 100 includes a communication unit 110, a sensor 120, a user interface unit 130, an input/output unit 140, a driving unit 150, a power supply unit 160, a memory 170, and a processor 170. can do.
  • the components shown in FIG. 3 are not essential to implement the robot 100, and thus the robot 100 according to the embodiment may have more or fewer components than the components listed above.
  • the communication unit 110 may transmit/receive data with other AI devices or external devices such as the server 300 using wired/wireless communication technology.
  • the communication unit 110 may transmit and receive sensor information, a user input, a learning model, and a control signal with external devices.
  • AI devices include TVs, projectors, mobile phones, smartphones, desktop computers, notebook computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, tablet PCs, wearable devices, and set-top boxes (STBs). ), a DMB receiver, a radio, a washing machine, a refrigerator, a desktop computer, a digital signage, a robot, a vehicle, and the like.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the communication unit 110 may interwork with the network 400 to provide a communication interface required to provide a transmission/reception signal between the robot 100 and/or the terminal 200 and/or the server 300 in the form of packet data.
  • the communication unit 110 may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal through a wired or wireless connection with another network device.
  • the communication unit 110 may support various kinds of intelligent communication (internet of things (IoT), internet of everything (IoE), internet of small things (IoST), etc.)), and machine to machine (M2M) communication, V2X ( vehicle to everything communication) communication, device to device (D2D) communication, etc. may be supported.
  • IoT internet of things
  • IoE internet of everything
  • IoST internet of small things
  • M2M machine to machine
  • V2X vehicle to everything communication
  • D2D device to device
  • the communication unit 110 transmits the space identification data obtained from the sensor 120 under the control of the processor 180 to the server 300, and in response to this, the space of the space where the robot 100 is currently located from the server 300 Receive attribute information.
  • the robot 100 may determine whether to enter the target area under the control of the processor 180 based on the received spatial attribute information.
  • the communication unit 110 transmits the spatial identification data acquired by the sensor 120 to the server 300 under the control of the processor 180 and receives information on whether the robot 100 enters the target area in response thereto. I can.
  • the sensor 120 may acquire at least one of internal information of the robot 100, information about the surrounding environment of the robot 100, and user information by using various sensors.
  • the sensor 120 may provide the robot 100 with spatial identification data that enables the robot 100 to generate a map based on the SLAM and check the current position of the robot 100.
  • the sensor 120 senses objects in an external space to generate a map.
  • the sensor 120 calculates vision information of objects that may be features among objects in an external space so that the vision information can be stored on a map together with the location information.
  • the vision information may be provided to the processor 180 as space identification data for identifying a corresponding space.
  • the sensor 120 may include a vision sensing unit, a lidar sensing unit, a depth sensing unit, and a sensing data analysis unit.
  • the vision sensing unit photographs objects around the robot and calculates it as an image.
  • the vision sensing unit includes an image sensor. Some of the image information captured by the vision sensing unit is converted into vision information having feature points necessary for setting a location.
  • the image information is information having a color for each pixel, and the vision information means that meaningful content is extracted from the image information.
  • the spatial identification data provided by the sensor 120 to the processor 180 includes vision information.
  • the sensing data analysis unit may provide the processor 180 with additional information generated by adding information such as a specific character, a specific figure, or a specific color from the image information calculated by the vision sensing unit.
  • the spatial identification data provided by the sensor 120 to the processor 180 may include such additional information.
  • the processor 180 may perform the function of the sensing data analysis unit.
  • the lidar sensing unit transmits the laser signal and provides the distance and material of the object from which the laser signal is reflected. Based on this, the robot 100 may generate a map by identifying the distance, location, and direction of objects sensed by the lidar sensing unit.
  • the lidar sensing unit includes a lidar sensor.
  • the lidar sensing unit calculates sensing data that can map the surrounding space.
  • the robot 100 may recognize its own location on the map.
  • the lidar sensing unit provides the pattern of the laser signal reflected from the object by the transmitted laser signal, for example, the time difference or the intensity of the signal to the sensing data analysis unit, and the sensing data analysis unit provides information on the distance and characteristics of the sensed object. May be provided to the processor 180.
  • the spatial identification data provided by the sensor 120 to the processor 180 may include distance and characteristic information of the sensed object.
  • the depth sensing unit also calculates the depth (distance information) of objects around the robot.
  • depth information depth information of an object included in the vision information
  • the spatial identification data may include distance information and/or vision information of the sensed object.
  • the depth sensing unit includes a depth sensor.
  • the sensor 120 may include an auxiliary sensing unit composed of an ultrasonic sensor, an infrared sensor, and a temperature sensor to assist the above-described sensing units or to increase sensing accuracy.
  • the senor 120 may acquire training data for model training and input data to be used when acquiring an output by using the training model.
  • the sensor 120 may obtain unprocessed input data, and in this case, the processor 180 or the running processor may extract input features as pre-processing for the input data.
  • the display 131 of the user interface unit 130 may output a driving state of the robot 100 under the control of the processor 180.
  • the display 131 may be configured as a touch screen by forming a layer structure with a touch pad.
  • the display 131 may also be used as a manipulation unit 132 capable of inputting information by a user's touch.
  • the display 131 may be configured with a touch-sensitive display controller or various input/output controllers.
  • the touch-sensitive display controller may provide an output interface and an input interface between the robot 100 and a user.
  • the touch-sensitive display controller may transmit and receive electrical signals to and from the processor 180.
  • the touch-sensitive display controller displays a visual output to the user, and the visual output may include text, graphics, images, video, and combinations thereof.
  • the display 131 may be, for example, a predetermined display member such as an OLED (organic light emitting display) capable of touch recognition, a liquid crystal display (LCD), or a light emitting display (LED).
  • OLED organic light emitting display
  • LCD liquid crystal display
  • LED light emitting display
  • the manipulation unit 132 of the user interface unit 130 may include a plurality of manipulation buttons (not shown) to transmit a signal corresponding to an input button to the processor 180.
  • the manipulation unit 132 may be configured with a sensor, button, or switch structure capable of recognizing a user's touch or pressing operation.
  • the manipulation unit 132 may transmit a manipulation signal manipulated by a user to the processor 180 in order to check or change various information related to driving of the robot 100 displayed on the display 131.
  • the display 131 may output a user interface screen for an interaction between the robot 100 and a user under the control of the processor 180.
  • the display 131 may display a lock screen when the robot 100 enters the target area under the control of the processor 180 and enters the lock release standby mode.
  • the display 131 may output a message according to the loading state of the loading bin 100a under the control of the processor 180.
  • the robot 100 may determine a message to be displayed on the display 131 according to the loading state of the loading bin 100a under the control of the processor 180. For example, when the robot 100 loads an item in the loading box 100a and is driving, the robot 100 may display a message indicating'transporting' on the display 131 under the control of the processor 180.
  • the display 131 may include a plurality of displays.
  • the display 131 may include a display displaying a user interface screen (100b with reference to FIG. 2) and a display displaying a message (100c with reference to FIG. 2 ).
  • the input/output unit 140 may include an input unit that obtains input data and an output unit that generates an output related to visual, auditory or tactile sensations.
  • the input unit can acquire various types of data.
  • the input unit may include a camera 142 for inputting an image signal, a microphone 141 for receiving an audio signal, a code input unit 143 for receiving information from a user, and the like.
  • a signal obtained from the camera 142 or the microphone 141 may be referred to as sensing data or sensor information.
  • the input unit may acquire training data for model training and input data to be used when acquiring an output by using the training model.
  • the input unit may obtain unprocessed input data, and in this case, the processor 180 or the running processor may extract input feature points as pre-processing on the input data.
  • the output unit may include a display 131 for outputting visual information, a speaker 144 for outputting auditory information, a haptic module for outputting tactile information, and the like.
  • the driving unit 150 is a module that drives the robot 100 and may include a driving mechanism and a driving electric unit that moves the driving mechanism.
  • the driving unit 150 may further include a door driving unit that drives the door of the loading box 100a under the control of the processor 180.
  • the power supply unit 160 receives external power and internal power under the control of the processor 180 and supplies power to each component of the robot 100.
  • the power supply unit 160 includes a battery.
  • the battery can be a built-in battery or a replaceable type of battery.
  • the battery may be charged by a wired or wireless charging method, and the wireless charging method may include a magnetic induction method or a magnetic resonance method.
  • the processor 190 may control to move to a designated charging station to charge the battery.
  • the memory 170 may include a magnetic storage medium or a flash storage medium, but is not limited thereto.
  • the memory 170 may include internal memory and/or external memory, and volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, Non-volatile memory such as NAND flash memory, or NOR flash memory, flash drive such as SSD, compact flash (CF) card, SD card, Micro-SD card, Mini-SD card, Xd card, or memory stick , Or a storage device such as an HDD.
  • volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, Non-volatile memory such as NAND flash memory, or NOR flash memory, flash drive such as SSD, compact flash (CF) card, SD card, Micro-SD card, Mini-SD card, Xd card, or memory stick , Or
  • the memory 170 may store data supporting various functions of the robot 100.
  • the memory 170 may store input data obtained from the sensor 120 or the input unit, training data, a learning model, and a learning history.
  • the memory 170 may store map data.
  • the processor 180 is a kind of central processing unit and may control the entire operation of the robot 100 by driving control software installed in the memory 170.
  • the processor 180 may include all types of devices capable of processing data.
  • the processor 180 may mean, for example, a data processing device embedded in hardware having a circuit physically structured to perform a function represented by a code or instruction included in a program.
  • a data processing device built into the hardware as described above a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated (ASIC) circuit
  • processing devices such as field programmable gate arrays (FPGAs), but are not limited thereto.
  • the processor 180 may determine at least one executable operation of the robot 100 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. The processor 180 may perform a determined operation by controlling components of the robot 100.
  • the processor 180 may request, search, receive, or utilize the data of the learning processor or the memory 170, and perform a predicted or desirable operation among the at least one executable operation. 100 components can be controlled.
  • the processor 180 may generate a control signal for controlling the corresponding external device and transmit the generated control signal to the corresponding external device.
  • the processor 180 may obtain intention information for a user input and determine a user's requirement based on the obtained intention information.
  • the processor 180 uses at least one of a Speech To Text (STT) engine for converting a speech input into a character string or a Natural Language Processing (NLP) engine for obtaining intention information of a natural language, to provide a user input. Corresponding intention information can be obtained.
  • STT Speech To Text
  • NLP Natural Language Processing
  • At this time, at least one or more of the STT engine and the NLP engine may be composed of an artificial neural network, at least partially trained according to a machine learning algorithm.
  • at least one of the STT engine and the NLP engine may be learned by a learning processor, learned by the learning processor 330 of the server 300, or learned by distributed processing thereof.
  • the processor 180 may collect the history information including the contents of the operation of the robot 100 or the user's feedback on the operation, and store it in the memory 170 or the running processor, or transmit it to an external device such as the server 300. have.
  • the collected history information can be used to update the object recognition model.
  • the processor 180 may control at least some of the components of the robot 100 in order to drive an application program stored in the memory 170. Furthermore, in order to drive the application program, the processor 180 may operate by combining two or more of the components included in the robot 100 with each other.
  • the processor 180 may control the display 131 to obtain target area information designated by the user through a user interface screen displayed on the display 131.
  • the processor 180 may control the opening and closing of the loading box 100a according to the operation mode.
  • the processor 180 may determine whether the loading box 100a has entered a target area that can be unlocked based on the space identification data acquired by the sensor 120.
  • the processor 180 may set the operation mode to the unlocking standby mode.
  • the processor 180 may set the robot 100 to stop driving and wait until the user comes.
  • the robot 100 may include a learning processor.
  • the learning processor may train an object recognition model composed of an artificial neural network using the training data.
  • the learned artificial neural network may be referred to as a learning model.
  • the learning model can be used to infer a result value for new input data other than the training data, and the inferred value can be used as a basis for a decision to perform a certain operation.
  • the learning processor may perform AI processing together with the learning processor 330 of the server 300.
  • the learning processor may be implemented as an independent chip or included in the processor 180 and implemented.
  • the learning processor may include a memory integrated or implemented in the robot 100.
  • the learning processor may be implemented using the memory 170, an external memory directly coupled to the robot 100, or a memory maintained in an external device.
  • FIG. 4 is a diagram illustrating a transition of an operation mode of a robot according to an embodiment.
  • the robot 100 may be locked to prevent theft and loss of the loaded goods.
  • locking the robot 100 means making the locking device of the loading box 100a locked.
  • the user loads the goods in the loading box 100a of the robot 100 and sets the loading box 100a to be locked, and the recipient can unlock the corresponding loading box 100a through an authentication process.
  • the authentication process for unlocking includes a process of inputting a predetermined password or inputting biometric information to check whether or not it is qualified to access the loading box.
  • the user can unlock the robot 100 only through such an authentication process.
  • the user is used to include various subjects interacting with the robot 100.
  • the user includes a subject instructing the robot 100 to deliver an article and a subject receiving the article, and is not limited to a person, and may be another intelligent robot.
  • the robot 100 may change the locked state of the loading bin 100a according to the operation mode.
  • the operating mode may include a lock mode, an unlock mode, and an unlock standby mode.
  • the robot 100 determines an operation mode under the control of the processor 180 and stores the determined operation mode in the memory 170.
  • the operation mode may be determined for each loading box of the robot 100.
  • the operating mode may be determined for the robot 100.
  • the available robot 100 When a user who intends to deliver goods using the robot 100 calls the robot 100, the available robot 100 is placed on the user.
  • the available robot 100 includes a robot having an empty loading box 100a or a robot 100 in an idle state.
  • the user may directly transmit a service request to the robot 100 using the terminal 200 or may transmit a service request to the server 300.
  • the user may call the robot 100 near the user with a voice command.
  • the robot 100 When the loading box 100a of the robot 100 is empty or the robot 100 is in an idle state, the robot 100 operates the empty loading box 100a or the robot 100 in an idle state under the control of the processor 180 Set the mode to UNLOCK MODE.
  • the robot 100 called according to the user's service request opens the empty loading bin 100a according to the user's voice command or the instruction obtained through the user interface 130, and the loading bin 100a loaded with the goods put by the user Close it.
  • the robot 100 may determine whether or not an article is loaded in the loading box 100a using a weight sensor, and may determine the weight of the loaded article.
  • the robot 100 sets the operation mode of the loaded loading bin 100a to the lock mode.
  • the user may instruct to lock the loaded loading box 100a through a voice command or a user interface screen displayed on the display 131.
  • the user may instruct to lock the loading box 100a through the terminal 200.
  • the robot 100 may lock the loading bin 100a by operating the locking device of the loaded loading bin 100a under the control of the processor 180 according to the locking instruction.
  • the locking device may be, for example, a mechanical and/or electromagnetic locking device, but is not limited thereto.
  • the robot 100 may set the corresponding loading box 100a to the lock mode (LOCK MODE).
  • the robot 100 starts driving toward the destination for delivery of the loaded goods.
  • the robot 100 loads the article and maintains the locked mode while driving. This prevents the loss or theft of loaded goods and enables safe delivery of dangerous goods or important goods.
  • the robot 100 acquires space identification data using the sensor 120 while driving.
  • the robot 100 may collect and analyze spatial identification data under the control of the processor 180 to determine the current position of the robot 100 and determine whether or not it has entered the target area.
  • the robot 100 When the robot 100 enters the target area (TARGET_AREA), the robot 100 stops driving and switches the operation mode from the lock mode to the unlock standby mode. In the unlocking standby mode, the robot 100 waits for the user (WAIT). The robot 100 maintains the unlock standby mode until the user approaches and completes the authentication procedure for unlocking.
  • the robot 100 may transmit an arrival notification message to the terminal 200 and/or the server 300 in the lock release standby mode.
  • the arrival notification message may include current location information of the robot 100.
  • the robot 100 may repeatedly transmit an arrival notification message every predetermined period.
  • the user may recognize that the robot 100 has arrived at the target area through the notification message received by the terminal 200.
  • the robot 100 provides a user interface screen through the display 131 through which the user can unlock the loading box 100a.
  • the user When the user recognizes that the robot 100 has entered the target area, the user may directly move toward the waiting robot 100 to receive the goods. Accordingly, it is possible to prevent a decrease in the traveling speed of the robot 100 that occurs when a plurality of people or obstacles exist in the vicinity of the destination, and shorten the delay time required to accurately reach the destination due to the avoidance driving. As a result, user convenience may be improved when an urgent product is delivered.
  • the robot 100 may switch the operation mode back to the lock mode.
  • the robot 100 may transmit an arrival notification message to the terminal 200 and/or the server 300.
  • the robot 100 may switch to the lock mode and then move to the starting point or a preset waiting area. In this case, the robot 100 may transmit a return notification message or a waiting notification message to the terminal 200 and/or the server 300.
  • the robot 100 ends the standby mode and switches the operation mode to the unlock mode.
  • the robot 100 unlocks the loading box 100a.
  • the robot 100 stops driving while the user takes out the item from the unlocked loading box 100a (STOP) and maintains the unlock mode.
  • the robot 100 moves to the next delivery destination or a waiting area designated for circumstances.
  • the robot 100 may set the empty loading bin 100a to the unlocking mode and drive.
  • the robot 100 that is returning after completing the delivery may set the operation mode to the unlock mode and drive.
  • the robot 100 in return may set the operation mode to the lock mode and drive. In this case, the unlocking of the robot 100 being restored may be possible anywhere.
  • FIG. 5 is a flowchart of a method for controlling a robot according to an exemplary embodiment.
  • the robot control method includes the steps of acquiring information on a target area capable of unlocking the loading box (S510), locking the loading box and setting the operation mode of the robot to the locked mode (S520), while driving along the route information from the starting point to the destination Detecting spatial identification data (S530), determining whether the robot 100 has entered the target area based on the spatial identification data (S540), and when the robot 100 enters the target area, operation It may include setting the mode to the unlocking standby mode (S550).
  • step S510 the robot 100 may obtain target area information under the control of the processor 180.
  • the robot 100 may acquire target area information set by the user in step S510.
  • the target area is an area including a destination and means an area in which the user can unlock the loading box 100a.
  • the target area information refers to information for specifying the target area in the map held by the robot 100 in the memory 170.
  • the target area information includes information on a plane or a three-dimensional space defined as spatial coordinates or spatial identification data on a map.
  • the robot 100 switches the operation mode to the unlocking standby mode.
  • step S510 the robot 100 receives target area information set by the user from the terminal 200 or the server 300 through the communication unit 110 under the control of the processor 180, or displays the display 131.
  • Target area information selected by the user may be acquired from the indoor map expressed through the microphone 141, or target area information designated by the user as a voice input may be acquired through the microphone 141.
  • the user can designate source information and destination information.
  • the user may designate a departure point and a destination through the terminal 200 or on the display 131 of the robot, or transmit the destination to the robot 100 by voice input through the microphone 141.
  • the robot 100 may generate route information based on the acquired source information and destination information.
  • the robot 100 may generate path information based on identification information of the target area.
  • the robot 100 may lock the loading bin 100a under the control of the processor 180 and set the operation mode of the robot 100 to the lock mode.
  • step S520 when the user puts the item in the loading box 100a, the robot 100 closes the door of the loading box 100a under the control of the processor 180, locks the loading box 100a, and sets the operation mode to the lock mode. Start shipping.
  • the robot 100 may transmit a departure notification message to the user's terminal 200 to receive the goods or to the server 300 through the communication unit 110 under the control of the processor 180.
  • the display 131 may have a structure that can rotate left and right up and down. For example, when the robot 100 is in the lock mode, the robot 100 rotates the display 131 under the control of the processor 180 so that the display 131 faces the direction in which the robot 100 travels. have.
  • the robot 100 may acquire spatial identification data through the sensor 120 while driving along the route information from the starting point to the destination under the control of the processor 180.
  • the robot 100 may acquire spatial identification data of a space passing through while traveling along the path information in step S530 by using the sensor 120.
  • the spatial identification data may include vision information, location information, direction information, and distance information of an object arranged in the space.
  • the spatial identification data may be used as information for determining the current position of the robot 100 on a map held by the robot 100 in the memory 170.
  • step S540 the robot 100 may determine whether the robot 100 has entered the target area based on the spatial identification data sensed in step S530 under the control of the processor 180.
  • step S540 a method of determining whether to enter the target area in step S540 for each embodiment will be described.
  • the robot 100 may determine whether to enter the target area based on its current location information.
  • the step S540 includes determining the current position of the robot based on the spatial identification data (1-1), and determining that the current position has entered the target area when the current position is mapped into the target area. (1-2) may be included.
  • the robot 100 may determine its current position under the control of the processor 180 based on the spatial identification data acquired in step S530. For example, the robot 100 may determine a current location by comparing spatial identification data acquired through the sensor 120 with vision information stored in a map under the control of the processor 180.
  • step (1-2) the robot 100 enters the target area when the current location determined in step (1-1) is mapped to the target area specified on the map by the target area information acquired in step (S510). It can be judged as one.
  • the robot 100 may determine whether to enter the target area based on the reference distance information.
  • Step (S540) is the step (2-1) of determining the current position of the robot based on the spatial identification data, determining the distance between the current position and the destination, and when the distance between the current position and the destination is within a predetermined reference distance , It may include a step (2-2) of determining that the target area has been entered.
  • step 2-1 the robot 100 may determine its current location under the control of the processor 180 based on the spatial identification data acquired in step S530. This can be done in the same manner as in step (1-1) described above.
  • step (2-2) the robot 100 calculates the distance between the current location and the destination determined in step (2-1), and if the distance between the current location and the destination is within a predetermined reference distance, the robot 100 enters the target area. It can be judged as.
  • the reference distance may be adjusted according to factors such as a congestion degree of the target area and a delivery time period. For example, if there are many people or obstacles in the target area, the reference distance may be set longer. For example, if the delivery time is in the rush hour, the reference distance can be set to be shorter.
  • the robot 100 may determine whether to enter the target area based on the spatial property.
  • the step (S540) may include a step (3-1) of determining a spatial attribute of a driving place based on the spatial identification data and a step (3-2) of determining whether or not a target area has been entered based on the spatial attribute. have.
  • the robot 100 may determine a spatial property of a place where the robot 100 is currently traveling under the control of the processor 180 based on the spatial identification data acquired in step S530.
  • the spatial attribute may include an input feature point extracted from spatial identification data.
  • step 3-2 the robot 100 may determine whether the robot 100 has entered the target area based on the spatial attribute determined in step 3-1.
  • the robot 100 may determine whether to enter the target area from the spatial attribute determined in step 3-1 by using an object recognition model based on an artificial neural network under the control of the processor 180 in step 3-2.
  • the object recognition model may be trained using spatial identification data acquired by the robot 100 using the sensor 120 as training data.
  • the object recognition model may be trained under the control of a processor of the robot 100 or may be trained in the server 300 and provided to the robot 100.
  • the robot 100 includes the surrounding image acquired at the location where the robot 100 is currently driving in step (3-1). By inputting spatial identification data, it can be determined that it has entered the blood collection room through the object recognition model.
  • the robot 100 may determine whether to enter the target area by executing any one or two or more of the first, second, and third embodiments described above.
  • the first embodiment, the second embodiment, and the third embodiment are named to distinguish each other, and are not intended to limit the precedence or precedence between the embodiments.
  • step S550 when the robot 100 enters the target area in step S540, under the control of the processor 180, the robot 100 may set the operation mode to the unlock standby mode.
  • step S530 may be continued. In this case, the robot 100 maintains the locked mode.
  • the robot control method may further include transmitting a notification message to an external device through the communication unit 110 under the control of the processor 180 when the robot 100 enters the target area in step S540. have.
  • the robot 100 may transmit a notification message to the terminal 200 and/or the server 300 through the communication unit 110 under the control of the processor 180.
  • the robot 100 may repeatedly transmit a notification message to the terminal 200 and/or the server 300 while waiting for the user in the unlock standby mode.
  • the robot 100 may determine a user interface screen to be displayed on the display 131 according to an operation mode under the control of the processor 180.
  • the robot control method may further include displaying a lock screen through the display 131 to receive an input for unlocking, when the operation mode is the unlocking standby mode.
  • FIG. 6 is an exemplary diagram of a user interface screen according to an operation mode.
  • 6(a) shows a password input screen as an exemplary lock screen.
  • the robot 100 may display a lock screen on the display 131 under the control of the processor 180 when in the lock release standby mode by performing step S550.
  • the lock screen refers to a user interface screen for performing an authentication procedure required to unlock the loading box 100a.
  • the authentication procedure includes password input, fingerprint, iris, biometric information authentication including voice and facial recognition, RFID, barcode or QR code tagging, promised gestures and electronic keys, and can confirm that the user is the recipient.
  • Various authentication procedures can be used.
  • the authentication procedure may be performed through the display 131 and/or the input/output unit 140 under the control of the processor 180.
  • the display 131 may have a structure that can rotate left and right up and down. For example, when the robot 100 is in the unlock standby mode, the robot 100 rotates the display 131 under the control of the processor 180 so that the display 131 faces the direction in which the loading box 100a is located. I can.
  • the robot control method includes the steps of setting the operation mode to the unlocking mode when an input for unlocking is received, and displaying a menu screen that can instruct the opening and closing of the loading box 100a through the display 131. It may contain more.
  • the input for unlocking means a user input required for the above-described authentication procedure.
  • the input for unlocking may include password input, fingerprint recognition, iris recognition, and code tagging.
  • the robot 100 may control the processor 180 to set the operation mode to the unlocking mode.
  • the robot 100 When the robot 100 successfully acquires an input for unlocking, it unlocks the locked loading box 100a under the control of the processor 180 and switches the operation mode to the unlock mode. When the robot 100 is in the unlocking mode, the robot 100 may rotate the display 131 under the control of the processor 180 so that it faces the direction in which the loading box 100a is located.
  • the unlocked robot 100 may display a menu screen for instructing the opening and closing of the loading box 100a through the display 131 under the control of the processor 180.
  • 6(b) shows an exemplary menu screen displayed on the display 131 in the unlock mode.
  • FIG. 6(b) shows an exemplary menu screen of the robot 100 in which the loading box 100a is configured with a plurality of drawers.
  • the illustrated menu screen includes'open upper drawer','open lower drawer', and'move' as active states.
  • the robot 100 performs an operation of opening the upper drawer, and displays a menu screen consisting of'close the upper drawer','open the lower drawer', and'move' ( 131). Since the drawer is open,'Move' can be disabled.
  • FIG. 7 is a block diagram of a server according to an embodiment.
  • the server 300 may refer to a control server that controls the robot 100.
  • the server 300 may be a central control server that monitors the plurality of robots 100.
  • the server 300 may store and manage state information of the robot 100.
  • the status information may include location information of the robot 100, an operation mode, information on a driving route, information on past delivery history, and information on remaining battery capacity.
  • the server 300 may determine the robot 100 to process the user's service request. In this case, the server 300 may consider state information of the robot 100. For example, the server 300 may determine the idle robot 100 located in the user's nearest room as the robot 100 to process the user's service request.
  • the server 300 may refer to a device that trains an artificial neural network using a machine learning algorithm or uses the learned artificial neural network.
  • the server 300 may be configured with a plurality of servers to perform distributed processing, or may be defined as a 5G network.
  • the server 300 may be included as a part of the robot 100 to perform at least a part of AI processing together.
  • the server 300 may include a communication unit 310, an input unit 320, a learning processor 330, a storage unit 340, and a processor 350.
  • the communication unit 310 may transmit and receive data with an external device such as the robot 100.
  • the communication unit 310 may receive spatial identification data from the robot 100 and transmit a spatial attribute extracted from the spatial identification data to the robot 100 in response thereto.
  • the communication unit 310 may transmit information on whether or not the current robot has entered the target area to the robot 100.
  • the input unit 320 may obtain input data for AI processing.
  • the input unit 320 includes an input/output port through which data stored in an external storage medium can be input.
  • the storage unit 340 may include a model storage unit 341.
  • the model storage unit 341 may store a model (or artificial neural network, 341a) being trained or trained through the learning processor 330.
  • the storage unit 340 may store a learning object recognition model or a learned object recognition model.
  • the learning processor 330 may train the artificial neural network 341a using the training data.
  • the learning model may be used while being mounted on the server 300 of the artificial neural network, or may be mounted on an external device such as the robot 100 and used.
  • the learning model can be implemented in hardware, software, or a combination of hardware and software. When part or all of the learning model is implemented in software, one or more instructions constituting the learning model may be stored in the storage unit 340.
  • the processor 350 may infer a result value for new input data using the learning model, and generate a response or a control command based on the inferred result value. For example, the processor 350 may infer a spatial attribute of new spatial identification data using an object recognition model and respond to whether or not a place where the robot 100 is currently driving is a target area.
  • the steps may be performed in a suitable order.
  • the present invention is not necessarily limited according to the order of description of the steps.
  • the use of all examples or illustrative terms (for example, etc.) in the present invention is merely for describing the present invention in detail, and the scope of the present invention is limited by the above examples or illustrative terms unless limited by the claims. It does not become.
  • those skilled in the art will appreciate that various modifications, combinations, and changes may be made according to design conditions and factors within the scope of the appended claims or their equivalents.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Fuzzy Systems (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Manipulator (AREA)

Abstract

로봇 및 로봇의 제어 방법이 제공된다. 로봇은 인공신경망에 기반한 학습 모델을 이용하여 타겟 영역 진입 여부를 판단한다. 로봇은 타겟 영역에 진입하면 적재함을 잠금해제 가능한 모드로 전환한다. 이로써 사용자 편의가 제고된다.

Description

로봇
본 발명은 로봇에 관한 것으로 보다 구체적으로는 타겟 영역에서 적재함을 잠금해제 가능한 로봇 및 이와 같은 로봇의 제어 방법에 관한 것이다.
최근 공항, 병원, 쇼핑몰, 호텔 및 레스토랑 등과 같은 다양한 장소에서 로봇을 이용한 운반 서비스가 제공되고 있다. 공항 로봇은 사람을 대신하여 무거운 여행 가방을 옮긴다. 병원 로봇은 주의가 필요한 위험한 약품을 안전하게 배송한다. 컨시어지 로봇은 투숙객이 주문한 룸서비스를 제공하고, 서빙 로봇은 뜨거운 음식을 식지 않게 서빙한다.
선행 기술 1(한국 공개특허공보 KR 10-2019-0055415 A)은 환자의 의료 처치를 위한 필요 물품을 전달하는 병동 어시스턴트 로봇 장치를 개시한다. 선행 기술 1은 필요 물품을 탑재한 상태로 환자의 침상 앞까지 이동하여 환자의 처치 물품을 주치 의사에게 제공한다.
선행 기술 2(한국 등록특허공보 KR 10-1495498 B1)는 환자가 복용할 약품이 담긴 약포를 전달하는 환자 관리 보조용 로봇을 개시한다. 이를 위하여 선행 기술 2는 환자별로 구분하여 약포를 수납부에 수납하고 수령자로 인식된 환자에게 할당된 수납부를 잠금해제한다.
하지만, 선행 기술 1 및 선행 기술 2는 설정된 목적지에서만 의사 또는 환자 인증을 거쳐 수납부를 잠금해제하므로 배송을 완료하려면 반드시 목적지에 도달하는 것이 요구된다. 따라서, 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 주행 속도를 낮추고 목적지까지 회피 주행이 필요하고 배달이 지연될 수 있다.
본 발명의 일 과제는 로봇이 목적지에 접근하기 어려운 경우에 물품의 배송이 지연되는 종래 기술의 문제점을 해결하는 것이다.
본 발명의 일 과제는 목적지 근접 시에 로봇의 적재함을 잠금해제 가능한 작동 모드로 전환하는 로봇을 제공하는 것이다.
본 발명의 일 과제는 인공 신경망에 기반한 사물 인식 모델에 기반하여 타겟 공간 진입 여부를 판단하는 로봇을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 로봇은 목적지 근방의 타겟 영역에 로봇이 진입한 경우에 잠금해제 가능한 대기 모드로 전환한다.
이를 위하여 일 실시예에 따른 로봇은 적어도 하나의 적재함, 출발지로부터 목적지까지의 경로 정보를 저장하는 메모리, 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 센서 및 로봇의 작동 모드에 따라 상기 적재함의 개폐를 제어하는 프로세서를 포함할 수 있다.
구체적으로, 프로세서는 공간 식별 데이터에 기반하여 적재함을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단하고, 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정할 수 있다.
이를 위하여 프로세서는 인공 신경망에 기반한 사물 인식 모델을 이용하여 타겟 영역에 진입하였는 지를 판단할 수 있다.
일 실시예에 따른 로봇은 사용자 인터페이스 화면을 표시하는 디스플레이를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 적재함을 구비한 로봇의 제어 방법은, 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계, 적재함을 잠그고, 작동 모드를 잠금 모드로 설정하는 단계, 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 단계, 공간 식별 데이터에 기반하여 타겟 영역에 진입하였는 지를 판단하는 단계 및 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정하는 단계를 포함할 수 있다.
일 실시예에 따른 로봇 제어 방법은 작동 모드가 잠금해제 대기 모드인 경우, 디스플레이를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따른 로봇 제어 방법은 타겟 영역에 진입한 경우, 통신부를 통해 외부 기기에 알림 메시지를 전송하는 단계를 더 포함할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들의 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 의하면 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 발생하는 로봇의 주행 속도 하강을 방지할 수 있다.
또한, 회피 주행으로 인해 목적지에 정확하게 도달하기까지 소요되는 지연 시간을 단축할 수 있으므로 사용자 편의가 제고될 수 있다.
또한, 인공 신경망에 기반한 사물 인식 모델에 기반하여 타겟 공간 진입 여부를 판단하므로 정확도가 제고될 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 본 발명이 속한 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 로봇, 단말, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 로봇 제어 환경의 예시도이다.
도 2는 예시적인 로봇의 외관을 보여주는 도면이다.
도 3은 일 실시예에 따른 로봇의 블록도이다.
도 4는 일 실시예에 따른 로봇의 작동 모드 전이를 보여주는 도면이다.
도 5는 일 실시예에 따른 로봇 제어 방법의 흐름도이다.
도 6은 작동 모드에 따른 사용자 인터페이스 화면의 예시도이다.
도 7은 일 실시예에 따른 서버의 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 일 실시예에 따른 로봇, 단말, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 로봇 제어 환경의 예시도이다. 도 1을 참조하면, 로봇 제어 환경은, 로봇(100), 단말(200), 서버(300) 및 네트워크(400)를 포함할 수 있다. 도 1에 도시된 기기들 이외에 다양한 전자 기기들이 네트워크(400)를 통해 서로 연결되어 동작할 수 있다.
로봇(100)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇(100)은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇(100)은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
로봇(100)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100)에서 직접 학습되거나, 서버(300) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, 서버(300) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나를 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100)을 주행시킬 수 있다.
맵 데이터에는 로봇(100)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
로봇(100)은 출발지부터 목적지까지 물품을 운반하는 배송 로봇으로서 배송 서비스를 제공할 수 있다. 로봇(100)은 단말(200) 및 서버(300)와 네트워크(400)를 통해 통신할 수 있다. 예를 들어 로봇(100)은 사용자가 단말(200)을 통해 설정한 출발지 정보 및 배송지 정보를 네트워크(400)를 통해 단말(200) 및/또는 서버(300)로부터 수신할 수 있다. 예를 들어 로봇(100)은 현재 위치, 작동 상태, 도착 여부 및 센싱 데이터 등의 정보를 네트워크(400)를 통해 단말(200) 및/또는 서버(300)로 전송할 수 있다.
단말(200)은 사용자 또는 운영자가 조작하는 전자 기기로서, 사용자는 단말(200)을 이용하여 로봇(100)의 제어를 위한 어플리케이션을 구동하거나 서버(300)를 포함한 외부 장치에 설치된 어플리케이션에 접속할 수 있다. 예를 들어 단말(200)은 어플리케이션을 통해 사용자가 지정한 타겟 영역 정보를 획득하고 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로 전송할 수 있다. 단말(200)은 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로부터 로봇(100)의 상태 정보 등을 수신할 수 있다. 단말(200)은 탑재된 어플리케이션을 통해 로봇(100)을 제어 및 관리하고 모니터링하는 기능을 사용자에게 제공할 수 있다.
단말(200)은 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말을 포함할 수 있으며, 단말(200)은 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 단말(200)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있다. 단말(200)은 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말은 제한 없이 사용될 수 있다.
서버(300)는 로봇(100)을 관제하고 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터 및 로봇 제어에 관한 데이터를 제공하는 데이터베이스 서버일 수 있다. 서버(300)는 단말(200)에 설치된 애플리케이션 또는 웹 브라우저를 이용하여 로봇(100)을 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다.
여기서 인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
네트워크(400)는 로봇(100)과 단말(200)과 서버(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대 LANs(local area networks), WANs(wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.
도 2는 예시적인 로봇의 외관을 보여주는 도면이다. 도 2(a) 및 도 2(b)는 로봇(100)의 외관을 예시적으로 도시한다. 로봇(100)은 물품을 수납할 수 있는 다양한 구조를 포함할 수 있다.
도 2(a)에서 로봇(100)은 적재함(100a)을 포함할 수 있다. 적재함(100a)은 로봇의 본체와 분리가능하고 체결부를 통해 본체와 결합할 수 있다. 일 예에서 적재함(100a)은 본체와 일체형으로 구현될 수도 있다. 여기서 적재함(100a)은 물품을 수납할 수 있는 공간을 의미한다.
필요에 따라 적재함(100a)은 복수의 수납 공간을 포함할 수 있다.
로봇(100)의 물품 수납 방식이 수납 공간에 물품을 넣는 방식으로 제한되는 것은 아니다. 이를테면 로봇(100)은 예를 들어 물품을 파지하는 로봇 암을 이용하여 물품을 운반할 수 있다. 여기서 적재함(100a)은 이와 같은 로봇 암을 비롯한 다양한 수납 구조를 포함하는 의미로 사용된다.
적재함(100a)은 잠금 장치를 장착할 수 있다. 로봇(100)은 주행 상태 및 물품의 수납 상태에 따라 적재함(100a)의 잠금 장치를 잠그거나 잠금해제할 수 있다. 잠금 장치는 예를 들어 기계적 및/또는 전자적/전자기적 잠금 장치일 수 있으나 이에 제한되는 것은 아니다. 로봇(100)은 적재함(100a)의 잠금 여부를 나타내는 정보를 저장 및 관리하고 이를 다른 장치와 공유할 수 있다.
로봇(100)은 적어도 하나의 디스플레이를 포함할 수 있다. 도 2(a)에서 디스플레이(100a, 100b)는 예시적으로 로봇(100)의 본체에 배치되었지만, 본체의 다른 위치에 배치되거나 적재함(100a)의 외부에 배치될 수도 있다. 일 예에서 디스플레이(100a, 100b)는 로봇(100)과 일체형 및/또는 탈부착형으로 제공될 수 있다.
로봇(100)은 제 1 디스플레이(100b) 및 제 2 디스플레이(100c)를 포함할 수 있다. 예를 들어 로봇(100)은 제 1 디스플레이(100a)를 통해 사용자 인터페이스 화면을 출력할 수 있다. 예를 들어 로봇(100)은 제 2 디스플레이(100b)를 통해 알림 메시지를 출력할 수 있다.
도 2(b)는 로봇(100)의 본체를 예시적으로 도시한다. 도2(b)는 적재함(100a)이 분리된 로봇(100)의 외관을 참고적으로 보여준다.
도 3은 일 실시예에 따른 로봇의 블록도이다.
로봇(100)은 통신부(110), 센서(120), 사용자 인터페이스부(130), 입출력부(140), 구동부(150), 전원공급부(160), 메모리(170) 및 프로세서(170)를 포함할 수 있다. 도 3에 도시된 구성요소는 로봇(100)을 구현하는데 있어서 필수적인 것은 아니어서, 실시예에 따른 로봇(100)은 위에서 열거된 구성요소 보다 많거나, 또는 적은 구성요소를 가질 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치나 서버(300) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다. 예를 들어 AI 장치는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth쪠), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
통신부(110)는 네트워크(400)와 연동하여 로봇(100) 및/또는 단말(200) 및/또는 서버(300) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 또한 통신부(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. 또한, 통신부(110)는 각종 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, V2X(vehicle to everything communication) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
통신부(110)는 프로세서(180)의 제어 하에 센서(120)에서 획득한 공간 식별 데이터를 서버(300)로 전송하고, 이에 대한 응답으로 서버(300)로부터 로봇(100)이 현재 위치한 공간의 공간 속성 정보를 수신할 수 있다. 로봇(100)은 수신된 공간 속성 정보에 기반하여 프로세서(180)의 제어 하에 타겟 영역 진입 여부를 판단할 수 있다. 다른 예에서 통신부(110)는 프로세서(180)의 제어 하에 센서(120)가 획득한 공간 식별 데이터를 서버(300)로 전송하고 이에 대한 응답으로 로봇(100)의 타겟 영역 진입 여부 정보를 수신할 수 있다.
센서(120)는 다양한 센서들을 이용하여 로봇(100) 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다. 센서(120)는 로봇(100)이 SLAM에 기반하여 맵을 생성하고 로봇(100)의 현재 위치를 확인할 수 있도록 하는 공간 식별 데이터를 로봇(100)에게 제공할 수 있다.
구체적으로, 센서(120)는 외부의 공간의 객체들을 센싱하여 맵을 생성할 수 있도록 한다. 센서(120)는 외부의 공간의 객체들 중 특징이 될 수 있는 객체들의 비전 정보를 산출하여 비전 정보가 위치 정보와 함께 맵 상에 저장될 수 있도록 한다. 여기서 비전 정보는 해당 공간을 식별하기 위한 공간 식별 데이터로서 프로세서(180)에게 제공될 수 있다.
센서(120)는 비전 센싱부, 라이다 센싱부, 뎁스 센싱부 및 센싱 데이터 분석부를 포함할 수 있다.
비전 센싱부는 로봇의 주변의 객체들을 촬영하여 이미지로 산출한다. 예를 들어 비전 센싱부는 이미지 센서를 포함한다. 비전 센싱부가 촬영한 이미지 정보 중에서 일부 이미지 정보는 위치를 설정함에 있어 필요한 특징점을 가지는 비전 정보로 변환된다. 이미지 정보는 픽셀 별로 색상을 가지는 정보이며, 비전 정보는 이미지 정보에서 유의미한 내용이 추출된 것을 의미한다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 비전 정보를 포함한다.
센싱 데이터 분석부는 비전 센싱부에서 산출한 이미지 정보에서 특정한 문자, 특정한 도형, 또는 특정한 색상 등의 정보를 추가하여 생성한 추가 정보를 프로세서(180)에게 제공할 수 있다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 이와 같은 추가 정보를 포함할 수 있다. 일 예에서 프로세서(180)가 센싱 데이터 분석부의 기능을 수행할 수 있다.
라이다 센싱부는 레이저 신호를 송신하고 레이저 신호를 반사시킨 객체의 거리와 재질 등을 제공한다. 이에 기반하여 로봇(100)은 라이다 센싱부가 센싱한 객체들의 거리와 위치, 방향 등을 파악하여 맵을 생성할 수 있다. 예를 들어 라이다 센싱부는 라이다 센서를 포함한다.
슬램(SLAM, Simultaneous Localization And Mapping) 기술을 적용할 경우, 라이다 센싱부는 주변의 공간에 대한 지도를 작성할 수 있는 센싱 데이터를 산출한다. 그리고 생성된 센싱 데이터를 맵 상에 저장할 경우 로봇(100)은 맵 상에서 자신의 위치를 인식할 수 있다.
라이다 센싱부는 송신한 레이저 신호가 객체로부터 반사되는 레이저 신호의 패턴, 예를 들어 시간차 혹은 신호의 강도(Intensity)를 센싱 데이터 분석부에 제공하며, 센싱 데이터 분석부는 센싱된 객체의 거리와 특성 정보를 프로세서(180)에 제공할 수 있다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 센싱된 객체의 거리와 특성 정보를 포함할 수 있다.
뎁스 센싱부 역시 로봇의 주변의 객체들의 뎁스(거리 정보)를 산출한다. 특히 비전 센싱부가 촬영한 이미지 정보를 비전 정보로 변환하는 과정에서 비전 정보에 포함된 객체의 뎁스 정보가 비전 정보에 포함될 수 있다. 공간 식별 데이터는 센싱된 객체의 거리 정보 및/또는 비전 정보를 포함할 수 있다. 예를 들어 뎁스 센싱부는 뎁스 센서를 포함한다.
센서(120)는 전술한 센싱부들을 보조하기 위해, 혹은 센싱의 정확도를 높이기 위해 초음파 센서, 적외선 센서 및 온도 센서 등으로 구성된 보조 센싱부를 포함할 수 있다.
한편, 센서(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 센서(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
사용자 인터페이스부(130) 중 디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)의 구동 상태를 출력할 수 있다. 일 예에서 디스플레이(131)는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 디스플레이(131)는 사용자의 터치에 의한 정보의 입력이 가능한 조작부(132)로도 사용될 수 있다. 이를 위해 디스플레이(131)는 터치 인식 디스플레이 제어기 또는 이외의 다양한 입출력 제어기로 구성될 수 있다. 일 예로, 터치 인식 디스플레이 제어기는 로봇(100)과 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공할 수 있다. 터치 인식 디스플레이 제어기는 전기 신호를 프로세서(180)와 송수신할 수 있다. 또한, 터치 인식 디스플레이 제어기는 사용자에게 시각적인 출력을 표시하며, 시각적 출력은 텍스트, 그래픽, 이미지, 비디오와 이들의 조합을 포함할 수 있다. 이와 같은 디스플레이(131)는 예를 들어 터치 인식이 가능한 OLED(organic light emitting display) 또는 LCD(liquid crystal display) 또는 LED(light emitting display)와 같은 소정의 디스플레이 부재일 수 있다.
사용자 인터페이스부(130) 중 조작부(132)는 복수의 조작 버튼(미도시)을 구비하여, 입력되는 버튼에 대응하는 신호를 프로세서(180)로 전송할 수 있다. 이러한 조작부(132)는 사용자의 터치 또는 누름 조작을 인식할 수 있는 센서 또는 버튼, 스위치 구조로 구성될 수 있다. 조작부(132)는 디스플레이(131)에 표시되는 로봇(100)의 구동과 관련한 각종 정보를 확인하거나, 변경하기 위해 사용자가 조작하는 조작 신호를 프로세서(180)로 전송할 수 있다.
디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)과 사용자 간의 인터랙션을 위한 사용자 인터페이스 화면을 출력할 수 있다. 예를 들어 디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)이 타겟 영역에 진입하여 잠금해제 대기 모드로 전환된 경우 잠금 화면(lock screen)을 표시할 수 있다.
디스플레이(131)는 프로세서(180)의 제어 하에 적재함(100a)의 적재 상태에 따라 메시지를 출력할 수 있다. 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)의 적재 상태에 따라 디스플레이(131)에 표시할 메시지를 결정할 수 있다. 예를 들어 로봇(100)이 적재함(100a)에 물품을 적재하고 주행 중인 경우 로봇(100)은 프로세서(180)의 제어 하에 '운반 중입니다'라는 메시지를 디스플레이(131)에 표시할 수 있다.
디스플레이(131)는 복수 개의 디스플레이를 포함할 수 있다. 예를 들어 디스플레이(131)는 사용자 인터페이스 화면을 표시하는 디스플레이(도 2를 참조하여, 100b) 및 메시지를 표시하는 디스플레이(도 2를 참조하여, 100c)를 포함할 수 있다.
입출력부(140)는 입력 데이터를 획득하는 입력부 및 시각, 청각 또는 촉각 등과 관련된 출력을 생성하는 출력부를 포함할 수 있다.
입력부는 다양한 종류의 데이터를 획득할 수 있다. 입력부는 영상 신호 입력을 위한 카메라(142), 오디오 신호를 수신하기 위한 마이크로폰(141), 사용자로부터 정보를 입력 받기 위한 코드 입력부(143) 등을 포함할 수 있다. 여기서, 카메라(142)나 마이크로폰(141)을 센서로 취급하여, 카메라(142)나 마이크로폰(141)으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서는 입력 데이터에 대하여 전처리로써 입력 특징점을 추출할 수 있다.
출력부는 시각 정보를 출력하는 디스플레이(131), 청각 정보를 출력하는 스피커(144), 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
구동부(150)는 로봇(100)을 구동하는 모듈로, 구동 기구와 구동 기구를 움직이는 구동 전동부를 포함할 수 있다. 또한 구동부(150)는 프로세서(180)의 제어 하에 적재함(100a)의 도어를 구동하는 도어 구동부 를 더 포함할 수 있다.
전원공급부(160)는 프로세서(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 로봇(100)의 각 구성요소에 전원을 공급한다. 전원공급부(160)는 배터리를 포함한다. 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다. 배터리는 유선 또는 무선 충전 방식으로 충전될 수 있는데, 무선 충전 방식은 자기 유도 방식 또는 자기 공진 방식을 포함할 수 있다.
프로세서(190)는 전원공급부(160)의 배터리가 배송 작업을 수행하기에 부족한 경우 배터리를 충전하러 지정된 충전소로 이동하도록 제어할 수 있다.
메모리(170)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이러한 메모리(170)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
메모리(170)는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예를 들어, 메모리(170)는 센서(120) 또는 입력부에서 획득한 입력 데이터, 학습 데이터, 학습 모델 및 학습 히스토리 등을 저장할 수 있다. 예를 들어 메모리(170)는 맵 데이터를 저장할 수 있다.
프로세서(180)는 일종의 중앙처리장치로서 메모리(170)에 탑재된 제어 소프트웨어를 구동하여 로봇(100) 전체의 동작을 제어할 수 있다. 프로세서(180)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(180)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 프로세서(180)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서에 의해 학습된 것이나, 서버(300)의 러닝 프로세서(330)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서에 저장하거나, 서버(300) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 사물 인식 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 로봇(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, 로봇(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
프로세서(180)는 디스플레이(131)를 제어하여 사용자가 디스플레이(131)에 표시된 사용자 인터페이스 화면을 통해 지정한 타겟 영역 정보를 획득할 수 있다.
프로세서(180)는 작동 모드에 따라 적재함(100a)의 개폐를 제어할 수 있다. 프로세서(180)는 센서(120)에서 획득한 공간 식별 데이터에 기반하여 적재함(100a)을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단할 수 있다. 프로세서(180)는 로봇(100)이 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정할 수 있다. 프로세서는(180)는 작동 모드가 잠금해제 대기 모드인 경우, 로봇(100)이 주행을 멈추고 사용자가 올 때까지 대기하도록 설정할 수 있다.
로봇(100)은 러닝 프로세서를 포함할 수 있다.
러닝 프로세서는 학습 데이터를 이용하여 인공 신경망으로 구성된 사물 인식 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
러닝 프로세서는 서버(300)의 러닝 프로세서(330)와 함께 AI 프로세싱을 수행할 수 있다.
러닝 프로세서는 독립된 칩으로 구현되거나 또는 프로세서(180)에 포함되어 구현될 수도 있다.
러닝 프로세서는 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서는 메모리(170), 로봇(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
도 4는 일 실시예에 따른 로봇의 작동 모드 전이를 보여주는 도면이다.
적재된 물품의 도난 및 분실 방지를 위하여 로봇(100)을 잠글(lock) 수 있다. 여기서 로봇(100)을 잠근다는 것은 적재함(100a)의 잠금 장치를 잠금 상태로 만드는 것을 의미한다. 사용자는 로봇(100)의 적재함(100a)에 물품을 적재하고 해당 적재함(100a)이 잠기도록 설정하고 수령자는 인증 과정을 거쳐서 해당 적재함(100a)을 잠금해제할 수 있다. 잠금해제를 위한 인증 과정은 소정의 암호를 입력하거나 생체 정보를 입력하여 적재함에 접근할 자격이 있는 지 여부를 확인하는 과정을 포함한다. 예를 들어 사용자는 이와 같은 인증 과정을 거쳐야만 로봇(100)을 잠금해제할 수 있다. 여기서 사용자는 로봇(100)과 인터랙션하는 다양한 주체를 포함하는 의미로 사용된다. 예를 들어 사용자는 로봇(100)에 물품의 배송을 지시하는 주체 및 물품을 수령하는 주체를 포함하고, 사람에 한정되지 않으며 다른 지능형 로봇일 수도 있다.
로봇(100)은 작동 모드에 따라 적재함(100a)의 잠금 상태를 변경할 수 있다. 일 예에서 작동 모드는 잠금 모드(lock mode), 잠금해제 모드(unlock mode) 및 잠금해제 대기 모드(ready mode)를 포함할 수 있다. 로봇(100)은 프로세서(180)의 제어 하에 작동 모드를 결정하고 결정된 작동 모드를 메모리(170)에 저장한다. 일 예에서 작동 모드는 로봇(100)의 적재함별로 결정될 수 있다. 일 예에서 작동 모드는 로봇(100)에 대하여 결정될 수 있다.
이하에서, 예시적인 로봇(100)의 물품 배송 과정에 따른 작동 모드 전이를 도 4를 참조하여 살펴본다.
로봇(100)을 이용하여 물품을 배송하려는 사용자가 로봇(100)을 호출하면 가용한 로봇(100)이 사용자에게 배치된다. 여기서 가용한 로봇(100)은 빈 적재함(100a)을 보유한 로봇이거나 또는 유휴 상태인 로봇(100)을 포함한다. 사용자는 단말(200)을 이용하여 로봇(100)에게 서비스 요청을 직접 전송하거나 또는 서버(300)에게 서비스 요청을 전송할 수 있다. 또는 사용자는 사용자 근처에 있는 로봇(100)을 음성 명령으로 호출할 수 있다.
로봇(100)의 적재함(100a)이 비어있거나 또는 로봇(100)이 유휴 상태인 경우, 로봇(100)은 프로세서(180)의 제어 하에 빈 적재함(100a) 또는 유휴 상태인 로봇(100)의 작동 모드를 잠금해제 모드(UNLOCK MODE)로 설정한다.
사용자의 서비스 요청에 따라 호출된 로봇(100)은 사용자의 음성 명령 또는 사용자 인터페이스부(130)를 통해 획득한 지시에 따라 빈 적재함(100a)을 열고, 사용자가 넣은 물품이 로딩된 적재함(100a)을 닫는다. 일 예에서 로봇(100)은 무게 센서를 이용하여 적재함(100a)에 물품이 적재되었는 지 여부를 판단하고, 적재된 물품의 무게를 결정할 수 있다.
사용자가 로봇(100)의 적재함(100a)에 물품을 적재하고 해당 적재함(100a)이 잠기도록 설정하면 로봇(100)은 로딩된 적재함(100a)의 작동 모드를 잠금 모드로 설정한다. 예를 들어 사용자는 음성 명령 또는 디스플레이(131)에 표시된 사용자 인터페이스 화면을 통해 로딩된 적재함(100a)을 잠그도록 지시할 수 있다. 예를 들어 사용자는 단말(200)을 통해 적재함(100a)을 잠그도록 지시할 수 있다.
로봇(100)은 잠금 지시에 따라 프로세서(180)의 제어 하에 로딩된 적재함(100a)의 잠금 장치를 가동하여 해당 적재함(100a)을 잠금 상태로 만들 수 있다. 잠금 장치는 예를 들어 기계적 및/또는 전자기적 잠금 장치일 수 있으나 이에 제한되는 것은 아니다.
적재함(100a)이 잠금 상태로 설정된 경우(LOCK_SUCCESS), 로봇(100)은 해당 적재함(100a)을 잠금 모드(LOCK MODE)로 설정할 수 있다.
로봇(100)은 적재된 물품의 배송을 위해 목적지를 향해 주행(DRIVE)을 시작한다. 로봇(100)은 물품을 적재하고 주행하는 동안 잠금 모드를 유지한다. 이로써 적재된 물품의 유실이나 도난을 방지하고 위험한 물품 또는 중요 물품의 안전한 배송이 가능하다.
로봇(100)은 주행 중 센서(120)를 이용하여 공간 식별 데이터를 획득한다. 로봇(100)은 프로세서(180)의 제어 하에 공간 식별 데이터를 수집 및 분석하여 로봇(100)의 현재 위치를 결정하고 타겟 영역에 진입하였는 지 여부를 판단할 수 있다.
로봇(100)이 타겟 영역에 진입(TARGET_AREA)하면 로봇(100)은 주행을 멈추고 작동 모드를 잠금 모드에서 잠금해제 대기 모드로 전환한다. 잠금해제 대기 모드에서 로봇(100)은 사용자를 기다린다(WAIT). 로봇(100)은 사용자가 접근하여 잠금해제를 위한 인증 절차를 완료할 때까지 잠금해제 대기 모드를 유지한다.
로봇(100)은 잠금해제 대기 모드에서 단말(200) 및/또는 서버(300)에게 도착 알림 메시지를 전송할 수 있다. 예를 들어 도착 알림 메시지는 로봇(100)의 현재 위치 정보를 포함할 수 있다. 일 예에서 로봇(100)은 사용자를 기다리는 동안 일정 주기마다 도착 알림 메시지를 반복적으로 전송할 수 있다.
사용자는 단말(200)에 수신된 알림 메시지를 통해 로봇(100)이 타겟 영역에 도착하였음을 인지할 수 있다. 잠금해제 대기 모드에서 로봇(100)은 사용자가 적재함(100a)의 잠금 상태를 해제할 수 있는 사용자 인터페이스 화면을 디스플레이(131)을 통해 제공한다.
사용자는 로봇(100)이 타겟 영역에 진입한 것을 인지한 경우, 대기 중인 로봇(100)쪽으로 직접 이동하여 물품을 수령할 수 있다. 따라서, 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 발생하는 로봇(100)의 주행 속도 하강을 방지하고, 회피 주행으로 인해 목적지에 정확하게 도달하기까지 소요되는 지연 시간을 단축할 수 있다. 이로써 긴급을 요하는 물품의 배송 시에 사용자 편의가 제고될 수 있다.
로봇(100)이 타겟 영역에 진입한 후 일정 시간이 경과(TIME_OUT)하도록 사용자가 오지 않는 경우, 로봇(100)은 작동 모드를 다시 잠금 모드로 전환할 수 있다. 로봇(100)은 단말(200) 및/또는 서버(300)에게 도착 알림 메시지를 전송할 수 있다. 일 예에서 로봇(100)은 타겟 영역에 진입한 후 일정 시간이 경과하도록 사용자가 오지 않는 경우 잠금 모드로 전환한 후 출발지 또는 사전설정된 대기 구역으로 이동할 수 있다. 이 경우 로봇(100)은 단말(200) 및/또는 서버(300)에게 복귀 알림 메시지 또는 대기 알림 메시지를 전송할 수 있다.
사용자가 로봇(100)에게 접근하여 암호 입력 등의 인증 절차를 성공적으로 수행하면 로봇(100)은 대기 모드를 종료하고 작동 모드를 잠금해제 모드로 전환한다.
잠금해제 모드에서 로봇(100)은 적재함(100a)을 잠금해제한다. 로봇(100)은 잠금해제된 적재함(100a)에서 사용자가 물품을 꺼내는 동안 주행을 멈추고(STOP) 잠금해제 모드를 유지한다.
사용자가 물품 수령을 완료한 경우, 로봇(100)은 다음 배송지 또는 사정에 지정된 대기 구역으로 이동한다. 이 경우 로봇(100)은 빈 적재함(100a)을 잠금해제 모드로 설정하고 주행할 수 있다.
배송을 완료하고 복귀 중인 로봇(100)은 작동 모드를 잠금해제 모드로 설정하고 주행할 수 있다. 복귀 중인 로봇(100)은 작동 모드를 잠금 모드로 설정하고 주행할 수도 있다. 이 경우, 복귀 중인 로봇(100)의 잠금해제는 어디서든 가능할 수 있다.
도 5는 일 실시예에 따른 로봇 제어 방법의 흐름도이다.
로봇 제어 방법은 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계(S510), 적재함을 잠그고 로봇의 작동 모드를 잠금 모드로 설정하는 단계(S520), 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 감지하는 단계(S530), 공간 식별 데이터에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단하는 단계(S540) 및 로봇(100)이 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정하는 단계(S550)를 포함할 수 있다.
단계(S510)에서 로봇(100)은 프로세서(180)의 제어 하에 타겟 영역 정보를 획득할 수 있다.
로봇(100)은 단계(S510)에서 사용자가 설정한 타겟 영역 정보를 획득할 수 있다.
타겟 영역은 목적지를 포함하는 영역으로서 사용자가 적재함(100a)의 잠금을 해제할 수 있는 영역을 의미한다. 타겟 영역 정보는 로봇(100)이 메모리(170)에 보유한 맵에서 타겟 영역을 특정하기 위한 정보를 의미한다. 예를 들어 타겟 영역 정보는 맵 상의 공간 좌표 또는 공간 식별 데이터로 정의된 평면 또는 입체 공간에 대한 정보를 포함한다. 도 3을 참조하여 전술한대로 타겟 영역에서 로봇(100)은 작동 모드를 잠금해제 대기 모드로 전환한다.
단계(S510)에서 로봇(100)은 프로세서(180)의 제어 하에, 통신부(110)를 통해 단말(200) 또는 서버(300)로부터 사용자가 설정한 타겟 영역 정보를 수신하거나, 디스플레이(131)를 통해 표현된 실내 지도에서 사용자가 선택한 타겟 영역 정보를 획득하거나, 마이크로폰(141)을 통해 사용자가 음성 입력으로 지정한 타겟 영역 정보를 획득할 수 있다.
선택적으로 사용자는 출발지 정보 및 목적지 정보를 지정할 수 있다. 예를 들어 사용자는 단말(200)을 통해, 또는 로봇의 디스플레이(131) 상에서 출발지 및 목적지를 지정하거나 또는 마이크로폰(141)을 통해 음성 입력으로 목적지를 로봇(100)에게 전달할 수 있다.
단계(S510)에서 로봇(100)은 획득한 출발지 정보 및 목적지 정보에 기반하여 경로 정보를 생성할 수 있다. 일 예에서 로봇(100)은 타겟 영역의 식별 정보에 기반하여 경로 정보를 생성할 수도 있다.
단계(S520)에서 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)을 잠그고 로봇(100)의 작동 모드를 잠금 모드로 설정할 수 있다.
단계(S520)에서 사용자가 적재함(100a)에 물품을 넣으면 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)의 문을 닫고 적재함(100a)을 잠그고 작동 모드를 잠금 모드로 설정한 후에 배송을 시작한다. 일 예에서 로봇(100)은 프로세서(180)의 제어 하에 통신부(110)를 통해 물품을 수령할 사용자의 단말(200)로 또는 서버(300)로 출발 알림 메시지를 전송할 수 있다.
일 예에서 디스플레이(131)는 좌우상하로 회전가능한 구조를 가질 수 있다. 예를 들어 로봇(100)이 잠금 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 디스플레이(131)가 로봇(100)이 주행하는 방향을 향하도록 할 수 있다.
단계(S530)에서 로봇(100)은 프로세서(180)의 제어 하에 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 센서(120)를 통해 공간 식별 데이터를 획득할 수 있다.
즉, 로봇(100)은 단계(S530)에서 경로 정보를 따라 주행하는 동안 거쳐가는 공간의 공간 식별 데이터를 센서(120)를 이용하여 획득할 수 있다. 도 3을 참조하여 전술한대로 공간 식별 데이터는 공간에 배치된 객체의 비전 정보, 위치 정보, 방향 정보 및 거리 정보를 포함할 수 있다. 공간 식별 데이터를 로봇(100)이 메모리(170)에 보유한 맵 상에서 로봇(100)의 현재 위치를 결정하기 위한 정보로 사용될 수 있다.
단계(S540)에서 로봇(100)은 프로세서(180)의 제어 하에 단계(S530)에서 감지한 공간 식별 데이터에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단할 수 있다
이하에서 실시예별로 단계(S540)에서 타겟 영역 진입 여부 결정 방법에 대하여 살펴본다.
제 1 실시예에 따르면, 단계(540)에서 로봇(100)은 자신의 현재 위치 정보에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
제 1 실시예에서, 단계(S540)은 공간 식별 데이터에 기반하여 로봇의 현재 위치를 결정하는 단계(1-1) 및 현재 위치가 타겟 영역 내로 매핑되는 경우, 타겟 영역에 진입한 것으로 판단하는 단계(1-2)를 포함할 수 있다.
단계(1-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 자신의 현재 위치를 결정할 수 있다. 예를 들어 로봇(100)은 프로세서(180)의 제어 하에 센서(120)를 통해 획득한 공간 식별 데이터와 맵에 저장된 비전 정보 등을 비교하여 현재 위치를 결정할 수 있다.
단계(1-2)에서 로봇(100)은 단계(1-1)에서 결정된 현재 위치가 단계(S510)에서 획득한 타겟 영역 정보에 의해 맵 상에서 특정되는 타겟 영역으로 매핑되는 경우, 타겟 영역에 진입한 것으로 판단할 수 있다.
제 2 실시예에 따르면, 단계(S540)에서 로봇(100)은 기준 거리 정보에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
단계(S540)은 공간 식별 데이터에 기반하여 로봇의 현재 위치를 결정하는 단계(2-1) 및 현재 위치와 목적지 간의 거리를 결정하는 단계 및 현재 위치와 목적지 간의 거리가 소정의 기준 거리 이내인 경우, 타겟 영역에 진입한 것으로 판단하는 단계(2-2)를 포함할 수 있다.
단계(2-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 자신의 현재 위치를 결정할 수 있다. 이는 전술한 단계(1-1)과 동일한 방식으로 진행될 수 있다.
단계(2-2)에서 로봇(100)은 단계(2-1)에서 결정된 현재 위치와 목적지 간의 거리를 계산하고, 현재 위치와 목적지 간의 거리가 소정의 기준 거리 이내인 경우, 타겟 영역에 진입한 것으로 판단할 수 있다. 여기서 기준 거리는 타겟 영역의 혼잡도, 배송 시간대와 같은 요인에 따라 조정될 수 있다. 예를 들어 타겟 영역에 사람이나 장애물이 많은 경우 기준 거리를 더 길게 설정할 수 있다. 예를 들어 배송 시간대가 출근 시간대인 경우 기준 거리를 더 짧게 설정할 수 있다.
제 3 실시예에 따르면, 단계(S540)에서 로봇(100)은 공간 속성에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
단계(S540)은 공간 식별 데이터에 기반하여 주행 중인 장소의 공간 속성을 결정하는 단계(3-1) 및 공간 속성에 기반하여 타겟 영역에 진입하였는 지를 판단하는 단계(3-2)를 포함할 수 있다.
단계(3-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 현재 로봇(100)이 주행 중인 장소의 공간 속성을 결정할 수 있다. 일 예에서 공간 속성은 공간 식별 데이터로부터 추출된 입력 특징점을 포함할 수 있다.
단계(3-2)에서 로봇(100)은 단계(3-1)에서 결정된 공간 속성에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단할 수 있다.
로봇(100)은 단계(3-2)에서 프로세서(180)의 제어 하에 인공 신경망에 기반한 사물 인식 모델을 이용하여 단계(3-1)에서 결정된 공간 속성으로부터 타겟 영역 진입 여부를 판단할 수 있다. 일 예에서 사물 인식 모델은 로봇(100)이 센서(120)를 이용하여 획득한 공간 식별 데이터를 학습 데이터로 하여 훈련될 수 있다. 사물 인식 모델은 로봇(100)의 프로세서의 제어 하에 훈련되거나 또는 서버(300)에서 훈련되어 로봇(100)에게 제공될 수 있다.
예를 들어, 병원에서 배송 서비스를 제공하는 로봇(100)의 목적지가 채혈실인 경우, 로봇(100)은 단계(3-1)에서 로봇(100)이 현재 주행 중인 위치에서 획득한 주변 이미지를 포함한 공간 식별 데이터를 입력으로 하여 사물 인식 모델을 통해 채혈실에 진입한 것으로 판단할 수 있다.
단계(S540)에서 로봇(100)은 전술한 제 1 실시예, 제 2 실시예 및 제 3 실시예 중 어느 하나 또는 둘 이상을 실행하여 타겟 영역 진입 여부를 판단할 수 있다. 제 1 실시예, 제 2 실시예 및 제 3 실시예는 서로를 구분하기 위하여 명명한 것이고 실시예 간의 선후 관계 또는 우선 순위를 제한하기 위한 것이 아니다.
단계(S550)에서 로봇(100)은 단계(S540)에서 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 작동 모드를 잠금해제 대기 모드로 설정할 수 있다.
단계(S540)에서 로봇(100)이 타겟 영역에 진입하지 않았다고 판단한 경우, 단계(S530)을 계속하여 실행할 수 있다. 이 경우 로봇(100)은 잠금 모드를 유지한다.
한편, 로봇 제어 방법은 로봇(100)은 단계(S540)에서 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 통신부(110)를 통해 외부 기기에 알림 메시지를 전송하는 단계를 더 포함할 수 있다.
예를 들어 로봇(100)은 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 통신부(110)를 통해 단말(200) 및/또는 서버(300)에 알림 메시지를 전송할 수 있다. 예를 들어 로봇(100)은 잠금해제 대기 모드에서 사용자를 기다리는 동안 단말(200) 및/또는 서버(300)에 반복적으로 알림 메시지를 전송할 수 있다.
로봇(100)은 프로세서(180)의 제어 하에, 작동 모드에 따라 디스플레이(131)에 표시될 사용자 인터페이스 화면을 결정할 수 있다.
로봇 제어 방법은 작동 모드가 잠금해제 대기 모드인 경우, 디스플레이(131)를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계를 더 포함할 수 있다.
도 6은 작동 모드에 따른 사용자 인터페이스 화면의 예시도이다.
도 6(a)는 예시적인 잠금 화면으로서 암호 입력 화면을 도시한다.
로봇(100)은 단계(S550)을 수행하여 잠금해제 대기 모드인 경우, 프로세서(180)의 제어 하에 디스플레이(131)에 잠금 화면을 표시할 수 있다. 잠금 화면은 적재함(100a)을 잠금해제 하기 위하여 요구되는 인증 절차를 수행하기 위한 사용자 인터페이스 화면을 의미한다. 일 예에서 인증 절차는 비밀번호 입력, 지문, 홍채, 음성 및 안면 인식을 포함한 생체 정보 인증, RFID, 바코드 또는 QR 코드의 태깅, 약속된 제스처 및 전자키 등을 포함하고, 사용자가 수령자임을 확인할 수 있는 다양한 인증 절차가 사용될 수 있다. 인증 절차는 프로세서(180)의 제어 하에 디스플레이(131) 및/또는 입출력부(140)를 통해 수행될 수 있다.
일 예에서 디스플레이(131)는 좌우상하로 회전가능한 구조를 가질 수 있다. 예를 들어 로봇(100)이 잠금해제 대기 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 디스플레이(131)가 적재함(100a)이 위치한 방향을 향하도록 할 수 있다.
추가적으로 로봇 제어 방법은 잠금해제를 위한 입력을 수신한 경우, 작동 모드를 잠금해제 모드로 설정하는 단계 및 디스플레이(131)를 통해 적재함(100a)의 개폐를 지시할 수 있는 메뉴 화면을 표시하는 단계를 더 포함할 수 있다.
잠금해제를 위한 입력은 전술한 인증 절차에 요구되는 사용자 입력을 의미한다. 예를 들어, 잠금해제를 위한 입력은 암호 입력, 지문 인식, 홍채 인식 및 코드 태깅 등을 포함할 수 있다.
로봇(100)은 잠금해제를 위한 입력을 수신한 경우, 프로세서(180)를 제어하여 작동 모드를 잠금해제 모드로 설정할 수 있다.
로봇(100)은 잠금해제를 위한 입력을 성공적으로 획득하면, 프로세서(180)의 제어 하에 잠긴 적재함(100a)을 잠금해제하고 작동 모드를 잠금해제 모드로 전환한다. 로봇(100)이 잠금해제 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 적재함(100a)이 위치한 방향을 향하도록 할 수 있다.
후속하여 잠금해제된 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 통해 적재함(100a)의 개폐를 지시할 수 있는 메뉴 화면을 표시할 수 있다.
도 6(b)는 잠금해제 모드에서 디스플레이(131)에 표현되는 예시적인 메뉴 화면을 도시한다.
도 6(b)는 적재함(100a)이 복수의 서랍 구조로 구성된 로봇(100)의 메뉴 화면을 예시적으로 도시한다.
도시된 메뉴 화면은 '위 서랍 열기', '아래 서랍 열기' 및 '이동하기'를 활성화 상태로 포함한다. 사용자가 메뉴 화면에서 '위 서랍 열기'를 선택하면 로봇(100)은 위 서랍을 여는 동작을 수행하면서,'위 서랍 닫기', '아래 서랍 열기' 및 '이동하기'로 구성된 메뉴 화면을 디스플레이(131)에 출력할 수 있다. 서랍이 열려있으므로 '이동하기'는 비활성화 상태가 될 수 있다.
도 7은 일 실시예에 따른 서버의 블록도이다.
서버(300)는 로봇(100)을 관제하는 관제 서버를 의미할 수 있다. 서버(300)는 복수의 로봇(100)을 모니터링하는 중앙 관제 서버일 수 있다. 서버(300)는 로봇(100)의 상태 정보를 저장 및 관리할 수 있다. 예를 들어 상태 정보는 로봇(100)의 위치 정보, 작동 모드, 주행 중인 경로 정보, 과거 배송 이력 정보 및 배터리 잔량 정보 등을 포함할 수 있다. 서버(300)는 사용자의 서비스 요청을 처리할 로봇(100)을 결정할 수 있다. 이 경우 서버(300)는 로봇(100)의 상태 정보를 고려할 수 있다. 예를 들어 서버(300)는 사용자의 최근방에 위치한 유휴 상태인 로봇(100)을 사용자의 서비스 요청을 처리할 로봇(100)으로 결정할 수 있다.
서버(300)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 서버(300)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이 때, 서버(300)는 로봇(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
서버(300)는 통신부(310), 입력부(320), 러닝 프로세서(330), 저장부(340) 및 프로세서(350)를 포함할 수 있다.
통신부(310)는 로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다. 예를 들어 통신부(310)는 로봇(100)으로부터 공간 식별 데이터를 수신하고 이에 대한 응답으로 로봇(100)에게 공간 식별 데이터로부터 추출된 공간 속성을 전송할 수 있다. 통신부(310)는 로봇(100)에게 현재 로봇이 타겟 영역에 진입하였는 지 여부에 대한 정보를 전송할 수 있다.
입력부(320)는 AI 프로세싱을 위한 입력 데이터를 획득할 수 있다. 예를 들어 입력부(320)는 외부 저장 매체에 저장된 데이터를 입력받을 수 있는 입출력 포트를 포함한다.
저장부(340)는 모델 저장부(341)를 포함할 수 있다. 모델 저장부(341)는 러닝 프로세서(330)를 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 341a)을 저장할 수 있다. 예를 들어, 저장부(340)는 학습 중인 또는 학습된 사물 인식 모델을 저장할 수 있다.
러닝 프로세서(330)는 학습 데이터를 이용하여 인공 신경망(341a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 서버(300)에 탑재된 상태에서 이용되거나, 로봇(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 저장부(340)에 저장될 수 있다.
프로세서(350)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다. 예를 들어 프로세서(350)는 사물 인식 모델을 이용하여 새로운 공간 식별 데이터에 대한 공간 속성을 추론하고 로봇(100)이 현재 주행 중인 곳이 타겟 영역인 지 여부를 응답할 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 청구의 범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 청구의 범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 청구의 범위뿐만 아니라 이 청구의 범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 적어도 하나의 적재함;
    출발지로부터 목적지까지의 경로 정보를 저장하는 메모리;
    상기 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 센서; 및
    작동 모드에 따라 상기 적재함의 개폐를 제어하는 프로세서
    를 포함하고, 상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 적재함을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단하고,
    상기 타겟 영역에 진입한 경우, 상기 작동 모드를 잠금해제 대기 모드로 설정하는,
    로봇.
  2. 제 1 항에 있어서,
    사용자 인터페이스 화면을 표시하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 디스플레이를 제어하여 사용자가 상기 사용자 인터페이스 화면을 통해 지정한 타겟 영역 정보를 획득하는,
    로봇.
  3. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하고,
    상기 현재 위치가 상기 타겟 영역 내로 매핑되는 경우, 상기 타겟 영역에 진입한 것으로 판단하는,
    로봇.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하고,
    상기 현재 위치와 상기 목적지 간의 거리를 결정하고,
    상기 거리가 소정의 기준 거리 이내인 경우, 상기 타겟 영역에 진입한 것으로 판단하는,
    로봇.
  5. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 로봇이 주행 중인 장소의 공간 속성을 결정하고,
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇.
  6. 제 5 항에 있어서,
    상기 프로세서는,
    인공 신경망에 기반한 사물 인식 모델을 이용하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇.
  7. 제 1 항에 있어서,
    상기 센서는 영상 센서, 라이다 센서 및 뎁스 센서를 포함하는,
    로봇.
  8. 제 1 항에 있어서,
    상기 프로세서는,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 로봇이 주행을 멈추고 사용자가 올 때까지 대기하도록 설정하는,
    로봇.
  9. 제 1 항에 있어서,
    상기 프로세서는,
    상기 적재함에 물품을 적재하고 주행 중인 경우, 상기 작동 모드를 잠금 모드로 유지하는,
    로봇.
  10. 제 1 항에 있어서,
    사용자 인터페이스 화면을 표시하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 상기 디스플레이를 제어하여 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면(lock screen)을 상기 사용자 인터페이스 화면으로 표시하는,
    로봇.
  11. 제 1 항에 있어서,
    메시지를 출력하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 적재함의 적재 상태에 따라 상기 디스플레이에 표시할 메시지를 결정하는,
    로봇.
  12. 제 1 항에 있어서,
    외부 기기와 통신하는 통신부
    를 더 포함하고,
    상기 프로세서는,
    상기 타겟 영역에 진입한 경우, 상기 통신부를 제어하여 상기 외부 기기에 알림 메시지를 전송하는,
    로봇.
  13. 적재함을 구비한 로봇의 제어 방법으로서,
    상기 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계;
    상기 적재함을 잠그고, 작동 모드를 잠금 모드로 설정하는 단계;
    출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 단계;
    상기 공간 식별 데이터에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계; 및
    상기 타겟 영역에 진입한 경우, 상기 작동 모드를 잠금해제 대기 모드로 설정하는 단계
    를 포함하는 로봇 제어 방법.
  14. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하는 단계; 및
    상기 현재 위치가 상기 타겟 영역 내로 매핑되는 경우, 상기 타겟 영역에 진입한 것으로 판단하는 단계
    를 포함하는 로봇 제어 방법.
  15. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하는 단계;
    상기 현재 위치와 상기 목적지 간의 거리를 결정하는 단계; 및
    상기 거리가 소정의 기준 거리 이내인 경우, 상기 타겟 영역에 진입한 것으로 판단하는 단계
    를 포함하는 로봇 제어 방법.
  16. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 주행 중인 장소의 공간 속성을 결정하는 단계; 및
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계
    를 포함하는 로봇 제어 방법.
  17. 제 16 항에 있어서,
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    인공 신경망에 기반한 사물 인식 모델을 이용하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇 제어 방법.
  18. 제 13 항에 있어서,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 디스플레이를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계
    를 더 포함하는 로봇 제어 방법.
  19. 제 18 항에 있어서,
    상기 잠금해제를 위한 입력을 수신한 경우, 상기 작동 모드를 잠금해제 모드로 설정하는 단계; 및
    상기 디스플레이를 통해 상기 적재함의 개폐를 지시할 수 있는 메뉴 화면을 표시하는 단계
    를 더 포함하는 로봇 제어 방법.
  20. 제 13 항에 있어서,
    상기 타겟 영역에 진입한 경우, 외부 기기에 알림 메시지를 전송하는 단계
    를 더 포함하는 로봇 제어 방법.
PCT/KR2019/011191 2019-08-30 2019-08-30 로봇 WO2021040104A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2019/011191 WO2021040104A1 (ko) 2019-08-30 2019-08-30 로봇
KR1020190110198A KR20210026974A (ko) 2019-08-30 2019-09-05 로봇
US16/994,443 US20210064019A1 (en) 2019-08-30 2020-08-14 Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/011191 WO2021040104A1 (ko) 2019-08-30 2019-08-30 로봇

Publications (1)

Publication Number Publication Date
WO2021040104A1 true WO2021040104A1 (ko) 2021-03-04

Family

ID=74682215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/011191 WO2021040104A1 (ko) 2019-08-30 2019-08-30 로봇

Country Status (3)

Country Link
US (1) US20210064019A1 (ko)
KR (1) KR20210026974A (ko)
WO (1) WO2021040104A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11274929B1 (en) * 2017-10-17 2022-03-15 AI Incorporated Method for constructing a map while performing work
US11543343B2 (en) * 2019-09-05 2023-01-03 Volvo Car Corporation Road friction estimation
US11597089B2 (en) * 2020-11-06 2023-03-07 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a destination of a robot
WO2024081693A1 (en) * 2022-10-11 2024-04-18 Bear Robotics, Inc. Mobile robot with controllable film

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287183A (ja) * 2000-01-31 2001-10-16 Matsushita Electric Works Ltd 自動搬送ロボット
US20150242806A1 (en) * 2014-02-25 2015-08-27 Savioke, Inc. Entryway Based Authentication System
KR20170110341A (ko) * 2016-03-23 2017-10-11 한국전자통신연구원 무인배송로봇의 사용자 식별을 통한 배송 방법
KR20180080499A (ko) * 2017-01-04 2018-07-12 엘지전자 주식회사 공항용 로봇 및 그의 동작 방법
KR20190094313A (ko) * 2019-06-18 2019-08-13 엘지전자 주식회사 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782686B2 (en) * 2016-01-28 2020-09-22 Savioke, Inc. Systems and methods for operating robots including the handling of delivery operations that cannot be completed
US9894483B2 (en) * 2016-04-28 2018-02-13 OneMarket Network LLC Systems and methods to determine the locations of packages and provide navigational guidance to reach the packages
US10322510B2 (en) * 2017-03-03 2019-06-18 Futurewei Technologies, Inc. Fine-grained object recognition in robotic systems
US9939814B1 (en) * 2017-05-01 2018-04-10 Savioke, Inc. Computer system and method for automated mapping by robots
ES2913661T3 (es) * 2017-11-29 2022-06-03 Premo Sa Antena de baja frecuencia triaxial de perfil ultra bajo para integración en un teléfono móvil y teléfono móvil con la misma
US20190323798A1 (en) * 2018-04-23 2019-10-24 Christopher Link Storage System with Location Controlled Access and Associated Methods
US20200250611A1 (en) * 2019-02-01 2020-08-06 Loki Tech Llc Tamper-resistant item transport systems and methods
US11055656B2 (en) * 2019-06-06 2021-07-06 Motogo, Llc Systems and methods of package container return

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287183A (ja) * 2000-01-31 2001-10-16 Matsushita Electric Works Ltd 自動搬送ロボット
US20150242806A1 (en) * 2014-02-25 2015-08-27 Savioke, Inc. Entryway Based Authentication System
KR20170110341A (ko) * 2016-03-23 2017-10-11 한국전자통신연구원 무인배송로봇의 사용자 식별을 통한 배송 방법
KR20180080499A (ko) * 2017-01-04 2018-07-12 엘지전자 주식회사 공항용 로봇 및 그의 동작 방법
KR20190094313A (ko) * 2019-06-18 2019-08-13 엘지전자 주식회사 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법

Also Published As

Publication number Publication date
KR20210026974A (ko) 2021-03-10
US20210064019A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
WO2021040104A1 (ko) 로봇
WO2021010502A1 (ko) 로봇 및 그를 이용한 물품 관리 방법
WO2021045271A1 (ko) 로봇
US11430278B2 (en) Building management robot and method of providing service using the same
WO2020213762A1 (ko) 전자장치, 그 동작방법, 및 복수의 인공지능장치를 포함한 시스템
WO2021006368A1 (ko) 인공지능 기반의 에너지 사용량 예측 장치 및 예측 방법
WO2020262746A1 (ko) 인공지능 기반의 세탁 코스 추천 장치 및 그 제어 방법
US20210197387A1 (en) Self-driving robot and method of operating same
WO2020141952A1 (en) Conversational control system and method for registering external device
WO2019132410A1 (en) Electronic device and control method thereof
WO2020241919A1 (ko) 인공지능 기반의 세탁물 데이터 분석 장치
WO2020246625A1 (ko) 로봇 및 그를 포함하는 로봇 시스템
WO2020256180A1 (ko) 사용자 인식 기반의 유모차 로봇 및 그 제어 방법
WO2021145511A1 (ko) 인공 지능 조리 기기 및 조리 기기의 동작 방법
WO2019088338A1 (ko) 전자 장치 및 그 제어 방법
WO2020262733A1 (ko) 인공지능 기반의 공기조화기
WO2019160269A1 (en) Method and interactive device for providing social interaction
US11524404B2 (en) Robot system and control method thereof
US20210078180A1 (en) Robot system and control method of the same
WO2020256194A1 (ko) 환전 서비스 로봇 및 그를 이용한 환전 서비스 방법
WO2023090497A1 (ko) 로봇
WO2024071453A1 (ko) 안내 로봇 및 안내 로봇의 동작방법
WO2020158979A1 (ko) 전자 장치 및 그 제어 방법
WO2022075592A1 (ko) 로봇
WO2023113106A1 (ko) 자율 주행 로봇, 클라우드 장치 및 위치 보정 방법

Legal Events

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

Ref document number: 19943810

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19943810

Country of ref document: EP

Kind code of ref document: A1