WO2022154153A1 - Robot and control method therefor - Google Patents
Robot and control method therefor Download PDFInfo
- Publication number
- WO2022154153A1 WO2022154153A1 PCT/KR2021/001045 KR2021001045W WO2022154153A1 WO 2022154153 A1 WO2022154153 A1 WO 2022154153A1 KR 2021001045 W KR2021001045 W KR 2021001045W WO 2022154153 A1 WO2022154153 A1 WO 2022154153A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- space
- map data
- target location
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013473 artificial intelligence Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 36
- 230000007613 environmental effect Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000003915 liquefied petroleum gas Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000003502 gasoline Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
Definitions
- the present invention relates to a robot that runs based on map data and a control method therefor.
- a robot equipped with a driving unit to provide a service may travel in a space based on map data for a predetermined space.
- an object of the present invention is to provide a robot and a control method thereof that sequentially receive map data from a server based on at least one or more target positions identified on the traveling path of the robot and travel. have.
- a robot for achieving the above object is a communication interface, a memory in which the first map data corresponding to the first space included in the driving space is stored, the driving unit and the server through the communication interface.
- the driving unit When information on the first target position included in the first map data is received, the driving unit is controlled to travel to the first target position, and when it is identified that the robot has reached within a threshold distance from the first target position , transmits information indicating that the first target location has been reached to the server, and the second map data corresponding to the second space including the first target location from the server and the second map data included in the second map data
- the processor may include a processor controlling the driving unit to drive to the second target location.
- the second space overlaps the first space and a partial space
- the second map data includes map information on a partial space of the first space including the first target location, and the Map information for some of the first spaces that do not include the first target location may not be included.
- the processor may delete the first map data stored in the memory in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target location. .
- the processor when it is identified that the robot has reached within a threshold distance from the first target position, acquires environmental information of the first target position based on the information obtained through the camera and, when it is identified that the driving environment is changed based on the obtained environment information, transmits the environment information of the first target location to the server, and an artificial intelligence model corresponding to the environment information of the first target location from the server may receive information about and store it in the memory.
- the processor when it is identified that the robot has reached within a threshold distance from the first target position, acquires environmental information of the first target position based on the information obtained through the camera and control the driving unit to change the driving state of the robot based on the obtained environment information.
- the server includes a communication interface, first map data corresponding to a first space included in a traveling space of the robot, and a second space in which the first space and a partial space overlap.
- the first map data and information on the first target position on the first map data are transmitted to the robot through a memory in which second map data is stored and the communication interface, and the robot sends the first target position to the robot from the robot.
- a processor for transmitting the second map data to the robot through the communication interface when information indicating that the . can
- the memory further stores third map data corresponding to a third space in which the first space and a partial space overlap
- the processor includes information indicating that the robot has reached the first target position.
- the communication interface may be controlled to transmit map data including map information corresponding to a second target location after the first target location among the second map data and the third map data to the robot. .
- the processor may identify the first target position in a partial space where the first space and the second space overlap based on the traveling path of the robot.
- the processor identifies each of the plurality of Z-axis spaces as the first space and the second space, and in the first space A partial space including a structure for moving to the second space may be identified as an overlapping space.
- the structure for moving from the first space to the second space may include at least one of an elevator, an escalator, and a staircase.
- the processor is configured to identify the driving path among the first map data based on the driving path between the current position of the robot and the first target position.
- the communication interface may be controlled to transmit some map data corresponding to a partial space to the robot.
- the control method when information on a first target location included in first map data corresponding to a first space included in a traveling space of the robot is received from a server, the first target location is received. traveling to a first target position, if the robot is identified as reaching within a threshold distance from the first target position, transmitting information indicating that the first target position has been reached to the server and from the server to the first
- the method may include driving to the second target location when second map data corresponding to the second space including the target location and information on the second target location included in the second map data are received.
- the second space overlaps the first space and a partial space
- the second map data includes map information on a partial space of the first space including the first target location, and the Map information for some of the first spaces that do not include the first target location may not be included.
- the method may further include deleting the stored first map data in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target location.
- obtaining environment information of the first target location based on information obtained through a camera, based on the obtained environment information
- transmitting the environmental information of the first target location to the server, and receiving and storing information about the artificial intelligence model corresponding to the environmental information of the first target location from the server may further include.
- the method may further include changing the driving state of the robot.
- the server receives information indicating that the robot has reached the first target location, and includes map information on a third target location corresponding to a third space overlapping the first space and a part of the space Map data including map information corresponding to a second target location after the first target location among the third map data and the second map data may be transmitted to the robot.
- the server may identify the traveling path of the robot, and based on the traveling path of the robot, identify the first target position in a partial space where the first space and the second space overlap.
- the server identifies each of the plurality of Z-axis spaces as the first space and the second space, and in the first space A partial region including a structure for moving to the second space may be identified as an overlapping region.
- the server identifies the driving path among the first map data based on the driving path between the current position of the robot and the first target position. Some map data corresponding to some space may be transmitted to the robot.
- the robot since the robot stores only local map data obtained by dividing the entire map data, efficient driving is possible even with a small memory capacity.
- efficient driving is possible even with a small memory capacity.
- the robot since the robot does not need to perform a location recognition operation whenever new local map data is applied, it is possible to provide a faster service without burdening the processor.
- 1 is a view for explaining an operation in which a robot traveling in a predetermined space travels based on a plurality of local map data.
- FIG. 2 is a view for explaining the configuration of a robot according to an embodiment of the present disclosure.
- FIG. 3 is a diagram for explaining the configuration of a server according to an embodiment of the present disclosure.
- 4A and 4B are diagrams for explaining an operation in which a robot travels based on a target position according to an embodiment of the present disclosure.
- FIG. 5 is a diagram for explaining an operation of downloading map data required for driving when the robot reaches a target position according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining an operation in which a robot downloads an artificial intelligence model based on environmental information of a space according to an embodiment of the present disclosure.
- FIG. 7 is a view for explaining an operation of a robot changing a driving state based on environmental information of a space according to an embodiment of the present disclosure.
- FIG. 8 is a view for explaining an operation of providing a service while moving a robot according to an embodiment of the present disclosure while moving on several floors of a building.
- FIG. 9 is a diagram for explaining an operation in which a robot downloads some map data among local map data according to an embodiment of the present disclosure.
- FIG. 10 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
- FIG. 11 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
- FIG. 12 is a flowchart for specifically explaining a driving method of a robot according to an embodiment of the present disclosure.
- expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
- a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component)
- another component eg, a second component
- a component may be directly connected to another component or may be connected through another component (eg, a third component).
- a "module” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software.
- a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented with at least one processor (not shown) except for “modules” or “units” that need to be implemented with specific hardware.
- the term user may refer to a person who uses the robot.
- an embodiment of the present disclosure will be described in more detail with reference to the accompanying drawings.
- 1 is a view for explaining an operation in which a robot traveling in a predetermined space travels based on a plurality of local map data.
- the robot 100 may provide a service to a user while traveling in a predetermined space.
- the robot 100 may pre-store map data corresponding to a space for driving, but may also download map data from the server 200 if necessary.
- the robot 100 may electrically communicate with the server 200 , and the robot 100 may receive map data stored in the server 200 .
- the robot 100 may receive map data stored in the server 200 .
- an operation in which the robot 100 receives specific data from the server 200 will be described using the term 'download'.
- the entire map data corresponding to the space may be composed of a plurality of local map data obtained by dividing the entire map data.
- the robot 100 may download individual local map data from the server 200 and drive based on the downloaded local map data.
- the robot 100 includes local map data 310 including information on the current position of the robot 100 from the server 200 and another local map included in the travel path 300 of the robot 100 .
- the data 320 may be downloaded to drive through the space.
- the map data which is the basis for the driving of the robot 100 in the driving process, is from the local map data 310 including information on the initial position of the robot 100 to the local map data 320 including the driving path thereafter.
- the robot 100 needs to identify the position of the robot 100 in order to travel based on the new local map data 320 .
- FIG. 2 is a view for explaining the configuration of a robot according to an embodiment of the present disclosure.
- the robot 100 may include a communication interface 110 , a memory 120 , a driving unit 130 , and a processor 140 .
- the communication interface 110 may input and output various types of data.
- the communication interface 110 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , Coaxial, etc., through communication methods such as external devices (eg, source devices), external storage media (eg, USB memory), external servers (eg, web hard drives) and various types of data can send and receive.
- external devices eg, source devices
- external storage media eg, USB memory
- external servers eg, web hard drives
- various types of data can send and receive.
- the robot 100 may download map data stored in the server 200 through the communication interface 110 .
- the memory 120 may store data necessary for various embodiments of the present disclosure.
- the memory 120 may be implemented in the form of a memory embedded in the robot 100 or may be implemented in the form of a memory detachable to the robot 100 depending on the purpose of data storage. For example, data for driving the robot 100 is stored in a memory embedded in the robot 100 , and data for an extended function of the robot 100 is stored in a memory detachable from the robot 100 .
- volatile memory eg, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
- non-volatile memory eg, : OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.) , a hard drive, or a solid state drive (SSD) may be implemented as at least one of.
- a memory card eg, compact flash (CF); SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
- external memory e.g., it may be implemented in a form such as a USB memory).
- the memory 120 may store map data corresponding to the driving space of the robot 100 .
- the driving unit 130 is a device capable of driving the robot 100 , and according to the control of the processor 140 , the driving unit 130 may adjust the traveling direction and the traveling speed.
- the driving unit 130 is a power generating device that generates power for the robot 100 to travel (eg, a gasoline engine, a diesel engine, or liquefied petroleum gas (LPG) depending on the fuel used (or energy source). engines, electric motors, etc.), steering devices to control the direction of travel (e.g., manual steering, hydraulics steering, electronic control power steering (EPS), etc.), robots (e.g., 100) may include a driving device (eg, wheels, propellers, etc.) for driving.
- the driving unit 130 may be deformed according to a driving type (eg, a wheel type, a walking type, a flying type, etc.) of the robot 100 .
- the processor 140 controls the overall operation of the robot 100 .
- the processor 140 may be connected to each component of the robot 100 to control the overall operation of the robot 100 .
- the processor 140 may be connected to the communication interface 110 , the memory 120 , and the driving unit 130 to control the operation of the robot 100 .
- the processor 140 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), a Neural Processing Unit (NPU), a controller, an application processor (application processor (AP)), etc. may be named variously, but in the present specification, it will be referred to as the processor 140 .
- DSP digital signal processor
- CPU central processing unit
- MCU micro controller unit
- MPU micro processing unit
- unit a Neural Processing Unit
- AP application processor
- the processor 140 may be implemented in a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) format.
- SoC system on chip
- LSI large scale integration
- FPGA field programmable gate array
- the processor 140 may include a volatile memory such as SRAM.
- the processor 140 may receive information on the first target location included in the first map data from the server 200 through the communication interface 110 .
- the first map data may be map data including information on an initial position of the robot 100 while driving.
- the first target location may be a location adjacent to the target point of driving in the first space corresponding to the first map data.
- the processor 140 may control the driving unit 130 to drive the robot 100 to the first target location after receiving the first map data and information on the first target location.
- the processor 140 may transmit information indicating that the robot 100 has reached the first target location to the server 200 .
- the processor 140 receives second map data corresponding to the second space including the first target location and information on the second target location included in the second map data from the server 200 . can do.
- the second space is a space that overlaps the first space and a part of the space and includes the first target location, and may be a space that includes a traveling path through which the robot 100 will travel in the future.
- the second map data corresponding to the second space may include information on the second target location.
- the second target location may be a location of a target point of driving in the second space.
- the processor 140 informs the server 200 that the robot 100 is close to the first target position in consideration of the speed of downloading data from the server through the communication interface 110, and sends map data to the server. You can request data transfer. For example, when the size of the second map data and the information on the second target location included in the second map data is 5 mb (mega byte) and the download speed is 1 mb/s, the processor 140 controls the first target location It is possible to request data transmission to the server 200 5 seconds before the scheduled arrival time.
- the processor 140 may control the driving unit 130 to drive the robot 100 to the second target position when the second map data and information on the second target position included in the second map data are received.
- the second map data may include map information for some spaces in the first space including the first target location, and may not include map information for some spaces in the first space that do not include the first target location.
- the second map data may include only map information included in the space overlapping the second space in the first space and at the same time including the first target location. Accordingly, since the processor 140 may download map data including only map information necessary for driving in the second space, an increase in traffic occurring in communication with the server 200 may be prevented.
- the processor 140 receives the first map data stored in the memory 120 in at least one of a case in which the second map data is received from the server 200 or a case in which the robot 100 arrives at the second target position. can be deleted.
- the capacity of the memory 120 is increased by deleting the first map data that is no longer necessary for driving.
- the robot 100 may further include a camera.
- the processor 140 may acquire environmental information of the first target position based on information obtained through the camera.
- the information obtained through the camera may include an image of a space adjacent to the first target location.
- the environment information may include information about obstacles located in the space, illuminance information of the space, or information about the floating population distributed in the space.
- the processor 140 may transmit the environment information of the first target location to the server 200 .
- the processor 140 stores the received artificial intelligence model in the memory 120 .
- the processor 140 may control the driving unit 130 to change the driving state of the robot 100 based on the obtained environment information.
- FIG. 3 is a diagram for explaining the configuration of a server according to an embodiment of the present disclosure.
- the server 200 may include a communication interface 210 , a memory 220 , and a processor 230 .
- the communication interface 210 may input and output various types of data.
- the communication interface 210 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , Coaxial, etc., through communication methods such as external devices (eg, source devices), external storage media (eg, USB memory), external servers (eg, web hard drives) and various types of data can send and receive.
- external devices eg, source devices
- external storage media eg, USB memory
- external servers eg, web hard drives
- various types of data can send and receive.
- the server 200 may transmit map data to the robot 100 through the communication interface 210 .
- the memory 220 may store data necessary for various embodiments of the present disclosure.
- the memory 220 may be implemented in the form of a memory embedded in the server 200 or may be implemented in the form of a memory that is detachable from the server 200 according to the purpose of data storage. For example, data for driving the server 200 is stored in a memory embedded in the server 200 , and data for an extension function of the server 200 is stored in a memory detachable from the server 200 .
- a volatile memory eg, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
- non-volatile memory eg, : OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.) , a hard drive, or a solid state drive (SSD) may be implemented as at least one of.
- a memory card eg, a compact flash (CF); SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
- external memory that can be connected to the USB port (e.g.
- it may be implemented in a form such as a USB memory).
- the memory 220 stores first map data corresponding to a first space included in the driving space of the robot 100 and map data corresponding to a second space in which the first space and a partial space overlap.
- the processor 230 controls the overall operation of the server 200 .
- the processor 230 may be connected to each component of the server 200 to control the overall operation of the server 200 .
- the processor 230 may be connected to the communication interface 210 and the memory 220 to control the operation of the server 200 .
- the processor 230 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), a Neural Processing Unit (NPU), a controller, an application processor (application processor (AP)), etc. may be named variously, but in the present specification, it will be referred to as the processor 230 .
- DSP digital signal processor
- CPU central processing unit
- MCU micro controller unit
- MPU micro processing unit
- unit a Neural Processing Unit
- AP application processor
- the processor 230 may be implemented as a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) type.
- SoC system on chip
- LSI large scale integration
- FPGA field programmable gate array
- the processor 230 may include a volatile memory such as SRAM.
- the processor 230 may transmit the first map data and information on the first target location on the first map data to the robot 100 through the communication interface 210 .
- the processor 230 may transmit the second map data to the robot 100 through the communication interface 210 .
- the second map data may include map information on the first target location.
- the memory 220 may further store third map data corresponding to the third space in which the first space partially overlaps.
- the third map data may be a space in which the first space and the second space partially overlap with the first space and a partial space overlap.
- the processor 230 When information indicating that the robot 100 has reached the first target position is received, the processor 230 according to an example corresponds to a second target position after the first target position among the second map data and the third map data.
- the communication interface 210 may be controlled to transmit map data including map information to the robot 100 .
- the second target position may be a position at which the robot 100 is expected to arrive after the first target position in the driving process
- the processor 230 provides map data corresponding to the space including the second target position. may be transmitted to the robot 100 .
- the processor 230 transmits second map data corresponding to the second space to the robot 100, and the second target location is located in the third space. If included, the third map data corresponding to the third space may be transmitted to the robot 100 .
- the processor 230 identifies the first target position in a partial space where the first space and the second space overlap based on the travel path of the robot 100, and the identified The communication interface 100 may be controlled to transmit information on the first target position to the robot 100 .
- the processor 230 may identify an arbitrary position on the travel path of the robot 100 included in a partial space where the first space and the second space overlap as the first target position.
- the information on the identified first target location may include coordinates corresponding to the first target location on the second map data.
- the processor 230 may identify each of the plurality of Z-axis spaces as a first space and a second space.
- the driving space of the robot 100 may be an internal space of a building including a plurality of floors, and the processor 230 uses the floor including the current location of the robot 100 as the first space, and the robot 100 ) can be identified as the second space.
- the processor 230 identifies a partial space including a structure for moving from the floor identified as the first space to the floor identified as the second space as the overlapping space, and assigns an arbitrary position of the overlapping space to the first space. It can be identified by the target location.
- the structure for moving from the first space to the second space may include at least one of an elevator, an escalator, or a staircase.
- the processor 230 determines a partial space identified based on the driving path among the first map data based on the driving path between the current position of the robot 100 and the first target position.
- the communication interface 210 may be controlled to transmit some map data corresponding to the robot 100 to the robot 100 .
- 4A and 4B are diagrams for explaining an operation in which a robot travels based on a target position according to an embodiment of the present disclosure.
- FIG. 4A shows that the space 410 in which the robot 100 travels has a rectangular structure, and the map data corresponding to the space 410 has a square structure and eight map data 21-25, etc., corresponding to a space of the same size. ) is a diagram for explaining the running of the robot 100 when configured.
- the eight map data (21-25, etc.) are map data corresponding to a space divided so that some spaces overlap each other, and the robot 100 according to an embodiment of the present disclosure corresponds to the initial position (10).
- the resulting map data 21 may be downloaded from the server 200 and stored in the memory 120 .
- the server 200 identifies the driving path 31 of the robot 100 to the final destination 20 for which the service is requested, and corresponds to the identified path and a plurality of map data 21-25.
- a plurality of target locations 11 - 14 may be identified based on the space in which the plurality of spaces overlap.
- the server 200 transmits information about the first map data 21 corresponding to the initial position 10 of the robot 100 and the first target position 11 included in the first map data 21 to the robot. (100) can be transmitted.
- the robot 100 may drive to the first target location 11 when the first map data 21 and information on the first target location 11 included in the first map data 21 are received.
- the robot 100 may travel based on the driving path 31 identified by the server 200, but in order to cope with various situations occurring in the driving process, a driving different from the driving path 31 previously identified by itself. It can also drive based on a route.
- the robot 100 transmits information indicating that it has reached the first target position 11 to the server 200 and At the same time, the second map data 22 corresponding to the second space including the subsequent driving route may be requested.
- the server 200 may transmit the second map data 22 and information on the second target location 12 included in the second map data to the robot 100 .
- the second map data may not include map information for some spaces that do not include the first target location 11 among the spaces corresponding to the first map data 21 .
- the robot 100 may delete the first map data 21 stored in the memory 120 when the second map data 22 is received from the server 200 . At the same time, the robot 100 may travel to the second target location 12 based on the downloaded second map data 22 . In this case, since the second map data 22 includes coordinates corresponding to the first target position 11 on the second map data 22 , the robot 100 moves the position of the robot 100 without an additional position recognition operation. can be identified.
- the robot 100 identifies the coordinates corresponding to the initial position 10 and the orientation direction of the robot through position recognition at the initial position 10, and then the first map data 21 and the driving unit 130.
- the robot 100 can drive to the first target position 11 based on the accumulated data of driving characteristics of It is possible to drive to the second target location 12 based on the information on the target location 12 .
- the coordinates corresponding to the first target position 11 on the first map data 21 are (70,35) and the coordinates corresponding to the first target position 11 on the second map data 22 are In the case of (10, 35), the robot 100 is identified as being close to the first target position 11 with the coordinates of (70, 35) on the first map data 21 by the robot 100, the server 200 The second map data 21 and information on the second target location 12 included in the second map data are downloaded from the (21) may be deleted, and driving may be performed based on the second map data (22).
- the robot 100 since the position of the robot 100 on the second map data 22 is identified as the first target position 11 having the coordinates of (10, 35), the robot 100 can be quickly performed without additional position recognition operation. be able to drive
- the map data 23 including the subsequent travel path and the information on the next target position 13 included in the map data 23 are sent to the server. 200 , and based on this, it can travel to the next target location 13 .
- the robot 100 may travel to the final destination 20 via the last target location 14 in the same manner.
- FIG. 4B shows that the space 420 in which the robot 100 travels has a complex polygonal structure, and the map data corresponding to the space 420 has a square structure and eight map data 26-29 corresponding to spaces of different sizes. etc.) is a diagram for explaining the driving of the robot 100 .
- the robot 100 is the initial position
- the eight map data (26-29, etc.) are map data corresponding to a space divided so that some spaces overlap each other, and the robot 100 according to an embodiment of the present disclosure corresponds to the initial position (10).
- the map data 26 used may be downloaded from the server 200 and stored in the memory 120 .
- the server 200 identifies the driving path 32 of the robot 100 to the final destination 20 for which the service is requested, and corresponds to the identified path and a plurality of map data (26-29, etc.)
- a plurality of target positions 15 - 17 may be identified based on the space in which the plurality of spaces overlap.
- the server 200 transmits information about the first map data 26 corresponding to the initial position 10 of the robot 100 and the first target position 15 included in the first map data 26 to the robot. (100) can be transmitted.
- the robot 100 may drive to the first target location 15 when the first map data 26 and information on the first target location 15 included in the first map data 26 are received. can Then, when the robot 100 is identified as reaching within the threshold distance from the first target position 15, the robot 100 transmits information indicating that it has reached the first target position 15 to the server 200 and At the same time, the second map data 27 corresponding to the second space including the subsequent driving route may be requested.
- the server 200 may transmit the second map data 27 and information on the second target location 16 included in the second map data to the robot 100 .
- the robot 100 may delete the first map data 26 stored in the memory 120 when the second map data 27 is received from the server 200 . Thereafter, the robot 100 may travel to the second target location 16 based on the information on the first target location 15 and the second target location 16 included in the second map data 27 . .
- the map data 28 including the subsequent travel route and the information on the next target position 17 included in the map data 28 are sent to the server. It can download from 200 and drive to the next target location 17 based thereon. In the same manner, the robot 100 may travel to the final destination 20 .
- FIG. 5 is a diagram for explaining an operation of downloading map data required for driving when the robot reaches a target position according to an embodiment of the present disclosure.
- the robot 100 travels to the target position 501 included in the map data 510 based on the map data 510 corresponding to the space including the current position of the robot 100 . can do.
- the map data necessary for the future driving of the robot 100 is in the space including the travel route and information on the target location 502 thereafter. It may be the corresponding map data 520 .
- the robot 100 transmits the map data 520 including information about the target location 502 to the server 200 from among a plurality of map data 520 and 530 including information on the target location 501 . may be requested, and the server 200 may transmit the map data 520 corresponding to the request of the robot 100 to the robot 100 .
- FIG. 6 is a diagram for explaining an operation in which a robot downloads an artificial intelligence model based on environmental information of a space according to an embodiment of the present disclosure.
- the server 200 may store a plurality of artificial intelligence models 221 , 222 , etc. in the memory 220 .
- 6 shows that the two artificial intelligence models 221 and 222 are stored in the server 200 for convenience, but in addition to the two models 221 and 222, various artificial intelligence models may be stored in the server 200. have.
- the robot 100 may utilize an artificial intelligence model in a driving process.
- the robot 100 may further include a camera 150 , input an image obtained through the camera 150 into the artificial intelligence model, and may travel based on the output of the artificial intelligence model.
- the robot 100 is an artificial intelligence that can provide a more accurate output based on the environmental information of the space in which the robot 100 travels among a plurality of artificial intelligence models (221, 222, etc.) stored in the server 200 for efficient driving.
- the intelligent model may be downloaded from the server 200 .
- the processor 140 may include one or a plurality of processors.
- one or more processors 140 may be general-purpose processors such as CPUs, APs, digital signal processors (DSPs), etc., graphics-only processors such as GPUs, VPUs (Vision Processing Units), or artificial intelligence-only processors such as NPUs.
- One or a plurality of processors 140 control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 120 .
- the AI-only processor 140 may be designed with a hardware structure specialized for processing a specific AI model.
- the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
- being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
- Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
- Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
- the artificial intelligence model may be composed of a plurality of artificial intelligence layers.
- Each of the plurality of artificial intelligence layers has a plurality of weight values, and an artificial intelligence operation is performed through an operation between an operation result of a previous layer and the plurality of weights.
- the plurality of weights of the plurality of artificial intelligence layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
- Artificial intelligence may include Deep Neural Network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM). ), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), or deep Q-networks, etc., but is not limited to the above-described example.
- DNN Deep Neural Network
- CNN Convolutional Neural
- the target position 601 and the future robot 100 will travel based on the image acquired through the camera 150 .
- Environment information of a space 620 including a driving path (hereinafter, a space to be driven in the future) may be acquired.
- the environment information may include at least one of information about the obstacles 621 and 622 distributed in the space 620 , information about the floating population 623 in the space 620 , or illuminance information of the space 620 . have.
- the robot 100 may transmit the obtained environment information to the server 200 when it is identified that the environment of the space 620 to be driven in the future is different from the environment of the previous space 610 by more than a threshold degree based on the environment information. have.
- the space 620 to be driven in the future may be a space with lower illumination than the previous space 610 , and includes many obstacles 621 and 622 and a floating population 623 compared to the previous space 610 . It could be space.
- the server 200 may transmit an artificial intelligence model corresponding to the environment information received from the robot 100 to the robot 100 .
- the artificial intelligence model corresponding to the environment information of the space 620 to be driven in the future may be the artificial intelligence model 221 capable of accurately identifying an object even in a low-illumination environment.
- the robot 100 stores the artificial intelligence model 221 received from the server 200 in the memory 120, and runs based on this, so that it can efficiently travel in the space 620 to be driven in the future. do.
- an embodiment in which the robot 100 acquires environment information and the server 200 transmits an artificial intelligence model based on the environment information received from the robot 100 has been described, but according to another example, the server ( In addition to the map data of the space 620 in which the 200 is to be driven in the future, an artificial intelligence model corresponding to the environment information of the space 620 may be simultaneously transmitted to the robot 100 approaching the target location 601 .
- the server 200 may store a plurality of map data, a plurality of environment information corresponding to each map data, and a plurality of artificial intelligence models corresponding to the environment information, and the robot 100 may When information indicating that the target location has been reached is received, the robot 100 may transmit map data corresponding to a space to be driven in the future and an artificial intelligence model corresponding thereto.
- FIG. 7 is a view for explaining an operation of a robot changing a driving state based on environmental information of a space according to an embodiment of the present disclosure.
- the robot 100 when the robot 100 is identified as reaching within a threshold distance from the target position 701, the target position 701 and the space 720 to be driven in the future based on the image acquired through the camera 150 Environmental information can be obtained.
- the robot 100 determines that the environment of the space 720 to be driven in the future is different from the environment of the previous space 710 based on the environment information by more than a threshold degree, based on the obtained environment information. You can change driving conditions.
- the space 720 to be driven in the future may be a space with lower illuminance than the previous space 710 , and includes many obstacles 721 and 722 and a floating population 723 compared to the previous space 710 . It could be space.
- the processor 140 of the robot 100 according to an example has the driving unit 130 to reduce the speed of the robot 100 in order to prevent collisions with obstacles 721 and 722 and people in the space 720 to be driven in the future. ) can be controlled.
- the robot 100 is a sensing period of the distance sensor provided in the robot 100 based on the environmental information of the space 720 to be driven in the future.
- an operation of shortening the photographing cycle of the camera may be performed.
- FIG. 8 is a view for explaining an operation of providing a service while moving a robot according to an embodiment of the present disclosure while moving on several floors of a building.
- the robot 100 located on the first floor 810 may travel to the fifth floor 820 of the same building to provide services.
- the server 200 identifies the first floor 810 as the first space and the fifth floor 820 as the second space, and an elevator for moving from the first floor 810 to the fifth floor 820 ( 801) and a partial space including the stairs 802 may be identified as a space where the first space and the second space overlap.
- the server 200 may transmit the map data corresponding to the first floor 810 and information on the location 811 adjacent to the elevator 801 located on the first floor 810 to the robot 100 .
- the robot 100 may travel to a location 811 adjacent to the elevator 801 based on the received map data corresponding to the first floor 810 .
- the robot 100 corresponds to the fifth floor 820 to be driven in the future. It is possible to transmit the map data and information on the location 821 adjacent to the elevator 801 located on the fifth floor 820 to the robot 100 .
- the robot 100 may download map data from the server 200 while the elevator 801 is moving.
- the robot 100 arriving at the fifth floor 820 travels to a position 821 adjacent to the elevator 801 based on the map data corresponding to the fifth floor 820 , and the robot 100 moves to the corresponding position 821 .
- the map data corresponding to the first floor 810 may be deleted and the vehicle may drive to the destination.
- FIG. 9 is a diagram for explaining an operation in which a robot downloads some map data among local map data according to an embodiment of the present disclosure.
- the map data may include data related to measurement of a plurality of sensors that may be provided in the robot 100 and data related to environment information of the space 910 , the space in which the robot 100 is located There may be a case in which the data capacity of the map data 910 corresponding to , is larger than that of map data corresponding to other spaces.
- the server 200 transmits some map data corresponding to the partial space of the space 910 to the robot 100 based on the travel path between the current position of the robot 100 and the target position in the space 910 .
- the server 200 may transmit map data corresponding to the space 911 within a threshold distance from the travel path of the robot 100 to the target location 901 to the robot 100 .
- FIG. 10 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
- the robot 100 includes a communication interface 110 , a memory 120 , a driving unit 130 , a processor 140 , a camera 150 , a distance sensor 160 , and a service providing unit 170 . do. A detailed description of the configuration shown in FIG. 10 overlapping the configuration shown in FIG. 2 will be omitted.
- the camera 150 may acquire an image by capturing an area within a field of view (FoV) of the camera.
- FoV field of view
- the camera 150 may include a lens for focusing the visible light or other optical signal received by being reflected by the object to the image sensor, and an image sensor capable of detecting the visible light and other optical signals.
- the image sensor may include a 2D pixel array divided into a plurality of pixels.
- the distance sensor 160 may obtain distance information. Specifically, the distance sensor 160 may measure a distance between the position of the robot 100 and the position of the object.
- the distance sensor 160 according to an example may be implemented as a LIDAR (Light Detection And Ranging) or a Time of Flight (TOF) sensor.
- LIDAR Light Detection And Ranging
- TOF Time of Flight
- the service providing unit 170 is configured to receive a user's command or to output a UI necessary for providing a service corresponding to the user's command.
- the service providing unit 170 may include at least one of a display including a touch screen, a speaker, and a microphone.
- the robot 100 may change the UI output through the service providing unit 170 based on the type of service to be provided and the step of providing the service.
- FIG. 11 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
- the method may include driving to the second target location ( S1130 ).
- the second space partially overlaps the first space
- the second map data includes map information for a partial space including the first target position in the first space, and the first target position in the first space Map information for some spaces that do not include may not be included.
- the method may further include deleting the stored first map data in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target position.
- the method may further include transmitting the environmental information of the first target location to the server, and receiving and storing information on the artificial intelligence model corresponding to the environmental information of the first target location from the server.
- obtaining environmental information of the first target position based on information obtained through the camera and determining the driving state of the robot based on the obtained environment information It may further include the step of changing.
- the server receives information indicating that the robot has reached the first target position, and third map data including map information for the third target position corresponding to the third space overlapping the first space and a part of the space, and Map data including map information corresponding to the second target location after the first target location among the second map data may be transmitted to the robot.
- the server may identify the traveling path of the robot and identify the first target position in a partial space where the first space and the second space overlap based on the traveling path of the robot.
- each of the plurality of Z-axis spaces is identified as a first space and a second space, and a structure for moving from the first space to the second space is provided.
- a partial region including the region may be identified as an overlapping region.
- the server when the size of the first map data is equal to or greater than the threshold size, based on the driving path between the current position of the robot and the first target position, the server provides some map data corresponding to some spaces identified based on the driving path among the first map data. can be transmitted to the robot.
- FIG. 12 is a flowchart for specifically explaining a driving method of a robot according to an embodiment of the present disclosure.
- the robot may start driving based on the current map data after receiving information on the target location from the server (S1210).
- the next map data may be downloaded from the server (S1220).
- the next map data may be map data corresponding to a space in which the robot will drive in the future.
- the robot may identify whether the reached target position is the final destination (S1240). If the currently reached target position is the final destination (S1240: Y), the robot may end driving and provide a service to the user.
- the robot may drive to the next target location based on the downloaded next map data (S1250). If the robot has reached within a threshold distance from the next target location, the robot can then download the map data.
- the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
- the embodiments described herein may be implemented by the processor 140 itself.
- embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
A robot control method is disclosed. The control method may include the steps of: traveling to a first target position if information about the first target position, included in first map data corresponding to a first space included in a robot traveling space, is received from a server; transmitting, to the server, information indicating arrival at the first target position, if the arrival of the robot within a critical distance from the first target position is identified; and traveling to a second target position if second map data, which corresponds to a second space including the first target position, and information about the second target position, which is included in the second map data, are received from the server.
Description
본 발명은 맵 데이터에 기초하여 주행하는 로봇 및 그 제어 방법에 관한 것이다.The present invention relates to a robot that runs based on map data and a control method therefor.
최근 가이드 봇 또는 리테일 봇과 같이 사용자에게 서비스를 제공하는 로봇에 대한 기술 개발이 활발해지고 있다. 서비스를 제공하기 위해 구동부를 구비한 로봇은 일정 공간에 대한 맵 데이터에 기초하여 공간을 주행할 수 있다.Recently, technology development for robots that provide services to users, such as guide bots or retail bots, has been active. A robot equipped with a driving unit to provide a service may travel in a space based on map data for a predetermined space.
그러나, 로봇이 주행하는 공간이 넓은 경우 주행 공간에 대한 맵 데이터의 크기도 커지며, 이 경우 로봇은 주행 공간에 대한 전체 맵 데이터를 저장할 수 없는 문제점이 있다. 종래의 로봇은 전체 맵 데이터를 복수 개의 로컬 맵 데이터로 분할하여 저장하는 방식으로 이러한 문제점을 극복하려고 하였으나, 주행과정에서 새로운 로컬 맵 데이터가 적용될 때마다 로봇의 위치를 인식해야만 하는 불편이 있었다. 이에 따라 로봇의 주행 과정에서 추가적인 위치 인식 동작을 요구하지 않으면서 메모리 용량 및 프로세서의 연산량에 관한 부담이 적은 주행 방법에 대한 지속적인 요구가 있었다.However, when the space in which the robot travels is wide, the size of the map data for the driving space also increases, and in this case, the robot cannot store the entire map data for the driving space. The conventional robot tried to overcome this problem by dividing the entire map data into a plurality of local map data and storing it, but there was an inconvenience of having to recognize the position of the robot whenever new local map data is applied in the driving process. Accordingly, there has been a continuous demand for a driving method that does not require an additional position recognition operation in the driving process of the robot and has a low load on the memory capacity and the amount of computation of the processor.
본 개시는 상술한 필요성에 따른 것으로, 본 발명의 목적은 로봇의 주행 경로 상에 식별된 적어도 하나 이상의 타겟 위치에 기초하여 서버로부터 순차적으로 맵 데이터를 수신하여 주행하는 로봇 및 그 제어 방법을 제공함에 있다.The present disclosure is in accordance with the above-mentioned necessity, and an object of the present invention is to provide a robot and a control method thereof that sequentially receive map data from a server based on at least one or more target positions identified on the traveling path of the robot and travel. have.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 통신 인터페이스, 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터가 저장된 메모리, 구동부 및 상기 통신 인터페이스를 통해 서버로부터 상기 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보가 수신되면, 상기 제1 타겟 위치로 주행하도록 상기 구동부를 제어하고, 상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 제1 타겟 위치에 도달하였음을 나타내는 정보를 상기 서버로 전송하고, 상기 서버로부터 상기 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 상기 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면, 상기 제2 타겟 위치로 주행하도록 상기 구동부를 제어하는 프로세서를 포함할 수 있다.A robot according to an embodiment of the present invention for achieving the above object is a communication interface, a memory in which the first map data corresponding to the first space included in the driving space is stored, the driving unit and the server through the communication interface. When information on the first target position included in the first map data is received, the driving unit is controlled to travel to the first target position, and when it is identified that the robot has reached within a threshold distance from the first target position , transmits information indicating that the first target location has been reached to the server, and the second map data corresponding to the second space including the first target location from the server and the second map data included in the second map data When information on the second target location is received, the processor may include a processor controlling the driving unit to drive to the second target location.
여기서, 상기 제2 공간은, 상기 제1 공간과 일부 공간이 오버랩되며, 상기 제2 맵 데이터는, 상기 제1 공간 중 상기 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고, 상기 제1 공간 중 상기 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않을 수 있다.Here, the second space overlaps the first space and a partial space, and the second map data includes map information on a partial space of the first space including the first target location, and the Map information for some of the first spaces that do not include the first target location may not be included.
한편, 상기 프로세서는, 상기 서버로부터 상기 제2 맵 데이터가 수신되는 경우 또는 상기 로봇이 상기 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 상기 메모리에 저장된 상기 제1 맵 데이터를 삭제할 수 있다.Meanwhile, the processor may delete the first map data stored in the memory in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target location. .
또한, 카메라를 더 포함하며, 상기 프로세서는, 상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하고, 상기 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면, 상기 제1 타겟 위치의 환경 정보를 상기 서버로 전송하고, 상기 서버로부터 상기 제1 타겟 위치의 환경 정보에 대응되는 인공 지능 모델에 대한 정보를 수신하여 상기 메모리에 저장할 수 있다.In addition, further comprising a camera, wherein the processor, when it is identified that the robot has reached within a threshold distance from the first target position, acquires environmental information of the first target position based on the information obtained through the camera and, when it is identified that the driving environment is changed based on the obtained environment information, transmits the environment information of the first target location to the server, and an artificial intelligence model corresponding to the environment information of the first target location from the server may receive information about and store it in the memory.
또한, 카메라를 더 포함하며, 상기 프로세서는, 상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하고, 상기 획득된 환경 정보에 기초하여 상기 로봇의 주행 상태를 변경하도록 상기 구동부를 제어할 수 있다.In addition, further comprising a camera, wherein the processor, when it is identified that the robot has reached within a threshold distance from the first target position, acquires environmental information of the first target position based on the information obtained through the camera and control the driving unit to change the driving state of the robot based on the obtained environment information.
한편, 본 발명의 일 실시 예에 따른 서버는, 통신 인터페이스, 로봇의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터 및 상기 제1 공간과 일부 공간이 오버랩되는 제2 공간에 대응되는 제2 맵 데이터가 저장된 메모리 및 상기 통신 인터페이스를 통해 상기 제1 맵 데이터 및 상기 제1 맵 데이터 상의 제1 타겟 위치에 대한 정보를 상기 로봇으로 전송하고, 상기 로봇으로부터 상기 로봇이 상기 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면, 상기 통신 인터페이스를 통해 상기 제2 맵 데이터를 상기 로봇으로 전송하는 프로세서를 포함하며, 상기 제2 맵 데이터는, 상기 제1 타겟 위치에 대한 맵 정보를 포함할 수 있다.Meanwhile, the server according to an embodiment of the present invention includes a communication interface, first map data corresponding to a first space included in a traveling space of the robot, and a second space in which the first space and a partial space overlap. The first map data and information on the first target position on the first map data are transmitted to the robot through a memory in which second map data is stored and the communication interface, and the robot sends the first target position to the robot from the robot. and a processor for transmitting the second map data to the robot through the communication interface when information indicating that the . can
여기서, 상기 메모리는, 상기 제1 공간과 일부 공간이 오버랩되는 제3 공간에 대응되는 제3 맵 데이터를 더 저장하며, 상기 프로세서는, 상기 로봇이 상기 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면, 상기 제2 맵 데이터 및 상기 제3 맵 데이터 중 상기 제1 타겟 위치 이후의 제2 타겟 위치에 대응되는 맵 정보를 포함하는 맵 데이터를 상기 로봇으로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.Here, the memory further stores third map data corresponding to a third space in which the first space and a partial space overlap, and the processor includes information indicating that the robot has reached the first target position. When received, the communication interface may be controlled to transmit map data including map information corresponding to a second target location after the first target location among the second map data and the third map data to the robot. .
또한, 상기 프로세서는, 상기 로봇의 주행 경로가 식별되면, 상기 로봇의 주행 경로에 기초하여 상기 제1 공간 및 상기 제2 공간이 오버랩되는 일부 공간에서 상기 제1 타겟 위치를 식별할 수 있다.Also, when the traveling path of the robot is identified, the processor may identify the first target position in a partial space where the first space and the second space overlap based on the traveling path of the robot.
또한, 상기 프로세서는, 상기 로봇의 주행 공간이 복수의 Z축 공간을 포함하는 경우, 상기 복수의 Z축 공간 중 각각을 상기 제1 공간 및 상기 제2 공간으로 식별하고, 상기 제1 공간에서 상기 제2 공간으로 이동하기 위한 구조를 포함하는 일부 공간을 오버랩되는 공간으로 식별할 수 있다.In addition, when the traveling space of the robot includes a plurality of Z-axis spaces, the processor identifies each of the plurality of Z-axis spaces as the first space and the second space, and in the first space A partial space including a structure for moving to the second space may be identified as an overlapping space.
여기서, 상기 제1 공간에서 상기 제2 공간으로 이동하기 위한 구조는, 엘리베이터, 에스컬레이터 또는 층계 중 적어도 하나를 포함할 수 있다.Here, the structure for moving from the first space to the second space may include at least one of an elevator, an escalator, and a staircase.
한편, 상기 프로세서는, 상기 제1 맵 데이터의 크기가 임계 크기 이상인 경우, 상기 로봇의 현재 위치 및 상기 제1 타겟 위치 간 주행 경로에 기초하여 상기 제1 맵 데이터 중 상기 주행 경로를 기준으로 식별된 일부 공간에 대응되는 일부 맵 데이터를 상기 로봇으로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.On the other hand, when the size of the first map data is equal to or greater than a threshold size, the processor is configured to identify the driving path among the first map data based on the driving path between the current position of the robot and the first target position. The communication interface may be controlled to transmit some map data corresponding to a partial space to the robot.
한편, 본 발명의 일 실시 예에 따른 제어 방법은, 서버로부터 상기 로봇의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보가 수신되면, 상기 제1 타겟 위치로 주행하는 단계, 상기 로봇이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 제1 타겟 위치에 도달하였음을 나타내는 정보를 상기 서버로 전송하는 단계 및 상기 서버로부터 상기 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 상기 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면, 상기 제2 타겟 위치로 주행하는 단계를 포함할 수 있다.Meanwhile, in the control method according to an embodiment of the present invention, when information on a first target location included in first map data corresponding to a first space included in a traveling space of the robot is received from a server, the first target location is received. traveling to a first target position, if the robot is identified as reaching within a threshold distance from the first target position, transmitting information indicating that the first target position has been reached to the server and from the server to the first The method may include driving to the second target location when second map data corresponding to the second space including the target location and information on the second target location included in the second map data are received.
여기서, 상기 제2 공간은, 상기 제1 공간과 일부 공간이 오버랩되며, 상기 제2 맵 데이터는, 상기 제1 공간 중 상기 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고, 상기 제1 공간 중 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않을 수 있다.Here, the second space overlaps the first space and a partial space, and the second map data includes map information on a partial space of the first space including the first target location, and the Map information for some of the first spaces that do not include the first target location may not be included.
또한, 상기 서버로부터 상기 제2 맵 데이터가 수신되는 경우 또는 상기 로봇이 상기 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 저장된 상기 제1 맵 데이터를 삭제하는 단계를 더 포함할 수 있다.The method may further include deleting the stored first map data in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target location.
또한, 상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하는 단계, 상기 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면, 상기 제1 타겟 위치의 환경 정보를 상기 서버로 전송하는 단계 및 상기 서버로부터 상기 제1 타겟 위치의 환경 정보에 대응되는 인공 지능 모델에 대한 정보를 수신하여 저장하는 단계를 더 포함할 수 있다.In addition, when it is identified that the robot has reached within a threshold distance from the first target location, obtaining environment information of the first target location based on information obtained through a camera, based on the obtained environment information When it is identified that the driving environment is changed, transmitting the environmental information of the first target location to the server, and receiving and storing information about the artificial intelligence model corresponding to the environmental information of the first target location from the server may further include.
또한, 상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하는 단계 및 상기 획득된 환경 정보에 기초하여 상기 로봇의 주행 상태를 변경하는 단계를 더 포함할 수 있다.In addition, when it is identified that the robot has reached within a threshold distance from the first target location, obtaining environment information of the first target location based on information obtained through a camera and based on the obtained environment information The method may further include changing the driving state of the robot.
또한, 상기 서버는, 상기 로봇이 제1 타겟 위치에 도달하였음을 나타내는 정보를 수신하고, 상기 제1 공간과 일부 공간이 오버랩되는 제3 공간에 대응되는 제3 타겟 위치에 대한 맵 정보를 포함하는 제3 맵 데이터 및 상기 제2 맵 데이터 중 상기 제1 타겟 위치 이후의 제2 타겟 위치에 대응되는 맵 정보를 포함하는 맵 데이터를 상기 로봇으로 전송할 수 있다.In addition, the server receives information indicating that the robot has reached the first target location, and includes map information on a third target location corresponding to a third space overlapping the first space and a part of the space Map data including map information corresponding to a second target location after the first target location among the third map data and the second map data may be transmitted to the robot.
또한, 상기 서버는, 상기 로봇의 주행 경로를 식별하고, 상기 로봇의 주행 경로에 기초하여 상기 제1 공간 및 제2 공간이 오버랩되는 일부 공간에서 상기 제1 타겟 위치를 식별할 수 있다.In addition, the server may identify the traveling path of the robot, and based on the traveling path of the robot, identify the first target position in a partial space where the first space and the second space overlap.
여기서, 상기 서버는, 상기 로봇의 주행 공간이 복수의 Z축 공간을 포함하는 경우, 상기 복수의 Z축 공간 중 각각을 상기 제1 공간 및 상기 제2 공간으로 식별하고, 상기 제1 공간에서 상기 제2 공간으로 이동하기 위한 구조를 포함하는 일부 영역을 오버랩되는 영역으로 식별할 수 있다.Here, when the traveling space of the robot includes a plurality of Z-axis spaces, the server identifies each of the plurality of Z-axis spaces as the first space and the second space, and in the first space A partial region including a structure for moving to the second space may be identified as an overlapping region.
한편, 상기 서버는, 상기 제1 맵 데이터의 크기가 임계 크기 이상인 경우, 상기 로봇의 현재 위치 및 상기 제1 타겟 위치 간 주행 경로에 기초하여 상기 제1 맵 데이터 중 상기 주행 경로를 기준으로 식별된 일부 공간에 대응되는 일부 맵 데이터를 상기 로봇으로 전송할 수 있다.On the other hand, when the size of the first map data is equal to or greater than a threshold size, the server identifies the driving path among the first map data based on the driving path between the current position of the robot and the first target position. Some map data corresponding to some space may be transmitted to the robot.
본 개시의 다양한 실시 예에 따르면, 로봇은 전체 맵 데이터를 분할한 로컬 맵 데이터만을 저장하기 때문에 적은 메모리 용량으로도 효율적인 주행이 가능하게 된다. 또한, 로봇은 새로운 로컬 맵 데이터가 적용될 때마다 위치 인식 동작을 수행할 필요가 없으므로 프로세서에 부담을 주지 않으면서 더욱 신속한 서비스 제공이 가능하게 된다.According to various embodiments of the present disclosure, since the robot stores only local map data obtained by dividing the entire map data, efficient driving is possible even with a small memory capacity. In addition, since the robot does not need to perform a location recognition operation whenever new local map data is applied, it is possible to provide a faster service without burdening the processor.
도 1은 일정 공간을 주행하는 로봇이 복수의 로컬 맵 데이터에 기초하여 주행하는 동작을 설명하기 위한 도면이다.1 is a view for explaining an operation in which a robot traveling in a predetermined space travels based on a plurality of local map data.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 도면이다.2 is a view for explaining the configuration of a robot according to an embodiment of the present disclosure.
도 3은 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 도면이다.3 is a diagram for explaining the configuration of a server according to an embodiment of the present disclosure.
도 4a 및 도 4b는 본 개시의 일 실시 예에 따른 로봇이 타겟 위치에 기초하여 주행하는 동작을 설명하기 위한 도면이다.4A and 4B are diagrams for explaining an operation in which a robot travels based on a target position according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시 예에 따른 로봇이 타겟 위치에 도달한 경우 주행에 필요한 맵 데이터를 다운로드하는 동작을 설명하기 위한 도면이다.5 is a diagram for explaining an operation of downloading map data required for driving when the robot reaches a target position according to an embodiment of the present disclosure.
도 6은 본 개시의 일 실시 예에 따른 로봇이 공간의 환경 정보에 기초하여 인공 지능 모델을 다운로드하는 동작을 설명하기 위한 도면이다.FIG. 6 is a diagram for explaining an operation in which a robot downloads an artificial intelligence model based on environmental information of a space according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시 예에 따른 로봇이 공간의 환경 정보에 기초하여 주행 상태를 변경하는 동작을 설명하기 위한 도면이다.7 is a view for explaining an operation of a robot changing a driving state based on environmental information of a space according to an embodiment of the present disclosure.
도 8은 본 개시의 일 실시 예에 따른 로봇이 건물의 여러 층을 이동하면서 서비스를 제공하는 동작을 설명하기 위한 도면이다.8 is a view for explaining an operation of providing a service while moving a robot according to an embodiment of the present disclosure while moving on several floors of a building.
도 9는 본 개시의 일 실시 예에 따른 로봇이 로컬 맵 데이터 중 일부 맵 데이터를 다운로드하는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation in which a robot downloads some map data among local map data according to an embodiment of the present disclosure.
도 10은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.10 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
도 11은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
도 12는 본 개시의 일 실시 예에 따른 로봇의 주행 방법을 구체적으로 설명하기 위한 흐름도이다.12 is a flowchart for specifically explaining a driving method of a robot according to an embodiment of the present disclosure.
--
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다. Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the embodiments of the present disclosure are selected as currently widely used general terms as possible while considering the functions in the present disclosure, which may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, etc. . In addition, in specific cases, there are also terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding disclosure. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In the present disclosure, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다. The expression “at least one of A and/or B” is to be understood as indicating either “A” or “B” or “A and B”.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. As used in the present disclosure, expressions such as “first,” “second,” “first,” or “second,” may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it should be understood that a component may be directly connected to another component or may be connected through another component (eg, a third component).
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "consisting of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and are intended to indicate that one or more other It is to be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In the present disclosure, a "module" or "unit" performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software. In addition, a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented with at least one processor (not shown) except for “modules” or “units” that need to be implemented with specific hardware. can be
본 개시에서 사용자라는 용어는 로봇을 사용하는 사람을 지칭할 수 있다. 이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.In the present disclosure, the term user may refer to a person who uses the robot. Hereinafter, an embodiment of the present disclosure will be described in more detail with reference to the accompanying drawings.
도 1은 일정 공간을 주행하는 로봇이 복수의 로컬 맵 데이터에 기초하여 주행하는 동작을 설명하기 위한 도면이다.1 is a view for explaining an operation in which a robot traveling in a predetermined space travels based on a plurality of local map data.
도 1을 참조하면, 로봇(100)은 일정한 공간을 주행하며 사용자에게 서비스를 제공할 수 있다. 로봇(100)은 주행을 위해 공간에 대응되는 맵 데이터를 기 저장하고 있을 수도 있으나, 필요한 경우에 서버(200)로부터 맵 데이터를 다운로드 받을 수도 있다.Referring to FIG. 1 , the robot 100 may provide a service to a user while traveling in a predetermined space. The robot 100 may pre-store map data corresponding to a space for driving, but may also download map data from the server 200 if necessary.
구체적으로, 로봇(100)은 서버(200)와 전기적으로 통신할 수 있으며, 로봇(100)은 서버(200)에 저장된 맵 데이터를 수신할 수 있다. 본 명세서에서는 로봇(100)이 서버(200)로부터 특정 데이터를 수신하는 동작을 '다운로드'라는 용어를 통해 설명할 것이다.Specifically, the robot 100 may electrically communicate with the server 200 , and the robot 100 may receive map data stored in the server 200 . In this specification, an operation in which the robot 100 receives specific data from the server 200 will be described using the term 'download'.
공간에 대응되는 전체 맵 데이터는 전체 맵 데이터를 분할한 복수의 로컬 맵 데이터로 구성될 수 있다. 이 경우 로봇(100)은 서버(200)로부터 개별적인 로컬 맵 데이터를 다운로드 받고, 다운로드 받은 로컬 맵 데이터에 기초하여 주행할 수 있다.The entire map data corresponding to the space may be composed of a plurality of local map data obtained by dividing the entire map data. In this case, the robot 100 may download individual local map data from the server 200 and drive based on the downloaded local map data.
구체적으로, 로봇(100)은 서버(200)로부터 현재 로봇(100)의 위치에 대한 정보를 포함하는 로컬 맵 데이터(310) 및 로봇(100)의 주행 경로(300)에 포함된 또 다른 로컬 맵 데이터(320)를 다운로드 받아 공간을 주행할 수 있다.Specifically, the robot 100 includes local map data 310 including information on the current position of the robot 100 from the server 200 and another local map included in the travel path 300 of the robot 100 . The data 320 may be downloaded to drive through the space.
주행 과정에서 로봇(100)의 주행에 기초가 되는 맵 데이터가 로봇(100)의 초기 위치에 대한 정보를 포함하는 로컬 맵 데이터(310)에서 그 이후 주행 경로를 포함하는 로컬 맵 데이터(320)로 전환되는 경우 로봇(100)은 새로운 로컬 맵 데이터(320)에 기초하여 주행하기 위해 로봇(100)의 위치를 식별할 필요가 있다.The map data, which is the basis for the driving of the robot 100 in the driving process, is from the local map data 310 including information on the initial position of the robot 100 to the local map data 320 including the driving path thereafter. When switched, the robot 100 needs to identify the position of the robot 100 in order to travel based on the new local map data 320 .
이 경우 로봇(100)이 위치를 식별하기 위해 Lidar와 같은 거리 센서를 이용한 위치 인식 동작을 수행하는 경우 연속적인 주행이 어려워지는 문제점이 생길 수 있다.In this case, when the robot 100 performs a position recognition operation using a distance sensor such as a lidar to identify a position, there may be a problem in that continuous driving becomes difficult.
이에 따라, 이하에서는 로봇이 주행 과정에서 추가적인 위치 인식 동작을 수행하지 않고도 로봇의 위치를 식별할 수 있는 다양한 실시 예에 대해 좀더 구체적으로 설명하도록 한다.Accordingly, various embodiments in which the robot can identify the position of the robot without performing an additional position recognition operation during the driving process will be described in more detail below.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 도면이다.2 is a view for explaining the configuration of a robot according to an embodiment of the present disclosure.
도 2를 참조하여, 본 개시의 일 실시 예에 따른 로봇(100)은 통신 인터페이스(110), 메모리(120), 구동부(130) 및 프로세서(140)를 포함할 수 있다.Referring to FIG. 2 , the robot 100 according to an embodiment of the present disclosure may include a communication interface 110 , a memory 120 , a driving unit 130 , and a processor 140 .
통신 인터페이스(110)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(110)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다. The communication interface 110 may input and output various types of data. For example, the communication interface 110 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , Coaxial, etc., through communication methods such as external devices (eg, source devices), external storage media (eg, USB memory), external servers (eg, web hard drives) and various types of data can send and receive.
일 예에 따르면, 로봇(100)은 통신 인터페이스(110)를 통해 서버(200)에 저장된 맵 데이터를 다운로드할 수 있다.According to an example, the robot 100 may download map data stored in the server 200 through the communication interface 110 .
메모리(120)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(120)는 데이터 저장 용도에 따라 로봇(100)에 임베디드된 메모리 형태로 구현되거나, 로봇(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100)의 구동을 위한 데이터의 경우 로봇(100)에 임베디드된 메모리에 저장되고, 로봇(100)의 확장 기능을 위한 데이터의 경우 로봇(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.The memory 120 may store data necessary for various embodiments of the present disclosure. The memory 120 may be implemented in the form of a memory embedded in the robot 100 or may be implemented in the form of a memory detachable to the robot 100 depending on the purpose of data storage. For example, data for driving the robot 100 is stored in a memory embedded in the robot 100 , and data for an extended function of the robot 100 is stored in a memory detachable from the robot 100 . can be On the other hand, in the case of the memory embedded in the robot 100, volatile memory (eg, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (eg, : OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.) , a hard drive, or a solid state drive (SSD) may be implemented as at least one of. In addition, in the case of a memory detachable to the robot 100, a memory card (eg, compact flash (CF); SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.), external memory that can be connected to the USB port (e.g. For example, it may be implemented in a form such as a USB memory).
일 예에 따르면, 메모리(120)는 로봇(100)의 주행 공간에 대응되는 맵 데이터를 저장할 수 있다.According to an example, the memory 120 may store map data corresponding to the driving space of the robot 100 .
구동부(130)는 로봇(100)을 주행시킬 수 있는 장치이며, 프로세서(140)의 제어에 따라 구동부(130)는 주행 방향 및 주행 속도를 조절할 수 있다. 이를 위해, 구동부(130)는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 사용 연료(또는 에너지원)에 따라 가솔린 엔진(engine), 디젤 엔진, LPG(liquefied petroleum gas) 엔진, 전기 모터 등), 주행 방향을 조절하기 위한 조향 장치(예: 기계식 스티어링(manual steering), 유압식 스티어링(hydraulics steering), 전자식 스티어링(electronic control power steering; EPS) 등), 동력에 따라 로봇(100)을 주행시키는 주행 장치(예: 바퀴, 프로펠러 등) 등을 포함할 수 있다. 여기서, 구동부(130)는 로봇(100)의 주행 타입(예: 휠 타입, 보행 타입, 비행 타입 등)에 따라 변형 실시될 수 있다.The driving unit 130 is a device capable of driving the robot 100 , and according to the control of the processor 140 , the driving unit 130 may adjust the traveling direction and the traveling speed. To this end, the driving unit 130 is a power generating device that generates power for the robot 100 to travel (eg, a gasoline engine, a diesel engine, or liquefied petroleum gas (LPG) depending on the fuel used (or energy source). engines, electric motors, etc.), steering devices to control the direction of travel (e.g., manual steering, hydraulics steering, electronic control power steering (EPS), etc.), robots (e.g., 100) may include a driving device (eg, wheels, propellers, etc.) for driving. Here, the driving unit 130 may be deformed according to a driving type (eg, a wheel type, a walking type, a flying type, etc.) of the robot 100 .
프로세서(140)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(140)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(140)는 통신 인터페이스(110), 메모리(120) 및 구동부(130)와 연결되어 로봇(100)의 동작을 제어할 수 있다.The processor 140 controls the overall operation of the robot 100 . Specifically, the processor 140 may be connected to each component of the robot 100 to control the overall operation of the robot 100 . For example, the processor 140 may be connected to the communication interface 110 , the memory 120 , and the driving unit 130 to control the operation of the robot 100 .
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(140)로 기재한다.According to an embodiment, the processor 140 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), a Neural Processing Unit (NPU), a controller, an application processor (application processor (AP)), etc. may be named variously, but in the present specification, it will be referred to as the processor 140 .
프로세서(140)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(140)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.The processor 140 may be implemented in a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) format. In addition, the processor 140 may include a volatile memory such as SRAM.
본 개시의 일 실시 예에 따른 프로세서(140)는 통신 인터페이스(110)를 통해 서버(200)로부터 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보를 수신할 수 있다. 여기서, 제1 맵 데이터는 로봇(100)이 주행을 함에 있어 초기 위치에 대한 정보를 포함하는 맵 데이터일 수 있다. 또한, 제1 타겟 위치는 제1 맵 데이터에 대응되는 제1 공간 내에서 주행의 목표 지점과 인접한 위치일 수 있다.The processor 140 according to an embodiment of the present disclosure may receive information on the first target location included in the first map data from the server 200 through the communication interface 110 . Here, the first map data may be map data including information on an initial position of the robot 100 while driving. Also, the first target location may be a location adjacent to the target point of driving in the first space corresponding to the first map data.
일 예에 따르면, 프로세서(140)는 제1 맵 데이터 및 제1 타겟 위치에 대한 정보가 수신된 후 로봇(100)이 제1 타겟 위치로 주행하도록 구동부(130)를 제어할 수 있다.According to an example, the processor 140 may control the driving unit 130 to drive the robot 100 to the first target location after receiving the first map data and information on the first target location.
한편, 프로세서(140)는 로봇(100)이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 제1 타겟 위치에 도달하였음을 나타내는 정보를 서버(200)로 전송할 수 있다.Meanwhile, when the robot 100 is identified as reaching the threshold distance from the first target location, the processor 140 may transmit information indicating that the robot 100 has reached the first target location to the server 200 .
또한, 일 예에 따른 프로세서(140)는 서버(200)로부터 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보를 수신할 수 있다.In addition, the processor 140 according to an example receives second map data corresponding to the second space including the first target location and information on the second target location included in the second map data from the server 200 . can do.
여기서, 제2 공간은 제1 공간과 일부 공간이 오버랩 되는 동시에 제1 타겟 위치를 포함하는 공간으로서, 로봇(100)이 장차 주행할 주행 경로를 포함하는 공간일 수 있다. 또한, 제2 공간에 대응되는 제2 맵 데이터에는 제2 타겟 위치에 대한 정보가 포함될 수 있다. 여기서, 제2 타겟 위치는 제2 공간 내에서 주행의 목표 지점의 위치일 수 있다.Here, the second space is a space that overlaps the first space and a part of the space and includes the first target location, and may be a space that includes a traveling path through which the robot 100 will travel in the future. Also, the second map data corresponding to the second space may include information on the second target location. Here, the second target location may be a location of a target point of driving in the second space.
여기서, 프로세서(140)는 통신 인터페이스(110)를 통해 서버로부터 데이터를 다운로드하는 속도를 고려하여 로봇(100)이 제1 타겟 위치에 근접하였음을 서버(200)에 알리고, 서버로 맵 데이터 등의 데이터 전송을 요청할 수 있다. 예를 들어 제2 맵 데이터 및 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보의 크기가 5mb(Mega byte)이고, 다운로드 속도가 1mb/s인 경우, 프로세서(140)는 제1 타겟 위치에 도착할 것으로 예정되는 시점으로부터 5초 전에 서버(200)로 데이터 전송을 요청할 수 있다.Here, the processor 140 informs the server 200 that the robot 100 is close to the first target position in consideration of the speed of downloading data from the server through the communication interface 110, and sends map data to the server. You can request data transfer. For example, when the size of the second map data and the information on the second target location included in the second map data is 5 mb (mega byte) and the download speed is 1 mb/s, the processor 140 controls the first target location It is possible to request data transmission to the server 200 5 seconds before the scheduled arrival time.
일 예에 따른 프로세서(140)는 제2 맵 데이터 및 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면 로봇(100)이 제2 타겟 위치로 주행하도록 구동부(130)를 제어할 수 있다.The processor 140 according to an example may control the driving unit 130 to drive the robot 100 to the second target position when the second map data and information on the second target position included in the second map data are received. can
한편, 제2 맵 데이터는 제1 공간 중 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고, 제1 공간 중 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않을 수 있다.On the other hand, the second map data may include map information for some spaces in the first space including the first target location, and may not include map information for some spaces in the first space that do not include the first target location. can
구체적으로, 제2 맵 데이터는 제1 공간 중에서 제2 공간과 오버랩되며 동시에 제1 타겟 위치를 포함하는 공간에 포함된 맵 정보만을 포함할 수 있다. 이에 따라 프로세서(140)는 제2 공간에서 주행할 때 필요한 맵 정보만을 포함하는 맵 데이터를 다운받을 수 있으므로, 서버(200)와의 통신에서 발생하는 트래픽 증가를 방지할 수 있다.Specifically, the second map data may include only map information included in the space overlapping the second space in the first space and at the same time including the first target location. Accordingly, since the processor 140 may download map data including only map information necessary for driving in the second space, an increase in traffic occurring in communication with the server 200 may be prevented.
여기서, 프로세서(140)는 서버(200)로부터 제2 맵 데이터가 수신되는 경우 또는 로봇(100)이 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 메모리(120)에 저장된 제1 맵 데이터를 삭제할 수 있다.Here, the processor 140 receives the first map data stored in the memory 120 in at least one of a case in which the second map data is received from the server 200 or a case in which the robot 100 arrives at the second target position. can be deleted.
구체적으로, 제2 공간을 주행하는 로봇(100)은 제2 공간에 대응되는 제2 맵 데이터에 기초하여 주행하게 되므로, 주행에 필요가 없어진 제1 맵 데이터를 삭제하여 메모리(120)의 용량을 확보할 수 있다.Specifically, since the robot 100 traveling in the second space is driven based on the second map data corresponding to the second space, the capacity of the memory 120 is increased by deleting the first map data that is no longer necessary for driving. can be obtained
한편, 로봇(100)은 카메라를 더 포함할 수 있다. 여기서, 프로세서(140)는 로봇(100)이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 카메라를 통해 획득된 정보에 기초하여 제1 타겟 위치의 환경 정보를 획득할 수 있다. 여기서, 카메라를 통해 획득된 정보는 제1 타겟 위치와 인접한 공간을 촬영한 이미지를 포함할 수 있다.Meanwhile, the robot 100 may further include a camera. Here, when the robot 100 is identified as reaching within a threshold distance from the first target position, the processor 140 may acquire environmental information of the first target position based on information obtained through the camera. Here, the information obtained through the camera may include an image of a space adjacent to the first target location.
구체적으로, 환경 정보는 공간에 위치하는 장애물 정보, 공간의 조도 정보 또는 공간에 분포하는 유동인구에 관한 정보를 포함할 수 있다. 프로세서(140)는 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면 제1 타겟 위치의 환경 정보를 서버(200)로 전송할 수 있다.Specifically, the environment information may include information about obstacles located in the space, illuminance information of the space, or information about the floating population distributed in the space. When it is identified that the driving environment is changed based on the obtained environment information, the processor 140 may transmit the environment information of the first target location to the server 200 .
이어서, 서버(200)로부터 제1 타겟 위치의 환경 정보에 기초하여 해당 공간을 주행할 때 활용하기 가장 적합한 인공 지능 모델이 수신되면 프로세서(140)는 수신된 인공 지능 모델을 메모리(120)에 저장할 수 있다.Subsequently, when an artificial intelligence model most suitable to be utilized when driving in a corresponding space is received from the server 200 based on the environment information of the first target location, the processor 140 stores the received artificial intelligence model in the memory 120 . can
한편, 프로세서(140)는 획득된 환경 정보에 기초하여 로봇(100)의 주행 상태를 변경하도록 구동부(130)를 제어할 수도 있다.Meanwhile, the processor 140 may control the driving unit 130 to change the driving state of the robot 100 based on the obtained environment information.
도 3은 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 도면이다.3 is a diagram for explaining the configuration of a server according to an embodiment of the present disclosure.
도 3을 참조하여, 본 개시의 일 실시 예에 따른 서버(200)는 통신 인터페이스(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다.Referring to FIG. 3 , the server 200 according to an embodiment of the present disclosure may include a communication interface 210 , a memory 220 , and a processor 230 .
통신 인터페이스(210)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(210)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다. The communication interface 210 may input and output various types of data. For example, the communication interface 210 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , Coaxial, etc., through communication methods such as external devices (eg, source devices), external storage media (eg, USB memory), external servers (eg, web hard drives) and various types of data can send and receive.
일 예에 따르면, 서버(200)는 통신 인터페이스(210)를 통해 로봇(100)으로 맵 데이터를 전송할 수 있다.According to an example, the server 200 may transmit map data to the robot 100 through the communication interface 210 .
메모리(220)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(220)는 데이터 저장 용도에 따라 서버(200)에 임베디드된 메모리 형태로 구현되거나, 서버(200)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 서버(200)의 구동을 위한 데이터의 경우 서버(200)에 임베디드된 메모리에 저장되고, 서버(200)의 확장 기능을 위한 데이터의 경우 서버(200)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 서버(200)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 서버(200)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.The memory 220 may store data necessary for various embodiments of the present disclosure. The memory 220 may be implemented in the form of a memory embedded in the server 200 or may be implemented in the form of a memory that is detachable from the server 200 according to the purpose of data storage. For example, data for driving the server 200 is stored in a memory embedded in the server 200 , and data for an extension function of the server 200 is stored in a memory detachable from the server 200 . can be On the other hand, in the case of the memory embedded in the server 200 , a volatile memory (eg, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (eg, : OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.) , a hard drive, or a solid state drive (SSD) may be implemented as at least one of. In addition, in the case of a memory detachable to the server 200, a memory card (eg, a compact flash (CF); SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.), external memory that can be connected to the USB port (e.g. For example, it may be implemented in a form such as a USB memory).
일 예에 따르면, 메모리(220)는 로봇(100)의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터 및 제1 공간과 일부 공간이 오버랩되는 제2 공간에 대응되는 맵 데이터를 저장할 수 있다.According to an example, the memory 220 stores first map data corresponding to a first space included in the driving space of the robot 100 and map data corresponding to a second space in which the first space and a partial space overlap. can
프로세서(230)는 서버(200)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(230)는 서버(200)의 각 구성과 연결되어 서버(200)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(230)는 통신 인터페이스(210) 및 메모리(220)와 연결되어 서버(200)의 동작을 제어할 수 있다.The processor 230 controls the overall operation of the server 200 . Specifically, the processor 230 may be connected to each component of the server 200 to control the overall operation of the server 200 . For example, the processor 230 may be connected to the communication interface 210 and the memory 220 to control the operation of the server 200 .
일 실시 예에 따라 프로세서(230)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(230)로 기재한다.According to an embodiment, the processor 230 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), a Neural Processing Unit (NPU), a controller, an application processor (application processor (AP)), etc. may be named variously, but in the present specification, it will be referred to as the processor 230 .
프로세서(230)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(230)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.The processor 230 may be implemented as a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) type. In addition, the processor 230 may include a volatile memory such as SRAM.
본 개시의 일 실시 예에 따른 프로세서(230)는 통신 인터페이스(210)를 통해 제1 맵 데이터 및 제1 맵 데이터 상의 제1 타겟 위치에 대한 정보를 로봇(100)으로 전송할 수 있다.The processor 230 according to an embodiment of the present disclosure may transmit the first map data and information on the first target location on the first map data to the robot 100 through the communication interface 210 .
또한, 프로세서(230)는 로봇(100)으로부터 로봇(100)이 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면 통신 인터페이스(210)를 통해 제2 맵 데이터를 로봇(100)으로 전송할 수 있다. 여기서, 제2 맵 데이터는 제1 타겟 위치에 대한 맵 정보를 포함할 수 있다.In addition, when information indicating that the robot 100 has reached the first target position is received from the robot 100 , the processor 230 may transmit the second map data to the robot 100 through the communication interface 210 . . Here, the second map data may include map information on the first target location.
여기서, 메모리(220)는 제1 공간과 일부 공간이 오버랩되는 제3 공간에 대응되는 제3 맵 데이터를 더 저장할 수 있다. 일 예에 따르면, 제3 맵 데이터는 제1 공간 및 제1 공간과 일부 공간이 오버랩되는 제2 공간과 일부 공간이 오버랩되는 공간일 수 있다.Here, the memory 220 may further store third map data corresponding to the third space in which the first space partially overlaps. According to an example, the third map data may be a space in which the first space and the second space partially overlap with the first space and a partial space overlap.
*일 예에 따른 프로세서(230)는 로봇(100)이 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면 제2 맵 데이터 및 제3 맵 데이터 중 제1 타겟 위치 이후의 제2 타겟 위치에 대응되는 맵 정보를 포함하는 맵 데이터를 로봇(100)으로 전송하도록 통신 인터페이스(210)를 제어할 수 있다.* When information indicating that the robot 100 has reached the first target position is received, the processor 230 according to an example corresponds to a second target position after the first target position among the second map data and the third map data. The communication interface 210 may be controlled to transmit map data including map information to the robot 100 .
구체적으로, 제2 타겟 위치는 로봇(100)이 주행과정에서 제1 타겟 위치 이후에 도달할 것으로 예상되는 위치일 수 있으며, 프로세서(230)는 제2 타겟 위치를 포함하는 공간에 대응되는 맵 데이터를 로봇(100)으로 전송할 수 있다. 예를 들어, 프로세서(230)는 제2 타겟 위치가 제2 공간에 포함되어 있는 경우 제2 공간에 대응되는 제2 맵 데이터를 로봇(100)으로 전송하며, 제2 타겟 위치가 제3 공간에 포함되어 있는 경우 제3 공간에 대응되는 제3 맵 데이터를 로봇(100)으로 전송할 수 있다.Specifically, the second target position may be a position at which the robot 100 is expected to arrive after the first target position in the driving process, and the processor 230 provides map data corresponding to the space including the second target position. may be transmitted to the robot 100 . For example, when the second target location is included in the second space, the processor 230 transmits second map data corresponding to the second space to the robot 100, and the second target location is located in the third space. If included, the third map data corresponding to the third space may be transmitted to the robot 100 .
또한, 프로세서(230)는 로봇(100)의 주행 경로가 식별되면 로봇(100)의 주행 경로에 기초하여 제1 공간 및 제2 공간이 오버랩되는 일부 공간에서 제1 타겟 위치를 식별하고, 식별된 제1 타겟 위치에 대한 정보를 로봇(100)으로 전송하도록 통신 인터페이스(100)를 제어할 수 있다.In addition, when the travel path of the robot 100 is identified, the processor 230 identifies the first target position in a partial space where the first space and the second space overlap based on the travel path of the robot 100, and the identified The communication interface 100 may be controlled to transmit information on the first target position to the robot 100 .
구체적으로, 프로세서(230)는 제1 공간 및 제2 공간이 오버랩되는 일부 공간에 포함된 로봇(100)의 주행 경로 상의 임의의 위치를 제1 타겟 위치로 식별할 수 있다. 여기서, 식별된 제1 타겟 위치에 대한 정보는 제2 맵 데이터 상에서 제1 타겟 위치에 대응되는 좌표를 포함할 수 있다.Specifically, the processor 230 may identify an arbitrary position on the travel path of the robot 100 included in a partial space where the first space and the second space overlap as the first target position. Here, the information on the identified first target location may include coordinates corresponding to the first target location on the second map data.
또한, 프로세서(230)는 로봇(100)의 주행 공간이 복수의 Z축 공간을 포함하는 경우 복수의 Z축 공간 중 각각을 제1 공간 및 제2 공간으로 식별할 수 있다. 구체적으로, 로봇(100)의 주행 공간은 복수의 층을 포함하는 건물의 내부 공간일 수 있으며, 프로세서(230)는 로봇(100)의 현재 위치를 포함하는 층을 제1 공간으로, 로봇(100)의 목적지를 포함하는 층을 제2 공간으로 식별할 수 있다.Also, when the traveling space of the robot 100 includes a plurality of Z-axis spaces, the processor 230 may identify each of the plurality of Z-axis spaces as a first space and a second space. Specifically, the driving space of the robot 100 may be an internal space of a building including a plurality of floors, and the processor 230 uses the floor including the current location of the robot 100 as the first space, and the robot 100 ) can be identified as the second space.
이어서, 프로세서(230)는 제1 공간으로 식별된 층에서 제2 공간으로 식별된 층으로 이동하기 위한 구조를 포함하는 일부 공간을 오버랩되는 공간으로 식별하고, 오버랩되는 공간 중 임의의 위치를 제1 타겟 위치로 식별할 수 있다.Subsequently, the processor 230 identifies a partial space including a structure for moving from the floor identified as the first space to the floor identified as the second space as the overlapping space, and assigns an arbitrary position of the overlapping space to the first space. It can be identified by the target location.
여기서, 제1 공간에서 제2 공간으로 이동하기 위한 구조는 엘리베이터, 에스컬레이터 또는 층계 중 적어도 하나를 포함할 수 있다.Here, the structure for moving from the first space to the second space may include at least one of an elevator, an escalator, or a staircase.
한편, 프로세서(230)는 제1 맵 데이터의 크기가 임계 크기 이상인 경우 로봇(100)의 현재 위치 및 제1 타겟 위치 간 주행 경로에 기초하여 제1 맵 데이터 중 주행 경로를 기준으로 식별된 일부 공간에 대응되는 일부 맵 데이터를 로봇(100)으로 전송하도록 통신 인터페이스(210)를 제어할 수 있다.On the other hand, when the size of the first map data is equal to or greater than the threshold size, the processor 230 determines a partial space identified based on the driving path among the first map data based on the driving path between the current position of the robot 100 and the first target position. The communication interface 210 may be controlled to transmit some map data corresponding to the robot 100 to the robot 100 .
도 4a 및 도 4b는 본 개시의 일 실시 예에 따른 로봇이 타겟 위치에 기초하여 주행하는 동작을 설명하기 위한 도면이다.4A and 4B are diagrams for explaining an operation in which a robot travels based on a target position according to an embodiment of the present disclosure.
도 4a는 로봇(100)이 주행하는 공간(410)이 직사각형의 구조이며, 공간(410)에 대응되는 맵 데이터가 정사각형 구조를 갖는 동일한 크기의 공간에 대응되는 8개의 맵 데이터(21-25 등)로 구성된 경우 로봇(100)의 주행을 설명하기 위한 도면이다.4A shows that the space 410 in which the robot 100 travels has a rectangular structure, and the map data corresponding to the space 410 has a square structure and eight map data 21-25, etc., corresponding to a space of the same size. ) is a diagram for explaining the running of the robot 100 when configured.
여기서, 8개의 맵 데이터(21-25 등)는 서로 일부 공간이 오버랩되도록 분할된 공간에 대응되는 맵 데이터이며, 본 개시의 일 실시 예에 따른 로봇(100)은 최초의 위치(10)에 대응되는 맵 데이터(21)를 서버(200)로부터 다운로드하여 메모리(120)에 저장할 수 있다. Here, the eight map data (21-25, etc.) are map data corresponding to a space divided so that some spaces overlap each other, and the robot 100 according to an embodiment of the present disclosure corresponds to the initial position (10). The resulting map data 21 may be downloaded from the server 200 and stored in the memory 120 .
일 예에 따른 서버(200)는 서비스가 요구되는 최종 목적지(20)까지 로봇(100)의 주행 경로(31)를 식별하고, 식별된 경로 및 복수의 맵 데이터(21-25 등)에 대응되는 복수의 공간들이 오버랩되는 공간에 기초하여 복수의 타겟 위치(11-14)를 식별할 수 있다.The server 200 according to an example identifies the driving path 31 of the robot 100 to the final destination 20 for which the service is requested, and corresponds to the identified path and a plurality of map data 21-25. A plurality of target locations 11 - 14 may be identified based on the space in which the plurality of spaces overlap.
먼저, 서버(200)는 로봇(100)이 최초 위치(10)에 대응되는 제1 맵 데이터(21) 및 제1 맵 데이터(21)에 포함된 제1 타겟 위치(11)에 대한 정보를 로봇(100)으로 전송할 수 있다.First, the server 200 transmits information about the first map data 21 corresponding to the initial position 10 of the robot 100 and the first target position 11 included in the first map data 21 to the robot. (100) can be transmitted.
일 예에 따른 로봇(100)은 제1 맵 데이터(21) 및 제1 맵 데이터(21)에 포함된 제1 타겟 위치(11)에 대한 정보가 수신되면 제1 타겟 위치(11)로 주행할 수 있다. 여기서, 로봇(100)은 서버(200)가 식별한 주행 경로(31)에 기초하여 주행할 수도 있으나, 주행 과정에서 발생하는 다양한 상황에 대처하기 위해 스스로 기 식별된 주행 경로(31)와는 다른 주행 경로에 기초하여 주행할 수도 있다.The robot 100 according to an example may drive to the first target location 11 when the first map data 21 and information on the first target location 11 included in the first map data 21 are received. can Here, the robot 100 may travel based on the driving path 31 identified by the server 200, but in order to cope with various situations occurring in the driving process, a driving different from the driving path 31 previously identified by itself. It can also drive based on a route.
이어서, 로봇(100)이 제1 타겟 위치(11)로부터 임계 거리 내에 도달한 것으로 식별되면 로봇(100)은 제1 타겟 위치(11)에 도달하였음을 나타내는 정보를 서버(200)로 전송함과 동시에 이후의 주행 경로가 포함된 제2 공간에 대응되는 제2 맵 데이터(22)를 요청할 수 있다.Then, when the robot 100 is identified as reaching within the threshold distance from the first target position 11, the robot 100 transmits information indicating that it has reached the first target position 11 to the server 200 and At the same time, the second map data 22 corresponding to the second space including the subsequent driving route may be requested.
이에 따라 서버(200)는 제2 맵 데이터(22) 및 제2 맵 데이터에 포함된 제2 타겟 위치(12)에 대한 정보를 로봇(100)으로 전송할 수 있다. 이 경우 제2 맵 데이터는 제1 맵 데이터(21)에 대응되는 공간 중 제1 타겟 위치(11)를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않을 수 있다.Accordingly, the server 200 may transmit the second map data 22 and information on the second target location 12 included in the second map data to the robot 100 . In this case, the second map data may not include map information for some spaces that do not include the first target location 11 among the spaces corresponding to the first map data 21 .
일 예에 따른 로봇(100)은 서버(200)로부터 제2 맵 데이터(22)가 수신되는 경우 메모리(120)에 저장된 제1 맵 데이터(21)를 삭제할 수 있다. 이와 동시에 로봇(100)은 다운로드된 제2 맵 데이터(22)에 기초하여 제2 타겟 위치(12)까지 주행할 수 있다. 이 경우 제2 맵 데이터(22)에는 제2 맵 데이터(22) 상의 제1 타겟 위치(11)에 대응되는 좌표가 포함되어 있으므로, 로봇(100)는 추가적인 위치 인식 동작 없이도 로봇(100)의 위치를 식별할 수 있다.The robot 100 according to an example may delete the first map data 21 stored in the memory 120 when the second map data 22 is received from the server 200 . At the same time, the robot 100 may travel to the second target location 12 based on the downloaded second map data 22 . In this case, since the second map data 22 includes coordinates corresponding to the first target position 11 on the second map data 22 , the robot 100 moves the position of the robot 100 without an additional position recognition operation. can be identified.
구체적으로, 로봇(100)은 최초의 위치(10)에서 위치 인식을 통해 최초의 위치(10)에 대응되는 좌표 및 로봇의 지향 방향을 식별한 후 제1 맵 데이터(21) 및 구동부(130)의 구동 특성을 누적한 데이터에 기초하여 제1 타겟 위치(11)까지 주행할 수 있으며, 그 후 로봇(100)은 제2 맵 데이터(22)에 포함된 제1 타겟 위치(11) 및 제2 타겟 위치(12)에 대한 정보에 기초하여 제2 타겟 위치(12)까지 주행할 수 있다.Specifically, the robot 100 identifies the coordinates corresponding to the initial position 10 and the orientation direction of the robot through position recognition at the initial position 10, and then the first map data 21 and the driving unit 130. The robot 100 can drive to the first target position 11 based on the accumulated data of driving characteristics of It is possible to drive to the second target location 12 based on the information on the target location 12 .
보다 자세하게는, 제1 맵 데이터(21) 상에서 제1 타겟 위치(11)에 대응되는 좌표가 (70,35)이고 제2 맵 데이터(22) 상에서 제1 타겟 위치(11)에 대응되는 좌표가 (10,35)인 경우 로봇(100)은 제1 맵 데이터(21) 상에서 로봇(100)이 (70,35)의 좌표를 갖는 제1 타겟 위치(11)에 근접한 것으로 식별되면 서버(200)로부터 제2 맵 데이터(21) 및 제2 맵 데이터에 포함된 제2 타겟 위치(12)에 대한 정보를 다운로드 받고, 로봇(100)이 제1 타겟 위치(11)에 도달하는 순간 제1 맵 데이터(21)를 삭제하고 제2 맵 데이터(22)에 기초하여 주행할 수 있다.In more detail, the coordinates corresponding to the first target position 11 on the first map data 21 are (70,35) and the coordinates corresponding to the first target position 11 on the second map data 22 are In the case of (10, 35), the robot 100 is identified as being close to the first target position 11 with the coordinates of (70, 35) on the first map data 21 by the robot 100, the server 200 The second map data 21 and information on the second target location 12 included in the second map data are downloaded from the (21) may be deleted, and driving may be performed based on the second map data (22).
이 경우 제2 맵 데이터(22) 상에서 로봇(100)의 위치는 (10,35)의 좌표를 갖는 제1 타겟 위치(11)로 식별되므로, 로봇(100)은 추가적인 위치 인식 동작이 없이 신속하게 주행할 수 있게 된다.In this case, since the position of the robot 100 on the second map data 22 is identified as the first target position 11 having the coordinates of (10, 35), the robot 100 can be quickly performed without additional position recognition operation. be able to drive
마찬가지로, 로봇(100)은 제2 타겟 위치(12)에 근접한 경우 이후의 주행 경로를 포함하는 맵 데이터(23) 및 해당 맵 데이터(23)에 포함된 다음 타겟 위치(13)에 대한 정보를 서버(200)로부터 다운로드하고, 이에 기초하여 다음 타겟 위치(13)까지 주행할 수 있다. 로봇(100)은 이와 동일한 방식으로 마지막 타겟 위치(14)를 경유하여 최종 목적지(20)까지 주행할 수 있다.Similarly, when the robot 100 is close to the second target position 12, the map data 23 including the subsequent travel path and the information on the next target position 13 included in the map data 23 are sent to the server. 200 , and based on this, it can travel to the next target location 13 . The robot 100 may travel to the final destination 20 via the last target location 14 in the same manner.
도 4b는 로봇(100)이 주행하는 공간(420)이 복잡한 다각형 구조이며, 공간(420)에 대응되는 맵 데이터가 정사각형 구조를 갖는 서로 상이한 크기의 공간에 대응되는 8개의 맵 데이터(26-29 등)로 구성된 경우 로봇(100)의 주행을 설명하기 위한 도면이다.4B shows that the space 420 in which the robot 100 travels has a complex polygonal structure, and the map data corresponding to the space 420 has a square structure and eight map data 26-29 corresponding to spaces of different sizes. etc.) is a diagram for explaining the driving of the robot 100 .
본 개시의 일 실시 예에 따른 로봇(100)은 최초의 위치The robot 100 according to an embodiment of the present disclosure is the initial position
여기서, 8개의 맵 데이터(26-29 등)는 서로 일부 공간이 오버랩되도록 분할된 공간에 대응되는 맵 데이터이며, 본 개시의 일 실시 예에 따른 로봇(100)은 최초의 위치(10)에 대응되는 맵 데이터(26)를 서버(200)로부터 다운로드하여 메모리(120)에 저장할 수 있다. Here, the eight map data (26-29, etc.) are map data corresponding to a space divided so that some spaces overlap each other, and the robot 100 according to an embodiment of the present disclosure corresponds to the initial position (10). The map data 26 used may be downloaded from the server 200 and stored in the memory 120 .
일 예에 따른 서버(200)는 서비스가 요구되는 최종 목적지(20)까지 로봇(100)의 주행 경로(32)를 식별하고, 식별된 경로 및 복수의 맵 데이터(26-29 등)에 대응되는 복수의 공간들이 오버랩되는 공간에 기초하여 복수의 타겟 위치(15-17)를 식별할 수 있다.The server 200 according to an example identifies the driving path 32 of the robot 100 to the final destination 20 for which the service is requested, and corresponds to the identified path and a plurality of map data (26-29, etc.) A plurality of target positions 15 - 17 may be identified based on the space in which the plurality of spaces overlap.
먼저, 서버(200)는 로봇(100)이 최초 위치(10)에 대응되는 제1 맵 데이터(26) 및 제1 맵 데이터(26)에 포함된 제1 타겟 위치(15)에 대한 정보를 로봇(100)으로 전송할 수 있다.First, the server 200 transmits information about the first map data 26 corresponding to the initial position 10 of the robot 100 and the first target position 15 included in the first map data 26 to the robot. (100) can be transmitted.
일 예에 따른 로봇(100)은 제1 맵 데이터(26) 및 제1 맵 데이터(26)에 포함된 제1 타겟 위치(15)에 대한 정보가 수신되면 제1 타겟 위치(15)로 주행할 수 있다. 이어서, 로봇(100)이 제1 타겟 위치(15)로부터 임계 거리 내에 도달한 것으로 식별되면 로봇(100)은 제1 타겟 위치(15)에 도달하였음을 나타내는 정보를 서버(200)로 전송함과 동시에 이후의 주행 경로가 포함된 제2 공간에 대응되는 제2 맵 데이터(27)를 요청할 수 있다.The robot 100 according to an example may drive to the first target location 15 when the first map data 26 and information on the first target location 15 included in the first map data 26 are received. can Then, when the robot 100 is identified as reaching within the threshold distance from the first target position 15, the robot 100 transmits information indicating that it has reached the first target position 15 to the server 200 and At the same time, the second map data 27 corresponding to the second space including the subsequent driving route may be requested.
이에 따라 서버(200)는 제2 맵 데이터(27) 및 제2 맵 데이터에 포함된 제2 타겟 위치(16)에 대한 정보를 로봇(100)으로 전송할 수 있다. 한편, 로봇(100)은 서버(200)로부터 제2 맵 데이터(27)가 수신되는 경우 메모리(120)에 저장된 제1 맵 데이터(26)를 삭제할 수 있다. 그 후 로봇(100)은 제2 맵 데이터(27)에 포함된 제1 타겟 위치(15) 및 제2 타겟 위치(16)에 대한 정보에 기초하여 제2 타겟 위치(16)까지 주행할 수 있다.Accordingly, the server 200 may transmit the second map data 27 and information on the second target location 16 included in the second map data to the robot 100 . Meanwhile, the robot 100 may delete the first map data 26 stored in the memory 120 when the second map data 27 is received from the server 200 . Thereafter, the robot 100 may travel to the second target location 16 based on the information on the first target location 15 and the second target location 16 included in the second map data 27 . .
마찬가지로, 로봇(100)은 제2 타겟 위치(16)에 근접한 경우 이후의 주행 경로를 포함하는 맵 데이터(28) 및 해당 맵 데이터(28)에 포함된 다음 타겟 위치(17)에 대한 정보를 서버(200)로부터 다운로드하고, 이에 기초하여 다음 타겟 위치(17)까지 주행할 수 있다. 이와 동일한 방식으로 로봇(100)은 최종 목적지(20)까지 주행할 수 있다.Similarly, when the robot 100 is close to the second target position 16, the map data 28 including the subsequent travel route and the information on the next target position 17 included in the map data 28 are sent to the server. It can download from 200 and drive to the next target location 17 based thereon. In the same manner, the robot 100 may travel to the final destination 20 .
도 5는 본 개시의 일 실시 예에 따른 로봇이 타겟 위치에 도달한 경우 주행에 필요한 맵 데이터를 다운로드하는 동작을 설명하기 위한 도면이다.5 is a diagram for explaining an operation of downloading map data required for driving when the robot reaches a target position according to an embodiment of the present disclosure.
본 개시의 일 실시 예에 따른 로봇(100)은 현재 로봇(100)의 위치를 포함하는 공간에 대응되는 맵 데이터(510)에 기초하여 맵 데이터(510)에 포함된 타겟 위치(501)까지 주행할 수 있다. The robot 100 according to an embodiment of the present disclosure travels to the target position 501 included in the map data 510 based on the map data 510 corresponding to the space including the current position of the robot 100 . can do.
여기서, 해당 타겟 위치(501)를 포함하는 공간에 대응되는 맵 데이터 중 로봇(100)이 장차 주행을 함에 있어 필요한 맵 데이터는 주행 경로 및 이후의 타겟 위치(502)에 대한 정보를 포함하는 공간에 대응되는 맵 데이터(520)일 수 있다.Here, among the map data corresponding to the space including the target location 501 , the map data necessary for the future driving of the robot 100 is in the space including the travel route and information on the target location 502 thereafter. It may be the corresponding map data 520 .
따라서 로봇(100)은 타겟 위치(501)에 대한 정보를 포함하는 복수의 맵 데이터(520, 530) 중에서 이후의 타겟 위치(502)에 대한 정보를 포함하는 맵 데이터(520)를 서버(200)로 요청할 수 있으며, 서버(200)는 로봇(100)의 요청에 대응되는 맵 데이터(520)를 로봇(100)으로 전송할 수 있다.Therefore, the robot 100 transmits the map data 520 including information about the target location 502 to the server 200 from among a plurality of map data 520 and 530 including information on the target location 501 . may be requested, and the server 200 may transmit the map data 520 corresponding to the request of the robot 100 to the robot 100 .
이에 따라, 로봇(100)은 타겟 위치에 도달한 경우 이후의 주행에 필요한 맵 데이터만을 서버(200)로부터 다운로드 받을 수 있으므로 메모리(120)에 저장되는 맵 데이터들의 용량을 최소화할 수 있다.Accordingly, when the robot 100 reaches the target location, only map data necessary for subsequent driving can be downloaded from the server 200 , so that the capacity of the map data stored in the memory 120 can be minimized.
도 6은 본 개시의 일 실시 예에 따른 로봇이 공간의 환경 정보에 기초하여 인공 지능 모델을 다운로드하는 동작을 설명하기 위한 도면이다.FIG. 6 is a diagram for explaining an operation in which a robot downloads an artificial intelligence model based on environmental information of a space according to an embodiment of the present disclosure.
도 6을 참조하면, 서버(200)는 복수의 인공 지능 모델(221, 222 등)를 메모리(220)에 저장할 수 있다. 도 6에서는 편의상 두 개의 인공 지능 모델(221, 222)이 서버(200)에 저장되어 있는 것으로 도시하였으나, 두 개의 모델(221, 222)이외에도 다양한 인공 지능 모델들이 서버(200)에 저장되어 있을 수 있다.Referring to FIG. 6 , the server 200 may store a plurality of artificial intelligence models 221 , 222 , etc. in the memory 220 . 6 shows that the two artificial intelligence models 221 and 222 are stored in the server 200 for convenience, but in addition to the two models 221 and 222, various artificial intelligence models may be stored in the server 200. have.
일 예에 따른 로봇(100)은 주행 과정에서 인공 지능 모델을 활용할 수 있다. 구체적으로 로봇(100)은 카메라(150)를 더 구비할 수 있으며, 카메라(150)를 통해 획득된 이미지를 인공 지능 모델에 입력하고, 인공 지능 모델의 출력에 기초하여 주행할 수 있다. The robot 100 according to an example may utilize an artificial intelligence model in a driving process. Specifically, the robot 100 may further include a camera 150 , input an image obtained through the camera 150 into the artificial intelligence model, and may travel based on the output of the artificial intelligence model.
로봇(100)은 효율적인 주행을 위해 서버(200)에 저장된 복수의 인공 지능 모델(221, 222 등) 중 로봇(100)이 주행하는 공간의 환경 정보에 기초하여 보다 정확한 출력을 제공할 수 있는 인공 지능 모델을 서버(200)로부터 다운로드 받을 수 있다.The robot 100 is an artificial intelligence that can provide a more accurate output based on the environmental information of the space in which the robot 100 travels among a plurality of artificial intelligence models (221, 222, etc.) stored in the server 200 for efficient driving. The intelligent model may be downloaded from the server 200 .
본 개시에 따른 인공 지능과 관련된 기능은 로봇(100)의 프로세서(140)와 메모리(120)를 통해 동작된다. 프로세서(140)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서(140)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서(140)는, 메모리(120)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서(140)가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서(140)는, 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. Functions related to artificial intelligence according to the present disclosure are operated through the processor 140 and the memory 120 of the robot 100 . The processor 140 may include one or a plurality of processors. In this case, one or more processors 140 may be general-purpose processors such as CPUs, APs, digital signal processors (DSPs), etc., graphics-only processors such as GPUs, VPUs (Vision Processing Units), or artificial intelligence-only processors such as NPUs. . One or a plurality of processors 140 control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 120 . Alternatively, when one or more processors 140 are AI-only processors, the AI-only processor 140 may be designed with a hardware structure specialized for processing a specific AI model.
기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.The predefined action rule or artificial intelligence model is characterized in that it is created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden. Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
인공 지능 모델은, 복수의 인공 지능 레이어들로 구성될 수 있다. 복수의 인공 지능 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 인공 지능 연산을 수행한다. 복수의 인공 지능 레이어들이 갖고 있는 복수의 가중치들은 인공 지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공 지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 인공 지능은 심층 인공 지능(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.The artificial intelligence model may be composed of a plurality of artificial intelligence layers. Each of the plurality of artificial intelligence layers has a plurality of weight values, and an artificial intelligence operation is performed through an operation between an operation result of a previous layer and the plurality of weights. The plurality of weights of the plurality of artificial intelligence layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized. Artificial intelligence may include Deep Neural Network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM). ), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), or deep Q-networks, etc., but is not limited to the above-described example.
일 예에 따르면, 로봇(100)은 타겟 위치(601)로부터 임계 거리 내에 도달한 것으로 식별되면 카메라(150)를 통해 획득한 이미지에 기초하여 타겟 위치(601) 및 장차 로봇(100)이 주행할 주행 경로를 포함하는 공간(620, 이하 장차 주행할 공간)의 환경 정보를 획득할 수 있다. 여기서, 환경 정보는 공간(620) 내에 분포하는 장애물(621, 622)에 관한 정보, 공간(620) 내의 유동 인구(623)에 관한 정보 또는 공간(620)의 조도 정보 중 적어도 하나를 포함할 수 있다.According to an example, when the robot 100 is identified as reaching within a threshold distance from the target position 601 , the target position 601 and the future robot 100 will travel based on the image acquired through the camera 150 . Environment information of a space 620 including a driving path (hereinafter, a space to be driven in the future) may be acquired. Here, the environment information may include at least one of information about the obstacles 621 and 622 distributed in the space 620 , information about the floating population 623 in the space 620 , or illuminance information of the space 620 . have.
이어서, 로봇(100)은 환경 정보에 기초하여 장차 주행할 공간(620)의 환경이 이전의 공간(610)의 환경과 임계 정도 이상 달라진 것으로 식별되면 획득된 환경 정보를 서버(200)로 전송할 수 있다.Subsequently, the robot 100 may transmit the obtained environment information to the server 200 when it is identified that the environment of the space 620 to be driven in the future is different from the environment of the previous space 610 by more than a threshold degree based on the environment information. have.
구체적으로, 장차 주행할 공간(620)은 이전의 공간(610)보다 조도가 낮은 공간일 수 있으며, 이전의 공간(610)에 비해 많은 장애물(621, 622) 및 유동 인구(623)를 포함하는 공간일 수 있다.Specifically, the space 620 to be driven in the future may be a space with lower illumination than the previous space 610 , and includes many obstacles 621 and 622 and a floating population 623 compared to the previous space 610 . It could be space.
서버(200)는 로봇(100)으로부터 수신된 환경 정보에 대응되는 인공지능 모델을 로봇(100)으로 전송할 수 있다. 일 예에 따르면, 장차 주행할 공간(620)의 환경 정보에 대응되는 인공 지능 모델은 저조도의 환경 하에서도 오브젝트를 정확하게 식별할 수 있는 인공 지능 모델(221)일 수 있다.The server 200 may transmit an artificial intelligence model corresponding to the environment information received from the robot 100 to the robot 100 . According to an example, the artificial intelligence model corresponding to the environment information of the space 620 to be driven in the future may be the artificial intelligence model 221 capable of accurately identifying an object even in a low-illumination environment.
일 예에 따른 로봇(100)은 서버(200)로부터 수신된 인공 지능 모델(221)을 메모리(120)에 저장하고, 이에 기초하여 주행함으로써 장차 주행할 공간(620)에서 효율적으로 주행할 수 있게 된다.The robot 100 according to an example stores the artificial intelligence model 221 received from the server 200 in the memory 120, and runs based on this, so that it can efficiently travel in the space 620 to be driven in the future. do.
도 6에서는 로봇(100)이 환경 정보를 획득하고, 서버(200)가 로봇(100)으로부터 수신된 환경 정보에 기초하여 인공 지능 모델을 전송하는 실시 예에 대해서 설명하였으나, 다른 예에 따르면 서버(200)가 장차 주행할 공간(620)의 맵 데이터 뿐만 아니라 공간(620)의 환경 정보에 대응되는 인공 지능 모델을 타겟 위치(601)에 접근하는 로봇(100)에게 동시에 전송할 수도 있다.In FIG. 6 , an embodiment in which the robot 100 acquires environment information and the server 200 transmits an artificial intelligence model based on the environment information received from the robot 100 has been described, but according to another example, the server ( In addition to the map data of the space 620 in which the 200 is to be driven in the future, an artificial intelligence model corresponding to the environment information of the space 620 may be simultaneously transmitted to the robot 100 approaching the target location 601 .
구체적으로, 다른 실시 예에 따른 서버(200)는 복수의 맵 데이터, 각 맵 데이터에 대응되는 복수의 환경 정보 및 그 환경 정보에 대응되는 복수의 인공 지능 모델을 저장할 수 있으며, 로봇(100)이 타겟 위치에 도달하였음을 나타내는 정보가 수신되면 로봇(100)이 장차 주행할 공간에 대응되는 맵 데이터와 그에 대응되는 인공 지능 모델을 함께 전송할 수도 있다.Specifically, the server 200 according to another embodiment may store a plurality of map data, a plurality of environment information corresponding to each map data, and a plurality of artificial intelligence models corresponding to the environment information, and the robot 100 may When information indicating that the target location has been reached is received, the robot 100 may transmit map data corresponding to a space to be driven in the future and an artificial intelligence model corresponding thereto.
도 7은 본 개시의 일 실시 예에 따른 로봇이 공간의 환경 정보에 기초하여 주행 상태를 변경하는 동작을 설명하기 위한 도면이다.7 is a view for explaining an operation of a robot changing a driving state based on environmental information of a space according to an embodiment of the present disclosure.
일 예에 따르면, 로봇(100)은 타겟 위치(701)로부터 임계 거리 내에 도달한 것으로 식별되면 카메라(150)를 통해 획득한 이미지에 기초하여 타겟 위치(701) 및 장차 주행할 공간(720)의 환경 정보를 획득할 수 있다. According to an example, when the robot 100 is identified as reaching within a threshold distance from the target position 701, the target position 701 and the space 720 to be driven in the future based on the image acquired through the camera 150 Environmental information can be obtained.
이어서, 로봇(100)은 환경 정보에 기초하여 장차 주행할 공간(720)의 환경이 이전의 공간(710)의 환경과 임계 정도 이상 달라진 것으로 식별되면 획득된 환경 정보에 기초하여 로봇(100)의 주행 상태를 변경할 수 있다.Then, the robot 100 determines that the environment of the space 720 to be driven in the future is different from the environment of the previous space 710 based on the environment information by more than a threshold degree, based on the obtained environment information. You can change driving conditions.
구체적으로, 장차 주행할 공간(720)은 이전의 공간(710)보다 조도가 낮은 공간일 수 있으며, 이전의 공간(710)에 비해 많은 장애물(721, 722) 및 유동 인구(723)를 포함하는 공간일 수 있다. 일 예에 따른 로봇(100)의 프로세서(140)는 장차 주행할 공간(720)에서 장애물(721, 722) 및 사람과 충돌하는 것을 방지하기 위해 로봇(100)의 속도를 감소시키도록 구동부(130)를 제어할 수 있다.Specifically, the space 720 to be driven in the future may be a space with lower illuminance than the previous space 710 , and includes many obstacles 721 and 722 and a floating population 723 compared to the previous space 710 . It could be space. The processor 140 of the robot 100 according to an example has the driving unit 130 to reduce the speed of the robot 100 in order to prevent collisions with obstacles 721 and 722 and people in the space 720 to be driven in the future. ) can be controlled.
도 7에서는 로봇(100)의 이동 속도를 감소시키는 동작만을 설명하였으나, 이 외에도 로봇(100)은 장차 주행할 공간(720)의 환경 정보에 기초하여 로봇(100)에 구비된 거리 센서의 센싱 주기 또는 카메라의 촬영 주기를 단축시키는 동작을 수행할 수도 있다.In FIG. 7 , only the operation of reducing the moving speed of the robot 100 has been described, but in addition to this, the robot 100 is a sensing period of the distance sensor provided in the robot 100 based on the environmental information of the space 720 to be driven in the future. Alternatively, an operation of shortening the photographing cycle of the camera may be performed.
도 8은 본 개시의 일 실시 예에 따른 로봇이 건물의 여러 층을 이동하면서 서비스를 제공하는 동작을 설명하기 위한 도면이다.8 is a view for explaining an operation of providing a service while moving a robot according to an embodiment of the present disclosure while moving on several floors of a building.
도 8을 참조하면, 1층(810)에 위치하는 로봇(100)은 서비스 제공을 위해 같은 건물의 5층(820)으로 주행할 수 있다. 일 예에 따른 서버(200)는 1층(810)을 제1 공간으로, 5층(820)을 제2 공간으로 식별하고, 1층(810)에서 5층(820)으로 이동하기 위한 엘리베이터(801) 및 층계(802)를 포함하는 일부 공간을 제1 공간과 제2 공간이 오버랩되는 공간으로 식별할 수 잇다.Referring to FIG. 8 , the robot 100 located on the first floor 810 may travel to the fifth floor 820 of the same building to provide services. The server 200 according to an example identifies the first floor 810 as the first space and the fifth floor 820 as the second space, and an elevator for moving from the first floor 810 to the fifth floor 820 ( 801) and a partial space including the stairs 802 may be identified as a space where the first space and the second space overlap.
이어서, 서버(200)는 1층(810)에 대응되는 맵 데이터 및 1층(810)에 위치한 엘리베이터(801)와 인접한 위치(811)에 대한 정보를 로봇(100)으로 전송할 수 있다. 일 예에 따른 로봇(100)은 수신된 1층(810)에 대응되는 맵 데이터에 기초하여 엘리베이터(801)와 인접한 위치(811)까지 주행할 수 있다.Subsequently, the server 200 may transmit the map data corresponding to the first floor 810 and information on the location 811 adjacent to the elevator 801 located on the first floor 810 to the robot 100 . The robot 100 according to an example may travel to a location 811 adjacent to the elevator 801 based on the received map data corresponding to the first floor 810 .
또한, 서버(200)는 로봇(100)이 1층(810)에 위치한 엘리베이터(801)와 인접한 위치(811)에 도달한 것으로 식별되면 로봇(100)이 장차 주행할 5층(820)에 대응되는 맵 데이터 및 5층(820)에 위치한 엘리베이터(801)와 인접한 위치(821)에 대한 정보를 로봇(100)으로 전송할 수 있다. 일 예에 따르면, 로봇(100)은 엘리베이터(801)가 이동하는 도중에 서버(200)로부터 맵 데이터를 다운로드 받을 수 있다.In addition, when the server 200 is identified that the robot 100 has reached the position 811 adjacent to the elevator 801 located on the first floor 810, the robot 100 corresponds to the fifth floor 820 to be driven in the future. It is possible to transmit the map data and information on the location 821 adjacent to the elevator 801 located on the fifth floor 820 to the robot 100 . According to an example, the robot 100 may download map data from the server 200 while the elevator 801 is moving.
이어서, 5층(820)에 도착한 로봇(100)은 5층(820)에 대응되는 맵 데이터에 기초하여 엘리베이터(801)와 인접한 위치(821)로 주행하고, 로봇(100)이 해당 위치(821)에 도달하는 경우 1층(810)에 대응되는 맵 데이터를 삭제한 후 목적지까지 주행할 수 있다.Subsequently, the robot 100 arriving at the fifth floor 820 travels to a position 821 adjacent to the elevator 801 based on the map data corresponding to the fifth floor 820 , and the robot 100 moves to the corresponding position 821 . ), the map data corresponding to the first floor 810 may be deleted and the vehicle may drive to the destination.
도 9는 본 개시의 일 실시 예에 따른 로봇이 로컬 맵 데이터 중 일부 맵 데이터를 다운로드하는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation in which a robot downloads some map data among local map data according to an embodiment of the present disclosure.
*일 예에 따르면, 맵 데이터에는 로봇(100)에 구비될 수 있는 복수의 센서의 측정에 관련된 데이터 및 공간(910)의 환경 정보와 관련된 데이터 등을 포함될 수 있으므로, 로봇(100)이 위치한 공간에 대응되는 맵 데이터(910)가 다른 공간에 대응되는 맵 데이터에 비해 데이터의 용량이 큰 경우가 있을 수 있다.* According to an example, since the map data may include data related to measurement of a plurality of sensors that may be provided in the robot 100 and data related to environment information of the space 910 , the space in which the robot 100 is located There may be a case in which the data capacity of the map data 910 corresponding to , is larger than that of map data corresponding to other spaces.
이러한 경우, 서버(200)는 로봇(100)의 현재 위치와 공간(910) 내의 타겟 위치 사이의 주행 경로에 기초하여 공간(910)의 일부 공간에 대응되는 일부 맵 데이터를 로봇(100)으로 전송할 수 있다. 구체적으로, 서버(200)는 타겟 위치(901)까지 이르는 로봇(100)의 주행 경로로부터 임계 거리 내의 공간(911)에 대응되는 맵 데이터를 로봇(100)으로 전송할 수 있다.In this case, the server 200 transmits some map data corresponding to the partial space of the space 910 to the robot 100 based on the travel path between the current position of the robot 100 and the target position in the space 910 . can Specifically, the server 200 may transmit map data corresponding to the space 911 within a threshold distance from the travel path of the robot 100 to the target location 901 to the robot 100 .
이에 따라, 로봇(100)과 서버(200)간의 통신으로 인해 발생하는 트래픽이 최소화되며, 로봇(100)의 메모리(120)의 저장용량이 부족한 문제도 방지할 수 있다.Accordingly, traffic generated due to communication between the robot 100 and the server 200 is minimized, and the problem of insufficient storage capacity of the memory 120 of the robot 100 can be prevented.
도 10은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.10 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
도 10에 따르면, 로봇(100)은 통신 인터페이스(110), 메모리(120), 구동부(130), 프로세서(140), 카메라(150), 거리 센서(160) 및 서비스 제공부(170)를 포함한다. 도 10에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.According to FIG. 10 , the robot 100 includes a communication interface 110 , a memory 120 , a driving unit 130 , a processor 140 , a camera 150 , a distance sensor 160 , and a service providing unit 170 . do. A detailed description of the configuration shown in FIG. 10 overlapping the configuration shown in FIG. 2 will be omitted.
카메라(150)는 카메라의 화각(Field of View; FoV) 내에 영역에 대한 촬영을 수행하여 영상을 획득할 수 있다. The camera 150 may acquire an image by capturing an area within a field of view (FoV) of the camera.
카메라(150)는 오브젝트에 의해 반사되어 수신되는 가시광 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다.The camera 150 may include a lens for focusing the visible light or other optical signal received by being reflected by the object to the image sensor, and an image sensor capable of detecting the visible light and other optical signals. Here, the image sensor may include a 2D pixel array divided into a plurality of pixels.
거리 센서(160)는 거리 정보를 획득할 수 있다. 구체적으로, 거리 센서(160)는 로봇(100)의 위치와 오브젝트의 위치 사이의 거리를 측정할 수 있다. 일 예에 따른 거리 센서(160)는 라이다(LIDAR, Light Detection And Ranging) 또는 TOF(Time of flight) 센서로 구현될 수 있다.The distance sensor 160 may obtain distance information. Specifically, the distance sensor 160 may measure a distance between the position of the robot 100 and the position of the object. The distance sensor 160 according to an example may be implemented as a LIDAR (Light Detection And Ranging) or a Time of Flight (TOF) sensor.
서비스 제공부(170)는 사용자의 명령을 수신하거나, 사용자 명령에 대응되는 서비스의 제공에 필요한 UI를 출력할 수 있는 구성이다. 구체적으로, 서비스 제공부(170)는 터치스크린을 포함하는 디스플레이, 스피커 또는 마이크 중 적어도 하나를 포함할 수 있다. 일 예에 따른 로봇(100)은 제공할 서비스의 종류 및 서비스의 제공 단계에 기초하여 서비스 제공부(170)를 통해 출력되는 UI를 변경할 수 있다.The service providing unit 170 is configured to receive a user's command or to output a UI necessary for providing a service corresponding to the user's command. Specifically, the service providing unit 170 may include at least one of a display including a touch screen, a speaker, and a microphone. The robot 100 according to an example may change the UI output through the service providing unit 170 based on the type of service to be provided and the step of providing the service.
도 11은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
*본 개시의 일 실시 예에 따른 로봇의 제어 방법은 서버로부터 로봇의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보가 수신되면 제1 타겟 위치로 주행하는 단계(S1110), 로봇이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 제1 타겟 위치에 도달하였음을 나타내는 정보를 서버로 전송하는 단계(S1120) 및 서버로부터 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면 제2 타겟 위치로 주행하는 단계(S1130)를 포함할 수 있다.* In the control method of the robot according to an embodiment of the present disclosure, when information on the first target position included in the first map data corresponding to the first space included in the driving space of the robot is received from the server, the first target position Step (S1110) of traveling to (S1110), when the robot is identified as reaching within a threshold distance from the first target location, transmitting information indicating that it has reached the first target location to the server (S1120) and the first target location from the server When the second map data corresponding to the included second space and information on the second target location included in the second map data are received, the method may include driving to the second target location ( S1130 ).
여기서, 제2 공간은 제1 공간과 일부 공간이 오버랩되며, 제2 맵 데이터는 제1 공간 중 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고, 제1 공간 중 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않을 수 있다.Here, the second space partially overlaps the first space, and the second map data includes map information for a partial space including the first target position in the first space, and the first target position in the first space Map information for some spaces that do not include may not be included.
또한, 서버로부터 제2 맵 데이터가 수신되는 경우 또는 로봇이 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 저장된 제1 맵 데이터를 삭제하는 단계를 더 포함할 수 있다.The method may further include deleting the stored first map data in at least one of a case in which the second map data is received from the server or a case in which the robot arrives at the second target position.
또한, 로봇이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 카메라를 통해 획득된 정보에 기초하여 제1 타겟 위치의 환경 정보를 획득하는 단계, 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면 제1 타겟 위치의 환경 정보를 서버로 전송하는 단계 및 서버로부터 제1 타겟 위치의 환경 정보에 대응되는 인공 지능 모델에 대한 정보를 수신하여 저장하는 단계를 더 포함할 수 있다.In addition, when it is identified that the robot has reached within a threshold distance from the first target position, obtaining environmental information of the first target position based on information obtained through the camera; When identified, the method may further include transmitting the environmental information of the first target location to the server, and receiving and storing information on the artificial intelligence model corresponding to the environmental information of the first target location from the server.
또한, 로봇이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 카메라를 통해 획득된 정보에 기초하여 제1 타겟 위치의 환경 정보를 획득하는 단계 및 획득된 환경 정보에 기초하여 로봇의 주행 상태를 변경하는 단계를 더 포함할 수 있다.In addition, when it is identified that the robot has reached within a threshold distance from the first target position, obtaining environmental information of the first target position based on information obtained through the camera and determining the driving state of the robot based on the obtained environment information It may further include the step of changing.
한편, 서버는 로봇이 제1 타겟 위치에 도달하였음을 나타내는 정보를 수신하고 제1 공간과 일부 공간이 오버랩되는 제3 공간에 대응되는 제3 타겟 위치에 대한 맵 정보를 포함하는 제3 맵 데이터 및 제2 맵 데이터 중 제1 타겟 위치 이후의 제2 타겟 위치에 대응되는 맵 정보를 포함하는 맵 데이터를 로봇으로 전송할 수 있다.On the other hand, the server receives information indicating that the robot has reached the first target position, and third map data including map information for the third target position corresponding to the third space overlapping the first space and a part of the space, and Map data including map information corresponding to the second target location after the first target location among the second map data may be transmitted to the robot.
또한, 서버는 로봇의 주행 경로를 식별하고, 로봇의 주행 경로에 기초하여 제1 공간 및 제2 공간이 오버랩되는 일부 공간에서 제1 타겟 위치를 식별할 수 있다.In addition, the server may identify the traveling path of the robot and identify the first target position in a partial space where the first space and the second space overlap based on the traveling path of the robot.
여기서, 서버는 로봇의 주행 공간이 복수의 Z축 공간을 포함하는 경우 복수의 Z축 공간 중 각각을 제1 공간 및 제2 공간으로 식별하고, 제1 공간에서 제2 공간으로 이동하기 위한 구조를 포함하는 일부 영역을 오버랩되는 영역으로 식별할 수 있다.Here, when the traveling space of the robot includes a plurality of Z-axis spaces, each of the plurality of Z-axis spaces is identified as a first space and a second space, and a structure for moving from the first space to the second space is provided. A partial region including the region may be identified as an overlapping region.
한편, 서버는 제1 맵 데이터의 크기가 임계 크기 이상인 경우 로봇의 현재 위치 및 제1 타겟 위치 간 주행 경로에 기초하여 제1 맵 데이터 중 주행 경로를 기준으로 식별된 일부 공간에 대응되는 일부 맵 데이터를 로봇으로 전송할 수 있다.On the other hand, when the size of the first map data is equal to or greater than the threshold size, based on the driving path between the current position of the robot and the first target position, the server provides some map data corresponding to some spaces identified based on the driving path among the first map data. can be transmitted to the robot.
도 12는 본 개시의 일 실시 예에 따른 로봇의 주행 방법을 구체적으로 설명하기 위한 흐름도이다.12 is a flowchart for specifically explaining a driving method of a robot according to an embodiment of the present disclosure.
본 개시의 일 실시 예에 따른 로봇의 주행 방법에 따르면, 로봇은 서버로부터 타겟 위치에 대한 정보 수신 후 현재 맵 데이터에 기초하여 주행을 개시할 수 있다(S1210).According to the driving method of the robot according to an embodiment of the present disclosure, the robot may start driving based on the current map data after receiving information on the target location from the server (S1210).
이어서, 로봇은 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면 다음 맵 데이터를 서버로부터 다운로드할 수 있다(S1220). 여기서, 다음 맵 데이터는 로봇이 장차 주행할 공간에 대응되는 맵 데이터일 수 있다.Subsequently, when the robot is identified as reaching within the threshold distance from the target location, the next map data may be downloaded from the server (S1220). Here, the next map data may be map data corresponding to a space in which the robot will drive in the future.
이어서, 로봇이 타겟 위치에 도달하면(S1230) 로봇은 도달한 타겟 위치가 최종 목적지인지 식별할 수 있다(S1240). 만일 현재 도달한 타겟 위치가 최종 목적지인 경우(S1240: Y) 로봇은 주행을 종료하고 사용자에게 서비스를 제공할 수 있다.Subsequently, when the robot reaches the target position (S1230), the robot may identify whether the reached target position is the final destination (S1240). If the currently reached target position is the final destination (S1240: Y), the robot may end driving and provide a service to the user.
반대로, 현재 도달한 타겟 위치가 최종 목적지가 아닌 경우(S1250: N) 로봇은 다운로드된 다음 맵 데이터에 기초하여 다음 타겟 위치로 주행할 수 있다(S1250). 로봇이 다음 타겟 위치로부터 임계 거리 내에 도달한 경우 로봇은 그 다음 맵 데이터를 다운로드할 수 있다.Conversely, if the currently reached target location is not the final destination (S1250: N), the robot may drive to the next target location based on the downloaded next map data (S1250). If the robot has reached within a threshold distance from the next target location, the robot can then download the map data.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다. Meanwhile, the above-described methods according to various embodiments of the present disclosure may be implemented in the form of an application that can be installed in an existing robot.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. In addition, the above-described methods according to various embodiments of the present disclosure may be implemented only by software upgrade or hardware upgrade for an existing robot.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.In addition, various embodiments of the present disclosure described above may be performed through an embedded server provided in the robot or at least one external server.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(140) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by the processor 140 itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and is commonly used in the technical field pertaining to the present disclosure without departing from the gist of the present disclosure as claimed in the claims. Various modifications may be made by those having the knowledge of
Claims (15)
- 로봇에 있어서,In the robot,통신 인터페이스;communication interface;주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터가 저장된 메모리;a memory in which first map data corresponding to a first space included in the driving space is stored;구동부; 및drive unit; and상기 통신 인터페이스를 통해 서버로부터 상기 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보가 수신되면, 상기 제1 타겟 위치로 주행하도록 상기 구동부를 제어하고,When information on the first target location included in the first map data is received from the server through the communication interface, the driving unit is controlled to drive to the first target location,상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 제1 타겟 위치에 도달하였음을 나타내는 정보를 상기 서버로 전송하고,When it is identified that the robot has reached within a threshold distance from the first target location, information indicating that the first target location has been reached is transmitted to the server,상기 서버로부터 상기 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 상기 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면, 상기 제2 타겟 위치로 주행하도록 상기 구동부를 제어하는 프로세서;를 포함하는, 로봇.When second map data corresponding to the second space including the first target location and information on the second target location included in the second map data are received from the server, the vehicle drives to the second target location. A processor that controls the driving unit; including, a robot.
- 제1항에 있어서,According to claim 1,상기 제2 공간은, 상기 제1 공간과 일부 공간이 오버랩되며,The second space, the first space and a partial space overlap,상기 제2 맵 데이터는,The second map data is상기 제1 공간 중 상기 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고,and map information for a partial space including the first target location among the first space,상기 제1 공간 중 상기 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않는, 로봇.The robot, which does not include map information for a part of the first space that does not include the first target location.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 서버로부터 상기 제2 맵 데이터가 수신되는 경우 또는 상기 로봇이 상기 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 상기 메모리에 저장된 상기 제1 맵 데이터를 삭제하는, 로봇.To delete the first map data stored in the memory in at least one of when the second map data is received from the server or when the robot reaches the second target position.
- 제1항에 있어서,According to claim 1,카메라;를 더 포함하며,It further includes a camera;상기 프로세서는,The processor is상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하고,When it is identified that the robot has reached within a threshold distance from the first target location, obtaining environmental information of the first target location based on the information obtained through the camera,상기 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면, 상기 제1 타겟 위치의 환경 정보를 상기 서버로 전송하고,When it is identified that the driving environment is changed based on the obtained environment information, the environment information of the first target location is transmitted to the server,상기 서버로부터 상기 제1 타겟 위치의 환경 정보에 대응되는 인공 지능 모델에 대한 정보를 수신하여 상기 메모리에 저장하는, 로봇.Receives information on the artificial intelligence model corresponding to the environment information of the first target location from the server and stores the information in the memory.
- 제1항에 있어서,According to claim 1,카메라;를 더 포함하며,It further includes a camera;상기 프로세서는,The processor is상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하고,When it is identified that the robot has reached within a threshold distance from the first target location, obtaining environmental information of the first target location based on the information obtained through the camera,상기 획득된 환경 정보에 기초하여 상기 로봇의 주행 상태를 변경하도록 상기 구동부를 제어하는, 로봇.A robot that controls the driving unit to change the driving state of the robot based on the obtained environment information.
- 서버에 있어서,in the server,통신 인터페이스;communication interface;로봇의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터 및 상기 제1 공간과 일부 공간이 오버랩되는 제2 공간에 대응되는 제2 맵 데이터가 저장된 메모리; 및a memory in which first map data corresponding to a first space included in the traveling space of the robot and second map data corresponding to a second space overlapping the first space and a part of the space are stored; and상기 통신 인터페이스를 통해 상기 제1 맵 데이터 및 상기 제1 맵 데이터 상의 제1 타겟 위치에 대한 정보를 상기 로봇으로 전송하고,Transmitting the first map data and information on the first target location on the first map data to the robot through the communication interface,상기 로봇으로부터 상기 로봇이 상기 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면, 상기 통신 인터페이스를 통해 상기 제2 맵 데이터를 상기 로봇으로 전송하는 프로세서;를 포함하며,a processor for transmitting the second map data to the robot through the communication interface when information indicating that the robot has reached the first target position is received from the robot;상기 제2 맵 데이터는, 상기 제1 타겟 위치에 대한 맵 정보를 포함하는, 서버.The second map data, the server including map information for the first target location.
- 제6항에 있어서,7. The method of claim 6,상기 메모리는, 상기 제1 공간과 일부 공간이 오버랩되는 제3 공간에 대응되는 제3 맵 데이터를 더 저장하며,The memory further stores third map data corresponding to a third space in which the first space and a partial space overlap,상기 프로세서는,The processor is상기 로봇이 상기 제1 타겟 위치에 도달하였음을 나타내는 정보가 수신되면, 상기 제2 맵 데이터 및 상기 제3 맵 데이터 중 상기 제1 타겟 위치 이후의 제2 타겟 위치에 대응되는 맵 정보를 포함하는 맵 데이터를 상기 로봇으로 전송하도록 상기 통신 인터페이스를 제어하는, 서버.When information indicating that the robot has reached the first target location is received, a map including map information corresponding to a second target location after the first target location among the second map data and the third map data A server controlling the communication interface to transmit data to the robot.
- 제6항에 있어서,7. The method of claim 6,상기 프로세서는,The processor is상기 로봇의 주행 경로가 식별되면, 상기 로봇의 주행 경로에 기초하여 상기 제1 공간 및 상기 제2 공간이 오버랩되는 일부 공간에서 상기 제1 타겟 위치를 식별하는, 서버.When the traveling path of the robot is identified, the server identifies the first target position in a partial space where the first space and the second space overlap based on the traveling path of the robot.
- 제6항에 있어서,7. The method of claim 6,상기 프로세서는,The processor is상기 로봇의 주행 공간이 복수의 Z축 공간을 포함하는 경우, 상기 복수의 Z축 공간 중 각각을 상기 제1 공간 및 상기 제2 공간으로 식별하고, 상기 제1 공간에서 상기 제2 공간으로 이동하기 위한 구조를 포함하는 일부 공간을 오버랩되는 공간으로 식별하는, 서버.When the traveling space of the robot includes a plurality of Z-axis spaces, each of the plurality of Z-axis spaces is identified as the first space and the second space, and moving from the first space to the second space A server that identifies some spaces containing structures for the overlapping spaces.
- 제9항에 있어서,10. The method of claim 9,상기 제1 공간에서 상기 제2 공간으로 이동하기 위한 구조는,The structure for moving from the first space to the second space is엘리베이터, 에스컬레이터 또는 층계 중 적어도 하나를 포함하는, 서버.A server comprising at least one of an elevator, an escalator or a stair.
- 제6항에 있어서,7. The method of claim 6,상기 프로세서는,The processor is상기 제1 맵 데이터의 크기가 임계 크기 이상인 경우, 상기 로봇의 현재 위치 및 상기 제1 타겟 위치 간 주행 경로에 기초하여 상기 제1 맵 데이터 중 상기 주행 경로를 기준으로 식별된 일부 공간에 대응되는 일부 맵 데이터를 상기 로봇으로 전송하도록 상기 통신 인터페이스를 제어하는, 서버.When the size of the first map data is equal to or greater than a threshold size, a portion corresponding to a partial space identified based on the driving path among the first map data based on a driving path between the current position of the robot and the first target position A server that controls the communication interface to transmit map data to the robot.
- 로봇의 제어 방법에 있어서,A method for controlling a robot, comprising:서버로부터 상기 로봇의 주행 공간에 포함된 제1 공간에 대응되는 제1 맵 데이터에 포함된 제1 타겟 위치에 대한 정보가 수신되면, 상기 제1 타겟 위치로 주행하는 단계;when information on a first target location included in first map data corresponding to a first space included in the traveling space of the robot is received from the server, driving to the first target location;상기 로봇이 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 상기 제1 타겟 위치에 도달하였음을 나타내는 정보를 상기 서버로 전송하는 단계; 및transmitting information indicating that the robot has reached the first target position to the server when it is identified that the robot has reached the first target position within a threshold distance; and상기 서버로부터 상기 제1 타겟 위치를 포함하는 제2 공간에 대응되는 제2 맵 데이터 및 상기 제2 맵 데이터에 포함된 제2 타겟 위치에 대한 정보가 수신되면, 상기 제2 타겟 위치로 주행하는 단계;를 포함하는 제어 방법.Driving to the second target location when second map data corresponding to the second space including the first target location and information on the second target location included in the second map data are received from the server Control method including ;.
- 제12항에 있어서,13. The method of claim 12,상기 제2 공간은, 상기 제1 공간과 일부 공간이 오버랩되며,The second space, the first space and a partial space overlap,상기 제2 맵 데이터는,The second map data is상기 제1 공간 중 상기 제1 타겟 위치를 포함하는 일부 공간에 대한 맵 정보를 포함하고,and map information for a partial space including the first target location among the first space,상기 제1 공간 중 제1 타겟 위치를 포함하지 않는 일부 공간에 대한 맵 정보는 포함하지 않는, 제어 방법.The control method of claim 1 , which does not include map information for some spaces that do not include the first target location among the first spaces.
- 제12항에 있어서,13. The method of claim 12,상기 서버로부터 상기 제2 맵 데이터가 수신되는 경우 또는 상기 로봇이 상기 제2 타겟 위치에 도달하는 경우 중 적어도 하나의 경우에 저장된 상기 제1 맵 데이터를 삭제하는 단계;를 더 포함하는 제어 방법. Deleting the stored first map data in at least one of when the second map data is received from the server or when the robot arrives at the second target location.
- 제12항에 있어서,13. The method of claim 12,상기 로봇이 상기 제1 타겟 위치로부터 임계 거리 내에 도달한 것으로 식별되면, 카메라를 통해 획득된 정보에 기초하여 상기 제1 타겟 위치의 환경 정보를 획득하는 단계; if the robot is identified as reaching within a threshold distance from the first target location, obtaining environmental information of the first target location based on information obtained through a camera;상기 획득된 환경 정보에 기초하여 주행 환경이 변경된 것으로 식별되면, 상기 제1 타겟 위치의 환경 정보를 상기 서버로 전송하는 단계; 및 transmitting the environment information of the first target location to the server when it is identified that the driving environment is changed based on the obtained environment information; and상기 서버로부터 상기 제1 타겟 위치의 환경 정보에 대응되는 인공 지능 모델에 대한 정보를 수신하여 저장하는 단계;를 더 포함하는 제어 방법.and receiving and storing information on an artificial intelligence model corresponding to the environment information of the first target location from the server.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210004590A KR20220102343A (en) | 2021-01-13 | 2021-01-13 | Robot and controlling method thereof |
KR10-2021-0004590 | 2021-01-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022154153A1 true WO2022154153A1 (en) | 2022-07-21 |
Family
ID=82447412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/001045 WO2022154153A1 (en) | 2021-01-13 | 2021-01-27 | Robot and control method therefor |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220102343A (en) |
WO (1) | WO2022154153A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240029454A (en) * | 2022-08-26 | 2024-03-05 | 삼성전자주식회사 | Robot and controlling method of robot |
KR102569251B1 (en) | 2022-12-29 | 2023-08-24 | 주식회사 클로봇 | Mobile robot device for moving to destination and operation method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280251A (en) * | 2006-04-11 | 2007-10-25 | Yaskawa Electric Corp | Mobile robot |
KR20090044118A (en) * | 2007-10-31 | 2009-05-07 | 삼성전자주식회사 | Method and system for creating robot map |
KR20100094213A (en) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Apparatus and method for generating route using grid map |
JP2017021570A (en) * | 2015-07-10 | 2017-01-26 | 日本精工株式会社 | Mobile robot |
KR20190003125A (en) * | 2017-06-30 | 2019-01-09 | 엘지전자 주식회사 | Method for operating moving robot |
-
2021
- 2021-01-13 KR KR1020210004590A patent/KR20220102343A/en active Search and Examination
- 2021-01-27 WO PCT/KR2021/001045 patent/WO2022154153A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280251A (en) * | 2006-04-11 | 2007-10-25 | Yaskawa Electric Corp | Mobile robot |
KR20090044118A (en) * | 2007-10-31 | 2009-05-07 | 삼성전자주식회사 | Method and system for creating robot map |
KR20100094213A (en) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Apparatus and method for generating route using grid map |
JP2017021570A (en) * | 2015-07-10 | 2017-01-26 | 日本精工株式会社 | Mobile robot |
KR20190003125A (en) * | 2017-06-30 | 2019-01-09 | 엘지전자 주식회사 | Method for operating moving robot |
Also Published As
Publication number | Publication date |
---|---|
KR20220102343A (en) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022154153A1 (en) | Robot and control method therefor | |
EP3695281A1 (en) | Autonomous driving apparatus and method thereof | |
WO2020130679A1 (en) | Vehicle driving control apparatus and calibration method performed by the vehicle driving control apparatus | |
WO2019027141A1 (en) | Electronic device and method of controlling operation of vehicle | |
WO2019139310A1 (en) | Autonomous driving apparatus and method for autonomous driving of a vehicle | |
WO2020180084A1 (en) | Method for completing coloring of target image, and device and computer program therefor | |
WO2019208950A1 (en) | Mobile robot device and method for providing service to user | |
WO2019172645A1 (en) | Electronic device and method for vehicle driving assistance | |
WO2020138760A1 (en) | Electronic device and control method thereof | |
WO2020138950A1 (en) | Electronic device and control method therefor | |
WO2020027515A1 (en) | Mobile robot for configuring attribute block | |
WO2020184755A1 (en) | Vehicle control device and vehicle comprising same | |
WO2020262721A1 (en) | Control system for controlling plurality of robots by using artificial intelligence | |
WO2020241923A1 (en) | Artificial intelligence device for predicting performance of speech recognition model in user environment, and method therefor | |
WO2021002493A1 (en) | Intelligent gateway device, and control system comprising same | |
WO2020013651A1 (en) | Electronic device and method for transmitting content of electronic device | |
WO2022035054A1 (en) | Robot and method for controlling same | |
WO2021006363A1 (en) | Robot for providing information service by using artificial intelligence, and operating method therefor | |
WO2021040105A1 (en) | Artificial intelligence device generating named entity table and method for same | |
WO2020204500A1 (en) | Electronic apparatus and method for assisting with driving of vehicle | |
WO2023096151A1 (en) | Robot and controlling method thereof | |
WO2020071853A1 (en) | Driving assistance apparatus and image processing method | |
WO2015178555A1 (en) | Route guidance service providing system and method, device therefor, and recording medium with computer program recorded thereon | |
WO2018105965A1 (en) | Vehicle operating method and vehicle operating apparatus | |
WO2021141228A1 (en) | Multi-modal input-based service provision device and service provision method |
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: 21919783 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: 21919783 Country of ref document: EP Kind code of ref document: A1 |