US20200196268A1 - System and method for positioning a gateway of an architecture - Google Patents

System and method for positioning a gateway of an architecture Download PDF

Info

Publication number
US20200196268A1
US20200196268A1 US16/795,669 US202016795669A US2020196268A1 US 20200196268 A1 US20200196268 A1 US 20200196268A1 US 202016795669 A US202016795669 A US 202016795669A US 2020196268 A1 US2020196268 A1 US 2020196268A1
Authority
US
United States
Prior art keywords
mobile device
trajectory
architecture
motion data
end position
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.)
Abandoned
Application number
US16/795,669
Inventor
Hailiang XU
Weihuan SHU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to US16/795,669 priority Critical patent/US20200196268A1/en
Publication of US20200196268A1 publication Critical patent/US20200196268A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/014Identifying transitions between environments
    • G01S5/015Identifying transitions between environments between indoor and outdoor environments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Definitions

  • the present disclosure relates to positioning techniques, and more particularly, to systems and methods for positioning a gateway of an architecture.
  • the gateway is an origin point for all routes within the architecture.
  • the gateway position should be used as the end point of a navigation route if the destination is a large architecture located at crossroads.
  • the gateway of an architecture is positioned manually.
  • a position of a positioning device may be determined, and manually calibrated to be assigned as the position of the gateway of the architecture. It is not only time-consuming to position gateways of a huge number of architectures, but also expensive to hire technicians to perform the positioning manually.
  • GPS Global Positioning System
  • Embodiments of the disclosure provide improved systems and methods for positioning a gateway of an architecture even when the GPS positioning module is turned off or the GPS signals are too weak for positioning.
  • An aspect of the disclosure provides a method for positioning a gateway of an architecture.
  • the method may include determining a trajectory of a mobile device outside the architecture based on motion data acquired by the mobile device and a movement model; acquiring, by a positioning device, a first end position of the trajectory of the mobile device; detecting that the mobile device enters or exits the architecture; and determining a second end position of the trajectory upon the detection as the position of the gateway.
  • the system may include a memory configured to store a movement model; and a processor configured to determine a trajectory of a mobile device outside the architecture based on motion data acquired by the mobile device and a movement model; acquire a first end position of the trajectory of the mobile device; detect that the mobile device enters or exits the architecture; and determine a second end position of the trajectory upon the detection as the position of the gateway.
  • Non-transitory computer-readable medium stores a set of instructions, when executed by at least one processor of a positioning system, cause the positioning system to perform a method for positioning a gateway of an architecture, the method comprising: determining a trajectory of a mobile device based on motion data acquired by the mobile device and a movement model; acquiring a first end position of the trajectory of the mobile device; detecting that the mobile device enters or exits the architecture; and determining a second end position of the trajectory upon the detection as the position of the gateway.
  • FIG. 1 is a schematic diagram illustrating exemplary relations among a terminal device, a gateway, and a vehicle, according to some embodiments of the disclosure.
  • FIG. 2 illustrates an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 3 is a block diagram of an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 4 is a block diagram of an exemplary trajectory determination unit, according to some embodiments of the disclosure.
  • FIG. 5 illustrates an exemplary coordinate system for a mobile device, according to some embodiments of the disclosure.
  • FIG. 6 is a flowchart of an exemplary method for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 7 illustrates a flowchart of an exemplary process for generating a trajectory of a mobile device, according to some embodiments of the disclosure.
  • FIG. 1 is a schematic diagram illustrating exemplary relations among a terminal device, a gateway, and a vehicle, according to some embodiments of the disclosure.
  • a vehicle driver's terminal device has its GPS positioning module turned on for GPS navigation.
  • an online-hailing platform application e.g., DiDi app
  • the application turns on the GPS positioning module by default, so that the position of the corresponding vehicle may be uploaded to a server of an online-hailing platform system.
  • the start position of the trip will be uploaded to the server, and when a user finishes a trip, the end position of the trip also will be uploaded to the server. That is, the start position and the end position of a user's trip may be acquired by the online-hailing platform system.
  • a user may request a vehicle (e.g., a taxi or a private car) for a trip using the online-hailing platform on a mobile device (e.g., a user device) when the user is still within an architecture (e.g., an office building, a shopping mall, a restaurant, a residential house or apartment building, or the like).
  • the user carrying the mobile device may walk through an exit of the architecture to a ride pick-up position, and wait for the vehicle.
  • the user carrying the mobile device may leave the vehicle and walk into the architecture through an entrance of the architecture. Therefore, the user creates a trajectory (i.e., a trajectory of the mobile device) between the entrance/exit and the vehicle.
  • FIG. 1 shows a trajectory 110 of a mobile device 102 between a gateway 104 (an entrance or an exit) and a vehicle 106 .
  • trajectory 110 is a trajectory toward gateway 104 (i.e., the entrance) of an architecture
  • a position of vehicle 106 is a start position of trajectory 110
  • a position of gateway 104 is an end position of trajectory 110 .
  • trajectory 110 is a trajectory leaving gateway 104 (i.e., the exit) of the architecture
  • the position of vehicle 106 is an end position of trajectory 110 and the position of gateway 104 is a start position of trajectory 110 .
  • gateway 104 Given the position of vehicle 106 and trajectory 110 , it is possible to determine the position of gateway 104 based on whether mobile device 102 is moving toward gateway 104 or leaving from gateway 104 .
  • FIG. 2 illustrates an exemplary system 200 for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • System 200 may be a general server or a proprietary device in communication with both mobile device 102 and vehicle 106 .
  • Mobile device 102 may include any smart device, such as a smart phone, a laptop, a tablet, a smart watch, or the like. Consistent with embodiments of the disclosure, mobile device 102 may include a plurality of sensors and/or signal receivers for acquiring sensing signals for determining a trajectory of mobile device 102 .
  • the sensors may include a barometric sensor, a temperature sensor, a light sensor, or the like.
  • the sensors may further include motion sensors, such as a magnetometer, a gyroscope, a gravity sensor, an acceleration sensor, or the like, and the motion sensors may be configured to receive motion data, such as a magnetic field strength, a direction, a gravity value, an acceleration value, or the like of mobile device 102 .
  • the signal receiver may be configured to receive Wireless Fidelity (WiFi) signals, Bluetooth signals, base station signals, or the like.
  • the base station signals may further include Global System for Mobile Communications (GSM) signals, Code Division Multiple Access (CDMA) signals, Wideband Code Division Multiple Access (WCDMA) signals, Long-Term Evolution (LTE) signals, or the like.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long-Term Evolution
  • the sensing signals may include at least one of barometric pressure, temperature, light intensity, a magnetic field value, a direction, a gravity value, an acceleration value, WiFi signals, base station signals, or the like.
  • Vehicle 106 may upload trip information to system 200 .
  • the trip information may include an identity of a user, positions of vehicle 106 , or the like.
  • the identity of the user may include information of the user account, which is logged in on mobile device 102 of the user.
  • Positions of vehicle 106 may include any positions during the trip, such as an origin point of a trip, a destination point of the trip, or the like.
  • Vehicle 106 may acquire the above trip information by a driver terminal device (not shown) having the online-hailing platform application (e.g., DiDi app) or a built-in device (not shown).
  • the driver terminal device or the built-in device may include a GPS positioning module for determining a position of vehicle 106 . Therefore, when the trip is still ongoing, mobile device 102 may be located based on the position of vehicle 106 even if the GPS positioning module of mobile device 102 is inactive or having weak signals.
  • system 200 may position a gateway of an architecture based on the motion data and sensing signals of mobile device 102 and the trip information of vehicle 106 .
  • FIG. 3 is a block diagram of an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • system 200 may include a processor 300 , a communication interface 302 , and a memory 312 .
  • Processor 300 may further include multiple functional modules, such as a trajectory determination unit 304 , an end position acquisition unit 306 , a gateway-passing detection unit 308 , and a gateway positioning unit 310 .
  • These modules can be functional hardware units (e.g., portions of an integrated circuit) of processor 300 designed for use with other components or a part of a program (stored on a computer-readable medium) that, when executed by processor 300 , performs one or more functions.
  • FIG. 3 shows units 304 - 310 all within one processor 300 , it is contemplated that these units may be distributed among multiple processors located near or remotely with each other.
  • System 200 may be implemented in the cloud, on terminal device 102 , or a separate computer/server.
  • Communication interface 302 may be in communication with mobile device 102 and vehicle 106 , and configured to receive the motion data and sensing signals of mobile device 102 and trip information of vehicle 106 .
  • memory 312 may be configured to store the above motion data, sensing signals, trip information, or the like.
  • Memory 312 may be implemented as any type of volatile or non-volatile memory devices, or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, or a magnetic or optical disk.
  • SRAM static random access memory
  • EEPROM electrically erasable programmable read-only memory
  • EPROM erasable programmable read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • magnetic memory a magnetic memory
  • flash memory or a magnetic or optical disk.
  • trajectory 110 of mobile device 102 and the positions of vehicle 106 may be acquired, and whether mobile device 102 is entering or exiting the architecture may be determined.
  • Trajectory determination unit 304 may determine trajectory 110 of mobile device 102 based on motion data acquired by mobile device and a movement model. The determining process may include two stages. In a first stage, also referred to as the “training stage,” trajectory determination unit 304 may generate and train a movement model using data associated with mobile device 102 ; and in a second stage, also referred to as the “determining stage,” trajectory determination unit 304 may apply the trained movement model to determine trajectory 110 of a mobile device, which may be mobile device 102 or another mobile device carried by the same user. It is contemplated that, the trained movement model may be applied to a mobile device other than mobile device 102 in the training stage, as long as the mobile device is placed at a same place on the user where mobile device 102 was placed.
  • the movement model may be generated during the training stage by a Pedestrian Dead Reckoning (PDR) method.
  • the PDR method may train the movement model based on training motion data and a corresponding trajectory of mobile device 102 .
  • the user may be required to turn on the GPS positioning module of mobile device 102 by an application (e.g., the DiDi app) installed on mobile device 102 , and keep mobile device 102 with the user.
  • an application e.g., the DiDi app
  • mobile device 102 may be placed anywhere on the user, such as in his pocket, attached to his belt, or in/with another item carried by the user, such as a purse, an armband, or the like.
  • the GPS positioning module may receive GPS signals and generate a GPS-determined trajectory of mobile device 102 based on the received GPS signals. It is contemplated that, the GPS-determined trajectory is merely an example of the determined trajectory. As long as the trajectory can be accurate enough for training, any method may be used for generating the determined trajectories. In some embodiments, an indoor positioning method may also generate the determined trajectory.
  • the application may further require the user to walk or jog for a predetermined distance, so that the training motion data may be collected by motion sensors and the corresponding trajectory of mobile device 102 may be determined by the GPS positioning module. As a user generally moves with a certain pattern, the training motion data and the corresponding trajectory of mobile device 102 are associated. Given enough training motion data and corresponding trajectories, trajectory determination unit 304 may generate the movement model using a suitable machine learning method.
  • the training motion data is essentially the same as the motion data discussed above, description of which is omitted herein for clarity. The training process is further described below with reference to FIG. 4 .
  • FIG. 4 is a block diagram of an exemplary trajectory determination unit, according to some embodiments of the disclosure.
  • trajectory determination unit 304 may include a motion data acquisition unit 402 , a movement model training unit 404 , a movement vector determination unit 404 , and a trajectory synthesizing unit 406 .
  • mobile device 102 may collect the training motion data and the corresponding trajectory during the training stage at a predetermined frequency, e.g., five times per second, and motion data acquisition unit 402 may receive the collected training motion data and the determined trajectories.
  • a data collection window such as three seconds, may be defined as for collecting the training motion data and trajectory. Accordingly, in the example above, 15 sets of the training motion data and the corresponding trajectories are collected by mobile device 102 for each window. It is contemplated that any suitable frequency (N times per second) and window (M seconds) may be used for the data collection, resulting in N ⁇ M sets of training data.
  • Motion data acquisition unit 402 may receive a plurality sets of the training motion data and the corresponding trajectories from mobile device 102 .
  • movement model training unit 404 may then train the movement model based on the received the training motion data and the corresponding trajectories.
  • movement model training unit 404 may perform statistical analysis on each set of the training motion data and the corresponding trajectory, so as to extract feature vectors and supervised signals for training the movement model.
  • the feature vectors may include statistic results in each axis of a coordinate system for mobile device 102 .
  • FIG. 5 illustrates an exemplary coordinate system 500 for mobile device 102 , according to some embodiments of the disclosure.
  • coordinate system 500 may be a Cartesian coordinate system.
  • Mobile device 102 may be assigned as an origin of coordinate system 500 , a front direction of mobile device 102 may be assigned as an X axis, a left direction may be assigned as a Y axis, and an orthogonal direction of the X and Y axes may be assigned as a Z axis. It is contemplated that other coordinate systems may also be applied on mobile device 102 .
  • the training motion data may also at least include a magnetic field strength, a direction, a gravity value, an acceleration value, or the like of mobile device 102 .
  • movement model training unit 404 may generate an average value, a variance, and a histogram of acceleration values in each of the X, Y, and Z axes.
  • movement model training unit 404 For each direction, movement model training unit 404 generates one average value, one variance, and eight bin values (i.e., 10 components in total) for each axis, and therefore 30 components may be generated for three axes. Similarly, movement model training unit 404 also generates 30 components in total based on the magnetic field values.
  • Movement model training unit 404 further respectively calculates the numbers of acceleration values in the X axis being greater than, equal to, and less than acceleration values in the Y axis, the numbers of acceleration values in the X axis being greater than, equal to, and less than acceleration values in the Z axis, and the numbers of acceleration values in the Y axis being greater than, equal to, and less than acceleration values in the Z axis.
  • movement model training unit 404 generates three numbers for each axis, and nine components in total for the feature vector based on the acceleration values.
  • movement model training unit 404 respectively generates nine components based on the magnetic field values.
  • Movement model training unit 404 further respectively generates an average value, a variance, and a histogram (e.g., having 8 bins) of acceleration value differences between the X and Y axes, the X and Z axes, and the Y and Z axes. That is, movement model training unit 404 may generate 10 components for each pair of the X and Y axes, the X and Z axes, and the Y and Z axes, and 30 components in total based on the acceleration value differences. Similarly, movement model training unit 404 generates an average value, a variance, and a histogram of magnetic field value differences between the X and Y axes, the X and Z axes, and the Y and Z axes. That is, movement model training unit 404 may generate another 30 components in total based on magnetic field strength differences. Thus, movement model training unit 404 generates 60 components for the feature vector based on the acceleration value differences and magnetic field strength differences.
  • a histogram e.g.,
  • a feature vector having 138 components may be generated by movement model training unit 404 for each window.
  • more or less components may be generated by movement model training unit 404 for each window.
  • more motion data other than the acceleration value and magnetic field strength, may be used for generating components of the feature vectors.
  • Movement model training unit 404 may generate a plurality sets of feature vectors and supervised signals based the collected motion data and the corresponding trajectories.
  • Movement model training unit 404 may further train the movement model based on the plurality sets of feature vectors and supervised signals.
  • the training process may be performed according to, for example, a Random Forest algorithm.
  • each random forest may include 50 random trees, the depth of each random tree is 25, a minimum number of samples at a leaf is 30, for example.
  • the parameters e.g., the number of random trees, the depth of each random tree, the minimum number of samples, or the like) for Random Forest algorithm may be adjusted during practice.
  • the trained movement model may be stored in memory 312 . It is contemplated that, because the user may carry mobile device 102 in many ways, such as holding mobile device 102 in hands, putting mobile device 102 in a pocket, attaching mobile device 102 to an arm of the user, or the like, trajectory determination unit 304 may generate a movement model including a plurality of sub-models, and each of the sub-models corresponds to a place on a user where mobile device 102 is carried.
  • trajectory determination unit 304 may determine a trajectory of mobile device 102 based on motion data acquired by mobile device 102 and the movement model. Consistent with embodiments of the disclosure, motion data acquisition unit 402 of trajectory determination unit 304 may further receive the motion data acquired by mobile device 102 , in the determining stage. For example, motion data acquisition unit 402 may send out an instruction to mobile device 102 for collecting the motion data, upon a predetermined event. In one embodiment, upon a user requesting a taxi using, for example, the DiDi app, motion data acquisition unit 402 sends to mobile device 102 the instruction for collecting the motion data.
  • the motion data may be used for determining an exit of the architecture, as the user needs to walk out of the architecture through the gateway.
  • motion data acquisition unit 402 sends to mobile device 102 the instruction for collecting the training motion data. It is contemplated that, after the user finishes the trip, it is possible that the user may walk into an architecture through the gateway. In this case, the motion data may be used for determining an entrance of the architecture.
  • trajectory determination unit 304 may further select a sub-model based on the motion data, and determine the movement vectors using the sub-model based on the motion data.
  • movement vector determination unit 404 of trajectory determination unit 304 may determine a movement vector in a data collection window using the movement model. Given a plurality of sets of feature vectors and supervised signals calculated from motion data, a plurality of movement vectors may be generated. As explained above, mobile device 102 may collect the training motion data and a corresponding trajectory at a predetermined frequency, therefore movement vector determination unit 404 may generate one movement vector periodically. For example, if the data collection occurs five time per second, the movement vector can be generated every 200 milliseconds (ms).
  • trajectory synthesizing unit 406 of trajectory determination unit 304 may determine the trajectory of mobile device 102 by synthesizing the movement vectors.
  • the movement vectors may be connected sequentially to generate the trajectory.
  • the movement vectors may be assigned different weights. It is contemplated that, an actual movement of mobile device 102 is more likely to resemble a recently generated movement vector V 0 , as opposed to a movement vector generated a while ago. Thus, the movement vectors may be assigned different weights based on when the movement vectors are generated.
  • a currently generated movement vector V 0 may be assigned with a weight of “1”
  • a movement vector V 1 generated a period earlier than the currently generated movement vector may be assigned with a weight of “0.9”
  • a movement vector V 2 generated a period earlier than movement vector V 1 may be assigned with a weight of “0.8”
  • a movement vector V n generated a period earlier than movement vector V n-1 may be assigned with a weight of 1-0.1 ⁇ n.
  • n 9
  • a weighted average vector may be generated by synthesizing the generated vectors V 0 -V 9 based on the above weights, so as to further generate the trajectory.
  • the trajectory generated above is a synthesized vector, indicating a movement from a first end position (i.e., a start position) to a second end position (i.e., a terminal position).
  • end position acquisition unit 306 may acquire a first end position of the trajectory of mobile device 102 .
  • the trip information of vehicle 106 may include the identity of the user, which is associated with mobile device 102 of the user. Therefore, during the trip, positions of mobile device 102 may be identical to positions of vehicle 106 .
  • the position of vehicle 106 may be assigned as the first end position, which is also the start position of the trajectory of mobile device 102 .
  • the origin of the trip may be assigned as the first end position.
  • the first end position is an origin of the trip taken by a user carrying mobile device 102 .
  • the origin of the trip is also a terminal position of a trajectory from the architecture to the pick-up position.
  • the architecture may be identified based on the first end position.
  • the first end position in the first example is the start position of the trajectory, while the first end position in the second example, is the end position of the trajectory. Therefore, the first end position acquired by end position acquisition unit 306 can be either the start position or the end position of the trajectory.
  • the gateway may be positioned by locating the gateway on the trajectory.
  • Gateway-passing detection unit 308 may detect that mobile device 102 enters or exits the architecture. When mobile device 102 is detected entering or exiting the gateway, a position of the gateway may be determined correspondingly. When mobile device 102 enters or exits the architecture, barometric pressure, temperature, light intensity may change. And the WiFi signals and the base station signals received by mobile device 102 may also change. For example, when mobile device 102 enters an architecture, mobile device 102 may be able to receive WiFi signals of a WiFi access point disposed within the architecture.
  • gateway-passing detection unit 308 may determine a reference value based on changes in sensing signals acquired by mobile device 102 , and the sensing signals may at least include barometric pressure, temperature, light intensity, Wireless Fidelity (WiFi) signals, base station signals, or the like. That is, the reference value for determining whether mobile device 102 enters or exits the architecture is generated based on a plurality of sensing signals, rather than merely one signal. In some embodiments, the reference value indicates the amplitude of the changes of the sensing signals. Gateway-passing detection unit 308 further compares the reference value with a threshold value. The threshold may be predetermined and stored in memory 312 . Then, gateway-passing detection unit 308 determines that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
  • a threshold value may be predetermined and stored in memory 312 .
  • the second end position of the trajectory of mobile device 102 may be determined upon entering or exiting the architecture. Upon the detection, gateway positioning unit 310 may then determine the second end position of the trajectory as the position of the gateway.
  • system 200 may automatically position a gateway of an architecture based on a trajectory of a mobile device of a user and positions of a vehicle that is associated with a trip request of the user, and thus system 200 is efficient and cost-effective.
  • Another aspect of the disclosure provides a method for positioning a gateway of an architecture.
  • FIG. 6 is a flowchart of an exemplary process 600 for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • process 600 may be implemented by system 200 , and process 600 may include steps S 602 -S 608 as below.
  • system 200 may determine a trajectory of a mobile device based on motion data acquired by the mobile device and a movement model.
  • the motion data may be a magnetic field strength, a direction, a gravity value, an acceleration value, or the like generated during the movement of the mobile device.
  • a plurality of sensors including a barometric sensor, a temperature sensor, a light sensor, or the like, may be used to generate the motion data.
  • the movement model may be generated using machine learning in a training stage. For example, system 200 may train the movement model based on training motion data and the corresponding trajectory of the mobile device.
  • the training motion data is essentially similar as the motion data, and may be acquired similarly from the mobile device.
  • the corresponding trajectory of the mobile device may be determined by any suitable methods, as long as it is sufficiently accurate for the training process.
  • the corresponding trajectory may be determined based on the GPS signals received by the mobile device. That is, in the training stage, a GPS positioning module is required to be turned on in the training stage. The process for training the movement model has been discussed above in connection with FIG. 4 .
  • the movement model may include a plurality of sub-models, and each of the sub-models corresponds to a place on a user where the mobile device is carried.
  • FIG. 7 is a flowchart of an exemplary process 700 for generating the trajectory of a mobile device, according to some embodiments of the disclosure.
  • Process 700 may be also performed by system 200 , and may include sub-steps S 702 -S 706 .
  • system 200 may receive the motion data acquired by the mobile device.
  • system 200 may generate a plurality of movement vectors using a movement model based on the motion data.
  • system 200 may determine the trajectory of the mobile device by synthesizing the movement vectors.
  • system 200 may select a sub-model based on the motion data, and determine the movement vectors using the sub-model based on the motion data. For example, when a user puts the mobile device in the pocket, system 200 may first determine that the mobile device is kept in the pocket, and determine the movement vector using the sub-model for pocket. Thus, system 200 may determine the trajectory of the mobile device.
  • system 200 may acquire a first end position of the trajectory of the mobile device, so that any position of the trajectory can be located based on the first end position and the trajectory itself in later steps.
  • system 200 uses positions of a vehicle based on a trip request associated with the vehicle and the mobile device, so as to acquire the first end position.
  • the position of the vehicle at the destination of the trip may be assigned as the first end position, which is the start position of a trajectory of the mobile device from the vehicle to the architecture.
  • an origin of the trip may be assigned as the first end position. As the user oftentimes requests the vehicle service within the architecture and leaves the architecture for the pick-up position later, the origin of the trip is also an end position of a trajectory from the architecture to the pick-up position.
  • the architecture may be identified based on the first end position.
  • the first end position in the first example is the start position of the trajectory, while the first end position in the second example is the terminal position of the trajectory. Therefore, the first end position acquired in step S 604 can be either the start position or the terminal position of the trajectory.
  • system 200 may detect that the mobile device enters or exits the architecture.
  • barometric pressure, temperature, light intensity may change.
  • WiFi signals and the base station signals received by mobile device 102 also may change.
  • gateway-passing detection unit 308 may determine a reference value based on sensing signals acquired by the mobile device, and the sensing signals may include at least one of barometric pressure, temperature, light intensity, Wireless Fidelity (WiFi) signals, base station signals, or the like.
  • WiFi Wireless Fidelity
  • the reference value for determining whether the mobile device enters or exits the architecture is generated based on a plurality of sensing signals, rather than merely one signal.
  • the reference value indicates the amplitude of the changes of the sensing signals.
  • System 200 further compares the reference value with a threshold value. The threshold may be predetermined and stored in a memory. Then, system 200 determines that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
  • system 200 may determine a second end position of the trajectory upon the detection as the position of the gateway. Because system 200 detects the mobile device entering or exiting the architecture, a position on the trajectory upon detection may be determined as the second end position of the trajectory. The second end position of the trajectory may be further assigned as the position of the gateway.
  • Process 600 may automatically position a gateway of an architecture based on a trajectory of a mobile device of a user and positions of a vehicle that is associated with a trip request of the user, and thus process 600 is efficient and cost-effective.
  • the computer-readable medium may include volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other types of computer-readable medium or computer-readable storage devices.
  • the computer-readable medium may be the storage device or the memory module having the computer instructions stored thereon, as disclosed.
  • the computer-readable medium may be a disc or a flash drive having the computer instructions stored thereon.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Navigation (AREA)

Abstract

Embodiments of the disclosure provide systems and methods for positioning a gateway of an architecture. The method may include determining a trajectory of a mobile device based on motion data acquired by the mobile device and a movement model, acquiring a first end position of the trajectory of the mobile device, detecting that the mobile device enters or exits the architecture, and determining a second end position of the trajectory upon the detection as the position of the gateway.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 15/978,653, filed on May 14, 2018, which is a continuation of International Application No. PCT/CN2017/089229, filed on Jun. 20, 2017, the entire contents of both of which are incorporated herein by reference.
  • TECHNICAL FIELD
  • The present disclosure relates to positioning techniques, and more particularly, to systems and methods for positioning a gateway of an architecture.
  • BACKGROUND
  • It is important to accurately locate a gateway of an architecture, such as a house, a building, a parking garage, or any other structures. For example, to generate a layout map of the architecture, the gateway is an origin point for all routes within the architecture. Furthermore, the gateway position should be used as the end point of a navigation route if the destination is a large architecture located at crossroads.
  • Conventionally, the gateway of an architecture is positioned manually. For example, a position of a positioning device may be determined, and manually calibrated to be assigned as the position of the gateway of the architecture. It is not only time-consuming to position gateways of a huge number of architectures, but also expensive to hire technicians to perform the positioning manually.
  • As people carrying mobile devices (e.g., smart phones, tablets, smart watches, or the like) walk in or out of architectures, it is possible to position a gateway of an architecture by collecting position data and motion data of the mobile devices. However, the position data of a smart device is heavily relied on Global Positioning System (GPS) signals, which can only be received by the mobile device if a GPS positioning module of the mobile device is active.
  • Embodiments of the disclosure provide improved systems and methods for positioning a gateway of an architecture even when the GPS positioning module is turned off or the GPS signals are too weak for positioning.
  • SUMMARY
  • An aspect of the disclosure provides a method for positioning a gateway of an architecture. The method may include determining a trajectory of a mobile device outside the architecture based on motion data acquired by the mobile device and a movement model; acquiring, by a positioning device, a first end position of the trajectory of the mobile device; detecting that the mobile device enters or exits the architecture; and determining a second end position of the trajectory upon the detection as the position of the gateway.
  • Another aspect of the disclosure provides a system for positioning a gateway of an architecture. The system may include a memory configured to store a movement model; and a processor configured to determine a trajectory of a mobile device outside the architecture based on motion data acquired by the mobile device and a movement model; acquire a first end position of the trajectory of the mobile device; detect that the mobile device enters or exits the architecture; and determine a second end position of the trajectory upon the detection as the position of the gateway.
  • Yet another aspect of the disclosure provides a non-transitory computer-readable medium. The non-transitory computer-readable medium stores a set of instructions, when executed by at least one processor of a positioning system, cause the positioning system to perform a method for positioning a gateway of an architecture, the method comprising: determining a trajectory of a mobile device based on motion data acquired by the mobile device and a movement model; acquiring a first end position of the trajectory of the mobile device; detecting that the mobile device enters or exits the architecture; and determining a second end position of the trajectory upon the detection as the position of the gateway.
  • It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram illustrating exemplary relations among a terminal device, a gateway, and a vehicle, according to some embodiments of the disclosure.
  • FIG. 2 illustrates an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 3 is a block diagram of an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 4 is a block diagram of an exemplary trajectory determination unit, according to some embodiments of the disclosure.
  • FIG. 5 illustrates an exemplary coordinate system for a mobile device, according to some embodiments of the disclosure.
  • FIG. 6 is a flowchart of an exemplary method for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • FIG. 7 illustrates a flowchart of an exemplary process for generating a trajectory of a mobile device, according to some embodiments of the disclosure.
  • DETAILED DESCRIPTION
  • Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
  • FIG. 1 is a schematic diagram illustrating exemplary relations among a terminal device, a gateway, and a vehicle, according to some embodiments of the disclosure.
  • Generally, a vehicle driver's terminal device has its GPS positioning module turned on for GPS navigation. For example, when a driver installs an online-hailing platform application (e.g., DiDi app) on his/her terminal device, the application turns on the GPS positioning module by default, so that the position of the corresponding vehicle may be uploaded to a server of an online-hailing platform system. Similarly, when a user starts a trip, the start position of the trip will be uploaded to the server, and when a user finishes a trip, the end position of the trip also will be uploaded to the server. That is, the start position and the end position of a user's trip may be acquired by the online-hailing platform system.
  • Oftentimes, a user may request a vehicle (e.g., a taxi or a private car) for a trip using the online-hailing platform on a mobile device (e.g., a user device) when the user is still within an architecture (e.g., an office building, a shopping mall, a restaurant, a residential house or apartment building, or the like). The user carrying the mobile device may walk through an exit of the architecture to a ride pick-up position, and wait for the vehicle. Similarly, after a trip is finished, the user carrying the mobile device may leave the vehicle and walk into the architecture through an entrance of the architecture. Therefore, the user creates a trajectory (i.e., a trajectory of the mobile device) between the entrance/exit and the vehicle.
  • FIG. 1 shows a trajectory 110 of a mobile device 102 between a gateway 104 (an entrance or an exit) and a vehicle 106. When trajectory 110 is a trajectory toward gateway 104 (i.e., the entrance) of an architecture, a position of vehicle 106 is a start position of trajectory 110 and a position of gateway 104 is an end position of trajectory 110. Similarly, when trajectory 110 is a trajectory leaving gateway 104 (i.e., the exit) of the architecture, the position of vehicle 106 is an end position of trajectory 110 and the position of gateway 104 is a start position of trajectory 110.
  • Thus, given the position of vehicle 106 and trajectory 110, it is possible to determine the position of gateway 104 based on whether mobile device 102 is moving toward gateway 104 or leaving from gateway 104.
  • FIG. 2 illustrates an exemplary system 200 for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • System 200 may be a general server or a proprietary device in communication with both mobile device 102 and vehicle 106.
  • Mobile device 102 may include any smart device, such as a smart phone, a laptop, a tablet, a smart watch, or the like. Consistent with embodiments of the disclosure, mobile device 102 may include a plurality of sensors and/or signal receivers for acquiring sensing signals for determining a trajectory of mobile device 102.
  • The sensors may include a barometric sensor, a temperature sensor, a light sensor, or the like. The sensors may further include motion sensors, such as a magnetometer, a gyroscope, a gravity sensor, an acceleration sensor, or the like, and the motion sensors may be configured to receive motion data, such as a magnetic field strength, a direction, a gravity value, an acceleration value, or the like of mobile device 102.
  • The signal receiver may be configured to receive Wireless Fidelity (WiFi) signals, Bluetooth signals, base station signals, or the like. The base station signals may further include Global System for Mobile Communications (GSM) signals, Code Division Multiple Access (CDMA) signals, Wideband Code Division Multiple Access (WCDMA) signals, Long-Term Evolution (LTE) signals, or the like. Therefore, the sensing signals may include at least one of barometric pressure, temperature, light intensity, a magnetic field value, a direction, a gravity value, an acceleration value, WiFi signals, base station signals, or the like.
  • Vehicle 106 may upload trip information to system 200. For example, the trip information may include an identity of a user, positions of vehicle 106, or the like. The identity of the user may include information of the user account, which is logged in on mobile device 102 of the user. Positions of vehicle 106 may include any positions during the trip, such as an origin point of a trip, a destination point of the trip, or the like. Vehicle 106 may acquire the above trip information by a driver terminal device (not shown) having the online-hailing platform application (e.g., DiDi app) or a built-in device (not shown). The driver terminal device or the built-in device may include a GPS positioning module for determining a position of vehicle 106. Therefore, when the trip is still ongoing, mobile device 102 may be located based on the position of vehicle 106 even if the GPS positioning module of mobile device 102 is inactive or having weak signals.
  • Consistent with embodiments of the disclosure, system 200 may position a gateway of an architecture based on the motion data and sensing signals of mobile device 102 and the trip information of vehicle 106. FIG. 3 is a block diagram of an exemplary system for positioning a gateway of an architecture, according to some embodiments of the disclosure.
  • As shown in FIG. 3, system 200 may include a processor 300, a communication interface 302, and a memory 312. Processor 300 may further include multiple functional modules, such as a trajectory determination unit 304, an end position acquisition unit 306, a gateway-passing detection unit 308, and a gateway positioning unit 310. These modules (and any corresponding sub-modules or sub-units) can be functional hardware units (e.g., portions of an integrated circuit) of processor 300 designed for use with other components or a part of a program (stored on a computer-readable medium) that, when executed by processor 300, performs one or more functions. Although FIG. 3 shows units 304-310 all within one processor 300, it is contemplated that these units may be distributed among multiple processors located near or remotely with each other. System 200 may be implemented in the cloud, on terminal device 102, or a separate computer/server.
  • Communication interface 302 may be in communication with mobile device 102 and vehicle 106, and configured to receive the motion data and sensing signals of mobile device 102 and trip information of vehicle 106.
  • Consistent with embodiments of the disclosure, memory 312 may be configured to store the above motion data, sensing signals, trip information, or the like. Memory 312 may be implemented as any type of volatile or non-volatile memory devices, or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, or a magnetic or optical disk.
  • As discussed above, in order to position a gateway of an architecture, trajectory 110 of mobile device 102 and the positions of vehicle 106 may be acquired, and whether mobile device 102 is entering or exiting the architecture may be determined.
  • Trajectory determination unit 304 may determine trajectory 110 of mobile device 102 based on motion data acquired by mobile device and a movement model. The determining process may include two stages. In a first stage, also referred to as the “training stage,” trajectory determination unit 304 may generate and train a movement model using data associated with mobile device 102; and in a second stage, also referred to as the “determining stage,” trajectory determination unit 304 may apply the trained movement model to determine trajectory 110 of a mobile device, which may be mobile device 102 or another mobile device carried by the same user. It is contemplated that, the trained movement model may be applied to a mobile device other than mobile device 102 in the training stage, as long as the mobile device is placed at a same place on the user where mobile device 102 was placed.
  • In some embodiments, the movement model may be generated during the training stage by a Pedestrian Dead Reckoning (PDR) method. The PDR method may train the movement model based on training motion data and a corresponding trajectory of mobile device 102.
  • For example, when the training begins, the user may be required to turn on the GPS positioning module of mobile device 102 by an application (e.g., the DiDi app) installed on mobile device 102, and keep mobile device 102 with the user. For example, mobile device 102 may be placed anywhere on the user, such as in his pocket, attached to his belt, or in/with another item carried by the user, such as a purse, an armband, or the like.
  • The GPS positioning module may receive GPS signals and generate a GPS-determined trajectory of mobile device 102 based on the received GPS signals. It is contemplated that, the GPS-determined trajectory is merely an example of the determined trajectory. As long as the trajectory can be accurate enough for training, any method may be used for generating the determined trajectories. In some embodiments, an indoor positioning method may also generate the determined trajectory.
  • The application may further require the user to walk or jog for a predetermined distance, so that the training motion data may be collected by motion sensors and the corresponding trajectory of mobile device 102 may be determined by the GPS positioning module. As a user generally moves with a certain pattern, the training motion data and the corresponding trajectory of mobile device 102 are associated. Given enough training motion data and corresponding trajectories, trajectory determination unit 304 may generate the movement model using a suitable machine learning method. The training motion data is essentially the same as the motion data discussed above, description of which is omitted herein for clarity. The training process is further described below with reference to FIG. 4. FIG. 4 is a block diagram of an exemplary trajectory determination unit, according to some embodiments of the disclosure.
  • As shown in FIG. 4, trajectory determination unit 304 may include a motion data acquisition unit 402, a movement model training unit 404, a movement vector determination unit 404, and a trajectory synthesizing unit 406.
  • In some embodiments, mobile device 102 may collect the training motion data and the corresponding trajectory during the training stage at a predetermined frequency, e.g., five times per second, and motion data acquisition unit 402 may receive the collected training motion data and the determined trajectories. In some embodiments, a data collection window, such as three seconds, may be defined as for collecting the training motion data and trajectory. Accordingly, in the example above, 15 sets of the training motion data and the corresponding trajectories are collected by mobile device 102 for each window. It is contemplated that any suitable frequency (N times per second) and window (M seconds) may be used for the data collection, resulting in N×M sets of training data. Motion data acquisition unit 402 may receive a plurality sets of the training motion data and the corresponding trajectories from mobile device 102.
  • Then, movement model training unit 404 may then train the movement model based on the received the training motion data and the corresponding trajectories.
  • For example, movement model training unit 404 may perform statistical analysis on each set of the training motion data and the corresponding trajectory, so as to extract feature vectors and supervised signals for training the movement model.
  • In some embodiments, the feature vectors may include statistic results in each axis of a coordinate system for mobile device 102. FIG. 5 illustrates an exemplary coordinate system 500 for mobile device 102, according to some embodiments of the disclosure.
  • As shown in FIG. 5, coordinate system 500 may be a Cartesian coordinate system. Mobile device 102 may be assigned as an origin of coordinate system 500, a front direction of mobile device 102 may be assigned as an X axis, a left direction may be assigned as a Y axis, and an orthogonal direction of the X and Y axes may be assigned as a Z axis. It is contemplated that other coordinate systems may also be applied on mobile device 102.
  • Similar to the motion data, the training motion data may also at least include a magnetic field strength, a direction, a gravity value, an acceleration value, or the like of mobile device 102. By perform the statistical analysis, movement model training unit 404 may generate an average value, a variance, and a histogram of acceleration values in each of the X, Y, and Z axes. In an exemplary histogram, there may be eight bins between a maximum acceleration value and a minimum acceleration value, and each bin may contain a certain number of acceleration values. It is contemplated that any suitable number of bins may be contained in the histogram. The number of acceleration values within a bin may be determined as a bin value for the bin. Thus, for each direction, movement model training unit 404 generates one average value, one variance, and eight bin values (i.e., 10 components in total) for each axis, and therefore 30 components may be generated for three axes. Similarly, movement model training unit 404 also generates 30 components in total based on the magnetic field values.
  • Movement model training unit 404 further respectively calculates the numbers of acceleration values in the X axis being greater than, equal to, and less than acceleration values in the Y axis, the numbers of acceleration values in the X axis being greater than, equal to, and less than acceleration values in the Z axis, and the numbers of acceleration values in the Y axis being greater than, equal to, and less than acceleration values in the Z axis. Thus, movement model training unit 404 generates three numbers for each axis, and nine components in total for the feature vector based on the acceleration values. Similarly, movement model training unit 404 respectively generates nine components based on the magnetic field values.
  • Movement model training unit 404 further respectively generates an average value, a variance, and a histogram (e.g., having 8 bins) of acceleration value differences between the X and Y axes, the X and Z axes, and the Y and Z axes. That is, movement model training unit 404 may generate 10 components for each pair of the X and Y axes, the X and Z axes, and the Y and Z axes, and 30 components in total based on the acceleration value differences. Similarly, movement model training unit 404 generates an average value, a variance, and a histogram of magnetic field value differences between the X and Y axes, the X and Z axes, and the Y and Z axes. That is, movement model training unit 404 may generate another 30 components in total based on magnetic field strength differences. Thus, movement model training unit 404 generates 60 components for the feature vector based on the acceleration value differences and magnetic field strength differences.
  • In total, as described above, a feature vector having 138 components may be generated by movement model training unit 404 for each window.
  • It is contemplated that, depending on the algorithm for processing the training motion data, more or less components may be generated by movement model training unit 404 for each window. And more motion data, other than the acceleration value and magnetic field strength, may be used for generating components of the feature vectors.
  • For the same window above, the corresponding trajectory of mobile device 102 may include a first position (x1, y1) when the window begins and a second position (x2, y2) when the window ends, wherein x1 and x2 indicate longitude values of the first and second positions, and y1 and y2 indicate latitude values of the first and second positions. Therefore, movement model training unit 404 may generate a transition vector V=(x1, y1)−(x2, y2), pointing from the first position to the second position, and the transition vector may be assigned as supervised signals for training the movement model.
  • Movement model training unit 404 may generate a plurality sets of feature vectors and supervised signals based the collected motion data and the corresponding trajectories.
  • Movement model training unit 404 may further train the movement model based on the plurality sets of feature vectors and supervised signals. The training process may be performed according to, for example, a Random Forest algorithm. In some embodiments, in the Random Forest algorithm, each random forest may include 50 random trees, the depth of each random tree is 25, a minimum number of samples at a leaf is 30, for example. The parameters (e.g., the number of random trees, the depth of each random tree, the minimum number of samples, or the like) for Random Forest algorithm may be adjusted during practice.
  • The trained movement model may be stored in memory 312. It is contemplated that, because the user may carry mobile device 102 in many ways, such as holding mobile device 102 in hands, putting mobile device 102 in a pocket, attaching mobile device 102 to an arm of the user, or the like, trajectory determination unit 304 may generate a movement model including a plurality of sub-models, and each of the sub-models corresponds to a place on a user where mobile device 102 is carried.
  • After the movement model has been trained, in the determining stage, trajectory determination unit 304 may determine a trajectory of mobile device 102 based on motion data acquired by mobile device 102 and the movement model. Consistent with embodiments of the disclosure, motion data acquisition unit 402 of trajectory determination unit 304 may further receive the motion data acquired by mobile device 102, in the determining stage. For example, motion data acquisition unit 402 may send out an instruction to mobile device 102 for collecting the motion data, upon a predetermined event. In one embodiment, upon a user requesting a taxi using, for example, the DiDi app, motion data acquisition unit 402 sends to mobile device 102 the instruction for collecting the motion data. It is contemplated that, when the user requests the taxi service, the user may be still in his/her office, and may start to walk to a pick-up position after the request has been confirmed. In this case, the motion data may be used for determining an exit of the architecture, as the user needs to walk out of the architecture through the gateway. In another embodiment, when a user finishes a trip by, for example, the DiDi app, motion data acquisition unit 402 sends to mobile device 102 the instruction for collecting the training motion data. It is contemplated that, after the user finishes the trip, it is possible that the user may walk into an architecture through the gateway. In this case, the motion data may be used for determining an entrance of the architecture.
  • It is contemplated that, when the movement model includes a plurality of sub-models, trajectory determination unit 304 may further select a sub-model based on the motion data, and determine the movement vectors using the sub-model based on the motion data.
  • Because the movement model is trained based on a feature vector and supervised signals within a data collection window, movement vector determination unit 404 of trajectory determination unit 304 may determine a movement vector in a data collection window using the movement model. Given a plurality of sets of feature vectors and supervised signals calculated from motion data, a plurality of movement vectors may be generated. As explained above, mobile device 102 may collect the training motion data and a corresponding trajectory at a predetermined frequency, therefore movement vector determination unit 404 may generate one movement vector periodically. For example, if the data collection occurs five time per second, the movement vector can be generated every 200 milliseconds (ms).
  • Then, trajectory synthesizing unit 406 of trajectory determination unit 304 may determine the trajectory of mobile device 102 by synthesizing the movement vectors. In one embodiment, the movement vectors may be connected sequentially to generate the trajectory. In another embodiment, the movement vectors may be assigned different weights. It is contemplated that, an actual movement of mobile device 102 is more likely to resemble a recently generated movement vector V0, as opposed to a movement vector generated a while ago. Thus, the movement vectors may be assigned different weights based on when the movement vectors are generated. For example, a currently generated movement vector V0 may be assigned with a weight of “1”, a movement vector V1 generated a period earlier than the currently generated movement vector may be assigned with a weight of “0.9”, a movement vector V2 generated a period earlier than movement vector V1 may be assigned with a weight of “0.8”, and a movement vector Vn generated a period earlier than movement vector Vn-1 may be assigned with a weight of 1-0.1×n. In some embodiments, n=9, and a weighted average vector may be generated by synthesizing the generated vectors V0-V9 based on the above weights, so as to further generate the trajectory.
  • It is contemplated that, the trajectory generated above is a synthesized vector, indicating a movement from a first end position (i.e., a start position) to a second end position (i.e., a terminal position).
  • With reference back to FIG. 3, end position acquisition unit 306 may acquire a first end position of the trajectory of mobile device 102. As discussed above, the trip information of vehicle 106 may include the identity of the user, which is associated with mobile device 102 of the user. Therefore, during the trip, positions of mobile device 102 may be identical to positions of vehicle 106. In a first example, when the user arrives at a destination point of a trip, the position of vehicle 106 may be assigned as the first end position, which is also the start position of the trajectory of mobile device 102. In a second example, after the user requests a vehicle service, when vehicle 106 picks up the user and starts a trip, the origin of the trip may be assigned as the first end position. That is, the first end position is an origin of the trip taken by a user carrying mobile device 102. As the user oftentimes requests the vehicle service within the architecture and leaves the architecture for the pick-up position (i.e., the origin of the trip) later, the origin of the trip is also a terminal position of a trajectory from the architecture to the pick-up position.
  • Furthermore, as the origin of the trip is oftentimes close to the architecture, the architecture may be identified based on the first end position.
  • It is contemplated that, the first end position in the first example is the start position of the trajectory, while the first end position in the second example, is the end position of the trajectory. Therefore, the first end position acquired by end position acquisition unit 306 can be either the start position or the end position of the trajectory.
  • Given the position of one end of the trajectory, the gateway may be positioned by locating the gateway on the trajectory.
  • Gateway-passing detection unit 308 may detect that mobile device 102 enters or exits the architecture. When mobile device 102 is detected entering or exiting the gateway, a position of the gateway may be determined correspondingly. When mobile device 102 enters or exits the architecture, barometric pressure, temperature, light intensity may change. And the WiFi signals and the base station signals received by mobile device 102 may also change. For example, when mobile device 102 enters an architecture, mobile device 102 may be able to receive WiFi signals of a WiFi access point disposed within the architecture. Therefore, gateway-passing detection unit 308 may determine a reference value based on changes in sensing signals acquired by mobile device 102, and the sensing signals may at least include barometric pressure, temperature, light intensity, Wireless Fidelity (WiFi) signals, base station signals, or the like. That is, the reference value for determining whether mobile device 102 enters or exits the architecture is generated based on a plurality of sensing signals, rather than merely one signal. In some embodiments, the reference value indicates the amplitude of the changes of the sensing signals. Gateway-passing detection unit 308 further compares the reference value with a threshold value. The threshold may be predetermined and stored in memory 312. Then, gateway-passing detection unit 308 determines that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
  • In some embodiments, the second end position of the trajectory of mobile device 102 may be determined upon entering or exiting the architecture. Upon the detection, gateway positioning unit 310 may then determine the second end position of the trajectory as the position of the gateway.
  • Therefore, system 200 may automatically position a gateway of an architecture based on a trajectory of a mobile device of a user and positions of a vehicle that is associated with a trip request of the user, and thus system 200 is efficient and cost-effective.
  • Another aspect of the disclosure provides a method for positioning a gateway of an architecture.
  • FIG. 6 is a flowchart of an exemplary process 600 for positioning a gateway of an architecture, according to some embodiments of the disclosure. For example, process 600 may be implemented by system 200, and process 600 may include steps S602-S608 as below.
  • In step S602, system 200 may determine a trajectory of a mobile device based on motion data acquired by the mobile device and a movement model. The motion data may be a magnetic field strength, a direction, a gravity value, an acceleration value, or the like generated during the movement of the mobile device. A plurality of sensors, including a barometric sensor, a temperature sensor, a light sensor, or the like, may be used to generate the motion data. The movement model may be generated using machine learning in a training stage. For example, system 200 may train the movement model based on training motion data and the corresponding trajectory of the mobile device. The training motion data is essentially similar as the motion data, and may be acquired similarly from the mobile device. The corresponding trajectory of the mobile device may be determined by any suitable methods, as long as it is sufficiently accurate for the training process. In some embodiments, the corresponding trajectory may be determined based on the GPS signals received by the mobile device. That is, in the training stage, a GPS positioning module is required to be turned on in the training stage. The process for training the movement model has been discussed above in connection with FIG. 4.
  • It is contemplated that, the movement model may include a plurality of sub-models, and each of the sub-models corresponds to a place on a user where the mobile device is carried.
  • Given the acquired motion data and the movement model, the trajectory of the mobile device may be generated even without receiving GPS signals. FIG. 7 is a flowchart of an exemplary process 700 for generating the trajectory of a mobile device, according to some embodiments of the disclosure. Process 700 may be also performed by system 200, and may include sub-steps S702-S706.
  • In sub-step S702, system 200 may receive the motion data acquired by the mobile device. In sub-step S704, system 200 may generate a plurality of movement vectors using a movement model based on the motion data. In sub-step S706, system 200 may determine the trajectory of the mobile device by synthesizing the movement vectors.
  • As discussed above, when the movement model includes a plurality of sub-models, system 200 may select a sub-model based on the motion data, and determine the movement vectors using the sub-model based on the motion data. For example, when a user puts the mobile device in the pocket, system 200 may first determine that the mobile device is kept in the pocket, and determine the movement vector using the sub-model for pocket. Thus, system 200 may determine the trajectory of the mobile device.
  • In step S604, system 200 may acquire a first end position of the trajectory of the mobile device, so that any position of the trajectory can be located based on the first end position and the trajectory itself in later steps.
  • Consistent with embodiments of the disclosure, system 200 uses positions of a vehicle based on a trip request associated with the vehicle and the mobile device, so as to acquire the first end position.
  • In a first example, when a user finishes a trip and leaves the vehicle, the position of the vehicle at the destination of the trip may be assigned as the first end position, which is the start position of a trajectory of the mobile device from the vehicle to the architecture. In a second example, after the user requests a vehicle service, when the vehicle picks up the user and starts a trip, an origin of the trip may be assigned as the first end position. As the user oftentimes requests the vehicle service within the architecture and leaves the architecture for the pick-up position later, the origin of the trip is also an end position of a trajectory from the architecture to the pick-up position.
  • Furthermore, as the origin of the trip is oftentimes close to the building, the architecture may be identified based on the first end position.
  • It is contemplated that, the first end position in the first example is the start position of the trajectory, while the first end position in the second example is the terminal position of the trajectory. Therefore, the first end position acquired in step S604 can be either the start position or the terminal position of the trajectory.
  • In step S606, system 200 may detect that the mobile device enters or exits the architecture. When the mobile device enters or exits the architecture, barometric pressure, temperature, light intensity may change. And the WiFi signals and the base station signals received by mobile device 102 also may change. For example, when mobile device 102 enters an architecture, mobile device 102 may be able to receive WiFi signals of a WiFi access point disposed within the architecture. Therefore, gateway-passing detection unit 308 may determine a reference value based on sensing signals acquired by the mobile device, and the sensing signals may include at least one of barometric pressure, temperature, light intensity, Wireless Fidelity (WiFi) signals, base station signals, or the like. That is, the reference value for determining whether the mobile device enters or exits the architecture is generated based on a plurality of sensing signals, rather than merely one signal. In some embodiments, the reference value indicates the amplitude of the changes of the sensing signals. System 200 further compares the reference value with a threshold value. The threshold may be predetermined and stored in a memory. Then, system 200 determines that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
  • In step S608, system 200 may determine a second end position of the trajectory upon the detection as the position of the gateway. Because system 200 detects the mobile device entering or exiting the architecture, a position on the trajectory upon detection may be determined as the second end position of the trajectory. The second end position of the trajectory may be further assigned as the position of the gateway.
  • Process 600 may automatically position a gateway of an architecture based on a trajectory of a mobile device of a user and positions of a vehicle that is associated with a trip request of the user, and thus process 600 is efficient and cost-effective.
  • Another aspect of the disclosure is directed to a non-transitory computer-readable medium storing instructions which, when executed, cause one or more processors to perform the methods, as discussed above. The computer-readable medium may include volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other types of computer-readable medium or computer-readable storage devices. For example, the computer-readable medium may be the storage device or the memory module having the computer instructions stored thereon, as disclosed. In some embodiments, the computer-readable medium may be a disc or a flash drive having the computer instructions stored thereon.
  • It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed positioning system and related methods. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed system and related methods.
  • It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A computer-implemented method for positioning a gateway of an architecture, comprising:
acquiring motion data from a mobile device when the mobile device is being moved, wherein the mobile device comprises at least one motion sensor configured to detect the motion data that is being transmitted to a server comprising at least one processor;
determining a trajectory of the mobile device based on the motion data and a movement model;
acquiring a first end position of the trajectory of the mobile device;
detecting that the mobile device enters or exits the architecture; and
determining the position of the gateway of the architecture by identifying a second end position of the trajectory upon the detection.
2. The method of claim 1, further comprising
acquiring, from the mobile device, positioning information of an outdoor trip taken by a user associated with the mobile device; and
identifying a destination of the outdoor trip as the first end position, wherein the mobile device subsequently enters the architecture.
3. The method of claim 1, further comprising:
acquiring, from the mobile device, positioning information of a trip taken by a user associated with the mobile device;
identifying an origin of the trip as the first end position,
wherein the mobile device exits the architecture before the trip.
4. The method of claim 1, further comprising identifying the architecture based on the first end position.
5. The method of claim 1, wherein detecting that the mobile device enters or exits the architecture further includes:
acquiring sensing signals with the mobile device, wherein the mobile device further comprises at least one signal receiver that receives the sensing signals;
transmitting the sensing signals from the mobile device to the server;
determining a reference value based on the sensing signals acquired by the mobile device;
comparing the reference value with a threshold value; and
determining that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
6. The method of claim 5, wherein the sensing signals include at least one of barometric pressure, temperature, light intensity, Wireless Fidelity (WiFi) signals, or base station signals.
7. The method of claim 1, further comprising generating the movement model by:
collecting training motion data and a mobile-device trajectory corresponding to the training motion data;
generating feature vectors and a supervised signal based on the training motion data and the mobile-device trajectory; and
training the movement model based on the feature vectors and the supervised signal.
8. The method of claim 7, wherein collecting the training motion data and the mobile-device trajectory comprises:
sampling the training motion data at a given frequency within a given time window; and
determining the mobile-device trajectory within the given time window.
9. The method of claim 7, wherein the training motion data comprises at least one of a magnetic field strength, a direction, a gravity value, or an acceleration value of at least one mobile device sampled within the given time window.
10. The method of claim 9, wherein the feature vectors are associated with at least one of an average value, a variance, and a histogram of acceleration values of the at least one mobile device in each of X, Y, and Z axes in a Cartesian coordinate system.
11. A system for positioning a gateway of an architecture, comprising:
a server comprising at least one processor, a memory, and a server communication interface that receives motion data acquired by a mobile device, the memory including a movement model, wherein the at least one processor is configured to:
acquire a trajectory of the mobile device based on the motion data acquired by the mobile device and the movement model;
acquire a first end position of the trajectory of the mobile device;
detect that the mobile device enters or exits the architecture; and
determine the position of the gateway of the architecture by identifying a second end position of the trajectory upon the detection.
12. The system of claim 11, wherein to acquire the first end position of the trajectory of the mobile device, the at least one processor is further configured to:
acquire, from the mobile device, positioning information of an outdoor trip taken by a user associated with the mobile device; and
identify a destination of the outdoor trip as the first end position, wherein the mobile device subsequently enters the architecture.
13. The system of claim 11, wherein to acquire the first end position of the trajectory of the mobile device, the at least one processor is further configured to:
obtain, by the mobile device, positioning information of a trip taken by a user associated with the mobile device; and
identify an origin of the trip as the first end position,
wherein the mobile device exits the architecture before the trip.
14. The system of claim 11, wherein the at least one processor is further configured to identify the architecture based on the first end position.
15. The system of claim 11, wherein to detect that the mobile device enters or exits the architecture, the at least one processor is further configured to:
acquire sensing signals with the mobile device, wherein the mobile device further comprises at least one signal receiver that receives the sensing signals;
determine a reference value based on the sensing signals acquired by the mobile device;
compare the reference value with a threshold value; and
determine that the mobile device enters or exits the architecture when the reference value is greater than the threshold value.
16. The system of claim 11, wherein the at least one processor is further configured to generate the movement model by:
collect training motion data and a mobile-device trajectory corresponding to the training motion data;
generate feature vectors and a supervised signal based on the training motion data and the mobile-device trajectory; and
train the movement model based on the feature vectors and the supervised signal.
17. The system of claim 16, wherein to collect the training motion data and the mobile device trajectory, the at least one processor is further configured to:
sample the training motion data at a given frequency within a given time window; and
determine the mobile-device trajectory within the given time window.
18. The system of claim 16, wherein the training motion data comprises at least one of a magnetic field strength, a direction, a gravity value, or an acceleration value of at least one mobile device sampled within the given time window.
19. The system of claim 18, wherein the feature vectors are associated with at least one of an average value, a variance, and a histogram of acceleration values of the at least one mobile device in each of X, Y, and Z axes in a Cartesian coordinate system.
20. A non-transitory computer-readable medium that stores a set of instructions that, when executed by at least one processor of a positioning system, causes the positioning system to perform a method for positioning a gateway of an architecture, the method comprising:
acquiring motion data with a mobile device when the mobile device is being moved, wherein the mobile device comprises at least one motion sensor configured to detect the motion data that is being transmitted to a server comprising at least one processor;
determining a trajectory of the mobile device based on the motion data acquired by the mobile device and a movement model;
acquiring a first end position of the trajectory of the mobile device;
detecting that the mobile device enters or exits an architecture; and
determining the position of the gate way of the architecture by identifying a second end position of the trajectory upon the detection.
US16/795,669 2017-06-20 2020-02-20 System and method for positioning a gateway of an architecture Abandoned US20200196268A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/795,669 US20200196268A1 (en) 2017-06-20 2020-02-20 System and method for positioning a gateway of an architecture

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2017/089229 WO2018232607A1 (en) 2017-06-20 2017-06-20 System and method for positioning a gateway of an architecture
US15/978,653 US10609671B2 (en) 2017-06-20 2018-05-14 System and method for positioning a gateway of an architecture
US16/795,669 US20200196268A1 (en) 2017-06-20 2020-02-20 System and method for positioning a gateway of an architecture

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/978,653 Continuation US10609671B2 (en) 2017-06-20 2018-05-14 System and method for positioning a gateway of an architecture

Publications (1)

Publication Number Publication Date
US20200196268A1 true US20200196268A1 (en) 2020-06-18

Family

ID=64657845

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/978,653 Active US10609671B2 (en) 2017-06-20 2018-05-14 System and method for positioning a gateway of an architecture
US16/795,669 Abandoned US20200196268A1 (en) 2017-06-20 2020-02-20 System and method for positioning a gateway of an architecture

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/978,653 Active US10609671B2 (en) 2017-06-20 2018-05-14 System and method for positioning a gateway of an architecture

Country Status (3)

Country Link
US (2) US10609671B2 (en)
CN (1) CN110741271B (en)
WO (1) WO2018232607A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116601977A (en) * 2020-12-14 2023-08-15 西门子股份公司 Method for determining the position of a user device in an industrial installation

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298745B2 (en) * 2017-08-29 2019-05-21 Ralph Peter Guisti Method and apparatus for modifying interaction with a mobile-device
CN111654825B (en) * 2020-06-02 2022-03-25 Tcl通讯(宁波)有限公司 Checkpoint passing management method, device and storage medium
CN112859125B (en) * 2021-01-07 2022-03-11 腾讯科技(深圳)有限公司 Entrance and exit position detection method, navigation method, device, equipment and storage medium

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595465A (en) * 2004-07-02 2005-03-16 上海埃卡信息技术有限公司 Method for searching empty car group of taxi scheduling system
US8706137B2 (en) * 2011-08-02 2014-04-22 Qualcomm Incorporated Likelihood of mobile device portal transition
CN104251700A (en) * 2013-06-27 2014-12-31 珠海世纪鼎利通信科技股份有限公司 Method and equipment for automatically describing indoor position
CN104422442B (en) * 2013-09-04 2017-11-14 王方淇 A kind of indoor navigation method and system
CN103557862A (en) * 2013-10-29 2014-02-05 南京邮电大学 Detection method for movement track of mobile terminal
AU2015276998A1 (en) * 2014-06-18 2017-01-12 Sensity Systems Inc. Application framework for interactive light sensor networks
JP6413404B2 (en) * 2014-07-07 2018-10-31 カシオ計算機株式会社 Electronic device, position estimation method and program
US9541404B2 (en) * 2014-08-29 2017-01-10 Samsung Electronics Co., Ltd. System for determining the location of entrances and areas of interest
US9706364B2 (en) * 2014-09-16 2017-07-11 Microsoft Technology Licensing, Llc Accounting for indoor-outdoor transitions during position determination
CN105007566B (en) * 2014-12-31 2018-12-25 泰斗微电子科技有限公司 A kind of indoor and outdoor positioning fast switch over method and system
MY181403A (en) 2015-01-20 2020-12-21 Beijing Didi Infinity Technology & Dev Co Ltd Systems and method for providing information for an on-demand service
CN104580499B (en) * 2015-01-23 2018-08-21 北京嘀嘀无限科技发展有限公司 Method and apparatus for accurate labeling position
CN105607103A (en) * 2015-12-23 2016-05-25 木牙(天津)科技有限公司 Children location real-time positioning system and method
CN106705968B (en) * 2016-12-09 2020-11-27 北京工业大学 Indoor inertial navigation algorithm based on attitude identification and step size model
US10768196B2 (en) * 2016-12-19 2020-09-08 Huami Inc. Determine wearing position of a wearable device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116601977A (en) * 2020-12-14 2023-08-15 西门子股份公司 Method for determining the position of a user device in an industrial installation

