WO2023043092A1 - Computing device for estimating global position by using external positioning device, and method therefor - Google Patents

Computing device for estimating global position by using external positioning device, and method therefor Download PDF

Info

Publication number
WO2023043092A1
WO2023043092A1 PCT/KR2022/012968 KR2022012968W WO2023043092A1 WO 2023043092 A1 WO2023043092 A1 WO 2023043092A1 KR 2022012968 W KR2022012968 W KR 2022012968W WO 2023043092 A1 WO2023043092 A1 WO 2023043092A1
Authority
WO
WIPO (PCT)
Prior art keywords
global
computing device
information
positioning device
location information
Prior art date
Application number
PCT/KR2022/012968
Other languages
French (fr)
Korean (ko)
Inventor
연수용
유수현
원지혜
이동환
Original Assignee
네이버랩스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버랩스 주식회사 filed Critical 네이버랩스 주식회사
Publication of WO2023043092A1 publication Critical patent/WO2023043092A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • G01C15/02Means for marking measuring points
    • G01C15/06Surveyors' staffs; Movable markers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • G01S17/875Combinations of systems using electromagnetic waves other than radio waves for determining attitude
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • Various embodiments relate to a computing device and method for estimating a global position using an external positioning device.
  • the present invention is based on the research results of the ICT Convergence Industry Innovation Technology Development Project supported by the Institute of Information and Communication Planning and Evaluation (IITP) with financial resources from the government (Ministry of Science and ICT) in 2021 (Task ID: 1711125948 / Task No. 2019- 0-01309-003).
  • a computing device such as a mobile robot or an autonomous vehicle moves around an unknown environment and creates a map of the environment using only a sensor attached to the computing device.
  • a computing device creates a map only in a local coordinate system based on its own location, not in a global coordinate system.
  • an expensive positioning module such as a global navigation satellite system (GNSS) module must be mounted on the computing device.
  • GNSS global navigation satellite system
  • Various embodiments provide a computing device and method for estimating a global position using an external positioning device.
  • Various embodiments provide a computing device and method capable of generating a map in a global coordinate system without including an expensive positioning module such as a GNSS module.
  • a method of a computing device includes detecting global time information and global location information, and identifying an artificial landmark while driving adjacent to a positioning device including an artificial landmark representing the global position information; determining the global location information and the global time information of the positioning device based on the artificial landmark; determining relative location information between the positioning device and the computing device based on the artificial landmark; The method may include determining global location information and global time information of the computing device based on the relative location information and the global location information.
  • a computing device includes a memory and a processor connected to the memory and configured to execute at least one instruction stored in the memory, wherein the processor detects global time information and global location information; , driving adjacent to a positioning device including an artificial landmark representing the global location information, identifying the artificial landmark, and checking the global location information and global time information of the positioning device based on the artificial landmark; , determine relative location information of the positioning device and the computing device based on the artificial landmark, and determine global location information and global time information of the computing device based on the relative location information and the global location information. can be configured.
  • a computing device may estimate its global location using an external location device. Through this, the computing device may generate a map in the global coordinate system based on its global location. That is, the computing device can create a map in the global coordinate system without including an expensive positioning module such as a GNSS module. In this case, if the computing device is implemented to generate a map in the local coordinate system, the computing device may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. Accordingly, the cost required to manufacture the computing device can be reduced, and furthermore, the cost required to implement a computer system for generating a map in the global coordinate system can be reduced.
  • FIG. 1 is a diagram illustrating a configuration of a computing system according to various embodiments.
  • FIG. 2 is a diagram illustrating signal flow in a computing system according to various embodiments.
  • 3 and 4 are diagrams for describing operational characteristics of a computing device according to various embodiments.
  • FIG. 5 is a diagram illustrating an internal configuration of a positioning device according to various embodiments.
  • FIG. 6 is a diagram illustrating an operation procedure of a positioning device according to an embodiment.
  • FIG. 7 is a diagram illustrating an operation procedure of a positioning device according to another embodiment.
  • FIG. 8 is a diagram illustrating an internal configuration of a computing device according to various embodiments.
  • FIG. 9 is a diagram showing a detailed configuration of the processor of FIG. 8 .
  • FIG. 10 is a diagram illustrating an operating procedure of a computing device according to an exemplary embodiment.
  • FIG. 11 is a diagram illustrating an operating procedure of a computing device according to another embodiment.
  • 'module' or 'unit' used in the present disclosure mean a software or hardware component, and the 'module' or 'unit' performs certain roles.
  • 'module' or 'unit' is not meant to be limited to software or hardware.
  • a 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors.
  • a 'module' or 'unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, and attributes. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables.
  • a 'module' or 'unit' may be implemented with a processor and a memory.
  • 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like.
  • 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like.
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information.
  • 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like.
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile random access memory
  • PROM programmable read-only memory
  • EPROM erasable-programmable read-only memory
  • a memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory.
  • Memory integrated with the processor is in electronic communication with the processor.
  • a position or posture may be expressed in a maximum of 6 degrees of freedom, or may be expressed in some of the 6 degrees of freedom.
  • FIG. 1 is a diagram illustrating a configuration of a computing system 100 according to various embodiments.
  • the computer system 100 includes a positioning device 110 and a computing device 120, and the computing device 120 determines the global location of the computing device 120 using the positioning device 110. It can be configured to estimate.
  • the positioning device 110 may have a function of detecting its global location information and global time information.
  • the positioning device 110 may receive GNS information from a satellite and detect global location information and global time information from the GNS information.
  • the positioning device 110 may be fixedly installed at a predetermined location or movably implemented.
  • the positioning device 110 may include an artificial mark (eg, the artificial mark 310 of FIG. 3 ).
  • the artificial indicia may represent global location information of the location device 110 .
  • the artificial marker may include a specific pattern for expressing identification information about the positioning device 110 .
  • the artificial marker may include, for example, at least one of a fiducial marker, a visual marker, or a signage.
  • the computing device 120 may have a function of determining its own global location information and global time information using the positioning device 110 . Specifically, the computing device 120 may identify an artificial landmark of the positioning device 110 while driving in an outdoor environment or an indoor environment. Also, the computing device 120 may check global position information of the positioning device 110 and determine relative position information with the positioning device 110 based on the artificial mark. Through this, the computing device 120 may determine its own global location information based on the global location information of the positioning device 110 and relative location information with the positioning device 110 . Also, the computing device 120 may determine its own global time information corresponding to the global time information of the positioning device 110 through temporal pairing with the positioning device 110 .
  • the computing device 120 may generate a map in a global coordinate system (which may also be referred to as a world coordinate system) using its global location information and global time information.
  • the computing device 120 may be an object that is a target of a specific function or action in a 3D space, such as augmented reality (AR), robotics, or autonomous driving, but is not limited thereto.
  • the computing device 120 may include, for example, at least one of a mobile robot or vehicle capable of autonomous driving, or a portable computer or a wearable computer providing augmented reality.
  • FIG. 2 is a diagram illustrating signal flow in a computing system 100 according to various embodiments.
  • 3 and 4 are diagrams for describing operational characteristics of the computing device 120 according to various embodiments.
  • the positioning device 110 may include an artificial mark 310 in step 210 .
  • the artificial marker 310 may include a specific pattern for expressing identification information about the positioning device 110 .
  • a pattern may be defined by the shape, size, and arrangement of at least one figure.
  • the pattern may be defined as text consisting of at least one character.
  • the positioning device 110 may detect its own global time information and global location information in step 220 .
  • the positioning device 110 may receive GNS information from a satellite and detect global location information and global time information from the GNS information.
  • the positioning device 110 may periodically receive GNS information, thereby periodically detecting global location information and global time information.
  • the computing device 120 may identify the artificial mark 310 of the positioning device 110 while driving in step 230 . Specifically, the computing device 120 may photograph the artificial landmark 310 , obtain an image having the artificial landmark 310 , analyze the image, and extract identification information about the positioning device 110 . At this time, the computing device 120 may perform temporal pairing with the positioning device 110 . According to an embodiment, the computing device 120 may receive global time information of the positioning device 110 from the positioning device 110 in step 240 . According to another embodiment, the computing device 120 may check the time at which the image was obtained based on a predetermined global standard time corresponding to the global time information of the positioning device 110 . According to another embodiment, the computing device 120 may acquire an image in a stationary state exceeding a predetermined time interval and check the time at which the image was acquired.
  • the computing device 120 may extract identification information from the image of the artificial landmark 310 in a manner as shown in FIG. 3 .
  • the computing device 120 may extract feature points of the artificial landmark 310 using a predetermined algorithm.
  • the computing device 120 may map the image of the artificial landmark 310 to the virtual plane 320 and then extract feature points of the artificial landmark 310 .
  • the virtual plane 320 is defined for the computing device 120 and may represent a rectangular plane determined by a predetermined format/standard for the artificial landmark 310 .
  • the feature points may include corner points, and the corner points may represent vertices of a figure included in a pattern of the artificial landmark 310 on the virtual plane 320 .
  • the computing device 120 may extract coordinates of feature points on the virtual plane 320 . Through this, the computing device 120 may recognize a pattern from feature points of the artificial landmark 310 and may extract identification information corresponding to the pattern.
  • the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 310 in step 250 .
  • the computing device 120 uses the identification information of the positioning device 110 to obtain global location information of the positioning device 110 from a database previously stored therein or a database stored in an external server (not shown). can be checked.
  • the computing device 120 may check global time information of the positioning device 110 in correspondence with the global location information of the positioning device 110 .
  • the computing device 120 may check global time information received in step 240 as global time information of the positioning device 110 .
  • the computing device 120 may check global time information of the positioning device 110 from a time when an image is obtained based on a predetermined global standard time.
  • the computing device 120 may determine relative position information with the positioning device 110 in step 260 .
  • the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 .
  • the computing device 120 may determine relative position information using at least one of a camera module and a LiDAR sensor.
  • the computing device 120 may determine relative position information using the camera module 810 .
  • the computing device 120 may determine the relative location information using the camera module 810 and the LIDAR sensor.
  • computing device 120 may determine the relative pose of artificial landmark 310 to computing device 120 in a manner as shown in FIG. 4 .
  • the computing device 120 as shown in (a) of FIG. 4, the artificial landmark 310 for the virtual plane 320 before the image of the artificial landmark 310 is mapped to the virtual plane 320.
  • the computing device 120 can extract the posture of the image.
  • the computing device 120 may extract the orientation of each of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 with respect to the virtual plane 320 .
  • the computing device 120 may determine a posture change of the image of the artificial landmark 310 for mapping the image of the artificial landmark 310 to the virtual plane 320, as shown in (b) of FIG.
  • the computing device 120 may determine the respective movement distances, angles, and the like of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 . Through this, the computing device 120 may determine the relative posture of the artificial landmark 310 from the change in posture of the image of the artificial landmark 310 for mapping the image of the artificial landmark 310 to the virtual plane 320 .
  • the computing device 120 may determine its own global time information and global location information based on the global time information, global location information, and relative location information of the positioning device 110 in step 270 .
  • the computing device 120 may determine its own global location information by combining global location information and relative location information of the positioning device 110 .
  • the computing device 120 may determine its own global time information using the global time information of the positioning device 110 .
  • the computing device 120 may determine its own global time information to match the global time information of the positioning device 110 .
  • the computing device 120 may determine its own global time information by applying interpolation to the global time information of the positioning device 110 .
  • FIG. 5 is a diagram illustrating an internal configuration of a positioning device 110 according to various embodiments.
  • the positioning device 110 may include at least one of a positioning module 510, an artificial landmark 520, a communication module 530, a memory 540, and a processor 550.
  • at least one of the components of the positioning device 110 eg, the communication module 530
  • at least one other component may be added.
  • at least any two of the components of the positioning device 110 eg, the positioning module 510 and the communication module 530
  • the positioning module 510 may receive positioning information from an external device in the positioning device 110 .
  • the external device may include a satellite, and positioning information may include GPS information. That is, the positioning module 510 may receive GNS information from GSS satellites. Here, the positioning module 510 may periodically receive GNS information.
  • the artificial landmark (eg, the artificial landmark 310 of FIGS. 3 and 4 ) 520 may represent global location information of the positioning device 110 .
  • the artificial landmark 520 may include a specific pattern for expressing identification information about the positioning device 110 .
  • a pattern may be defined by the shape, size, arrangement, etc. of at least one figure.
  • the pattern may be defined as text consisting of at least one character.
  • the artificial marker 520 may include, for example, at least one of a fiducial marker, a visual marker, and signage.
  • the communication module 530 may perform communication with an external device in the positioning device 110 .
  • the external device may include at least one of the computing device 120 or a server (not shown).
  • the communication module 530 may include at least one of a wired communication module and a wireless communication module.
  • the wired communication module may be connected to an external device through a wired connection terminal (not shown) and communicate with the external device through a wired connection.
  • the wireless communication module may include at least one of a short-distance communication module and a long-distance communication module.
  • the short-distance communication module may communicate with an external device in a short-range communication method.
  • the short-range communication method may include at least one of Bluetooth, WiFi direct, and infrared data association (IrDA).
  • the remote communication module may communicate with an external device through a remote communication method.
  • the remote communication module may communicate with an external device through a network.
  • the network may include at least one of a cellular network, the Internet, or a computer network such as a local area network (LAN) or a wide area network (WAN).
  • LAN local area network
  • WAN wide area network
  • the memory 540 may store various data used by at least one component of the positioning device 110 .
  • the memory 540 may include at least one of volatile memory and non-volatile memory.
  • the data may include at least one program and related input data or output data.
  • the program may be stored as software including at least one instruction in the memory 540 .
  • the processor 550 may execute a program of the memory 540 to control at least one element of the positioning device 110 . Through this, the processor 550 may perform data processing or calculation. At this time, the processor 550 may execute instructions stored in the memory 540 .
  • the processor 550 may detect global time information and global location information of the positioning device 110 .
  • the processor 550 may detect global location information and global time information from GNS information.
  • GNS information is periodically received, the processor 550 may periodically detect global location information and global time information.
  • FIG. 6 is a diagram illustrating an operation procedure of the positioning device 110 according to an embodiment.
  • the positioning device 110 may include an artificial mark 520 in step 610 .
  • Artificial landmark 520 may represent global location information of location device 110 .
  • the artificial landmark 520 may include a specific pattern for expressing identification information about the positioning device 110 .
  • a pattern may be defined by the shape, size, arrangement, etc. of at least one figure.
  • the pattern may be defined as text consisting of at least one character.
  • the artificial marker 520 may include, for example, at least one of a fiducial marker, a visual marker, and signage.
  • the positioning device 110 may detect its own global time information and global location information in step 620 .
  • the processor 550 may detect global time information and global location information of the positioning device 110 .
  • the processor 550 may detect global location information and global time information from GNS information.
  • GNS information is periodically received, the processor 550 may periodically detect global location information and global time information.
  • the measurement device 110 when the measurement device 110 is fixedly installed in a predetermined location, global location information corresponding to the predetermined location will be detected.
  • global location information of a predetermined place when the measuring device 110 is installed, global location information of a predetermined place may be pre-registered in an external server. At this time, corresponding to the identification information of the measurement device 110, global location information of a predetermined place may be registered.
  • the measurement device 110 if the measurement device 110 is implemented to be movable, global location information of the current location of the measurement device 110 will be detected.
  • the processor 550 may register global location information in the current location to an external server whenever the location is changed.
  • the global location of the measurement device 110 may be updated in response to the identification information of the measurement device 110 .
  • FIG. 7 is a diagram illustrating an operation procedure of the positioning device 110 according to another embodiment.
  • the positioning device 110 may transmit global time information in step 740 .
  • the positioning device 110 may periodically emit global time information at the current location according to a short-range communication method.
  • the processor 550 may emit global time information through the communication module 530 .
  • the positioning device 110 may receive a time synchronization request from the computing device 120 in step 730 and transmit global time information in step 740 in response thereto.
  • the processor 550 may receive a time synchronization request and emit global time information according to a short-range communication method.
  • the processor 550 may receive a time synchronization request from the computing device 120 through the communication module 530 and emit global time information at the current location.
  • FIG. 8 is a diagram illustrating an internal configuration of a computing device 120 according to various embodiments.
  • FIG. 9 is a diagram showing a detailed configuration of the processor 870 of FIG. 8 .
  • the computing device 120 includes a camera module 810, a sensor module 820, a communication module 830, an input module 840, an output module 850, a memory 860, or a processor ( 870) may include at least one. In some embodiments, at least one of the components of the computing device 120 may be omitted, and at least one other component may be added. In some embodiments, at least any two of the components of computing device 120 may be implemented as a single integrated circuit.
  • the camera module 810 may capture an image of the surrounding environment of the computing device 120 .
  • images may include moving images and still images.
  • the camera module 810 may include at least one of at least one lens, at least one image sensor, an image signal processor, or a flash.
  • the sensor module 820 may sense the state of the environment surrounding the computing device 120 and generate an electrical signal or data value corresponding thereto.
  • the sensor module 820 may include, for example, at least one of a lidar sensor, a radar sensor, an infrared (IR) sensor, or a distance sensor. Additionally, the sensor module 820 may detect an operating state of the computing device 120 and generate an electrical signal or data value therefor.
  • the sensor module 820 may include at least one of a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor. may contain one more.
  • the communication module 830 may perform communication with an external device in the computing device 120 .
  • the external device may include at least one of a server (not shown) and the positioning device 110 .
  • the communication module 830 may include at least one of a wired communication module and a wireless communication module.
  • the wired communication module may be connected to an external device through a wired connection terminal (not shown) and communicate with the external device through a wired connection.
  • the wireless communication module may include at least one of a short-distance communication module and a long-distance communication module.
  • the short-distance communication module may communicate with an external device in a short-range communication method.
  • the short-distance communication method may include at least one of Bluetooth, Wi-Fi Direct, and infrared communication.
  • the remote communication module may communicate with an external device through a remote communication method.
  • the remote communication module may communicate with an external device through a network.
  • the network may include at least one of a cellular network, the Internet, or a computer network such as a LAN or WAN.
  • the input module 840 may input a signal to be used in at least one component of the computing device 120 .
  • the input module 840 may include at least one of a microphone, a mouse, and a keyboard.
  • the input module 840 may include at least one of a touch circuitry set to sense a touch or a sensor circuit set to measure the strength of a force generated by a touch.
  • the output module 850 may output information from the computing device 120 .
  • the output module 850 may include at least one of a display module for visually displaying information and an audio module for aurally reproducing information.
  • the display module may include at least one of a display, a hologram device, and a projector.
  • the display module may be implemented as a touch screen by being assembled with at least one of a touch circuit and a sensor circuit of the input module 840 .
  • the audio module may include at least one of a speaker, receiver, earphone, or headphone.
  • the memory 860 may store various data used by at least one component of the computing device 120 .
  • the memory 860 may include at least one of volatile memory and non-volatile memory.
  • the data may include at least one program and related input data or output data.
  • the program may be stored as software including at least one instruction in memory 860 .
  • the processor 870 may execute a program of the memory 860 to control at least one component of the computing device 120 . Through this, the processor 870 may perform data processing or calculation. At this time, the processor 870 may execute instructions stored in the memory 860.
  • the processor 870 may have a function of determining its own global location information and global time information using the positioning device 110 .
  • processor 870 may include artificial landmark identification 971 , relative position determination 973 , absolute position determination 975 , and position optimization 977 as shown in FIG. 9 . can include This is only for explaining the functions of the processor 870 by dividing them, and does not mean that the processors 870 are necessarily physically separated. In other words, at least any two of the components of the processor 870 may be implemented as a single integrated circuit.
  • the artificial landmark identification unit 971 may identify the artificial landmark 520 of the positioning device 110 while the computing device 120 is traveling in an outdoor environment or an indoor environment. Specifically, the artificial landmark identification unit 971 photographs the artificial landmark 520 through the camera module 810, obtains an image having the artificial landmark 520, analyzes the image, and locates the positioning device 110. Identification information about can be extracted. At this time, the computing device 120 may perform temporal pairing with the positioning device 110 .
  • the artificial landmark identification unit 971 may check global time information and global location information of the positioning device 110 based on the artificial landmark 520 .
  • the computing device 120 may check global location information of the positioning device 110 from a database previously stored therein or a database stored in an external server by using the identification information of the positioning device 110 .
  • the computing device 120 may check global time information of the positioning device 110 in correspondence with global location information of the positioning device 110 .
  • the relative position determiner 973 may determine relative position information with the positioning device 110 based on the artificial mark 520 .
  • the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 .
  • the relative position determiner 973 may determine the relative position information using at least one of the lidar sensor of the camera module 810 or the sensor module 820 .
  • the relative position determiner 973 may determine relative position information using the camera module 810 .
  • the relative position determiner 973 may determine relative position information using the camera module 810 and the LIDAR sensor.
  • the absolute location determining unit 975 may determine global location information of the computing device 120 based on global location information of the positioning device 110 and relative location information with the positioning device 110 . At this time, the absolute location determination unit 975 may determine its own global location information by combining global location information and relative location information of the positioning device 110 . Also, the absolute position determiner 975 may determine global time information of the computing device 120 in response to the global time information of the positioning device 110 through temporal pairing with the positioning device 110 .
  • the location optimizer 977 may optimize the global location of the computing device 120 in the global coordinate system.
  • the location optimizer 977 may generate a map in the global coordinate system using global location information and global time information of the computing device 120 .
  • the location optimizer 977 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization.
  • the position optimization unit 977 may generate an optimized map after performing an initialization step of matching the local coordinate system and the global coordinate system.
  • the location optimizer 977 may generate a map using a simultaneous localization and mapping (SLAM) algorithm.
  • SLAM simultaneous localization and mapping
  • FIG. 10 is a diagram illustrating an operating procedure of the computing device 120 according to an exemplary embodiment.
  • the computing device 120 may identify the artificial mark 310 of the positioning device 110 while driving in step 1010 .
  • the processor 870 captures the artificial landmark 520 through the camera module 810 to create an image having the artificial landmark 520. Acquiring and analyzing the image, identification information about the positioning device 110 may be extracted.
  • the computing device 120 may perform temporal pairing with the positioning device 110 .
  • the processor 870 may determine the time at which the image was obtained based on a predetermined global standard time that corresponds to the global time information of the positioning device 110 .
  • the global standard time may be coordinated universal time (UTC).
  • UTC coordinated universal time
  • the processor 870 may acquire an image and check the time at which the image was obtained.
  • the processor 870 may extract identification information from images of the artificial landmarks 310 and 520 as described above with reference to FIG. 3 .
  • the processor 870 may extract feature points of the artificial landmarks 310 and 520 using a predetermined algorithm.
  • the processor 870 may map images of the artificial landmarks 310 and 520 onto the virtual plane 320 and then extract feature points of the artificial landmarks 310 .
  • the virtual plane 320 is defined for the computing device 120 and may represent a rectangular plane determined by a predetermined format/standard for the artificial landmarks 310 and 520 .
  • the feature points may include corner points, and the corner points may represent vertices of figures included in patterns of the artificial markers 310 and 520 on the virtual plane 320 .
  • the processor 870 may extract coordinates of feature points on the virtual plane 320 . Through this, the processor 870 may recognize a pattern from feature points of the artificial landmark 310 and may extract identification information corresponding to the pattern.
  • the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 520 in step 1020 .
  • the processor 870 may check global location information of the positioning device 110 from a database previously stored inside or a database stored in an external server by using the identification information of the positioning device 110 .
  • the processor 870 may search a pre-stored database and check global location information of the positioning device 110 stored in correspondence with the identification information on the positioning device 110 .
  • the processor 870 transmits identification information on the positioning device 110 to an external server through the communication module 830 and, in response, receives global location information of the positioning device 110 from the server.
  • the processor 870 may check global time information of the positioning device 110 in response to global location information of the positioning device 110 .
  • the processor 870 may check global time information of the positioning device 110 from a time when an image is obtained based on a predetermined global standard time.
  • the global standard time may be Coordinated Universal Time (UTC).
  • the computing device 120 may determine relative position information with the positioning device 110 in step 1030 .
  • the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 .
  • the processor 870 may determine the relative location information through at least one of the camera module 810 and the sensor module 820 .
  • the processor 870 may determine relative location information using the camera module 810 .
  • the processor 870 may determine the relative location information using the camera module 810 and the LIDAR sensor. In this case, the processor 870 may additionally use intensity information detected using the LIDAR sensor while determining the relative position information using the camera module 810 .
  • processor 870 may determine a relative pose of artificial landmarks 310 and 520 to computing device 120 as described above with reference to FIG. 4 .
  • the processor 870 as shown in (a) of FIG. 4 , before the images of the artificial landmarks 310 and 520 are mapped to the virtual plane 320, the artificial landmark for the virtual plane 320 ( 310 and 520) can extract the posture of the image.
  • the processor 870 may extract the X-axis, Y-axis, and Z-axis orientations of the images of the artificial landmarks 310 and 520 with respect to the virtual plane 320 .
  • the processor 870 changes the posture of the images of the artificial landmarks 310 and 520 so that the images of the artificial landmarks 310 and 520 are mapped to the virtual plane 320. can decide At this time, the processor 870 may determine the respective movement distances, angles, and the like of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 . Through this, the processor 870 determines the relative posture of the artificial landmark 310 or 520 from the change in posture of the image of the artificial landmark 310 or 520 for mapping the image of the artificial landmark 310 or 520 to the virtual plane 320. can decide
  • the computing device 120 may determine its own global time information and global location information based on the global time information, global location information, and relative location information of the positioning device 110 in step 1040 .
  • the processor 870 may determine global location information of the computing device 120 by combining global location information and relative location information of the positioning device 110 .
  • the processor 870 may determine global time information of the computing device 120 as global time information of the positioning device 110 .
  • the processor 870 may determine global time information of the computing device 120 to match global time information of the positioning device 110 .
  • the processor 870 may determine the global time information of the computing device 120 by applying interpolation to the global time information of the positioning device 110 .
  • the processor 870 may determine global location information from global time information of the computing device 120 based on an error model (err GPS ) defined as in Equation 1 below. .
  • represents global temporal information of the computing device 120
  • T is represented by a 4 ⁇ 4 transformation matrix
  • t represents the relative position information of the positioning device 110, that is, the artificial landmark 520, with respect to the computing device 120
  • t is expressed as a 3 ⁇ 1 translation vector
  • represents the distance between the artificial marker 520 and the positioning module 510 in the positioning device 110 may indicate global location information of the positioning device 110.
  • the computing device 120 may optimize the global position of the computing device 120 in the global coordinate system.
  • the processor 870 may generate a map in the global coordinate system using global location information and global time information of the computing device 120 .
  • the processor 870 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. For example, the processor 870 adds a cost function based on an error model (err GPS ) as shown in [Equation 1] to a cost function for generating a map in the local coordinate system, and obtains the following [Equation 2] The same optimized cost function ( ), and based on this, an optimized map can be created.
  • an error model err GPS
  • the processor 870 may generate an optimized map after performing an initialization step of matching the local coordinate system and the global coordinate system. For example, the processor 870 may perform the initialization step by using a closed-form solution.
  • the first term and the second term are cost functions for generating a map in the local coordinate system.
  • the third term may represent a cost function based on an error model (err GPS ) as in [Equation 1] above.
  • represents the global location information of the computing device 120 Represents a measurement value from a lidar sensor or distance sensor, or a camera module 810, etc. Represents a relative posture between the reference position of the camera module 810 and the computing device 120 in the computing device 120, represents the covariance, may represent a projection model for the image.
  • the A cost function by another sensor may be added to [Equation 2].
  • 11 is a diagram illustrating an operating procedure of a computing device 120 according to another embodiment.
  • step 1110 of this embodiment is similar to step 1010 of the above-described embodiment, so detailed description thereof is omitted.
  • the computing device 120 may receive the global time information of the positioning device 110 in step 1117 after identifying the artificial mark 520 of the positioning device 110 in step 1110 .
  • the processor 870 may receive global time information of the positioning device 110 from the positioning device 110 so that the computing device 120 can perform temporal pairing with the positioning device 110 .
  • the positioning device 110 periodically emits global time information at the current location according to a short-distance communication method
  • the processor 870 transmits the global time information of the positioning device 110 through the communication module 830. information can be received.
  • the processor 870 may transmit a time synchronization request in step 1113 .
  • the processor 870 may emit a time synchronization request through the communication module 830 according to a short-range communication method.
  • the processor 870 may receive global time information of the positioning device 110 in response to the time synchronization request in step 1117 .
  • the processor 870 may receive global time information of the positioning device 110 through the communication module 830 according to a short-range communication method.
  • the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 520 in step 1120 .
  • the processor 870 may check global location information of the positioning device 110 from a database previously stored inside or a database stored in an external server by using the identification information of the positioning device 110 .
  • the processor 870 may search a pre-stored database and check global location information of the positioning device 110 stored in correspondence with the identification information on the positioning device 110 .
  • the processor 870 transmits identification information on the positioning device 110 to an external server through the communication module 830 and, in response, receives global location information of the positioning device 110 from the server.
  • the processor 870 may check global time information of the positioning device 110 in response to global location information of the positioning device 110 .
  • the processor 870 may check global time information received in step 1117 as global time information of the positioning device 110 .
  • the computing device 120 proceeds to step 1130, and steps 1130 and 1140 of this embodiment are similar to steps 1030 and 1040 of the above-described embodiment, so detailed descriptions thereof are omitted.
  • the computing device 120 may estimate its own global location using the external positioning device 110 . Through this, the computing device 120 may generate a map in the global coordinate system based on its global location. That is, the computing device 120 may generate a map in the global coordinate system without including an expensive positioning module such as a GNSS module. In this case, if the computing device 120 is implemented to generate a map in the local coordinate system, the computing device 120 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. The computing device 120 does not include an expensive positioning module such as a GNSS module, but devices including an inexpensive GPS receiver may correspond to the computing device 120 .
  • an expensive positioning module such as a GNSS module
  • a method of computing device 120 detects global time information and global location information, and proximate location device 110 including artificial indicia 310, 520 representing global location information. While driving, identifying the artificial landmarks 310 and 520 (steps 230, 1010 and 1110), based on the artificial landmarks 310 and 520, global location information and global time information of the positioning device 110 Determining relative position information of the positioning device 110 and the computing device 120 based on the artificial landmarks 310 and 520 (steps 250, 1020 and 1120) (steps 260 and 1030) , 1130 ), and determining global location information and global time information of the computing device 120 based on the relative location information and the global location information (operations 270 , 1040 , and 1140 ).
  • the positioning device 110 may be configured to detect global time information and global location information based on GPS information received from GPS satellites.
  • the step of identifying the artificial landmarks 310 and 520 is to take a picture of the artificial landmarks 310 and 520 to have the artificial landmarks 310 and 520. It may include obtaining an image and extracting identification information about the positioning device 110 by analyzing the image.
  • the steps 250, 1020, and 1120 of checking the global location information and global time information of the positioning device 110 include the global location of the positioning device 110 using the identification information. It may include checking information, and checking global time information of the positioning device 110 corresponding to the global location information of the positioning device 110 .
  • the checking of the global time information of the positioning device 110 may include checking the global time information received from the positioning device 110 (steps 240 and 1117) or a predetermined global standard time. Based on , checking global time information from a time when an image is acquired may be included.
  • the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120.
  • the steps of determining the relative location information include determining the relative location information using at least one of the camera module 810 or a lidar sensor.
  • the steps 270, 1040, and 1140 of determining global location information and global time information of the computing device 120 may include relative location information and global location information of the positioning device 110. In combination, determining the global location information of the computing device 120, and, in relation to the global location information of the computing device 120, the global time information of the computing device 120 as the global time information of the location device 110. It may include the step of determining.
  • global location information and global time information of the computing device 120 may be used to generate map data in a global coordinate system.
  • the computing device 120 includes a memory 860 and a processor 870 coupled to the memory 860 and configured to execute at least one instruction stored in the memory 860,
  • the processor 870 detects the global time information and the global location information, and the artificial landmarks 310 and 520 while driving adjacent to the positioning device 110 including the artificial landmarks 310 and 520 representing the global position information. and, based on the artificial landmarks 310 and 520, determine global location information and global time information of the positioning device 110, and based on the artificial landmarks 310 and 520, the positioning device 110 and computing Determine relative location information of device 120 and, based on the relative location information and global location information, determine global location information and global time information of computing device 120 .
  • the positioning device 110 includes a positioning module 510 configured to receive GPS information from a satellite, and a processor 550 configured to detect global time information and global location information from the GPS information. ) may further include.
  • the computing device 120 further includes a camera module 810 connected to the processor 870, and the processor 870, via the camera module 810, the artificial landmark 310, 520), obtain images with artificial landmarks 310 and 520, analyze the images, and extract identification information about the positioning device 110.
  • a camera module 810 connected to the processor 870, and the processor 870, via the camera module 810, the artificial landmark 310, 520), obtain images with artificial landmarks 310 and 520, analyze the images, and extract identification information about the positioning device 110.
  • the processor 870 checks global location information of the positioning device 110 using the identification information, and in response to the global location information of the positioning device 110, the positioning device 110 It can be configured to check the global time information of.
  • the computing device 120 further includes a communication module 830 connected to the processor 870, and the processor 870, via the communication module 830, the positioning device 110
  • Global time information may be received from, or based on a predetermined global standard time, global time information may be checked from a time when an image is acquired.
  • the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120.
  • the computing device 120 further includes at least one of a camera module 810 and a lidar sensor connected to the processor 870, and the processor 870 includes the camera module 810 or It may be configured to determine relative location information based on point cloud data detected using at least one of the LIDAR sensors.
  • the processor 870 determines the global location information of the computing device 120 by combining the relative location information and the global location information of the positioning device 110, and determines the global location information of the computing device 120.
  • the global time information of the positioning device 110 may be configured to determine global time information of the computing device 120 .
  • global location information and global time information of the computing device 120 may be used to generate map data in a global coordinate system.
  • the above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer.
  • the medium may continuously store a computer-executable program or temporarily store it for execution or download.
  • the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions.
  • examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
  • the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
  • the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM (on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.

Abstract

Various embodiments may provide a computing device for estimating a global position by using an external positioning device, and a method therefor. The computing device according to various embodiments can detect global time information and global position information, identify an artificial marker that indicates the global position information, while traveling adjacently to a positioning device including the artificial marker, confirm global position information and global time information about the positioning device on the basis of the artificial marker, determine relative position information between the positioning device and the computing device on the basis of the artificial marker, and determine global position information and global time information about the computing device on the basis of the relative position information and the global position information.

Description

외부의 측위 장치를 이용하여 전역 위치를 추정하기 위한 컴퓨팅 장치 및 그의 방법Computing device and method for estimating global position using an external positioning device
다양한 실시예들은 외부의 측위 장치를 이용하여 전역 위치를 추정하기 위한 컴퓨팅 장치 및 그의 방법에 관한 것이다. Various embodiments relate to a computing device and method for estimating a global position using an external positioning device.
본 발명은 2021년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원(IITP)의 지원을 받은 ICT융합산업혁신기술개발사업의 연구 성과물에 기반한다(과제고유번호: 1711125948 / 과제번호 2019-0-01309-003).The present invention is based on the research results of the ICT Convergence Industry Innovation Technology Development Project supported by the Institute of Information and Communication Planning and Evaluation (IITP) with financial resources from the government (Ministry of Science and ICT) in 2021 (Task ID: 1711125948 / Task No. 2019- 0-01309-003).
일반적으로, 이동 로봇이나 자율 주행 차량과 같은 컴퓨팅 장치가 미지의 환경을 돌아다니면서 컴퓨팅 장치에 부착되어 있는 센서만으로 환경에 대한 지도를 작성하는 기술이 있다. 컴퓨팅 장치는 자신의 위치를 기반으로 하는 로컬 좌표계에서의 지도를 작성할 뿐이며, 전역 좌표계에서의 지도를 작성하지 않는다. 이러한 컴퓨팅 장치를 활용하여 전역 좌표계에서의 지도를 작성하기 위해서는, 컴퓨팅 장치에 지엔에스에스(GNSS; global navigation satellite system) 모듈과 같은 고가의 측위 모듈이 장착되어야 한다. 그러나, 큰 부피, 무거운 무게, 복잡한 구조, 높은 가격 등으로 인해, 컴퓨팅 장치에 GNSS 모듈과 같은 고가의 측위 모듈을 장착하는 데 제약이 있다.In general, there is a technology in which a computing device such as a mobile robot or an autonomous vehicle moves around an unknown environment and creates a map of the environment using only a sensor attached to the computing device. A computing device creates a map only in a local coordinate system based on its own location, not in a global coordinate system. In order to create a map in the global coordinate system using such a computing device, an expensive positioning module such as a global navigation satellite system (GNSS) module must be mounted on the computing device. However, due to large volume, heavy weight, complex structure, high price, etc., there are limitations in mounting an expensive positioning module such as a GNSS module in a computing device.
다양한 실시예들은, 외부의 측위 장치를 이용하여 전역 위치를 추정하기 위한 컴퓨팅 장치 및 그의 방법을 제공한다. Various embodiments provide a computing device and method for estimating a global position using an external positioning device.
다양한 실시예들은, GNSS 모듈과 같은 고가의 측위 모듈을 포함하지 않고도, 전역 좌표계에서의 지도를 생성할 수 있는 컴퓨팅 장치 및 그의 방법을 제공한다. Various embodiments provide a computing device and method capable of generating a map in a global coordinate system without including an expensive positioning module such as a GNSS module.
다양한 실시예들에 따른 컴퓨팅 장치의 방법은, 전역 시간 정보 및 전역 위치 정보를 검출하고, 상기 전역 위치 정보를 나타내는 인공 표식을 포함하는 측위 장치에 인접하여 주행하면서, 상기 인공 표식을 식별하는 단계, 상기 인공 표식을 기반으로, 상기 측위 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 확인하는 단계, 상기 인공 표식을 기반으로, 상기 측위 장치와 상기 컴퓨팅 장치의 상대 위치 정보를 결정하는 단계, 및 상기 상대 위치 정보 및 상기 전역 위치 정보를 기반으로, 상기 컴퓨팅 장치의 전역 위치 정보 및 전역 시간 정보를 결정하는 단계를 포함할 수 있다. A method of a computing device according to various embodiments includes detecting global time information and global location information, and identifying an artificial landmark while driving adjacent to a positioning device including an artificial landmark representing the global position information; determining the global location information and the global time information of the positioning device based on the artificial landmark; determining relative location information between the positioning device and the computing device based on the artificial landmark; The method may include determining global location information and global time information of the computing device based on the relative location information and the global location information.
다양한 실시예들에 따른 컴퓨팅 장치는, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 전역 시간 정보 및 전역 위치 정보를 검출하고, 상기 전역 위치 정보를 나타내는 인공 표식을 포함하는 측위 장치에 인접하여 주행하면서, 상기 인공 표식을 식별하고, 상기 인공 표식을 기반으로, 상기 측위 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 확인하고, 상기 인공 표식을 기반으로, 상기 측위 장치와 상기 컴퓨팅 장치의 상대 위치 정보를 결정하고, 상기 상대 위치 정보 및 상기 전역 위치 정보를 기반으로, 상기 컴퓨팅 장치의 전역 위치 정보 및 전역 시간 정보를 결정하도록 구성될 수 있다. A computing device according to various embodiments includes a memory and a processor connected to the memory and configured to execute at least one instruction stored in the memory, wherein the processor detects global time information and global location information; , driving adjacent to a positioning device including an artificial landmark representing the global location information, identifying the artificial landmark, and checking the global location information and global time information of the positioning device based on the artificial landmark; , determine relative location information of the positioning device and the computing device based on the artificial landmark, and determine global location information and global time information of the computing device based on the relative location information and the global location information. can be configured.
다양한 실시예들에 따르면, 컴퓨팅 장치는 외부의 측위 장치를 이용하여 자신의 전역 위치를 추정할 수 있다. 이를 통해, 컴퓨팅 장치는 자신의 전역 위치를 기반으로, 전역 좌표계에서의 지도를 생성할 수 있다. 즉, 컴퓨팅 장치는 GNSS 모듈과 같은 고가의 측위 모듈을 포함하지 않고도, 전역 좌표계에서의 지도를 생성할 수 있다. 이 때, 컴퓨팅 장치가 로컬 좌표계에서의 지도를 생성 가능하게 구현된 경우, 컴퓨팅 장치는 최적화를 통해 로컬 좌표계와 전역 좌표계를 조합하여, 최적화된 지도를 생성할 수 있다. 따라서, 컴퓨팅 장치를 제조하는 데 소요되는 비용이 절감되며, 나아가, 전역 좌표계에서의 지도를 생성하기 위한 컴퓨터 시스템을 구현하는 데 소요되는 비용이 절감될 수 있다. According to various embodiments, a computing device may estimate its global location using an external location device. Through this, the computing device may generate a map in the global coordinate system based on its global location. That is, the computing device can create a map in the global coordinate system without including an expensive positioning module such as a GNSS module. In this case, if the computing device is implemented to generate a map in the local coordinate system, the computing device may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. Accordingly, the cost required to manufacture the computing device can be reduced, and furthermore, the cost required to implement a computer system for generating a map in the global coordinate system can be reduced.
도 1은 다양한 실시예들에 따른 컴퓨팅 시스템의 구성을 도시하는 도면이다.1 is a diagram illustrating a configuration of a computing system according to various embodiments.
도 2는 다양한 실시예들에 따른 컴퓨팅 시스템에서의 신호 흐름을 도시하는 도면이다. 2 is a diagram illustrating signal flow in a computing system according to various embodiments.
도 3 및 도 4는 다양한 실시예들에 따른 컴퓨팅 장치의 동작 특징을 설명하기 위한 도면들이다. 3 and 4 are diagrams for describing operational characteristics of a computing device according to various embodiments.
도 5는 다양한 실시예들에 따른 측위 장치의 내부 구성을 도시하는 도면이다. 5 is a diagram illustrating an internal configuration of a positioning device according to various embodiments.
도 6은 일 실시예에 따른 측위 장치의 동작 절차를 도시하는 도면이다. 6 is a diagram illustrating an operation procedure of a positioning device according to an embodiment.
도 7은 다른 실시예에 따른 측위 장치의 동작 절차를 도시하는 도면이다. 7 is a diagram illustrating an operation procedure of a positioning device according to another embodiment.
도 8은 다양한 실시예들에 따른 컴퓨팅 장치의 내부 구성을 도시하는 도면이다. 8 is a diagram illustrating an internal configuration of a computing device according to various embodiments.
도 9는 도 8의 프로세서의 상세 구성을 도시하는 도면이다. FIG. 9 is a diagram showing a detailed configuration of the processor of FIG. 8 .
도 10은 일 실시예에 따른 컴퓨팅 장치의 동작 절차를 도시하는 도면이다. 10 is a diagram illustrating an operating procedure of a computing device according to an exemplary embodiment.
도 11은 다른 실시예에 따른 컴퓨팅 장치의 동작 절차를 도시하는 도면이다. 11 is a diagram illustrating an operating procedure of a computing device according to another embodiment.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다. Hereinafter, specific details for the implementation of the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다. In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.
개시된 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다. Advantages and features of the disclosed embodiments, and methods of achieving them, will become clear with reference to the following embodiments in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, but only the present embodiments make the present disclosure complete, and the present disclosure does not extend the scope of the invention to those skilled in the art. It is provided only for complete information.
본 개시에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예들에 대해 구체적으로 설명하기로 한다. 본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. Terms used in this disclosure will be briefly described, and the disclosed embodiments will be described in detail. The terminology used in the present disclosure has been selected from general terms that are currently widely used as much as possible while considering functions in the present disclosure, but they may vary depending on the intention or precedent of a person skilled in the related field, the emergence of new technologies, and the like. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the general content of the present disclosure, not simply the names of the terms.
본 개시에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. Expressions in the singular number in this disclosure include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.
또한, 본 개시에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한 다. 그렇지만, '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다. Also, the terms 'module' or 'unit' used in the present disclosure mean a software or hardware component, and the 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not meant to be limited to software or hardware. A 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a 'module' or 'unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, and attributes. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. Functions provided within components and 'modules' or 'units' may be combined into a smaller number of components and 'modules' or 'units', or further components and 'modules' or 'units'. can be further separated.
본 개시에 따르면, '모듈' 또는 '부'는 프로세서 및 메 모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도 체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to the present disclosure, a 'module' or 'unit' may be implemented with a processor and a memory. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like. In some circumstances, 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like. 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like. A memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory. Memory integrated with the processor is in electronic communication with the processor.
이하에서, '위치(position)'라는 용어는 '자세(pose)'라는 용어로도 지칭될 수 있으며, 3차원 공간 상의 좌표, 또는 배향(orientation)을 나타내는 회전(yaw) 및 기울기(pitch, roll) 중 적어도 하나를 포함할 수 있다. 예를 들어, 위치 또는 자세는 최대 6 자유도(degrees of freedom)로 표현되거나, 6 자유도 중 일부로 표현될 수 있다. Hereinafter, the term 'position' may also be referred to as the term 'pose', and rotation (yaw) and tilt (pitch, roll) representing coordinates or orientation in a 3D space ) may include at least one of For example, a position or posture may be expressed in a maximum of 6 degrees of freedom, or may be expressed in some of the 6 degrees of freedom.
도 1은 다양한 실시예들에 따른 컴퓨팅 시스템(100)의 구성을 도시하는 도면이다.1 is a diagram illustrating a configuration of a computing system 100 according to various embodiments.
도 1을 참조하면, 컴퓨터 시스템(100)은 측위 장치(110) 및 컴퓨팅 장치(120)를 포함하며, 컴퓨팅 장치(120)가 측위 장치(110)를 이용하여 컴퓨팅 장치(120)의 전역 위치를 추정하도록 구성될 수 있다. Referring to FIG. 1 , the computer system 100 includes a positioning device 110 and a computing device 120, and the computing device 120 determines the global location of the computing device 120 using the positioning device 110. It can be configured to estimate.
측위 장치(110)는 자신의 전역 위치 정보 및 전역 시간 정보를 검출하는 기능을 가질 수 있다. 예를 들면, 측위 장치(110)는 위성으로부터 지엔에스에스 정보를 수신하고, 지엔에스에스 정보로부터 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. 측위 장치(110)는 미리 정해진 장소에 고정되게 설치되거나, 이동 가능하게 구현될 수 있다. 그리고, 측위 장치(110)는 인공 표식(예: 도 3의 인공 표식(310))을 포함할 수 있다. 인공 표식은 측위 장치(110)의 전역 위치 정보를 나타낼 수 있다. 예를 들면, 인공 표식은 측위 장치(110)에 대한 식별 정보를 표현하기 위한 특정 패턴을 포함할 수 있다. 인공 표식은, 예컨대 기준 마커(fiducial marker), 비주얼 마커(visual marker), 또는 사이니지(signage) 중 적어도 하나를 포함할 수 있다. The positioning device 110 may have a function of detecting its global location information and global time information. For example, the positioning device 110 may receive GNS information from a satellite and detect global location information and global time information from the GNS information. The positioning device 110 may be fixedly installed at a predetermined location or movably implemented. Also, the positioning device 110 may include an artificial mark (eg, the artificial mark 310 of FIG. 3 ). The artificial indicia may represent global location information of the location device 110 . For example, the artificial marker may include a specific pattern for expressing identification information about the positioning device 110 . The artificial marker may include, for example, at least one of a fiducial marker, a visual marker, or a signage.
컴퓨팅 장치(120)는 측위 장치(110)를 이용하여, 자신의 전역 위치 정보 및 전역 시간 정보를 결정하는 기능을 가질 수 있다. 구체적으로, 컴퓨팅 장치(120)는 실외 환경 또는 실내 환경을 주행하면서, 측위 장치(110)의 인공 표식을 식별할 수 있다. 그리고, 컴퓨팅 장치(120)는 인공 표식을 기반으로, 측위 장치(110)의 전역 위치 정보를 확인하고, 측위 장치(110)와의 상대 위치 정보를 결정할 수 있다. 이를 통해, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 위치 정보 및 측위 장치(110)와의 상대 위치 정보를 기반으로, 자신의 전역 위치 정보를 결정할 수 있다. 또한, 컴퓨팅 장치(120)는 측위 장치(110)에 대한 시간적 페어링(pairing)을 통해, 측위 장치(110)의 전역 시간 정보에 대응하여, 자신의 전역 시간 정보를 결정할 수 있다. 이에 따라, 컴퓨팅 장치(120)는 자신의 전역 위치 정보 및 전역 시간 정보를 이용하여, 전역 좌표계(월드 좌표계로도 지칭될 수 있음)에서의 지도를 생성할 수 있다. 예를 들면, 컴퓨팅 장치(120)는 증강현실(augmented reality; AR), 로보틱스, 자율주행 등과 같은 3차원 공간에서 특정 기능 또는 행위의 대상이 되는 객체일 수 있으나, 이에 제한되지 않는다. 컴퓨팅 장치(120)는, 예컨대 자율 주행이 가능한 이동 로봇(robot) 또는 차량, 또는 증강현실을 제공하는 휴대용 컴퓨터 또는 웨어러블 컴퓨터 중 적어도 하나를 포함할 수 있다. The computing device 120 may have a function of determining its own global location information and global time information using the positioning device 110 . Specifically, the computing device 120 may identify an artificial landmark of the positioning device 110 while driving in an outdoor environment or an indoor environment. Also, the computing device 120 may check global position information of the positioning device 110 and determine relative position information with the positioning device 110 based on the artificial mark. Through this, the computing device 120 may determine its own global location information based on the global location information of the positioning device 110 and relative location information with the positioning device 110 . Also, the computing device 120 may determine its own global time information corresponding to the global time information of the positioning device 110 through temporal pairing with the positioning device 110 . Accordingly, the computing device 120 may generate a map in a global coordinate system (which may also be referred to as a world coordinate system) using its global location information and global time information. For example, the computing device 120 may be an object that is a target of a specific function or action in a 3D space, such as augmented reality (AR), robotics, or autonomous driving, but is not limited thereto. The computing device 120 may include, for example, at least one of a mobile robot or vehicle capable of autonomous driving, or a portable computer or a wearable computer providing augmented reality.
도 2는 다양한 실시예들에 따른 컴퓨팅 시스템(100)에서의 신호 흐름을 도시하는 도면이다. 도 3 및 도 4는 다양한 실시예들에 따른 컴퓨팅 장치(120)의 동작 특징을 설명하기 위한 도면들이다. 2 is a diagram illustrating signal flow in a computing system 100 according to various embodiments. 3 and 4 are diagrams for describing operational characteristics of the computing device 120 according to various embodiments.
도 2를 참조하면, 측위 장치(110)는 210 단계에서 인공 표식(310)을 포함할 수 있다. 예를 들면, 인공 표식(310)은 측위 장치(110)에 대한 식별 정보를 표현하기 위한 특정 패턴을 포함할 수 있다. 일 예로, 도 3에 도시된 바와 같이, 패턴은 적어도 하나의 도형의 형태, 크기, 배치 등으로 정의될 수 있다. 다른 예로, 도시되지는 않았으나, 패턴은 적어도 하나의 문자로 이루어지는 텍스트로 정의될 수 있다. 그리고, 측위 장치(110)는 220 단계에서 자신의 전역 시간 정보 및 전역 위치 정보를 검출할 수 있다. 예를 들면, 측위 장치(110)는 위성으로부터 지엔에스에스 정보를 수신하고, 지엔에스에스 정보로부터 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. 여기서, 측위 장치(110)는 주기적으로 지엔에스에스 정보를 수신하고, 이로써 주기적으로 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다.Referring to FIG. 2 , the positioning device 110 may include an artificial mark 310 in step 210 . For example, the artificial marker 310 may include a specific pattern for expressing identification information about the positioning device 110 . For example, as shown in FIG. 3 , a pattern may be defined by the shape, size, and arrangement of at least one figure. As another example, although not shown, the pattern may be defined as text consisting of at least one character. Also, the positioning device 110 may detect its own global time information and global location information in step 220 . For example, the positioning device 110 may receive GNS information from a satellite and detect global location information and global time information from the GNS information. Here, the positioning device 110 may periodically receive GNS information, thereby periodically detecting global location information and global time information.
컴퓨팅 장치(120)는 230 단계에서 주행 중 측위 장치(110)의 인공 표식(310)을 식별할 수 있다. 구체적으로, 컴퓨팅 장치(120)는 인공 표식(310)을 촬영하여, 인공 표식(310)을 갖는 이미지를 획득하고, 이미지를 분석하여, 측위 장치(110)에 대한 식별 정보를 추출할 수 있다. 이 때, 컴퓨팅 장치(120)에서, 측위 장치(110)에 대한 시간적 페어링이 이루어질 수 있다. 일 실시예에 따르면, 컴퓨팅 장치(120)는 240 단계에서 측위 장치(110)로부터 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. 다른 실시예에 따르면, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 시간 정보에 부합하는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간을 확인할 수 있다. 또 다른 실시예에 따르면, 컴퓨팅 장치(120)는 미리 정해진 시간 간격을 초과하도록 정지된 상태에서 이미지를 획득하고, 이미지가 획득된 시간을 확인할 수 있다. The computing device 120 may identify the artificial mark 310 of the positioning device 110 while driving in step 230 . Specifically, the computing device 120 may photograph the artificial landmark 310 , obtain an image having the artificial landmark 310 , analyze the image, and extract identification information about the positioning device 110 . At this time, the computing device 120 may perform temporal pairing with the positioning device 110 . According to an embodiment, the computing device 120 may receive global time information of the positioning device 110 from the positioning device 110 in step 240 . According to another embodiment, the computing device 120 may check the time at which the image was obtained based on a predetermined global standard time corresponding to the global time information of the positioning device 110 . According to another embodiment, the computing device 120 may acquire an image in a stationary state exceeding a predetermined time interval and check the time at which the image was acquired.
일 실시예에 따르면, 컴퓨팅 장치(120)는 도 3에 도시된 바와 같은 방식으로, 인공 표식(310)의 이미지로부터 식별 정보를 추출할 수 있다. 이 때, 컴퓨팅 장치(120)는 미리 정해진 알고리즘을 이용하여, 인공 표식(310)의 특징점들을 추출할 수 있다. 구체적으로, 컴퓨팅 장치(120)는 인공 표식(310)의 이미지를 가상 평면(320)에 매핑시킨 다음, 인공 표식(310)의 특징점들을 추출할 수 있다. 여기서, 가상 평면(320)은 컴퓨팅 장치(120)에 대해 정의되며, 인공 표식(310)에 대해 미리 정해진 포맷/규격에 의해 정해진 사각형의 평면을 나타낼 수 있다. 예를 들면, 특징점들은 코너 포인트들을 포함할 수 있으며, 코너 포인트들은 가상 평면(320) 상에서의 인공 표식(310)의 패턴에 포함된 도형의 꼭지점들을 나타낼 수 있다. 그리고, 컴퓨팅 장치(120)는 가상 평면(320) 상에서 특징점들의 좌표를 추출할 수 있다. 이를 통해, 컴퓨팅 장치(120)는 인공 표식(310)의 특징점들로부터 패턴을 인식할 수 있으며, 패턴에 대응하는 식별 정보를 추출할 수 있다. According to one embodiment, the computing device 120 may extract identification information from the image of the artificial landmark 310 in a manner as shown in FIG. 3 . At this time, the computing device 120 may extract feature points of the artificial landmark 310 using a predetermined algorithm. Specifically, the computing device 120 may map the image of the artificial landmark 310 to the virtual plane 320 and then extract feature points of the artificial landmark 310 . Here, the virtual plane 320 is defined for the computing device 120 and may represent a rectangular plane determined by a predetermined format/standard for the artificial landmark 310 . For example, the feature points may include corner points, and the corner points may represent vertices of a figure included in a pattern of the artificial landmark 310 on the virtual plane 320 . Also, the computing device 120 may extract coordinates of feature points on the virtual plane 320 . Through this, the computing device 120 may recognize a pattern from feature points of the artificial landmark 310 and may extract identification information corresponding to the pattern.
다음으로, 컴퓨팅 장치(120)는 250 단계에서 인공 표식(310)을 기반으로, 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 확인할 수 있다. 이 때, 컴퓨팅 장치(120)는 측위 장치(110)에 대한 식별 정보를 이용하여, 내부에 미리 저장된 데이터베이스 또는 외부의 서버(도시되지 않음)에 저장된 데이터베이스로부터, 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 그리고, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치(120)는 240 단계에서 수신된 전역 시간 정보를 측위 장치(110)의 전역 시간 정보로 확인할 수 있다. 다른 실시예에 따르면, 컴퓨팅 장치(120)는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간으로부터 측위 장치(110)의 전역 시간 정보를 확인할 수 있다. Next, the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 310 in step 250 . At this time, the computing device 120 uses the identification information of the positioning device 110 to obtain global location information of the positioning device 110 from a database previously stored therein or a database stored in an external server (not shown). can be checked. Also, the computing device 120 may check global time information of the positioning device 110 in correspondence with the global location information of the positioning device 110 . According to an embodiment, the computing device 120 may check global time information received in step 240 as global time information of the positioning device 110 . According to another embodiment, the computing device 120 may check global time information of the positioning device 110 from a time when an image is obtained based on a predetermined global standard time.
다음으로, 컴퓨팅 장치(120)는 260 단계에서 측위 장치(110)와의 상대 위치 정보를 결정할 수 있다. 상대 위치 정보는 측위 장치(110)와 컴퓨팅 장치(120) 사이의 상대적인 거리, 또는 컴퓨팅 장치(120)에 대한 측위 장치(110)의 상대적인 자세 중 적어도 하나를 포함할 수 있다. 이 때, 컴퓨팅 장치(120)는 카메라 모듈 또는 라이다(LiDAR) 센서 중 적어도 하나를 이용하여, 상대 위치 정보를 결정할 수 있다. 일 예로, 컴퓨팅 장치(120)는 카메라 모듈(810)를 이용하여, 상대 위치 정보를 결정할 수 있다. 다른 예로, 컴퓨팅 장치(120)는 카메라 모듈(810) 및 라이다 센서를 이용하여, 상대 위치 정보를 결정할 수 있다.Next, the computing device 120 may determine relative position information with the positioning device 110 in step 260 . The relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 . At this time, the computing device 120 may determine relative position information using at least one of a camera module and a LiDAR sensor. For example, the computing device 120 may determine relative position information using the camera module 810 . As another example, the computing device 120 may determine the relative location information using the camera module 810 and the LIDAR sensor.
일 실시예에 따르면, 컴퓨팅 장치(120)는 도 4에 도시된 바와 같은 방식으로, 컴퓨팅 장치(120)에 대한 인공 표식(310)의 상대적인 자세를 결정할 수 있다. 구체적으로, 컴퓨팅 장치(120)는 도 4의 (a)에 도시된 바와 같이, 인공 표식(310)의 이미지가 가상 평면(320)에 매핑되기 전의, 가상 평면(320)에 대한 인공 표식(310)의 이미지의 자세를 추출할 수 있다. 이 때, 컴퓨팅 장치(120)는 가상 평면(320)에 대한 인공 표식(310)의 이미지의 X축, Y축, 및 Z축의 각각의 배향을 추출할 수 있다. 그리고, 컴퓨팅 장치(120)는 도 4의 (b)에 도시된 바와 같이, 인공 표식(310)의 이미지가 가상 평면(320)에 매핑되기 위한 인공 표식(310)의 이미지의 자세 변화를 결정할 수 있다. 이 때, 컴퓨팅 장치(120)는 인공 표식(310)의 이미지의 X축, Y축, 및 Z축의 각각의 이동 거리, 각도 등을 결정할 수 있다. 이를 통해, 컴퓨팅 장치(120)는 인공 표식(310)의 이미지가 가상 평면(320)에 매핑되기 위한 인공 표식(310)의 이미지의 자세 변화로부터 인공 표식(310)의 상대적인 자세를 결정할 수 있다. According to one embodiment, computing device 120 may determine the relative pose of artificial landmark 310 to computing device 120 in a manner as shown in FIG. 4 . Specifically, the computing device 120, as shown in (a) of FIG. 4, the artificial landmark 310 for the virtual plane 320 before the image of the artificial landmark 310 is mapped to the virtual plane 320. ) can extract the posture of the image. At this time, the computing device 120 may extract the orientation of each of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 with respect to the virtual plane 320 . Then, the computing device 120 may determine a posture change of the image of the artificial landmark 310 for mapping the image of the artificial landmark 310 to the virtual plane 320, as shown in (b) of FIG. there is. At this time, the computing device 120 may determine the respective movement distances, angles, and the like of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 . Through this, the computing device 120 may determine the relative posture of the artificial landmark 310 from the change in posture of the image of the artificial landmark 310 for mapping the image of the artificial landmark 310 to the virtual plane 320 .
다음으로, 컴퓨팅 장치(120)는 270 단계에서 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보, 및 상대 위치 정보를 기반으로, 자신의 전역 시간 정보 및 전역 위치 정보를 결정할 수 있다. 이 때, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 위치 정보 및 상대 위치 정보를 조합하여, 자신의 전역 위치 정보를 결정할 수 있다. 그리고, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 시간 정보로 자신의 전역 시간 정보를 결정할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 시간 정보와 일치하도록, 자신의 전역 시간 정보를 결정할 수 있다. 다른 실시예에 따르면, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 시간 정보에 대해 보간을 적용하여, 자신의 전역 시간 정보를 결정할 수 있다. Next, the computing device 120 may determine its own global time information and global location information based on the global time information, global location information, and relative location information of the positioning device 110 in step 270 . At this time, the computing device 120 may determine its own global location information by combining global location information and relative location information of the positioning device 110 . Also, the computing device 120 may determine its own global time information using the global time information of the positioning device 110 . According to an embodiment, the computing device 120 may determine its own global time information to match the global time information of the positioning device 110 . According to another embodiment, the computing device 120 may determine its own global time information by applying interpolation to the global time information of the positioning device 110 .
도 5는 다양한 실시예들에 따른 측위 장치(110)의 내부 구성을 도시하는 도면이다. 5 is a diagram illustrating an internal configuration of a positioning device 110 according to various embodiments.
도 5를 참조하면, 측위 장치(110)는 측위 모듈(510), 인공 표식(520), 통신 모듈(530), 메모리(540), 또는 프로세서(550) 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 측위 장치(110)의 구성 요소들 중 적어도 어느 하나(예: 통신 모듈(530))가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예들에서, 측위 장치(110)의 구성 요소들 중 적어도 어느 두 개(예: 측위 모듈(510) 및 통신 모듈(530))가 하나의 통합된 회로로 구현될 수 있다. Referring to FIG. 5 , the positioning device 110 may include at least one of a positioning module 510, an artificial landmark 520, a communication module 530, a memory 540, and a processor 550. In some embodiments, at least one of the components of the positioning device 110 (eg, the communication module 530) may be omitted, and at least one other component may be added. In some embodiments, at least any two of the components of the positioning device 110 (eg, the positioning module 510 and the communication module 530) may be implemented as a single integrated circuit.
측위 모듈(510)은 측위 장치(110)에서 외부 장치로부터 측위 정보를 수신할 수 있다. 예를 들면, 외부 장치는 위성을 포함하며, 측위 정보는 지엔에스에스 정보를 포함할 수 있다. 즉, 측위 모듈(510)은 지엔에스에스 위성으로부터 지엔에스에스 정보를 수신할 수 있다. 여기서, 측위 모듈(510)은 주기적으로 지엔에스에스 정보를 수신할 수 있다. The positioning module 510 may receive positioning information from an external device in the positioning device 110 . For example, the external device may include a satellite, and positioning information may include GPS information. That is, the positioning module 510 may receive GNS information from GSS satellites. Here, the positioning module 510 may periodically receive GNS information.
인공 표식(예: 도 3 및 도 4의 인공 표식(310))(520)은 측위 장치(110)의 전역 위치 정보를 나타낼 수 있다. 예를 들면, 인공 표식(520)은 측위 장치(110)에 대한 식별 정보를 표현하기 위한 특정 패턴을 포함할 수 있다. 일 예로, 패턴은 적어도 하나의 도형의 형태, 크기, 배치 등으로 정의될 수 있다. 다른 예로, 패턴은 적어도 하나의 문자로 이루어지는 텍스트로 정의될 수 있다. 인공 표식(520)은, 예컨대 기준 마커, 비주얼 마커, 또는 사이니지 중 적어도 하나를 포함할 수 있다. The artificial landmark (eg, the artificial landmark 310 of FIGS. 3 and 4 ) 520 may represent global location information of the positioning device 110 . For example, the artificial landmark 520 may include a specific pattern for expressing identification information about the positioning device 110 . For example, a pattern may be defined by the shape, size, arrangement, etc. of at least one figure. As another example, the pattern may be defined as text consisting of at least one character. The artificial marker 520 may include, for example, at least one of a fiducial marker, a visual marker, and signage.
통신 모듈(530)은 측위 장치(110)에서 외부 장치와 통신을 수행할 수 있다. 예를 들면, 외부 장치는 컴퓨팅 장치(120) 또는 서버(도시되지 않음) 중 적어도 하나를 포함할 수 있다. 통신 모듈(530)은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 유선 통신 모듈은 연결 단자(도시되지 않음)를 통해 외부 장치와 유선으로 연결되어, 외부 장치와 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 어느 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 장치와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크를 통해 외부 장치와 통신할 수 있다. 예를 들면, 네트워크는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 어느 하나를 포함할 수 있다.The communication module 530 may perform communication with an external device in the positioning device 110 . For example, the external device may include at least one of the computing device 120 or a server (not shown). The communication module 530 may include at least one of a wired communication module and a wireless communication module. The wired communication module may be connected to an external device through a wired connection terminal (not shown) and communicate with the external device through a wired connection. The wireless communication module may include at least one of a short-distance communication module and a long-distance communication module. The short-distance communication module may communicate with an external device in a short-range communication method. For example, the short-range communication method may include at least one of Bluetooth, WiFi direct, and infrared data association (IrDA). The remote communication module may communicate with an external device through a remote communication method. Here, the remote communication module may communicate with an external device through a network. For example, the network may include at least one of a cellular network, the Internet, or a computer network such as a local area network (LAN) or a wide area network (WAN).
메모리(540)는 측위 장치(110)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(540)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(540)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있다. The memory 540 may store various data used by at least one component of the positioning device 110 . For example, the memory 540 may include at least one of volatile memory and non-volatile memory. The data may include at least one program and related input data or output data. The program may be stored as software including at least one instruction in the memory 540 .
프로세서(550)는 메모리(540)의 프로그램을 실행하여, 측위 장치(110)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(550)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때 프로세서(550)는 메모리(540)에 저장된 명령을 실행할 수 있다. The processor 550 may execute a program of the memory 540 to control at least one element of the positioning device 110 . Through this, the processor 550 may perform data processing or calculation. At this time, the processor 550 may execute instructions stored in the memory 540 .
다양한 실시예들에 따르면, 프로세서(550)는 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 검출할 수 있다. 예를 들면, 프로세서(550)는 지엔에스에스 정보로부터 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. 여기서, 주기적으로 지엔에스에스 정보가 수신됨에 따라, 프로세서(550)는 주기적으로 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. According to various embodiments, the processor 550 may detect global time information and global location information of the positioning device 110 . For example, the processor 550 may detect global location information and global time information from GNS information. Here, as GNS information is periodically received, the processor 550 may periodically detect global location information and global time information.
도 6은 일 실시예에 따른 측위 장치(110)의 동작 절차를 도시하는 도면이다. 6 is a diagram illustrating an operation procedure of the positioning device 110 according to an embodiment.
도 6을 참조하면, 측위 장치(110)는 610 단계에서 인공 표식(520)을 포함할 수 있다. 인공 표식(520)은 측위 장치(110)의 전역 위치 정보를 나타낼 수 있다. 예를 들면, 인공 표식(520)은 측위 장치(110)에 대한 식별 정보를 표현하기 위한 특정 패턴을 포함할 수 있다. 일 예로, 패턴은 적어도 하나의 도형의 형태, 크기, 배치 등으로 정의될 수 있다. 다른 예로, 패턴은 적어도 하나의 문자로 이루어지는 텍스트로 정의될 수 있다. 인공 표식(520)은, 예컨대 기준 마커, 비주얼 마커, 또는 사이니지 중 적어도 하나를 포함할 수 있다.Referring to FIG. 6 , the positioning device 110 may include an artificial mark 520 in step 610 . Artificial landmark 520 may represent global location information of location device 110 . For example, the artificial landmark 520 may include a specific pattern for expressing identification information about the positioning device 110 . For example, a pattern may be defined by the shape, size, arrangement, etc. of at least one figure. As another example, the pattern may be defined as text consisting of at least one character. The artificial marker 520 may include, for example, at least one of a fiducial marker, a visual marker, and signage.
다음으로, 측위 장치(110)는 620 단계에서 자신의 전역 시간 정보 및 전역 위치 정보를 검출할 수 있다. 프로세서(550)는 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 검출할 수 있다. 예를 들면, 프로세서(550)는 지엔에스에스 정보로부터 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. 여기서, 주기적으로 지엔에스에스 정보가 수신됨에 따라, 프로세서(550)는 주기적으로 전역 위치 정보 및 전역 시간 정보를 검출할 수 있다. Next, the positioning device 110 may detect its own global time information and global location information in step 620 . The processor 550 may detect global time information and global location information of the positioning device 110 . For example, the processor 550 may detect global location information and global time information from GNS information. Here, as GNS information is periodically received, the processor 550 may periodically detect global location information and global time information.
일 실시예에 따르면, 측정 장치(110)가 미리 정해진 장소에 고정되게 설치되는 경우, 정해진 장소에 대응하는 전역 위치 정보가 검출될 것이다. 이러한 경우, 측정 장치(110)의 설치 시, 정해진 장소의 전역 위치 정보가 외부의 서버에 미리 등록될 수 있다. 이 때, 측정 장치(110)의 식별 정보에 대응하여, 정해진 장소의 전역 위치 정보가 등록될 수 있다.According to an embodiment, when the measurement device 110 is fixedly installed in a predetermined location, global location information corresponding to the predetermined location will be detected. In this case, when the measuring device 110 is installed, global location information of a predetermined place may be pre-registered in an external server. At this time, corresponding to the identification information of the measurement device 110, global location information of a predetermined place may be registered.
다른 실시예에 따르면, 측정 장치(110)가 이동 가능하게 구현되는 경우, 측정 장치(110)의 현재 위치에서의 전역 위치 정보가 검출될 것이다. 이러한 경우, 프로세서(550)는 위치가 변경될 때마다, 현재 위치에서의 전역 위치 정보를 외부의 서버에 등록할 수 있다. 이 때, 측정 장치(110)의 식별 정보에 대응하여, 측정 장치(110)의 전역 위치가 업데이트될 수 있다. According to another embodiment, if the measurement device 110 is implemented to be movable, global location information of the current location of the measurement device 110 will be detected. In this case, the processor 550 may register global location information in the current location to an external server whenever the location is changed. In this case, the global location of the measurement device 110 may be updated in response to the identification information of the measurement device 110 .
도 7은 다른 실시예에 따른 측위 장치(110)의 동작 절차를 도시하는 도면이다. 7 is a diagram illustrating an operation procedure of the positioning device 110 according to another embodiment.
도 7을 참조하면, 본 실시예의 710 단계 및 720 단계는 전술된 실시예의 610 단계 및 620 단계와 유사하므로, 상세한 설명을 생략한다. 다만, 본 실시예에서, 측위 장치(110)는 740 단계에서 전역 시간 정보를 전송할 수 있다. 일 예로, 측위 장치(110)는 근거리 통신 방식에 따라, 현재 위치에서의 전역 시간 정보를 주기적으로 방사할 수 있다. 이 때, 프로세서(550)는 통신 모듈(530)을 통해, 전역 시간 정보를 방사할 수 있다. 다른 예로, 측위 장치(110)는 730 단계에서 컴퓨팅 장치(120)로부터 시간 동기화 요청을 수신하고, 이에 응답하여, 740 단계에서 전역 시간 정보를 전송할 수 있다. 여기서, 프로세서(550)는 근거리 통신 방식에 따라, 시간 동기화 요청을 수신하고, 전역 시간 정보를 방사할 수 있다. 이 때, 프로세서(550)는 통신 모듈(530)을 통해, 컴퓨팅 장치(120)로부터의 시간 동기화 요청을 수신하고, 현재 위치에서의 전역 시간 정보를 방사할 수 있다.Referring to FIG. 7 , steps 710 and 720 of this embodiment are similar to steps 610 and 620 of the above-described embodiment, so detailed descriptions thereof are omitted. However, in this embodiment, the positioning device 110 may transmit global time information in step 740 . For example, the positioning device 110 may periodically emit global time information at the current location according to a short-range communication method. At this time, the processor 550 may emit global time information through the communication module 530 . As another example, the positioning device 110 may receive a time synchronization request from the computing device 120 in step 730 and transmit global time information in step 740 in response thereto. Here, the processor 550 may receive a time synchronization request and emit global time information according to a short-range communication method. At this time, the processor 550 may receive a time synchronization request from the computing device 120 through the communication module 530 and emit global time information at the current location.
도 8은 다양한 실시예들에 따른 컴퓨팅 장치(120)의 내부 구성을 도시하는 도면이다. 도 9는 도 8의 프로세서(870)의 상세 구성을 도시하는 도면이다. 8 is a diagram illustrating an internal configuration of a computing device 120 according to various embodiments. FIG. 9 is a diagram showing a detailed configuration of the processor 870 of FIG. 8 .
도 8을 참조하면, 컴퓨팅 장치(120)는 카메라 모듈(810), 센서 모듈(820), 통신 모듈(830), 입력 모듈(840), 출력 모듈(850), 메모리(860), 또는 프로세서(870) 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 컴퓨팅 장치(120)의 구성 요소들 중 적어도 어느 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예들에서, 컴퓨팅 장치(120)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다. Referring to FIG. 8 , the computing device 120 includes a camera module 810, a sensor module 820, a communication module 830, an input module 840, an output module 850, a memory 860, or a processor ( 870) may include at least one. In some embodiments, at least one of the components of the computing device 120 may be omitted, and at least one other component may be added. In some embodiments, at least any two of the components of computing device 120 may be implemented as a single integrated circuit.
카메라 모듈(810)은 컴퓨팅 장치(120)의 주변 환경을 촬영하여, 그에 대한 영상을 획득할 수 있다. 예를 들면, 영상은 동영상 및 정지 이미지를 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(810)은 적어도 하나의 렌즈, 적어도 하나의 이미지 센서, 이미지 시그널 프로세서, 또는 플래시 중 적어도 하나를 포함할 수 있다. The camera module 810 may capture an image of the surrounding environment of the computing device 120 . For example, images may include moving images and still images. According to an embodiment, the camera module 810 may include at least one of at least one lens, at least one image sensor, an image signal processor, or a flash.
센서 모듈(820)은 컴퓨팅 장치(120)의 주변 환경의 상태를 감지하여, 그에 대한 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(820)은, 예컨대 라이다 센서, 레이더(radar) 센서, 적외선(infrared; IR) 센서, 또는 거리 센서 중 적어도 하나를 포함할 수 있다. 추가적으로, 센서 모듈(820)은 컴퓨팅 장치(120)의 작동 상태를 감지하여, 그에 대한 전기 신호 또는 데이터 값을 생성할 수도 있다. 이러한 경우, 센서 모듈(820)은 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, 적외선 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서 중 적어도 하나를 더 포함할 수 있다. The sensor module 820 may sense the state of the environment surrounding the computing device 120 and generate an electrical signal or data value corresponding thereto. The sensor module 820 may include, for example, at least one of a lidar sensor, a radar sensor, an infrared (IR) sensor, or a distance sensor. Additionally, the sensor module 820 may detect an operating state of the computing device 120 and generate an electrical signal or data value therefor. In this case, the sensor module 820 may include at least one of a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor. may contain one more.
통신 모듈(830)은 컴퓨팅 장치(120)에서 외부 장치와 통신을 수행할 수 있다. 예를 들면, 외부 장치는 서버(도시되지 않음) 또는 측위 장치(110) 중 적어도 하나를 포함할 수 있다. 통신 모듈(830)은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 유선 통신 모듈은 연결 단자(도시되지 않음)를 통해 외부 장치와 유선으로 연결되어, 외부 장치와 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스, 와이파이 다이렉트, 또는 적외선 통신 중 적어도 어느 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 장치와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크를 통해 외부 장치와 통신할 수 있다. 예를 들면, 네트워크는 셀룰러 네트워크, 인터넷, 또는 LAN이나 WAN과 같은 컴퓨터 네트워크 중 적어도 어느 하나를 포함할 수 있다.The communication module 830 may perform communication with an external device in the computing device 120 . For example, the external device may include at least one of a server (not shown) and the positioning device 110 . The communication module 830 may include at least one of a wired communication module and a wireless communication module. The wired communication module may be connected to an external device through a wired connection terminal (not shown) and communicate with the external device through a wired connection. The wireless communication module may include at least one of a short-distance communication module and a long-distance communication module. The short-distance communication module may communicate with an external device in a short-range communication method. For example, the short-distance communication method may include at least one of Bluetooth, Wi-Fi Direct, and infrared communication. The remote communication module may communicate with an external device through a remote communication method. Here, the remote communication module may communicate with an external device through a network. For example, the network may include at least one of a cellular network, the Internet, or a computer network such as a LAN or WAN.
입력 모듈(840)은 컴퓨팅 장치(120)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 예를 들면, 입력 모듈(840)은 마이크로폰(microphone), 마우스(mouse), 또는 키보드(keyboard) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 입력 모듈(840)은 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 어느 하나를 포함할 수 있다. The input module 840 may input a signal to be used in at least one component of the computing device 120 . For example, the input module 840 may include at least one of a microphone, a mouse, and a keyboard. In some embodiments, the input module 840 may include at least one of a touch circuitry set to sense a touch or a sensor circuit set to measure the strength of a force generated by a touch.
출력 모듈(850)은 컴퓨팅 장치(120)로부터의 정보를 출력할 수 있다. 이 때, 출력 모듈(850)은 정보를 시각적으로 표시하기 위한 표시 모듈, 또는 정보를 청각적으로 재생하기 위한 오디오 모듈 중 적어도 하나를 포함할 수 있다. 예를 들면, 표시 모듈은 디스플레이, 홀로그램 장치, 또는 프로젝터 중 적어도 어느 하나를 포함할 수 있다. 일 예로, 표시 모듈은 입력 모듈(840)의 터치 회로 또는 센서 회로 중 적어도 어느 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들면, 오디오 모듈은 스피커, 리시버, 이어폰 또는 헤드폰 중 적어도 어느 하나를 포함할 수 있다.The output module 850 may output information from the computing device 120 . In this case, the output module 850 may include at least one of a display module for visually displaying information and an audio module for aurally reproducing information. For example, the display module may include at least one of a display, a hologram device, and a projector. For example, the display module may be implemented as a touch screen by being assembled with at least one of a touch circuit and a sensor circuit of the input module 840 . For example, the audio module may include at least one of a speaker, receiver, earphone, or headphone.
메모리(860)는 컴퓨팅 장치(120)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(860)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(860)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있다.The memory 860 may store various data used by at least one component of the computing device 120 . For example, the memory 860 may include at least one of volatile memory and non-volatile memory. The data may include at least one program and related input data or output data. The program may be stored as software including at least one instruction in memory 860 .
프로세서(870)는 메모리(860)의 프로그램을 실행하여, 컴퓨팅 장치(120)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(870)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때 프로세서(870)는 메모리(860)에 저장된 명령을 실행할 수 있다.The processor 870 may execute a program of the memory 860 to control at least one component of the computing device 120 . Through this, the processor 870 may perform data processing or calculation. At this time, the processor 870 may execute instructions stored in the memory 860.
다양한 실시예들에 따르면, 프로세서(870)는 측위 장치(110)를 이용하여, 자신의 전역 위치 정보 및 전역 시간 정보를 결정하는 기능을 가질 수 있다. 어떤 실시예들에서, 프로세서(870)는 도 9에 도시된 바와 같이 인공 표식 식별부(971), 상대 위치 결정부(973), 절대 위치 결정부(975), 및 위치 최적화부(977)를 포함할 수 있다. 이는, 프로세서(870)의 기능을 구분하여 설명하기 위한 것일 뿐, 프로세서(870)가 반드시 물리적으로 구분되는 것을 의미하지 않는다. 바꿔 말하면, 프로세서(870)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다. According to various embodiments, the processor 870 may have a function of determining its own global location information and global time information using the positioning device 110 . In some embodiments, processor 870 may include artificial landmark identification 971 , relative position determination 973 , absolute position determination 975 , and position optimization 977 as shown in FIG. 9 . can include This is only for explaining the functions of the processor 870 by dividing them, and does not mean that the processors 870 are necessarily physically separated. In other words, at least any two of the components of the processor 870 may be implemented as a single integrated circuit.
인공 표식 식별부(971)는, 컴퓨팅 장치(120)가 실외 환경 또는 실내 환경을 주행하는 중에, 측위 장치(110)의 인공 표식(520)을 식별할 수 있다. 구체적으로, 인공 표식 식별부(971)는 카메라 모듈(810)을 통해, 인공 표식(520)을 촬영하여, 인공 표식(520)을 갖는 이미지를 획득하고, 이미지를 분석하여, 측위 장치(110)에 대한 식별 정보를 추출할 수 있다. 이 때, 컴퓨팅 장치(120)에서, 측위 장치(110)에 대한 시간적 페어링이 이루어질 수 있다. The artificial landmark identification unit 971 may identify the artificial landmark 520 of the positioning device 110 while the computing device 120 is traveling in an outdoor environment or an indoor environment. Specifically, the artificial landmark identification unit 971 photographs the artificial landmark 520 through the camera module 810, obtains an image having the artificial landmark 520, analyzes the image, and locates the positioning device 110. Identification information about can be extracted. At this time, the computing device 120 may perform temporal pairing with the positioning device 110 .
그리고, 인공 표식 식별부(971)는 인공 표식(520)을 기반으로, 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 확인할 수 있다. 이 때, 컴퓨팅 장치(120)는 측위 장치(110)에 대한 식별 정보를 이용하여, 내부에 미리 저장된 데이터베이스 또는 외부의 서버에 저장된 데이터베이스로부터, 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 또한, 컴퓨팅 장치(120)는 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인할 수 있다.Also, the artificial landmark identification unit 971 may check global time information and global location information of the positioning device 110 based on the artificial landmark 520 . At this time, the computing device 120 may check global location information of the positioning device 110 from a database previously stored therein or a database stored in an external server by using the identification information of the positioning device 110 . Also, the computing device 120 may check global time information of the positioning device 110 in correspondence with global location information of the positioning device 110 .
상대 위치 결정부(973)는 인공 표식(520)을 기반으로, 측위 장치(110)와의 상대 위치 정보를 결정할 수 있다. 상대 위치 정보는 측위 장치(110)와 컴퓨팅 장치(120) 사이의 상대적인 거리, 또는 컴퓨팅 장치(120)에 대한 측위 장치(110)의 상대적인 자세 중 적어도 하나를 포함할 수 있다. 이 때, 상대 위치 결정부(973)는 카메라 모듈(810) 또는 센서 모듈(820)의 라이다 센서 중 적어도 하나를 이용하여, 상대 위치 정보를 결정할 수 있다. 일 예로, 상대 위치 결정부(973)는 카메라 모듈(810)를 이용하여, 상대 위치 정보를 결정할 수 있다. 다른 예로, 상대 위치 결정부(973)는 카메라 모듈(810) 및 라이다 센서를 이용하여, 상대 위치 정보를 결정할 수 있다.The relative position determiner 973 may determine relative position information with the positioning device 110 based on the artificial mark 520 . The relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 . At this time, the relative position determiner 973 may determine the relative position information using at least one of the lidar sensor of the camera module 810 or the sensor module 820 . For example, the relative position determiner 973 may determine relative position information using the camera module 810 . As another example, the relative position determiner 973 may determine relative position information using the camera module 810 and the LIDAR sensor.
절대 위치 결정부(975)는 측위 장치(110)의 전역 위치 정보 및 측위 장치(110)와의 상대 위치 정보를 기반으로, 컴퓨팅 장치(120)의 전역 위치 정보를 결정할 수 있다. 이 때, 절대 위치 결정부(975)는 측위 장치(110)의 전역 위치 정보 및 상대 위치 정보를 조합하여, 자신의 전역 위치 정보를 결정할 수 있다. 그리고, 절대 위치 결정부(975)는 측위 장치(110)에 대한 시간적 페어링을 통해, 측위 장치(110)의 전역 시간 정보에 대응하여, 컴퓨팅 장치(120)의 전역 시간 정보를 결정할 수 있다. The absolute location determining unit 975 may determine global location information of the computing device 120 based on global location information of the positioning device 110 and relative location information with the positioning device 110 . At this time, the absolute location determination unit 975 may determine its own global location information by combining global location information and relative location information of the positioning device 110 . Also, the absolute position determiner 975 may determine global time information of the computing device 120 in response to the global time information of the positioning device 110 through temporal pairing with the positioning device 110 .
위치 최적화부(977)는 전역 좌표계에서의 컴퓨팅 장치(120)의 전역 위치를 최적화할 수 있다. 이 때, 위치 최적화부(977)는 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보를 이용하여, 전역 좌표계에서의 지도를 생성할 수 있다. 컴퓨팅 장치(120)가 로컬 좌표계에서의 지도를 생성 가능하게 구현된 경우, 위치 최적화부(977)는 최적화를 통해 로컬 좌표계와 전역 좌표계를 조합하여, 최적화된 지도를 생성할 수 있다. 여기서, 로컬 좌표계와 전역 좌표계 사이의 차이가 큰 경우, 위치 최적화부(977)는 로컬 좌표계와 전역 좌표계를 일치시키는 초기화 단계를 진행한 다음, 최적화된 지도를 생성할 수 있다. 일 예로, 위치 최적화부(977)는 SLAM(simultaneous localization and map-building; simultaneous localization and mapping) 알고리즘을 이용하여, 지도를 생성할 수 있다. The location optimizer 977 may optimize the global location of the computing device 120 in the global coordinate system. In this case, the location optimizer 977 may generate a map in the global coordinate system using global location information and global time information of the computing device 120 . When the computing device 120 is implemented to generate a map in the local coordinate system, the location optimizer 977 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. Here, when the difference between the local coordinate system and the global coordinate system is large, the position optimization unit 977 may generate an optimized map after performing an initialization step of matching the local coordinate system and the global coordinate system. For example, the location optimizer 977 may generate a map using a simultaneous localization and mapping (SLAM) algorithm.
도 10은 일 실시예에 따른 컴퓨팅 장치(120)의 동작 절차를 도시하는 도면이다. 10 is a diagram illustrating an operating procedure of the computing device 120 according to an exemplary embodiment.
도 10을 참조하면, 컴퓨팅 장치(120)는 1010 단계에서 주행 중 측위 장치(110)의 인공 표식(310)을 식별할 수 있다. 구체적으로, 컴퓨팅 장치(120)가 실외 환경 또는 실내 환경을 주행하는 중에, 프로세서(870)는 카메라 모듈(810)을 통해, 인공 표식(520)을 촬영하여, 인공 표식(520)을 갖는 이미지를 획득하고, 이미지를 분석하여, 측위 장치(110)에 대한 식별 정보를 추출할 수 있다. 이 때, 컴퓨팅 장치(120)에서, 측위 장치(110)에 대한 시간적 페어링이 이루어질 수 있다. 예를 들면, 프로세서(870)는 측위 장치(110)의 전역 시간 정보에 부합하는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간을 확인할 수 있다. 여기서, 전역 표준시는 협정 세계시(coordinated universal time; UTC)일 수 있다. 일 예로, 컴퓨팅 장치(120)가 미리 정해진 시간 간격을 초과하도록 정지된 상태에서, 프로세서(870)는 이미지를 획득하고, 이미지가 획득된 시간을 확인할 수 있다. Referring to FIG. 10 , the computing device 120 may identify the artificial mark 310 of the positioning device 110 while driving in step 1010 . Specifically, while the computing device 120 is driving in an outdoor environment or an indoor environment, the processor 870 captures the artificial landmark 520 through the camera module 810 to create an image having the artificial landmark 520. Acquiring and analyzing the image, identification information about the positioning device 110 may be extracted. At this time, the computing device 120 may perform temporal pairing with the positioning device 110 . For example, the processor 870 may determine the time at which the image was obtained based on a predetermined global standard time that corresponds to the global time information of the positioning device 110 . Here, the global standard time may be coordinated universal time (UTC). For example, in a state in which the computing device 120 is stopped to exceed a predetermined time interval, the processor 870 may acquire an image and check the time at which the image was obtained.
일 실시예에 따르면, 프로세서(870)는 도 3을 참조하여 전술된 바와 같이, 인공 표식(310, 520)의 이미지로부터 식별 정보를 추출할 수 있다. 이 때, 프로세서(870)는 미리 정해진 알고리즘을 이용하여, 인공 표식(310, 520)의 특징점들을 추출할 수 있다. 구체적으로, 프로세서(870)는 인공 표식(310, 520)의 이미지를 가상 평면(320)에 매핑시킨 다음, 인공 표식(310)의 특징점들을 추출할 수 있다. 여기서, 가상 평면(320)은 컴퓨팅 장치(120)에 대해 정의되며, 인공 표식(310, 520)에 대해 미리 정해진 포맷/규격에 의해 정해진 사각형의 평면을 나타낼 수 있다. 예를 들면, 특징점들은 코너 포인트들을 포함할 수 있으며, 코너 포인트들은 가상 평면(320) 상에서의 인공 표식(310, 520)의 패턴에 포함된 도형의 꼭지점들을 나타낼 수 있다. 그리고, 프로세서(870)는 가상 평면(320) 상에서 특징점들의 좌표를 추출할 수 있다. 이를 통해, 프로세서(870)는 인공 표식(310)의 특징점들로부터 패턴을 인식할 수 있으며, 패턴에 대응하는 식별 정보를 추출할 수 있다. According to an embodiment, the processor 870 may extract identification information from images of the artificial landmarks 310 and 520 as described above with reference to FIG. 3 . At this time, the processor 870 may extract feature points of the artificial landmarks 310 and 520 using a predetermined algorithm. Specifically, the processor 870 may map images of the artificial landmarks 310 and 520 onto the virtual plane 320 and then extract feature points of the artificial landmarks 310 . Here, the virtual plane 320 is defined for the computing device 120 and may represent a rectangular plane determined by a predetermined format/standard for the artificial landmarks 310 and 520 . For example, the feature points may include corner points, and the corner points may represent vertices of figures included in patterns of the artificial markers 310 and 520 on the virtual plane 320 . Also, the processor 870 may extract coordinates of feature points on the virtual plane 320 . Through this, the processor 870 may recognize a pattern from feature points of the artificial landmark 310 and may extract identification information corresponding to the pattern.
다음으로, 컴퓨팅 장치(120)는 1020 단계에서 인공 표식(520)을 기반으로, 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 확인할 수 있다. 이 때, 프로세서(870)는 측위 장치(110)에 대한 식별 정보를 이용하여, 내부에 미리 저장된 데이터베이스 또는 외부의 서버에 저장된 데이터베이스로부터, 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 일 예로, 프로세서(870)는 미리 저장된 데이터베이스를 검색하여, 측위 장치(110)에 대한 식별 정보에 대응하여 저장된 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 다른 예로, 프로세서(870)는 통신 모듈(830)을 통해 외부의 서버에 측위 장치(110)에 대한 식별 정보를 전송하고, 이에 응답하여, 서버로부터 측위 장치(110)의 전역 위치 정보를 수신할 수 있다. 그리고, 프로세서(870)는 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인할 수 있다. 예를 들면, 프로세서(870)는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간으로부터 측위 장치(110)의 전역 시간 정보를 확인할 수 있다. 여기서, 전역 표준시는 협정 세계시(UTC)일 수 있다.Next, the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 520 in step 1020 . At this time, the processor 870 may check global location information of the positioning device 110 from a database previously stored inside or a database stored in an external server by using the identification information of the positioning device 110 . For example, the processor 870 may search a pre-stored database and check global location information of the positioning device 110 stored in correspondence with the identification information on the positioning device 110 . As another example, the processor 870 transmits identification information on the positioning device 110 to an external server through the communication module 830 and, in response, receives global location information of the positioning device 110 from the server. can Also, the processor 870 may check global time information of the positioning device 110 in response to global location information of the positioning device 110 . For example, the processor 870 may check global time information of the positioning device 110 from a time when an image is obtained based on a predetermined global standard time. Here, the global standard time may be Coordinated Universal Time (UTC).
다음으로, 컴퓨팅 장치(120)는 1030 단계에서 측위 장치(110)와의 상대 위치 정보를 결정할 수 있다. 상대 위치 정보는 측위 장치(110)와 컴퓨팅 장치(120) 사이의 상대적인 거리, 또는 컴퓨팅 장치(120)에 대한 측위 장치(110)의 상대적인 자세 중 적어도 하나를 포함할 수 있다. 이 때, 프로세서(870)는 카메라 모듈(810) 또는 센서 모듈(820) 중 적어도 하나를 통해, 상대 위치 정보를 결정할 수 있다. 일 예로, 프로세서(870)는 카메라 모듈(810)를 이용하여, 상대 위치 정보를 결정할 수 있다. 다른 예로, 프로세서(870)는 카메라 모듈(810) 및 라이다 센서를 이용하여, 상대 위치 정보를 결정할 수 있다. 이러한 경우, 프로세서(870)는 카메라 모듈(810)을 이용하여, 상대 위치 정보를 결정하면서, 라이다 센서를 이용하여 검출되는 강도(intensity) 정보를 추가로 이용할 수 있다. Next, the computing device 120 may determine relative position information with the positioning device 110 in step 1030 . The relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120 . At this time, the processor 870 may determine the relative location information through at least one of the camera module 810 and the sensor module 820 . For example, the processor 870 may determine relative location information using the camera module 810 . As another example, the processor 870 may determine the relative location information using the camera module 810 and the LIDAR sensor. In this case, the processor 870 may additionally use intensity information detected using the LIDAR sensor while determining the relative position information using the camera module 810 .
일 실시예에 따르면, 프로세서(870)는 도 4를 참조하여 전술된 바와 같이, 컴퓨팅 장치(120)에 대한 인공 표식(310, 520)의 상대적인 자세를 결정할 수 있다. 구체적으로, 프로세서(870)는 도 4의 (a)에 도시된 바와 같이, 인공 표식(310, 520)의 이미지가 가상 평면(320)에 매핑되기 전의, 가상 평면(320)에 대한 인공 표식(310, 520)의 이미지의 자세를 추출할 수 있다. 이 때, 프로세서(870)는 가상 평면(320)에 대한 인공 표식(310, 520)의 이미지의 X축, Y축, 및 Z축의 각각의 배향을 추출할 수 있다. 그리고, 프로세서(870)는 도 4의 (b)에 도시된 바와 같이, 인공 표식(310, 520)의 이미지가 가상 평면(320)에 매핑되기 위한 인공 표식(310, 520)의 이미지의 자세 변화를 결정할 수 있다. 이 때, 프로세서(870)는 인공 표식(310)의 이미지의 X축, Y축, 및 Z축의 각각의 이동 거리, 각도 등을 결정할 수 있다. 이를 통해, 프로세서(870)는 인공 표식(310, 520)의 이미지가 가상 평면(320)에 매핑되기 위한 인공 표식(310, 520)의 이미지의 자세 변화로부터 인공 표식(310, 520)의 상대적인 자세를 결정할 수 있다. According to one embodiment, processor 870 may determine a relative pose of artificial landmarks 310 and 520 to computing device 120 as described above with reference to FIG. 4 . Specifically, the processor 870, as shown in (a) of FIG. 4 , before the images of the artificial landmarks 310 and 520 are mapped to the virtual plane 320, the artificial landmark for the virtual plane 320 ( 310 and 520) can extract the posture of the image. At this time, the processor 870 may extract the X-axis, Y-axis, and Z-axis orientations of the images of the artificial landmarks 310 and 520 with respect to the virtual plane 320 . And, as shown in (b) of FIG. 4, the processor 870 changes the posture of the images of the artificial landmarks 310 and 520 so that the images of the artificial landmarks 310 and 520 are mapped to the virtual plane 320. can decide At this time, the processor 870 may determine the respective movement distances, angles, and the like of the X-axis, Y-axis, and Z-axis of the image of the artificial landmark 310 . Through this, the processor 870 determines the relative posture of the artificial landmark 310 or 520 from the change in posture of the image of the artificial landmark 310 or 520 for mapping the image of the artificial landmark 310 or 520 to the virtual plane 320. can decide
다음으로, 컴퓨팅 장치(120)는 1040 단계에서 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보, 및 상대 위치 정보를 기반으로, 자신의 전역 시간 정보 및 전역 위치 정보를 결정할 수 있다. 이 때, 프로세서(870)는 측위 장치(110)의 전역 위치 정보 및 상대 위치 정보를 조합하여, 컴퓨팅 장치(120)의 전역 위치 정보를 결정할 수 있다. 그리고, 프로세서(870)는 측위 장치(110)의 전역 시간 정보로 컴퓨팅 장치(120)의 전역 시간 정보를 결정할 수 있다. 일 실시예에 따르면, 프로세서(870)는 측위 장치(110)의 전역 시간 정보와 일치하도록, 컴퓨팅 장치(120)의 전역 시간 정보를 결정할 수 있다. 다른 실시예에 따르면, 프로세서(870)는 측위 장치(110)의 전역 시간 정보에 대해 보간을 적용하여, 컴퓨팅 장치(120)의 전역 시간 정보를 결정할 수 있다. 예를 들면, 프로세서(870)는 하기 [수학식 1]과 같이 정의되는 에러 모델(error model; errGPS)을 기반으로, 컴퓨팅 장치(120)의 전역 시간 정보에서의 전역 위치 정보를 결정할 수 있다. Next, the computing device 120 may determine its own global time information and global location information based on the global time information, global location information, and relative location information of the positioning device 110 in step 1040 . At this time, the processor 870 may determine global location information of the computing device 120 by combining global location information and relative location information of the positioning device 110 . Also, the processor 870 may determine global time information of the computing device 120 as global time information of the positioning device 110 . According to an embodiment, the processor 870 may determine global time information of the computing device 120 to match global time information of the positioning device 110 . According to another embodiment, the processor 870 may determine the global time information of the computing device 120 by applying interpolation to the global time information of the positioning device 110 . For example, the processor 870 may determine global location information from global time information of the computing device 120 based on an error model (err GPS ) defined as in Equation 1 below. .
Figure PCTKR2022012968-appb-img-000001
Figure PCTKR2022012968-appb-img-000001
여기서, τ는 컴퓨팅 장치(120)의 전역 시간 정보를 나타내고, T는 4×4 변환 행렬(transformation matrix)로 표현되고,
Figure PCTKR2022012968-appb-img-000002
는 컴퓨팅 장치(120)의 전역 위치 정보를 나타내고,
Figure PCTKR2022012968-appb-img-000003
는 컴퓨팅 장치(120)에 대한 측위 장치(110), 즉 인공 표식(520)의 상대 위치 정보를 나타내고, t는 3×1 병진 벡터(translation vector)로 표현되고,
Figure PCTKR2022012968-appb-img-000004
는 측위 장치(110)에서 인공 표식(520)과 측위 모듈(510) 사이의 간격을 나타내며,
Figure PCTKR2022012968-appb-img-000005
는 측위 장치(110)의 전역 위치 정보를 나타낼 수 있다.
Here, τ represents global temporal information of the computing device 120, T is represented by a 4×4 transformation matrix,
Figure PCTKR2022012968-appb-img-000002
represents the global location information of the computing device 120,
Figure PCTKR2022012968-appb-img-000003
Represents the relative position information of the positioning device 110, that is, the artificial landmark 520, with respect to the computing device 120, t is expressed as a 3 × 1 translation vector,
Figure PCTKR2022012968-appb-img-000004
represents the distance between the artificial marker 520 and the positioning module 510 in the positioning device 110,
Figure PCTKR2022012968-appb-img-000005
may indicate global location information of the positioning device 110.
이를 통해, 컴퓨팅 장치(120)는 전역 좌표계에서의 컴퓨팅 장치(120)의 전역 위치를 최적화할 수 있다. 이 때, 프로세서(870)는 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보를 이용하여, 전역 좌표계에서의 지도를 생성할 수 있다. 컴퓨팅 장치(120)가 로컬 좌표계에서의 지도를 생성 가능하게 구현된 경우, 프로세서(870)는 최적화를 통해 로컬 좌표계와 전역 좌표계를 조합하여, 최적화된 지도를 생성할 수 있다. 예를 들면, 프로세서(870)는 상기 [수학식 1]과 같은 에러 모델(errGPS)에 의한 비용 함수를 로컬 좌표계에서의 지도를 생성하기 위한 비용 함수에 추가하여, 하기 [수학식 2]와 같은 최적화된 비용 함수(
Figure PCTKR2022012968-appb-img-000006
)를 도출하고, 이를 기반으로, 최적화된 지도를 생성할 수 있다. 여기서, 로컬 좌표계와 전역 좌표계 사이의 차이가 큰 경우, 프로세서(870)는 로컬 좌표계와 전역 좌표계를 일치시키는 초기화 단계를 진행한 다음, 최적화된 지도를 생성할 수 있다. 예를 들면, 프로세서(870)는 닫힌 형태의 솔루션(closed-form solution)에 의해 초기화 단계를 진행할 수 있다.
Through this, the computing device 120 may optimize the global position of the computing device 120 in the global coordinate system. In this case, the processor 870 may generate a map in the global coordinate system using global location information and global time information of the computing device 120 . When the computing device 120 is implemented to generate a map in the local coordinate system, the processor 870 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. For example, the processor 870 adds a cost function based on an error model (err GPS ) as shown in [Equation 1] to a cost function for generating a map in the local coordinate system, and obtains the following [Equation 2] The same optimized cost function (
Figure PCTKR2022012968-appb-img-000006
), and based on this, an optimized map can be created. Here, when the difference between the local coordinate system and the global coordinate system is large, the processor 870 may generate an optimized map after performing an initialization step of matching the local coordinate system and the global coordinate system. For example, the processor 870 may perform the initialization step by using a closed-form solution.
Figure PCTKR2022012968-appb-img-000007
Figure PCTKR2022012968-appb-img-000007
여기서, 첫 번째 항과 두 번째 항은 로컬 좌표계에서의 지도를 생성하기 위한 비용 함수들로서, 첫 번째 항은 라이다 센서 또는 거리 센서에 의한 비용 함수를 나타내고, 두 번째 항은 카메라 모듈(810)에 의해 획득되는 이미지에 의한 비용 함수를 나타내며, 세 번째 항은 상기 [수학식 1]과 같은 에러 모델(errGPS)에 의한 비용 함수를 나타낼 수 있다. 상세하게는,
Figure PCTKR2022012968-appb-img-000008
는 컴퓨팅 장치(120)의 전역 위치 정보를 나타내고,
Figure PCTKR2022012968-appb-img-000009
는 라이다 센서 또는 거리 센서, 또는 카메라 모듈(810) 등에서의 측정값을 나타내고,
Figure PCTKR2022012968-appb-img-000010
는 컴퓨팅 장치(120)에서 카메라 모듈(810)과 컴퓨팅 장치(120)의 기준 위치 사이의 상대적인 자세를 나타내고,
Figure PCTKR2022012968-appb-img-000011
는 공분산(covariance)을 나타내며,
Figure PCTKR2022012968-appb-img-000012
는 이미지에 대한 투영 모델(projection model)을 나타낼 수 있다. 어떤 실시예들에서, 로컬 좌표계에서의 지도를 생성하는데, 라이다 센서 또는 거리 센서, 및 카메라 모듈(810) 이외에 관성 측정 장치(inertial measurement unit; IMU) 등의 다른 센서가 더 이용되는 경우, 상기 [수학식 2]에 다른 센서에 의한 비용 함수가 추가될 수도 있다.
Here, the first term and the second term are cost functions for generating a map in the local coordinate system. represents a cost function based on an image obtained by , and the third term may represent a cost function based on an error model (err GPS ) as in [Equation 1] above. In detail,
Figure PCTKR2022012968-appb-img-000008
represents the global location information of the computing device 120,
Figure PCTKR2022012968-appb-img-000009
Represents a measurement value from a lidar sensor or distance sensor, or a camera module 810, etc.
Figure PCTKR2022012968-appb-img-000010
Represents a relative posture between the reference position of the camera module 810 and the computing device 120 in the computing device 120,
Figure PCTKR2022012968-appb-img-000011
represents the covariance,
Figure PCTKR2022012968-appb-img-000012
may represent a projection model for the image. In some embodiments, if another sensor such as an inertial measurement unit (IMU) is further used in addition to a lidar sensor or a distance sensor and the camera module 810 to generate a map in a local coordinate system, the A cost function by another sensor may be added to [Equation 2].
도 11은 다른 실시예에 따른 컴퓨팅 장치(120)의 동작 절차를 도시하는 도면이다. 11 is a diagram illustrating an operating procedure of a computing device 120 according to another embodiment.
도 11을 참조하면, 본 실시예의 1110 단계는 전술된 실시예의 1010 단계와 유사하므로, 상세한 설명을 생략한다. 다만, 본 실시예에서, 컴퓨팅 장치(120)는 1110 단계에서 측위 장치(110)의 인공 표식(520)을 식별한 후에, 1117 단계에서 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. 이 때, 컴퓨팅 장치(120)에서 측위 장치(110)에 대한 시간적 페어링이 이루어질 수 있도록, 프로세서(870)는 측위 장치(110)로부터 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. 일 예로, 측위 장치(110)가 근거리 통신 방식에 따라, 현재 위치에서의 전역 시간 정보를 주기적으로 방사함에 따라, 프로세서(870)는 통신 모듈(830)을 통해, 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. 다른 예로, 1110 단계에서 측위 장치(110)의 인공 표시(520)이 식별되면, 프로세서(870)가 1113 단계에서 시간 동기화 요청을 전송할 수 있다. 여기서, 프로세서(870)는 근거리 통신 방식에 따라, 통신 모듈(830)을 통해, 시간 동기화 요청을 방사할 수 있다. 이 후, 프로세서(870)는 1117 단계에서 시간 동기화 요청에 응답하여, 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. 여기서, 프로세서(870)는 근거리 통신 방식에 따라, 통신 모듈(830)을 통해, 측위 장치(110)의 전역 시간 정보를 수신할 수 있다. Referring to FIG. 11 , step 1110 of this embodiment is similar to step 1010 of the above-described embodiment, so detailed description thereof is omitted. However, in this embodiment, the computing device 120 may receive the global time information of the positioning device 110 in step 1117 after identifying the artificial mark 520 of the positioning device 110 in step 1110 . At this time, the processor 870 may receive global time information of the positioning device 110 from the positioning device 110 so that the computing device 120 can perform temporal pairing with the positioning device 110 . For example, as the positioning device 110 periodically emits global time information at the current location according to a short-distance communication method, the processor 870 transmits the global time information of the positioning device 110 through the communication module 830. information can be received. As another example, if the artificial display 520 of the positioning device 110 is identified in step 1110 , the processor 870 may transmit a time synchronization request in step 1113 . Here, the processor 870 may emit a time synchronization request through the communication module 830 according to a short-range communication method. Thereafter, the processor 870 may receive global time information of the positioning device 110 in response to the time synchronization request in step 1117 . Here, the processor 870 may receive global time information of the positioning device 110 through the communication module 830 according to a short-range communication method.
다음으로, 컴퓨팅 장치(120)는 1120 단계에서 인공 표식(520)을 기반으로, 측위 장치(110)의 전역 시간 정보 및 전역 위치 정보를 확인할 수 있다. 이 때, 프로세서(870)는 측위 장치(110)에 대한 식별 정보를 이용하여, 내부에 미리 저장된 데이터베이스 또는 외부의 서버에 저장된 데이터베이스로부터, 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 일 예로, 프로세서(870)는 미리 저장된 데이터베이스를 검색하여, 측위 장치(110)에 대한 식별 정보에 대응하여 저장된 측위 장치(110)의 전역 위치 정보를 확인할 수 있다. 다른 예로, 프로세서(870)는 통신 모듈(830)을 통해 외부의 서버에 측위 장치(110)에 대한 식별 정보를 전송하고, 이에 응답하여, 서버로부터 측위 장치(110)의 전역 위치 정보를 수신할 수 있다. 그리고, 프로세서(870)는 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인할 수 있다. 예를 들면, 프로세서(870)는 1117 단계에서 수신된 전역 시간 정보를 측위 장치(110)의 전역 시간 정보로 확인할 수 있다. 다음으로, 컴퓨팅 장치(120)는 1130 단계로 진행하며, 본 실시예의 1130 단계 및 1140 단계는 전술된 실시예의 1030 단계 및 1040 단계와 유사하므로, 상세한 설명을 생략한다. Next, the computing device 120 may check global time information and global location information of the positioning device 110 based on the artificial mark 520 in step 1120 . At this time, the processor 870 may check global location information of the positioning device 110 from a database previously stored inside or a database stored in an external server by using the identification information of the positioning device 110 . For example, the processor 870 may search a pre-stored database and check global location information of the positioning device 110 stored in correspondence with the identification information on the positioning device 110 . As another example, the processor 870 transmits identification information on the positioning device 110 to an external server through the communication module 830 and, in response, receives global location information of the positioning device 110 from the server. can Also, the processor 870 may check global time information of the positioning device 110 in response to global location information of the positioning device 110 . For example, the processor 870 may check global time information received in step 1117 as global time information of the positioning device 110 . Next, the computing device 120 proceeds to step 1130, and steps 1130 and 1140 of this embodiment are similar to steps 1030 and 1040 of the above-described embodiment, so detailed descriptions thereof are omitted.
다양한 실시예들에 따르면, 컴퓨팅 장치(120)는 외부의 측위 장치(110)를 이용하여 자신의 전역 위치를 추정할 수 있다. 이를 통해, 컴퓨팅 장치(120)는 자신의 전역 위치를 기반으로, 전역 좌표계에서의 지도를 생성할 수 있다. 즉, 컴퓨팅 장치(120)는 GNSS 모듈과 같은 고가의 측위 모듈을 포함하지 않고도, 전역 좌표계에서의 지도를 생성할 수 있다. 이 때, 컴퓨팅 장치(120)가 로컬 좌표계에서의 지도를 생성 가능하게 구현된 경우, 컴퓨팅 장치(120)는 최적화를 통해 로컬 좌표계와 전역 좌표계를 조합하여, 최적화된 지도를 생성할 수 있다. 컴퓨팅 장치(120)는 GNSS 모듈과 같은 고가의 측위 모듈을 구비하지 않으나, 저가의 GPS 수신기를 포함하는 장치들은 컴퓨팅 장치(120)에 해당할 수 있다.According to various embodiments, the computing device 120 may estimate its own global location using the external positioning device 110 . Through this, the computing device 120 may generate a map in the global coordinate system based on its global location. That is, the computing device 120 may generate a map in the global coordinate system without including an expensive positioning module such as a GNSS module. In this case, if the computing device 120 is implemented to generate a map in the local coordinate system, the computing device 120 may generate an optimized map by combining the local coordinate system and the global coordinate system through optimization. The computing device 120 does not include an expensive positioning module such as a GNSS module, but devices including an inexpensive GPS receiver may correspond to the computing device 120 .
다양한 실시예들에 따르면, 컴퓨팅 장치(120)의 방법은, 전역 시간 정보 및 전역 위치 정보를 검출하고, 전역 위치 정보를 나타내는 인공 표식(310, 520)을 포함하는 측위 장치(110)에 인접하여 주행하면서, 인공 표식(310, 520)을 식별하는 단계(230 단계, 1010 단계, 1110 단계), 인공 표식(310, 520)을 기반으로, 측위 장치(110)의 전역 위치 정보 및 전역 시간 정보를 확인하는 단계(250 단계, 1020 단계, 1120 단계), 인공 표식(310, 520)을 기반으로, 측위 장치(110)와 컴퓨팅 장치(120)의 상대 위치 정보를 결정하는 단계(260 단계, 1030 단계, 1130 단계), 및 상대 위치 정보 및 전역 위치 정보를 기반으로, 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보를 결정하는 단계(270 단계, 1040 단계, 1140 단계)를 포함할 수 있다. According to various embodiments, a method of computing device 120 detects global time information and global location information, and proximate location device 110 including artificial indicia 310, 520 representing global location information. While driving, identifying the artificial landmarks 310 and 520 ( steps 230, 1010 and 1110), based on the artificial landmarks 310 and 520, global location information and global time information of the positioning device 110 Determining relative position information of the positioning device 110 and the computing device 120 based on the artificial landmarks 310 and 520 ( steps 250, 1020 and 1120) (steps 260 and 1030) , 1130 ), and determining global location information and global time information of the computing device 120 based on the relative location information and the global location information ( operations 270 , 1040 , and 1140 ).
다양한 실시예들에 따르면, 측위 장치(110)는, 지엔에스에스 위성으로부터 수신되는 지엔에스에스 정보를 기반으로, 전역 시간 정보 및 전역 위치 정보를 검출하도록 구성될 수 있다. According to various embodiments, the positioning device 110 may be configured to detect global time information and global location information based on GPS information received from GPS satellites.
다양한 실시예들에 따르면, 인공 표식(310, 520)을 식별하는 단계(230 단계, 1010 단계, 1110 단계)는, 인공 표식(310, 520)을 촬영하여, 인공 표식(310, 520)을 갖는 이미지를 획득하는 단계, 및 이미지를 분석하여, 측위 장치(110)에 대한 식별 정보를 추출하는 단계를 포함할 수 있다.According to various embodiments, the step of identifying the artificial landmarks 310 and 520 ( steps 230, 1010 and 1110) is to take a picture of the artificial landmarks 310 and 520 to have the artificial landmarks 310 and 520. It may include obtaining an image and extracting identification information about the positioning device 110 by analyzing the image.
다양한 실시예들에 따르면, 측위 장치(110)의 전역 위치 정보 및 전역 시간 정보를 확인하는 단계(250 단계, 1020 단계, 1120 단계)는, 식별 정보를 이용하여, 측위 장치(110)의 전역 위치 정보를 확인하는 단계, 및 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인하는 단계를 포함할 수 있다. According to various embodiments, the steps 250, 1020, and 1120 of checking the global location information and global time information of the positioning device 110 include the global location of the positioning device 110 using the identification information. It may include checking information, and checking global time information of the positioning device 110 corresponding to the global location information of the positioning device 110 .
다양한 실시예들에 따르면, 측위 장치(110)의 전역 시간 정보를 확인하는 단계는, 측위 장치(110)로부터 수신되는 전역 시간 정보를 확인하는 단계(240 단계, 1117 단계), 또는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간으로부터 전역 시간 정보를 확인하는 단계를 포함할 수 있다. According to various embodiments, the checking of the global time information of the positioning device 110 may include checking the global time information received from the positioning device 110 (steps 240 and 1117) or a predetermined global standard time. Based on , checking global time information from a time when an image is acquired may be included.
다양한 실시예들에 따르면, 상대 위치 정보는, 측위 장치(110)와 컴퓨팅 장치(120) 사이의 상대적인 거리, 또는 컴퓨팅 장치(120)에 대한 측위 장치(110)의 상대적인 자세 중 적어도 하나를 포함할 수 있다. According to various embodiments, the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120. can
다양한 실시예들에 따르면, 상대 위치 정보를 결정하는 단계(260 단계, 1030 단계, 1130 단계)는, 카메라 모듈(810) 또는 라이다 센서 중 적어도 하나를 이용하여, 상대 위치 정보를 결정하는 단계를 포함할 수 있다. According to various embodiments, the steps of determining the relative location information ( steps 260, 1030, and 1130) include determining the relative location information using at least one of the camera module 810 or a lidar sensor. can include
다양한 실시예들에 따르면, 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보를 결정하는 단계(270 단계, 1040 단계, 1140 단계)는, 상대 위치 정보 및 측위 장치(110)의 전역 위치 정보를 조합하여, 컴퓨팅 장치(120)의 전역 위치 정보를 결정하는 단계, 및 컴퓨팅 장치(120)의 전역 위치 정보와 관련하여, 측위 장치(110)의 전역 시간 정보로 컴퓨팅 장치(120)의 전역 시간 정보를 결정하는 단계를 포함할 수 있다. According to various embodiments, the steps 270, 1040, and 1140 of determining global location information and global time information of the computing device 120 may include relative location information and global location information of the positioning device 110. In combination, determining the global location information of the computing device 120, and, in relation to the global location information of the computing device 120, the global time information of the computing device 120 as the global time information of the location device 110. It may include the step of determining.
다양한 실시예들에 따르면, 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보는, 전역 좌표계에서의 지도 데이터를 생성하는 데 이용될 수 있다. According to various embodiments, global location information and global time information of the computing device 120 may be used to generate map data in a global coordinate system.
다양한 실시예들에 따르면, 컴퓨팅 장치(120)는, 메모리(860), 및 메모리(860)와 연결되고, 메모리(860)에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서(870)를 포함하고, 프로세서(870)는, 전역 시간 정보 및 전역 위치 정보를 검출하고, 전역 위치 정보를 나타내는 인공 표식(310, 520)을 포함하는 측위 장치(110)에 인접하여 주행하면서, 인공 표식(310, 520)을 식별하고, 인공 표식(310, 520)을 기반으로, 측위 장치(110)의 전역 위치 정보 및 전역 시간 정보를 확인하고, 인공 표식(310, 520)을 기반으로, 측위 장치(110)와 컴퓨팅 장치(120)의 상대 위치 정보를 결정하고, 상대 위치 정보 및 전역 위치 정보를 기반으로, 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보를 결정하도록 구성될 수 있다. According to various embodiments, the computing device 120 includes a memory 860 and a processor 870 coupled to the memory 860 and configured to execute at least one instruction stored in the memory 860, The processor 870 detects the global time information and the global location information, and the artificial landmarks 310 and 520 while driving adjacent to the positioning device 110 including the artificial landmarks 310 and 520 representing the global position information. and, based on the artificial landmarks 310 and 520, determine global location information and global time information of the positioning device 110, and based on the artificial landmarks 310 and 520, the positioning device 110 and computing Determine relative location information of device 120 and, based on the relative location information and global location information, determine global location information and global time information of computing device 120 .
다양한 실시예들에 따르면, 측위 장치(110)는, 위성으로부터 지엔에스에스 정보를 수신하도록 구성되는 측위 모듈(510), 및 지엔에스에스 정보로부터 전역 시간 정보 및 전역 위치 정보를 검출하도록 구성되는 프로세서(550)를 더 포함할 수 있다. According to various embodiments, the positioning device 110 includes a positioning module 510 configured to receive GPS information from a satellite, and a processor 550 configured to detect global time information and global location information from the GPS information. ) may further include.
다양한 실시예들에 따르면, 컴퓨팅 장치(120)는, 프로세서(870)에 연결되는 카메라 모듈(810)을 더 포함하고, 프로세서(870)는, 카메라 모듈(810)을 통해, 인공 표식(310, 520)을 촬영하여, 인공 표식(310, 520)을 갖는 이미지를 획득하고, 이미지를 분석하여, 측위 장치(110)에 대한 식별 정보를 추출하도록 구성될 수 있다. According to various embodiments, the computing device 120 further includes a camera module 810 connected to the processor 870, and the processor 870, via the camera module 810, the artificial landmark 310, 520), obtain images with artificial landmarks 310 and 520, analyze the images, and extract identification information about the positioning device 110.
다양한 실시예들에 따르면, 프로세서(870)는, 식별 정보를 이용하여, 측위 장치(110)의 전역 위치 정보를 확인하고, 측위 장치(110)의 전역 위치 정보에 대응하여, 측위 장치(110)의 전역 시간 정보를 확인하도록 구성될 수 있다. According to various embodiments, the processor 870 checks global location information of the positioning device 110 using the identification information, and in response to the global location information of the positioning device 110, the positioning device 110 It can be configured to check the global time information of.
다양한 실시예들에 따르면, 컴퓨팅 장치(120)는, 프로세서(870)와 연결되는 통신 모듈(830)을 더 포함하고, 프로세서(870)는, 통신 모듈(830)을 통해, 측위 장치(110)로부터 전역 시간 정보를 수신하거나, 또는 미리 정해진 전역 표준시를 기반으로, 이미지가 획득된 시간으로부터 전역 시간 정보를 확인하도록 구성될 수 있다. According to various embodiments, the computing device 120 further includes a communication module 830 connected to the processor 870, and the processor 870, via the communication module 830, the positioning device 110 Global time information may be received from, or based on a predetermined global standard time, global time information may be checked from a time when an image is acquired.
다양한 실시예들에 따르면, 상대 위치 정보는, 측위 장치(110)와 컴퓨팅 장치(120) 사이의 상대적인 거리, 또는 컴퓨팅 장치(120)에 대한 측위 장치(110)의 상대적인 자세 중 적어도 하나를 포함할 수 있다. According to various embodiments, the relative position information may include at least one of a relative distance between the positioning device 110 and the computing device 120 or a relative posture of the positioning device 110 with respect to the computing device 120. can
다양한 실시예들에 따르면, 컴퓨팅 장치(120)는, 프로세서(870)에 연결되는 카메라 모듈(810) 또는 라이다 센서 중 적어도 하나를 더 포함하고, 프로세서(870)는, 카메라 모듈(810) 또는 라이다 센서 중 적어도 하나를 이용하여 검출되는 점 군 데이터를 기반으로, 상대 위치 정보를 결정하도록 구성될 수 있다. According to various embodiments, the computing device 120 further includes at least one of a camera module 810 and a lidar sensor connected to the processor 870, and the processor 870 includes the camera module 810 or It may be configured to determine relative location information based on point cloud data detected using at least one of the LIDAR sensors.
다양한 실시예들에 따르면, 프로세서(870)는, 상대 위치 정보 및 측위 장치(110)의 전역 위치 정보를 조합하여, 컴퓨팅 장치(120)의 전역 위치 정보를 결정하고, 컴퓨팅 장치(120)의 전역 위치 정보와 관련하여, 측위 장치(110)의 전역 시간 정보로 컴퓨팅 장치(120)의 전역 시간 정보를 결정하도록 구성될 수 있다. According to various embodiments, the processor 870 determines the global location information of the computing device 120 by combining the relative location information and the global location information of the positioning device 110, and determines the global location information of the computing device 120. Regarding location information, the global time information of the positioning device 110 may be configured to determine global time information of the computing device 120 .
다양한 실시예들에 따르면, 컴퓨팅 장치(120)의 전역 위치 정보 및 전역 시간 정보는, 전역 좌표계에서의 지도 데이터를 생성하는 데 이용될 수 있다. According to various embodiments, global location information and global time information of the computing device 120 may be used to generate map data in a global coordinate system.
상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능 한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록 수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. The above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer. The medium may continuously store a computer-executable program or temporarily store it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플 리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다. The methods, acts or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or combinations thereof. Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다. In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다. Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be incorporated into a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or may be implemented or performed in any combination of those designed to perform the functions described in A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다. In firmware and/or software implementation, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.
이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되 지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다. Although the embodiments described above have been described as utilizing aspects of the presently disclosed subject matter in one or more stand-alone computer systems, the disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. there is. Further, aspects of the subject matter in this disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across multiple devices. These devices may include PCs, network servers, and portable devices.
본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described with respect to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure that can be understood by those skilled in the art. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.

