Indoor positioning method, indoor navigation method, device and equipment
By integrating a unified method and low-power Bluetooth technology for multiple indoor scenarios, the problem of independent separation between different scenarios in the existing technology is solved, high-precision and scalable indoor positioning is achieved, and user experience and system maintainability are improved.
Patent Information
- Application Number
- CN202411599913.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-03-11
AI Technical Summary
The existing indoor positioning technology is independently separated from different scenarios, resulting in high system development and maintenance costs, poor user experience, and lack of scalability, making it difficult to adapt to the needs of different physical environments.
By integrating a unified method of multiple indoor scenarios, high-precision indoor positioning is achieved using low-power Bluetooth technology, and combining the openness and richness of user handheld methods and network technology, it provides an indoor positioning method that is highly scalable, easy to deploy and maintain.
High-precision positioning in multiple indoor scenarios is achieved, reducing system development and maintenance costs, improving user experience, and enhancing the scalability of the positioning system.
Smart Images

Figure CN119594956A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present specification relate to the field of indoor positioning technology, and more particularly to an indoor positioning method, an indoor navigation method, a device and equipment. Background Art
[0002] With the continuous development and maturity of indoor positioning technology, there are many mature indoor positioning solutions that use signals other than GPS signals on the market. Indoor positioning functions have been realized in many shopping malls and parking lots and more and more scenarios. However, the indoor positioning implementation technologies and system functions in different scenarios are independent and separated from each other, and there are very big differences. At the same time, it also greatly increases the development and maintenance costs of the system. Different basic equipment and a specific set of systems are required to be used in different scenarios, and the user experience is also poor.
[0003] At present, most of the indoor positioning technologies on the market are applied to a single scenario, such as only for navigation in shopping malls or only for finding cars in parking lots. The system functions are scattered and lack integration. At the same time, these systems are often not scalable because they are difficult to adapt to the needs of different physical environments due to the different basic equipment and positioning technology solutions used. Summary of the invention
[0004] In order to solve the problems existing in the prior art, the embodiments of this specification provide an indoor positioning method, an indoor navigation method, an apparatus and equipment, which integrate a variety of indoor scenes, solve the positioning problems in multiple indoor scenes through a unified method, and use low-power Bluetooth technology to achieve high-precision indoor positioning. Combined with the openness and richness of user handheld means and network technology, an indoor positioning method with high scalability, easy deployment and maintenance is realized.
[0005] The specific technical solutions of the embodiments of this specification are as follows:
[0006] On the one hand, an embodiment of this specification provides an indoor positioning method, the method comprising:
[0007] Receive Bluetooth data and IMU data periodically reported by a user's mobile terminal, wherein the Bluetooth data is data obtained after a Bluetooth module of the mobile terminal scans a plurality of Bluetooth beacons pre-deployed in an indoor scene where the mobile terminal is located, and the IMU data is data collected by an acceleration sensor of the mobile terminal;
[0008] Determine the target floor where the mobile terminal is located each time it reports according to the Bluetooth data reported each time in the cycle;
[0009] Calculate the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain a first positioning result of the mobile terminal corresponding to the period;
[0010] Calculate the second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period;
[0011] The final positioning result of the mobile terminal corresponding to the period is calculated according to the first positioning result and the second positioning result.
[0012] Furthermore, the Bluetooth data includes Bluetooth signal strength of each Bluetooth beacon obtained after the Bluetooth module scans the multiple Bluetooth beacons.
[0013] Further, determining the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle further includes:
[0014] For each of the Bluetooth data reported in the period, determine a Bluetooth beacon with the strongest Bluetooth signal strength in the Bluetooth data as a target Bluetooth beacon;
[0015] The floor corresponding to the target Bluetooth beacon is determined from a pre-constructed correspondence table between Bluetooth beacons and floors as the target floor.
[0016] Further, calculating the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain the first positioning result of the mobile terminal corresponding to the period further includes:
[0017] For each reported Bluetooth data, the Bluetooth data is calculated according to the positioning model corresponding to the target floor to obtain the position of the mobile terminal in the corresponding target floor when the Bluetooth data is reported each time;
[0018] According to the position corresponding to the Bluetooth data reported each time in the period, a first positioning result corresponding to the period is calculated.
[0019] Furthermore, the step of training the positioning model includes:
[0020] Collecting the Bluetooth data at multiple actual locations on the floor corresponding to the trained positioning model as a training data set;
[0021] Inputting the training data set into the positioning model for calculation to obtain the predicted position corresponding to each Bluetooth data in the training data set;
[0022] Determining whether the positioning model converges based on the deviation between the predicted position and the corresponding actual position;
[0023] If it has not converged, adjusting the parameters of the positioning model, and repeatedly executing the step of inputting the training data set into the positioning model for calculation to obtain the predicted position corresponding to each Bluetooth data in the training data set;
[0024] If converged, the trained positioning model is obtained.
[0025] Further, according to the position corresponding to the Bluetooth data reported each time in the period, calculating the first positioning result corresponding to the period further includes:
[0026] The positions corresponding to the Bluetooth data corresponding to all reports in the period are fitted according to the reporting time sequence of the Bluetooth data to obtain a first positioning result corresponding to the period.
[0027] Further, determining the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle further includes:
[0028] Determine the floor corresponding to the Bluetooth data received this time;
[0029] Determine whether the floor corresponding to the Bluetooth data received this time is different from the target floor corresponding to the Bluetooth data received last time;
[0030] If yes, then calculate the position of the mobile terminal corresponding to the Bluetooth data received this time, and determine whether the mobile terminal is located in the cross-floor area of the floor corresponding to the Bluetooth data received this time according to the position corresponding to the Bluetooth data received this time;
[0031] If yes, the floor corresponding to the Bluetooth data received this time is taken as the target floor;
[0032] If not, the target floor corresponding to the Bluetooth data received last time is used as the target floor corresponding to the Bluetooth data received this time.
[0033] Furthermore, the first positioning result includes at least one of a first distance, a first speed and a first direction in which the mobile terminal moves in the period.
[0034] Further, calculating the second positioning result corresponding to the mobile terminal in the period according to the IMU data reported each time in the period further includes:
[0035] At least one of a second distance, a second speed and a second direction of movement of the mobile terminal in the cycle is calculated based on the IMU data reported each time in the cycle as the second positioning result.
[0036] Further, calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result further includes:
[0037] A weighted sum is performed on the first positioning result and the second positioning result to obtain the final positioning result.
[0038] Furthermore, after obtaining the final positioning result, the method further includes:
[0039] Determining whether the final positioning result exceeds the range of one or more floors corresponding to the period;
[0040] If yes, the final positioning result is discarded.
[0041] Further, after calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes:
[0042] The final positioning result is sent to the mobile terminal so that the mobile terminal can display the final positioning result to the user.
[0043] Furthermore, the method further comprises:
[0044] The target floor is sent to the mobile terminal so that the mobile terminal can display the electronic map corresponding to the target floor to the user.
[0045] Furthermore, the mobile terminal presenting the final positioning result to the user further comprises:
[0046] The mobile terminal integrates the final positioning result into the electronic map.
[0047] Furthermore, the electronic map includes a plurality of predetermined adsorption coordinate points;
[0048] The mobile terminal integrating the final positioning result into the electronic map further comprises:
[0049] After performing proportional processing on the electronic map and the final positioning result, determining, among the proportionally processed adsorption coordinate points, an adsorption coordinate point closest to a position in the proportionally processed final positioning result as a real-time positioning point of the final positioning result;
[0050] The real-time positioning point is displayed to the user in the electronic map.
[0051] Further, after calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes:
[0052] Determine whether the position corresponding to the final positioning result is located in the subspace corresponding to the target floor;
[0053] If so, when the Bluetooth data and IMU data reported by the mobile terminal are subsequently received, the Bluetooth data corresponding to the Bluetooth beacon deployed in the subspace is filtered out from the Bluetooth data, and the filtered Bluetooth data is calculated according to the pre-trained sub-positioning model corresponding to the subspace to obtain the first positioning result of the mobile terminal corresponding to the period.
[0054] Based on the same inventive concept, an embodiment of this specification also provides an indoor navigation method, the method comprising:
[0055] Receive the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically;
[0056] The Bluetooth data and the IMU data are calculated according to the above-mentioned indoor positioning method to obtain a final positioning result;
[0057] Generate a navigation route according to the final positioning result, the navigation target position and the indoor structure of the target floor corresponding to the final positioning result;
[0058] The navigation route is sent to the mobile terminal so that the mobile terminal displays the navigation route to the user.
[0059] Further, the navigation target position includes a navigation target point and a navigation target floor;
[0060] Generating a navigation route according to the final positioning result, the navigation target position, and the indoor structure of the target floor corresponding to the final positioning result further includes:
[0061] The navigation route is generated according to the final positioning result, the navigation target point, the navigation target floor, the target floor corresponding to the final positioning result, the indoor structure of the target floor, and the cross-layer area structure between the navigation target floor and the target floor.
[0062] Based on the same inventive concept, the embodiment of this specification also provides an indoor positioning device, the device comprising:
[0063] A data receiving unit, configured to receive Bluetooth data and IMU data periodically reported by a user's mobile terminal, wherein the Bluetooth data is data obtained after a Bluetooth module of the mobile terminal scans a plurality of Bluetooth beacons pre-deployed in an indoor scene where the mobile terminal is located, and the IMU data is data collected by an acceleration sensor of the mobile terminal;
[0064] a target floor determination unit, configured to determine the target floor at which the mobile terminal is located each time it reports according to the Bluetooth data reported each time in the cycle;
[0065] A first positioning result calculation unit, configured to calculate corresponding Bluetooth data according to a pre-trained positioning model corresponding to the target floor, to obtain a first positioning result of the mobile terminal corresponding to the period;
[0066] A second positioning result calculation unit, used to calculate the second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period;
[0067] The final positioning result calculation unit is used to calculate the final positioning result corresponding to the mobile terminal in the period according to the first positioning result and the second positioning result.
[0068] Based on the same inventive concept, an embodiment of this specification further provides an indoor navigation device, the device comprising:
[0069] A data receiving unit, used to receive the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically;
[0070] A positioning unit, used to calculate the Bluetooth data and the IMU data according to the above-mentioned indoor positioning method to obtain a final positioning result;
[0071] A navigation route generating unit, configured to generate a navigation route according to the final positioning result, the navigation target position and the indoor structure of the target floor corresponding to the final positioning result;
[0072] The navigation route sending unit is used to send the navigation route to the mobile terminal so that the mobile terminal can display the navigation route to the user.
[0073] On the other hand, an embodiment of the present specification further provides a computer device, including a memory, a processor, and a computer program stored in the memory, and the processor implements the above method when executing the computer program.
[0074] On the other hand, an embodiment of the present specification further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program implements the above method when executed by a processor.
[0075] Finally, the embodiments of this specification also provide a computer program product, wherein the computer program product includes a computer program, and the computer program implements the above method when executed by a processor.
[0076] Using the embodiment of this specification, the Bluetooth data and IMU data reported periodically by the mobile terminal are received, and then the target floor at each time of reporting is determined according to the Bluetooth data reported each time in the cycle, so as to calculate the corresponding Bluetooth data according to the positioning model corresponding to the target floor, and obtain the first positioning result corresponding to the cycle, and at the same time calculate the second positioning result corresponding to the cycle according to the IMU data reported each time in the cycle, and finally the first positioning result and the second positioning result are fused and calculated to obtain the final positioning result corresponding to the cycle. In the embodiment of this specification, the mobile terminal adopts the periodic reporting method, which can not only calculate the positioning result at each time point, but also calculate the positioning result corresponding to the continuous time range, realizing real-time positioning; and the positioning model of each floor can also be set. When calculating the positioning, the target floor is first determined, so as to realize the unified positioning of different scenes on multiple floors, and improve the scalability of positioning. In addition, the development and rich functions of the user's mobile terminal are fully utilized to improve the convenience and user experience of the user in the indoor positioning and navigation process. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0078] Figure 1 The figure is a schematic diagram of a flow chart of an indoor positioning method in an embodiment of this specification;
[0079] Figure 2 The figure is a flow chart of determining the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle in an embodiment of the present specification;
[0080] Figure 3 The figure shows a flow chart of calculating the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor in an embodiment of the present specification to obtain the first positioning result corresponding to the mobile terminal in the period;
[0081] Figure 4 The figure is a schematic diagram of the process of training the positioning model in the embodiment of this specification;
[0082] Figure 5 The figure is a schematic diagram of a process for determining whether the final positioning result exceeds a predetermined range in an embodiment of the present specification;
[0083] Figure 6The figure shows the processing flow of the subspace in the embodiment of this specification;
[0084] Figure 7 The figure is a schematic diagram of the process of the indoor navigation method in the embodiment of this specification;
[0085] Figure 8 The figure shows a structural diagram of an indoor positioning and navigation system provided in an embodiment of this specification;
[0086] Fig. 9 The figure shows a structural diagram of a parking lot reverse car search system solution provided in an embodiment of this specification;
[0087] Fig.10 The figure shows the structure diagram of the shopping marketing system provided by the embodiment of this specification;
[0088] Fig.11 The figure shows the structure diagram of the employee management system solution provided by the embodiment of this specification;
[0089] Fig.12 The figure shows the structure diagram of the smart employment system solution provided in the embodiment of this specification;
[0090] Fig.13 The figure shows a schematic diagram of the structure of an indoor positioning device in an embodiment of this specification;
[0091] Fig.14 The figure shows a schematic diagram of the structure of an indoor navigation device in an embodiment of this specification;
[0092] Fig.15 The figure is a schematic diagram of the structure of a computer device in an embodiment of the present specification.
[0093]
Description of reference numerals
[0094] 1301, data receiving unit;
[0095] 1302. Target floor determination unit;
[0096] 1303, a first positioning result calculation unit;
[0097] 1304. A second positioning result calculation unit;
[0098] 1305, final positioning result calculation unit;
[0099] 1401, data receiving unit;
[0100] 1402, positioning unit;
[0101] 1403. Navigation route generating unit;
[0102] 1404, navigation line sending unit;
[0103] 1502. Computer equipment;
[0104] 1504. Processor;
[0105] 1506. Memory;
[0106] 1508, driving mechanism;
[0107] 1510, input / output module;
[0108] 1512. Input devices;
[0109] 1514. Output device;
[0110] 1516. Presentation equipment;
[0111] 1518. Graphical user interface;
[0112] 1520, network interface;
[0113] 1522. Communication link;
[0114] 1524. Communication bus. DETAILED DESCRIPTION
[0115] The following will be combined with the drawings in the embodiments of this specification to clearly and completely describe the technical solutions in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the embodiments of this specification.
[0116] It should be noted that the terms "first", "second", etc. in the description and claims of the embodiments of this specification and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the embodiments of this specification described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0117] It should be noted that the acquisition, storage, use, and processing of data in the technical solutions of the embodiments of this specification comply with the relevant provisions of national laws and regulations.
[0118] It should be noted that in the embodiments of this specification, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of this application, but it does not mean that the applicant has or will necessarily use the solution.
[0119] In view of the problems existing in the prior art, the embodiments of this specification provide an indoor positioning method. Figure 1 The figure shows a flow chart of the indoor positioning method in the embodiment of this specification. The figure describes the process of indoor positioning through the user's mobile terminal. The order of steps listed in the embodiment is only one way of executing the order of many steps and does not represent the only execution order. When the system or device product is executed in practice, it can be executed in the order of the method shown in the embodiment or the accompanying drawings or in parallel.
[0120] Specific as Figure 1 As shown, the method may be executed by a positioning server, and the method may include:
[0121] Step 101: receiving Bluetooth data and IMU data periodically reported by a user's mobile terminal, wherein the Bluetooth data is data obtained after a Bluetooth module of the mobile terminal scans a plurality of Bluetooth beacons pre-deployed in an indoor scene where the mobile terminal is located, and the IMU data is data collected by an acceleration sensor of the mobile terminal;
[0122] Step 102: determining the target floor where the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle;
[0123] Step 103: Calculate the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain a first positioning result of the mobile terminal corresponding to the period;
[0124] Step 104: Calculating a second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period;
[0125] Step 105: Calculate the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result.
[0126] Using the embodiment of this specification, the Bluetooth data and IMU data reported periodically by the mobile terminal are received, and then the target floor at each time of reporting is determined according to the Bluetooth data reported each time in the cycle, so as to calculate the corresponding Bluetooth data according to the positioning model corresponding to the target floor, and obtain the first positioning result corresponding to the cycle, and at the same time calculate the second positioning result corresponding to the cycle according to the IMU data reported each time in the cycle, and finally the first positioning result and the second positioning result are fused and calculated to obtain the final positioning result corresponding to the cycle. In the embodiment of this specification, the mobile terminal adopts the periodic reporting method, which can not only calculate the positioning result at each time point, but also calculate the positioning result corresponding to the continuous time range, realizing real-time positioning; and the positioning model of each floor can also be set. When calculating the positioning, the target floor is first determined, so as to realize the unified positioning of different scenes on multiple floors, and improve the scalability of positioning. In addition, the development and rich functions of the user's mobile terminal are fully utilized to improve the convenience and user experience of the user in the indoor positioning and navigation process.
[0127] In the embodiment of the present specification, the mobile terminal may be a smart phone, and an indoor positioning APP is pre-installed in the smart phone or an indoor positioning applet is started in the mobile phone. The indoor positioning APP or applet is used to periodically collect Bluetooth data and IMU data, and report the Bluetooth data and IMU data to the positioning server, and execute in the positioning server Figure 1 In the method shown, after the positioning server calculates the final positioning result, it sends the final positioning result to the indoor positioning APP or applet in the mobile phone. At the same time, the indoor positioning APP or applet displays the indoor electronic map, and displays the final positioning result in the electronic map.
[0128] In the embodiments of this specification, the indoor positioning server provides a 2.5D electronic map based on JavaScript. Whether it is a spacious and open scenic area or a pocket-sized office, it can quickly and accurately render complex indoor terrain maps, thereby generating a silky smooth 2.5D electronic map that supports multi-terminal rendering. At the same time, it is also the basic data for walking and driving route planning and navigation derivative services, supporting shopping mall store display, store search, real-time positioning point display, real-time navigation display, etc. For frequently changing indoor layout features, there is also a map editor function that can be easily maintained with one click.
[0129] In the embodiments of this specification, several Bluetooth beacons are first deployed in the area to be positioned so that the Bluetooth signal can completely cover the entire positioning area. At different locations in the positioning area, the RSS of all Bluetooth beacons constitute different characteristic values. These characteristics are called fingerprints in the field of indoor positioning, which means the unique signal performance of each location. Multiple signal collection points are set up in the positioning area, and mobile devices are used to collect the Bluetooth signal performance at the sampling point location, that is, to collect the Bluetooth signal strength fingerprint of the location.
[0130] Therefore, the Bluetooth data in the embodiment of this specification includes the Bluetooth signal strength of each Bluetooth beacon obtained after the Bluetooth module scans the multiple Bluetooth beacons.
[0131] According to the characteristic that the strength of Bluetooth signals decreases as the distance increases, it can be assumed that when a user uses positioning services, the beacon corresponding to the strongest Bluetooth RSS is the beacon closest to the user, and the floor where the beacon is located can be approximately determined as the floor where the user is located. Specifically, according to an embodiment of the present specification, Figure 2 As shown, determining the target floor where the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle further includes:
[0132] Step 201: for each of the Bluetooth data reported in the cycle, determine the Bluetooth beacon with the strongest Bluetooth signal strength in the Bluetooth data as the target Bluetooth beacon;
[0133] Step 202: Determine the floor corresponding to the target Bluetooth beacon from a pre-constructed correspondence table between Bluetooth beacons and floors as the target floor.
[0134] In the embodiment of the present specification, the closer the mobile terminal is to a Bluetooth beacon, the stronger the Bluetooth signal strength of the Bluetooth beacon in the Bluetooth data. Therefore, for each Bluetooth data reported in the cycle, the Bluetooth beacon with the strongest Bluetooth signal strength in the Bluetooth data is determined as the target Bluetooth beacon. Therefore, the floor where the target Bluetooth beacon is located is also the target floor.
[0135] Then calculate the first positioning result, specifically, Figure 3 As shown, calculating the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain the first positioning result of the mobile terminal corresponding to the period further includes:
[0136] Step 301: for each reported Bluetooth data, the Bluetooth data is calculated according to the positioning model corresponding to the target floor to obtain the position of the mobile terminal in the corresponding target floor when the Bluetooth data is reported each time;
[0137] Step 302: Calculate a first positioning result corresponding to the period according to the position corresponding to the Bluetooth data reported each time in the period.
[0138] In the embodiment of this specification, the positioning model corresponding to the target floor is pre-trained, and the function of the positioning model is to calculate the position of the mobile terminal in the target floor when reporting the Bluetooth data based on the input Bluetooth data (that is, the Bluetooth signal strength including multiple Bluetooth beacons).
[0139] The positioning model corresponding to each floor is different. This is because the number and location of Bluetooth beacons deployed on each floor are different. Therefore, the positioning model for each floor needs to be trained separately.
[0140] After calculating the position of the mobile terminal each time the Bluetooth data is reported in the cycle, the first positioning result corresponding to the cycle can be calculated according to the position of the mobile terminal each time the Bluetooth data is reported.
[0141] It should be noted that the cycle in the embodiments of this specification can be set according to actual needs. It can be to report the Bluetooth data and IMU data for a predetermined number of times in sequence, and then calculate the final positioning result corresponding to the cycle based on the Bluetooth data and IMU data reported for these times. The predetermined number of times can also be 1 time, which can be understood as the mobile terminal collecting Bluetooth data and IMU data in real time and reporting them in real time, and the positioning server performing real-time calculations, but when calculating the final positioning result corresponding to this report, it is necessary to continuously propagate backward iteratively based on the final positioning results of the previous times.
[0142] In the embodiment of the present specification, the first positioning result may include at least one of a first distance, a first speed and a first direction of movement of the mobile terminal in the cycle in addition to the position corresponding to each time in the cycle.
[0143] Specifically, according to the position corresponding to the Bluetooth data reported each time in the period, calculating the first positioning result corresponding to the period further includes:
[0144] The positions corresponding to the Bluetooth data corresponding to all reports in the period are fitted according to the reporting time sequence of the Bluetooth data to obtain a first positioning result corresponding to the period.
[0145] In the embodiments of this specification, the position corresponding to each report in the cycle can be used as a data point, and the data points in the cycle can be fitted to obtain the first distance, first speed and first direction of the mobile terminal in the cycle.
[0146] Among them, because there are stairs, elevators, etc. in the floors, the user does not only move in the plane of the floor, but may also move in the space of the floor. Therefore, the calculated position is the three-dimensional position in the coordinate system corresponding to the target floor, including coordinates in the three directions of x, y and z. Therefore, the first direction is the direction in the three-dimensional space, not the direction in the plane.
[0147] Based on this, the first positioning result of the embodiment of this specification can also represent the first distance, first speed and first direction of the user going up and down the stairs on the floor.
[0148] Since the mobile terminal continuously and periodically reports Bluetooth data, if the user is going from the first floor to the second floor, the mobile terminal may be on the first floor when reporting Bluetooth data last time, and may be on the second floor when reporting Bluetooth data next time. The target floor where the mobile terminal is located is determined based on the target Bluetooth beacon corresponding to the strongest Bluetooth signal. Therefore, due to the influence of noise, the beacon on the adjacent floor may become the strongest Bluetooth RSS received by the user, resulting in floor positioning errors. In order to solve this problem, according to an embodiment of the present specification, determining the target floor where the mobile terminal is located each time it reports based on the Bluetooth data reported each time in the cycle further includes:
[0149] Determine the floor corresponding to the Bluetooth data received this time;
[0150] Determine whether the floor corresponding to the Bluetooth data received this time is different from the target floor corresponding to the Bluetooth data received last time;
[0151] If yes, then calculate the position of the mobile terminal corresponding to the Bluetooth data received this time, and determine whether the mobile terminal is located in the cross-floor area of the floor corresponding to the Bluetooth data received this time according to the position corresponding to the Bluetooth data received this time;
[0152] If yes, the floor corresponding to the Bluetooth data received this time is taken as the target floor;
[0153] If not, the target floor corresponding to the Bluetooth data received last time is used as the target floor corresponding to the Bluetooth data received this time.
[0154] It can be understood that in indoor scenes, floor changes will only occur in fixed areas such as escalators, elevators, and stairs, which are called cross-floor areas. If the target floor of the mobile terminal corresponding to the Bluetooth data received this time is different from the target floor corresponding to the Bluetooth data received last time, the position of the mobile terminal corresponding to the Bluetooth data received this time is calculated, and based on the position corresponding to the Bluetooth data received this time, it is determined whether the mobile terminal is located in the cross-floor area of the floor corresponding to the Bluetooth data received this time. If so, it means that the target floor calculated by the Bluetooth data received this time is correct, but if the change occurs at a location not in the cross-floor area, it is considered that the user is on the floor where the previous location was located, to ensure the temporal continuity of user behavior.
[0155] In the embodiments of the present specification, the cross-floor area is an area range of x, y and z axes set by the staff according to the actual position of the escalator, elevator or stairs on the floor, and it is determined whether the calculated position is within the set area range. If so, it means that the calculated position is in the cross-floor area.
[0156] If the location that has changed during calculation of this report is not in the cross-layer area, the Bluetooth data reported this time may be treated as invalid.
[0157] According to one embodiment of this specification, Figure 4 As shown, the steps of training the positioning model include:
[0158] Step 401: collecting the Bluetooth data at multiple actual locations on the floor corresponding to the trained positioning model as a training data set;
[0159] Step 402: input the training data set into the positioning model for calculation to obtain a predicted position corresponding to each Bluetooth data in the training data set;
[0160] Step 403: judging whether the positioning model has converged according to the deviation between the predicted position and the corresponding actual position;
[0161] Step 404: if not converged, adjusting the parameters of the positioning model, and repeatedly inputting the training data set into the positioning model for calculation to obtain the predicted position corresponding to each Bluetooth data in the training data set;
[0162] Step 405: If converged, the trained positioning model is obtained.
[0163] In the embodiments of this specification, a machine learning regression model can be used to model the Bluetooth fingerprint. The Bluetooth signal strength of the Bluetooth beacon is used as a feature, and the physical coordinates of the fingerprint positioning point are used as labels. A model that converts the Bluetooth signal strength into physical coordinates is trained using a machine learning model such as random forest, KNN or LightGBM to meet the requirements of predicting the location of the mobile terminal based on the Bluetooth signal strength of each Bluetooth beacon received in real time by Bluetooth.
[0164] Specifically, the fingerprint positioning principle is based on the correlation characteristics between RSS and physical spatial position. The RSS of different Bluetooth beacons exhibits complex but recognizable patterns at different spatial positions as the basic assumption based on RSS fingerprint positioning. The relationship between RSS and the corresponding spatial position is learned by training pattern recognition machines.
[0165] However, indoor wireless signals are affected by multipath fading, noise interference, indoor layout, building materials, and pedestrian signal absorption and blocking. The relationship between RSS and position is not unique and fluctuates in time series. This volatility is the theoretical root cause of positioning errors, and the changing characteristics of RSS are the physical cause of positioning errors. Therefore, the RSS fingerprint positioning algorithm is based on the expected minimization process of positioning errors under uncertain data. Since it is impossible to quantify the impact of measurement time, indoor layout, and indoor environment on RSS signals, it can only be assumed in random modeling that RSS data is only related to position. i The RSS fingerprint is rss i The positioning algorithm establishes the basic mathematical model of position estimation through the maximum a posteriori probability and Bayesian rule. for:
[0166]
[0167] Among them, p(rss i |rp i ) indicates that at a known position rp i The RSS value is rss i The probability, p(rp i ) indicates the position rp i Therefore, the key to the RSS fingerprint positioning algorithm is the random probability p(rss i |rp i ) modeling.
[0168] RSS fingerprint positioning algorithm usually uses the perspective of pattern recognition to identify p(rss i |rp i ) is modeled. N Bluetooth beacons in an indoor environment constitute an N-dimensional input space RSS covering L locations. N, this input space is usually called a radio map, and the above relationship can be expressed as:
[0169] F:RSS N →L
[0170] Where F represents the fingerprint database, which is the collection of all Bluetooth fingerprints in the indoor environment.
[0171] Further estimates of the specific location include:
[0172]
[0173] in Represents a data point in the RSS signal space, corresponding to a fingerprint.
[0174] In the embodiments of this specification, the IMU data is the data collected by the acceleration sensor of the mobile terminal. According to the IMU data, the second distance, the second speed and the second direction of the mobile terminal's movement during this period can be analyzed, and then the second positioning result can be obtained by real-time calculation according to the IMU. The second positioning result is independent of the first positioning result calculated by the Bluetooth fingerprint, and therefore can complement each other.
[0175] According to an embodiment of the present specification, calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result further includes:
[0176] A weighted sum is performed on the first positioning result and the second positioning result to obtain the final positioning result.
[0177] Specifically, after the above steps, the Bluetooth data and IMU data calculate two independent positioning results: a first positioning result and a second positioning result. In order to make them complementary, the Kalman filter is used to fuse the two. The Kalman filter algorithm is a classic prediction and tracking algorithm, which can generate estimates of unknown variables from a series of incomplete and noisy measurements, and optimally estimate the state of the dynamic system. In the embodiment of this specification, the Kalman filter algorithm is embodied in calculating weights through the state distribution of different positioning results, performing weighted summation on the first positioning result and the second positioning result to obtain the final positioning result, and calculating the new state distribution after the weighted summation, and iteratively propagating backward.
[0178] According to an embodiment of the present specification, since there is signal interference indoors, if Figure 5 As shown, after obtaining the final positioning result, the method further includes:
[0179] Step 501: Determine whether the final positioning result exceeds the range of one or more floors corresponding to the cycle;
[0180] Step 502: If yes, the final positioning result is discarded.
[0181] After calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes:
[0182] The final positioning result is sent to the mobile terminal so that the mobile terminal can display the final positioning result to the user.
[0183] Specifically, the target floor is sent to the mobile terminal so that the mobile terminal displays the electronic map corresponding to the target floor to the user.
[0184] The mobile terminal presenting the final positioning result to the user further comprises:
[0185] The mobile terminal integrates the final positioning result into the electronic map.
[0186] In the embodiment of this specification, in order to improve the user experience, the electronic map includes a plurality of predetermined adsorption coordinate points;
[0187] The mobile terminal integrating the final positioning result into the electronic map further comprises:
[0188] After performing proportional processing on the electronic map and the final positioning result, determining, among the proportionally processed adsorption coordinate points, an adsorption coordinate point closest to a position in the proportionally processed final positioning result as a real-time positioning point of the final positioning result;
[0189] The real-time positioning point is displayed to the user in the electronic map.
[0190] It can be understood that during the positioning process, the user's real-time positioning results will be judged and compared with the pre-set adsorption point coordinates in the scene, and the closest adsorption point will be selected as the user's real-time positioning point on the electronic map page for display. The purpose is to display the user's positioning results in some reasonable locations in the scene map to avoid confusion during user use.
[0191] According to an embodiment of the present specification, each floor may have areas such as elevators and large supermarkets, and the displays in these areas are often deployed by themselves. Therefore, in order to improve the user's indoor positioning experience, such as Figure 6 As shown, after calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes:
[0192] Step 601: Determine whether the position corresponding to the final positioning result is located in the subspace corresponding to the target floor;
[0193] Step 602: If so, when the Bluetooth data and IMU data reported by the mobile terminal are subsequently received, the Bluetooth data corresponding to the Bluetooth beacon deployed in the subspace is filtered out from the Bluetooth data, and the filtered Bluetooth data is calculated according to the pre-trained sub-positioning model corresponding to the subspace to obtain the first positioning result of the mobile terminal corresponding to the period.
[0194] In the embodiments of the present specification, the sub-positioning model corresponding to the sub-space is obtained by deploying Bluetooth beacons in the sub-space in advance and training them. When the arrangement in the sub-space changes, the sub-positioning model is retrained.
[0195] Furthermore, when the position corresponding to the calculated final positioning result is in the subspace, the electronic map of the subspace can also be displayed in the mobile terminal, and the electronic map of the floor can be displayed as a thumbnail in the same interface as the electronic map of the subspace, so as to facilitate user viewing.
[0196] Based on the same inventive concept, the embodiment of this specification also provides an indoor navigation method, such as Figure 7 As shown, the method includes:
[0197] Step 701: receiving the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically;
[0198] Step 702: Calculate the Bluetooth data and the IMU data according to the above-mentioned indoor positioning method to obtain a final positioning result;
[0199] Step 703: Generate a navigation route according to the final positioning result, the navigation target position, and the indoor structure of the target floor corresponding to the final positioning result;
[0200] Step 704: Send the navigation route to the mobile terminal so that the mobile terminal can display the navigation route to the user.
[0201] In the embodiments of this specification, an existing path planning algorithm can be used to generate a navigation route according to the final positioning result, the navigation target position, and the indoor structure of the target floor corresponding to the final positioning result, which will not be described in detail in the embodiments of this specification.
[0202] Smooth display between two single-point positioning points during navigation. When the user is positioning during movement, the distance between the previous and next positioning points may be relatively far. At this time, if the display on the map jumps directly, it will be abrupt and the user will have a bad sensory experience. Therefore, this smooth display mechanism is added to allow the user's real-time positioning point to slowly slide from the original positioning point to the next positioning point, making the display on the map smoother and more beautiful, thereby improving the user experience.
[0203] During the navigation process, when the user walks near the escalator, the server will compare and judge the real-time Bluetooth signal sent by the current user with the pre-marked escalator Bluetooth signal to determine whether the user is within the reserved range of the escalator. If it is, the number of positioning times at the escalator will be counted. When the positioning statistics at the escalator reach the first specified number of times (for example, 7 times) continuously or the third specified number of times (for example, 9 times) of adjacent floor positions appears in the second specified number of times (for example, 14 times) positioning results, the escalator will be judged, the positioning point on the escalator will jump, and the floor switching will be judged.
[0204] In addition, during use, the server also compares and analyzes the Bluetooth beacon signal strength around the user with the pre-collected Bluetooth beacon signal fingerprint library to determine whether the user is in the indoor or outdoor part of the scene. If it is determined that the user is indeed in the outdoor part of the scene, it switches to the outdoor-only GPS positioning mechanism.
[0205] According to an embodiment of the present specification, because the final positioning result obtained by the indoor positioning method of the embodiment of the present specification includes the distance and direction in space, the navigation method of the embodiment of the present specification can perform navigation in three-dimensional space, such as cross-floor navigation. Specifically, the navigation target position includes a navigation target point and a navigation target floor;
[0206] Generating a navigation route according to the final positioning result, the navigation target position, and the indoor structure of the target floor corresponding to the final positioning result further includes:
[0207] The navigation route is generated according to the final positioning result, the navigation target point, the navigation target floor, the target floor corresponding to the final positioning result, the indoor structure of the target floor, and the cross-layer area structure between the navigation target floor and the target floor.
[0208] Furthermore, the generated navigation path rules will be optimized and adjusted during the navigation process. For example, the cross-layer navigation within the scene will reasonably navigate the user to the nearest escalator or elevator hall to cross the layer, ensuring the relative optimal navigation path. In addition, if the user deviates seriously from the navigation path during the navigation process, the background will generate a new navigation path based on the user's current real-time location and display it on the page.
[0209] Exemplarily, the indoor positioning method and indoor navigation method of the embodiments of this specification can be applied to indoor positioning navigation, reverse car search in parking lots, shopping marketing, employee management, and smart employment scenarios:
[0210] Figure 8 The following is a structural diagram of an indoor positioning and navigation system solution provided in an embodiment of this specification.
[0211] In step S1, the user opens the positioning applet in the mobile phone.
[0212] In step S2, the permission module starts to check whether the network, Bluetooth, mobile phone status, foreground service and other permissions required by the positioning applet are enabled. If enabled, it proceeds to the next step, otherwise it prompts the user to enable relevant permissions.
[0213] In step S3, the positioning applet calls the Bluetooth and IMU scanning modules to scan and obtain the data required for positioning.
[0214] In step S4, the positioning service communication module packages the scanned data, sends it to the positioning server using the HTTP protocol, and obtains the positioning result returned by the server.
[0215] In step S5, the map display module displays the current map, as well as the current user location, direction, etc. according to the positioning result.
[0216] In step S6, the navigation module calls the navigation algorithm to plan the best path according to the current user location and the destination location.
[0217] Fig. 9 The following is a structural diagram of a parking lot reverse car search system provided in an embodiment of the present specification.
[0218] In step S21, the user opens the positioning applet in the mobile phone.
[0219] In step S22, the user enters the parking lot search function page of the mini program and selects two query modes: precise search or fuzzy search.
[0220] In step S23, the user enters a complete license plate number or a license plate number of at least 4 digits or a parking space number of at least 3 digits to query specific vehicle information.
[0221] In step S24, the user selects the specific vehicle information found and clicks to enter the map navigation page of the parking lot.
[0222] In step S25, the permission module starts to check whether the network, Bluetooth, mobile phone status, foreground service and other permissions required by the positioning applet are enabled. If enabled, it proceeds to the next step, otherwise it prompts the user to enable relevant permissions.
[0223] In step S26, the positioning applet calls the Bluetooth and IMU scanning modules to scan and obtain the data required for positioning.
[0224] In step S27, the positioning service communication module packages the scanned data, sends it to the positioning server using the HTTP protocol, and obtains the positioning and navigation results returned by the server.
[0225] In step S28, the map display module displays the current map according to the positioning result, as well as the current user position, direction, etc., and calls the navigation algorithm to plan the best path according to the current user position and the destination position.
[0226] Fig.10 The following is a structural diagram of the shopping marketing system provided in the embodiment of this specification.
[0227] In step S31, the user opens the positioning applet in the mobile phone.
[0228] In step S32, the permission module starts to check whether the network, Bluetooth, mobile phone status, foreground service and other permissions required by the positioning applet are enabled. If enabled, it proceeds to the next step, otherwise it prompts the user to enable relevant permissions.
[0229] In step S33, the positioning applet calls the Bluetooth and IMU scanning modules to scan and obtain the data required for positioning.
[0230] In step S34, the positioning service communication module packages the scanned data, sends it to the positioning server using the HTTP protocol, and obtains the positioning result returned by the server.
[0231] In step S35, the manager pre-creates and sets up the marketing activities on the positioning management platform, including key information such as activity time and trigger conditions.
[0232] In step S36, the map display module displays the current map, the current user's real-time location, direction and marketing activity information according to the positioning result.
[0233] In step S37, the positioning management platform matches the current marketing activity rules according to the user location information to decide whether to trigger actions such as issuing coupons, so as to achieve the marketing purpose.
[0234] Fig.11 The following is a diagram showing the structure of an employee management system solution provided in an embodiment of this specification.
[0235] In step S41, the user clocks in and out through the attendance machine that has been bound and associated with the positioning management platform.
[0236] In step S42, the location management platform synchronously generates the attendance record and attendance report of the corresponding user.
[0237] In step S43, the user wears the Bluetooth work badge device that has been bound and associated with the positioning management platform and turns on the power, and can also check whether the battery and other device status are normal.
[0238] In step S44, the Bluetooth ID card device calls the Bluetooth scanning module to scan and obtain the data required for positioning.
[0239] In step S45, the positioning service communication module packages the scanned data, sends it to the positioning server using the HTTP protocol, and obtains the positioning result returned by the server.
[0240] In step S46, the administrator sets the working area of each user on the positioning management platform map in advance.
[0241] In step S47, the positioning result returned by the positioning server is compared with the working area to determine whether the user is in the working area. If so, the next step is entered. If not, the positioning alarm mechanism module is activated to prompt the management personnel to handle it.
[0242] In step S48, the map display module on the positioning management platform displays the current map and the real-time location information of the current user according to the positioning result.
[0243] In step S49, corresponding historical track information is generated on the positioning management platform according to the historical records of the user's location information.
[0244] Fig.12 The structure diagram of the smart employment system solution provided in the embodiment of this specification is shown.
[0245] In step S51, the user opens the positioning applet in the mobile phone.
[0246] In step S52, the permission module starts to check whether the network, Bluetooth, mobile phone status, foreground service and other permissions required by the positioning applet are enabled. If enabled, it proceeds to the next step, otherwise it prompts the user to enable relevant permissions.
[0247] In step S53, the positioning applet calls the Bluetooth and IMU scanning modules to scan and obtain the data required for positioning.
[0248] In step S54, the positioning service communication module packages the scanned data, sends it to the positioning server using the HTTP protocol, and obtains the positioning result returned by the server.
[0249] In step S55, the administrator sets the working area of each user on the positioning management platform map in advance.
[0250] In step S56, the map display module displays the current map according to the positioning result, as well as the current user location, direction and other information and prompts that the check-in is successful.
[0251] In step S57, the attendance record and attendance report of the corresponding user are synchronously generated on the positioning management platform according to the user's clock-in information.
[0252] The indoor positioning method and indoor navigation method of the embodiments of this specification effectively solve the universality, reusability and scalability of the positioning and navigation system in multiple different scenarios, effectively reduce the deployment and maintenance costs of the system in multiple scenarios, and significantly improve the user experience, so that users can use the same set of system applications in different scenarios to achieve multiple functions such as positioning and navigation.
[0253] Based on the same inventive concept, the embodiment of this specification also provides an indoor positioning device, such as Fig.13 As shown, the device comprises:
[0254] The data receiving unit 1301 is used to receive Bluetooth data and IMU data periodically reported by the user's mobile terminal, wherein the Bluetooth data is data obtained after the Bluetooth module of the mobile terminal scans multiple Bluetooth beacons pre-deployed in the indoor scene where the mobile terminal is located, and the IMU data is data collected by the acceleration sensor of the mobile terminal;
[0255] A target floor determination unit 1302, configured to determine the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle;
[0256] The first positioning result calculation unit 1303 is used to calculate the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain the first positioning result of the mobile terminal corresponding to the period;
[0257] A second positioning result calculation unit 1304 is used to calculate the second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period;
[0258] The final positioning result calculation unit 1305 is used to calculate the final positioning result corresponding to the mobile terminal in the period according to the first positioning result and the second positioning result.
[0259] Based on the same inventive concept, the embodiment of this specification also provides an indoor navigation device, such as Fig.14 As shown, the device comprises:
[0260] The data receiving unit 1401 is used to receive the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically;
[0261] The positioning unit 1402 is used to calculate the Bluetooth data and the IMU data according to the indoor positioning method to obtain a final positioning result;
[0262] A navigation route generating unit 1403 is used to generate a navigation route according to the final positioning result, the navigation target position and the indoor structure of the target floor corresponding to the final positioning result;
[0263] The navigation route sending unit 1404 is used to send the navigation route to the mobile terminal so that the mobile terminal can display the navigation route to the user.
[0264] Since the principle of solving the problem by the above device is similar to that of the above method, the implementation of the above system can refer to the implementation of the above method, and the repeated parts will not be repeated.
[0265] like Fig.15 The figure is a schematic diagram of the structure of the computer device in the embodiment of this specification. The method in the embodiment of this specification can be applied to the computer device in this embodiment.
[0266] The computer device 1502 may include one or more processors 1504, such as one or more central processing units (CPUs), each of which may implement one or more hardware threads. The computer device 1502 may also include any memory 1506 for storing any type of information such as code, settings, data, etc. Without limitation, for example, the memory 1506 may include any one or more combinations of the following: any type of RAM, any type of ROM, a flash memory device, a hard disk, an optical disk, etc. More generally, any storage resource may use any technology to store information.
[0267] Further, any storage resource may provide volatile or non-volatile retention of information.
[0268] Further, any storage resource may represent a fixed or removable component of the computer device 1502. In one case, when the processor 1504 executes the associated instructions stored in any storage resource or combination of storage resources, the computer device 1502 may perform any operation of the associated instructions. The computer device 1502 also includes one or more drive mechanisms 1508 for interacting with any storage resource, such as a hard disk drive system, an optical disk drive system, etc.
[0269] The computer device 1502 may also include an input / output module 1510 (I / O) for receiving various inputs (via input devices 1512) and for providing various outputs (via output devices 1514). A specific output mechanism may include a presentation device 1516 and an associated graphical user interface (GUI) 1518. In other embodiments, the input / output module 1510 (I / O), input device 1512, and output device 1514 may not be included, and the computer device 1502 may be used as a computer device in a network. The computer device 1502 may also include one or more network interfaces 1520 for exchanging data with other devices via one or more communication links 1522. One or more communication buses 1524 couple the components described above together.
[0270] The communication link 1522 may be implemented in any manner, for example, through a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1522 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc. governed by any protocol or combination of protocols.
[0271] The embodiments of the present specification also provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program implements the above method when executed by a processor.
[0272] The embodiments of the present specification also provide a computer-readable instruction, wherein when a processor executes the instruction, the program therein causes the processor to execute the above method.
[0273] It should be understood that in the various embodiments of the present specification, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present specification.
[0274] It should also be understood that in the embodiments of this specification, the term "and / or" is only a description of the association relationship of the associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in the embodiments of this specification generally indicates that the associated objects before and after are in an "or" relationship.
[0275] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of this specification can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of this specification.
[0276] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0277] In the several embodiments provided in the embodiments of this specification, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or it can be an electrical, mechanical or other form of connection.
[0278] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of this specification.
[0279] In addition, each functional unit in each embodiment of the present specification can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional units.
[0280] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of this specification is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the embodiment of this specification. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0281] The embodiments of this specification use specific embodiments to illustrate the principles and implementation methods of the embodiments of this specification. The description of the above embodiments is only used to help understand the methods and core ideas of the embodiments of this specification. At the same time, for those skilled in the art, according to the ideas of the embodiments of this specification, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on the embodiments of this specification.
Claims
1. An indoor positioning method, characterized in that: The method comprises: Receive Bluetooth data and IMU data periodically reported by a user's mobile terminal, wherein the Bluetooth data is data obtained after a Bluetooth module of the mobile terminal scans a plurality of Bluetooth beacons pre-deployed in an indoor scene where the mobile terminal is located, and the IMU data is data collected by an acceleration sensor of the mobile terminal; Determine the target floor where the mobile terminal is located each time it reports according to the Bluetooth data reported each time in the cycle; Calculate the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain a first positioning result of the mobile terminal corresponding to the period; Calculate the second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period; The final positioning result of the mobile terminal corresponding to the period is calculated according to the first positioning result and the second positioning result.
2. The method according to claim 1, characterized in that The Bluetooth data includes the Bluetooth signal strength of each Bluetooth beacon obtained after the Bluetooth module scans the multiple Bluetooth beacons.
3. The method according to claim 2, characterized in that Determining the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle further includes: For each of the Bluetooth data reported in the period, determine a Bluetooth beacon with the strongest Bluetooth signal strength in the Bluetooth data as a target Bluetooth beacon; The floor corresponding to the target Bluetooth beacon is determined from a pre-constructed correspondence table between Bluetooth beacons and floors as the target floor.
4. The method according to claim 1, characterized in that: Calculating the corresponding Bluetooth data according to the pre-trained positioning model corresponding to the target floor to obtain the first positioning result of the mobile terminal corresponding to the period further includes: For each reported Bluetooth data, the Bluetooth data is calculated according to the positioning model corresponding to the target floor to obtain the position of the mobile terminal in the corresponding target floor when the Bluetooth data is reported each time; According to the position corresponding to the Bluetooth data reported each time in the period, a first positioning result corresponding to the period is calculated.
5. The method according to claim 4, characterized in that The steps of training the positioning model include: Collecting the Bluetooth data at multiple actual locations on the floor corresponding to the trained positioning model as a training data set; Inputting the training data set into the positioning model for calculation to obtain the predicted position corresponding to each Bluetooth data in the training data set; Determining whether the positioning model converges based on the deviation between the predicted position and the corresponding actual position; If it has not converged, adjusting the parameters of the positioning model, and repeatedly executing the step of inputting the training data set into the positioning model for calculation to obtain the predicted position corresponding to each Bluetooth data in the training data set; If converged, the trained positioning model is obtained.
6. The method according to claim 4, characterized in that Calculating the first positioning result corresponding to the period according to the position corresponding to the Bluetooth data reported each time in the period further includes: The positions corresponding to the Bluetooth data corresponding to all reports in the period are fitted according to the reporting time sequence of the Bluetooth data to obtain a first positioning result corresponding to the period.
7. The method according to claim 4, characterized in that Determining the target floor at which the mobile terminal is located each time when reporting according to the Bluetooth data reported each time in the cycle further includes: Determine the floor corresponding to the Bluetooth data received this time; Determine whether the floor corresponding to the Bluetooth data received this time is different from the target floor corresponding to the Bluetooth data received last time; If yes, then calculate the position of the mobile terminal corresponding to the Bluetooth data received this time, and determine whether the mobile terminal is located in the cross-floor area of the floor corresponding to the Bluetooth data received this time according to the position corresponding to the Bluetooth data received this time; If yes, the floor corresponding to the Bluetooth data received this time is taken as the target floor; If not, the target floor corresponding to the Bluetooth data received last time is used as the target floor corresponding to the Bluetooth data received this time.
8. The method according to claim 1, characterized in that The first positioning result includes at least one of a first distance, a first speed, and a first direction in which the mobile terminal moves in the period.
9. The method according to claim 1, characterized in that: Calculating the second positioning result corresponding to the mobile terminal in the period according to the IMU data reported each time in the period further includes: At least one of a second distance, a second speed and a second direction of movement of the mobile terminal in the cycle is calculated based on the IMU data reported each time in the cycle as the second positioning result.
10. The method according to claim 1, characterized in that Calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result further includes: A weighted sum is performed on the first positioning result and the second positioning result to obtain the final positioning result.
11. The method according to claim 10, characterized in that After obtaining the final positioning result, the method further includes: Determining whether the final positioning result exceeds the range of one or more floors corresponding to the period; If yes, the final positioning result is discarded.
12. The method according to claim 1, characterized in that After calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes: The final positioning result is sent to the mobile terminal so that the mobile terminal can display the final positioning result to the user.
13. The method according to claim 12, characterized in that The method further comprises: The target floor is sent to the mobile terminal so that the mobile terminal can display the electronic map corresponding to the target floor to the user.
14. The method according to claim 13, characterized in that The mobile terminal presenting the final positioning result to the user further comprises: The mobile terminal integrates the final positioning result into the electronic map.
15. The method according to claim 14, characterized in that The electronic map includes a plurality of predetermined adsorption coordinate points; The mobile terminal integrating the final positioning result into the electronic map further comprises: After performing proportional processing on the electronic map and the final positioning result, determining, among the proportionally processed adsorption coordinate points, an adsorption coordinate point closest to a position in the proportionally processed final positioning result as a real-time positioning point of the final positioning result; The real-time positioning point is displayed to the user in the electronic map.
16. The method according to claim 1, characterized in that After calculating the final positioning result of the mobile terminal corresponding to the period according to the first positioning result and the second positioning result, the method further includes: Determine whether the position corresponding to the final positioning result is located in the subspace corresponding to the target floor; If so, when the Bluetooth data and IMU data reported by the mobile terminal are subsequently received, the Bluetooth data corresponding to the Bluetooth beacon deployed in the subspace is filtered out from the Bluetooth data, and the filtered Bluetooth data is calculated according to the pre-trained sub-positioning model corresponding to the subspace to obtain the first positioning result of the mobile terminal corresponding to the period.
17. An indoor navigation method, characterized in that: The method comprises: Receive the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically; Calculate the Bluetooth data and the IMU data according to the indoor positioning method according to any one of claims 1 to 16 to obtain a final positioning result; Generate a navigation route according to the final positioning result, the navigation target position and the indoor structure of the target floor corresponding to the final positioning result; The navigation route is sent to the mobile terminal so that the mobile terminal can display the navigation route to the user.
18. The method according to claim 17, characterized in that The navigation target position includes a navigation target point and a navigation target floor; Generating a navigation route according to the final positioning result, the navigation target position, and the indoor structure of the target floor corresponding to the final positioning result further includes: The navigation route is generated according to the final positioning result, the navigation target point, the navigation target floor, the target floor corresponding to the final positioning result, the indoor structure of the target floor, and the cross-layer area structure between the navigation target floor and the target floor.
19. An indoor positioning device, characterized in that: The device comprises: A data receiving unit, configured to receive Bluetooth data and IMU data periodically reported by a user's mobile terminal, wherein the Bluetooth data is data obtained after a Bluetooth module of the mobile terminal scans a plurality of Bluetooth beacons pre-deployed in an indoor scene where the mobile terminal is located, and the IMU data is data collected by an acceleration sensor of the mobile terminal; a target floor determination unit, configured to determine the target floor at which the mobile terminal is located each time it reports according to the Bluetooth data reported each time in the cycle; A first positioning result calculation unit, configured to calculate corresponding Bluetooth data according to a pre-trained positioning model corresponding to the target floor, to obtain a first positioning result of the mobile terminal corresponding to the period; A second positioning result calculation unit, used to calculate the second positioning result of the mobile terminal corresponding to the period according to the IMU data reported each time in the period; The final positioning result calculation unit is used to calculate the final positioning result corresponding to the mobile terminal in the period according to the first positioning result and the second positioning result.
20. An indoor navigation device, characterized in that: The device comprises: A data receiving unit, used to receive the navigation target position reported by the user's mobile terminal and the Bluetooth data and IMU data reported periodically; A positioning unit, configured to calculate the Bluetooth data and the IMU data according to the indoor positioning method according to any one of claims 1 to 16 to obtain a final positioning result; A navigation route generating unit, configured to generate a navigation route according to the final positioning result, the navigation target position and the indoor structure of the target floor corresponding to the final positioning result; The navigation route sending unit is used to send the navigation route to the mobile terminal so that the mobile terminal can display the navigation route to the user.
21. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 18 is implemented.
22. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 18 is implemented.
23. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 18 is implemented.