Also Published As

Publication number Publication date
WO2018232607A1 (en) 2018-12-27
US10609671B2 (en) 2020-03-31
US20180368095A1 (en) 2018-12-20
CN110741271B (en) 2023-08-22
CN110741271A (en) 2020-01-31

Similar Documents

Publication Publication Date Title
US20200196268A1 (en) System and method for positioning a gateway of an architecture
EP3351040B1 (en) Augmenting indoor-outdoor detection using side information
CN105737833B (en) indoor navigation method and device
CN109298389B (en) Indoor pedestrian combination pose estimation method based on multi-particle swarm optimization
KR101728123B1 (en) Simultaneous Localization and Mapping by Using Earth's Magnetic Fields
US10573105B2 (en) Method and system for mobile device localization-based access
US10670728B2 (en) Method and system for crowd-sourced trusted-GPS region for mobile device localization
CN106028280B (en) A kind of localization method, device and children's wrist-watch
CN106461786A (en) Indoor global positioning system
CN111698774A (en) Indoor positioning method and device based on multi-source information fusion
US20160337978A1 (en) Power delay profile based indoor outdoor detection
CN111174778A (en) Building entrance determining method and device based on pedestrian dead reckoning
CA3043731A1 (en) Method and system for mobile device localization region in trusted-gps region
US20170048662A1 (en) Device with position determination means, server apparatus for communicating with that device, method for receiving service in accordance with position, and program
US11692829B2 (en) System and method for determining a trajectory of a subject using motion data
CN108848464B (en) Indoor positioning server and indoor positioning method
US11085992B2 (en) System and method for positioning a terminal device
JP7246037B2 (en) Data analysis device, data analysis system, data analysis method and program
CN109407123A (en) A kind of information processing method, terminal and computer readable storage medium
CN111751850B (en) Building entrance detection method based on machine learning and mobile terminal
CN113949734B (en) Positioning method, device, equipment, medium and program product in subway scene
JP7307139B2 (en) Determining whether the tracking device is within the area of interest based on at least one set of radio signal observations acquired by the tracking device
CN115150740B (en) Indoor fingerprint acquisition method and device, electronic equipment and storage medium
CN111751861B (en) Building entrance detection method and mobile terminal
CN108957427A (en) Localization method, device and computer readable storage medium

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION