A parking lot indoor navigation system and method based on multi-source fusion
By using multi-source fusion technology, combining barometers and BLE RSSI with geomagnetic sensors and infrared sensors, the problems of high deployment cost, misjudgment, and navigation discontinuity in indoor parking lot navigation systems have been solved. This has enabled low-cost, high-precision parking space detection and dynamic path planning, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ZHAOTONG LIANGFENGTAI INFORMATION TECH CO LTD
- Filing Date
- 2026-04-22
- Publication Date
- 2026-07-10
AI Technical Summary
Existing indoor parking lot navigation systems suffer from high deployment costs, misjudgments in parking space detection by single sensors, inability of route planning algorithms to detect real-time congestion, and lack of continuity in cross-floor navigation, resulting in poor user experience and low navigation efficiency.
Employing multi-source fusion technology, this solution combines a mobile phone's built-in barometer with BLE RSSI, geomagnetic sensors, and bidirectional infrared sensors. A four-state decision matrix is used to detect parking space status, and dynamic route planning is performed by combining congestion level, time period, and floor weights, resulting in a low-cost, high-precision, and real-time perception navigation solution.
It achieves low-cost floor recognition, improves the accuracy of parking space status detection, and enhances navigation continuity and user experience by optimizing the path through dynamic weight planning.
Smart Images

Figure CN122360484A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of indoor positioning and navigation technology, specifically relating to an indoor parking lot navigation system and method based on multi-source fusion. Background Technology
[0002] With the rapid development of large commercial buildings such as urban commercial complexes and shopping malls, supporting underground parking lots and multi-level parking garages are characterized by multiple layers and zones, large parking spaces, and complex passageway layouts, and have become the core scenario for urban parking services. Currently, the number of civilian vehicles continues to grow, and large parking lots have high daily traffic flow and frequent pedestrian movement. Customers' need for navigation to find available parking spaces after entering the parking lot and to find their cars in reverse after shopping is becoming increasingly urgent.
[0003] Due to the obstruction caused by the enclosed indoor structure, GPS / BeiDou satellite positioning signals are severely attenuated or even completely fail, making continuous indoor positioning impossible. Traditional parking lots rely solely on wall signs and parking space numbers for manual guidance, which suffers from low recognition and delayed information updates. Customers are prone to getting lost due to spatial similarity, which not only significantly increases the time spent finding their parking spaces and cars, but also easily leads to congestion and the risk of minor collisions, reducing the consumer experience and the operational efficiency of commercial venues.
[0004] Existing indoor parking lot navigation systems suffer from several drawbacks: high deployment costs due to reliance on dedicated hardware for multi-story parking garage floor recognition; limited accuracy due to misjudgments caused by single-sensor parking space detection; low navigation efficiency due to the inability of route planning algorithms to detect real-time congestion; and poor user experience due to a lack of continuity in cross-floor navigation. Specifically, they exhibit the following technical deficiencies: 1) Multi-story parking garage floor identification relies on dedicated hardware, requiring the deployment of high-power floor-specific Bluetooth beacons at each elevator entrance and stairwell, or relying on UWB 3D positioning to identify floors through the floor code field broadcast by the beacons; existing high-precision solutions use UWB 3D positioning to obtain floors, but the unit price of UWB base stations is as high as 500-1000 yuan, making the deployment cost even higher. 2) Single-sensor parking space detection is prone to misjudgment and has limited accuracy. Current parking space detection technology mainly relies on a single geomagnetic sensor, which determines the occupancy status of the parking space by detecting the disturbance of the Earth's magnetic field by the metal of the vehicle. However, geomagnetic sensors cannot distinguish between vehicles and other metal objects such as motorcycles, large shopping carts, and metal shopping carts, which can easily lead to false triggering. At the same time, large vehicles in adjacent parking spaces may also interfere with the sensor. 3) Path planning algorithms cannot detect real-time congestion, resulting in low navigation efficiency. Existing path planning solutions either use ant colony algorithms or fixed-weight Dijkstra / A* algorithms. Although ant colony algorithms have global optimization capabilities, they have high computational complexity and slow convergence speed, making them unsuitable for real-time navigation scenarios. Fixed-weight algorithms only consider path distance and fail to utilize real-time status data provided by parking space sensors. 4) The lack of continuity in cross-floor navigation results in a poor user experience. When users move across floors by taking elevators or walking on ramps, the existing technology often fails to update the user's floor in a timely and accurate manner due to blind spots in the floor beacon coverage and the lack of an active detection mechanism for vertical movement. This leads to location jumps or delays, affecting the continuity of navigation and the user experience. Summary of the Invention
[0005] This invention provides a parking lot indoor navigation system and method based on multi-source fusion. It utilizes a mobile phone's built-in barometer and BLE RSSI fusion for floor identification, employs geomagnetic and bidirectional infrared dual-sensor parking space detection technology, and achieves cross-validation through a four-state decision matrix to effectively filter false triggers from non-vehicle metal objects. It accurately detects and judges parking space status; incorporates congestion level, time period, and floor weights, and combines them with an adaptive mechanism for scenarios such as driving to find parking spaces and walking to find cars to accurately and rationally plan navigation routes. Through the organic integration of three core technologies—barometer-based zero-cost floor identification, dual-sensor high-accuracy parking space detection, and dynamic weighted intelligent path planning—a low-cost, high-precision, real-time sensing parking lot indoor navigation solution is formed, significantly improving system performance and user experience while reducing deployment costs.
[0006] To achieve the above-mentioned technical objectives, the present invention is implemented through the following technical solution: An indoor parking lot navigation system based on multi-source fusion includes: The multi-source floor identification module includes a barometric pressure acquisition unit for acquiring real-time barometric pressure data values from the mobile terminal. The reference calibration unit is used to collect the reference air pressure when the user just enters the parking area, and to calculate the reference floor when the user enters the parking area based on the reference air pressure. The floor calculation unit calculates the floor changes based on the reference air pressure and the current real-time air pressure, thereby obtaining the current floor. The vertical movement detection unit determines the target's vertical movement state type based on the different air pressure change rates generated by different types of movement in the vertical orientation; and adopts corresponding floor update strategies according to different vertical movement state types. The RSSI floor inference unit infers the user's floor based on the RSSI signal from the BLE positioning beacon and uses a floor grouping comparison strategy. The fusion decision unit dynamically fuses baseline air pressure data, real-time air pressure data, air pressure change rate, and RSSI signal to output the final floor determination. The dual-sensor fusion parking space detection module includes: a geomagnetic sensor unit, which is embedded in the center of the parking space and detects the vacancy status of the parking space based on the disturbance characteristics of the metal structure of the vehicle body to the Earth's magnetic field. Two-way infrared beam units are installed on the pillars on both sides of the parking space entrance to detect the obstruction status when vehicles enter or exit the parking space. The status decision unit, based on a combination of geomagnetic detection and two-way infrared monitoring, determines whether a parking space is vacant, being entered, or occupied through a decision matrix. Anomaly detection unit identifies, detects, and responds to abnormal situations; The dynamic weighted path planning module includes: a digital map unit, used to twinnize the physical space of the parking lot into a navigation map with multiple node types; The three-dimensional positioning unit combines the horizontal position positioning of the floor and the floor positioning to obtain the user's three-dimensional coordinates, thereby accurately locating the user's position; The congestion calculation unit calculates real-time congestion based on the frequency of changes in parking space status in each area. The dynamic weighting unit includes at least multiple weighting factors such as congestion weight, time period weight, and floor weight, and path planning is performed based on these multiple weighting factors. The scene adaptive unit is used to determine different navigation scenarios and automatically switch weight strategies and cross-floor channel filtering rules; The path search unit is used to calculate the optimal path using a path search algorithm combined with dynamic weights. The multi-objective optimization unit is used to score candidate objectives in multiple dimensions and output optimal paths in multiple dimensions for users to choose from.
[0007] Preferably, the benchmark calibration unit uses a geofencing mechanism to trigger calibration: A geofence is formed by pre-configuring the geographical boundary coordinates of the parking lot; the boundary of the geofence is set in the area outside the parking lot entrance to ensure that the calibration is completed in the outdoor area. The ray casting method is used to determine whether a user has entered the geofence area. Once a user enters the geofence area, the nearest entrance to the user is selected, and the floor where the entrance is located is obtained to achieve the current user's floor location. This floor is used as the reference floor.
[0008] Preferably, the vertical movement detection unit is implemented as follows: Based on the historical air pressure queue formed by continuous air pressure monitoring after a user enters the parking lot geofence area, the air pressure change rate is calculated. Two threshold values for the change rate are set: when the air pressure change rate exceeds the first threshold R, it is determined to be in elevator status, and the floor information needs to be updated after the elevator stops; when the air pressure change rate is between the two threshold values R and R2, it is determined to be in ramp status, and the floor information is continuously updated; when the air pressure change rate is below the second threshold R2, it is determined to be in normal status, and normal floor tracking is performed.
[0009] Preferably, the RSSI floor inference unit uses a floor grouping comparison strategy for floor determination and location: Periodically scan BLE location beacons and filter out invalid beacons with signal strength below a minimum threshold; The effective beacons are grouped by floor, and the average RSSI signal strength of each floor group is calculated. The floor group with the best average signal strength is selected as the inferred floor.
[0010] Preferably, the fusion decision unit simultaneously acquires the RSSI floor inference results from the BLE positioning beacon and the barometer calculation results, and adopts the following strategy to fuse the two results: When the BLE positioning beacon signal strength exceeds the set threshold, the RSSI floor inference result is used first. When the BLE positioning beacon signal strength is lower than the set threshold and the barometer confidence level exceeds the set threshold, the barometer floor result is used. When the results from the two data sources are consistent, the output confidence level is improved.
[0011] Preferably, the geomagnetic sensing unit adopts a baseline calibration mechanism: when the geomagnetic sensor is powered on for the first time after installation, it automatically collects the static magnetic field value at the current location as a baseline; this baseline already includes the influence of the steel reinforcement fixing structure in the floor slab on the magnetic field, and this influence value is fixed, equivalent to a constant; During subsequent operation, the change in magnetic field relative to the baseline is detected, and the detection is triggered by dynamic disturbances generated when the vehicle stops. The geomagnetic sensor uses NB-IoT or LoRa for wireless reporting and is suitable for all floors; The geomagnetic sensor and the bidirectional infrared sensor are fused through a decision matrix, and the current state of the parking space is accurately determined based on the fused state combination.
[0012] Preferably, the anomaly detection unit includes a built-in rule base and a configurable rule engine: The built-in rules include at least motorcycle misjudgment, abnormal obstruction, sensor failure, timeout, rapid entry and exit, signal jitter, low battery alarm, and nighttime anomalies; It supports dynamically adding custom rules through configuration; Supports dynamically enabling or disabling specified rules.
[0013] Preferably, the congestion calculation unit comprehensively considers both occupancy rate and activity level to calculate the congestion weight W1: Occupancy rate is the ratio of the number of occupied parking spaces to the total number of parking spaces; Activity level is the normalized value of the frequency of state changes within a preset time window; The time period weight W2 is adjusted based on whether the current time period is a peak period, and the calculation method is as follows: If the time period hour∈{8, 9, 12, 13, 18, 19}, then W2=η, where η is the weighting coefficient for peak hours, with an initial value of 1.5; If hour falls in other time periods, then W2 = 1; The floor weight W3 system first calculates the difference between the target floor and the current floor, denoted as ΔF. If the floor difference is 0, it means that the target and the current location are on the same floor and there is no need to move across floors. At this time, the floor weight is set to the baseline value of 1, and no additional penalty is generated. If the floor difference is not zero, the system performs traffic splitting according to the current scene mode.
[0014] Preferably, the scene adaptive unit includes two scenarios: finding a parking space and finding a car, and is configured with differentiated weighting strategies and cross-floor channel filtering rules: In the parking space search scenario (driving mode): the congestion weight W1 is calculated based on the occupancy rate; the floor weight W3 is calculated based on the ramp driving time, only retaining the ramp crossing the floor edge, and the score comprehensively considers distance, congestion degree and floor penalty; Car search scenario (walking mode): Congestion weight W1 is calculated based on activity level; floor weight W3 is calculated based on the smaller value between elevator waiting time and stair walking time, only elevator and stair edges are retained; Automatically identify the current scenario and switch the corresponding weight configuration by querying the user's parking records; The calculation process is as follows: Congestion weight W1: Parking space search scenario: W1 = 1 + occupancy × γ1 Car search scenario: W1 = 1 + activity × γ2 occupancy: Area occupancy rate, with a value range of [0, 1]. activity: Regional activity level, with a value range of [0, 1]. γ1 is the congestion weighting coefficient for the parking space search scenario, with an initial value of 3; γ2 is the congestion weighting coefficient for the car search scenario, with an initial value of 2. Floor weight W3: Parking scenario: The user is driving, and the vehicle can only cross floors via ramps. The system multiplies the absolute value of the floor difference by the ramp travel time parameter T2 to obtain the total time spent crossing floors. This time is divided by the normalized baseline time T_base and then a baseline weight of 1 is added to obtain the final floor weight, i.e., W3 = 1 + |ΔF|×T2 / T_base. This mechanism ensures that the higher the target floor, the longer the ramp travel time, and the greater the weight penalty, naturally leading the algorithm to recommend parking spaces on lower floors. In the car-finding scenario, the user is on foot and can choose to cross floors using either an elevator or stairs. The system calculates the time for each method: elevator time is a fixed time parameter T1 for waiting and riding the elevator, independent of the floor difference; stair time is the absolute value of the floor difference multiplied by the walking time parameter T3 for each floor. The system takes the smaller of the two values as the actual floor-crossing time T_cross = min(T1, |ΔF|×T3), reflecting the assumption that the user will choose the fastest method. This time is normalized and then weighted with a baseline to obtain the final floor weight, i.e., W3 = 1 + T_cross / T_base.
[0015] Preferably, the digital map unit models the parking lot as a twin navigation map containing multiple node types and edge types, wherein: Node types include: parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp endpoint nodes, and staircase nodes; Edges represent traversable paths between nodes. Elevator, ramp, and stair edges that cross floors additionally include the time cost of vertical movement.
[0016] Preferably, the multi-objective optimization unit adopts a two-stage strategy of pre-screening followed by fine calculation in the parking space search scenario: Pre-screening stage: Obtain all available parking spaces from the parking space status database, and perform floor filtering, area filtering, and distance truncation in sequence; Precise calculation phase: Calculate the precise path for the selected candidate parking spaces, and obtain the path distance, congestion level along the route, and floor difference; The overall score is calculated by weighting the normalized values of each dimension. The top few parking spaces are selected from each of the three dimensions of shortest distance, lowest congestion, and best overall score. After merging and deduplicating, a recommended list is output.
[0017] Another objective of this invention is to provide a parking lot indoor navigation method based on multi-source fusion, comprising the following steps: S1: Floor Recognition S1.1: Pre-configure the geofence boundary coordinates of the parking lot, wherein the fence boundary is set in the outdoor area outside the entrance of the parking lot; S1.2: The positional relationship between the geofence boundary and the user is detected by ray detection. When the user enters the geofence boundary, the current air pressure value is collected as the reference value P0; the floor is pre-matched with the matched air pressure value. S1.3: Determine the nearest entrance to the parking lot based on the user's location, and use the floor where the nearest entrance is located as the current reference floor F0; S1.4: Continuously collect air pressure data and calculate the pressure difference ΔP between the current air pressure and the reference air pressure P0. Convert the floor data based on the air pressure difference; convert it to the height difference ΔH through the air pressure-height conversion factor K, and then divide it by the floor height H to obtain the floor difference ΔF. S1.5: Based on the historical air pressure queue obtained from continuous air pressure collection in S1.4, calculate the air pressure change rate based on the historical air pressure queue, and identify the vertical movement state based on the air pressure change rate. The vertical movement state includes at least the following: when the air pressure change rate exceeds the threshold R, it is judged as elevator state, and the floor needs to be updated after the elevator stops; when the air pressure change rate is between the threshold R2 and R, it is judged as ramp state, and the floor is continuously updated; when the air pressure change rate is below the threshold R2, it is judged as normal state, and normal floor tracking is performed. S1.6: Reuse RSSI signals of deployed BLE positioning beacons for floor inference: The mobile phone periodically scans the surrounding BLE beacons to obtain the beacon's identifier, RSSI value and pre-configured floor information, and filters out invalid beacon information with signal strength below the threshold; the visible beacons are grouped by floor, the average RSSI value of the beacons in each floor group is calculated, and the floor group with the best average signal strength is taken as the inferred floor. S1.7: Based on the signal strength and confidence level of each data source, a fusion decision is made, and the final floor determination is output; the fusion decision process is as follows: a. According to the S1.5 process, the vertical movement status is judged. If the current state is elevator, the floor update is temporarily suspended and the previously confirmed floor is retained. If the current state is ramp, the barometer is used to track the results in real time. b. Collect data from both barometer and beacon RSSI sources according to S1.4 and S1.6 respectively, and simultaneously obtain the barometer and BLE beacon floor inference results; c. After fusing the two data sources, priority decision is made. When the RSSI of the positioning beacon exceeds the threshold T, the RSSI inference result (confidence level C1) is used first. Otherwise, it is determined whether the barometer confidence level exceeds the threshold θ. If it does, the barometer result is used. d. Perform consistency verification. When the confidence of both data sources is insufficient, compare whether the inference results of the two are consistent. If they are consistent, output the fusion result and raise the confidence to C2. If they are inconsistent, output the unusable result and set the confidence to 0. S2: Parking Space Status Detection S2.1: The geomagnetic sensor detects the dynamic disturbance of the magnetic field by the vehicle's metal through a baseline calibration mechanism; the geomagnetic sensor is embedded in the center of the parking space area and flush with the ground; After the geomagnetic sensor is installed, it automatically collects the static magnetic field value at the current location as the baseline magnetic field value when it is powered on for the first time. This baseline value includes the magnetic field influence value generated by the steel bars of the fixed structure inside the floor slab. Subsequent detection is based on the change in the difference between the magnetic field value and the baseline magnetic field value to determine whether a vehicle has parked in the parking space. S2.2: Two-way infrared beam sensor detects the state of light path obstruction; the two-way infrared beam sensor is set on the two pillars on both sides of the parking space entrance; whether the infrared sensor is blocked is used to determine whether a vehicle is passing through the parking space entrance; S2.3: Based on the combination of geomagnetic and infrared states, the decision matrix determines whether the parking space is vacant, being entered, or occupied. The parking space is considered vacant when the geomagnetic field is not triggered and the infrared beam is not blocked. When the parking space is occupied and the infrared signal is not obstructed by the geomagnetic trigger, the parking space status is "occupied" and the vehicle is already parked. When the parking space is occupied due to geomagnetic triggering and infrared signal being blocked; When the geomagnetic field is not triggered and the infrared sensor is blocked, the parking space status is that a vehicle is entering. S2.4: Anomaly identification and alerting are performed based on a configurable anomaly rule base. The specific anomaly identification and alerting process is as follows: a. Obtain the current state of the geomagnetic sensor and the two-way infrared sensor, and calculate the duration of each state; b. Traverse the exception rule base, match the current state combination and duration with the trigger conditions of each rule to identify exceptions; the exceptions include at least: motorcycle misjudgment, abnormal occlusion, sensor failure, and timeout. c. Execute processing actions, and perform corresponding actions according to the matched anomaly type; the actions include at least: waiting for confirmation, alarming the administrator, dispatching a repair order, or notifying the vehicle owner; S3: Dynamic Path Planning S3.1: The physical space of the parking lot is pre-modeled as a navigation graph containing multiple node types and edge types; the node types include at least parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp end point nodes, and stair nodes; The edge type represents the passable path between nodes. Elevator, ramp and stair edges that cross floors additionally include the vertical movement time cost. S3.2: Determine the user's real-time 3D position: The horizontal position is obtained through BLE positioning, and the floor is obtained through step S1. The user's 3D coordinates are obtained by combining them and mapped to the digital map. S3.3: Detect the current scenario: Distinguish between the "finding a parking space" scenario (driving mode) and the "finding a car" scenario (walking mode) based on the user's parking record; S3.4: Load the corresponding weight configuration and cross-floor passage filtering rules according to the scene: only retain the cross-floor edges of ramps in driving mode, and only retain the edges of elevators and stairs in walking mode; S3.5: Calculate real-time congestion based on the frequency of changes in parking space status in each area; S3.6: Determine whether the current time period is a peak period and adjust the time period weight accordingly; S3.7: In the scenario of finding parking spaces, a two-stage strategy of pre-screening → fine calculation is adopted to screen candidate parking spaces: in the pre-screening stage, floor filtering, area filtering and distance truncation are performed in sequence, and in the fine calculation stage, the precise path is calculated for the candidate parking spaces. S3.8: Calculate the dynamic cost of path nodes, taking into account congestion weight, time period weight, and floor weight; S3.9: The optimal path is found by combining a path search algorithm with dynamic weights; S3.10: Perform multi-dimensional scoring on candidate parking spaces and output multi-objective recommendation results: shortest distance path, least congested path, and comprehensive recommended path.
[0018] The beneficial effects of this invention are: The parking lot indoor navigation system and method based on multi-source fusion provided by this invention organically integrates three major technologies: multi-source fusion floor recognition, dual-sensor mutual verification parking space detection, and scene-adaptive dynamic weighted path planning, forming a complete parking lot navigation closed loop from user positioning—parking space perception—intelligent navigation, achieving: Low-hardware-cost floor recognition: Utilizing the built-in barometer of the mobile phone and the RSSI signal of the BLE positioning beacon deployed in the parking lot for dynamic confidence fusion, the three-level detection of barometric pressure change rate can identify three vertical movement states: elevator, ramp, and normal, ensuring the continuity of cross-floor positioning; High-accuracy parking space status detection: The geomagnetic sensor and the bidirectional infrared sensor are cross-validated through a decision matrix, which significantly improves the detection accuracy of the single sensor solution; the supporting anomaly detection rule base and configurable expansion mechanism ensure the robustness of the system in long-term operation. Congestion-adaptive optimal path recommendation: The classic A* algorithm is improved by introducing three types of dynamic weight factors: congestion, time period, and floor. The algorithm automatically identifies the weight strategy and movement constraints for two scenarios: "finding a parking space" and "finding a car". In the scenario of finding a parking space, multi-objective path recommendation is further provided. Attached Figure Description
[0019] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a diagram of the overall system architecture of the present invention; Figure 2 This is a flowchart of the method of the present invention; Figure 3 This is a flowchart of the baseline floor calibration process after entry according to the present invention; Figure 4 This is a flowchart of the floor calculation process of the present invention; Figure 5 This is a flowchart of the vertical movement state air pressure detection process of the present invention; Figure 6 This is a flowchart of the floor estimation process of the present invention; Figure 7 This is a flowchart of the multi-source fusion decision-making process of the present invention; Figure 8 This is a flowchart of the dual-sensor fusion parking space detection process of the present invention; Figure 9 This is a flowchart of the abnormal state analysis of the present invention; Figure 10 This is a flowchart of the rule-configurable extension framework of the present invention; Figure 11 This is the overall flowchart of the dynamic weighted path planning of this invention; Figure 12 This is a flowchart of the scene splitting and calculation process of the present invention. Detailed Implementation
[0021] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0022] Example 1 like Figure 1 As shown, an indoor parking navigation system based on multi-source fusion includes: The multi-source floor identification module includes a barometric pressure acquisition unit for acquiring real-time barometric pressure data values from the mobile terminal. The benchmark calibration unit, due to the influence of weather, altitude, and other factors on atmospheric pressure, cannot directly use absolute air pressure values for floor determination. Therefore, it is necessary to record the benchmark air pressure and benchmark floor when the user enters the parking lot, and subsequently calculate using the relative pressure difference. The benchmark air pressure at the moment the user enters the parking area is collected, and the benchmark floor is calculated based on this benchmark pressure. In this embodiment, the benchmark calibration unit uses a geofencing mechanism to trigger calibration. Pre-configure the geographic boundary coordinates of the parking lot to form a geofence; the boundary of the geofence is set in the area surrounding the parking lot entrance to ensure that calibration is completed in the outdoor area; such as Figure 3 As shown, the benchmark calibration process consists of three stages. The first stage involves continuous GPS positioning and fence detection. The system continuously acquires the user's GPS coordinates and uses the ray casting method to determine whether the user's location has entered the preset geofence area. The second stage involves entrance identification and floor determination. When the system detects that the user has entered the fence, it calculates the distance from the user's location to each pre-configured entrance, selects the nearest entrance, and obtains its corresponding floor as the benchmark floor. The third stage involves benchmark air pressure acquisition. The system immediately acquires the current air pressure value as the benchmark air pressure P0 and stores it together with the benchmark floor F0. After calibration, the system begins floor identification. Thus, the benchmark air pressure at the time of entry and the current benchmark floor calibration process are completed.
[0023] The floor calculation unit calculates floor changes based on the reference air pressure and the current real-time air pressure to obtain the current floor; for example... Figure 4 As shown, the floor calculation process consists of five steps. The first step checks the calibration status; if the reference air pressure P0 is empty, an invalid result is returned. The second step calculates the air pressure difference, ΔP = P0 - P_current, and determines the user's vertical movement direction based on the difference ΔP between the reference air pressure and the current air pressure P_current. The third step converts the height difference ΔH, ΔH = ΔP / K, where K = air pressure - height coefficient (initial value 12 Pa / m). The fourth step calculates the floor difference ΔF, rounding the height difference to the floor height H and converting it to ΔF, then comparing it with the reference floor F0. The sums are used to obtain the current floor level, ΔF = round(ΔH / H), where H is the floor height, taken as 3.5m; the current floor level F_current = F0 + ΔF; the fifth step is to calculate the confidence level, which is the degree of reliability of the result calculated based on the deviation between the actual air pressure and the theoretical air pressure. The smaller the deviation, the higher the confidence level; P_ideal (ideal air pressure) = P0 - ΔF × H × K, deviation = |P_current - P_ideal|, confidence level = max(0, 1 - deviation\D), where D is the deviation threshold, taken as 20Pa; The final output floor number is calculated as F_current + confidence level.
[0024] The vertical movement detection unit determines the target vertical movement state type based on different air pressure change rates generated by different movement types in the vertical direction. The principle of vertical movement detection is as follows: Normal walking / stationary: The air pressure changes slowly, and the change rate is usually < R2 Pa / s (the initial value of R2 is 8); Ramp driving: The vehicle continuously moves up and down the ramp, the air pressure changes moderately, and the change rate is about 10 - 20 Pa / s (R2 ≤ |Rate| < R); Elevator movement: The air pressure changes rapidly, and the change rate is usually > R Pa / s (the initial value of R is 30); And adopt corresponding floor update strategies according to different vertical movement state types. The implementation process of the vertical movement detection unit is as follows: Based on the air pressure history queue formed by continuous air pressure monitoring after the user enters the parking lot geofence range, calculate the air pressure change rate. Set two levels of change rate thresholds R and R2: When the air pressure change rate exceeds the first threshold R, it is determined as the elevator state, and the floor information needs to be updated after the elevator stops; When the air pressure change rate is between the two thresholds R and R2, it is determined as the ramp state, and the floor is continuously updated; When the air pressure change rate is lower than the second threshold R2, it is determined as the normal state, and normal floor tracking is performed; The RSSI floor inference unit, due to the attenuation of about 15 - 30 dB of the 2.4 GHz BLE signal by the reinforced concrete floor slab, results in the RSSI of the same - floor beacon received by the user's mobile phone being significantly stronger than that of other - floor beacons. Based on the RSSI signal of the BLE positioning beacon, infer the floor where the user is located through the floor grouping comparison strategy; Periodically scan the BLE positioning beacon, filter out the invalid beacons with signal strength lower than the lowest threshold; Group the valid beacons by floor, calculate the average RSSI signal strength of each floor group; Select the floor group with the optimal average signal strength as the inferred floor; The fusion decision - making unit performs dynamic fusion based on the reference air pressure data, real - time air pressure data, air pressure change rate, and RSSI signal, and outputs the final floor determination. The processing flow of multi - source fusion decision - making is divided into four stages: The first stage involves predicting the vertical movement status (highest priority). If the current state is an elevator, floor updates are temporarily suspended, and the previously confirmed floor is retained. If the current state is a ramp, the barometer's real-time tracking results are prioritized. The second stage involves dual data source acquisition, simultaneously acquiring the BLE positioning beacon RSSI floor inference results (including the inferred floor and the strongest RSSI value) and the barometer calculation results (including the calculated floor and confidence level). The third stage involves priority decision-making. When the positioning beacon RSSI exceeds the threshold T, the RSSI inference results (confidence level C1) are prioritized. Otherwise, it is determined whether the barometer confidence level exceeds the threshold θ. If it does, the barometer result is used. The fourth stage involves consistency verification. When the confidence levels of both data sources are insufficient, the inference results are compared for consistency. If they are consistent, the fused result is output and the confidence level is increased to C2. If they are inconsistent, the result is output as unusable and the confidence level is set to 0. The fusion decision unit simultaneously acquires the RSSI floor inference results from the BLE positioning beacon and the barometer calculation results, and adopts the following strategy to fuse the two results: When the BLE positioning beacon signal strength exceeds the set threshold, the RSSI floor inference result is used first. When the BLE positioning beacon signal strength is lower than the set threshold and the barometer confidence level exceeds the set threshold, the barometer floor result is used. When the results from the two data sources are consistent, the output confidence level is improved.
[0025] The dual-sensor fusion parking space detection module includes: a geomagnetic sensor unit, embedded in the center of the parking space, which detects the vacancy status of the parking space based on the disturbance characteristics of the vehicle's metal structure to the Earth's magnetic field; the geomagnetic sensor unit adopts a baseline calibration mechanism: when the geomagnetic sensor is first powered on after installation, it automatically collects the static magnetic field value of the current location as a baseline; this baseline already includes the influence of the steel reinforcement structure within the floor slab on the magnetic field, and this influence value is fixed, equivalent to a constant; during subsequent operation, it detects the change in magnetic field relative to the baseline, and the dynamic disturbance generated when a vehicle parks triggers the detection; the geomagnetic sensor uses NB-IoT or LoRa for wireless reporting, applicable to all floors; The two-way infrared beam unit is installed on the pillars on both sides of the parking space entrance. When a vehicle enters or exits the parking space, the vehicle will block the two-way infrared sensors on both sides. By detecting the blocking signal, the status of the vehicle when entering or exiting the parking space can be detected. The geomagnetic sensor and the two-way infrared sensor are fused through a decision matrix. Based on the fused state combination, the current status of the parking space can be accurately determined. The status decision unit, based on a combination of geomagnetic detection and two-way infrared monitoring, determines whether a parking space is vacant, being entered, or occupied through a decision matrix. Table 1. Explanation of the Decision Matrix Geomagnetism Infrared State determination Scene Description 0 0 available No cars passing by, no cars parked. 0 1 entering The vehicle is entering; the front of the vehicle is blocking infrared light but has not yet reached the geomagnetic location. 1 0 occupied Vehicle fully in position, geomagnetic trigger, infrared recovery. 1 1 occupied The vehicle is not fully in place; the rear of the vehicle is still in the infrared position. The dual-sensor parking space detection process consists of four stages. The first stage involves dual-channel sensor data acquisition: a geomagnetic sensor continuously monitors changes in the magnetic field above the parking space, while a bidirectional infrared sensor continuously monitors the beam status at the parking space entrance. The second stage involves single-sensor status determination: if the geomagnetic sensor detects a magnetic field disturbance exceeding the baseline threshold, it is considered triggered (geomag=1); if the bidirectional infrared sensor detects the beam being blocked, it is considered triggered (infrared=1). The third stage involves decision matrix status determination, cross-validating the status combination of the two sensors: if the geomagnetic sensor is not triggered and the infrared sensor is not blocked, the space is considered available; if the geomagnetic sensor is not triggered but the infrared sensor is blocked, the space is considered entering; if the geomagnetic sensor is triggered, the space is considered occupied. The fourth stage involves result output and confidence calculation: the parking space status is output, and confidence is calculated based on the consistency of the dual-sensor statuses: P1 is the confidence level when the statuses are consistent, and P2 is the confidence level when the statuses are not completely consistent. Simultaneously, timestamps of status changes are recorded for anomaly detection.
[0026] The anomaly detection unit identifies and responds to abnormal situations. It includes a built-in rule base and a configurable rule engine. The built-in rules include at least motorcycle misjudgment, abnormal obstruction, sensor failure, timeout, rapid entry and exit, signal jitter, low battery alarm, and nighttime anomalies. In addition to the above-mentioned built-in anomaly rules, it also supports dynamically adding custom rules through configuration. Alternatively, it supports dynamically enabling or disabling specific rules based on the actual situation of the parking lot. The anomaly detection process consists of three stages. The first stage involves acquiring status data, obtaining the current status of the geomagnetic sensor and infrared sensor, and calculating the duration of each status. The second stage involves rule matching, traversing the anomaly rule library, and matching the current status combination and duration with the trigger conditions of each rule. This supports the identification of various anomaly types, such as motorcycle misjudgment, abnormal occupancy, sensor failure, and timeout. The third stage involves executing processing actions, performing corresponding actions based on the matched anomaly type: waiting for confirmation, alarming the administrator, dispatching a repair order, or notifying the vehicle owner.
[0027] Table 2 Detailed Explanation of Exception Rules Exception types Triggering conditions Processing Actions Scene Description Motorcycle misjudgment <![CDATA[Geomagnetism = 1, Infrared = 0, Duration < t1]]> Awaiting confirmation Motorcycles have a small metal content, their infrared sensors are not blocked, and they pass by quickly. Abnormal occlusion <![CDATA[Geomagnetism = 0, Infrared = 1, Duration > t2]]> Alarm Administrator The infrared beam was blocked by an object, but no car was parked. Sensor failure <![CDATA[Geomagnetism = 1, Infrared = 1, Duration > t3]]> Repair dispatch Dual sensors trigger for extended periods Timeout <![CDATA[Geomagnetism = 1, duration > t4]]> Notify car owner <![CDATA[The vehicle has been parked for more than t4 without leaving]]> Quick entry and exit <![CDATA[After occupancy <t5 leaves]]> Log recording The vehicle exited after entering the wrong parking space. signal jitter <![CDATA[The state switches more than t6 times within 1 second]]> Filtering and smoothing Sensor boundary value jitter Low battery warning <![CDATA[Geomagnetic battery <t7]]> Notification Maintenance Preventative maintenance reminder Nighttime anomalies <![CDATA[After 22:00 entering>t8]]> Security alarms Nighttime abnormal stay detection The dynamic weighted path planning module relies on two prerequisites for path planning: first, a digital map of the parking lot to describe the topology and coordinates of the parking lot's physical space; and second, user 3D positioning to determine the user's real-time location on the map. The dynamic weighted path planning module includes: a digital map unit that models the parking lot as a twin navigation graph containing multiple node and edge types, wherein: Node types include: parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp endpoint nodes, and staircase nodes; The walkable paths between nodes form the edges of the graph, and the edge weight is the physical distance between the two nodes, which is the base cost of the A* algorithm; the edge weights of elevators and ramps that cross floors additionally include the vertical movement time cost. The three-dimensional positioning unit combines the horizontal position positioning of the floor with the floor positioning to obtain the user's three-dimensional coordinates, thereby accurately locating the user's position. The horizontal position (x, y) is achieved through BLE trilateration: the mobile phone scans surrounding BLE positioning beacons, applies a sliding window filter to the RSSI of each beacon, and uses a logarithmic distance attenuation model (RSSI = A - 10n·log...). 10 (d), where A is the reference RSSI at 1 meter and n is the path loss index), convert the RSSI into a distance estimate. Using the known coordinates of ≥3 beacons and the estimated distance as input, trilateration is used to solve for the user's coordinates (x, y). The positioning accuracy is usually 1~5 meters, which meets the needs of parking lot navigation. Floor positioning is achieved by integrating the barometer reading with RSSI, as previously described. Finally, by combining the two parts, the user's complete location (x, y, floor) can be obtained. The system maps this location to the nearest graph node in the digital map, which serves as the starting point for the A* algorithm.
[0028] After obtaining the user's 3D coordinates, path planning is performed. In parking lots, there are two main scenarios where path planning and navigation are required: finding a parking space, in which the user is usually driving; and finding the car, in which the user is walking. The target coordinates for both scenarios are obtained directly from the pre-configured attributes of the parking space nodes in the digital map, and the target parking space node is the endpoint of the A* algorithm. Existing parking lot route planning technologies use fixed-weight A* or Dijkstra algorithms, which only use path distance as the cost function. This results in static planning and neglects real-time situational awareness. They cannot perceive real-time traffic flow distribution within the parking lot, easily guiding users to areas with high traffic density during peak hours, causing congestion and low location efficiency. Furthermore, congestion patterns vary at different times, and fixed weights cannot adapt to these changes. Additionally, cross-floor navigation does not consider vertical movement costs such as elevator waiting time and ramp travel time, leading to inaccurate estimation of floor switching costs. This embodiment upgrades path planning from static shortest distance to dynamic comprehensive optimality; the system collects the frequency of status changes of parking space sensors in each area in real time, calculates the area congestion degree (congestion degree = occupancy rate × α + activity level × β), and uses the congestion degree as the dynamic weight W1 of the passage cost of path nodes; at the same time, a time period weight W2 is introduced to automatically increase congestion penalties during morning and evening peak hours; a floor weight W3 is introduced to calculate the cross-floor time cost based on the scene movement mode (driving on ramps / walking on elevators and stairs); when searching the path, the node cost = base distance × W1 × W2 × W3, enabling the algorithm to automatically avoid areas with dense traffic flow; this technology also designs a scene adaptive mechanism to distinguish between two scenarios: finding parking spaces (driving mode, based on occupancy rate penalty for areas with no vacancies) and finding a vehicle (walking mode, based on activity level penalty for high traffic flow channels), and automatically switches the weight strategy and cross-floor graph edge filtering rules; The specific implementation process is as follows: The first stage receives the user's pathfinding request, obtains the user's current 3D position (x, y, floor) as the starting point, and determines the target parking space coordinates as the endpoint based on the scenario (the parking space search scenario is determined through multi-target filtering, while the car search scenario is queried from parking records). The second stage performs scene recognition and weight configuration loading, queries the user's parking records to determine the current scenario (if there is a parked vehicle, it's a car search scenario; otherwise, it's a parking space search scenario), and loads the corresponding scene's weight strategy and cross-floor graph edge filtering rules (only ramp edges are retained in driving mode, and only elevator / staircase edges are retained in walking mode). The third stage performs dynamic weight calculation, with the three weight categories... Parallel computation: Congestion weight W1 is calculated based on the real-time parking space status to determine the regional congestion level; time period weight W2 is determined based on whether the current time period is a peak period; floor weight W3 is calculated based on the scene's movement mode and the time cost of crossing floors; in the fourth stage, a dynamic A* algorithm is executed for pathfinding, with node cost = base distance × W1 × W2 × W3, and the heuristic function adopts Manhattan distance floor penalty, with a comprehensive evaluation value f(n) = g(n) + h(n), and a priority queue is used to manage nodes to be explored; in the fifth stage, the optimal path is output. In the parking space search scenario, the shortest distance path, the least congested path, and the comprehensive recommended path are also output for the user to choose from.
[0029] The congestion calculation unit calculates real-time congestion based on the frequency of changes in parking space status in each area. The congestion calculation unit takes into account both occupancy rate and activity level to calculate the congestion weight W1; Occupancy rate is the ratio of the number of occupied parking spaces to the total number of parking spaces; activity level is the normalized value of the frequency of status changes within a preset time window; The time period weight W2 is adjusted based on whether the current time period is during a peak period, and the calculation method is as follows: If the time period hour ∈ {8, 9, 12, 13, 18, 19}, then W2 = η, where η is the weighting coefficient for peak hours, with an initial value of 1.5; if hour falls in other time periods, then W2 = 1. The W3 floor weight system first calculates the difference between the target floor and the current floor, denoted as ΔF. If the floor difference is 0, it means that the target and the current location are on the same floor and there is no need to move across floors. At this time, the floor weight is set to the baseline value of 1, and no additional penalty is generated. If the floor difference is not zero, the system performs traffic splitting according to the current scene mode. The dynamic weighting unit includes at least multiple weighting factors such as congestion weight, time period weight, and floor weight, and path planning is performed based on these multiple weighting factors. The scene adaptive unit is used to determine different navigation scenarios and automatically switch weight strategies and cross-floor channel filtering rules; The scene adaptive unit includes two scenarios: finding a parking space and searching for a car, and is configured with differentiated weighting strategies and cross-floor passage filtering rules: In the scenario of finding a parking space, the driver is usually in a driving state: In this state, the congestion weight W1 is calculated based on the occupancy rate; the floor weight W3 is calculated based on the ramp driving time, only retaining the ramp crossing the floor edge, and the score comprehensively considers distance, congestion degree and floor penalty. The car-finding scenario is usually in walking mode: in this state, the congestion weight W1 is calculated based on activity level; the floor weight W3 is calculated based on the smaller value between elevator waiting time and stair walking time, and only the elevator side and the stair side are retained; Automatically identify the current scenario and switch the corresponding weight configuration by querying the user's parking records; The calculation process is as follows: Congestion weight W1: Parking space search scenario: W1 = 1 + occupancy × γ1 Car search scenario: W1 = 1 + activity × γ2 occupancy: Area occupancy rate, with a value range of [0, 1]. activity: Regional activity level, with a value range of [0, 1]. γ1 is the congestion weighting coefficient for the parking space search scenario, with an initial value of 3; γ2 is the congestion weighting coefficient for the car search scenario, with an initial value of 2. Floor weight W3: Parking search scenario: The user is driving, and the vehicle can only cross floors via ramps. The system multiplies the absolute value of the floor difference by the ramp travel time parameter T2 to obtain the total time spent crossing floors. This time is then divided by the normalized baseline time T_base and a baseline weight of 1 is added to obtain the final floor weight, i.e., W3 = 1 + |ΔF|×T2 / T_base. This mechanism ensures that the higher the target floor, the longer the ramp travel time, and the greater the weight penalty, so the algorithm naturally tends to recommend parking spaces on lower floors. In the car-finding scenario: the user is on foot and can choose to cross floors using either an elevator or stairs. The system calculates the time for each method: elevator time is a fixed parameter T1 representing the waiting and riding time, independent of the floor difference; stair time is the absolute value of the floor difference multiplied by the walking time per floor parameter T3. The system takes the smaller of the two values as the actual floor-crossing time T_cross = min(T1, |ΔF|×T3), reflecting the assumption that the user will choose the fastest method. This time is normalized and then weighted with a baseline to obtain the final floor weight. W3 = 1 + T_cross / T_base; The path search unit is used to calculate the optimal path using a path search algorithm combined with dynamic weights. The adaptive weight configuration process based on the two scenarios above is as follows: The first stage is scenario detection, which queries the current parking records based on the user ID to determine if the user has a parked vehicle; the second stage is mode switching, which enters the vehicle search mode (walking, elevator / stairs, congestion weight based on activity level, target is known parking space) if there is a parked vehicle, and enters the parking space search mode (driving, ramp only, congestion weight based on occupancy rate, target is vacant parking space) if there is no parked vehicle; the third stage is configuration output, which outputs the scenario mode, target parking space and weight configuration for subsequent use by the dynamic A* algorithm; This embodiment improves upon the classic A* algorithm by introducing dynamic cost calculation and cross-floor pathfinding support. The algorithm receives the 3D coordinates (x, y, floor) of the starting and ending points, using the road network topology of a parking lot digital map as the search graph. During the search, the algorithm maintains a priority queue sorted by the comprehensive evaluation value f, and each time retrieves the node with the smallest f value for expansion. For each neighbor node of the current node, the algorithm calculates the dynamic cost: multiplying the base distance between the two nodes by the congestion weight W1, the time period weight W2, and the floor weight W3, automatically increasing the cost for congested areas, peak hours, and cross-floor movement. The heuristic function uses Manhattan distance plus floor penalty to estimate the remaining cost to the destination, ensuring the algorithm's adoptability. When performing cross-floor pathfinding, the algorithm filters available cross-floor edges based on the current scene's movement mode (driving mode only uses ramps, walking mode only uses elevators / stairs), ensuring the output path conforms to actual physical constraints. The algorithm finally outputs the optimal path node sequence from the starting point to the destination. The multi-objective optimization unit is used to score candidate objectives in multiple dimensions and output optimal paths in multiple dimensions for users to choose from. In the parking space search scenario, the multi-objective optimization unit adopts a two-stage strategy of pre-screening followed by fine-tuning. Pre-screening stage: Obtain all available parking spaces from the parking space status database, and perform floor filtering, area filtering, and distance truncation in sequence; Precise calculation phase: Calculate the precise path for the selected candidate parking spaces, and obtain the path distance, congestion level along the route, and floor difference; The overall score is calculated by weighting the normalized values of each dimension. The top few parking spaces are selected from each of the three dimensions of shortest distance, lowest congestion, and best overall score. After merging and deduplicating, a recommended list is output.
[0030] The multi-objective path recommendation process consists of four stages. The first stage involves candidate parking space screening, which involves querying all available parking spaces from the parking space status database and then filtering by floor, region, and distance to select the top 20 candidate parking spaces. The second stage involves precise path calculation, which involves executing the dynamic A* algorithm on each candidate parking space to obtain path distance, congestion along the route, and floor difference information. The third stage involves normalization and multi-dimensional scoring, which involves normalizing the data of each dimension to the range of [0,1] and calculating a comprehensive score based on preset weight coefficients. The fourth stage involves multi-dimensional sorting and output, which involves sorting by distance, congestion, and comprehensive score, and then merging the top 3 parking spaces from each dimension to remove duplicates before outputting the recommendation list.
[0031] The above multidimensional scoring uses the following formula: Score = Distance × δ1 + Congestion × ε1 + FloorPenalty× ζ1 Where Distance is the total path distance output by the A* algorithm (normalized to [0,1]). Congestion is the weighted average congestion level of the route through each region ([0,1]). FloorPenalty is |target floor - user floor| / maximum floor difference (normalized to [0,1]). The lower the score, the better the parking space; normalization ensures that the three dimensions are compared on the same scale; where δ1, ε1, and ζ1 are the preset weight coefficients for the parking space search scenario.
[0032] Example 2 A parking lot indoor navigation method based on multi-source fusion includes the following steps: S1: Floor Recognition S1.1: Pre-configure the geofence boundary coordinates of the parking lot, wherein the fence boundary is set in the outdoor area outside the entrance of the parking lot; S1.2: The positional relationship between the geofence boundary and the user is detected by ray detection. When the user enters the geofence boundary, the current air pressure value is collected as the reference value P0; the floor is pre-matched with the matched air pressure value. S1.3: Determine the nearest entrance to the parking lot based on the user's location, and use the floor where the nearest entrance is located as the current reference floor F0; S1.4: Continuously collect air pressure data and calculate the pressure difference ΔP between the current air pressure and the reference air pressure P0. Convert the floor data based on the air pressure difference; convert it to the height difference ΔH through the air pressure-height conversion factor K, and then divide it by the floor height H to obtain the floor difference ΔF. S1.5: Based on the historical air pressure queue obtained from continuous air pressure collection in S1.4, calculate the air pressure change rate based on the historical air pressure queue, and identify the vertical movement state based on the air pressure change rate. The vertical movement state includes at least the following: when the air pressure change rate exceeds the threshold R, it is judged as elevator state, and the floor needs to be updated after the elevator stops; when the air pressure change rate is between the threshold R2 and R, it is judged as ramp state, and the floor is continuously updated; when the air pressure change rate is below the threshold R2, it is judged as normal state, and normal floor tracking is performed. S1.6: Reuse RSSI signals of deployed BLE positioning beacons for floor inference: The mobile phone periodically scans the surrounding BLE beacons to obtain the beacon's identifier, RSSI value and pre-configured floor information, and filters out invalid beacon information with signal strength below the threshold; the visible beacons are grouped by floor, the average RSSI value of the beacons in each floor group is calculated, and the floor group with the best average signal strength is taken as the inferred floor. S1.7: Based on the signal strength and confidence level of each data source, a fusion decision is made, and the final floor determination is output; the fusion decision process is as follows: a. According to the S1.5 process, the vertical movement status is judged. If the current state is elevator, the floor update is temporarily suspended and the previously confirmed floor is retained. If the current state is ramp, the barometer is used to track the results in real time. b. Perform barometer and beacon RSSI dual data source acquisition according to S1.4 and S1.6 respectively, and simultaneously obtain barometer and BLE beacon floor inference results; c. After fusing the two data sources, priority decision is made. When the RSSI of the positioning beacon exceeds the threshold T, the RSSI inference result (confidence level C1) is used first. Otherwise, it is determined whether the barometer confidence level exceeds the threshold θ. If it does, the barometer result is used. d. Perform consistency verification. When the confidence of both data sources is insufficient, compare whether the inference results of the two are consistent. If they are consistent, output the fusion result and raise the confidence to C2. If they are inconsistent, output the unusable result and set the confidence to 0. S2: Parking Space Status Detection S2.1: The geomagnetic sensor detects the dynamic disturbance of the magnetic field by the vehicle's metal through a baseline calibration mechanism; the geomagnetic sensor is embedded in the center of the parking space area and flush with the ground; After the geomagnetic sensor is installed, it automatically collects the static magnetic field value at the current location as the baseline magnetic field value when it is powered on for the first time. This baseline value includes the magnetic field influence value generated by the steel bars of the fixed structure inside the floor slab. Subsequent detection is based on the change in the difference between the magnetic field value and the baseline magnetic field value to determine whether a vehicle has parked in the parking space. S2.2: Two-way infrared beam sensor detects the state of light path obstruction; the two-way infrared beam sensor is set on the two pillars on both sides of the parking space entrance; whether the infrared sensor is blocked is used to determine whether a vehicle is passing through the parking space entrance; S2.3: Based on the combination of geomagnetic and infrared states, the decision matrix determines whether the parking space is vacant, being entered, or occupied. The parking space is considered vacant when the geomagnetic field is not triggered and the infrared beam is not blocked. When the parking space is occupied and the infrared signal is not obstructed by the geomagnetic trigger, the parking space status is "occupied" and the vehicle is already parked. When the parking space is occupied due to geomagnetic triggering and infrared signal being blocked; When the geomagnetic field is not triggered and the infrared sensor is blocked, the parking space status is that a vehicle is entering. S2.4: Anomaly identification and alerting are performed based on a configurable anomaly rule base. The specific anomaly identification and alerting process is as follows: a. Obtain the current state of the geomagnetic sensor and the two-way infrared sensor, and calculate the duration of each state; b. Traverse the exception rule base, match the current state combination and duration with the trigger conditions of each rule to identify exceptions; the exceptions include at least: motorcycle misjudgment, abnormal occlusion, sensor failure, and timeout. c. Execute processing actions, and perform corresponding actions according to the matched anomaly type; the actions include at least: waiting for confirmation, alarming the administrator, dispatching a repair order, or notifying the vehicle owner; S3: Dynamic Path Planning S3.1: The physical space of the parking lot is pre-modeled as a navigation graph containing multiple node types and edge types; the node types include at least parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp end point nodes, and stair nodes; The edge type represents the passable path between nodes. Elevator, ramp and stair edges that cross floors additionally include the vertical movement time cost. S3.2: Determine the user's real-time 3D position: The horizontal position is obtained through BLE positioning, and the floor is obtained through step S1. The user's 3D coordinates are obtained by combining them and mapped to the digital map. S3.3: Detect the current scenario: Distinguish between the "finding a parking space" scenario (driving mode) and the "finding a car" scenario (walking mode) based on the user's parking record; S3.4: Load the corresponding weight configuration and cross-floor passage filtering rules according to the scene: only retain the cross-floor edges of ramps in driving mode, and only retain the edges of elevators and stairs in walking mode; S3.5: Calculate real-time congestion based on the frequency of changes in parking space status in each area; S3.6: Determine whether the current time period is a peak period and adjust the time period weight accordingly; S3.7: In the scenario of finding parking spaces, a two-stage strategy of pre-screening → fine calculation is adopted to screen candidate parking spaces: in the pre-screening stage, floor filtering, area filtering and distance truncation are performed in sequence, and in the fine calculation stage, the precise path is calculated for the candidate parking spaces. S3.8: Calculate the dynamic cost of path nodes, taking into account congestion weight, time period weight, and floor weight; S3.9: The optimal path is found by combining a path search algorithm with dynamic weights; S3.10: Perform multi-dimensional scoring on candidate parking spaces and output multi-objective recommendation results: shortest distance path, least congested path, and comprehensive recommended path.
Claims
1. A parking lot indoor navigation system based on multi-source fusion, characterized in that, include: The multi-source floor identification module includes a barometric pressure acquisition unit for acquiring real-time barometric pressure data values from the mobile terminal. The reference calibration unit is used to collect the reference air pressure when the user just enters the parking area, and to calculate the reference floor when the user enters the parking area based on the reference air pressure. The floor calculation unit calculates the floor changes based on the reference air pressure and the current real-time air pressure, thereby obtaining the current floor. The vertical movement detection unit determines the target's vertical movement state type based on the different air pressure change rates generated by different types of movement in the vertical orientation; and adopts corresponding floor update strategies according to different vertical movement state types. The RSSI floor inference unit infers the user's floor based on the RSSI signal from the BLE positioning beacon and uses a floor grouping comparison strategy. The fusion decision unit dynamically fuses baseline air pressure data, real-time air pressure data, air pressure change rate, and RSSI signal to output the final floor determination. The dual-sensor fusion parking space detection module includes: a geomagnetic sensor unit, which is embedded in the center of the parking space and detects the vacancy status of the parking space based on the disturbance characteristics of the metal structure of the vehicle body to the Earth's magnetic field. Two-way infrared beam units are installed on the pillars on both sides of the parking space entrance to detect the obstruction status when vehicles enter or exit the parking space. The status decision unit, based on a combination of geomagnetic detection and two-way infrared monitoring, determines whether a parking space is vacant, being entered, or occupied through a decision matrix. Anomaly detection unit identifies, detects, and responds to abnormal situations; The dynamic weighted path planning module includes: a digital map unit, used to twinnize the physical space of the parking lot into a navigation map with multiple node types; The three-dimensional positioning unit combines the horizontal position positioning of the floor and the floor positioning to obtain the user's three-dimensional coordinates, thereby accurately locating the user's position; The congestion calculation unit calculates real-time congestion based on the frequency of changes in parking space status in each area. The dynamic weighting unit includes at least multiple weighting factors such as congestion weight, time period weight, and floor weight, and path planning is performed based on these multiple weighting factors. The scene adaptive unit is used to determine different navigation scenarios and automatically switch weight strategies and cross-floor channel filtering rules; The path search unit is used to calculate the optimal path using a path search algorithm combined with dynamic weights. The multi-objective optimization unit is used to score candidate objectives in multiple dimensions and output optimal paths in multiple dimensions for users to choose from.
2. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The benchmark calibration unit uses a geofencing mechanism to trigger calibration. Pre-configure the geographic boundary coordinates of the parking lot to form a geofence; The boundary of the geofence is set in the area surrounding the parking lot entrance to ensure that the calibration is completed in the outdoor area; The ray casting method is used to determine whether a user has entered the geofence area. Once a user enters the geofence area, the nearest entrance to the user is selected, and the floor where the entrance is located is obtained to achieve the current user's floor location. This floor is used as the reference floor.
3. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The vertical movement detection unit is implemented as follows: Based on the historical air pressure queue formed by continuous air pressure monitoring after a user enters the parking lot geofence area, the air pressure change rate is calculated; two levels of change rate thresholds R and R2 are set: when the air pressure change rate exceeds the first threshold R, it is determined to be in elevator status, and the floor information needs to be updated after the elevator stops; when the air pressure change rate is between the two thresholds R and R2, it is determined to be in ramp status, and the floor is continuously updated. When the rate of change of air pressure is lower than the second threshold R2, it is considered to be in a normal state, and normal floor tracking is performed. The RSSI floor inference unit uses a floor grouping comparison strategy to determine and locate floors. Periodically scan BLE location beacons and filter out invalid beacons with signal strength below a minimum threshold; The effective beacons are grouped by floor, and the average RSSI signal strength of each floor group is calculated. The floor group with the best average signal strength is selected as the inferred floor.
4. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The fusion decision unit simultaneously acquires the RSSI floor inference results from the BLE positioning beacon and the barometer calculation results, and adopts the following strategy to fuse the two results: When the BLE positioning beacon signal strength exceeds the set threshold, the RSSI floor inference result is used first. When the BLE positioning beacon signal strength is lower than the set threshold and the barometer confidence level exceeds the set threshold, the barometer floor result is used. When the results from the two data sources are consistent, the output confidence level is improved.
5. A parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The geomagnetic sensing unit adopts a baseline calibration mechanism: when the geomagnetic sensor is powered on for the first time after installation, it automatically collects the static magnetic field value at the current location as a baseline; this baseline already includes the influence of the steel reinforcement fixing structure in the floor slab on the magnetic field, and this influence value is fixed, equivalent to a constant. During subsequent operation, the change in magnetic field relative to the baseline is detected, and the detection is triggered by dynamic disturbances generated when the vehicle stops. The geomagnetic sensor uses NB-IoT or LoRa for wireless reporting and is suitable for all floors; The geomagnetic sensor and the bidirectional infrared sensor are fused through a decision matrix, and the current state of the parking space is accurately determined based on the fused state combination.
6. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The anomaly detection unit includes a built-in rule base and a configurable rule engine: The built-in rules include at least motorcycle misjudgment, abnormal obstruction, sensor failure, timeout, rapid entry and exit, signal jitter, low battery alarm, and nighttime anomalies; It supports dynamically adding custom rules through configuration; Supports dynamically enabling or disabling specified rules.
7. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The congestion calculation unit comprehensively considers both occupancy rate and activity level to calculate the congestion weight W1: Occupancy rate is the ratio of the number of occupied parking spaces to the total number of parking spaces; Activity level is the normalized value of the frequency of state changes within a preset time window; The time period weight W2 is adjusted based on whether the current time period is a peak period, and the calculation method is as follows: If the time period hour∈{8, 9, 12, 13, 18, 19}, then W2=η, where η is the weighting coefficient for peak hours, with an initial value of 1.5; If hour falls in other time periods, then W2 = 1; The floor weight W3 system first calculates the difference between the target floor and the current floor, denoted as ΔF. If the floor difference is 0, it means that the target and the current position are on the same floor and there is no need to move across floors. At this time, the floor weight is set to the baseline value of 1, and no additional penalty is generated. If the floor difference is not zero, the system will handle the traffic according to the current scenario mode; The scene adaptive unit includes two scenarios: finding a parking space and finding a car, and is configured with differentiated weighting strategies and cross-floor passage filtering rules: In the parking space search scenario: Congestion weight W1 is calculated based on occupancy rate; floor weight W3 is calculated based on ramp travel time, only retaining ramp crossing floor edges, and the score comprehensively considers distance, congestion level and floor penalty; Car search scenario: Congestion weight W1 is calculated based on activity level; Floor weight W3 is calculated based on the smaller value between elevator waiting time and stair walking time, only elevator and stair edges are retained; Automatically identify the current scenario and switch the corresponding weight configuration by querying the user's parking records; The calculation process is as follows: Congestion weight W1: Parking space search scenario: W1 = 1 + occupancy × γ1 Car search scenario: W1 = 1 + activity × γ2 occupancy: Area occupancy rate, with a value range of [0, 1]. activity: Regional activity level, with a value range of [0, 1]. γ1 is the congestion weighting coefficient for the parking space search scenario, with an initial value of 3; γ2 is the congestion weighting coefficient for the car search scenario, with an initial value of 2. Floor weight W3: Parking search scenario: The user is driving, and the vehicle can only cross floors via ramps. The system multiplies the absolute value of the floor difference by the ramp travel time parameter T2 to obtain the total time spent crossing floors. This time is then divided by the normalized baseline time T_base and a baseline weight of 1 is added to obtain the final floor weight, i.e., W3 = 1 + |ΔF|×T2 / T_base. This mechanism ensures that the higher the target floor, the longer the ramp travel time, and the greater the weight penalty, so the algorithm naturally tends to recommend parking spaces on lower floors. In the car-finding scenario: the user is on foot and can choose to cross floors using either an elevator or stairs. The system calculates the time for each method: elevator time is a fixed parameter T1 representing the waiting and riding time, independent of the floor difference; stair time is the absolute value of the floor difference multiplied by the walking time per floor parameter T3. The system takes the smaller of the two values as the actual floor-crossing time T_cross = min(T1, |ΔF|×T3), reflecting the assumption that the user will choose the fastest method. This time is normalized and then weighted with a baseline to obtain the final floor weight. W3 = 1 + T_cross / T_base.
8. The parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The digital map unit models the parking lot as a twin navigation map containing multiple node types and edge types, wherein: Node types include: parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp endpoint nodes, and staircase nodes; Edges represent traversable paths between nodes. Elevator, ramp, and stair edges that cross floors additionally include the time cost of vertical movement.
9. A parking lot indoor navigation system based on multi-source fusion according to claim 1, characterized in that, The multi-objective optimization unit adopts a two-stage strategy of pre-screening followed by fine calculation in the parking space search scenario: Pre-screening stage: Obtain all available parking spaces from the parking space status database, and perform floor filtering, area filtering, and distance truncation in sequence; Precise calculation phase: Calculate the precise path for the selected candidate parking spaces, and obtain the path distance, congestion level along the route, and floor difference; The overall score is calculated by weighting the normalized values of each dimension. The top few parking spaces are selected from each of the three dimensions of shortest distance, lowest congestion, and best overall score. After merging and deduplicating, a recommended list is output.
10. A parking lot indoor navigation method based on multi-source fusion, comprising the following steps: S1: Floor Recognition S1.1: Pre-configure the geofence boundary coordinates of the parking lot, wherein the fence boundary is set in the outdoor area outside the entrance of the parking lot; S1.2: The positional relationship between the geofence boundary and the user is detected by ray detection. When the user enters the geofence boundary, the current air pressure value is collected as the reference value P0; the floor is pre-matched with the matched air pressure value. S1.3: Determine the nearest entrance to the parking lot based on the user's location, and use the floor where the nearest entrance is located as the current reference floor F0; S1.4: Continuously collect air pressure data and calculate the pressure difference ΔP between the current air pressure and the reference air pressure P0, and convert the floor data based on the air pressure difference; The air pressure-height conversion factor K is used to convert the height difference ΔH, and then the difference between the floors is obtained by dividing by the floor height H. S1.5: Based on the air pressure history queue obtained from the continuous air pressure collection in S1.4, calculate the air pressure change rate based on the air pressure history queue, and identify the vertical movement state based on the air pressure change rate. The vertical movement state includes at least the situation where the air pressure change rate exceeds the threshold R, which is judged as elevator state, and the floor needs to be updated after the elevator stops. When the rate of change of air pressure is between the threshold R2 and R, it is judged as a ramp state, and the floor is continuously updated; when the rate of change of air pressure is below the threshold R2, it is judged as a normal state, and normal floor tracking is performed. S1.6: Reuse RSSI signals of deployed BLE positioning beacons for floor inference: The mobile phone periodically scans the surrounding BLE beacons to obtain the beacon's identifier, RSSI value and pre-configured floor information, and filters out invalid beacon information with signal strength below the threshold; Visible beacons are grouped by floor level, the mean RSSI of beacons in each floor group is calculated, and the floor group with the best average signal strength is taken as the inferred floor. S1.7: Based on the signal strength and confidence level of each data source, a fusion decision is made, and the final floor determination is output; the fusion decision process is as follows: a. According to the S1.5 process, the vertical movement status is judged. If the current state is elevator, the floor update is temporarily suspended and the previously confirmed floor is retained. If the current state is ramp, the barometer is used to track the results in real time. b. Perform barometer and beacon RSSI dual data source acquisition according to S1.4 and S1.6 respectively, and simultaneously obtain barometer and BLE beacon floor inference results; c. After fusing the two data sources, priority decision is made. When the RSSI of the positioning beacon exceeds the threshold T, the RSSI inference result (confidence level C1) is used first. Otherwise, it is determined whether the barometer confidence level exceeds the threshold θ. If it does, the barometer result is used. d. Perform consistency verification. When the confidence of both data sources is insufficient, compare whether the inference results of the two are consistent. If they are consistent, output the fusion result and raise the confidence to C2. If they are inconsistent, output the unusable result and set the confidence to 0. S2: Parking Space Status Detection S2.1: The geomagnetic sensor detects the dynamic disturbance of the magnetic field by the vehicle's metal through a baseline calibration mechanism; the geomagnetic sensor is embedded in the center of the parking space area and flush with the ground; After the geomagnetic sensor is installed, it automatically collects the static magnetic field value at the current location as the baseline magnetic field value when it is powered on for the first time. This baseline value includes the magnetic field influence value generated by the steel bars of the fixed structure inside the floor slab. Subsequent detection is based on the change in the difference between the magnetic field value and the baseline magnetic field value to determine whether a vehicle has parked in the parking space. S2.2: Two-way infrared beam sensor detects the state of light path obstruction; the two-way infrared beam sensor is set on the two pillars on both sides of the parking space entrance; whether the infrared sensor is blocked is used to determine whether a vehicle is passing through the parking space entrance; S2.3: Based on the combination of geomagnetic and infrared states, the decision matrix determines whether the parking space is vacant, being entered, or occupied. The parking space is considered vacant when the geomagnetic field is not triggered and the infrared beam is not blocked. When the parking space is occupied and the infrared signal is not obstructed by the geomagnetic trigger, the parking space status is "occupied" and the vehicle is already parked. When the parking space is occupied due to geomagnetic triggering and infrared signal being blocked; When the geomagnetic field is not triggered and the infrared sensor is blocked, the parking space status is that a vehicle is entering. S2.4: Anomaly identification and alerting are performed based on a configurable anomaly rule base. The specific anomaly identification and alerting process is as follows: a. Obtain the current state of the geomagnetic sensor and the two-way infrared sensor, and calculate the duration of each state; b. Traverse the exception rule base, match the current state combination and duration with the trigger conditions of each rule to identify exceptions; the exceptions include at least: motorcycle misjudgment, abnormal occlusion, sensor failure, and timeout. c. Execute processing actions, and perform corresponding actions according to the matched anomaly type; the actions include at least: waiting for confirmation, alarming the administrator, dispatching a repair order, or notifying the vehicle owner; S3: Dynamic Path Planning S3.1: The physical space of the parking lot is pre-modeled as a navigation graph containing multiple node types and edge types; the node types include at least parking space nodes, passageway intersection nodes, entrance / exit nodes, elevator nodes, ramp end point nodes, and stair nodes; The edge type represents the passable path between nodes. Elevator, ramp and stair edges that cross floors additionally include the vertical movement time cost. S3.2: Determine the user's real-time 3D position: The horizontal position is obtained through BLE positioning, and the floor is obtained through step S1. The user's 3D coordinates are obtained by combining them and mapped to the digital map. S3.3: Detect the current scenario: Distinguish between the scenario of finding a parking space and the scenario of finding a car based on the user's parking records; S3.4: Load the corresponding weight configuration and cross-floor passage filtering rules according to the scene: only retain the cross-floor edges of ramps in driving mode, and only retain the edges of elevators and stairs in walking mode; S3.5: Calculate real-time congestion based on the frequency of changes in parking space status in each area; S3.6: Determine whether the current time period is a peak period and adjust the time period weight accordingly; S3.7: In the scenario of finding parking spaces, a two-stage strategy of pre-screening followed by fine calculation is adopted to screen candidate parking spaces: in the pre-screening stage, floor filtering, area filtering, and distance truncation are performed in sequence, and in the fine calculation stage, the precise path is calculated for the candidate parking spaces. S3.8: Calculate the dynamic cost of path nodes, taking into account congestion weight, time period weight, and floor weight; S3.9: The optimal path is found by combining a path search algorithm with dynamic weights; S3.10: Perform multi-dimensional scoring on candidate parking spaces and output multi-objective recommendation results: shortest distance path, least congested path, and comprehensive recommended path.