Claims (19)

  1. 컴퓨팅 장치의 방법에 있어서, In the method of computing device,
    전역 시간 정보 및 전역 위치 정보를 검출하고, 상기 전역 위치 정보를 나타내는 인공 표식을 포함하는 측위 장치에 인접하여 주행하면서, 상기 인공 표식을 식별하는 단계; detecting global time information and global location information and identifying the artificial landmark while driving adjacent to a positioning device including an artificial landmark representing the global position information;
    상기 인공 표식을 기반으로, 상기 측위 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 확인하는 단계;checking the global location information and global time information of the positioning device based on the artificial landmark;
    상기 인공 표식을 기반으로, 상기 측위 장치와 상기 컴퓨팅 장치의 상대 위치 정보를 결정하는 단계; 및determining relative position information between the positioning device and the computing device based on the artificial landmark; and
    상기 상대 위치 정보 및 상기 전역 위치 정보를 기반으로, 상기 컴퓨팅 장치의 전역 위치 정보 및 전역 시간 정보를 결정하는 단계determining global location information and global time information of the computing device based on the relative location information and the global location information;
    를 포함하는,including,
    방법. method.
  2. 제 1 항에 있어서, According to claim 1,
    상기 측위 장치는,The positioning device,
    위성으로부터 수신되는 지엔에스에스 정보를 기반으로, 상기 전역 시간 정보 및 전역 위치 정보를 검출하도록 구성되는Based on GNS information received from a satellite, configured to detect the global time information and global location information
    방법. method.
  3. 제 1 항에 있어서,According to claim 1,
    상기 인공 표식을 식별하는 단계는,Identifying the artificial marker comprises:
    상기 인공 표식을 촬영하여, 상기 인공 표식을 갖는 이미지를 획득하는 단계; 및acquiring an image having the artificial landmark by photographing the artificial landmark; and
    상기 이미지를 분석하여, 상기 측위 장치에 대한 식별 정보를 추출하는 단계Analyzing the image to extract identification information about the positioning device
    를 포함하는,including,
    방법. method.
  4. 제 3 항에 있어서, According to claim 3,
    상기 측위 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 확인하는 단계는,Checking the global location information and the global time information of the positioning device includes:
    상기 식별 정보를 이용하여, 상기 측위 장치의 상기 전역 위치 정보를 확인하는 단계; 및checking the global location information of the positioning device using the identification information; and
    상기 측위 장치의 상기 전역 위치 정보에 대응하여, 상기 측위 장치의 상기 전역 시간 정보를 확인하는 단계checking the global time information of the positioning device in correspondence with the global location information of the positioning device;
    를 포함하는,including,
    방법. method.
  5. 제 4 항에 있어서,According to claim 4,
    상기 측위 장치의 상기 전역 시간 정보를 확인하는 단계는,The step of checking the global time information of the positioning device,
    상기 측위 장치로부터 수신되는 상기 전역 시간 정보를 확인하는 단계; 또는checking the global time information received from the positioning device; or
    미리 정해진 전역 표준시를 기반으로, 상기 이미지가 획득된 시간으로부터 상기 전역 시간 정보를 확인하는 단계Checking global time information from a time when the image is acquired based on a predetermined global standard time
    를 포함하는,including,
    방법. method.
  6. 제 1 항에 있어서,According to claim 1,
    상기 상대 위치 정보는,The relative location information is
    상기 측위 장치와 상기 컴퓨팅 장치 사이의 상대적인 거리, 또는the relative distance between the positioning device and the computing device; or
    상기 컴퓨팅 장치에 대한 상기 측위 장치의 상대적인 자세 Relative attitude of the positioning device to the computing device
    중 적어도 하나를 포함하는,including at least one of
    방법. method.
  7. 제 1 항에 있어서, According to claim 1,
    상기 상대 위치 정보를 결정하는 단계는,The step of determining the relative position information,
    카메라 모듈 또는 라이다(LiDAR) 센서 중 적어도 하나를 이용하여, 상기 상대 위치 정보를 결정하는 단계Determining the relative position information using at least one of a camera module and a LiDAR sensor
    를 포함하는,including,
    방법. method.
  8. 제 1 항에 있어서, According to claim 1,
    상기 컴퓨팅 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 결정하는 단계는,Determining the global location information and the global time information of the computing device comprises:
    상기 상대 위치 정보 및 상기 측위 장치의 상기 전역 위치 정보를 조합하여, 상기 컴퓨팅 장치의 상기 전역 위치 정보를 결정하는 단계; 및combining the relative position information and the global position information of the positioning device to determine the global position information of the computing device; and
    상기 컴퓨팅 장치의 상기 전역 위치 정보와 관련하여, 상기 측위 장치의 상기 전역 시간 정보로 상기 컴퓨팅 장치의 상기 전역 시간 정보를 결정하는 단계determining the global time information of the computing device with the global time information of the positioning device, in relation to the global location information of the computing device;
    를 포함하는,including,
    방법. method.
  9. 제 1 항에 있어서, According to claim 1,
    상기 컴퓨팅 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보는,The global location information and the global time information of the computing device,
    전역 좌표계에서의 지도 데이터를 생성하는 데 이용되는,used to generate map data in the global coordinate system,
    방법. method.
  10. 제 1 항의 방법을 상기 컴퓨팅 장치에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체.A non-transitory computer readable recording medium having recorded thereon a program for executing the method of claim 1 in the computing device.
  11. 컴퓨팅 장치에 있어서, In a computing device,
    메모리; 및Memory; and
    상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, a processor coupled with the memory and configured to execute at least one instruction stored in the memory;
    상기 프로세서는, the processor,
    전역 시간 정보 및 전역 위치 정보를 검출하고, 상기 전역 위치 정보를 나타내는 인공 표식을 포함하는 측위 장치에 인접하여 주행하면서, 상기 인공 표식을 식별하고, detecting global time information and global positioning information and identifying the artificial landmark while driving adjacent to a positioning device comprising an artificial landmark representing the global positioning information;
    상기 인공 표식을 기반으로, 상기 측위 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보를 확인하고, Based on the artificial landmark, determine the global location information and global time information of the positioning device;
    상기 인공 표식을 기반으로, 상기 측위 장치와 상기 컴퓨팅 장치의 상대 위치 정보를 결정하고, Based on the artificial landmark, determine relative position information between the positioning device and the computing device;
    상기 상대 위치 정보 및 상기 전역 위치 정보를 기반으로, 상기 컴퓨팅 장치의 전역 위치 정보 및 전역 시간 정보를 결정하도록Determine global location information and global time information of the computing device based on the relative location information and the global location information.
    구성되는, made up,
    컴퓨팅 장치. computing device.
  12. 제 11 항에 있어서, According to claim 11,
    상기 측위 장치는,The positioning device,
    위성으로부터 지엔에스에스 정보를 수신하도록 구성되는 측위 모듈; 및a positioning module configured to receive GPS information from a satellite; and
    상기 지엔에스에스 정보로부터 상기 전역 시간 정보 및 전역 위치 정보를 검출하도록 구성되는 프로세서A processor configured to detect the global time information and global location information from the GNS information
    를 더 포함하는,Including more,
    컴퓨팅 장치.computing device.
  13. 제 11 항에 있어서, According to claim 11,
    상기 프로세서에 연결되는 카메라 모듈Camera module connected to the processor
    을 더 포함하고,Including more,
    상기 프로세서는,the processor,
    상기 카메라 모듈을 통해, 상기 인공 표식을 촬영하여, 상기 인공 표식을 갖는 이미지를 획득하고,Obtaining an image having the artificial landmark by photographing the artificial landmark through the camera module;
    상기 이미지를 분석하여, 상기 측위 장치에 대한 식별 정보를 추출하도록Analyze the image to extract identification information about the positioning device.
    구성되는,made up,
    컴퓨팅 장치.computing device.
  14. 제 13 항에 있어서, According to claim 13,
    상기 프로세서는,the processor,
    상기 식별 정보를 이용하여, 상기 측위 장치의 상기 전역 위치 정보를 확인하고,Checking the global location information of the positioning device using the identification information;
    상기 측위 장치의 상기 전역 위치 정보에 대응하여, 상기 측위 장치의 상기 전역 시간 정보를 확인하도록Corresponding to the global location information of the positioning device, check the global time information of the positioning device.
    구성되는,made up,
    컴퓨팅 장치. computing device.
  15. 제 14 항에 있어서, 15. The method of claim 14,
    상기 프로세서와 연결되는 통신 모듈Communication module connected to the processor
    을 더 포함하고, Including more,
    상기 프로세서는, the processor,
    상기 통신 모듈을 통해, 상기 측위 장치로부터 상기 전역 시간 정보를 수신하거나, 또는Receiving the global time information from the positioning device through the communication module; or
    미리 정해진 전역 표준시를 기반으로, 상기 이미지가 획득된 시간으로부터 상기 전역 시간 정보를 확인하도록Based on a predetermined global standard time, to check the global time information from the time when the image was acquired.
    구성되는,made up,
    컴퓨팅 장치. computing device.
  16. 제 11 항에 있어서, According to claim 11,
    상기 상대 위치 정보는,The relative location information is
    상기 측위 장치와 상기 컴퓨팅 장치 사이의 상대적인 거리, 또는the relative distance between the positioning device and the computing device; or
    상기 컴퓨팅 장치에 대한 상기 측위 장치의 상대적인 자세 Relative attitude of the positioning device to the computing device
    중 적어도 하나를 포함하는,including at least one of
    컴퓨팅 장치. computing device.
  17. 제 11 항에 있어서, According to claim 11,
    상기 프로세서에 연결되는 카메라 모듈 또는 라이다 센서 중 적어도 하나At least one of a camera module or lidar sensor connected to the processor
    를 더 포함하고, Including more,
    상기 프로세서는,the processor,
    상기 카메라 모듈 또는 상기 라이다 센서 중 적어도 하나를 이용하여, 상기 상대 위치 정보를 결정하도록To determine the relative position information using at least one of the camera module and the LIDAR sensor
    구성되는,made up,
    컴퓨팅 장치. computing device.
  18. 제 11 항에 있어서, According to claim 11,
    상기 프로세서는, the processor,
    상기 상대 위치 정보 및 상기 측위 장치의 상기 전역 위치 정보를 조합하여, 상기 컴퓨팅 장치의 상기 전역 위치 정보를 결정하고,combine the relative position information and the global position information of the positioning device to determine the global position information of the computing device;
    상기 컴퓨팅 장치의 상기 전역 위치 정보와 관련하여, 상기 측위 장치의 상기 전역 시간 정보로 상기 컴퓨팅 장치의 상기 전역 시간 정보를 결정하도록With respect to the global location information of the computing device, determine the global time information of the computing device with the global time information of the positioning device.
    구성되는,made up,
    컴퓨팅 장치. computing device.
  19. 제 11 항에 있어서, According to claim 11,
    상기 컴퓨팅 장치의 상기 전역 위치 정보 및 상기 전역 시간 정보는,The global location information and the global time information of the computing device,
    전역 좌표계에서의 지도 데이터를 생성하는 데 이용되는,used to generate map data in the global coordinate system,
    컴퓨팅 장치. computing device.
PCT/KR2022/012968 2021-09-17 2022-08-30 Computing device for estimating global position by using external positioning device, and method therefor WO2023043092A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0125119 2021-09-17
KR1020210125119A KR20230041461A (en) 2021-09-17 2021-09-17 Computing device and method for estimating global location using external positioning device

Publications (1)

Publication Number Publication Date
WO2023043092A1 true WO2023043092A1 (en) 2023-03-23

Family

ID=85603144

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/012968 WO2023043092A1 (en) 2021-09-17 2022-08-30 Computing device for estimating global position by using external positioning device, and method therefor

Country Status (2)

Country Link
KR (1) KR20230041461A (en)
WO (1) WO2023043092A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6501437B1 (en) * 2018-07-10 2019-04-17 国立研究開発法人宇宙航空研究開発機構 Satellite positioning system and satellite positioning method
JP2019211448A (en) * 2018-06-08 2019-12-12 清水建設株式会社 Mutual position acquisition system
US20200025944A1 (en) * 2018-07-20 2020-01-23 Trimble Nantes S.A.S. Portable positioning devices and methods for obtaining a geospatial position
JP6708328B2 (en) * 2016-07-05 2020-06-10 国立研究開発法人宇宙航空研究開発機構 Satellite positioning system and satellite positioning method
KR20210111180A (en) * 2020-03-02 2021-09-10 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Method, apparatus, computing device and computer-readable storage medium for positioning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6708328B2 (en) * 2016-07-05 2020-06-10 国立研究開発法人宇宙航空研究開発機構 Satellite positioning system and satellite positioning method
JP2019211448A (en) * 2018-06-08 2019-12-12 清水建設株式会社 Mutual position acquisition system
JP6501437B1 (en) * 2018-07-10 2019-04-17 国立研究開発法人宇宙航空研究開発機構 Satellite positioning system and satellite positioning method
US20200025944A1 (en) * 2018-07-20 2020-01-23 Trimble Nantes S.A.S. Portable positioning devices and methods for obtaining a geospatial position
KR20210111180A (en) * 2020-03-02 2021-09-10 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Method, apparatus, computing device and computer-readable storage medium for positioning

Also Published As

Publication number Publication date
KR20230041461A (en) 2023-03-24

Similar Documents

Publication Publication Date Title
US11127203B2 (en) Leveraging crowdsourced data for localization and mapping within an environment
JP6255085B2 (en) Locating system and locating method
WO2011096668A2 (en) Method for providing information on object within view of terminal device, terminal device for same and computer-readable recording medium
WO2017086561A1 (en) Landmark location determination
WO2013039306A1 (en) Method and apparatus for providing information based on a location
WO2019240452A1 (en) Method and system for automatically collecting and updating information related to point of interest in real space
CN111256701A (en) Equipment positioning method and system
WO2019194424A1 (en) Electronic device for generating map data and operation method thereof
WO2021075772A1 (en) Object detection method and device using multiple area detection
WO2022186411A1 (en) Location-based smart home control method and system
WO2021241847A1 (en) Method and system for generating visual feature map
CN111026107A (en) Method and system for determining the position of a movable object
WO2021045445A1 (en) Driver's license test processing device
WO2016182179A1 (en) User terminal apparatus and controlling method thereof
WO2020022772A1 (en) Method for calibrating sensor or azimuth information obtained through sensor, based on azimuth information obtained using satellite positioning circuit, and electronic device supporting the same
WO2023043092A1 (en) Computing device for estimating global position by using external positioning device, and method therefor
WO2021125578A1 (en) Position recognition method and system based on visual information processing
WO2020209551A1 (en) Portable apparatus for measuring air quality and method for displaying information about air quality
WO2020145653A1 (en) Electronic device and method for recommending image capturing place
WO2021080163A1 (en) Electronic device for detecting location and method thereof
WO2021177785A1 (en) Location determination method and electronic device for supporting same
WO2019124728A1 (en) Apparatus and method for identifying object
WO2021182845A1 (en) Method for processing data used for location determination and electronic device supporting same
US20230089061A1 (en) Space recognition system, space recognition method, information terminal, and server apparatus
WO2016035992A1 (en) Device for establishing interior map

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

Country of ref document: EP

Kind code of ref document: A1