WO2017213373A1 - 전자 장치, 외부 서버 및 그 제어 방법 - Google Patents

전자 장치, 외부 서버 및 그 제어 방법 Download PDF

Info

Publication number
WO2017213373A1
WO2017213373A1 PCT/KR2017/005627 KR2017005627W WO2017213373A1 WO 2017213373 A1 WO2017213373 A1 WO 2017213373A1 KR 2017005627 W KR2017005627 W KR 2017005627W WO 2017213373 A1 WO2017213373 A1 WO 2017213373A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
candidate
candidate positions
valid
request
Prior art date
Application number
PCT/KR2017/005627
Other languages
English (en)
French (fr)
Inventor
박찬주
장준익
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP17810496.4A priority Critical patent/EP3453494B1/en
Priority to US16/307,304 priority patent/US10948925B2/en
Publication of WO2017213373A1 publication Critical patent/WO2017213373A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • G05D1/0282Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Definitions

  • the present invention relates to an electronic device, an external server, and a control method thereof, and more particularly, to a method of estimating a simultaneous position of a moving electronic device and creating a map.
  • the robot device moves the room using the wheels provided in the robot device, and continuously and statistically estimates its position in the indoor place while moving, and estimates the indoor information around the estimated location. Use to map the room.
  • SLAM simultaneous localization and map-building
  • the conventional robot apparatus can estimate a plurality of candidate positions (eg, particles) that are candidates for its current position using SLAM technology, and continuously correct the plurality of candidate positions to at least By selecting candidate positions of, candidate positions close to the actual positions can be calculated.
  • candidate positions eg, particles
  • the robot apparatus may calculate valid candidate positions using peripheral information (eg, an image detected by the robot apparatus in real time) currently obtained by the robot apparatus among a plurality of candidate positions.
  • peripheral information eg, an image detected by the robot apparatus in real time
  • a large amount of arithmetic processing must be possible.
  • the present invention has been made to solve the above-mentioned problems or other problems, and can provide a more effective method for quickly and easily calculating effective candidate positions for a robotic device.
  • an electronic device may include a communication module; A sensor module configured to obtain movement information of an electronic device and image information of a place where the electronic device moves; A memory for storing spatial information corresponding to a place to which the electronic device moves; And determine a plurality of first candidate positions corresponding to the electronic device in the place by using the movement information and the spatial information, and based on the image information and the plurality of first candidate positions. It is determined whether the position accuracy corresponding to the first candidate positions is smaller than an effective value, and based on the determination result, at least one of the plurality of first candidate positions using one of the electronic device and an external server. And a processor configured to acquire a second candidate position and determine an estimated position of the electronic device by using the obtained at least one second candidate position.
  • a server may include: a communication unit configured to obtain movement information of a first electronic device and image information of a place where the first electronic device moves; A memory for storing spatial information corresponding to a place where the first electronic device moves; And receiving a plurality of first candidate locations corresponding to the first electronic device from the first electronic device by using the communication unit, and at least one second of the plurality of first candidate locations from the first electronic device. And obtaining a request for candidate positions, and determining the at least one second candidate position and transmitting the at least one second candidate position to the first electronic device.
  • the robot apparatus may request a server to calculate a valid candidate position, thereby reducing the amount of computation performed in the robot apparatus.
  • the robot apparatus requests the server to calculate a valid candidate position only when it is absolutely necessary based on a condition for the valid candidate position, for the server and the robot apparatus.
  • FIG. 1 is a block diagram of an electronic device and a network according to various embodiments of the present disclosure.
  • FIG. 2 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • FIG. 3 is a block diagram of a program module according to various embodiments of the present disclosure.
  • FIG. 4 is a flowchart illustrating a control method of an electronic device according to various embodiments of the present disclosure.
  • FIG. 5 illustrates an operation of determining a plurality of first candidate positions according to various embodiments.
  • FIG. 6 illustrates an operation of obtaining at least one second candidate position according to various embodiments.
  • FIG. 7 illustrates an operation of obtaining at least one second candidate position according to various embodiments.
  • FIG. 8 illustrates an operation of determining an estimated position according to various embodiments of the present disclosure.
  • FIG 9 illustrates an operation of moving candidate positions and estimated positions according to various embodiments.
  • FIG. 10 illustrates an operation of obtaining a second candidate position based on uncertainty according to various embodiments.
  • FIG. 11 is a flowchart illustrating a control method of a server according to various embodiments of the present disclosure.
  • FIG. 12 illustrates an operation of transmitting, by a server, second candidate positions according to various embodiments.
  • FIG. 13 illustrates an operation of determining an estimated position by an electronic device according to various embodiments of the present disclosure.
  • FIG. 14 illustrates an electronic device for transmitting first candidate positions to a server according to various embodiments of the present disclosure.
  • 15 illustrates an electronic device for transmitting landmark information to a server according to various embodiments of the present disclosure.
  • FIG. 16 illustrates an electronic device for transmitting 3D recognition information to a server according to various embodiments of the present disclosure.
  • FIG. 17 illustrates an electronic device for transmitting image information to a server according to various embodiments of the present disclosure.
  • FIG. 18 illustrates a memory of a server according to various embodiments.
  • 19 illustrates a server for determining a second candidate position according to various embodiments.
  • 20 illustrates an operation of controlling a server and an electronic device based on location accuracy of second candidate locations according to various embodiments of the present disclosure.
  • 21A and 21B illustrate an operation of controlling a server and an electronic device based on a network state between the server and the electronic device according to various embodiments of the present disclosure.
  • FIG. 22 illustrates an operation of controlling a server and an electronic device based on a map (map) state of a place where an electronic device is located according to various embodiments of the present disclosure.
  • the expression “device configured to” may mean that the device “can” together with other devices or components.
  • processor configured (or configured to) perform A, B, and C may be implemented by executing a dedicated processor (eg, an embedded processor) to perform its operation, or one or more software programs stored in a memory device. It may mean a general purpose processor (eg, a CPU or an application processor) capable of performing the corresponding operations.
  • An electronic device may be, for example, a smartphone, a tablet PC, a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a PMP. It may include at least one of a portable multimedia player, an MP3 player, a medical device, a camera, or a wearable device. Wearable devices may be accessory (e.g. watches, rings, bracelets, anklets, necklaces, eyeglasses, contact lenses, or head-mounted-devices (HMDs), textiles or clothing integrated (e.g.
  • HMDs head-mounted-devices
  • an electronic device may comprise, for example, a television, a digital video disk (DVD) player, Audio, Refrigerator, Air Conditioner, Cleaner, Oven, Microwave Oven, Washing Machine, Air Purifier, Set Top Box, Home Automation Control Panel, Security Control Panel, Media Box (e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM ) , A game console (eg, Xbox TM , PlayStation TM ), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
  • DVD digital video disk
  • the electronic device may include a variety of medical devices (e.g., various portable medical measuring devices such as blood glucose meters, heart rate monitors, blood pressure meters, or body temperature meters), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), Computed tomography (CT), cameras or ultrasounds), navigation devices, global navigation satellite systems (GNSS), event data recorders (EDRs), flight data recorders (FDRs), automotive infotainment devices, ship electronics (E.g., various portable medical measuring devices such as blood glucose meters, heart rate monitors, blood pressure meters, or body temperature meters), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), Computed tomography (CT), cameras or ultrasounds), navigation devices, global navigation satellite systems (GNSS), event data recorders (EDRs), flight data recorders (FDRs), automotive infotainment devices, ship electronics (E.g.
  • various portable medical measuring devices such as blood glucose meters, heart rate monitors, blood pressure meters, or body temperature meters
  • MRA magnetic resonance angiography
  • an electronic device may be a part of a furniture, building / structure or automobile, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, water, electricity, Gas, or a radio wave measuring instrument).
  • the electronic device may be flexible or a combination of two or more of the aforementioned various devices.
  • Electronic devices according to embodiments of the present disclosure are not limited to the above-described devices.
  • the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) that uses an electronic device.
  • module includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, components, or circuits.
  • the module may be an integrally formed part or a minimum unit or part of performing one or more functions.
  • Modules may be implemented mechanically or electronically, for example, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or known or future developments that perform certain operations. It can include a programmable logic device.
  • ASIC application-specific integrated circuit
  • FPGAs field-programmable gate arrays
  • At least a portion of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to various embodiments may be implemented by instructions stored in a computer-readable storage medium in the form of a program module.
  • Computer-readable recording media include hard disks, floppy disks, magnetic media (e.g. magnetic tape), optical recording media (e.g. CD-ROM, DVD, magnetic-optical media (e.g. floppy disks), internal memory, etc.
  • Instructions may include code generated by a compiler or code executable by an interpreter Modules or program modules according to various embodiments may include at least one or more of the above-described components. In some embodiments, operations performed by a module, a program module, or another component may be executed sequentially, in parallel, repeatedly, or heuristically, or at least, or may include other components. Some operations may be executed in a different order, omitted, or other operations may be added.
  • FIG 1 illustrates an electronic device according to various embodiments of the present disclosure.
  • the electronic device 101 may include a communication module 110, a processor 120, a memory 140, a laser sensor 131, an acoustic sensor 132, and a camera sensor. 133, the illumination sensor 134, and / or the movement module 135.
  • the communication module 110 may transmit / receive data with the cloud server 102, which is a server outside the electronic device 101.
  • the laser sensor 131, the acoustic sensor 132, the camera sensor 133, and the illuminance sensor 134 may be included in one sensor module.
  • the sensor module 131, 132, 133, and 134 may acquire movement information of the electronic device 101 and / or a sensing signal for a place where the electronic device 101 moves by using the sensing signal.
  • the laser sensor 131 may emit a laser around the electronic device 101 and obtain a reflected laser.
  • the acoustic sensor 132 may emit sound around the electronic device 101, and acquire the reflected sound.
  • the camera sensor 133 may acquire image information by photographing an object around the electronic device 101.
  • the illuminance sensor 134 may acquire light around the electronic device 101.
  • the memory 140 may store spatial information (eg, a map) corresponding to a place where the electronic device 101 moves.
  • spatial information eg, a map
  • the processor 120 may control a component in the electronic device 101.
  • the processor 120 may receive sensing signals (eg, reflected laser, reflected sound, image information, and ambient light) acquired by each sensor module 131, 132, 133, and 134, and sensed signals. Based on the movement information of the electronic device 101 may be obtained.
  • the processor 120 may determine a plurality of first candidate positions corresponding to the electronic device 101 in a place by using the spatial information stored in the memory 140 and the movement information of the electronic device 101. have.
  • the processor 120 may select one of the plurality of first candidate positions according to a predetermined condition (eg, uncertainty information on the plurality of first candidate positions) based on a sensing signal (eg, image information).
  • a predetermined condition eg, uncertainty information on the plurality of first candidate positions
  • a sensing signal eg, image information
  • the device 101 and / or the cloud server 102 may be used to obtain at least one second candidate position among the plurality of first candidate positions.
  • the processor 120 may determine the estimated position of the electronic device 101 using at least one second candidate position.
  • the mobile module 135 may move the electronic device 101 in a location based on a control signal of the processor 120.
  • the movement module 135 may include wheels.
  • the movement module 135 may include an acceleration sensor.
  • the movement module 135 may move the electronic device 101 in a place and acquire movement information including information about a movement distance, a movement direction, a movement speed, and a movement acceleration of the electronic device 101.
  • the obtained movement information may be transmitted to the processor 120.
  • FIG. 2 illustrates a server according to various embodiments.
  • server 202 may be a cloud server (eg, cloud server 102) of FIG. 1.
  • the server 202 may be configured to acquire movement information of the electronic device 201 and image information of a place where the electronic device 201 moves from the electronic device 201, and the electronic apparatus.
  • a memory 230 for storing spatial information corresponding to a place where the device 201 moves, and / or a plurality of first candidate locations corresponding to the electronic device 201 from the electronic device 201,
  • the electronic device 201 may obtain a request for at least one second candidate location from among the plurality of first candidate locations through the communication unit 210, and may include a plurality of first candidate locations, movement information, and an image.
  • the processor 220 may include a processor 220 that may determine at least one second candidate location using information and transmit the at least one second candidate location to the electronic device 201.
  • FIG. 3 is a diagram illustrating a location where a server and an electronic device are located according to various embodiments of the present disclosure.
  • the electronic device 301 uses a mobile module (eg, the mobile module 135) driven under the control of the processor (eg, the processor 120). You can move within.
  • a mobile module eg, the mobile module 135
  • the processor eg, the processor 120
  • the electronic device 301 may transmit a request for the second candidate positions to the server 302 while moving within the place, and receive the second candidate positions from the server 302 in response to the request. can do.
  • FIG. 4 is a flowchart illustrating a control method of an electronic device according to various embodiments of the present disclosure.
  • a processor eg, the processor 120 of the electronic device (eg, the electronic device 301) may provide movement information about the electronic device 301. Can be obtained using a mobile module (eg, mobile module 135).
  • the processor 120 may acquire image information of a place where the electronic device 301 moves using a sensor module (eg, sensor modules 131, 132, 133, and 134). have.
  • a sensor module eg, sensor modules 131, 132, 133, and 134.
  • the processor 120 may store spatial information of a moving place in a memory (eg, the memory 140).
  • the processor 120 may include a plurality of agents indicating candidates for the location of the electronic device 301 in the spatial information (eg, a map) of the moving place using the movement information and the spatial information.
  • One candidate position can be determined.
  • the processor 120 may determine the second candidate location according to a predetermined condition among the plurality of first candidate locations based on the image information, and the electronic device 301 and / or the server 302. Using at least one second candidate position can be obtained.
  • the processor 120 may calculate uncertainty for the plurality of first candidate locations. For example, the processor 120 may calculate uncertainty about the plurality of first candidate positions using the image information. For example, the processor 120 may compare image information with each of the plurality of first candidate positions, and determine positional accuracy of each of the plurality of first candidate positions based on the comparison result, and determine each of the plurality of first candidates. The uncertainty for the plurality of first candidate locations may be calculated based on the sum of the location accuracy for the location.
  • the processor 120 may use at least one second of the plurality of first candidate positions using one of the electronic device 301 and the server 302 based on the uncertainty of the plurality of first candidate positions.
  • Candidate positions may be obtained. For example, if the uncertainty of the plurality of first candidate positions satisfies a preset condition, the processor 120 uses the server 302 to select at least one second candidate position among the plurality of first candidate positions. Can be obtained. For example, if the uncertainty of the plurality of first candidate positions does not satisfy a preset condition, the processor 120 uses the processor (eg, the processor 120) in the electronic device 301 itself. At least one second candidate position among the first candidate positions may be obtained.
  • the processor 120 may determine an uncertainty by determining whether a ratio of valid candidate positions among the plurality of first candidate positions is equal to or greater than a preset ratio.
  • the effective candidate position may include a probability that the electronic device 301 exists at each candidate position among the plurality of first candidate positions, that is, a candidate position having a position accuracy value equal to or greater than a preset position accuracy value, that is, a valid value.
  • the processor 120 has a high uncertainty (eg, unreliable) regarding the plurality of first candidate positions. You can judge.
  • the processor 120 determines that the uncertainty of the plurality of first candidate positions is low (eg, reliable). can do.
  • the at least one second candidate position may include a ratio of more effective candidate positions than a ratio of valid candidate positions among the plurality of first candidate positions. That is, the processor 120 may obtain at least one second candidate position that includes a ratio of valid candidate positions that is greater than a ratio of valid candidate positions in the plurality of first candidate positions.
  • the processor 120 may adjust the valid value based on network state information between the electronic device 301 and the server 302. For example, when the network condition between the electronic device 301 and the server 302 is in a bad state, the processor 120 may increase the valid value, and thus, in more cases, the electronic device 301 may be used by using the electronic device 301. Second candidate locations may be obtained to prevent traffic overflow in the network.
  • the processor 120 may determine an estimated position using at least one second candidate position.
  • FIG. 5 illustrates an operation of determining a plurality of first candidate positions according to various embodiments.
  • a processor eg, the processor 120 of the electronic device 501 obtains movement information of the electronic device 501 from a mobile module (eg, the mobile module 135). And a plurality of first candidate positions 511, 512, 513, 514, 515, and 516 corresponding to the electronic device 501 using spatial information and movement information stored in a memory (eg, the memory 140). , 517).
  • FIG. 6 illustrates an operation of obtaining at least one second candidate position according to various embodiments.
  • a camera sensor eg, camera sensor 133 of the electronic device 601 may acquire image information 660 of an object around the electronic device 601.
  • the acquired image information 660 may be transmitted to a processor (eg, the processor 120).
  • the processor 120 may calculate uncertainty for a plurality of first candidate positions (eg, a plurality of first candidate positions 511, 512, 513, 514, 515, 516, 517),
  • the image information 660 is compared with each of the plurality of first candidate positions 511, 512, 513, 514, 515, 516, and 517 based on a result 661, 662, 663, and 664 of at least one agent.
  • Two candidate positions 611, 612, 613, and 614 may be obtained.
  • FIG. 7 illustrates an operation of obtaining at least one second candidate position according to various embodiments.
  • a camera sensor eg, the camera sensor 133 may be provided to the first image information 760 and / or another object of one object around the electronic device 701.
  • the second image information 770 may be obtained.
  • the processor may use the first image information 760 and / or the second image information 770 to transmit a plurality of first candidate positions (eg, a plurality of first candidates).
  • a plurality of first candidate positions eg, a plurality of first candidates.
  • FIG. 8 illustrates an operation of determining an estimated position according to various embodiments of the present disclosure.
  • the processor may use the at least one second candidate location 811, 812, 813, 814 to estimate the location 810 for the electronic device. Can be determined.
  • FIG 9 illustrates an operation of moving candidate positions and estimated positions according to various embodiments.
  • the processor may include at least one second candidate location 911, 912, 913, and 914.
  • the estimated position 910 may be moved within the spatial information based on the movement information of the electronic device.
  • FIG. 10 illustrates an operation of obtaining a second candidate position based on uncertainty according to various embodiments.
  • the processor may include a plurality of first candidate positions 1011, 1012, 1013, 1014, 1015, 1016, corresponding to the electronic device 1001. Uncertainty about 1017, 1018, 1019, 1020, and 1021 may be determined, and as a result of the determination, the plurality of first candidate positions 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, If the ratio of the valid candidate positions in 1021 is smaller than the preset valid candidate ratio, the server 1002 may request the at least one second candidate position.
  • FIG. 11 is a flowchart illustrating a control method of a server according to various embodiments of the present disclosure.
  • a server eg, the communication unit (eg, the communication unit 210) of the server 1002) may include one or more electronic devices (eg, the electronic device 1001). May receive a request for a second candidate location from the.
  • the processor may receive image information from each electronic device 1001.
  • the processor 220 may determine whether there are a plurality of electronic devices that transmit the request.
  • the processor 220 may receive a request from each electronic device 1001 using the communication unit 210, and the request may include at least one of a plurality of first candidate positions corresponding to each electronic device. It may include a request for two candidate locations.
  • the first electronic device may transmit a request for at least one second candidate location among a plurality of first candidate locations corresponding to the first electronic device to the server 1002, At the same time, among the one or more electronic devices, at least the ratio of the effective candidate positions is greater than the plurality of third candidate positions among the plurality of third candidate positions corresponding to the second electronic device to the server 1002.
  • a request for one fourth candidate positions may be sent.
  • the processor 220 may determine the priority of each electronic device 1001 according to a preset condition.
  • the processor 220 has a high priority for a request received from an electronic device having a low ratio of valid candidate positions among a plurality of first candidate positions or third candidate positions of the first electronic device and the second electronic device.
  • the request determined as the highest priority may be selected, and at least one second candidate position or fourth candidate positions corresponding to the electronic device that transmitted the selected request may be determined.
  • the first electronic device and the second electronic device are located in the plurality of first candidate positions corresponding to the respective electronic devices.
  • the ratio of valid candidate positions among the third candidate positions may be adjusted based on network state information between each electronic device and the server 1002.
  • the processor 220 of the server 1002 may compare the size of the ratio of each valid candidate location adjusted based on the network state information between each electronic device and the server 1002 and based on the comparison result.
  • a request received from an electronic device having a lower ratio of valid candidate positions may be determined as a high priority.
  • the first electronic device and the second electronic device are located in the plurality of first candidate positions corresponding to the respective electronic devices.
  • the ratio of valid candidate positions among the third candidate positions may be adjusted based on a state (eg, complexity) of spatial information in which each electronic device is located.
  • the processor 220 of the server 1002 may compare the size of the ratio of each effective candidate position adjusted based on the state (eg, complexity) of the spatial information in which each electronic device is located, and compare the result. Based on the request, a request received from an electronic device having a lower ratio of valid candidate positions may be determined as a high priority.
  • the processor 220 may obtain a second candidate position for each electronic device 1001 based on the image information, and in operation S1106, correspond to each electronic device 1001.
  • the second candidate location may be transmitted to each electronic device 1001.
  • FIG. 12 illustrates an operation of transmitting, by a server, second candidate positions according to various embodiments.
  • the server 1202 may correspond to a request sent from the electronic device 1201 and may include at least one of the space information 1210 in the spatial information 1210 of the place where the electronic device 1201 moves. Second candidate positions 1211, 1212, 1213, and 1214 may be obtained.
  • the server 1202 may transmit at least one second candidate location 1211, 1212, 1213, 1214 to the electronic device 1201.
  • FIG. 13 illustrates an operation of determining an estimated position by an electronic device according to various embodiments of the present disclosure.
  • a processor (eg, the processor 120) of the electronic device may include at least one agent transmitted from a server (eg, the server 1202).
  • the estimated positions 1310 for the electronic device 1201 may be determined using the two candidate positions 1311, 1312, 1313, and 1314.
  • FIG. 14 illustrates an electronic device for transmitting first candidate positions to a server according to various embodiments of the present disclosure.
  • a processor of the electronic device 1401 is a server 1402 and a plurality of first candidate positions 1411 and 1412 in the spatial information 1410. , 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, and 1422.
  • 15 illustrates an electronic device for transmitting landmark information to a server according to various embodiments of the present disclosure.
  • a processor (eg, the processor 120) of the electronic device 1501 may include a sensor module (eg, the sensor module 131) of the electronic device 1501 within the spatial information 1530. Landmark information 1531, 1532, and 1533 around the first candidate positions 1510 acquired by the first and second candidate positions 1510 may be transmitted to the server 1502.
  • FIG. 16 illustrates an electronic device for transmitting 3D recognition information to a server according to various embodiments of the present disclosure.
  • a processor eg, the processor 120 of the electronic device 1601 may include a sensor module (eg, the sensor modules 131, 132, 133, and 134) within the spatial information 1540.
  • the 3D recognition information 1541, 1542, and 1543 of the object around the electronic device 1601 obtained by the CPA may be transmitted to the server 1602.
  • FIG. 17 illustrates an electronic device for transmitting image information to a server according to various embodiments of the present disclosure.
  • a processor (eg, the processor 120) of the electronic device 1701 may be configured by a sensor module (eg, the sensor module 131, 132, 133, or 134) in spatial information.
  • the obtained image information 1750 of the object around the electronic device 1701 may be transmitted to the server 1702.
  • FIG. 18 illustrates a memory of a server according to various embodiments.
  • the server 1801 may include a plurality of first candidate positions 1810, landmark information 1830, and 3D recognition information 1840 transmitted from the electronic device 1801. And / or receive image information 1850, and receive the plurality of received first candidate positions 1810, landmark information 1830, 3D recognition information 1840, and / or image information 1850. It may be stored in the memory 1805.
  • 19 illustrates a server for determining a second candidate position according to various embodiments.
  • a processor eg, the processor 220 of the server 1902 may store a memory 1950. At least one second candidate position 1911, 1912 using the plurality of first candidate positions 1910, the landmark information 1930, the 3D recognition information 1940, and / or the image information 1950. , 1913).
  • 20 illustrates an operation of controlling a server and an electronic device based on location accuracy of second candidate locations according to various embodiments of the present disclosure.
  • a processor eg, the processor 120 of the electronic device 2001 may determine a plurality of first candidate positions corresponding to the electronic device 2001, The sum of the positional accuracy for each of the first candidate positions may be calculated, and it may be determined whether the sum of the respective positional accuracy is greater than or equal to a preset valid value.
  • the processor 120 may use the server 2002 to perform at least the server 2002.
  • One second candidate position may be obtained.
  • the processor 120 is not in the server 2002 but in the electronic device 2001. At least one second candidate location may be obtained using the electronic device 2001.
  • 21A and 21B illustrate an operation of controlling a server and an electronic device based on a network state between the server and the electronic device according to various embodiments of the present disclosure.
  • the processor may determine a location accuracy. Since the preset valid value can be adjusted downward, the sum of the positional accuracy for the plurality of first candidate positions over the entire section T 1 of the graph section illustrated in FIG. 21A exceeds the valid value. At least one second candidate position may be obtained using the electronic device 2101a in the electronic device 2101a rather than the server 2102a during the entire period T 1 .
  • the processor may determine the location accuracy.
  • the preset valid value may be adjusted upward, and accordingly, the sum of the positional accuracy for the plurality of first candidate positions in T 2 of the entire sections of the graph sections illustrated in FIG. 21B exceeds the valid value.
  • At least one second candidate position may be obtained using the electronic device 2101b within the electronic device 2101b instead of the server 2102b during the period T 2 , and a plurality of second candidate positions may be obtained in T 1 and T 3 of the entire period. Since the sum of the position accuracy for the first candidate positions does not exceed a valid value, at least one second candidate position may be obtained using the server 2102b during T 1 and T 3 .
  • FIG. 22 illustrates an operation of controlling a server and an electronic device based on a map (map) state of a place where an electronic device is located according to various embodiments of the present disclosure.
  • the processor eg, the processor 120
  • the processor May upwardly adjust a preset valid value for the position accuracy, and accordingly, the sum of the position accuracy for the plurality of first candidate positions is effective over the entire period T 1 of the graph section illustrated in FIG. 22 (a). Since the value is not exceeded, at least one second candidate position may be obtained using the server 2202a during the entire period T 1 .
  • the processor may advance the position accuracy.
  • the set valid value can be adjusted downward, and accordingly, the sum of the positional accuracy of the plurality of first candidate positions is valid in T 2 , T 4 , and T 6 of the entire sections of the graph section illustrated in FIG. 22B. Since the value is not exceeded, at least one second candidate position may be obtained by using the server 2202b for the entire periods T 2 , T 4 , and T 6 , and a plurality of T 1 , T 3 , and T 5 in the entire periods may be obtained. Since the sum of the position accuracy for the first candidate positions of exceeds the valid value, the at least one second candidate position is determined using the electronic device 2201b rather than the server 2202b during T 1 , T 3 , and T 5 . Can be obtained.
  • An electronic device may include a communication module; A sensor module configured to obtain movement information of an electronic device and image information of a place where the electronic device moves; A memory for storing spatial information corresponding to a place to which the electronic device moves; And determine a plurality of first candidate positions corresponding to the electronic device in the place by using the movement information and the spatial information, and based on the image information and the plurality of first candidate positions. It is determined whether the position accuracy corresponding to the first candidate positions is smaller than an effective value, and based on the determination result, at least one of the plurality of first candidate positions using one of the electronic device and an external server. And a processor configured to acquire a second candidate position and determine an estimated position of the electronic device using the obtained at least one second candidate position.
  • the processor may acquire at least one second candidate position among the plurality of first candidate positions using the image information.
  • the processor determines a ratio of valid candidate positions among the plurality of first candidate positions, and if the ratio of the valid candidate positions is smaller than a preset ratio, the at least one using the external server.
  • a second candidate position of may be obtained.
  • a first valid candidate ratio of valid candidate positions included in the at least one second candidate position is greater than a second valid candidate ratio of valid candidate positions included in the plurality of first candidate positions.
  • the processor may adjust the valid value based on network state information between the electronic device and the external server.
  • the processor may adjust the valid value based on an uncertainty calculation history of the electronic device.
  • the processor may adjust the valid value based on the state of the spatial information.
  • an external server may include: a communication unit configured to obtain movement information of a first electronic device and image information of a place where the first electronic device moves; A memory for storing spatial information corresponding to a place where the first electronic device moves; And receiving a plurality of first candidate locations corresponding to the first electronic device from the first electronic device by using the communication unit, and at least one second of the plurality of first candidate locations from the first electronic device. And obtaining a request for candidate positions, and determining the at least one second candidate position and transmitting the at least one second candidate position to the first electronic device.
  • the processor may further include a plurality of second counterparts corresponding to the second electronic device from the second electronic device while acquiring a first request for the at least one second candidate positions from the first electronic device. Acquiring a second request for at least one fourth candidate positions of three candidate positions, determining a priority between the first request and the second request based on a preset condition, and based on the determined priority To select the first request or the second request.
  • the processor may determine a ratio of valid candidate positions of the plurality of first candidate positions and the plurality of third candidate positions and based on the determined ratio of the valid candidate positions. The priority between the request and the second request can be determined.
  • a control method of an electronic device may include obtaining movement information of the electronic device; Acquiring image information of a place where the electronic device moves; Determining a plurality of first candidate positions corresponding to the electronic device in the place using movement information of the electronic device and prestored spatial information corresponding to a place to which the electronic device moves; Determining whether a position accuracy corresponding to the plurality of first candidate positions is less than an effective value based on the image information and the plurality of first candidate positions; Acquiring at least one second candidate position among the plurality of first candidate positions using any one of the electronic device and an external server based on the determination result; And determining the estimated position of the electronic device using the obtained at least one second candidate position.
  • the method may include obtaining at least one second candidate position among the plurality of first candidate positions using the image information.
  • the operation of determining a ratio of valid candidate positions among the plurality of first candidate positions and when the ratio of the valid candidate positions is smaller than a preset ratio use the at least one second server using the external server. And obtaining a candidate position.
  • a first valid candidate ratio of valid candidate positions included in the at least one second candidate position is greater than a second valid candidate ratio of valid candidate positions included in the plurality of first candidate positions.
  • the method may include adjusting the valid value based on network state information between the electronic device and the external server.
  • the method may include adjusting the valid value based on an uncertainty calculation history of the electronic device.
  • the method may include adjusting the valid value based on the state of the spatial information.
  • a method of controlling an external server may include obtaining movement information of a first electronic device and image information of a place to which the first electronic device moves; Storing spatial information corresponding to a place where the first electronic device moves; Receiving a plurality of first candidate positions corresponding to the first electronic device from the first electronic device; Determining the at least one second candidate location when obtaining a request for at least one second candidate location from among the plurality of first candidate locations from the first electronic device; And transmitting the at least one second candidate location to the first electronic device.
  • a plurality of third candidate positions corresponding to the second electronic device from the second electronic device while obtaining a first request for the at least one second candidate positions from the first electronic device Acquiring a second request for at least one fourth candidate locations; Determining a priority between the first request and the second request based on a preset condition; And selecting the first request or the second request based on the determined priority.
  • the operation of determining a ratio of valid candidate positions of the plurality of first candidate positions and the plurality of third candidate positions and the first request and the first request may be performed based on the determined ratio of valid candidate positions. Determining the priority between the two requests.
  • module may refer to a unit that includes one or a combination of two or more of hardware, software, or firmware.
  • a “module” may be interchangeably used with terms such as, for example, unit, logic, logical block, component, or circuit.
  • the module may be a minimum unit or part of an integrally constructed part.
  • the module may be a minimum unit or part of performing one or more functions.
  • the “module” can be implemented mechanically or electronically.
  • a “module” is one of application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or programmable-logic devices that perform certain operations, known or developed in the future. It may include at least one.
  • ASIC application-specific integrated circuit
  • FPGAs field-programmable gate arrays
  • At least a portion of an apparatus (e.g., modules or functions thereof) or method (e.g., operations) may be, for example, computer-readable storage media in the form of a program module. It can be implemented as a command stored in.
  • a processor e.g, the processor 120
  • the one or more processors may perform a function corresponding to the instruction.
  • the computer-readable storage medium may be the memory 130, for example.
  • Computer-readable recording media include hard disks, floppy disks, magnetic media (e.g. magnetic tape), optical media (e.g. compact disc read only memory), DVD ( digital versatile discs, magneto-optical media (e.g. floptical disks), hardware devices (e.g. read only memory, random access memory (RAM), or flash memory)
  • the program instructions may include not only machine code generated by a compiler, but also high-level language code executable by a computer using an interpreter, etc.
  • the hardware device described above may be various. It can be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • Modules or program modules according to various embodiments may include at least one or more of the above components, some may be omitted, or further include other components. Operations performed by modules, program modules, or other components in accordance with various embodiments may be executed in a sequential, parallel, repetitive, or heuristic manner. In addition, some operations may be executed in a different order, may be omitted, or other operations may be added. And the embodiments disclosed herein are presented for the purpose of explanation and understanding of the disclosed, technical content, and do not limit the scope of the technology described in this document. Accordingly, the scope of this document should be construed as including all changes or various other embodiments based on the technical spirit of this document.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Telephonic Communication Services (AREA)
  • Studio Devices (AREA)
  • Navigation (AREA)

Abstract

전자 장치가 개시된다. 일 실시예에 의한 전자 장치는 통신 모듈; 전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 센서 모듈; 상기 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및 상기 이동 정보 및 상기 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하고, 상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하고, 상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하며, 상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하도록 설정된 프로세서를 포함할 수 있다.

Description

전자 장치, 외부 서버 및 그 제어 방법
본 발명은 전자 장치, 외부 서버 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 이동하는 전자 장치의 동시 위치를 추정하고 지도를 작성하는 방법에 관한 것이다.
근자에 들어서, 사용자의 특별한 조작 없이도 스스로 실내를 이동하며 미리 설정된 기능을 수행하는 로봇 장치에 대한 기술이 개시되고 있다.
이 경우, 로봇 장치는 로봇 장치에 구비되는 바퀴를 이용하여 실내를 이동하고, 이동 중에도 지속적으로 실내 장소 내에서의 자신의 위치를 통계적/확률적으로 추정하며, 추정된 자신의 위치 주변의 실내 정보를 이용하여 실내에 대한 지도를 작성할 수 있다.
상기와 같이, 로봇 장치가 스스로 실내를 이동하며 자신의 위치를 실시간으로 추정하고, 추정된 위치를 포함하는 실내에 대한 지도를 작성하는 SLAM (simultaneous localization and map-building) 기술이 제안되고 있다.
상술한 바와 같이, 종래의 로봇 장치는 SLAM 기술을 이용하여 자신의 현재 위치에 대한 후보들인 복수의 후보 위치들 (예: 파티클) 을 추정할 수 있고, 복수의 후보 위치들을 지속적으로 보정하여 결국 최소한의 후보 위치를 선정함으로써 실제 위치에 가까운 후보 위치를 산출해낼 수 있다.
다만, 후보 위치를 산출함에 있어서, 로봇 장치는 복수의 후보 위치들 중에서도 현재 로봇 장치에 의해 획득되는 주변 정보 (예: 로봇 장치에 의해 실시간으로 검출되는 영상) 를 이용하여 유효한 후보 위치들을 산출해낼 수 있으나, 해당 동작을 수행하기 위해서, 상당 부분 많은 양의 연산 처리가 가능해야 하는 것이 실정이다.
본 발명은, 상술한 문제점 또는 다른 문제점을 해결하기 위하여 안출된 것으로, 로봇 장치에 대한 유효 후보 위치들을 더욱 빠르고 쉽게 산출해 낼 수 있는 보다 효과적인 방법을 제공할 수 있다.
본 발명의 다양한 실시예에서, 일 실시예에 따른 전자 장치는 통신 모듈; 전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 센서 모듈; 상기 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및 상기 이동 정보 및 상기 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하고, 상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하고, 상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하며, 상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하도록 설정된 프로세서를 포함할 수 있다.
본 발명의 다양한 실시예에서, 일 실시예에 따른 서버는 제1 전자 장치의 이동 정보 및 상기 제1 전자 장치가 이동하는 장소의 영상 정보를 획득하는 통신부; 상기 제1 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및 상기 제1 전자 장치로부터 상기 제1 전자 장치에 대응하는 복수의 제1 후보 위치들을 상기 통신부를 이용하여 수신하고, 상기 제1 전자 장치로부터 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 획득하면, 상기 적어도 하나의 제2 후보 위치를 판단하고, 상기 적어도 하나의 제2 후보 위치를 상기 제1 전자 장치로 전송하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시예에 따라서, 로봇 장치가 유효 후보 위치에 대한 계산을 서버로 요청하여, 로봇 장치 내에서 수행되는 연산량을 줄일 수 있다.
또한, 본 발명의 다양한 실시예에 따라서, 로봇 장치가 유효 후보 위치에 대한 계산을 유효 후보 위치에 대한 조건에 기반하여 반드시 필요한 경우에만 유효 후보 위치에 대한 계산을 서버로 요청하여, 서버와 로봇 장치 사이의 네트워크 불안정 및 트래픽 지연을 방지할 수 있다는 장점이 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치 및 네트워크의 블록도를 도시한다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 다양한 실시예에 따른 전자 장치의 제어 방법을 도시한다.
도 5는 다양한 실시예에 따른 복수의 제1 후보 위치들을 판단하는 동작을 도시한다.
도 6은 다양한 실시예에 따른 적어도 하나의 제2 후보 위치들을 획득하는 동작을 도시한다.
도 7은 다양한 실시예에 따른 적어도 하나의 제2 후보 위치들을 획득하는 동작을 도시한다.
도 8은 다양한 실시예에 따른 추정 위치를 판단하는 동작을 도시한다.
도 9는 다양한 실시예에 따른 후보 위치들 및 추정 위치를 이동시키는 동작을 도시한다.
도 10은 다양한 실시예에 따른 불확실성에 기반하여 제2 후보 위치를 획득하는 동작을 도시한다.
도 11은 다양한 실시예에 따른 서버의 제어 방법을 도시한다.
도 12는 다양한 실시예에 따른 서버가 제2 후보 위치들을 전송하는 동작을 도시한다.
도 13은 다양한 실시예에 따른 전자 장치가 추정 위치를 판단하는 동작을 도시한다.
도 14는 다양한 실시예에 따른 제1 후보 위치들을 서버로 전송하는 전자 장치를 도시한다.
도 15는 다양한 실시예에 따른 랜드마크 정보를 서버로 전송하는 전자 장치를 도시한다.
도 16은 다양한 실시예에 따른 3차원 인식 정보를 서버로 전송하는 전자 장치를 도시한다.
도 17은 다양한 실시예에 따른 영상 정보를 서버로 전송하는 전자 장치를 도시한다.
도 18은 다양한 실시예에 따른 서버의 메모리를 도시한다.
도 19는 다양한 실시예에 따른 제2 후보 위치를 판단하는 서버를 도시한다.
도 20은 다양한 실시에에 따른 제2 후보 위치들에 대한 위치 정확도에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
도 21(a) 및 도 21(b)은 다양한 실시예에 따른 서버와 전자 장치 사이의 네트워크 상태에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
도 22는 다양한 실시예에 따른 전자 장치가 위치한 장소의 맵 (지도) 상태에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이하, 도 1 내지 도 22를 참조하여, 다양한 실시예에 따른 전자 장치의 추정 위치를 판단하는 방법(SLAM, simultaneous localization and map-building)에 대해 설명한다.
도 1은 다양한 실시예에 따른 전자 장치를 도시한다.
도 1에 도시된 바와 같이, 다양한 실시예에 따르면, 전자 장치(101)는 통신 모듈(110), 프로세서(120), 메모리(140), 레이저 센서(131), 음향 센서(132), 카메라 센서(133), 조도 센서(134) 및/또는 이동 모듈(135)을 포함할 수 있다.
다양한 실시예에 따르면, 통신 모듈(110)은 전자 장치(101) 외부의 서버인 클라우드 서버(102)와 데이터를 송수신 할 수 있다.
다양한 실시예에 따르면, 레이저 센서(131), 음향 센서(132), 카메라 센서(133), 조도 센서(134)는 하나의 센서 모듈에 포함될 수 있다.
다양한 실시예에 따르면, 센서 모듈(131, 132, 133, 134)는 센싱 신호를 이용하여 전자 장치(101)의 이동 정보 및/또는 전자 장치(101)가 이동하는 장소에 대한 센싱 신호를 획득할 수 있다. 예를 들면, 레이저 센서(131)는 전자 장치(101) 주변으로 레이저를 방출하고, 반사되는 레이저를 획득할 수 있다. 예를 들면, 음향 센서(132)는 전자 장치(101) 주변으로 음향을 방출할 수 있고, 반사되는 음향을 획득할 수 있다. 예를 들면, 카메라 센서(133)는 전자 장치(101) 주변의 객체를 촬영하여 영상 정보를 획득할 수 있다. 예를 들면, 조도 센서(134)는 전자 장치(101) 주변의 광을 획득할 수 있다.
다양한 실시예에 따르면, 메모리(140)는 전자 장치(101)가 이동하는 장소에 대응하는 공간 정보(예: 지도)를 저장할 수 있다.
다양한 실시예에 따르면, 프로세서(120)는 전자 장치(101) 내의 구성요소를 제어할 수 있다. 예를 들면, 프로세서(120)는 각 센서 모듈(131, 132, 133, 134)에 의해 획득된 센싱 신호(예: 반사 레이저, 반사 음향, 영상 정보, 주변 광)를 수신할 수 있고, 센싱 신호에 기반하여 전자 장치(101)의 이동 정보를 획득할 수 있다. 예를 들면, 프로세서(120)는 메모리(140)에 저장된 공간 정보 및 전자 장치(101)의 이동 정보를 이용하여 장소 내에서 전자 장치(101)에 대응하는 복수의 제1 후보 위치들을 판단할 수 있다. 예를 들면, 프로세서(120)는 복수의 제1 후보 위치들 중에서, 센싱 신호(예: 영상 정보)에 기초하여 미리 지정된 조건(예: 복수의 제1 후보 위치들에 대한 불확실성 정보)에 따라 전자 장치(101) 및/또는 클라우드 서버(102)를 이용하여 복수의 제1 후보 위치들 중에서 적어도 하나의 제2 후보 위치를 획득할 수 있다. 예를 들면, 프로세서(120)는 적어도 하나의 제2 후보 위치를 이용하여 전자 장치(101)의 추정 위치를 판단할 수 있다.
다양한 실시예에 따르면, 이동 모듈(135)은 프로세서(120)의 제어 신호에 기반하여 전자 장치(101)를 장소 내에서 이동시킬 수 있다. 예를 들면, 이동 모듈(135)은 바퀴를 포함할 수 있다. 예를 들면, 이동 모듈(135)은 가속도 센서를 포함할 수 있다. 예를 들면, 이동 모듈(135)은 전자 장치(101)를 장소 내에서 이동시키면서, 전자 장치(101)의 이동 거리, 이동 방향, 이동 속도, 이동 가속도에 대한 정보를 포함하는 이동 정보를 획득할 수 있고, 획득한 이동 정보를 프로세서(120)로 전송할 수 있다.
도 2는 다양한 실시예에 따른 서버를 도시한다.
도 2에 도시된 바와 같이, 다양한 실시예에 따르면, 서버(202)는 도 1의 클라우드 서버(예: 클라우드 서버(102))가 될 수 있다.
다양한 실시예에 따르면, 서버(202)는 전자 장치(201)로부터 전자 장치(201)의 이동 정보 및 전자 장치(201)가 이동하는 장소의 영상 정보를 획득할 수 있도록 설정된 통신부(210), 전자 장치(201)가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리(230), 및/또는, 전자 장치(201)로부터 전자 장치(201)에 대응하는 복수의 제1 후보 위치들을 수신할 수 있고, 전자 장치(201)로부터 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 통신부(210)를 통해 획득할 수 있으며, 복수의 제1 후보 위치들, 이동 정보 및 영상 정보를 이용하여 적어도 하나의 제2 후보 위치를 판단할 수 있고, 적어도 하나의 제2 후보 위치를 전자 장치(201)로 전송할 수 있는 프로세서(220)를 포함할 수 있다.
도 3은 다양한 실시예에 따른 서버 및 전자 장치가 위치한 장소를 도시한다.
도 3에 도시된 바와 같이, 다양한 실시예에 따르면, 전자 장치(301)는 프로세서(예: 프로세서(120))의 제어에 따라 구동되는 이동 모듈(예: 이동 모듈(135))을 이용하여 장소 내에서 이동할 수 있다.
다양한 실시예에 따르면, 전자 장치(301)는 장소 내에서 이동하면서 서버(302)로 제2 후보 위치들에 대한 요청을 전송할 수 있고, 요청에 대응하여 제2 후보 위치들을 서버(302)로부터 수신할 수 있다.
도 4는 다양한 실시예에 따른 전자 장치의 제어 방법을 도시한다.
도 4에 도시된 바와 같이, 다양한 실시예에 따르면, 동작 S401에서, 전자 장치(예: 전자 장치(301))의 프로세서(예: 프로세서(120))는 전자 장치(301)에 대한 이동 정보를 이동 모듈(예: 이동 모듈(135))을 이용하여 획득할 수 있다.
다양한 실시예에 따르면, 동작 S403에서, 프로세서(120)는 전자 장치(301)가 이동하는 장소의 영상 정보를 센서 모듈(예: 센서 모듈(131, 132, 133, 134)을 이용하여 획득할 수 있다.
다양한 실시예에 따르면, 동작 S405에서, 프로세서(120)는 이동 장소의 공간 정보를 메모리(예: 메모리(140))에 저장할 수 있다.
다양한 실시예에 따르면, 동작 S407에서, 프로세서(120)는 이동 정보 및 공간 정보를 이용하여 이동 장소의 공간 정보 (예: 지도) 내에서 전자 장치(301)의 위치에 대한 후보를 나타내는 복수의 제1 후보 위치를 판단할 수 있다.
다양한 실시예에 따르면, 동작 S409에서, 프로세서(120)는 영상 정보에 기초하여 복수의 제1 후보 위치들 중에서 미리 지정된 조건에 따라 제2 후보 위치를 전자 장치(301) 및/또는 서버(302)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
예를 들면, 프로세서(120)는 복수의 제1 후보 위치들에 대한 불확실성을 산출할 수 있다. 예를 들면, 프로세서(120)는 영상 정보를 이용하여 복수의 제1 후보 위치들에 대한 불확실성을 산출할 수 있다. 예를 들면, 프로세서(120)는 각 복수의 제1 후보 위치와 영상 정보를 비교하여, 비교 결과에 기반하여 복수의 각 제1 후보 위치에 대한 위치 정확도를 결정할 수 있고, 복수의 각 제1 후보 위치에 대한 위치 정확도의 합에 기반하여 복수의 제1 후보 위치들에 대한 불확실성을 산출할 수 있다.
예를 들면, 프로세서(120)는 복수의 제1 후보 위치들에 대한 불확실성에 기반하여 전자 장치(301)와 서버(302) 중에서 하나를 이용하여 복수의 제1 후보 위치들 중에서 적어도 하나의 제2 후보 위치를 획득할 수 있다. 예를 들면, 복수의 제1 후보 위치들에 대한 불확실성이 미리 설정된 조건을 만족하면, 프로세서(120)는 서버(302)를 이용하여 복수의 제1 후보 위치들 중에서 적어도 하나의 제2 후보 위치를 획득할 수 있다. 예를 들면, 복수의 제1 후보 위치들에 대한 불확실성이 미리 설정된 조건을 만족하지 않으면, 프로세서(120)는 전자 장치(301) 자체 내에서 프로세서(예: 프로세서(120))를 이용하여 복수의 제1 후보 위치들 중에서 적어도 하나의 제2 후보 위치를 획득할 수 있다.
예를 들면, 프로세서(120)는 복수의 제1 후보 위치들 중 유효 후보 위치의 비율이 기 설정된 비율 이상인지 판단하여 불확실성을 산출할 수 있다. 예를 들면, 유효 후보 위치는 복수의 제1 후보 위치들 중에서 각 후보 위치에 전자 장치(301)가 존재할 확률, 즉 위치 정확도가 미리 설정된 위치 정확도 값, 즉 유효 값 이상인 후보 위치를 포함할 수 있다. 예를 들면, 복수의 제1 후보 위치들 중 유효 후보 위치의 비율이 기 설정된 비율 보다 작은 경우, 프로세서(120)는 복수의 제1 후보 위치들에 대한 불확실성이 높다(예: 신뢰할 수 없다)고 판단할 수 있다. 예를 들면, 복수의 제1 후보 위치들 중 유효 후보 위치의 비율이 기 설정된 비율 이상인 경우, 프로세서(120)는 복수의 제1 후보 위치들에 대한 불확실성이 낮다(예: 신뢰할 수 있다)고 판단할 수 있다.
다양한 실시예에 따르면, 적어도 하나의 제2 후보 위치는 복수의 각 제1 후보 위치들 중 유효 후보 위치의 비율보다 많은 비율의 유효 후보 위치를 포함할 수 있다. 즉, 프로세서(120)는 복수의 제1 후보 위치들 내의 유효 후보 위치의 비율보다 더 이상인 유효 후보 위치 비율을 포함하는 적어도 하나의 제2 후보 위치들을 획득할 수 있다.
예를 들면, 프로세서(120)는 유효 값을 전자 장치(301)와 서버(302) 사이의 네트워크 상태 정보에 기반하여 조정할 수 있다. 예를 들면, 전자 장치(301)와 서버(302) 사이의 네트워크 상태가 불량인 경우, 프로세서(120)는 유효 값을 증가시킬 수 있으며, 이에 따라 더 많은 경우에 전자 장치(301)를 이용하여 제2 후보 위치들을 획득하여, 네트워크 내의 트래픽 초과를 방지할 수 있도록 할 수 있다.
다양한 실시예에 따르면, 동작 S411에서, 프로세서(120)는 적어도 하나의 제2 후보 위치들을 이용하여 추정 위치를 판단할 수 있다.
도 5는 다양한 실시예에 따른 복수의 제1 후보 위치들을 판단하는 동작을 도시한다.
도 5에 도시된 바와 같이, 예를 들면, 전자 장치(501)의 프로세서(예: 프로세서(120))는 이동 모듈(예: 이동 모듈(135))로부터 전자 장치(501)의 이동 정보를 획득할 수 있고, 메모리(예: 메모리(140))에 저장된 공간 정보 및 이동 정보를 이용하여 전자 장치(501)에 대응하는 복수의 제1 후보 위치들(511, 512, 513, 514, 515, 516, 517)을 판단할 수 있다.
도 6은 다양한 실시예에 따른 적어도 하나의 제2 후보 위치들을 획득하는 동작을 도시한다.
도 6에 도시된 바와 같이, 예를 들면, 전자 장치(601)의 카메라 센서(예: 카메라 센서(133))는 전자 장치(601) 주변의 객체에 대한 영상 정보(660)를 획득할 수 있고, 획득한 영상 정보(660)를 프로세서(예: 프로세서(120))로 전송할 수 있다.
예를 들면, 프로세서(120)는 복수의 제1 후보 위치들(예: 복수의 제1 후보 위치들(511, 512, 513, 514, 515, 516, 517)에 대한 불확실성을 산출할 수 있고, 영상 정보(660)와 각 복수의 제1 후보 위치들(511, 512, 513, 514, 515, 516, 517)을 비교한 결과(661, 662, 663, 664)를 이용하여, 적어도 하나의 제2 후보 위치(611, 612, 613, 614)를 획득할 수 있다.
도 7은 다양한 실시예에 따른 적어도 하나의 제2 후보 위치들을 획득하는 동작을 도시한다.
도 7에 도시된 바와 같이, 예를 들면, 카메라 센서(예: 카메라 센서(133)) 전자 장치(701) 주변의 하나의 객체에 대한 제1 영상 정보(760) 및/또는 다른 하나의 객체에 대한 제2 영상 정보(770)를 획득할 수 있다.
예를 들면, 프로세서(예: 프로세서(120))는 제1 영상 정보(760) 및/또는 제2 영상 정보(770)를 이용하여, 복수의 제1 후보 위치들(예: 복수의 제1 후보 위치들(511, 512, 513, 514, 515, 516, 517)과 제1 영상 정보(760) 및/또는 제2 영상 정보(770)를 비교한 결과(761, 762, 763, 764, 772)를 이용하여, 적어도 하나의 제2 후보 위치(711, 712, 713, 714)를 획득할 수 있다.
도 8은 다양한 실시예에 따른 추정 위치를 판단하는 동작을 도시한다.
도 8에 도시된 바와 같이, 예를 들면, 프로세서(예: 프로세서(120))는 적어도 하나의 제2 후보 위치(811, 812, 813, 814)를 이용하여 전자 장치에 대한 추정 위치(810)를 판단할 수 있다.
도 9는 다양한 실시예에 따른 후보 위치들 및 추정 위치를 이동시키는 동작을 도시한다.
도 9에 도시된 바와 같이, 예를 들면, 전자 장치가 장소 내에서 이동하는 경우, 프로세서(예: 프로세서(120))는 적어도 하나의 제2 후보 위치(911, 912, 913, 914) 및/또는 추정 위치(910)를 전자 장치의 이동 정보에 기반하여 공간 정보 내에서 이동시킬 수 있다.
도 10은 다양한 실시예에 따른 불확실성에 기반하여 제2 후보 위치를 획득하는 동작을 도시한다.
도 10에 도시된 바와 같이, 예를 들면, 프로세서(예: 프로세서(120))는 전자 장치(1001)에 대응하는 복수의 제1 후보 위치들(1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021)에 대한 불확실성을 판단할 수 있고, 판단 결과, 복수의 제1 후보 위치들(1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021) 중 유효 후보 위치의 비율이 기 설정된 유효 후보 비율 보다 작은 경우, 서버(1002)로 적어도 하나의 제2 후보 위치를 요청할 수 있다.
도 11은 다양한 실시예에 따른 서버의 제어 방법을 도시한다.
도 11에 도시된 바와 같이, 다양한 실시예에 따르면, 동작 S1101에서, 서버(예: 서버(1002)의 통신부(예: 통신부(210))는 하나 이상의 전자 장치(예: 전자 장치(1001))로부터 제2 후보 위치에 대한 요청을 수신할 수 있다.
다양한 실시예에 따르면, 동작 S1102에서, 프로세서(예: 프로세서(220))는 각 전자 장치(1001)로부터 영상 정보를 수신할 수 있다.
다양한 실시예에 따르면, 동작 S1103에서, 프로세서(220)는 요청을 전송한 전자 장치가 복수인지 판단할 수 있다.
예를 들면, 프로세서(220)는 각 전자 장치(1001)로부터 통신부(210)를 이용하여 요청을 수신할 수 있으며, 요청은 각 전자 장치에 대응하는 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 포함할 수 있다.
예를 들면, 하나 이상의 전자 장치 중에서 제1 전자 장치는 서버(1002)로 제1 전자 장치에 대응하는 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 전송할 수 있고, 이와 동시에, 하나 이상의 전자 장치 중에서 제2 전자 장치 또한 서버(1002)로 제2 전자 장치에 대응하는 복수의 제3 후보 위치들 중 복수의 제3 후보 위치들 보다 유효 후보 위치의 비율이 더 이상인 적어도 하나의 제4 후보 위치들에 대한 요청을 전송할 수 있다.
다양한 실시예에 따르면, 동작 S1104에서, 요청을 전송한 전자 장치가 복수인 경우, 프로세서(220)는 미리 설정된 조건에 따라 각 전자 장치(1001)에 대한 우선 순위를 결정할 수 있다.
예를 들면, 프로세서(220)는 제1 전자 장치 및 제2 전자 장치의 복수의 제1 후보 위치들 또는 제3 후보 위치들 중 유효 후보 위치의 비율이 낮은 전자 장치로부터 수신한 요청을 높은 우선 순위로 결정할 수 있으며, 가장 높은 우선 순위로 결정된 요청을 선택할 수 있고, 선택된 요청을 전송한 전자 장치에 대응하는 적어도 하나의 제2 후보 위치들 또는 제4 후보 위치들을 판단할 수 있다.
예를 들면, 제1 전자 장치 및 제2 전자 장치가 각각 서버(1002)로 요청을 전송하는 상태에서, 제1 전자 장치 및 제2 전자 장치는 각각의 전자 장치에 대응하는 복수의 제1 후보 위치들 또는 제3 후보 위치들 중 유효 후보 위치의 비율을 각 전자 장치와 서버(1002) 사이의 네트워크 상태 정보에 기반하여 조정할 수 있다. 예를 들면, 서버(1002)의 프로세서(220)는 각 전자 장치와 서버(1002) 사이의 네트워크 상태 정보에 기반하여 조정된 각 유효 후보 위치의 비율의 크기를 비교할 수 있고, 비교한 결과에 기반하여, 유효 후보 위치의 비율이 더 낮은 전자 장치로부터 수신한 요청을 높은 우선 순위로 결정할 수 있다.
예를 들면, 제1 전자 장치 및 제2 전자 장치가 각각 서버(1002)로 요청을 전송하는 상태에서, 제1 전자 장치 및 제2 전자 장치는 각각의 전자 장치에 대응하는 복수의 제1 후보 위치들 또는 제3 후보 위치들 중 유효 후보 위치의 비율을 각 전자 장치가 위치한 공간 정보의 상태(예: 복잡한 정도)에 기반하여 조정할 수 있다. 예를 들면, 서버(1002)의 프로세서(220)는 각 전자 장치가 위치한 공간 정보의 상태(예: 복잡한 정도)에 기반하여 조정된 각 유효 후보 위치의 비율의 크기를 비교할 수 있고, 비교한 결과에 기반하여, 유효 후보 위치의 비율이 더 낮은 전자 장치로부터 수신한 요청을 높은 우선 순위로 결정할 수 있다.
다양한 실시예에 따르면, 동작 S1105에서, 프로세서(220)는 영상 정보에 기반하여 각 전자 장치(1001)에 대한 제2 후보 위치를 획득할 수 있고, 동작 S1106에서, 각 전자 장치(1001)에 대응하는 제2 후보 위치를 각 전자 장치(1001)로 전송할 수 있다.
도 12는 다양한 실시예에 따른 서버가 제2 후보 위치들을 전송하는 동작을 도시한다.
도 12에 도시된 바와 같이, 예를 들면, 서버(1202)는 전자 장치(1201)로부터 전송된 요청에 대응하여, 전자 장치(1201)가 이동하는 장소에 대한 공간 정보(1210) 내의 적어도 하나의 제2 후보 위치(1211, 1212, 1213, 1214)를 획득할 수 있다.
예를 들면, 서버(1202)는 적어도 하나의 제2 후보 위치(1211, 1212, 1213, 1214)를 전자 장치(1201)로 전송할 수 있다.
도 13은 다양한 실시예에 따른 전자 장치가 추정 위치를 판단하는 동작을 도시한다.
도 13에 도시된 바와 같이, 예를 들면, 전자 장치(예: 전자 장치(1201))의 프로세서(예: 프로세서(120))는 서버(예: 서버(1202))로부터 전송된 적어도 하나의 제2 후보 위치(1311, 1312, 1313, 1314)를 이용하여, 전자 장치(1201)에 대한 추정 위치(1310)를 판단할 수 있다.
도 14는 다양한 실시예에 따른 제1 후보 위치들을 서버로 전송하는 전자 장치를 도시한다.
도 14에 도시된 바와 같이, 예를 들면, 전자 장치(1401)의 프로세서(예: 프로세서(120))는 서버(1402)로 공간 정보(1410) 내의 복수의 제1 후보 위치들(1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422)을 전송할 수 있다.
도 15는 다양한 실시예에 따른 랜드마크 정보를 서버로 전송하는 전자 장치를 도시한다.
도 15에 도시된 바와 같이, 예를 들면, 전자 장치(1501)의 프로세서(예: 프로세서(120))는 공간 정보(1530) 내에서 전자 장치(1501)의 센서 모듈(예: 센서 모듈(131, 132, 133, 134))에 의해 획득된 제1 후보 위치들(1510) 주변의 랜드마크 정보(1531, 1532, 1533)를 서버(1502)로 전송할 수 있다.
도 16은 다양한 실시예에 따른 3차원 인식 정보를 서버로 전송하는 전자 장치를 도시한다.
도 16에 도시된 바와 같이, 예를 들면, 전자 장치(1601)의 프로세서(예: 프로세서(120))는 공간 정보(1540) 내에서 센서 모듈(예: 센서 모듈(131, 132, 133, 134)에 의해 획득된 전자 장치(1601) 주변의 객체에 대한 3차원 인식 정보(1541, 1542, 1543)를 서버(1602)로 전송할 수 있다.
도 17은 다양한 실시예에 따른 영상 정보를 서버로 전송하는 전자 장치를 도시한다.
도 17에 도시된 바와 같이, 예를 들면, 전자 장치(1701)의 프로세서(예: 프로세서(120))는 공간 정보 내에서 센서 모듈(예: 센서 모듈(131, 132, 133, 134)에 의해 획득된 전자 장치(1701) 주변의 객체에 대한 영상 정보(1750)를 서버(1702)로 전송할 수 있다.
도 18은 다양한 실시예에 따른 서버의 메모리를 도시한다.
도 18에 도시된 바와 같이, 예를 들면, 서버(1801)는 전자 장치(1801)로부터 전송된 복수의 제1 후보 위치들(1810), 랜드마크 정보(1830), 3차원 인식 정보(1840) 및/또는 영상 정보(1850)를 수신할 수 있고, 수신된 복수의 제1 후보 위치들(1810), 랜드마크 정보(1830), 3차원 인식 정보(1840) 및/또는 영상 정보(1850)를 메모리(1805)에 저장할 수 있다.
도 19는 다양한 실시예에 따른 제2 후보 위치를 판단하는 서버를 도시한다.
도 19에 도시된 바와 같이, 예를 들면, 전자 장치(1901)로부터 적어도 하나의 제2 후보 위치에 대한 요청을 수신하면, 서버(1902)의 프로세서(예: 프로세서(220))는 메모리(1950)에 저장된 복수의 제1 후보 위치들(1910), 랜드마크 정보(1930), 3차원 인식 정보(1940) 및/또는 영상 정보(1950)를 이용하여 적어도 하나의 제2 후보 위치(1911, 1912, 1913)를 획득할 수 있다.
도 20은 다양한 실시에에 따른 제2 후보 위치들에 대한 위치 정확도에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
도 20에 도시된 바와 같이, 예를 들면, 전자 장치(2001)의 프로세서(예: 프로세서(120))는 전자 장치(2001)에 대응하는 복수의 제1 후보 위치들을 판단할 수 있고, 복수의 제1 후보 위치들 각각에 대한 위치 정확도의 합을 산출할 수 있으며, 각 위치 정확도의 합이 미리 설정된 유효 값 이상인 지 판단할 수 있다.
예를 들면, 복수의 제1 후보 위치들 각각에 대한 위치 정확도의 합이 미리 설정된 유효 값 보다 작은 T1, T3, T5 구간의 경우, 프로세서(120)는 서버(2002)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
예를 들면, 복수의 제1 후보 위치들 각각에 대한 위치 정확도의 합이 미리 설정된 유효 값 이상인 T2, T4 구간의 경우, 프로세서(120)는 서버(2002)가 아닌 전자 장치(2001) 내에서 전자 장치(2001)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
도 21(a) 및 도 21(b)은 다양한 실시예에 따른 서버와 전자 장치 사이의 네트워크 상태에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
도 21(a)에 도시된 바와 같이, 예를 들면, 서버(2102a)와 전자 장치(2101a) 사이의 네트워크의 상태가 불량한 것으로 판단되면, 프로세서(예: 프로세서(120))는 위치 정확도에 대한 미리 설정된 유효 값을 하향 조정할 수 있으며, 이에 따라, 도 21(a)에 도시된 그래프 구간 중 전체 구간 T1에 걸쳐 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘으므로, 전체 구간 T1 동안 서버(2102a)가 아닌 전자 장치(2101a) 내에서 전자 장치(2101a)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
도 21(b)에 도시된 바와 같이, 예를 들면, 서버(2102b)와 전자 장치(2101b) 사이의 네트워크의 상태가 양호한 것으로 판단되면, 프로세서(예: 프로세서(120))는 위치 정확도에 대한 미리 설정된 유효 값을 상향 조정할 수 있으며, 이에 따라, 도 21(b)에 도시된 그래프 구간 중 전체 구간 중 T2 에서 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘으므로, 구간 T2 동안 서버(2102b)가 아닌 전자 장치(2101b) 내에서 전자 장치(2101b)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있고, 전체 구간 중 T1, T3 에서 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘지 못하므로, T1, T3 동안 서버(2102b)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
도 22는 다양한 실시예에 따른 전자 장치가 위치한 장소의 맵 (지도) 상태에 기반하여 서버 및 전자 장치를 제어하는 동작을 도시한다.
도 22(a)에 도시된 바와 같이, 예를 들면, 전자 장치(2201a)가 위치한 장소에 대응하는 맵(예: 공간 정보)의 상태가 복잡한 것으로 판단되면, 프로세서(예: 프로세서(120))는 위치 정확도에 대한 미리 설정된 유효 값을 상향 조정할 수 있으며, 이에 따라, 도 22(a)에 도시된 그래프 구간 중 전체 구간 T1에 걸쳐 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘지 못하므로, 전체 구간 T1 동안 서버(2202a)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
도 22(b)에 도시된 바와 같이, 예를 들면, 전자 장치(2201b)가 위치한 장소에 대응하는 맵의 상태가 양호한 것으로 판단되면, 프로세서(예: 프로세서(120))는 위치 정확도에 대한 미리 설정된 유효 값을 하향 조정할 수 있으며, 이에 따라, 도 22(b)에 도시된 그래프 구간 중 전체 구간 중 T2, T4, T6에서 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘지 못하므로, 전체 구간 T2, T4, T6 동안 서버(2202b)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있고, 전체 구간 중 T1, T3, T5 에서 복수의 제1 후보 위치들에 대한 위치 정확도의 합이 유효 값을 넘으므로, T1, T3, T5 동안 서버(2202b)가 아닌 전자 장치(2201b)를 이용하여 적어도 하나의 제2 후보 위치를 획득할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 통신 모듈; 전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 센서 모듈; 상기 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및 상기 이동 정보 및 상기 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하고, 상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하고, 상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하며, 상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하도록 설정된 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 영상 정보를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 제1 후보 위치들 중 유효 후보 위치의 비율을 판단하고, 상기 유효 후보 위치의 비율이 기 설정된 비율 보다 작으면 상기 외부 서버를 이용하여 상기 적어도 하나의 제2 후보 위치를 획득할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 제2 후보 위치에 포함된 유효 후보 위치의 제1 유효 후보 비율은, 상기 복수의 제1 후보 위치들에 포함된 유효 후보 위치의 제2 유효 후보 비율 보다 클 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치와 상기 외부 서버 사이의 네트워크 상태 정보에 기반하여 상기 유효 값을 조정할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 전자 장치의 불확실성 산출 이력에 기반하여 상기 유효 값을 조정할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 공간 정보의 상태에 기반하여 상기 유효 값을 조정할 수 있다.
본 발명의 다양한 실시예에 따른 외부 서버는, 제1 전자 장치의 이동 정보 및 상기 제1 전자 장치가 이동하는 장소의 영상 정보를 획득하는 통신부; 상기 제1 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및 상기 제1 전자 장치로부터 상기 제1 전자 장치에 대응하는 복수의 제1 후보 위치들을 상기 통신부를 이용하여 수신하고, 상기 제1 전자 장치로부터 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 획득하면, 상기 적어도 하나의 제2 후보 위치를 판단하고, 상기 적어도 하나의 제2 후보 위치를 상기 제1 전자 장치로 전송하는 프로세서를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제1 전자 장치로부터 상기 적어도 하나의 제2 후보 위치들에 대한 제1 요청을 획득하는 동안 제2 전자 장치로부터 상기 제2 전자 장치에 대응하는 복수의 제3 후보 위치들 중 적어도 하나의 제4 후보 위치들에 대한 제2 요청을 획득하면, 미리 설정된 조건에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하고, 상기 결정된 우선 순위에 기반하여 상기 제1 요청 또는 제2 요청을 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 복수의 제1 후보 위치들 및 상기 복수의 제3 후보 위치들의 유효 후보 위치의 비율을 판단하고, 상기 판단된 유효 후보 위치의 비율에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 제어 방법은, 전자 장치의 이동 정보를 획득하는 동작; 상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 동작; 상기 전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소에 대응하는 미리 저장된 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하는 동작; 상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하는 동작; 상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하는 동작; 및 상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 영상 정보를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 복수의 제1 후보 위치들 중 유효 후보 위치의 비율을 판단하는 동작 및 상기 유효 후보 위치의 비율이 기 설정된 비율 보다 작으면 상기 외부 서버를 이용하여 상기 적어도 하나의 제2 후보 위치를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 제2 후보 위치에 포함된 유효 후보 위치의 제1 유효 후보 비율은, 상기 복수의 제1 후보 위치들에 포함된 유효 후보 위치의 제2 유효 후보 비율 보다 클 수 있다.
다양한 실시예에 따르면, 상기 전자 장치와 상기 외부 서버 사이의 네트워크 상태 정보에 기반하여 상기 유효 값을 조정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치의 불확실성 산출 이력에 기반하여 상기 유효 값을 조정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 공간 정보의 상태에 기반하여 상기 유효 값을 조정하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 외부 서버의 제어 방법은, 제1 전자 장치의 이동 정보 및 상기 제1 전자 장치가 이동하는 장소의 영상 정보를 획득하는 동작; 상기 제1 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 동작; 상기 제1 전자 장치로부터 상기 제1 전자 장치에 대응하는 복수의 제1 후보 위치들을 수신하는 동작; 상기 제1 전자 장치로부터 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 획득하면, 상기 적어도 하나의 제2 후보 위치를 판단하는 동작; 및 상기 적어도 하나의 제2 후보 위치를 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 전자 장치로부터 상기 적어도 하나의 제2 후보 위치들에 대한 제1 요청을 획득하는 동안 제2 전자 장치로부터 상기 제2 전자 장치에 대응하는 복수의 제3 후보 위치들 중 적어도 하나의 제4 후보 위치들에 대한 제2 요청을 획득하는 동작; 미리 설정된 조건에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하는 동작; 및 상기 결정된 우선 순위에 기반하여 상기 제1 요청 또는 제2 요청을 선택하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 복수의 제1 후보 위치들 및 상기 복수의 제3 후보 위치들의 유효 후보 위치의 비율을 판단하는 동작 및 상기 판단된 유효 후보 위치의 비율에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하는 동작을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 모듈;
    전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 센서 모듈;
    상기 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및
    상기 이동 정보 및 상기 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하고, 상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하고, 상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하며, 상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하도록 설정된 프로세서를 포함하는 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는,
    상기 영상 정보를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하는 전자 장치.
  3. 제 1항에 있어서,
    상기 프로세서는,
    상기 복수의 제1 후보 위치들 중 유효 후보 위치의 비율을 판단하고,
    상기 유효 후보 위치의 비율이 기 설정된 비율 보다 작으면 상기 외부 서버를 이용하여 상기 적어도 하나의 제2 후보 위치를 획득하는 전자 장치.
  4. 제 3항에 있어서,
    상기 적어도 하나의 제2 후보 위치에 포함된 유효 후보 위치의 제1 유효 후보 비율은,
    상기 복수의 제1 후보 위치들에 포함된 유효 후보 위치의 제2 유효 후보 비율 이상인 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 전자 장치와 상기 외부 서버 사이의 네트워크 상태 정보에 기반하여 상기 유효 값을 조정하는 전자 장치.
  6. 제 5항에 있어서,
    상기 프로세서는 상기 전자 장치의 불확실성 산출 이력에 기반하여 상기 유효 값을 조정하는 전자 장치.
  7. 제 5항에 있어서,
    상기 프로세서는 상기 공간 정보의 상태에 기반하여 상기 유효 값을 조정하는 전자 장치.
  8. 외부 서버에 있어서,
    제1 전자 장치의 이동 정보 및 상기 제1 전자 장치가 이동하는 장소의 영상 정보를 획득하는 통신부;
    상기 제1 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 메모리; 및
    상기 제1 전자 장치로부터 상기 제1 전자 장치에 대응하는 복수의 제1 후보 위치들을 상기 통신부를 이용하여 수신하고, 상기 제1 전자 장치로부터 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 획득하면, 상기 적어도 하나의 제2 후보 위치를 판단하고, 상기 적어도 하나의 제2 후보 위치를 상기 제1 전자 장치로 전송하는 프로세서를 포함하는 외부 서버.
  9. 제 8항에 있어서,
    상기 프로세서는,
    상기 제1 전자 장치로부터 상기 적어도 하나의 제2 후보 위치들에 대한 제1 요청을 획득하는 동안 제2 전자 장치로부터 상기 제2 전자 장치에 대응하는 복수의 제3 후보 위치들 중 적어도 하나의 제4 후보 위치들에 대한 제2 요청을 획득하면,
    미리 설정된 조건에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하고, 상기 결정된 우선 순위에 기반하여 상기 제1 요청 또는 제2 요청을 선택하는 외부 서버.
  10. 제 9항에 있어서,
    상기 프로세서는,
    상기 복수의 제1 후보 위치들 및 상기 복수의 제3 후보 위치들의 유효 후보 위치의 비율을 판단하고,
    상기 판단된 유효 후보 위치의 비율에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하는 외부 서버.
  11. 전자 장치의 제어 방법에 있어서,
    전자 장치의 이동 정보를 획득하는 동작;
    상기 전자 장치가 이동하는 장소의 영상 정보를 획득하는 동작;
    상기 전자 장치의 이동 정보 및 상기 전자 장치가 이동하는 장소에 대응하는 미리 저장된 공간 정보를 이용하여 상기 장소 내에서 상기 전자 장치에 대응하는 복수의 제1 후보 위치들을 판단하는 동작;
    상기 영상 정보 및 상기 복수의 제1 후보 위치들에 기반하여 상기 복수의 제1 후보 위치들에 대응하는 위치 정확도가 유효 값 보다 작은지 여부를 판단하는 동작;
    상기 판단 결과에 기반하여 상기 전자 장치 및 외부 서버 중 어느 하나를 이용하여 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치를 획득하는 동작; 및
    상기 획득된 적어도 하나의 제2 후보 위치를 이용하여 상기 전자 장치의 추정 위치를 판단하는 동작을 포함하는 전자 장치의 제어 방법.
  12. 제 11항에 있어서,
    상기 복수의 제1 후보 위치들 중 유효 후보 위치의 비율을 판단하는 동작 및
    상기 유효 후보 위치의 비율이 기 설정된 비율 보다 작으면 상기 외부 서버를 이용하여 상기 적어도 하나의 제2 후보 위치를 획득하는 동작을 포함하고,
    상기 적어도 하나의 제2 후보 위치에 포함된 유효 후보 위치의 제1 유효 후보 비율은, 상기 복수의 제1 후보 위치들에 포함된 유효 후보 위치의 제2 유효 후보 비율 이상인는 전자 장치의 제어 방법.
  13. 외부 서버의 제어 방법에 있어서,
    제1 전자 장치의 이동 정보 및 상기 제1 전자 장치가 이동하는 장소의 영상 정보를 획득하는 동작;
    상기 제1 전자 장치가 이동하는 장소에 대응하는 공간 정보를 저장하는 동작;
    상기 제1 전자 장치로부터 상기 제1 전자 장치에 대응하는 복수의 제1 후보 위치들을 수신하는 동작;
    상기 제1 전자 장치로부터 상기 복수의 제1 후보 위치들 중 적어도 하나의 제2 후보 위치들에 대한 요청을 획득하면, 상기 적어도 하나의 제2 후보 위치를 판단하는 동작; 및
    상기 적어도 하나의 제2 후보 위치를 상기 제1 전자 장치로 전송하는 동작을 포함하는 외부 서버의 제어 방법.
  14. 제 13항에 있어서,
    상기 제1 전자 장치로부터 상기 적어도 하나의 제2 후보 위치들에 대한 제1 요청을 획득하는 동안 제2 전자 장치로부터 상기 제2 전자 장치에 대응하는 복수의 제3 후보 위치들 중 적어도 하나의 제4 후보 위치들에 대한 제2 요청을 획득하는 동작;
    미리 설정된 조건에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하는 동작; 및
    상기 결정된 우선 순위에 기반하여 상기 제1 요청 또는 제2 요청을 선택하는 동작을 포함하는 외부 서버의 제어 방법.
  15. 제 14항에 있어서,
    상기 복수의 제1 후보 위치들 및 상기 복수의 제3 후보 위치들의 유효 후보 위치의 비율을 판단하는 동작 및
    상기 판단된 유효 후보 위치의 비율에 기반하여 상기 제1 요청 및 제2 요청 사이의 우선 순위를 결정하는 동작을 포함하는 외부 서버의 제어 방법.
PCT/KR2017/005627 2016-06-08 2017-05-30 전자 장치, 외부 서버 및 그 제어 방법 WO2017213373A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17810496.4A EP3453494B1 (en) 2016-06-08 2017-05-30 Electronic device, external server, and method for controlling same
US16/307,304 US10948925B2 (en) 2016-06-08 2017-05-30 Electronic device, external server, and method for controlling same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160070887A KR102372669B1 (ko) 2016-06-08 2016-06-08 전자 장치, 외부 서버 및 그 제어 방법
KR10-2016-0070887 2016-06-08

Publications (1)

Publication Number Publication Date
WO2017213373A1 true WO2017213373A1 (ko) 2017-12-14

Family

ID=60578740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/005627 WO2017213373A1 (ko) 2016-06-08 2017-05-30 전자 장치, 외부 서버 및 그 제어 방법

Country Status (4)

Country Link
US (1) US10948925B2 (ko)
EP (1) EP3453494B1 (ko)
KR (1) KR102372669B1 (ko)
WO (1) WO2017213373A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108858223A (zh) * 2018-07-17 2018-11-23 太仓远见科技咨询服务有限公司 一种智能仿人型机器人系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11788845B2 (en) * 2018-06-29 2023-10-17 Baidu Usa Llc Systems and methods for robust self-relocalization in a visual map

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101100827B1 (ko) * 2009-11-30 2012-01-02 한국생산기술연구원 도로주행 로봇의 자기 위치 인식방법
KR20120033414A (ko) * 2010-09-30 2012-04-09 전자부품연구원 자기 위치 인식을 수행하는 로봇 및 그의 운용 방법
KR101379211B1 (ko) * 2012-09-28 2014-04-10 전자부품연구원 이동체의 위치 판단 장치 및 위치 판단 방법
KR101468545B1 (ko) * 2013-07-10 2014-12-03 연세대학교 산학협력단 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법
KR101493075B1 (ko) * 2008-12-17 2015-02-12 삼성전자 주식회사 이동 로봇의 위치 인식 장치 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231063B2 (en) * 2002-08-09 2007-06-12 Intersense, Inc. Fiducial detection system
US20050234679A1 (en) * 2004-02-13 2005-10-20 Evolution Robotics, Inc. Sequential selective integration of sensor data
US9733091B2 (en) * 2007-05-31 2017-08-15 Trx Systems, Inc. Collaborative creation of indoor maps
US8751151B2 (en) * 2012-06-12 2014-06-10 Trx Systems, Inc. System and method for localizing a trackee at a location and mapping the location using inertial sensor information
CA2695841C (en) * 2007-08-06 2016-11-08 Trx Systems, Inc. Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
JP5490911B2 (ja) 2009-10-30 2014-05-14 ユージン ロボット シーオー., エルティーディー. 移動ロボットの位置認識のための地図生成および更新方法
US9588218B2 (en) * 2010-09-30 2017-03-07 Echo Ridge Llc System and method for robust navigation and geolocation using measurements of opportunity
KR101772977B1 (ko) 2010-10-07 2017-08-31 삼성전자주식회사 이동 로봇 및 그 지도 작성 방법
US8386078B1 (en) 2011-05-06 2013-02-26 Google Inc. Methods and systems for providing a data library for robotic devices
US10027952B2 (en) * 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space
US8396254B1 (en) 2012-02-09 2013-03-12 Google Inc. Methods and systems for estimating a location of a robot
US9441973B2 (en) * 2012-06-12 2016-09-13 Trx Systems, Inc. Irregular feature mapping
US9984348B2 (en) * 2013-11-29 2018-05-29 Fedex Corporate Services, Inc. Context management of a wireless node network
US10453023B2 (en) * 2014-05-28 2019-10-22 Fedex Corporate Services, Inc. Methods and node apparatus for adaptive node communication within a wireless node network
GB201419883D0 (en) * 2014-11-07 2014-12-24 F Robotics Acquisitions Ltd Domestic robotic system and method
US10111044B2 (en) * 2015-05-29 2018-10-23 Verity Studios Ag Methods and systems for scheduling the transmission of localization signals and operating self-localizing apparatus
US20160371394A1 (en) * 2015-06-22 2016-12-22 The Governing Council Of The University Of Toronto Indoor localization using crowdsourced data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101493075B1 (ko) * 2008-12-17 2015-02-12 삼성전자 주식회사 이동 로봇의 위치 인식 장치 및 방법
KR101100827B1 (ko) * 2009-11-30 2012-01-02 한국생산기술연구원 도로주행 로봇의 자기 위치 인식방법
KR20120033414A (ko) * 2010-09-30 2012-04-09 전자부품연구원 자기 위치 인식을 수행하는 로봇 및 그의 운용 방법
KR101379211B1 (ko) * 2012-09-28 2014-04-10 전자부품연구원 이동체의 위치 판단 장치 및 위치 판단 방법
KR101468545B1 (ko) * 2013-07-10 2014-12-03 연세대학교 산학협력단 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108858223A (zh) * 2018-07-17 2018-11-23 太仓远见科技咨询服务有限公司 一种智能仿人型机器人系统

Also Published As

Publication number Publication date
US20190138026A1 (en) 2019-05-09
KR20170138723A (ko) 2017-12-18
EP3453494B1 (en) 2022-10-05
EP3453494A4 (en) 2019-06-26
KR102372669B1 (ko) 2022-03-10
US10948925B2 (en) 2021-03-16
EP3453494A1 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
WO2018128355A1 (en) Robot and electronic device for performing hand-eye calibration
WO2018093060A1 (ko) 전자 장치 및 상기 전자 장치를 제어하는 방법
WO2017209560A1 (ko) 화면 출력 방법 및 이를 지원하는 전자 장치
WO2017119737A1 (ko) 통신 시스템에서 영상 정보를 공유하는 방법 및 장치
WO2016137294A1 (en) Electronic device and control method thereof
WO2018106064A1 (ko) 무인비행체를 제어하는 전자 장치 및 그 제어 방법
WO2018139752A1 (ko) 복수의 카메라를 제어하는 방법 및 전자 장치
WO2020130689A1 (ko) 놀이 컨텐츠를 추천하는 전자 장치 및 그의 동작 방법
WO2019098567A1 (ko) 전자 장치의 이미지 촬영 방법 및 그 전자 장치
EP3642838A1 (en) Method for operating speech recognition service and electronic device and server for supporting the same
WO2018124633A1 (ko) 전자 장치 및 그의 메시지 전달 방법
WO2020071854A1 (en) Electronic apparatus and control method thereof
WO2020017890A1 (en) System and method for 3d association of detected objects
WO2020096365A1 (en) Motion assisted leakage removal for radar applications
WO2019198868A1 (ko) 무인기와 무선단말기 간의 상호 인식 방법
WO2016072785A1 (en) Direction based electronic device for displaying object and method thereof
WO2018021726A1 (ko) 카메라 모듈의 활성화를 제어하기 위한 전자 장치 및 방법
WO2021125510A1 (en) Method and device for navigating in dynamic environment
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2017213373A1 (ko) 전자 장치, 외부 서버 및 그 제어 방법
WO2018169304A2 (ko) 도어락 장치 및 도어락 장치의 제어 방법
US20200018926A1 (en) Information processing apparatus, information processing method, and program
WO2018131852A1 (ko) 영상 통화를 수행하기 위한 전자 장치 및 컴퓨터 판독 가능한 기록매체
WO2018004115A1 (ko) 전자 장치 및 그의 동작 방법
WO2021049730A1 (ko) 영상 인식 모델을 학습하는 전자 장치 및 그 동작 방법

Legal Events

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

Ref document number: 17810496

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017810496

Country of ref document: EP

Effective date: 20181206