US20220284596A1 - Electronic device for detecting location, and method therefor - Google Patents
Electronic device for detecting location, and method therefor Download PDFInfo
- Publication number
- US20220284596A1 US20220284596A1 US17/750,561 US202217750561A US2022284596A1 US 20220284596 A1 US20220284596 A1 US 20220284596A1 US 202217750561 A US202217750561 A US 202217750561A US 2022284596 A1 US2022284596 A1 US 2022284596A1
- Authority
- US
- United States
- Prior art keywords
- electronic device
- virtual marker
- processor
- coordinate axis
- acceleration
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000004891 communication Methods 0.000 claims abstract description 91
- 238000005259 measurement Methods 0.000 claims abstract description 62
- 230000001133 acceleration Effects 0.000 claims description 134
- 239000013598 vector Substances 0.000 claims description 103
- 230000033001 locomotion Effects 0.000 claims description 60
- 230000008859 change Effects 0.000 claims description 48
- 230000005484 gravity Effects 0.000 claims description 41
- 238000001514 detection method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000001413 cellular effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 206010048232 Yawning Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/026—Services making use of location information using location based information parameters using orientation information, e.g. compass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
Definitions
- Certain embodiments disclosed in the disclosure relate to an electronic device for detecting entry into a specific region and a method therefor.
- the electronic device may use a positioning or localization technology of transmitting cellular and/or wireless LAN signal(s) received by the electronic device to a server and tracking location(s) of the electronic device and/or a user based on locations of cellular and/or wireless LAN base stations.
- the electronic device may use a geofencing technology of determining whether it enters a specific point-of-Interest (POI) using a wireless signal footprint.
- POI point-of-Interest
- An electronic device may register data defining a specific region in the interior as a virtual marker VM.
- the electronic device may face a direction in the specific region when registering the virtual marker.
- the virtual marker may be data including vector values.
- the vector values corresponds to a direction the electronic device faces when the virtual marker is registered.
- the virtual marker may include magnetic field values corresponding to a direction the electronic device faces when the virtual marker is registered.
- the electronic device When entering the specific region, the electronic device may enter the specific region in a different direction from the direction where the virtual marker is registered.
- vector values measured by the electronic device may have a coordinate axis different from a coordinate axis of the virtual marker.
- the virtual marker and the measurement data have different coordinate axes, it is difficult to compare a vector value of the virtual marker with a vector value of the measurement data to accurately detect whether the electronic device enters the specific region.
- Certain embodiments disclosed in the disclosure are to provide a technology capable of improving the accuracy of determining whether an electronic device enters a specific region where a virtual marker is registered.
- a method for determining entry of an electronic device into a specific region comprises: estimating a moving direction of the electronic device; aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction; aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into the specific region based on the registered virtual marker.
- an electronic device comprises: a sensor module configured to sense sensing data; a wireless communication module configured to transmit and/or receive a wireless signal; a memory configured to store a virtual marker platform; and a processor operatively connected with the sensor module and the memory, wherein the processor is configured to perform a plurality of operations, the plurality of operations comprising: estimating a moving direction of the electronic device; performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction; performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker; and determining entry of the electronic device into a specific region based on the registered virtual marker.
- a non-transitory computer-readable medium storing a plurality of instructions, where execution of the plurality of instructions by one or more processors causes the one or more processors to perform a plurality of operations comprising: estimating a moving direction of an electronic device; aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction; aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into a specific region based on the registered virtual marker.
- FIG. 1 is a block diagram illustrating an electronic device in a network environment according to certain embodiments
- FIG. 2 is a drawing illustrating a one-dimensional virtual marker according to an embodiment
- FIG. 3 is a drawing illustrating a method for setting virtual markers at specific locations according to an embodiment
- FIG. 9 is a flowchart illustrating a method for detecting entry of an electronic device into a specific region according to an embodiment
- FIG. 10 is a drawing illustrating that an electronic device aligns and stores a coordinate axis of measurement data as a virtual marker in a specified direction according to an embodiment
- FIG. 12 is a graph illustrating acceleration in the direction of progress and the direction of gravity when a user moves with an electronic device according to an embodiment
- FIG. 13 is a graph illustrating acceleration which is compared with acceleration in the direction of gravity when a user moves with an electronic device and is except for acceleration in a moving direction of the electronic device according to an embodiment
- the electronic device may accurately measure whether the electronic device progresses in any direction using less data than before.
- FIG. 1 describes an electronic device where certain embodiments of this disclosure can be practiced.
- the electronic device 101 may include a processor 120 , memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , a sensor module 176 , an interface 177 , a haptic module 179 , a camera module 180 , a power management module 188 , a battery 189 , a communication module 190 , a subscriber identification module (MI) 196 , or an antenna module 197 .
- at least one (e.g., the display device 160 or the camera module 180 ) of the components may be omitted from the electronic device 101 , or one or more other components may be added in the electronic device 101 .
- the components may be implemented as single integrated circuitry.
- the sensor module 176 e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor
- the display device 160 e.g., a display
- the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)), and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from, or in conjunction with, the main processor 121 .
- auxiliary processor 123 may be adapted to consume less power than the main processor 121 , or to be specific to a specified function.
- the auxiliary processor 123 may be implemented as separate from, or as part of the main processor 121 .
- the camera module 180 may capture a still image or moving images.
- the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and the external electronic device (e.g., the electronic device 102 , the electronic device 104 , or the server 108 ) and performing communication via the established communication channel.
- the communication module 190 may include one or more communication processors that are operable independently from the processor 120 (e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication.
- AP application processor
- the signal or the power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna.
- another component e.g., a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 coupled with the second network 199 .
- Each of the electronic devices 102 and 104 may be a device of a same type as, or a different type, from the electronic device 101 .
- all or some of operations to be executed at the electronic device 101 may be executed at one or more of the external electronic devices 102 , 104 , or 108 .
- the electronic device 101 may request the one or more external electronic devices to perform at least part of the function or the service.
- the one or more external electronic devices receiving the request may perform the at least part of the function or the service requested, or an additional function or an additional service related to the request, and transfer an outcome of the performing to the electronic device 101 .
- the electronic device 101 may provide the outcome, with or without further processing of the outcome, as at least part of a reply to the request.
- a cloud computing, distributed computing, or client-server computing technology may be used, for example.
- the electronic device 101 can be positioned using a Global Position System (GPS). However, positioning can be more complex with the electronic device 101 is located indoors. In an indoor environment, GPS signals are either blocked or reflected. Accordingly, the electronic device 101 may use positioning or localization technology of transmitting cellular and/or wireless LAN signal(s) received by the electronic device when the electronic device is indoors.
- GPS Global Position System
- An electronic device may register data defining a specific region when inside, known as a virtual marker VM.
- the electronic device may face a direction in the specific region when registering the virtual marker.
- the virtual marker may be data including vector values.
- the vector values correspond to a direction the electronic device faces when the virtual marker is registered.
- the virtual marker may include magnetic field values corresponding to a direction the electronic device faces when the virtual marker is registered.
- FIG. 2 describes a virtual marker
- FIG. 2 is a drawing 200 illustrating a one-dimensional virtual marker 201 according to an embodiment.
- the one-dimensional virtual marker 201 may include sensing values.
- the sensing values may include information in the form of a one-dimensional line among virtual markers (VMs) displaying information about a specific space and/or location.
- the one-dimensional virtual marker 201 may be stored in a memory (e.g., a memory 130 of FIG. 1 ) of an electronic device (e.g., an electronic device 101 of FIG. 1 ).
- the one-dimensional virtual marker 201 may include magnetic sensing values taken at different sampled times (Timestamp 1 . . . N) 210 , an acceleration sensing values taken at different sampled times (Timestamp 1 . . .
- a gyro sensing values taken at different sampled times (Timestamp 1 . . . N) 230 , a value of a first wireless communication signal 240 , and/or a value of a second wireless communication signal 250 .
- the magnetic sensing value 210 may include a magnitude value for each direction of a magnetic field which is measured at a specific speed in a specific space and/or location according to a specified sampling rate.
- a magnitude value for each direction of the magnetic field may be measured.
- a time when the magnitude value for each direction of the magnetic field is measured during one time may be set to a length value.
- the electronic device 101 may measure a magnitude value for each direction of the magnetic field for 0.1 seconds every second.
- the measurement of the magnitude value for each direction of the magnetic field may be maintained for 0.1 seconds for one time.
- the measurement of the magnetic field may be performed for 0 second to 0.1 seconds, 1.0 second to 1.1 seconds, . . . , N.0 seconds to N.1 seconds (where N is a natural number).
- the electronic device 101 may measure a magnetic field in a specific space and/or location using a magnetic field sensor included in a sensor module (e.g., a sensor module 176 of FIG. 1 ).
- the sensor module 176 may measure a magnetic field from a first time timestamp 1 to an Nth (where N is a natural number) time timestamp N.
- the magnetic sensing value 210 may include strength MagX 1 in an X-axis direction of a magnetic field measured at the first time timestamp 1 , strength MagY 1 in a Y-axis direction of the magnetic field measured at the first time timestamp 1 , and strength MagZ 1 in a Z-axis direction of the magnetic field measured at the first time timestamp 1 .
- the magnetic sensing value 210 may include strength MagXN in the X-axis direction of a magnetic field measured at the Nth time timestamp N, strength MagYN in the Y-axis direction of the magnetic field measured at the Nth time timestamp N, and strength MagZN in the Z-axis direction of the magnetic field measured at the Nth time timestamp N.
- the acceleration sensing value 220 may include a magnitude value for each direction of acceleration of the electronic device 101 , which is measured at a specific speed in a specific space and/or location according to a specified sampling rate.
- a magnitude value for each direction of the acceleration may be measured during a specified length.
- a time when the magnitude value for each direction of the acceleration is measured for one time may be set to a length value.
- the electronic device 101 may measure acceleration in a specific space and/or location from the first time timestamp 1 to the Nth time timestamp N using an accelerometer included in the sensor module 176 .
- the acceleration sensing value 220 may include acceleration AccX 1 in an X-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 , acceleration AccY 1 in a Y-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 , and acceleration AccZ 1 in a Z-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 .
- the gyro sensing value 230 may include an angle orientation value formed with the ground of the electronic device 101 , which is measured in a specific space and/or location according to a specified sampling rate. To measure the gyro sensing value 230 , an angle orientation value may be measured according to a specified length. A time when a magnitude value for each direction of an orientation is measured for one time may be set to a length value.
- the electronic device 101 may measure an angle orientation value formed with the ground in a specific space and/or location from the first time timestamp 1 to the Nth time timestamp N using a gyroscope included in the sensor module 176 .
- the gyro sensing value 230 may include a role value Roll 1 of the electronic device 101 , which is measured at the first time Timestamp 1 , a pitch value Pitchl of the electronic device 101 , which is measured at the first time Timestamp 1 , and a yaw value Yawl of the electronic device 101 , which is measured at the first time Timestamp 1 .
- the gyro sensing value 230 may include a role value RollN of the electronic device 101 , which is measured at the Nth time Timestamp N, a pitch value PitchN of the electronic device 101 , which is measured at the Nth time Timestamp N, and a yaw value YawN of the electronic device 101 , which is measured at the Nth time Timestamp N.
- the gyro sensing value 230 may include a magnitude value for each direction of angular acceleration of the electronic device 101 , which is measured at a specific speed in a specific space and/or location according to a specified sampling rate.
- the gyro sensing value 230 may measure a magnitude value for each direction of the angular acceleration for one time depending on a specified length.
- the electronic device 101 may measure angular acceleration in a specific space and/or location from the first time timestamp 1 to the Nth time timestamp N using the gyroscope included in the sensor module 176 .
- the gyro sensing value 230 may include angular acceleration AnvX 1 in the X-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 , angular acceleration AnvY 1 in the Y-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 , and angular acceleration AnvZ 1 in the Z-axis direction of the electronic device 101 , which is measured at the first time timestamp 1 .
- the gyro sensing value 230 may include angular acceleration AccXN in the X-axis direction of the electronic device 101 , which is measured at the Nth time timestamp N, angular acceleration AnvYN in the Y-axis direction of the electronic device 101 , which is measured at the Nth time timestamp N, and angular acceleration AnvZN in the Z-axis direction of the electronic device 101 , which is measured at the Nth time timestamp N.
- the first wireless communication signal 240 may be a strength value of an access point (AP) signal measured by a wireless communication module (e.g., a wireless communication module 192 of FIG. 1 ).
- the first wireless communication signal 240 may include information associated with the number of AP signals of a broadband LAN (WLAN).
- the first wireless communication signal 240 may include information associated with a strength of an AP signal measured in a specific space and/or location.
- the first wireless communication signal 240 may include a value from a strength (AP 1 signal strength) of a first AP signal to a strength (APN signal strength) of an Nth AP signal.
- the second wireless communication signal 250 may be a strength value of a cell signal of cellular communication, which is measured by the wireless communication module 192 .
- the second wireless communication signal 250 may include information associated with the number of cells.
- the second wireless communication signal 250 may include information associated with strengths of first to Nth cell signals measured in a specific space and/or location.
- the second wireless communication signal 250 may include a value from a strength (Celli signal strength) of a first cell signal to a strength (cellN signal strength) of an Nth cell signal.
- a processor e.g., a processor 120 of FIG. 1
- the processor 120 may collect sensing values within the radius of the specific space depending on movement of the electronic device 101 within the radius of the specific space using the sensor module 176 and may simultaneously receive the first wireless communication signal 240 and/or the second wireless communication signal 250 using the wireless communication module 192 .
- the processor 120 of the electronic device 101 may perform image processing in a camera (e.g., a camera 180 of FIG. 1 ) which supports an augmented reality (AR) technology to spatially match the specified space with the sensing values, thus estimating a relative location of the electronic device 101 .
- a camera e.g., a camera 180 of FIG. 1
- AR augmented reality
- the one-dimensional virtual marker 201 may be generated using the sensing and wireless communication signal values 210 , 220 , 230 , 240 , and 250 , but not limited thereto.
- the shape of the virtual marker may be a one-dimensional line, a two-dimensional plane, or a three-dimensional space.
- the one-dimensional virtual marker 201 may store magnetic field information in which indoor structure information is reflected.
- the one-dimensional virtual marker 201 may store an acceleration value and/or rotational motion information of the electronic device 101 .
- the one-dimensional virtual marker 201 may store surrounding wireless signal information in conjunction with optimization of the power consumption of the electronic device 101 .
- the one-dimensional virtual marker 201 may store WiFi signal information and/or cellular signal information.
- the first to Nth times Timestamp 1 to Timestamp N in the one-dimensional virtual marker 201 may be stored as time values set to measure the sensing values 210 , 220 , 230 , 240 , and 250 , such as magnetic field information, every specified period.
- the one-dimensional virtual marker 201 may additionally include a latitude value and a longitude value of the electronic device 101 .
- the latitude value and the longitude value of the electronic device 101 may be measured from the first time Timestamp 1 to the Nth time Timestamp N using a global positioning system (GPS) included the sensor module 176 or the wireless communication module 192 .
- the latitude value may include a first latitude value measured at the first time Timestamp 1 and an Nth latitude value measured at the Nth time Timestamp N.
- the longitude value 270 may include a first longitude value measured at the first time Timestamp 1 and an Nth longitude value measured at the Nth time Timestamp N.
- the vector values may correspond to a direction the electronic device faces when the virtual marker is registered.
- the magnetic sensing values 210 , MagX, MagY, and MagZ may be based on a coordinate system based on the direction that the electronic device 101 enters a specific region.
- the electronic device may enter the specific region in a different direction from the direction where the virtual marker is registered.
- vector values measured by the electronic device may have a coordinate axis different from a coordinate axis of the virtual marker. That is, the X axis, Y axis, and Z
- the virtual markers of FIG. 2 can be set for specific location inside. At a later time, the virtual markers can be used as references to determine the location of the electronic device indoors. That is, when the electronic device 101 has similar measurements as a virtual marker, it can be deemed that the electronic device is in proximity with the location of the virtual marker.
- a gyro sensing value e.g., a gyro sensing value 230 of FIG. 2
- a first wireless communication signal e.g., a first wireless communication signal 240 of FIG. 2
- a second wireless communication signal e.g., a second wireless communication signal 250 of FIG. 2
- the magnetic sensing value 210 , the first wireless communication signal 240 , and/or the second wireless communication signal 250 in the small region, the detailed location, and/or the short path, which are/is included in the virtual markers 310 , 320 , or 330 may change depending on an indoor structure.
- the magnetic sensing value 210 , the first wireless communication signal 240 , and/or the second wireless communication signal 250 may change depending on a framework of a building and/or a material of a structure.
- the magnetic sensing value 210 , the first wireless communication signal 240 , and/or the second wireless communication signal 250 may change depending on a shape and/or a material of an object disposed in the interior.
- the short path may be a path having a length of about 30 cm or more and about 70 cm or less.
- the virtual marker 310 , 320 , or 330 may be data corresponding to a specific place in the interior and/or an object disposed in the interior.
- the virtual markers 310 , 320 , and 330 may include the first virtual marker 310 , the second virtual marker 320 , and/or the third virtual marker 330 , which are/is data corresponding to specific place(s) in the interior and/or object(s) disposed in the interior.
- a user may define the first virtual marker 310 may define the first virtual marker 310 as the front of a mirror.
- the user may define the second virtual marker 320 as an upper surface of a stair.
- the user may define the third virtual marker 330 as a front of a door.
- FIG. 4 is a drawing 400 illustrating a method for setting virtual markers 410 , 420 , and 430 on a specific route according to an embodiment.
- the virtual markers 410 , 420 , and 430 may be data corresponding to specific places.
- the virtual markers 410 , 420 , and 430 may be data corresponding to a long path among the specific places.
- the virtual markers 410 , 420 , and 430 may be stored in a memory (e.g., a memory 130 of FIG. 1 ) of an electronic device (e.g., an electronic device 101 of FIG. 1 ).
- the virtual marker 410 , 420 , or 430 may include a magnetic sensing value (e.g., a magnetic sensing value 210 of FIG. 2 ), an acceleration sensing value (e.g., an acceleration sensing value 220 of FIG.
- a gyro sensing value e.g., a gyro sensing value 230 of FIG. 2
- a first wireless communication signal e.g., a first wireless communication signal 240 of FIG. 2
- a second wireless communication signal e.g., a second wireless communication signal 250 of FIG. 2
- the magnetic sensing value 210 , the acceleration sensing value 220 , the gyro sensing value 230 , the first wireless communication signal 240 , and/or the second wireless communication signal 250 in the long path, which are/is included in the virtual marker 410 , 420 , or 430 may change depending on an indoor structure.
- the magnetic sensing value 210 , the first wireless communication signal 240 , and/or the second wireless communication signal 250 may change depending on a shape of the path and/or a structure around the path.
- the acceleration sensing value 220 and/or the gyro sensing value 230 may change depending on a speed moving along a path and/or a direction where the electronic device 101 faces when moving along the path.
- the long path may be a path having a length of about 5 m or more and about 100 m or less.
- the virtual marker 410 may be data corresponding to a specific movement line in the interior.
- the virtual markers 410 , 420 , and 430 may be data corresponding to a movement line which starts from the first point 410 and arrives at the third point 430 through the second point 420 .
- a user may define the virtual markers 410 , 420 , and 430 as data indicating a continuous progress path, such as a movement line which starts from the starting point 410 and arrives at the arrival point 430 through the path 420 in the building.
- the coordinate system of the virtual markers may be different from the coordinate system of the virtual markers that were defined when proceeding from 410 to 430 .
- FIG. 5 is a block diagram 500 illustrating a virtual marker platform 510 according to an embodiment.
- the virtual marker platform 510 may be software stored in a memory (e.g., a memory 130 of FIG. 1 ).
- the virtual marker platform 510 may include one or more instructions.
- a processor e.g., a processor 120 of FIG. 1
- the virtual marker platform 510 may load and execute the virtual marker platform 510 from the memory 130 .
- the virtual marker platform 510 may include a receiver 511 , a virtual marker generator 512 , a virtual marker detection unit 513 , a storage unit 514 , and a controller 515 .
- the receiver 511 may receive sensing data from a sensor 520 .
- the sensing data may include a magnetic signal, movement of an electronic device (e.g., an electronic device 101 of FIG. 1 ), acceleration of the electronic device 101 , and/or an angle orientation formed with the ground by the electronic device 101 .
- the sensor 520 may provide the magnetic sensing values 210 , acceleration sensing values 220 , and the gyro sensing values 230 .
- the receiver 511 may receive first wireless communication data or second wireless communication data.
- the first wireless communication data may include a wireless LAN signal (e.g., a first wireless communication signal 240 of FIG. 2 ) and related parameters.
- the second wireless communication data may include a cellular signal (e.g., a second wireless communication signal 250 of FIG. 2 ) and related parameters.
- the receiver 511 may collect and provide sensing data to the virtual marker generator 512 and/or the virtual marker detection unit 513 .
- the receiver 511 may collect data from the sensor 520 including a magnetic field sensor, an accelerometer, and/or a gyroscope.
- the receiver 511 may correct sensing data using motion information of the electronic device 101 to be used to generate and/or detect a virtual marker (e.g., a one-dimensional marker 201 of FIG. 2 ).
- the receiver 511 may generate information such as an orientation and/or a posture of the electronic device 101 from sensing data collected to provide essential information and/or efficient information about generating and/or detecting the virtual marker 201 and may provide the information to the virtual marker generator 512 and/or the virtual marker detection unit 513 .
- the virtual marker generator 512 may generate the first virtual marker 201 corresponding to a first location which is a current location of the electronic device 101 using the sensing data.
- the virtual marker generator 512 may receive a request to generate the virtual marker 201 from the controller 515 .
- the virtual marker generator 512 may generate the first virtual marker depending on a specified format based on the sensing data, such as magnetic field information, movement information of the electronic device 101 , and/or an image of the camera 180 supporting augmented reality, which are/is provided from the receiver 511 .
- the virtual marker generator 512 may generate the first virtual marker depending on the specified format based on the first wireless communication data and the second wireless communication data, which are provided from the receiver 511 .
- the virtual marker generator 512 may request the controller 515 to register the generated virtual marker 201 .
- the virtual marker detection unit 513 may detect any virtual marker.
- the virtual marker detection unit 513 may detect the virtual marker 201 corresponding to the virtual marker 201 requested from the controller 515 .
- the virtual marker detection unit 513 may deliver a result associated with the detected virtual marker 201 to the controller 515 .
- the storage unit 514 may store the first virtual marker 201 .
- the storage unit 514 may include virtual marker local storage 540 .
- the virtual marker local storage 540 may be a partial physical and logical area of the memory 130 .
- the virtual marker local storage 540 may be a partial area of the memory, which is physically allocated, or may be defined as a logical memory address value.
- Virtual marker remote storage 550 may be a server (e.g., a server 103 of FIG. 1 ) outside the electronic device 101 .
- the controller 515 may request the virtual marker local storage 540 and/or the virtual marker remote storage 550 to register the virtual marker, thus registering the virtual marker 201 .
- the controller 515 may transmit a request to load a virtual marker list and/or a virtual marker, which are/is stored in the virtual marker local storage 540 and the virtual marker remote storage 550 , and may load the stored virtual marker list and/or the stored virtual marker.
- the controller 515 may register a first virtual marker, may detect any virtual marker, and may load the first virtual marker 201 from the storage unit 514 .
- the controller 515 may control signals and/or pieces of information transmitted and received in the virtual marker platform 510 .
- the service 530 may be a function associated with detecting the virtual marker 201 in the electronic device 101 .
- the service 530 may be an application (e.g., an application 146 of FIG. 1 ) run in a location where the virtual marker 510 is detected or a function (or an operation) provided by the application 146 .
- the service 530 may be a gym app configured to be run in a gym entrance where the electronic device 101 detects the virtual marker 510 .
- the service 530 may be a notification for providing an event which occurs in a location where the virtual marker 201 is detected.
- the service 530 may provide a push notification that the electronic device 101 enters an entrance to a supermarket.
- the service 530 may be a function of changing or authenticating an operation of the application 146 as the virtual marker 201 is detected.
- the service 530 may change a payment app to a payment ready state when the electronic device 101 enters a counter and may provide an indication guiding a user to perform authentication.
- the controller 515 may provide the service 530 mapped to a location where the virtual marker 201 is detected. For example, when detecting that the electronic device 101 enters a location where the virtual marker 201 is generated, the controller 515 may execute the service 530 . For another example, when detecting that the electronic device 101 enters the location where the virtual marker 201 is generated, the controller 515 may transmit a control signal requesting to execute a specified event to the service 530
- the virtual marker platform 510 may not include at least one of the components shown in FIG. 5 , may include another component which is not shown, or may include a component into which a plurality of components are merged.
- the storage unit 514 may be a component independent of the virtual marker platform 510 .
- FIG. 6 is a drawing illustrating coordinates (x, y, z) specifying a location and/or an orientation of an electronic device (e.g., an electronic device 101 of FIG. 1 ) according to an embodiment.
- the coordinates (x, y, z) may include a first coordinate value x, a second coordinate value y, and a third coordinate value z.
- the first coordinate value x may be a coordinate value in the direction of a width of the electronic device (the shorter dimension along the display).
- the second coordinate value y may be a coordinate value in the direction of a length of the electronic device (the longer dimension along the display).
- the third coordinate value z may be a coordinate value in the direction of a thickness and/or a height of the electronic device (the dimension that is orthogonal to the display).
- a one-dimensional virtual marker (e.g., a one-dimensional virtual marker 201 of FIG. 2 ) may be defined as movement line data for a specified path.
- the virtual marker 201 of FIG. 2 may additionally include a latitude value (e.g., a latitude value 260 of FIG. 2 ) and/or a longitude value (e.g., a longitude value 270 of FIG. 2 ) corresponding to a timestamp.
- the movement line data may include the latitude value 260 and/or the longitude value 270 of the electronic device 101 .
- the latitude and/or the longitude of the electronic device 101 may be measured using a global positioning system (GPS) included in a sensing module 176 of the electronic device 101 or a wireless communication module 192 .
- GPS global positioning system
- a processor e.g., a processor 120 of FIG. 1
- a processor of the electronic device 101 may identify whether the electronic device 101 is coarsely close to a specific place in the interior where the electronic device 101 is located, based on the latitude value 260 and/or the longitude value 270 .
- the processor 120 of the electronic device 101 may determine coordinates (x, y, z) specifying a location and/or an orientation of the electronic device 101 with respect to the first coordinate value x in the direction of a width of the electronic device 101 , the second coordinate value y in the direction of a length of the electronic device 101 , and the third coordinate value z in the direction of a thickness and/or a height of the electronic device 101 .
- the movement line data may include a magnetic field vector value measured based on the coordinates (x, y, z).
- the movement line data may include an acceleration vector value and/or an angular acceleration vector value measured based on the coordinates (x, y, z) specifying the location and/or the orientation of the electronic device 101 .
- the movement line data may include air pressure and/or altitude values measured based on the coordinates (x, y, z) specifying the location of the electronic device 101 .
- the movement line data may include parameter values for a cellular signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of the electronic device 101 .
- the movement line data may include parameter values for a wireless LAN signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of the electronic device 101 .
- the movement line data may include parameter values for a Bluetooth signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of the electronic device 101 .
- FIG. 7 is a flowchart 700 illustrating an operation of generating and/or detecting a virtual marker 201 according to an embodiment.
- a processor 120 of an electronic device may perform an operation ( 710 ) of generating a virtual marker.
- the processor 120 may generate a first virtual marker (e.g., the virtual marker 201 of FIG. 2 ) corresponding to a first location.
- the first location may be a current location of the electronic device 101 using sensing data including a magnetic signal, movement of the electronic device 101 .
- the first virtual marker may be generated by using acceleration of the electronic device 101 , and/or an angle orientation formed with the ground by the electronic device 101 and a wireless signal received by the electronic device 101 .
- the processor 120 may determine a radius of a specific space to be generated when generating the virtual marker 201 .
- the processor 120 may collect sensing values and wireless signal values (e.g., sensing values 210 , 220 , 230 , 240 , and 250 ) within the radius through movement of the electronic device 101 within the corresponding radius using a sensor module 176 .
- the processor 120 may process an image obtained using a camera (e.g., a camera module 180 of FIG. 1 ) supporting augmented reality.
- the image may be processed for spatial matching between the determined space and the measured sensing values and wireless signal values 210 , 220 , 230 , 240 , and 250 . This allows estimating the first location which is the current location of the electronic device 101 .
- the electronic device 101 may identify a feature from the image obtained using the camera 180 .
- the processor 120 of the electronic device 101 may recognize a feature point (e.g., characteristic places (the front of the mirror 310 , a stair 320 , or a front of a door 330 ) of FIG. 3 , a pattern of the bottom, locations and shapes of pieces of arranged furniture, the bend of the wall, or the like) in an image by means of the camera 180 at the same time as measuring a sensing value when generating the virtual marker.
- a feature point e.g., characteristic places (the front of the mirror 310
- the processor 120 may perform processing for specifying any reference point on the image obtained by the camera 180 .
- the processor 120 may estimate how far the electronic device 101 has moved with respect to the reference point.
- the processor 120 may estimate a movement line where the electronic device 101 moves from any one point to another point in the interior (e.g., a movement line where the electronic device 101 starts from a starting point 410 of FIG. 4 and arrives at an arrival point 430 through a path 420 in a building).
- the processor 120 may measure a movement degree every specified period.
- the processor 120 may align sensing values associated with the measured movement degree on a space.
- the processor 120 of the electronic device 101 may perform an operation ( 720 ) of registering a virtual marker.
- the processor 120 may store the first virtual marker in a memory (e.g., a memory 130 of FIG. 1 ).
- the first virtual marker stored in the memory 130 may be registered with a virtual marker list in the memory 130 .
- the processor 120 of the electronic device 101 may perform an operation ( 730 ) of loading the virtual marker.
- the processor 120 may store the virtual marker 201 in the memory 130 and may register the virtual marker 201 with the virtual marker list.
- the processor 120 may load the virtual marker 201 to detect the registered virtual marker 201 .
- the processor 120 may load the virtual marker 201 when an application (e.g., an application 146 of FIG. 1 ) running an event corresponding to the registered virtual marker 201 is run in the electronic device 101 .
- the processor 120 may load the virtual marker 201 when identifying that the electronic device 101 enters a location corresponding to the registered virtual marker 201 within a certain radius.
- the processor 120 may load the virtual marker 201 .
- the processor 120 may load a virtual marker to be detected among virtual markers registered with the virtual marker list from the memory 130 , when receiving a notification associated with a service associated with a location where the virtual marker 201 is registered.
- the processor 120 of the electronic device 101 may perform an operation ( 740 ) of detecting a surrounding virtual marker. After registering the virtual marker to be detected, the processor 120 may identify whether the electronic device 101 enters within a certain radius from the first location to identify whether it enters the first location.
- the processor 120 may use wireless communication, such as a cellular signal and/or a WiFi signal, which are/is able to be always received to identify whether the electronic device 101 enters within the certain radius from the virtual marker 201 and do/does not separately consume power for transmission and reception.
- the processor 120 may detect whether the electronic device 101 enters within the certain radius from the first location from a relatively wide radius using wireless communication circuitry 192 .
- the processor 120 may operate at least some of sensors of the sensor module 176 used when generating the virtual marker 201 . For example, when the electronic device 101 enters within the certain radius from the first location, the processor 120 may operate sensors necessary for detection of the first virtual marker among the sensors of the sensor module 176 .
- the processor 120 of the electronic device 101 may perform an operation ( 750 ) of processing a sensing value.
- the processor 120 may organize sensing values 210 , 220 , 230 , 240 , and 250 measured using the sensor module 176 in the certain radius into data.
- the processor 120 may correct errors of the sensing values 210 , 220 , 230 , 240 , and 250 , which occur due to movement of the electronic device 101 .
- the processor 120 may align and compare information included when generating the virtual marker 201 and a coordinate axis of information measured when detecting the virtual marker 201 .
- the processor 120 of the electronic device 101 may perform an operation ( 760 ) of detecting a virtual marker.
- the processor 120 may compare the measured sensing values with sensing data of the first virtual marker to identify whether the electronic device 101 enters the first location.
- the processor 120 may compare the sensing values 210 , 220 , 230 , 240 , and 250 corrected after being measured in real time with sensing data of the registered virtual marker 201 and may provide a specified service when they are identical to each other. For example when the sensing data corrected after being measured in real time and the wireless signal data are matched with the first virtual marker, the processor 120 may be configured to execute an event specified to be performed in the first location by the electronic device 101 or request a service specified to be performed in the first location by the electronic device 101 .
- operations 710 to 760 may not be generated and performed successively or in stages.
- the process of generating and registering the virtual marker 201 in operations 710 and 720 and the sensing operation in operation 740 may be separately performed.
- FIG. 8 is a flowchart 800 illustrating a procedure of registering and detecting a space based on a moving direction of an electronic device (e.g., an electronic device 101 of FIG. 1 ) according to an embodiment.
- an electronic device e.g., an electronic device 101 of FIG. 1
- a processor e.g., a processor 120 of FIG. 1 of the electronic device 101 may generate an aligned fingerprint.
- the fingerprint may be data defining a specific space, for example a virtual marker (e.g., a one-dimensional virtual marker 201 of FIG. 2 ).
- the aligned fingerprint may be data obtained by aligning and correcting coordinate axes of pieces of sensing data having directionality with respect to one coordinate axis.
- the processor 120 may store the aligned fingerprint in a memory 130 of the electronic device 101 or may transmit the aligned fingerprint to a server 108 .
- the processor 120 of the electronic device 101 may determine whether the electronic device 101 is adjacent to a target space.
- the processor 120 may compare the aligned fingerprint with location data associated with the target space. When the aligned fingerprint has a correlation of a specified correlation or more with the location data associated with the target space, the processor 120 may determine that the electronic device 101 is adjacent to the target space.
- the target space may be a space where the electronic device 101 is located when the fingerprint including data measured on the corresponding region is stored in the electronic device 101 .
- the processor 120 may proceed with operation 830 .
- the processor 120 may wait until the electronic device 101 is adjacent to the target space.
- the processor 120 may compare the aligned fingerprint with location data associated with the target space. When the aligned fingerprint has a correlation of the specified correlation or less with the location data associated with the target space, the processor 120 may determine that the electronic device 101 is spaced apart from the target space over the specified distance.
- the registration of the space and the detection of the registered space may not be continuous operations.
- operation 810 and operation 820 may not occur sequentially.
- the electronic device 101 may perform the operation from operation 820 .
- the processor 120 of the electronic device 101 may measure a moving direction.
- the processor 120 may measure a direction where the electronic device 101 is moved using a sensor (e.g., an accelerometer or a gyroscope).
- a sensor e.g., an accelerometer or a gyroscope
- the processor 120 of the electronic device 101 may align a coordinate axis of the measured direction data with respect to the moving direction.
- the processor 120 may measure pieces of data (e.g., a magnetic field value, an acceleration value, and a gyro value) having directionality such that the electronic device 101 detects the target space.
- the processor 120 may align directions of pieces of measurement data having directionality on a coordinate axis with respect to a direction where the electronic device 101 is moved to correct the pieces of data.
- the processor 120 of the electronic device 101 may compare the data corrected by aligning the coordinate axis with the aligned fingerprint.
- the processor 120 may compare the pieces of measurement data corrected such that the direction is aligned with respect to the coordinate axis with the stored fingerprint.
- the processor 120 of the electronic device 101 may determine whether the corrected data and the fingerprint in which coordinate axes of all data are aligned are matched with each other.
- the processor 120 may determine whether the pieces of measurement data corrected by aligning the coordinate axis have a correlation of a specified value or more with the stored fingerprint.
- the processor 120 may determine whether the data, the coordinate axis of which is aligned, and the fingerprint, the coordinate axis of which is aligned, are matched with each other.
- the processor 120 may proceed with operation 870 .
- the processor 120 may return to operation 840 .
- coordinate axes of values including a direction component among values included in the measurement data may be aligned in a certain direction.
- the processor 120 may estimate a moving direction of the electronic device 101 to be compared with the fingerprint, the coordinate axis of which is aligned.
- the processor 120 may align a coordinate axis of the measurement data in a direction corresponding to the moving direction of the electronic device 101 .
- the processor 120 may align the coordinate axis of the corrected measurement data again in a direction corresponding to the coordinate axis of the fingerprint.
- the processor 120 may apply certain embodiments described in FIG. 9 or less for the operation of processing the sensing values 210 , 220 , 230 , 240 , and 250 and determining whether it enters the corresponding location in operation 750 and/or the operation of comparing the measurement data, the coordinate axis of which is aligned, with the fingerprint, the coordinate axis of which is aligned, in operation 850 .
- FIG. 9 is a flowchart 900 illustrating a method for detecting entry of an electronic device (e.g., an electronic device 101 of FIG. 1 ) into a specific region according to an embodiment.
- an electronic device e.g., an electronic device 101 of FIG. 1
- a processor 120 of the electronic device 101 may estimate a moving direction of the electronic device 101 .
- the processor 120 may estimate a moving direction of the electronic device 101 with respect to a coordinate axis (e.g., coordinates (x, y, z) of FIG. 6 ) of the electronic device 101 .
- the processor 120 may estimate a moving direction on the coordinate axis (x, y, z) of the electronic device 101 .
- the processor 120 may estimate a moving direction of the electronic device 101 using a sensor (e.g., a sensor included in a sensor module 176 of FIG. 1 ) and/or communication circuitry (e.g., a wireless communication module 192 of FIG. 1 ). For example, the processor 120 may determine a progress direction of the electronic device 101 based on an acceleration value of the electronic device 101 and/or an orientation of the electronic device 101 , which are/is measured by an accelerometer and/or a gyroscope included in the sensor module 176 . For another example, the processor 120 may determine the progress direction the electronic device 101 based on a WiFi signal and/or a cellular signal received by the communication circuitry 192 .
- a sensor e.g., a sensor included in a sensor module 176 of FIG. 1
- communication circuitry e.g., a wireless communication module 192 of FIG. 1
- the processor 120 may determine a progress direction of the electronic device 101 based on an acceleration value of the electronic device 101 and/or
- the processor 120 of the electronic device 101 may perform first alignment of aligning a direction of measurement data, obtained to determine whether the electronic device 101 enters a first region where a virtual marker is registered, in the moving direction.
- the processor 120 may correct measurement data obtained to detect a space or an object after estimating the orientation of the electronic device 101 based on the moving direction of the electronic device 101 .
- the processor 120 may align a direction of any coordinate axis of data corresponding to a vector value having a direction component among the measurement data to be substantially the same as a direction where the electronic device 101 progresses.
- FIG. 10 is a drawing illustrating that an electronic device 101 aligning and storing a coordinate axis of measurement data as a virtual marker in a specified direction in memory, according to an embodiment.
- a processor e.g., a processor 120 of FIG. 1
- the electronic device 101 may set a specified first direction 1001 to a Y-axis with an X-axis orthogonal to the Y-axis.
- the processor 120 may align the measured magnetic field value in a reference direction.
- the reference direction may be randomly determined.
- the Y-axis may be aligned to be identical to the reference direction on a coordinate axis (e.g., coordinates (x, y, z) of FIG. 6 ) of the electronic device 101 .
- the Y-axis of the electronic device 101 may face a direction different from the first direction 1001 .
- the first direction 1001 and the Y-axis of the electronic device 101 may be different from each other.
- the processor 120 may obtain a second coordinate value (x2, y2) which is raw data.
- the orientation of the electronic device 101 may be set to face the first direction 1001 and a vector value 1031 may be stored in the virtual marker.
- the processor 120 may rotate a coordinate axis (X′, Y′) such that the Y-axis of the electronic device 101 is identical to the first direction 1001 That is, the coordinate system may be rotated 0 degrees counterclockwise. This aligns the coordinate axis (X′, Y′) in a specified direction (X, Y).
- the processor 120 may store a third coordinate value (x3, y3), obtained by rotating the second coordinate value (x2, y2), which is raw data, by a specified angle ⁇ , in the virtual marker.
- FIG. 11 is a graph 1100 illustrating a change in acceleration in the direction orthogonal to gravity when a user moves with an electronic device (e.g., an electronic device 101 of FIG. 1 ) according to an embodiment.
- an electronic device e.g., an electronic device 101 of FIG. 1
- a first interval 1110 which is a state where the electronic device 101 is stopped
- a second interval 1120 which is a state where the electronic device 101 is moved
- the first interval 1110 may include a plurality of first sub-intervals 1111 , 1112 , 1113 , 1114 , and 1115
- the second interval 1120 may include a plurality of second sub-intervals 1121 , 1122 , 1123 , and 1124 .
- an amount of change in acceleration in the direction orthogonal to gravity in the second interval may be larger than an amount of acceleration in the orthogonal to gravity in the first interval 1110 .
- the amount of change in acceleration in the direction of gravity may be greater than or equal to a specified threshold.
- a processor may obtain a change in acceleration in the direction orthogonal to gravity.
- the processor 120 may determine a start and/or end time point of an interval where he or she moves with the electronic device 101 by measuring acceleration in the direction orthogonal to gravity.
- the processor 120 may estimate a departure speed of the electronic device 101 with respect to a coordinate system (e.g., coordinates (x, y, z) of FIG. 6 ) of the electronic device 101 using a change in acceleration, which occurs when the electronic device 101 starts to move.
- FIG. 12 is a graph 1200 illustrating acceleration in the direction of progress and the direction orthogonal to gravity when a user moves with an electronic device (e.g., an electronic device 101 of FIG. 1 ) according to an embodiment.
- an electronic device e.g., an electronic device 101 of FIG. 1
- a first graph 1210 may represent acceleration in the direction of progress
- a second graph 1220 may represent acceleration in the direction orthogonal to gravity
- a processor e.g., a processor 120 of FIG. 1
- the processor 120 may analyze acceleration in the direction orthogonal to gravity and acceleration in the direction of progress based on the first graph 1210 and the second graph 1220 .
- the processor 120 may identify that acceleration in the moving direction increases.
- the processor 120 may integrate the acceleration in the moving direction to estimate an initial movement speed of the electronic device 101 .
- FIG. 13 is a graph illustrating acceleration which is compared with acceleration in the direction orthogonal to gravity when a user moves with an electronic device 101 and is except for acceleration in a moving direction of the electronic device 101 according to an embodiment.
- a third graph 1310 may represent acceleration of a moving direction of the electronic device 101 , which is compared with acceleration in the direction orthogonal to gravity.
- a fourth graph 1320 may represent acceleration except for acceleration of a moving direction of the electronic device 101 , which is compared with acceleration in the direction orthogonal to gravity.
- a processor may obtain acceleration of a moving direction of the electronic device 101 and an acceleration component except for the acceleration of the moving direction of the electronic device 101 on a plane orthogonal to gravity by being compared with acceleration in the direction orthogonal to gravity.
- the processor 120 may compare an amount of change in acceleration indicated in the moving direction of the electronic device 101 with an amount of change in acceleration except for the moving direction of the electronic device 101 .
- the processor 120 may accumulate an acceleration component of a plane orthogonal to acceleration in the direction orthogonal to gravity when the acceleration in the direction orthogonal to gravity has a value of a specified value or more and may extract acceleration in a progress direction of the electronic device 101 .
- the processor 120 may update a direction where the electronic device 101 is moved continuously after the electronic device 101 starts to move and may determine a moving direction of the electronic device 101 .
- FIG. 14 is a flowchart 1400 illustrating a process of estimating a moving direction of an electronic device (e.g., an electronic device 101 of FIG. 1 ) according to an embodiment.
- an electronic device e.g., an electronic device 101 of FIG. 1
- a processor e.g., a processor 120 of FIG. 1
- the processor 120 may start to measure a moving direction.
- the processor 120 may turn on an accelerometer of a sensor module (e.g., a sensor module 176 of FIG. 1 ).
- the processor 120 of the electronic device 101 may determine whether the electronic device 101 is stopped (0 acceleration, 0 velocity). The processor 120 may determine whether a user of the electronic device 101 stops walking using the accelerometer included in the sensor module 176 . When the user of the electronic device 101 is stopped (operation 1420 : Yes), the processor 120 may not proceed with a subsequent operation to maintain operation 1420 . When the user of the electronic device 101 walks (operation 1420 : No), the processor 120 may proceed with operation 1430 .
- the processor 120 of the electronic device 101 may accumulate initial acceleration.
- the processor 120 may obtain initial acceleration as the user of the electronic device 101 starts to walk using the accelerometer included in the sensor module 176 .
- the processor 120 may accumulate initial acceleration information by accumulating a first step the user takes during a specified interval.
- the processor 120 of the electronic device 101 may determine whether the acceleration value is greater than or equal to a specified threshold.
- the processor 120 may obtain an acceleration value of the electronic device 101 using the accelerometer included in the sensor module 176 . When there is a change in acceleration over a specified value, the processor 120 may determine that the electronic device starts to move.
- the processor 120 may proceed with operation 1450 .
- the processor 120 may proceed with operation 1470 .
- the processor 120 of the electronic device 101 may determine whether the user is walking.
- the processor 120 may determine whether the user walks continuously or stops after initial movement.
- the processor 120 may proceed with operation 1470 .
- the processor 120 may return to operation 1420 .
- the processor 120 of the electronic device 101 may measure a moving direction in real time.
- the processor 120 may dynamically measure a moving direction to continuously estimate a direction where the electronic device 101 is moved.
- the processor 120 may estimate a change in speed of the electronic device 101 with respect to a coordinate system (e.g., coordinates (x, y, z) of FIG. 6 ) of the electronic device 101 online using a gyroscope and/or an accelerometer included in the sensor module 176 .
- a coordinate system e.g., coordinates (x, y, z) of FIG. 6
- the processor 120 may separately determine a change in the direction of progress with respect to the coordinate system (x, y, z) of the electronic device 101 by means of a change in the value measured by the gyroscope.
- the processor 120 of the electronic device 101 may accumulate acceleration information over time.
- the processor 120 may accumulate acceleration information according to movement of the electronic device 101 every specified period.
- the processor 120 of the electronic device 101 may calculate a correlation between the movement vector and acceleration in the direction orthogonal to gravity.
- the processor 120 of the electronic device 101 may determine a moving direction.
- the processor 120 may determine the progress direction of the electronic device 101 based on the correlation between the movement vector and the acceleration in the direction orthogonal to gravity.
- FIG. 17 is a drawing 1700 illustrating a process of changing a coordinate axis of measured data according to a change in orientation of an electronic device 101 according to an embodiment.
- the device is rotated theta degrees with a with respect to a first direction.
- the axis are rotated theta degrees in the counter-clockwise direction.
- a Y-axis of the electronic device 101 may face a direction different from a first direction 1701 .
- a processor e.g., a processor 120 of FIG. 1
- the Y-axis of the electronic device 101 may change to face a direction such as the first direction 1701 .
- the processor 120 may change the first direction vector 1711 measured on a previous coordinate axis (X′, Y′) to correspond to a changed coordinate axis (X, Y), thus generating a second direction vector 1721 .
- the processor 120 may apply a rotation vector 1722 for changing the previous coordinate axis (X′, Y′) to the changed coordinate axis (X, Y) to convert the first direction vector 1711 into the second direction vector 1721 .
- the processor 120 may synchronize the progress direction of the electronic device 101 with any axis (e.g., a Y-axis) among coordinate axes of the electronic device 101 .
- the processor 120 may align and provide the measured direction vector value to correspond to a rotated coordinate axis to a detection unit (e.g., a virtual marker detection unit 513 of FIG. 5 ).
- the processor 120 may not directly provide the detection unit 513 with the first direction vector 1711 which is an original vector and may provide the detection unit with the second direction vector 1721 which is a measurement value vector after synchronizing the Y-axis of the electronic device 101 with the progress direction of the electronic device 101 .
- the processor 120 may provide the detection unit 513 with a vector value indicating the progress direction of the electronic device 101 and a difference between the measured vector value and the converted vector value or an angle value formed by the progress direction and the measured vector.
- the processor 120 may provide the detection unit 513 with a third direction vector 1722 which is a vector indicating a difference value between the first direction vector 1711 and the second direction vector 1721 .
- the processor 120 may provide the detection unit 513 with the first direction vector 1711 and a rotational matrix of rotating a coordinate axis.
- the processor 120 may compare a vector value (e.g., a vector value 1031 of FIG. 10 ) stored in a virtual marker with the second direction vector 1721 .
- the processor 120 may rotate the second direction vector 1721 by a difference between the first direction 1001 and the progress direction of the electronic device 101 , which is a reference vector stored in the virtual marker, to detect the vector value 1031 stored in the virtual marker.
- the processor 120 may obtain the second direction vector 1721 . In an embodiment, the processor 120 may obtain the second direction vector 1721 as one vector value. For another example, the processor 120 may obtain the first direction vector 1711 and the third direction vector 1722 which is a difference vector. For another example, the processor 120 may obtain the first direction vector 1711 and a conversion angle on a coordinate axis. For another example, the processor 120 may obtain the first direction vector 1711 and a rotational matrix for rotating and converting a coordinate axis (e.g., coordinates (x, y, z) of FIG. 6 ).
- a coordinate axis e.g., coordinates (x, y, z) of FIG. 6 .
- the alignment direction does not necessarily have to the progress direction and may be stored as a difference between the progress direction of the electronic device 101 and a sensor value having the measured directionality.
- FIG. 18 is a drawing 1800 illustrating a magnetic field value of two-dimensional movement line data as a vector according to an embodiment.
- a processor e.g., a processor 120 of FIG. 1
- an electronic device e.g., an electronic device 101 of FIG. 1
- a plurality of points may be set to magnetic field sample points to measure a magnetic field value.
- Directions and/or magnitudes of a magnetic field, which are respectively measured at the plurality of points, may be different from each other.
- the processor 120 may estimate an entry point which is a point entering a virtual marker to synchronize a first direction 1001 with a moving direction of the electronic device 101 .
- the processor 120 may determine whether the electronic device 101 enters and/or exit a first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of measurement data.
- a magnetic field value among discrete movement line data for a two-dimensional space may be represented in the form of a vector.
- Each data on the two-dimensional plane may have a feature distinguished from a value around it according to a location.
- a pattern may be used as an example of a method for selecting an entry point.
- the processor 120 may additionally sample a portion of one-dimensional movement line data and may compare patterns. For example, when the length of the one-dimensional movement line data is composed of 100 samples, the processor 120 may perform pattern comparison using only 10 samples.
- the processor 120 may compare patterns using a shape of a graph based on a plurality of entry points for a one-dimensional movement line.
- the processor 120 may derive a slope using two entry points for one one-dimensional movement line and may identify a pattern.
- the processor 120 may define and compare patterns for the one-dimensional movement line as approximate shapes of the graph, such as a monotonous increase, a monotonous decrease, an upward convex shape, and a downward convex shape.
- the processor 120 may estimate a direction of the movement line data using the additional signal.
- the processor 120 may align a direction of measured data to correspond to the estimated direction of the movement line data.
- the processor 120 may determine that the electronic device 101 enters a specified region.
- the processor 120 may compare a measurement value where a coordinate axis is aligned in the direction of progress with a direction of entry or exit from a virtual marker where the coordinate axis is aligned.
- the processor 120 may detect access to a specific location and/or object or may reduce complexity of calculation for estimating a location.
- the electronic device 101 may execute a specified event or may request a specified service.
- a controller when it is requested by a service (e.g., a service 530 of FIG. 5 ), a controller (e.g., a controller 515 of FIG. 5 ) may request a notification that the electronic device 101 enters the first location.
- a specific service such as a notification in a reminder application and/or a specific operation in a Bixby routine may be performed.
- the service 530 may request the electronic device 101 to perform a specified operation.
- a notification event such as the reminder and/or the Bixby routine, according to entry into the first location may be executed.
- a specific location in a vehicle such as the front of a car audio system, may be registered with a virtual marker.
- a specific application such as a navigation or music application may be run.
- the controller 515 may request a receiver (e.g., a receiver 511 of FIG. 5 ) to maximally collect information about a location where the electronic device 101 may pass while moving when generating the virtual marker.
- the controller 515 may request a virtual marker detection unit (e.g., a virtual marker detection unit 513 of FIG. 5 ) to detect whether the electronic device 101 passes through the specific space while moving.
- the controller 515 may request the receiver 511 to collect information in the form of surrounding the specific object when generating the virtual marker.
- the controller 515 may request the virtual marker detection unit 513 to perform detection of an intended action where a user brings the electronic device 101 to the periphery of the specific object.
- various services 530 such as an advertisement in a mart may be implemented using a virtual marker platform (e.g., a virtual marker platform 510 of FIG. 5 ).
- a virtual marker platform e.g., a virtual marker platform 510 of FIG. 5
- the front of a specific merchandise display stand in the mart may be registered as a virtual marker.
- the service 530 may notify a user of any electronic device of information about a corresponding product or related marketing information.
- the controller 515 may provide a value for comparison of a vector value measured when tracking a vector and location generated when remembering a location/object or when detecting a location/object, thus providing the service 530 while increasing the accuracy of directionality and decreasing the calculated amount of data.
- a method for determining entry of an electronic device into a specific region may include estimating a moving direction of the electronic device, aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction, aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating the registered virtual marker, and determining entry of the electronic device into the specific region based on the registered virtual marker.
- estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in the direction orthogonal to gravity when the electronic device is moved.
- aligning the coordinate axis of measurement data comprises synchronizing a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correcting and providing a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
- the performing of the first alignment described in the disclosure may be to synchronize a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correct and provide a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
- An electronic device described in the disclosure may include a sensor module that senses sensing data, a wireless communication module that transmits and/or receives a wireless signal, a memory that stores a virtual marker platform, and a processor operatively connected with the sensor module and the memory.
- the processor may be configured to perform a plurality of operation comprising estimating a moving direction of the electronic device, performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction, and performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into a specific region based on the registered virtual marker.
- the processor described in the disclosure may accumulate acceleration information over time and may estimate an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
- the processor described in the disclosure may obtain a vector value indicating a progress direction of the electronic device and a difference between a measured vector value and a converted vector value or an angle value formed by the progress direction and the measured vector.
- estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in a direction orthogonal to gravity when the electronic device is moved.
- estimating of the moving direction of the electronic device further comprises estimating a direction vector, having a highest correlation on a plane orthogonal to acceleration in the direction of gravity, as the moving direction of the electronic device.
- estimating of the moving direction of the electronic device comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
- the plurality of operations further comprises: aligning the coordinate axis of measurement data comprises generating a first direction vector being data having directionality among pieces of data measured by the electronic device, changing a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being a same as a first direction being a specified direction, and changing the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
- the electronic device may be one of various types of electronic devices.
- the electronic devices may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the disclosure, the electronic devices are not limited to those described above.
- each of such phrases as “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B, or C”, “at least one of A, B, and C”, and “at least one of A, B, or C” may include any one of, or all possible combinations of the items enumerated together in a corresponding one of the phrases.
- such terms as “1st” and “2nd”, or “first” and “second” may be used to simply distinguish a corresponding component from another, and does not limit the components in other aspect (e.g., importance or order).
- an element e.g., a first element
- the element may be coupled with the other element directly (e.g., wiredly), wirelessly, or via a third element.
- module may include a unit implemented in hardware, software, or firmware, and may interchangeably be used with other terms, for example, “logic”, “logic block”, “part”, or “circuitry”.
- a module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions.
- the module may be implemented in a form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Certain embodiments as set forth herein may be implemented as software (e.g., the program 140 ) including one or more instructions that are stored in a storage medium (e.g., internal memory 136 or external memory 138 ) that is readable by a machine (e.g., the electronic device 101 ).
- a processor e.g., the processor 120
- the machine e.g., the electronic device 101
- the one or more instructions may include a code generated by a compiler or a code executable by an interpreter.
- the machine-readable storage medium may be provided in the form of a non-transitory storage medium.
- non-transitory simply means that the storage medium is a tangible device, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between where data is semi-permanently stored in the storage medium and where the data is temporarily stored in the storage medium.
- a method may be included and provided in a computer program product.
- the computer program product may be traded as a product between a seller and a buyer.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or be distributed (e.g., downloaded or uploaded) online via an application store (e.g., PlayStoreTM), or between two user devices (e.g., smart phones) directly. If distributed online, at least part of the computer program product may be temporarily generated or at least temporarily stored in the machine-readable storage medium, such as memory of the manufacturer's server, a server of the application store, or a relay server.
- CD-ROM compact disc read only memory
- an application store e.g., PlayStoreTM
- two user devices e.g., smart phones
- each component e.g., a module or a program of the above-described components may include a single entity or multiple entities. According to certain embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, according to certain embodiments, the integrated component may still perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration.
- operations performed by the module, the program, or another component may be carried out sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order or omitted, or one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
According to certain embodiments, an electronic device comprises: a sensor module configured to sense sensing data; a wireless communication module configured to transmit and/or receive a wireless signal; a memory configured to store a virtual marker platform; and a processor operatively connected with the sensor module and the memory, wherein the processor is configured to perform a plurality of operations, the plurality of operations comprising: estimating a moving direction of the electronic device; performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction; performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker; and determining entry of the electronic device into a specific region based on the registered virtual marker.
Description
- This application is a continuation of International Application No. PCT/KR2020/012022 filed on Sep. 7, 2020 which claims priority to Korean Patent Application No. 10-2019-0157417 filed on Nov. 29, 2019 in the Korean Intellectual Property Office.
- Certain embodiments disclosed in the disclosure relate to an electronic device for detecting entry into a specific region and a method therefor.
- To detect an indoor location of an electronic device, the electronic device may use a positioning or localization technology of transmitting cellular and/or wireless LAN signal(s) received by the electronic device to a server and tracking location(s) of the electronic device and/or a user based on locations of cellular and/or wireless LAN base stations. The electronic device may use a geofencing technology of determining whether it enters a specific point-of-Interest (POI) using a wireless signal footprint.
- An electronic device may register data defining a specific region in the interior as a virtual marker VM. The electronic device may face a direction in the specific region when registering the virtual marker. The virtual marker may be data including vector values. The vector values corresponds to a direction the electronic device faces when the virtual marker is registered. For example, the virtual marker may include magnetic field values corresponding to a direction the electronic device faces when the virtual marker is registered.
- When entering the specific region, the electronic device may enter the specific region in a different direction from the direction where the virtual marker is registered. When the electronic device enters the specific region in the different direction from the direction where the virtual marker is registered, vector values measured by the electronic device may have a coordinate axis different from a coordinate axis of the virtual marker. When the virtual marker and the measurement data have different coordinate axes, it is difficult to compare a vector value of the virtual marker with a vector value of the measurement data to accurately detect whether the electronic device enters the specific region.
- Certain embodiments disclosed in the disclosure are to provide a technology capable of improving the accuracy of determining whether an electronic device enters a specific region where a virtual marker is registered.
- According to certain embodiments, a method for determining entry of an electronic device into a specific region, comprises: estimating a moving direction of the electronic device; aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction; aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into the specific region based on the registered virtual marker.
- According to certain embodiments, an electronic device comprises: a sensor module configured to sense sensing data; a wireless communication module configured to transmit and/or receive a wireless signal; a memory configured to store a virtual marker platform; and a processor operatively connected with the sensor module and the memory, wherein the processor is configured to perform a plurality of operations, the plurality of operations comprising: estimating a moving direction of the electronic device; performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction; performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker; and determining entry of the electronic device into a specific region based on the registered virtual marker.
- According to certain embodiments, a non-transitory computer-readable medium storing a plurality of instructions, where execution of the plurality of instructions by one or more processors causes the one or more processors to perform a plurality of operations comprising: estimating a moving direction of an electronic device; aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction; aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into a specific region based on the registered virtual marker.
-
FIG. 1 is a block diagram illustrating an electronic device in a network environment according to certain embodiments; -
FIG. 2 is a drawing illustrating a one-dimensional virtual marker according to an embodiment; -
FIG. 3 is a drawing illustrating a method for setting virtual markers at specific locations according to an embodiment; -
FIG. 4 is a drawing illustrating a method for setting virtual markers on a specific route according to an embodiment; -
FIG. 5 is a block diagram illustrating a virtual marker platform according to an embodiment; -
FIG. 6 is a drawing illustrating coordinates specifying a location and/or an orientation of an electronic device according to an embodiment; -
FIG. 7 is a flowchart illustrating an operation of generating and/or detecting a virtual marker according to an embodiment; -
FIG. 8 is a flowchart illustrating a procedure of registering and detecting a space based on a moving direction of an electronic device according to an embodiment; -
FIG. 9 is a flowchart illustrating a method for detecting entry of an electronic device into a specific region according to an embodiment; -
FIG. 10 is a drawing illustrating that an electronic device aligns and stores a coordinate axis of measurement data as a virtual marker in a specified direction according to an embodiment; -
FIG. 11 is a graph illustrating a change in acceleration in the direction of gravity when a user moves with an electronic device according to an embodiment; -
FIG. 12 is a graph illustrating acceleration in the direction of progress and the direction of gravity when a user moves with an electronic device according to an embodiment; -
FIG. 13 is a graph illustrating acceleration which is compared with acceleration in the direction of gravity when a user moves with an electronic device and is except for acceleration in a moving direction of the electronic device according to an embodiment; -
FIG. 14 is a flowchart illustrating a process of estimating a moving direction of an electronic device according to an embodiment; -
FIG. 15 is a flowchart illustrating a process of estimating a continuous moving direction of an electronic device according to an embodiment; -
FIG. 16 is a flowchart illustrating a process of estimating a continuous moving direction of an electronic device according to another embodiment; -
FIG. 17 is a drawing illustrating a process of changing a coordinate axis of measured data according to a change in orientation of an electronic device according to an embodiment; and -
FIG. 18 is a drawing illustrating a magnetic field value of two-dimensional movement line data as a vector according to an embodiment. - With regard to description of drawings, the same or similar denotations may be used for the same or similar components.
- Hereinafter, certain embodiments of the disclosure may be described with reference to accompanying drawings. However, it should be understood that this is not intended to limit the disclosure to specific implementation forms and includes various modifications, equivalents, and/or alternatives of embodiments of the disclosure.
- According to embodiments disclosed in the disclosure, the electronic device may align data measured by the electronic device in a direction where the electronic device progresses. The electronic device may align data measured by the electronic device in a certain direction from an electronic device point of view irrespective of a direction where the electronic device progresses.
- Furthermore, according to embodiments disclosed in the disclosure, the electronic device may align data measured by the electronic device in the direction of a registered virtual marker when the electronic device enters a specific region. The electronic device may determine whether the electronic device enters a specific region irrespective of a direction where the electronic device enters the specified region.
- Furthermore, according to embodiments disclosed in the disclosure, the electronic device may accurately measure whether the electronic device progresses in any direction using less data than before.
- In addition, various effects ascertained directly or indirectly through the disclosure may be provided.
-
FIG. 1 describes an electronic device where certain embodiments of this disclosure can be practiced. - Electronic Device
-
FIG. 1 is a block diagram illustrating anelectronic device 101 in anetwork environment 100 according to certain embodiments. Referring toFIG. 1 , theelectronic device 101 in thenetwork environment 100 may communicate with anelectronic device 102 via a first network 198 (e.g., a short-range wireless communication network), or anelectronic device 104 or aserver 108 via a second network 199 (e.g., a long-range wireless communication network). According to an embodiment, theelectronic device 101 may communicate with theelectronic device 104 via theserver 108. According to an embodiment, theelectronic device 101 may include aprocessor 120,memory 130, aninput device 150, asound output device 155, adisplay device 160, anaudio module 170, asensor module 176, aninterface 177, ahaptic module 179, acamera module 180, apower management module 188, abattery 189, acommunication module 190, a subscriber identification module (MI) 196, or anantenna module 197. In some embodiments, at least one (e.g., thedisplay device 160 or the camera module 180) of the components may be omitted from theelectronic device 101, or one or more other components may be added in theelectronic device 101. In some embodiments, some of the components may be implemented as single integrated circuitry. For example, the sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented as embedded in the display device 160 (e.g., a display). - The
processor 120 may execute, for example, software (e.g., a program 140) to control at least one other component (e.g., a hardware or software component) of theelectronic device 101 coupled with theprocessor 120, and may perform various data processing or computation. According to one embodiment, as at least part of the data processing or computation, theprocessor 120 may load a command or data received from another component (e.g., thesensor module 176 or the communication module 190) involatile memory 132, process the command or the data stored in thevolatile memory 132, and store resulting data innon-volatile memory 134. According to an embodiment, theprocessor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)), and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from, or in conjunction with, themain processor 121. Additionally or alternatively, theauxiliary processor 123 may be adapted to consume less power than themain processor 121, or to be specific to a specified function. Theauxiliary processor 123 may be implemented as separate from, or as part of themain processor 121. - The term “processor” shall be understood to refer to both the singular and plural contexts in this document.
- The
auxiliary processor 123 may control at least some of functions or states related to at least one component (e.g., thedisplay device 160, thesensor module 176, or the communication module 190) among the components of theelectronic device 101, instead of themain processor 121 while themain processor 121 is in an inactive (e.g., sleep) state, or together with themain processor 121 while themain processor 121 is in an active state (e.g., executing an application). According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., thecamera module 180 or the communication module 190) functionally related to theauxiliary processor 123. - The
memory 130 may store various data used by at least one component (e.g., theprocessor 120 or the sensor module 176) of theelectronic device 101. The various data may include, for example, software (e.g., the program 140) and input data or output data for a command related thereto. Thememory 130 may include thevolatile memory 132 or thenon-volatile memory 134. - The
program 140 may be stored in thememory 130 as software, and may include, for example, an operating system (OS) 142,middleware 144, or anapplication 146. - The
input device 150 may receive a command or data to be used by other component (e.g., the processor 120) of theelectronic device 101, from the outside (e.g., a user) of theelectronic device 101. Theinput device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus pen). - The
sound output device 155 may output sound signals to the outside of theelectronic device 101. Thesound output device 155 may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing record, and the receiver may be used for an incoming calls. According to an embodiment, the receiver may be implemented as separate from, or as part of the speaker. - The
display device 160 may visually provide information to the outside (e.g., a user) of theelectronic device 101. Thedisplay device 160 may include, for example, a display, a hologram device, or a projector and control circuitry to control a corresponding one of the display, hologram device, and projector. According to an embodiment, thedisplay device 160 may include touch circuitry adapted to detect a touch, or sensor circuitry (e.g., a pressure sensor) adapted to measure the intensity of force incurred by the touch. - The
audio module 170 may convert a sound into an electrical signal and vice versa. According to an embodiment, theaudio module 170 may obtain the sound via theinput device 150, or output the sound via thesound output device 155 or a headphone of an external electronic device (e.g., an electronic device 102) directly (e.g., wiredly) or wirelessly coupled with theelectronic device 101. - The
sensor module 176 may detect an operational state (e.g., power or temperature) of theelectronic device 101 or an environmental state (e.g., a state of a user) external to theelectronic device 101, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, thesensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor. - The
interface 177 may support one or more specified protocols to be used for theelectronic device 101 to be coupled with the external electronic device (e.g., the electronic device 102) directly (e.g., wiredly) or wirelessly. According to an embodiment, theinterface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface. - A connecting
terminal 178 may include a connector via which theelectronic device 101 may be physically connected with the external electronic device (e.g., the electronic device 102). According to an embodiment, the connectingterminal 178 may include, for example, a HDMI connector, a USB connector, a SD card connector, or an audio connector (e.g., a headphone connector). - The
haptic module 179 may convert an electrical signal into a mechanical stimulus (e.g., a vibration or a movement) or electrical stimulus which may be recognized by a user via his tactile sensation or kinesthetic sensation. According to an embodiment, thehaptic module 179 may include, for example, a motor, a piezoelectric element, or an electric stimulator. - The
camera module 180 may capture a still image or moving images. According to an embodiment, thecamera module 180 may include one or more lenses, image sensors, image signal processors, or flashes. - The
power management module 188 may manage power supplied to theelectronic device 101. According to one embodiment, thepower management module 188 may be implemented as at least part of, for example, a power management integrated circuit (PMIC). - The
battery 189 may supply power to at least one component of theelectronic device 101. According to an embodiment, thebattery 189 may include, for example, a primary cell which is not rechargeable, a secondary cell which is rechargeable, or a fuel cell. - The
communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between theelectronic device 101 and the external electronic device (e.g., theelectronic device 102, theelectronic device 104, or the server 108) and performing communication via the established communication channel. Thecommunication module 190 may include one or more communication processors that are operable independently from the processor 120 (e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication. According to an embodiment, thecommunication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic device via the first network 198 (e.g., a short-range communication network, such as Bluetooth™, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or the second network 199 (e.g., a long-range communication network, such as a cellular network, the Internet, or a computer network (e.g., LAN or wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multi components (e.g., multi chips) separate from each other. Thewireless communication module 192 may identify and authenticate theelectronic device 101 in a communication network, such as thefirst network 198 or thesecond network 199, using subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in thesubscriber identification module 196. - The
antenna module 197 may transmit or receive a signal or power to or from the outside (e.g., the external electronic device) of theelectronic device 101. According to an embodiment, theantenna module 197 may include an antenna including a radiating element composed of a conductive material or a conductive pattern formed in or on a substrate (e.g., PCB). According to an embodiment, theantenna module 197 may include a plurality of antennas. In such a case, at least one antenna appropriate for a communication scheme used in the communication network, such as thefirst network 198 or thesecond network 199, may be selected, for example, by the communication module 190 (e.g., the wireless communication module 192) from the plurality of antennas. The signal or the power may then be transmitted or received between thecommunication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of theantenna module 197. - At least some of the above-described components may be coupled mutually and communicate signals (e.g., commands or data) therebetween via an inter-peripheral communication scheme (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)).
- According to an embodiment, commands or data may be transmitted or received between the
electronic device 101 and the externalelectronic device 104 via theserver 108 coupled with thesecond network 199. Each of theelectronic devices electronic device 101. According to an embodiment, all or some of operations to be executed at theelectronic device 101 may be executed at one or more of the externalelectronic devices electronic device 101 should perform a function or a service automatically, or in response to a request from a user or another device, theelectronic device 101, instead of, or in addition to, executing the function or the service, may request the one or more external electronic devices to perform at least part of the function or the service. The one or more external electronic devices receiving the request may perform the at least part of the function or the service requested, or an additional function or an additional service related to the request, and transfer an outcome of the performing to theelectronic device 101. Theelectronic device 101 may provide the outcome, with or without further processing of the outcome, as at least part of a reply to the request. To that end, a cloud computing, distributed computing, or client-server computing technology may be used, for example. - The
electronic device 101 can be positioned using a Global Position System (GPS). However, positioning can be more complex with theelectronic device 101 is located indoors. In an indoor environment, GPS signals are either blocked or reflected. Accordingly, theelectronic device 101 may use positioning or localization technology of transmitting cellular and/or wireless LAN signal(s) received by the electronic device when the electronic device is indoors. - An electronic device may register data defining a specific region when inside, known as a virtual marker VM. The electronic device may face a direction in the specific region when registering the virtual marker. The virtual marker may be data including vector values. The vector values correspond to a direction the electronic device faces when the virtual marker is registered. For example, the virtual marker may include magnetic field values corresponding to a direction the electronic device faces when the virtual marker is registered.
-
FIG. 2 describes a virtual marker. - Virtual Marker
-
FIG. 2 is a drawing 200 illustrating a one-dimensionalvirtual marker 201 according to an embodiment. - Referring to
FIG. 2 , the one-dimensionalvirtual marker 201 may include sensing values. The sensing values may include information in the form of a one-dimensional line among virtual markers (VMs) displaying information about a specific space and/or location. The one-dimensionalvirtual marker 201 may be stored in a memory (e.g., amemory 130 ofFIG. 1 ) of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ). The one-dimensionalvirtual marker 201 may include magnetic sensing values taken at different sampled times (Timestamp 1 . . . N) 210, an acceleration sensing values taken at different sampled times (Timestamp 1 . . . N) 220, a gyro sensing values taken at different sampled times (Timestamp 1 . . . N) 230, a value of a firstwireless communication signal 240, and/or a value of a secondwireless communication signal 250. - In an embodiment, the
magnetic sensing value 210 may include a magnitude value for each direction of a magnetic field which is measured at a specific speed in a specific space and/or location according to a specified sampling rate. To measure themagnetic sensing value 210, a magnitude value for each direction of the magnetic field may be measured. A time when the magnitude value for each direction of the magnetic field is measured during one time may be set to a length value. For example, when the sampling rate is 1 Hz and when the length is 0.1 seconds, theelectronic device 101 may measure a magnitude value for each direction of the magnetic field for 0.1 seconds every second. The measurement of the magnitude value for each direction of the magnetic field may be maintained for 0.1 seconds for one time. Thus, the measurement of the magnetic field may be performed for 0 second to 0.1 seconds, 1.0 second to 1.1 seconds, . . . , N.0 seconds to N.1 seconds (where N is a natural number). - In an embodiment, the
electronic device 101 may measure a magnetic field in a specific space and/or location using a magnetic field sensor included in a sensor module (e.g., asensor module 176 ofFIG. 1 ). For example, thesensor module 176 may measure a magnetic field from afirst time timestamp 1 to an Nth (where N is a natural number) time timestamp N. In this case, themagnetic sensing value 210 may include strength MagX1 in an X-axis direction of a magnetic field measured at thefirst time timestamp 1, strength MagY1 in a Y-axis direction of the magnetic field measured at thefirst time timestamp 1, and strength MagZ1 in a Z-axis direction of the magnetic field measured at thefirst time timestamp 1. Furthermore, themagnetic sensing value 210 may include strength MagXN in the X-axis direction of a magnetic field measured at the Nth time timestamp N, strength MagYN in the Y-axis direction of the magnetic field measured at the Nth time timestamp N, and strength MagZN in the Z-axis direction of the magnetic field measured at the Nth time timestamp N. - In an embodiment, the
acceleration sensing value 220 may include a magnitude value for each direction of acceleration of theelectronic device 101, which is measured at a specific speed in a specific space and/or location according to a specified sampling rate. To measure theacceleration sensing value 220, a magnitude value for each direction of the acceleration may be measured during a specified length. A time when the magnitude value for each direction of the acceleration is measured for one time may be set to a length value. - In an embodiment, the
electronic device 101 may measure acceleration in a specific space and/or location from thefirst time timestamp 1 to the Nth time timestamp N using an accelerometer included in thesensor module 176. For example, theacceleration sensing value 220 may include acceleration AccX1 in an X-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1, acceleration AccY1 in a Y-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1, and acceleration AccZ1 in a Z-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1. For another example, theacceleration sensing value 220 may include acceleration AccXN in the X-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N, acceleration AccYN in the Y-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N, and acceleration AccZN in the Z-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N. - In an embodiment, the
gyro sensing value 230 may include an angle orientation value formed with the ground of theelectronic device 101, which is measured in a specific space and/or location according to a specified sampling rate. To measure thegyro sensing value 230, an angle orientation value may be measured according to a specified length. A time when a magnitude value for each direction of an orientation is measured for one time may be set to a length value. - In an embodiment, the
electronic device 101 may measure an angle orientation value formed with the ground in a specific space and/or location from thefirst time timestamp 1 to the Nth time timestamp N using a gyroscope included in thesensor module 176. For example, thegyro sensing value 230 may include a role value Roll1 of theelectronic device 101, which is measured at thefirst time Timestamp 1, a pitch value Pitchl of theelectronic device 101, which is measured at thefirst time Timestamp 1, and a yaw value Yawl of theelectronic device 101, which is measured at thefirst time Timestamp 1. For another example, thegyro sensing value 230 may include a role value RollN of theelectronic device 101, which is measured at the Nth time Timestamp N, a pitch value PitchN of theelectronic device 101, which is measured at the Nth time Timestamp N, and a yaw value YawN of theelectronic device 101, which is measured at the Nth time Timestamp N. - In an embodiment, the
gyro sensing value 230 may include a magnitude value for each direction of angular acceleration of theelectronic device 101, which is measured at a specific speed in a specific space and/or location according to a specified sampling rate. Thegyro sensing value 230 may measure a magnitude value for each direction of the angular acceleration for one time depending on a specified length. Theelectronic device 101 may measure angular acceleration in a specific space and/or location from thefirst time timestamp 1 to the Nth time timestamp N using the gyroscope included in thesensor module 176. For example, thegyro sensing value 230 may include angular acceleration AnvX1 in the X-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1, angular acceleration AnvY1 in the Y-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1, and angular acceleration AnvZ1 in the Z-axis direction of theelectronic device 101, which is measured at thefirst time timestamp 1. For another example, thegyro sensing value 230 may include angular acceleration AccXN in the X-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N, angular acceleration AnvYN in the Y-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N, and angular acceleration AnvZN in the Z-axis direction of theelectronic device 101, which is measured at the Nth time timestamp N. - According to an embodiment, the first
wireless communication signal 240 may be a strength value of an access point (AP) signal measured by a wireless communication module (e.g., awireless communication module 192 ofFIG. 1 ). The firstwireless communication signal 240 may include information associated with the number of AP signals of a broadband LAN (WLAN). The firstwireless communication signal 240 may include information associated with a strength of an AP signal measured in a specific space and/or location. For example, the firstwireless communication signal 240 may include a value from a strength (AP 1 signal strength) of a first AP signal to a strength (APN signal strength) of an Nth AP signal. - In an embodiment, the second
wireless communication signal 250 may be a strength value of a cell signal of cellular communication, which is measured by thewireless communication module 192. The secondwireless communication signal 250 may include information associated with the number of cells. The secondwireless communication signal 250 may include information associated with strengths of first to Nth cell signals measured in a specific space and/or location. For example, the secondwireless communication signal 250 may include a value from a strength (Celli signal strength) of a first cell signal to a strength (cellN signal strength) of an Nth cell signal. - In an embodiment, a processor (e.g., a
processor 120 ofFIG. 1 ) of theelectronic device 101 may determine a radius of a specific space to generate the one-dimensionalvirtual marker 201. Theprocessor 120 may collect sensing values within the radius of the specific space depending on movement of theelectronic device 101 within the radius of the specific space using thesensor module 176 and may simultaneously receive the firstwireless communication signal 240 and/or the secondwireless communication signal 250 using thewireless communication module 192. - In an embodiment, the
processor 120 of theelectronic device 101 may perform image processing in a camera (e.g., acamera 180 ofFIG. 1 ) which supports an augmented reality (AR) technology to spatially match the specified space with the sensing values, thus estimating a relative location of theelectronic device 101. - In an embodiment, the one-dimensional
virtual marker 201 may be generated using the sensing and wireless communication signal values 210, 220, 230, 240, and 250, but not limited thereto. The shape of the virtual marker may be a one-dimensional line, a two-dimensional plane, or a three-dimensional space. - In an embodiment, the one-dimensional
virtual marker 201 may include movement information of theelectronic device 101, for example, sensing values changed while theelectronic device 101 moves, a speed of theelectronic device 101, and/or an orientation of theelectronic device 101. The one-dimensionalvirtual marker 201 may include a feature of a specified space. When theelectronic device 101 generates the one-dimensionalvirtual marker 201 in the interior, the one-dimensionalvirtual marker 201 may reflect a feature associated with a shape of an indoor structure and/or a physical feature of an object disposed in the interior. For example, the one-dimensionalvirtual marker 201 may reflect a shape of a structure, such as a steel frame, stairs, and/or a wall, in the interior. For another example, the one-dimensionalvirtual marker 201 may reflect a material characteristic of an object such as furniture disposed in the interior. - In an embodiment, the one-dimensional
virtual marker 201 may store magnetic field information in which indoor structure information is reflected. The one-dimensionalvirtual marker 201 may store an acceleration value and/or rotational motion information of theelectronic device 101. The one-dimensionalvirtual marker 201 may store surrounding wireless signal information in conjunction with optimization of the power consumption of theelectronic device 101. For example, the one-dimensionalvirtual marker 201 may store WiFi signal information and/or cellular signal information. The first toNth times Timestamp 1 to Timestamp N in the one-dimensionalvirtual marker 201 may be stored as time values set to measure the sensing values 210, 220, 230, 240, and 250, such as magnetic field information, every specified period. - In an embodiment, although not illustrated, the one-dimensional
virtual marker 201 may additionally include a latitude value and a longitude value of theelectronic device 101. The latitude value and the longitude value of theelectronic device 101 may be measured from thefirst time Timestamp 1 to the Nth time Timestamp N using a global positioning system (GPS) included thesensor module 176 or thewireless communication module 192. The latitude value may include a first latitude value measured at thefirst time Timestamp 1 and an Nth latitude value measured at the Nth time Timestamp N. The longitude value 270 may include a first longitude value measured at thefirst time Timestamp 1 and an Nth longitude value measured at the Nth time Timestamp N. - However, the vector values may correspond to a direction the electronic device faces when the virtual marker is registered. For example, the magnetic sensing values 210, MagX, MagY, and MagZ may be based on a coordinate system based on the direction that the
electronic device 101 enters a specific region. - However, the electronic device may enter the specific region in a different direction from the direction where the virtual marker is registered. When the electronic device enters the specific region in the different direction from the direction where the virtual marker is registered, vector values measured by the electronic device may have a coordinate axis different from a coordinate axis of the virtual marker. That is, the X axis, Y axis, and Z
- When the virtual marker and the measurement data have different coordinate axes, it is difficult to compare a vector value of the virtual marker with a vector value of the measurement data to accurately detect whether the electronic device enters the specific region.
- The virtual markers of
FIG. 2 can be set for specific location inside. At a later time, the virtual markers can be used as references to determine the location of the electronic device indoors. That is, when theelectronic device 101 has similar measurements as a virtual marker, it can be deemed that the electronic device is in proximity with the location of the virtual marker. -
FIG. 3 is a drawing 300 illustrating a method for settingvirtual markers - In an embodiment, the
virtual markers virtual markers virtual markers memory 130 ofFIG. 1 ) of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ). Thevirtual marker magnetic sensing value 210 ofFIG. 2 ), an acceleration sensing value (e.g., anacceleration sensing value 220 ofFIG. 2 ), a gyro sensing value (e.g., agyro sensing value 230 ofFIG. 2 ), a first wireless communication signal (e.g., a firstwireless communication signal 240 ofFIG. 2 ), and/or a second wireless communication signal (e.g., a secondwireless communication signal 250 ofFIG. 2 ) in a small region, a detailed location, and/or a short path. - In an embodiment, the
magnetic sensing value 210, the firstwireless communication signal 240, and/or the secondwireless communication signal 250 in the small region, the detailed location, and/or the short path, which are/is included in thevirtual markers magnetic sensing value 210, the firstwireless communication signal 240, and/or the secondwireless communication signal 250 may change depending on a framework of a building and/or a material of a structure. For another example, themagnetic sensing value 210, the firstwireless communication signal 240, and/or the secondwireless communication signal 250 may change depending on a shape and/or a material of an object disposed in the interior. - In an embodiment, when the
virtual markers virtual marker virtual markers virtual marker 310, the secondvirtual marker 320, and/or the thirdvirtual marker 330, which are/is data corresponding to specific place(s) in the interior and/or object(s) disposed in the interior. For example, a user may define the firstvirtual marker 310 may define the firstvirtual marker 310 as the front of a mirror. For another example, the user may define the secondvirtual marker 320 as an upper surface of a stair. For another example, the user may define the thirdvirtual marker 330 as a front of a door. -
FIG. 4 is a drawing 400 illustrating a method for settingvirtual markers - In an embodiment, the
virtual markers virtual markers virtual markers memory 130 ofFIG. 1 ) of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ). Thevirtual marker magnetic sensing value 210 ofFIG. 2 ), an acceleration sensing value (e.g., anacceleration sensing value 220 ofFIG. 2 ), a gyro sensing value (e.g., agyro sensing value 230 ofFIG. 2 ), a first wireless communication signal (e.g., a firstwireless communication signal 240 ofFIG. 2 ), and/or a second wireless communication signal (e.g., a secondwireless communication signal 250 ofFIG. 2 ) in a long path. - In an embodiment, the
magnetic sensing value 210, theacceleration sensing value 220, thegyro sensing value 230, the firstwireless communication signal 240, and/or the secondwireless communication signal 250 in the long path, which are/is included in thevirtual marker magnetic sensing value 210, the firstwireless communication signal 240, and/or the secondwireless communication signal 250 may change depending on a shape of the path and/or a structure around the path. For another example, theacceleration sensing value 220 and/or thegyro sensing value 230 may change depending on a speed moving along a path and/or a direction where theelectronic device 101 faces when moving along the path. - In an embodiment, when the
virtual markers virtual marker 410 may be data corresponding to a specific movement line in the interior. For example, thevirtual markers first point 410 and arrives at thethird point 430 through thesecond point 420. A user may define thevirtual markers starting point 410 and arrives at thearrival point 430 through thepath 420 in the building. - However, if the user enters the region at 430 and reverses the progress path, the coordinate system of the virtual markers may be different from the coordinate system of the virtual markers that were defined when proceeding from 410 to 430.
- Virtual Marker Platform
-
FIG. 5 is a block diagram 500 illustrating avirtual marker platform 510 according to an embodiment. Thevirtual marker platform 510 may be software stored in a memory (e.g., amemory 130 ofFIG. 1 ). Thevirtual marker platform 510 may include one or more instructions. A processor (e.g., aprocessor 120 ofFIG. 1 ) may load and execute thevirtual marker platform 510 from thememory 130. Thevirtual marker platform 510 according to an embodiment may include areceiver 511, avirtual marker generator 512, a virtualmarker detection unit 513, astorage unit 514, and acontroller 515. - In an embodiment, the
receiver 511 may receive sensing data from asensor 520. The sensing data may include a magnetic signal, movement of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ), acceleration of theelectronic device 101, and/or an angle orientation formed with the ground by theelectronic device 101. Thesensor 520 may provide the magnetic sensing values 210, acceleration sensing values 220, and the gyro sensing values 230. - In an embodiment, the
receiver 511 may receive first wireless communication data or second wireless communication data. The first wireless communication data may include a wireless LAN signal (e.g., a firstwireless communication signal 240 ofFIG. 2 ) and related parameters. The second wireless communication data may include a cellular signal (e.g., a secondwireless communication signal 250 ofFIG. 2 ) and related parameters. - In an embodiment, the
receiver 511 may collect and provide sensing data to thevirtual marker generator 512 and/or the virtualmarker detection unit 513. Thereceiver 511 may collect data from thesensor 520 including a magnetic field sensor, an accelerometer, and/or a gyroscope. - In an embodiment, the
receiver 511 may correct sensing data using motion information of theelectronic device 101 to be used to generate and/or detect a virtual marker (e.g., a one-dimensional marker 201 ofFIG. 2 ). Thereceiver 511 may generate information such as an orientation and/or a posture of theelectronic device 101 from sensing data collected to provide essential information and/or efficient information about generating and/or detecting thevirtual marker 201 and may provide the information to thevirtual marker generator 512 and/or the virtualmarker detection unit 513. - In an embodiment, the
virtual marker generator 512 may generate the firstvirtual marker 201 corresponding to a first location which is a current location of theelectronic device 101 using the sensing data. Thevirtual marker generator 512 may receive a request to generate thevirtual marker 201 from thecontroller 515. Thevirtual marker generator 512 may generate the first virtual marker depending on a specified format based on the sensing data, such as magnetic field information, movement information of theelectronic device 101, and/or an image of thecamera 180 supporting augmented reality, which are/is provided from thereceiver 511. Thevirtual marker generator 512 may generate the first virtual marker depending on the specified format based on the first wireless communication data and the second wireless communication data, which are provided from thereceiver 511. Thevirtual marker generator 512 may request thecontroller 515 to register the generatedvirtual marker 201. - In an embodiment, the virtual
marker detection unit 513 may detect any virtual marker. The virtualmarker detection unit 513 may detect thevirtual marker 201 corresponding to thevirtual marker 201 requested from thecontroller 515. When thevirtual marker 201 requested from thecontroller 515 is detected, the virtualmarker detection unit 513 may deliver a result associated with the detectedvirtual marker 201 to thecontroller 515. - In an embodiment, the
storage unit 514 may store the firstvirtual marker 201. Thestorage unit 514 may include virtual markerlocal storage 540. The virtual markerlocal storage 540 may be a partial physical and logical area of thememory 130. For example, the virtual markerlocal storage 540 may be a partial area of the memory, which is physically allocated, or may be defined as a logical memory address value. Virtual markerremote storage 550 may be a server (e.g., a server 103 ofFIG. 1 ) outside theelectronic device 101. - In an embodiment, the
controller 515 may request the virtual markerlocal storage 540 and/or the virtual markerremote storage 550 to register the virtual marker, thus registering thevirtual marker 201. Thecontroller 515 may transmit a request to load a virtual marker list and/or a virtual marker, which are/is stored in the virtual markerlocal storage 540 and the virtual markerremote storage 550, and may load the stored virtual marker list and/or the stored virtual marker. - In an embodiment, the
controller 515 may register a first virtual marker, may detect any virtual marker, and may load the firstvirtual marker 201 from thestorage unit 514. Thecontroller 515 may control signals and/or pieces of information transmitted and received in thevirtual marker platform 510. - In an embodiment, the
service 530 may be a function associated with detecting thevirtual marker 201 in theelectronic device 101. Theservice 530 may be an application (e.g., anapplication 146 ofFIG. 1 ) run in a location where thevirtual marker 510 is detected or a function (or an operation) provided by theapplication 146. For example, theservice 530 may be a gym app configured to be run in a gym entrance where theelectronic device 101 detects thevirtual marker 510. Theservice 530 may be a notification for providing an event which occurs in a location where thevirtual marker 201 is detected. For example, theservice 530 may provide a push notification that theelectronic device 101 enters an entrance to a supermarket. Theservice 530 may be a function of changing or authenticating an operation of theapplication 146 as thevirtual marker 201 is detected. For example, theservice 530 may change a payment app to a payment ready state when theelectronic device 101 enters a counter and may provide an indication guiding a user to perform authentication. - In an embodiment, the
controller 515 may provide theservice 530 mapped to a location where thevirtual marker 201 is detected. For example, when detecting that theelectronic device 101 enters a location where thevirtual marker 201 is generated, thecontroller 515 may execute theservice 530. For another example, when detecting that theelectronic device 101 enters the location where thevirtual marker 201 is generated, thecontroller 515 may transmit a control signal requesting to execute a specified event to theservice 530 - In an embodiment, the
virtual marker platform 510 may not include at least one of the components shown inFIG. 5 , may include another component which is not shown, or may include a component into which a plurality of components are merged. For example, thestorage unit 514 may be a component independent of thevirtual marker platform 510. -
FIG. 6 is a drawing illustrating coordinates (x, y, z) specifying a location and/or an orientation of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. The coordinates (x, y, z) according to an embodiment may include a first coordinate value x, a second coordinate value y, and a third coordinate value z. The first coordinate value x may be a coordinate value in the direction of a width of the electronic device (the shorter dimension along the display). The second coordinate value y may be a coordinate value in the direction of a length of the electronic device (the longer dimension along the display). The third coordinate value z may be a coordinate value in the direction of a thickness and/or a height of the electronic device (the dimension that is orthogonal to the display). - In an embodiment, a one-dimensional virtual marker (e.g., a one-dimensional
virtual marker 201 ofFIG. 2 ) may be defined as movement line data for a specified path. Thevirtual marker 201 ofFIG. 2 may additionally include a latitude value (e.g., a latitude value 260 ofFIG. 2 ) and/or a longitude value (e.g., a longitude value 270 ofFIG. 2 ) corresponding to a timestamp. The movement line data may include the latitude value 260 and/or the longitude value 270 of theelectronic device 101. The latitude and/or the longitude of theelectronic device 101 may be measured using a global positioning system (GPS) included in asensing module 176 of theelectronic device 101 or awireless communication module 192. A processor (e.g., aprocessor 120 ofFIG. 1 ) of theelectronic device 101 may identify whether theelectronic device 101 is coarsely close to a specific place in the interior where theelectronic device 101 is located, based on the latitude value 260 and/or the longitude value 270. - In an embodiment, the
processor 120 of theelectronic device 101 may determine coordinates (x, y, z) specifying a location and/or an orientation of theelectronic device 101 with respect to the first coordinate value x in the direction of a width of theelectronic device 101, the second coordinate value y in the direction of a length of theelectronic device 101, and the third coordinate value z in the direction of a thickness and/or a height of theelectronic device 101. The movement line data may include a magnetic field vector value measured based on the coordinates (x, y, z). The movement line data may include an acceleration vector value and/or an angular acceleration vector value measured based on the coordinates (x, y, z) specifying the location and/or the orientation of theelectronic device 101. The movement line data may include air pressure and/or altitude values measured based on the coordinates (x, y, z) specifying the location of theelectronic device 101. - In an embodiment, the movement line data may include parameter values for a cellular signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of the
electronic device 101. The movement line data may include parameter values for a wireless LAN signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of theelectronic device 101. The movement line data may include parameter values for a Bluetooth signal measured and/or received based on the coordinates (x, y, z) specifying the location and/or the orientation of theelectronic device 101. -
FIG. 7 is aflowchart 700 illustrating an operation of generating and/or detecting avirtual marker 201 according to an embodiment. - In an embodiment, a
processor 120 of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) may perform an operation (710) of generating a virtual marker. Theprocessor 120 may generate a first virtual marker (e.g., thevirtual marker 201 ofFIG. 2 ) corresponding to a first location. The first location may be a current location of theelectronic device 101 using sensing data including a magnetic signal, movement of theelectronic device 101. The first virtual marker may be generated by using acceleration of theelectronic device 101, and/or an angle orientation formed with the ground by theelectronic device 101 and a wireless signal received by theelectronic device 101. - In an embodiment, the
processor 120 may determine a radius of a specific space to be generated when generating thevirtual marker 201. Theprocessor 120 may collect sensing values and wireless signal values (e.g., sensingvalues electronic device 101 within the corresponding radius using asensor module 176. - The
processor 120 may process an image obtained using a camera (e.g., acamera module 180 ofFIG. 1 ) supporting augmented reality. The image may be processed for spatial matching between the determined space and the measured sensing values and wireless signal values 210, 220, 230, 240, and 250. This allows estimating the first location which is the current location of theelectronic device 101. Theelectronic device 101 may identify a feature from the image obtained using thecamera 180. In other words, theprocessor 120 of theelectronic device 101 may recognize a feature point (e.g., characteristic places (the front of themirror 310, astair 320, or a front of a door 330) ofFIG. 3 , a pattern of the bottom, locations and shapes of pieces of arranged furniture, the bend of the wall, or the like) in an image by means of thecamera 180 at the same time as measuring a sensing value when generating the virtual marker. - The
processor 120 may perform processing for specifying any reference point on the image obtained by thecamera 180. Theprocessor 120 may estimate how far theelectronic device 101 has moved with respect to the reference point. Theprocessor 120 may estimate a movement line where theelectronic device 101 moves from any one point to another point in the interior (e.g., a movement line where theelectronic device 101 starts from astarting point 410 ofFIG. 4 and arrives at anarrival point 430 through apath 420 in a building). Theprocessor 120 may measure a movement degree every specified period. Theprocessor 120 may align sensing values associated with the measured movement degree on a space. - In an embodiment, the
processor 120 of theelectronic device 101 may perform an operation (720) of registering a virtual marker. Theprocessor 120 may store the first virtual marker in a memory (e.g., amemory 130 ofFIG. 1 ). The first virtual marker stored in thememory 130 may be registered with a virtual marker list in thememory 130. - In an embodiment, the
processor 120 of theelectronic device 101 may perform an operation (730) of loading the virtual marker. After generating thevirtual marker 201, theprocessor 120 may store thevirtual marker 201 in thememory 130 and may register thevirtual marker 201 with the virtual marker list. Theprocessor 120 may load thevirtual marker 201 to detect the registeredvirtual marker 201. For example, theprocessor 120 may load thevirtual marker 201 when an application (e.g., anapplication 146 ofFIG. 1 ) running an event corresponding to the registeredvirtual marker 201 is run in theelectronic device 101. For another example, when identifying that theelectronic device 101 enters a location corresponding to the registeredvirtual marker 201 within a certain radius, theprocessor 120 may load thevirtual marker 201. For another example, theprocessor 120 may load a virtual marker to be detected among virtual markers registered with the virtual marker list from thememory 130, when receiving a notification associated with a service associated with a location where thevirtual marker 201 is registered. - In an embodiment, the
processor 120 of theelectronic device 101 may perform an operation (740) of detecting a surrounding virtual marker. After registering the virtual marker to be detected, theprocessor 120 may identify whether theelectronic device 101 enters within a certain radius from the first location to identify whether it enters the first location. - In an embodiment, the
processor 120 may use wireless communication, such as a cellular signal and/or a WiFi signal, which are/is able to be always received to identify whether theelectronic device 101 enters within the certain radius from thevirtual marker 201 and do/does not separately consume power for transmission and reception. Theprocessor 120 may detect whether theelectronic device 101 enters within the certain radius from the first location from a relatively wide radius usingwireless communication circuitry 192. When it is identified that theelectronic device 101 enters within the certain radius from the first location, theprocessor 120 may operate at least some of sensors of thesensor module 176 used when generating thevirtual marker 201. For example, when theelectronic device 101 enters within the certain radius from the first location, theprocessor 120 may operate sensors necessary for detection of the first virtual marker among the sensors of thesensor module 176. - In an embodiment, the
processor 120 of theelectronic device 101 may perform an operation (750) of processing a sensing value. Theprocessor 120 may organizesensing values sensor module 176 in the certain radius into data. - In an embodiment, the
processor 120 may correct errors of the sensing values 210, 220, 230, 240, and 250, which occur due to movement of theelectronic device 101. To correct the errors of the sensing values 210, 220, 230, 240, and 250 changed due to the motion of the electronic device, theprocessor 120 may align and compare information included when generating thevirtual marker 201 and a coordinate axis of information measured when detecting thevirtual marker 201. - In an embodiment, the
processor 120 of theelectronic device 101 may perform an operation (760) of detecting a virtual marker. Theprocessor 120 may compare the measured sensing values with sensing data of the first virtual marker to identify whether theelectronic device 101 enters the first location. Theprocessor 120 may compare the sensing values 210, 220, 230, 240, and 250 corrected after being measured in real time with sensing data of the registeredvirtual marker 201 and may provide a specified service when they are identical to each other. For example when the sensing data corrected after being measured in real time and the wireless signal data are matched with the first virtual marker, theprocessor 120 may be configured to execute an event specified to be performed in the first location by theelectronic device 101 or request a service specified to be performed in the first location by theelectronic device 101. - In an embodiment,
operations 710 to 760 may not be generated and performed successively or in stages. For example, the process of generating and registering thevirtual marker 201 inoperations operation 740 may be separately performed. -
FIG. 8 is aflowchart 800 illustrating a procedure of registering and detecting a space based on a moving direction of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. - In
operation 810, a processor (e.g., aprocessor 120 ofFIG. 1 ) of theelectronic device 101 according to an embodiment may generate an aligned fingerprint. The fingerprint may be data defining a specific space, for example a virtual marker (e.g., a one-dimensionalvirtual marker 201 ofFIG. 2 ). The aligned fingerprint may be data obtained by aligning and correcting coordinate axes of pieces of sensing data having directionality with respect to one coordinate axis. Theprocessor 120 may store the aligned fingerprint in amemory 130 of theelectronic device 101 or may transmit the aligned fingerprint to aserver 108. - In
operation 820, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether theelectronic device 101 is adjacent to a target space. Theprocessor 120 may compare the aligned fingerprint with location data associated with the target space. When the aligned fingerprint has a correlation of a specified correlation or more with the location data associated with the target space, theprocessor 120 may determine that theelectronic device 101 is adjacent to the target space. The target space may be a space where theelectronic device 101 is located when the fingerprint including data measured on the corresponding region is stored in theelectronic device 101. When theelectronic device 101 is adjacent to the target space (operation 820: Yes), theprocessor 120 may proceed withoperation 830. When theelectronic device 101 is spaced apart from the target space over a specified distance (operation 820: No), theprocessor 120 may wait until theelectronic device 101 is adjacent to the target space. Theprocessor 120 may compare the aligned fingerprint with location data associated with the target space. When the aligned fingerprint has a correlation of the specified correlation or less with the location data associated with the target space, theprocessor 120 may determine that theelectronic device 101 is spaced apart from the target space over the specified distance. - In an embodiment, the registration of the space and the detection of the registered space may not be continuous operations. Thus,
operation 810 andoperation 820 may not occur sequentially. Furthermore, when there is a fingerprint previously stored in theelectronic device 101 or aserver 108, theelectronic device 101 may perform the operation fromoperation 820. - In
operation 830, theprocessor 120 of theelectronic device 101 according to an embodiment may measure a moving direction. Theprocessor 120 may measure a direction where theelectronic device 101 is moved using a sensor (e.g., an accelerometer or a gyroscope). - In
operation 840, theprocessor 120 of theelectronic device 101 according to an embodiment may align a coordinate axis of the measured direction data with respect to the moving direction. Theprocessor 120 may measure pieces of data (e.g., a magnetic field value, an acceleration value, and a gyro value) having directionality such that theelectronic device 101 detects the target space. Theprocessor 120 may align directions of pieces of measurement data having directionality on a coordinate axis with respect to a direction where theelectronic device 101 is moved to correct the pieces of data. - In
operation 850, theprocessor 120 of theelectronic device 101 according to an embodiment may compare the data corrected by aligning the coordinate axis with the aligned fingerprint. Theprocessor 120 may compare the pieces of measurement data corrected such that the direction is aligned with respect to the coordinate axis with the stored fingerprint. - In
operation 860, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether the corrected data and the fingerprint in which coordinate axes of all data are aligned are matched with each other. Theprocessor 120 may determine whether the pieces of measurement data corrected by aligning the coordinate axis have a correlation of a specified value or more with the stored fingerprint. When the pieces of measurement data have the correlation of the specified value or more with the stored fingerprint, theprocessor 120 may determine whether the data, the coordinate axis of which is aligned, and the fingerprint, the coordinate axis of which is aligned, are matched with each other. When the aligned data and the aligned fingerprint are matched with each other (operation 850: Yes), theprocessor 120 may proceed withoperation 870. When the aligned data and the aligned fingerprint are different from each other (operation 850: No), theprocessor 120 may return tooperation 840. - In
operation 870, theprocessor 120 of theelectronic device 101 according to an embodiment may detect a target space. Theprocessor 120 of theelectronic device 101 may identify that theelectronic device 101 enters a space where the virtual marker is set. - In the operation of comparing the measurement data corrected by aligning the coordinate axis with the fingerprint corrected by aligning the coordinate axis in
operation 850, coordinate axes of values including a direction component among values included in the measurement data may be aligned in a certain direction. Theprocessor 120 may estimate a moving direction of theelectronic device 101 to be compared with the fingerprint, the coordinate axis of which is aligned. Theprocessor 120 may align a coordinate axis of the measurement data in a direction corresponding to the moving direction of theelectronic device 101. Theprocessor 120 may align the coordinate axis of the corrected measurement data again in a direction corresponding to the coordinate axis of the fingerprint. - In an embodiment, the
processor 120 may apply certain embodiments described inFIG. 9 or less for the operation of processing the sensing values 210, 220, 230, 240, and 250 and determining whether it enters the corresponding location inoperation 750 and/or the operation of comparing the measurement data, the coordinate axis of which is aligned, with the fingerprint, the coordinate axis of which is aligned, inoperation 850. -
FIG. 9 is aflowchart 900 illustrating a method for detecting entry of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) into a specific region according to an embodiment. - In
operation 910, aprocessor 120 of theelectronic device 101 according to an embodiment may estimate a moving direction of theelectronic device 101. When detecting that theelectronic device 101 is moved, theprocessor 120 may estimate a moving direction of theelectronic device 101 with respect to a coordinate axis (e.g., coordinates (x, y, z) ofFIG. 6 ) of theelectronic device 101. When detecting that theelectronic device 101 is moved, theprocessor 120 may estimate a moving direction on the coordinate axis (x, y, z) of theelectronic device 101. - In an embodiment, the
processor 120 may estimate a moving direction of theelectronic device 101 using a sensor (e.g., a sensor included in asensor module 176 ofFIG. 1 ) and/or communication circuitry (e.g., awireless communication module 192 ofFIG. 1 ). For example, theprocessor 120 may determine a progress direction of theelectronic device 101 based on an acceleration value of theelectronic device 101 and/or an orientation of theelectronic device 101, which are/is measured by an accelerometer and/or a gyroscope included in thesensor module 176. For another example, theprocessor 120 may determine the progress direction theelectronic device 101 based on a WiFi signal and/or a cellular signal received by thecommunication circuitry 192. - In
operation 920, theprocessor 120 of theelectronic device 101 according to an embodiment may perform first alignment of aligning a direction of measurement data, obtained to determine whether theelectronic device 101 enters a first region where a virtual marker is registered, in the moving direction. Theprocessor 120 may correct measurement data obtained to detect a space or an object after estimating the orientation of theelectronic device 101 based on the moving direction of theelectronic device 101. Theprocessor 120 may align a direction of any coordinate axis of data corresponding to a vector value having a direction component among the measurement data to be substantially the same as a direction where theelectronic device 101 progresses. - In
operation 930, theprocessor 120 of theelectronic device 101 according to an embodiment may perform second alignment of aligning a direction of a coordinate axis of the measurement data in the direction of a coordinate axis of theelectronic device 101 when the registered virtual marker is generated. Theprocessor 120 may compare data stored in a state where the coordinate axis is aligned in the generated virtual marker or fingerprint with the measurement data where the coordinate axis is aligned inoperation 920. Theprocessor 120 may synchronize a reference vector of theelectronic device 101 or any axis among coordinate axes of theelectronic device 101 with a moving direction of theelectronic device 101 and may compare a vector component of the measurement data with a vector component of the virtual marker and/or the fingerprint to detect the generated virtual marker and/or fingerprint. -
FIG. 10 is a drawing illustrating that anelectronic device 101 aligning and storing a coordinate axis of measurement data as a virtual marker in a specified direction in memory, according to an embodiment. - A processor (e.g., a
processor 120 ofFIG. 1 ) of theelectronic device 101 may set a specifiedfirst direction 1001 to a Y-axis with an X-axis orthogonal to the Y-axis. When later storing a measured magnetic field value, theprocessor 120 may align the measured magnetic field value in a reference direction. When a virtual marker is generated, the reference direction may be randomly determined. For example, the Y-axis may be aligned to be identical to the reference direction on a coordinate axis (e.g., coordinates (x, y, z) ofFIG. 6 ) of theelectronic device 101. - In a
first situation 1010, theelectronic device 101 may face the specifiedfirst direction 1001. Theelectronic device 101 may measure avector value 1011 including a direction component among data included in a virtual marker. For example, when facing afirst direction 1001, theelectronic device 101 may represent thevector value 1011 as a coordinate value for an XY plane, with constituent X and Y vectors. In thefirst situation 1010, theprocessor 120 may measure data, such as a magnetic field value. The measured data may have directionality in a first time in a situation where the Y-axis is identical to the reference direction. Theprocessor 120 may store the measured value as a first coordinate value (x1, y1) in the virtual marker. - In a
second situation 1020, the Y-axis of the electronic device 101 (the longer planar direction) may face a direction different from thefirst direction 1001. In thesecond situation 1020, when theelectronic device 101 measures a vector value having directionality in a second time, thefirst direction 1001 and the Y-axis of theelectronic device 101 may be different from each other. Theprocessor 120 may obtain a second coordinate value (x2, y2) which is raw data. - In a
third situation 1030, the orientation of theelectronic device 101 may be set to face thefirst direction 1001 and avector value 1031 may be stored in the virtual marker. In thesecond situation 1020, theprocessor 120 may rotate a coordinate axis (X′, Y′) such that the Y-axis of theelectronic device 101 is identical to thefirst direction 1001 That is, the coordinate system may be rotated 0 degrees counterclockwise. This aligns the coordinate axis (X′, Y′) in a specified direction (X, Y). After rotating and changing the coordinate axis (X′, Y′) in the specified direction (X, Y), theprocessor 120 may store a third coordinate value (x3, y3), obtained by rotating the second coordinate value (x2, y2), which is raw data, by a specified angle θ, in the virtual marker. -
FIG. 11 is agraph 1100 illustrating a change in acceleration in the direction orthogonal to gravity when a user moves with an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. - In an embodiment, when the user moves with the
electronic device 101, afirst interval 1110, which is a state where theelectronic device 101 is stopped, and asecond interval 1120, which is a state where theelectronic device 101 is moved, may be included according to a state where the user stops walking or starts to walk. Thefirst interval 1110 may include a plurality of first sub-intervals 1111, 1112, 1113, 1114, and 1115, and thesecond interval 1120 may include a plurality of second sub-intervals 1121, 1122, 1123, and 1124. - In an embodiment, an amount of change in acceleration in the direction orthogonal to gravity in the second interval may be larger than an amount of acceleration in the orthogonal to gravity in the
first interval 1110. When the user walks, the amount of change in acceleration in the direction of gravity may be greater than or equal to a specified threshold. - In an embodiment, when the user moves with the
electronic device 101, a processor (e.g., aprocessor 120 ofFIG. 1 ) may obtain a change in acceleration in the direction orthogonal to gravity. Theprocessor 120 may determine a start and/or end time point of an interval where he or she moves with theelectronic device 101 by measuring acceleration in the direction orthogonal to gravity. Theprocessor 120 may estimate a departure speed of theelectronic device 101 with respect to a coordinate system (e.g., coordinates (x, y, z) ofFIG. 6 ) of theelectronic device 101 using a change in acceleration, which occurs when theelectronic device 101 starts to move. -
FIG. 12 is agraph 1200 illustrating acceleration in the direction of progress and the direction orthogonal to gravity when a user moves with an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. - In an embodiment, a
first graph 1210 may represent acceleration in the direction of progress, and asecond graph 1220 may represent acceleration in the direction orthogonal to gravity. A processor (e.g., aprocessor 120 ofFIG. 1 ) may estimate a plurality of movement starttime points first graph 1210 and thesecond graph 1220. - In an embodiment, the
processor 120 may analyze acceleration in the direction orthogonal to gravity and acceleration in the direction of progress based on thefirst graph 1210 and thesecond graph 1220. When theelectronic device 101 starts to move, theprocessor 120 may identify that acceleration in the moving direction increases. Theprocessor 120 may integrate the acceleration in the moving direction to estimate an initial movement speed of theelectronic device 101. -
FIG. 13 is a graph illustrating acceleration which is compared with acceleration in the direction orthogonal to gravity when a user moves with anelectronic device 101 and is except for acceleration in a moving direction of theelectronic device 101 according to an embodiment. - In an embodiment, a
third graph 1310 may represent acceleration of a moving direction of theelectronic device 101, which is compared with acceleration in the direction orthogonal to gravity. In an embodiment, afourth graph 1320 may represent acceleration except for acceleration of a moving direction of theelectronic device 101, which is compared with acceleration in the direction orthogonal to gravity. - In an embodiment, a processor (e.g., a
processor 120 ofFIG. 1 ) may obtain acceleration of a moving direction of theelectronic device 101 and an acceleration component except for the acceleration of the moving direction of theelectronic device 101 on a plane orthogonal to gravity by being compared with acceleration in the direction orthogonal to gravity. Theprocessor 120 may compare an amount of change in acceleration indicated in the moving direction of theelectronic device 101 with an amount of change in acceleration except for the moving direction of theelectronic device 101. - In an embodiment, the
processor 120 may determine that the amount of change in acceleration indicated in the moving direction of theelectronic device 101 has a correlation where acceleration in the direction orthogonal to gravity is higher than the amount of change in acceleration except for the moving direction of theelectronic device 101. Theprocessor 120 may estimate a direction vector, having the highest correlation with acceleration in the direction orthogonal to gravity, as the moving direction of theelectronic device 101 on a plane orthogonal to the acceleration in the direction orthogonal to gravity. - In an embodiment, the
processor 120 may accumulate an acceleration component of a plane orthogonal to acceleration in the direction orthogonal to gravity when the acceleration in the direction orthogonal to gravity has a value of a specified value or more and may extract acceleration in a progress direction of theelectronic device 101. Theprocessor 120 may update a direction where theelectronic device 101 is moved continuously after theelectronic device 101 starts to move and may determine a moving direction of theelectronic device 101. - In an embodiment, when the progress direction is changed after it starts to move, the
processor 120 may monitor a change in orientation of theelectronic device 101. For example, theprocessor 120 may monitor a change in orientation of theelectronic device 101 using a gyroscope sensor included in a sensor module (e.g., asensor module 176 ofFIG. 1 ). Theprocessor 120 may distinguish whether a change in acceleration of theelectronic device 101 at a corresponding point is due to rotation of theelectronic device 101 or a change in progress direction of theelectronic device 101. -
FIG. 14 is aflowchart 1400 illustrating a process of estimating a moving direction of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. - In
operation 1410, a processor (e.g., aprocessor 120 ofFIG. 1 ) of theelectronic device 101 according to an embodiment may start to measure a moving direction. When the movement of theelectronic device 101 is detected, theprocessor 120 may turn on an accelerometer of a sensor module (e.g., asensor module 176 ofFIG. 1 ). - In
operation 1420, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether theelectronic device 101 is stopped (0 acceleration, 0 velocity). Theprocessor 120 may determine whether a user of theelectronic device 101 stops walking using the accelerometer included in thesensor module 176. When the user of theelectronic device 101 is stopped (operation 1420: Yes), theprocessor 120 may not proceed with a subsequent operation to maintainoperation 1420. When the user of theelectronic device 101 walks (operation 1420: No), theprocessor 120 may proceed withoperation 1430. - In
operation 1430, theprocessor 120 of theelectronic device 101 according to an embodiment may accumulate initial acceleration. Theprocessor 120 may obtain initial acceleration as the user of theelectronic device 101 starts to walk using the accelerometer included in thesensor module 176. Theprocessor 120 may accumulate initial acceleration information by accumulating a first step the user takes during a specified interval. - In
operation 1440, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether the acceleration value is greater than or equal to a specified threshold. Theprocessor 120 may obtain an acceleration value of theelectronic device 101 using the accelerometer included in thesensor module 176. When there is a change in acceleration over a specified value, theprocessor 120 may determine that the electronic device starts to move. When the acceleration value of theelectronic device 101 is greater than or equal to the specified threshold (operation 1440: Yes), theprocessor 120 may proceed withoperation 1450. When the acceleration value of theelectronic device 101 is less than the specified threshold (operation 1440: No), theprocessor 120 may proceed withoperation 1470. - In
operation 1450, theprocessor 120 of theelectronic device 101 according to an embodiment may measure an initial moving direction. Theprocessor 120 may estimate an initial direction which is a direction moved where theelectronic device 101 starts to move, based on the initial acceleration information. Theprocessor 120 may obtain an initial acceleration value which is an acceleration value in an interval before a specified interval elapses. Theprocessor 120 may estimate an initial moving direction of theelectronic device 101 based on the initial acceleration value. When it is determined that theelectronic device 101 starts to move, theprocessor 120 may obtain a departure speed of theelectronic device 101 based on an acceleration value before the specified interval or after the specified interval. - In
operation 1460, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether the user is walking. Theprocessor 120 may determine whether the user walks continuously or stops after initial movement. When the user is walking (operation 1460: Yes), theprocessor 120 may proceed withoperation 1470. When the user is stopped (operation 1460: No), theprocessor 120 may return tooperation 1420. - In
operation 1470, theprocessor 120 of theelectronic device 101 according to an embodiment may measure a moving direction in real time. Theprocessor 120 may dynamically measure a moving direction to continuously estimate a direction where theelectronic device 101 is moved. - In an embodiment, the
processor 120 may estimate a change in speed of theelectronic device 101 with respect to a coordinate system (e.g., coordinates (x, y, z) ofFIG. 6 ) of theelectronic device 101 online using a gyroscope and/or an accelerometer included in thesensor module 176. When a change in the actual direction of progress is detected using a change in acceleration when estimating the moving direction when theelectronic device 101 starts or after theelectronic device 101 starts, theprocessor 120 may separately determine a change in the direction of progress with respect to the coordinate system (x, y, z) of theelectronic device 101 by means of a change in the value measured by the gyroscope. -
FIG. 15 is aflowchart 1500 illustrating a process of estimating a continuous moving direction of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to an embodiment. - In operation 1510, a processor (e.g., a
processor 120 ofFIG. 1 ) of theelectronic device 101 according to an embodiment may start to measure a moving direction in real time, using the accelerometer. Theprocessor 120 may start to measure the moving direction in real time to measure that theelectronic device 101 is moved during an interval of a specified interval or more. - In
operation 1520, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether feet are in contact with the ground. Theprocessor 120 may identify a time point when the feet are in contact with the ground by walking of a user. Theprocessor 120 may determine whether a change in acceleration in the direction orthogonal to gravity is greater than or equal to a specified amount of change using an accelerometer included in a sensor module (e.g., asensor module 176 ofFIG. 1 ). When the feet are in contact with the ground (operation 1520: Yes), theprocessor 120 may proceed withoperation 1530. When the feet are not in contact with the ground (operation 1520: No), theprocessor 120 may maintain a waiting state until the feet are in contact with the ground. - In
operation 1530, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether theelectronic device 101 is rotated on a horizontal plane. Theprocessor 120 may determine whether theelectronic device 101 is rotated on a surface parallel to the ground using a 9-axis sensor included in thesensor module 176. When theelectronic device 101 is rotated on the horizontal plane (operation 1530: Yes), theprocessor 120 may return tooperation 1520. When theelectronic device 101 is not rotated on the horizontal plane (operation 1530: No), theprocessor 120 may proceed withoperation 1540. - In
operation 1540, theprocessor 120 of theelectronic device 101 according to an embodiment may accumulate acceleration information over time. Theprocessor 120 may accumulate acceleration information according to movement of theelectronic device 101 every specified period. - In
operation 1550, theprocessor 120 of theelectronic device 101 according to an embodiment may determine a moving direction. Theprocessor 120 may determine a progress direction of theelectronic device 101 based on the acceleration information over time. -
FIG. 16 is aflowchart 1600 illustrating a process of estimating a continuous moving direction of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) according to another embodiment. - In
operation 1610, a processor (e.g., aprocessor 120 ofFIG. 1 ) of theelectronic device 101 according to an embodiment may start to measure a moving direction in real time. Theprocessor 120 may start to measure the moving direction in real time to measure that theelectronic device 101 is moved during an interval of a specified interval or more. - In
operation 1620, theprocessor 120 of theelectronic device 101 according to an embodiment may extract a movement vector. Theprocessor 120 may extract a displacement and/or a trajectory where theelectronic device 101 is moved during a specified time as the movement vector. - In
operation 1630, theprocessor 120 of theelectronic device 101 according to an embodiment may calculate a correlation between the movement vector and acceleration in the direction orthogonal to gravity. - In
operation 1640, theprocessor 120 of theelectronic device 101 according to an embodiment may determine whether the acceleration is greater than or equal to a specified threshold. When the correlation is greater than or equal to the specified threshold (operation 1640: Yes), theprocessor 120 may proceed withoperation 1650. When the correlation is less than the specified threshold (operation 1640: No), theprocessor 120 may return tooperation 1620 to extract the movement vector. - In
operation 1650, theprocessor 120 of theelectronic device 101 according to an embodiment may determine a moving direction. Theprocessor 120 may determine the progress direction of theelectronic device 101 based on the correlation between the movement vector and the acceleration in the direction orthogonal to gravity. -
FIG. 17 is a drawing 1700 illustrating a process of changing a coordinate axis of measured data according to a change in orientation of anelectronic device 101 according to an embodiment. In 1710, the device is rotated theta degrees with a with respect to a first direction. Accordingly, at 1720, the axis are rotated theta degrees in the counter-clockwise direction. - In an embodiment, in a
fourth situation 1710, a Y-axis of theelectronic device 101 may face a direction different from afirst direction 1701. A processor (e.g., aprocessor 120 ofFIG. 1 ) of theelectronic device 101 may generate afirst direction vector 1711 which is data having directionality among pieces of data measured by theelectronic device 101. - In an embodiment, in a
fifth situation 1720, the Y-axis of theelectronic device 101 may change to face a direction such as thefirst direction 1701. Theprocessor 120 may change thefirst direction vector 1711 measured on a previous coordinate axis (X′, Y′) to correspond to a changed coordinate axis (X, Y), thus generating asecond direction vector 1721. For example, theprocessor 120 may apply arotation vector 1722 for changing the previous coordinate axis (X′, Y′) to the changed coordinate axis (X, Y) to convert thefirst direction vector 1711 into thesecond direction vector 1721. - In an embodiment, after estimating an orientation of the
electronic device 101, theprocessor 120 may align a coordinate axis of data measured to detect a space or an object based on a moving direction of theelectronic device 101. Theprocessor 120 may perform first alignment (e.g.,operation 920 ofFIG. 9 ) to be used when detecting the corrected value. Theprocessor 120 may align a coordinate axis of a sensor value having directionality measured when knowing a progress direction of theelectronic device 101 with respect to the progress direction of theelectronic device 101. - In an embodiment, the
processor 120 may synchronize the progress direction of theelectronic device 101 with any axis (e.g., a Y-axis) among coordinate axes of theelectronic device 101. Theprocessor 120 may align and provide the measured direction vector value to correspond to a rotated coordinate axis to a detection unit (e.g., a virtualmarker detection unit 513 ofFIG. 5 ). Theprocessor 120 may not directly provide thedetection unit 513 with thefirst direction vector 1711 which is an original vector and may provide the detection unit with thesecond direction vector 1721 which is a measurement value vector after synchronizing the Y-axis of theelectronic device 101 with the progress direction of theelectronic device 101. - In an embodiment, the
processor 120 may provide thedetection unit 513 with a vector value indicating the progress direction of theelectronic device 101 and a difference between the measured vector value and the converted vector value or an angle value formed by the progress direction and the measured vector. Theprocessor 120 may provide thedetection unit 513 with athird direction vector 1722 which is a vector indicating a difference value between thefirst direction vector 1711 and thesecond direction vector 1721. - In an embodiment, the
processor 120 may provide thedetection unit 513 with thefirst direction vector 1711 and a rotational matrix of rotating a coordinate axis. - In an embodiment, the
processor 120 may compare a vector value (e.g., avector value 1031 ofFIG. 10 ) stored in a virtual marker with thesecond direction vector 1721. Theprocessor 120 may rotate thesecond direction vector 1721 by a difference between thefirst direction 1001 and the progress direction of theelectronic device 101, which is a reference vector stored in the virtual marker, to detect thevector value 1031 stored in the virtual marker. - In an embodiment, the
processor 120 may obtain thesecond direction vector 1721. In an embodiment, theprocessor 120 may obtain thesecond direction vector 1721 as one vector value. For another example, theprocessor 120 may obtain thefirst direction vector 1711 and thethird direction vector 1722 which is a difference vector. For another example, theprocessor 120 may obtain thefirst direction vector 1711 and a conversion angle on a coordinate axis. For another example, theprocessor 120 may obtain thefirst direction vector 1711 and a rotational matrix for rotating and converting a coordinate axis (e.g., coordinates (x, y, z) ofFIG. 6 ). When theprocessor 120 aligns thefirst direction vector 1711 with respect to the progress direction of theelectronic device 101, the alignment direction does not necessarily have to the progress direction and may be stored as a difference between the progress direction of theelectronic device 101 and a sensor value having the measured directionality. -
FIG. 18 is a drawing 1800 illustrating a magnetic field value of two-dimensional movement line data as a vector according to an embodiment. A processor (e.g., aprocessor 120 ofFIG. 1 ) of an electronic device (e.g., anelectronic device 101 ofFIG. 1 ) may represent a magnetic field value among discrete movement line data for a two-dimensional plane in the form of a vector. - In an embodiment, a plurality of points may be set to magnetic field sample points to measure a magnetic field value. Directions and/or magnitudes of a magnetic field, which are respectively measured at the plurality of points, may be different from each other.
- In an embodiment, the
processor 120 may estimate an entry point which is a point entering a virtual marker to synchronize afirst direction 1001 with a moving direction of theelectronic device 101. - In an embodiment, the
processor 120 may determine whether theelectronic device 101 enters and/or exit a first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of measurement data. A magnetic field value among discrete movement line data for a two-dimensional space may be represented in the form of a vector. Each data on the two-dimensional plane may have a feature distinguished from a value around it according to a location. Thus, a pattern may be used as an example of a method for selecting an entry point. Theprocessor 120 may additionally sample a portion of one-dimensional movement line data and may compare patterns. For example, when the length of the one-dimensional movement line data is composed of 100 samples, theprocessor 120 may perform pattern comparison using only 10 samples. - In an embodiment, the
processor 120 may compare patterns using a shape of a graph based on a plurality of entry points for a one-dimensional movement line. Theprocessor 120 may derive a slope using two entry points for one one-dimensional movement line and may identify a pattern. Theprocessor 120 may define and compare patterns for the one-dimensional movement line as approximate shapes of the graph, such as a monotonous increase, a monotonous decrease, an upward convex shape, and a downward convex shape. - In an embodiment, when an additional signal such as a Bluetooth beacon other than the magnetic field signal is included in discrete movement line data for a two-dimensional plane, the
processor 120 may estimate a direction of the movement line data using the additional signal. Theprocessor 120 may align a direction of measured data to correspond to the estimated direction of the movement line data. When the aligned measurement data correspond to the movement line data, theprocessor 120 may determine that theelectronic device 101 enters a specified region. - In an embodiment, the
processor 120 may compare a measurement value where a coordinate axis is aligned in the direction of progress with a direction of entry or exit from a virtual marker where the coordinate axis is aligned. Theprocessor 120 may detect access to a specific location and/or object or may reduce complexity of calculation for estimating a location. - When detecting that an electronic device (e.g., an
electronic device 101 ofFIG. 1 ) enters a first location, theelectronic device 101 may execute a specified event or may request a specified service. - In an embodiment, when it is requested by a service (e.g., a
service 530 ofFIG. 5 ), a controller (e.g., acontroller 515 ofFIG. 5 ) may request a notification that theelectronic device 101 enters the first location. For example, a specific service such as a notification in a reminder application and/or a specific operation in a Bixby routine may be performed. When entering a corresponding place, theservice 530 may request theelectronic device 101 to perform a specified operation. A notification event, such as the reminder and/or the Bixby routine, according to entry into the first location may be executed. - In an embodiment, a specific location in a vehicle, such as the front of a car audio system, may be registered with a virtual marker. When the
electronic device 101 is located at a location where the virtual marker is registered, a specific application such a navigation or music application may be run. - In an embodiment, when the
service 530 requests such that the virtual marker recognizes a specific space, thecontroller 515 may request a receiver (e.g., areceiver 511 ofFIG. 5 ) to maximally collect information about a location where theelectronic device 101 may pass while moving when generating the virtual marker. When theservice 530 requests to recognize the specific space in the process of detecting the virtual marker, thecontroller 515 may request a virtual marker detection unit (e.g., a virtualmarker detection unit 513 ofFIG. 5 ) to detect whether theelectronic device 101 passes through the specific space while moving. - In an embodiment, when the
service 530 requests such that the virtual marker recognizes a specific object, thecontroller 515 may request thereceiver 511 to collect information in the form of surrounding the specific object when generating the virtual marker. When theservice 530 requests to recognize the specific object in the process of detecting thevirtual marker 810, thecontroller 515 may request the virtualmarker detection unit 513 to perform detection of an intended action where a user brings theelectronic device 101 to the periphery of the specific object. - In an embodiment,
various services 530 such as an advertisement in a mart may be implemented using a virtual marker platform (e.g., avirtual marker platform 510 ofFIG. 5 ). For example, the front of a specific merchandise display stand in the mart may be registered as a virtual marker. When any electronic device enters a location where the virtual marker is registered, theservice 530 may notify a user of any electronic device of information about a corresponding product or related marketing information. - In an embodiment, when generating a map in an indoor location service or an indoor location/object memory service based on information having directionality including an Earth's magnetic field, the
controller 515 may provide a value for comparison of a vector value measured when tracking a vector and location generated when remembering a location/object or when detecting a location/object, thus providing theservice 530 while increasing the accuracy of directionality and decreasing the calculated amount of data. - A method for determining entry of an electronic device into a specific region, which is described in the disclosure, may include estimating a moving direction of the electronic device, aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction, aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating the registered virtual marker, and determining entry of the electronic device into the specific region based on the registered virtual marker.
- According to certain embodiments, estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in the direction orthogonal to gravity when the electronic device is moved.
- According to certain embodiments, estimating of the moving direction of the electronic device described in the disclosure may be to estimate a direction vector, having the highest correlation with acceleration in the direction orthogonal to gravity on a plane orthogonal to acceleration in the direction orthogonal to gravity, as the moving direction of the electronic device.
- According to certain embodiments, estimating of the moving direction of the electronic device further comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
- According to certain embodiments, aligning the coordinate axis of measurement data comprises synchronizing a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correcting and providing a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
- described in the disclosure may be to generate a first direction vector being data having directionality among pieces of data measured by the electronic device, change a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being the same as a first direction being a specified direction, and change the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
- The performing of the first alignment described in the disclosure may be to synchronize a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correct and provide a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
- The performing of the second alignment described in the disclosure may be to determine whether the electronic device enters and/or exit the first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of the measurement data.
- The method for determining the entry of the electronic device into the specific region, which is described in the disclosure, may further include registering the virtual marker before estimating the moving direction of the electronic device. The registering of the virtual marker may be to align and store a coordinate axis for a measurement value having directionality in a specified direction or store the measurement value and a progress direction and an orientation of the electronic device.
- An electronic device described in the disclosure may include a sensor module that senses sensing data, a wireless communication module that transmits and/or receives a wireless signal, a memory that stores a virtual marker platform, and a processor operatively connected with the sensor module and the memory. The processor may be configured to perform a plurality of operation comprising estimating a moving direction of the electronic device, performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction, and performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into a specific region based on the registered virtual marker.
- The processor described in the disclosure may obtain a change in acceleration in the direction orthogonal to gravity when the electronic device is moved.
- The processor described in the disclosure may estimate a direction vector, having the highest correlation with acceleration in the direction orthogonal to gravity on a plane orthogonal to the acceleration in the direction orthogonal to gravity, as the moving direction of the electronic device.
- The processor described in the disclosure may accumulate acceleration information over time and may estimate an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
- The processor described in the disclosure may generate a first direction vector being data having directionality among pieces of data measured by the electronic device, change a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being the same as a first direction being a specified direction, and change the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
- The processor described in the disclosure may synchronize a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correct and provide a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
- The processor described in the disclosure may determine whether the electronic device enters and/or exit the first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of the measurement data.
- The processor described in the disclosure may estimate a departure speed of the electronic device with respect to a coordinate system of the electronic device using a change in acceleration, the change being generated when the electronic device starts to move.
- The processor described in the disclosure may estimate a change in speed of the electronic device with respect to a coordinate system of the electronic device online using a gyroscope and/or an accelerometer included in a sensor module of the electronic device.
- The processor described in the disclosure may estimate a start of movement of the electronic device by means of a change in acceleration in the direction of gravity.
- The processor described in the disclosure may determine that the electronic device starts to move, when there is a change in acceleration over a specified value.
- The processor described in the disclosure may obtain a vector value indicating a progress direction of the electronic device and a difference between a measured vector value and a converted vector value or an angle value formed by the progress direction and the measured vector.
- According to certain embodiments, a non-transitory computer-readable medium stores a plurality of instructions, where execution of the plurality of instructions by one or more processors causes the one or more processors to perform a plurality of operations comprising: estimating a moving direction of an electronic device; aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction; aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and determining entry of the electronic device into a specific region based on the registered virtual marker.
- According to certain embodiments, estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in a direction orthogonal to gravity when the electronic device is moved.
- According to certain embodiments, estimating of the moving direction of the electronic device further comprises estimating a direction vector, having a highest correlation on a plane orthogonal to acceleration in the direction of gravity, as the moving direction of the electronic device.
- According to certain embodiments, estimating of the moving direction of the electronic device comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
- According to certain embodiments, the plurality of operations further comprises: aligning the coordinate axis of measurement data comprises generating a first direction vector being data having directionality among pieces of data measured by the electronic device, changing a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being a same as a first direction being a specified direction, and changing the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
- The electronic device according to certain embodiments may be one of various types of electronic devices. The electronic devices may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the disclosure, the electronic devices are not limited to those described above.
- It should be appreciated that certain embodiments of the present disclosure and the terms used therein are not intended to limit the technological features set forth herein to particular embodiments and include various changes, equivalents, or replacements for a corresponding embodiment. With regard to the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It is to be understood that a singular form of a noun corresponding to an item may include one or more of the things, unless the relevant context clearly indicates otherwise. As used herein, each of such phrases as “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B, or C”, “at least one of A, B, and C”, and “at least one of A, B, or C” may include any one of, or all possible combinations of the items enumerated together in a corresponding one of the phrases. As used herein, such terms as “1st” and “2nd”, or “first” and “second” may be used to simply distinguish a corresponding component from another, and does not limit the components in other aspect (e.g., importance or order). It is to be understood that if an element (e.g., a first element) is referred to, with or without the term “operatively” or “communicatively”, as “coupled with”, “coupled to”, “connected with”, or “connected to” another element (e.g., a second element), it means that the element may be coupled with the other element directly (e.g., wiredly), wirelessly, or via a third element.
- As used herein, the term “module” may include a unit implemented in hardware, software, or firmware, and may interchangeably be used with other terms, for example, “logic”, “logic block”, “part”, or “circuitry”. A module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions. For example, according to an embodiment, the module may be implemented in a form of an application-specific integrated circuit (ASIC).
- Certain embodiments as set forth herein may be implemented as software (e.g., the program 140) including one or more instructions that are stored in a storage medium (e.g.,
internal memory 136 or external memory 138) that is readable by a machine (e.g., the electronic device 101). For example, a processor (e.g., the processor 120) of the machine (e.g., the electronic device 101) may invoke at least one of the one or more instructions stored in the storage medium, and execute it, with or without using one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to the at least one instruction invoked. The one or more instructions may include a code generated by a compiler or a code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Wherein, the term “non-transitory” simply means that the storage medium is a tangible device, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between where data is semi-permanently stored in the storage medium and where the data is temporarily stored in the storage medium. - According to an embodiment, a method according to certain embodiments of the disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or be distributed (e.g., downloaded or uploaded) online via an application store (e.g., PlayStore™), or between two user devices (e.g., smart phones) directly. If distributed online, at least part of the computer program product may be temporarily generated or at least temporarily stored in the machine-readable storage medium, such as memory of the manufacturer's server, a server of the application store, or a relay server.
- According to certain embodiments, each component (e.g., a module or a program) of the above-described components may include a single entity or multiple entities. According to certain embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, according to certain embodiments, the integrated component may still perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration. According to certain embodiments, operations performed by the module, the program, or another component may be carried out sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order or omitted, or one or more other operations may be added.
Claims (20)
1. A method for determining entry of an electronic device into a specific region, the method comprising:
estimating a moving direction of the electronic device;
aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction;
aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and
determining entry of the electronic device into the specific region based on the registered virtual marker.
2. The method of claim 1 , wherein estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in a direction orthogonal to gravity when the electronic device is moved.
3. The method of claim 1 , wherein estimating of the moving direction of the electronic device further comprises estimating a direction vector, having a highest correlation on a plane orthogonal to acceleration in the direction of gravity, as the moving direction of the electronic device.
4. The method of claim 1 , wherein estimating of the moving direction of the electronic device comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
5. The method of claim 1 , wherein aligning the coordinate axis of measurement data comprises generating a first direction vector being data having directionality among pieces of data measured by the electronic device, changing a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being a same as a first direction being a specified direction, and changing the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
6. The method of claim 1 , wherein aligning the coordinate axis of measurement data comprises synchronizing a progress direction of the electronic device with any axis among coordinate axes of the electronic device and correcting and providing a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
7. The method of claim 1 , wherein aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device comprises determining whether the electronic device enters and/or exit the first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of the measurement data.
8. The method of claim 1 , further comprising:
registering the virtual marker before estimating the moving direction of the electronic device,
wherein registering of the virtual marker comprises aligning and storing a coordinate axis for a measurement value having directionality in a specified direction or storing the measurement value and a progress direction and an orientation of the electronic device.
9. An electronic device, comprising:
a sensor module configured to sense sensing data;
a wireless communication module configured to transmit and/or receive a wireless signal;
a memory configured to store a virtual marker platform; and
a processor operatively connected with the sensor module and the memory,
wherein the processor is configured to perform a plurality of operations, the plurality of operations comprising:
estimating a moving direction of the electronic device;
performing first alignment of aligning a direction of a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, with respect to the moving direction;
performing second alignment of aligning the direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker; and
determining entry of the electronic device into a specific region based on the registered virtual marker.
10. The electronic device of claim 9 , wherein the plurality of operations further comprises obtaining a change in acceleration in the direction orthogonal to gravity when the electronic device is moved.
11. The electronic device of claim 9 , wherein the plurality of operations further comprises estimating a direction vector, having a highest correlation with acceleration in the direction of gravity on a plane orthogonal to the acceleration in the direction of gravity, as the moving direction of the electronic device.
12. The electronic device of claim 9 , wherein the plurality of operations further comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
13. The electronic device of claim 9 , wherein the plurality of operations further comprises generating a first direction vector being data having directionality among pieces of data measured by the electronic device, changing a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a same direction as a first direction, and changing the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
14. The electronic device of claim 9 , wherein the plurality of operations further comprises synchronizing a progress direction of the electronic device with any axis among coordinate axes of the electronic device and corrects and providing a measured direction vector value to correspond to a rotated coordinate axis to a detection unit.
15. The electronic device of claim 9 , wherein the plurality of operations further comprises determining whether the electronic device enters and/or exit the first region on a two-dimensional plane using one-dimensional movement line data where a characteristic of an entry point of at least one one-dimensional movement line data is similar to a characteristic of an entry point of the measurement data.
16. A non-transitory computer-readable medium storing a plurality of instructions, where execution of the plurality of instructions by one or more processors causes the one or more processors to perform a plurality of operations comprising:
estimating a moving direction of an electronic device;
aligning a coordinate axis of measurement data, obtained to determine whether the electronic device enters a first region where a virtual marker is registered, in the moving direction;
aligning a direction of the coordinate axis of the measurement data in a direction of a coordinate axis of the electronic device when generating a registered virtual marker, and
determining entry of the electronic device into a specific region based on the registered virtual marker.
17. The non-transitory computer-readable medium of claim 16 , wherein estimating of the moving direction of the electronic device comprises obtaining a change in acceleration in a direction orthogonal to gravity when the electronic device is moved.
18. The non-transitory computer-readable medium of claim 16 , wherein estimating of the moving direction of the electronic device further comprises estimating a direction vector, having a highest correlation on a plane orthogonal to acceleration in the direction of gravity, as the moving direction of the electronic device.
19. The non-transitory computer-readable medium of claim 16 , wherein estimating of the moving direction of the electronic device comprises accumulating acceleration information over time and estimating an initial direction being a direction moved when the electronic device starts to move based on the acceleration information over time.
20. The non-transitory computer-readable medium of claim 16 , wherein the plurality of operations further comprises:
aligning the coordinate axis of measurement data comprises generating a first direction vector being data having directionality among pieces of data measured by the electronic device,
changing a specific coordinate axis of the electronic device such that the specific coordinate axis of the electronic device faces a direction being a same as a first direction being a specified direction, and
changing the first direction vector to correspond to the changed coordinate axis to generate a second direction vector.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0157417 | 2019-11-29 | ||
KR1020190157417A KR20210067607A (en) | 2019-11-29 | 2019-11-29 | An electronic device detecting a location and a method thereof |
PCT/KR2020/012022 WO2021107349A1 (en) | 2019-11-29 | 2020-09-07 | Electronic device for detecting location, and method therefor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/012022 Continuation WO2021107349A1 (en) | 2019-11-29 | 2020-09-07 | Electronic device for detecting location, and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220284596A1 true US20220284596A1 (en) | 2022-09-08 |
Family
ID=76129699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/750,561 Pending US20220284596A1 (en) | 2019-11-29 | 2022-05-23 | Electronic device for detecting location, and method therefor |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220284596A1 (en) |
KR (1) | KR20210067607A (en) |
WO (1) | WO2021107349A1 (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040203853A1 (en) * | 2002-04-24 | 2004-10-14 | Leonid Sheynblat | Position determination for a wireless terminal in a hybrid position determination system |
US20150045072A1 (en) * | 2013-08-06 | 2015-02-12 | Qualcomm Incorporated | Method and apparatus for position estimation using trajectory |
US20150100589A1 (en) * | 2013-10-09 | 2015-04-09 | Microsoft Corporation | Location Source Ranking for Determining Device Location |
US20150118987A1 (en) * | 2013-10-28 | 2015-04-30 | Microsoft Corporation | Policies for Selecting Sources for Resource Strings |
US20200019580A1 (en) * | 2018-07-13 | 2020-01-16 | Samsung Electronics Co., Ltd | Server device and method for collecting location information of other devices |
US20220201427A1 (en) * | 2020-12-21 | 2022-06-23 | Deutsche Telekom Ag | 5g positioning using simultaneous localization and mapping (slam) tags |
US20220295223A1 (en) * | 2021-03-02 | 2022-09-15 | Google Llc | Precision 6-dof tracking for wearable devices |
WO2023030660A1 (en) * | 2021-09-06 | 2023-03-09 | Fraba B.V. | Sensor device and sensor system for monitoring a machine |
US11895616B2 (en) * | 2018-10-25 | 2024-02-06 | Samsung Electronics Co., Ltd | Electronic device and method for measuring location of electronic device |
EP3785049B1 (en) * | 2018-07-24 | 2024-05-29 | Samsung Electronics Co., Ltd. | Method for calibrating sensor or azimuth information obtained through sensor, based on azimuth information obtained using satellite positioning circuit, and electronic device supporting the same |
EP4375815A1 (en) * | 2022-11-24 | 2024-05-29 | Advanced Magnetic Interaction, AMI | Mode-dependent representation of a user-borne magnetic device |
EP4390467A1 (en) * | 2022-12-22 | 2024-06-26 | Advanced Magnetic Interaction, AMI | Passive accessories |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296058B2 (en) * | 2005-12-22 | 2012-10-23 | Motorola Solutions, Inc. | Method and apparatus of obtaining improved location accuracy using magnetic field mapping |
JP5531454B2 (en) * | 2009-06-02 | 2014-06-25 | 富士通株式会社 | Moving direction calculation device and moving direction calculation program |
KR101833217B1 (en) * | 2011-12-07 | 2018-03-05 | 삼성전자주식회사 | Mobile terminal device for positioning system based on magnetic map and positioning method using the device |
KR101634126B1 (en) * | 2014-09-23 | 2016-06-29 | 주식회사 아이티원 | method, apparatus, and recording medium for estimating location |
KR102153932B1 (en) * | 2016-01-12 | 2020-09-10 | 한국전자통신연구원 | Apparatus for updating of positioning infrastructure database automatically and method using the same |
-
2019
- 2019-11-29 KR KR1020190157417A patent/KR20210067607A/en unknown
-
2020
- 2020-09-07 WO PCT/KR2020/012022 patent/WO2021107349A1/en active Application Filing
-
2022
- 2022-05-23 US US17/750,561 patent/US20220284596A1/en active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040203853A1 (en) * | 2002-04-24 | 2004-10-14 | Leonid Sheynblat | Position determination for a wireless terminal in a hybrid position determination system |
US20150045072A1 (en) * | 2013-08-06 | 2015-02-12 | Qualcomm Incorporated | Method and apparatus for position estimation using trajectory |
WO2015020771A1 (en) * | 2013-08-06 | 2015-02-12 | Qualcomm Incorporated | Method and apparatus for position estimation using trajectory |
US20150100589A1 (en) * | 2013-10-09 | 2015-04-09 | Microsoft Corporation | Location Source Ranking for Determining Device Location |
US20150118987A1 (en) * | 2013-10-28 | 2015-04-30 | Microsoft Corporation | Policies for Selecting Sources for Resource Strings |
US20200019580A1 (en) * | 2018-07-13 | 2020-01-16 | Samsung Electronics Co., Ltd | Server device and method for collecting location information of other devices |
EP3785049B1 (en) * | 2018-07-24 | 2024-05-29 | Samsung Electronics Co., Ltd. | Method for calibrating sensor or azimuth information obtained through sensor, based on azimuth information obtained using satellite positioning circuit, and electronic device supporting the same |
US11895616B2 (en) * | 2018-10-25 | 2024-02-06 | Samsung Electronics Co., Ltd | Electronic device and method for measuring location of electronic device |
US20220201427A1 (en) * | 2020-12-21 | 2022-06-23 | Deutsche Telekom Ag | 5g positioning using simultaneous localization and mapping (slam) tags |
US20220295223A1 (en) * | 2021-03-02 | 2022-09-15 | Google Llc | Precision 6-dof tracking for wearable devices |
WO2023030660A1 (en) * | 2021-09-06 | 2023-03-09 | Fraba B.V. | Sensor device and sensor system for monitoring a machine |
EP4375815A1 (en) * | 2022-11-24 | 2024-05-29 | Advanced Magnetic Interaction, AMI | Mode-dependent representation of a user-borne magnetic device |
EP4390467A1 (en) * | 2022-12-22 | 2024-06-26 | Advanced Magnetic Interaction, AMI | Passive accessories |
Also Published As
Publication number | Publication date |
---|---|
KR20210067607A (en) | 2021-06-08 |
WO2021107349A1 (en) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11778419B2 (en) | Electronic device detecting location and method thereof | |
CN110967011B (en) | Positioning method, device, equipment and storage medium | |
US11391835B2 (en) | Apparatus and method for tracking movement of electronic device | |
KR101728123B1 (en) | Simultaneous Localization and Mapping by Using Earth's Magnetic Fields | |
US11720105B2 (en) | Unmanned aerial vehicle and method for operating same, and automated guided vehicle for controlling movement of unmanned aerial vehicle | |
US20140315570A1 (en) | Localization systems and methods | |
US11435187B2 (en) | Method for calibrating sensor or azimuth information obtained through sensor, based on azimuth information obtained using satellite positioning circuit, and electronic device supporting the same | |
US12056825B2 (en) | Electronic device for providing indoor positioning and method therefor | |
KR101523147B1 (en) | Indoor Positioning Device and Method | |
JP2016200561A (en) | Measurement device, measurement system, and program | |
US11895616B2 (en) | Electronic device and method for measuring location of electronic device | |
US20220284596A1 (en) | Electronic device for detecting location, and method therefor | |
US20210123746A1 (en) | Electronic device for detecting location and method thereof | |
US20230007442A1 (en) | Method for processing data used for location determination and electronic device supporting same | |
US20230003529A1 (en) | Location determination method and electronic device for supporting same | |
US20200195772A1 (en) | Location based operation method, electronic device and storage medium | |
US11686857B2 (en) | Geographical feature/artificial structures detection and application for GNSS navigation with map information | |
KR20230117979A (en) | Apparatus and method for indoor positioning in electronic device | |
CN118229738A (en) | Point cloud data processing method and device, vehicle and storage medium | |
KR20210009063A (en) | Electronic device and method of correcting distance thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, DUKHYUN;KIM, TAEYOON;LEE, YOUNGPO;AND OTHERS;SIGNING DATES FROM 20220422 TO 20220429;REEL/FRAME:060162/0382 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |