Positioning methods, devices, electronic equipment and computer program products
By constructing an indoor map model and combining error information from different positioning technologies, and employing geometric topology matching and Kalman filtering algorithms, the problem of inaccurate positioning in non-road sub-regions in indoor positioning was solved, achieving accurate positioning of target objects in indoor environments.
Patent Information
- Application Number
- CN202410826968.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-25
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-06-25
AI Technical Summary
Existing technologies struggle to accurately locate target objects in indoor environments, especially in non-road sub-areas where the positioning results are inaccurate. Furthermore, existing road network matching technologies exhibit significant positioning errors in non-road sub-areas.
A map model of the indoor environment is constructed. By combining error information from different positioning technologies, the target positioning area is determined through the initial positioning results and positioning error information. Geometric topology matching algorithm and Kalman filter algorithm are used to perform accurate positioning in road and non-road sub-regions. Different matching algorithms are designed to improve positioning accuracy.
It achieves accurate positioning of target objects in indoor environments, especially improving positioning accuracy in non-road sub-areas, reducing positioning errors, and avoiding the problems of complex grid-type road network construction and positioning accuracy being affected by grid density.
Smart Images

Figure CN118828409B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of indoor positioning and navigation technology, and in particular to a positioning method, device, electronic device and computer program product. Background Technology
[0002] With the rapid development of industries such as smart cities, the Internet of Things, and mobile internet, people's demand for high-precision indoor location services is becoming increasingly strong.
[0003] In related technologies, road network matching technology can be used in conjunction with indoor maps to locate target objects. However, road network matching technology can only locate target objects within road sub-regions. For non-road sub-regions in indoor maps that may be scattered with obstacles, when using road network matching technology to locate target objects, the target location corresponding to the location result may be located in the area corresponding to the obstacle, thus leading to inaccurate location results. Summary of the Invention
[0004] In view of the above, embodiments of this disclosure provide a positioning method, apparatus, electronic device, and computer program product to solve the problems existing in the related art.
[0005] A first aspect of this disclosure provides a positioning method, comprising: acquiring an initial positioning result and positioning error information of a target object in a map model; determining a target positioning area in the map model based on the initial position corresponding to the initial positioning result and the positioning error information, wherein the target positioning area includes multiple sub-areas, the multiple sub-areas including multiple road sub-areas and / or multiple non-road sub-areas; acquiring a first distance between each of the multiple sub-areas in the target positioning area and the initial position, and determining a target sub-area from the multiple sub-areas based on the first distance, wherein the target sub-area includes multiple pre-selected positions; acquiring a second distance between each of the multiple pre-selected positions and the initial position, and determining a target position from the multiple pre-selected positions based on the second distance, wherein the target position is the target positioning result of the target object in the map model.
[0006] A second aspect of this disclosure provides a positioning device, comprising: an acquisition module, configured to acquire an initial positioning result and positioning error information of a target object in a map model; a first determination module, configured to determine a target positioning area in the map model based on the initial position corresponding to the initial positioning result and the positioning error information, wherein the target positioning area includes multiple sub-areas, the multiple sub-areas including multiple road sub-areas and / or multiple non-road sub-areas; a second determination module, configured to acquire a first distance between each of the multiple sub-areas in the target positioning area and the initial position, and determine a target sub-area from the multiple sub-areas based on the first distance, wherein the target sub-area includes multiple pre-selected positions; and a third determination module, configured to acquire a second distance between each of the multiple pre-selected positions and the initial position, and determine a target position from the multiple pre-selected positions based on the second distance, wherein the target position is the target positioning result of the target object in the map model.
[0007] A third aspect of this disclosure provides an electronic device, comprising: at least one processor; and a memory for storing at least one processor-executable instruction; wherein the at least one processor is configured to execute the instruction to implement the steps of the method described above.
[0008] A fourth aspect of this disclosure provides a computer-readable storage medium that, when instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the steps of the above-described method.
[0009] The at least one technical solution adopted in the embodiments of this disclosure can achieve the following beneficial effects: by obtaining the initial positioning result and positioning error information of the target object in the map model; then, based on the initial position and positioning error information corresponding to the initial positioning result, the target positioning area is determined in the map model, wherein the target positioning area includes multiple sub-areas, and the multiple sub-areas include multiple road sub-areas and / or multiple non-road sub-areas; next, the first distance between the multiple sub-areas in the target positioning area and the initial position is obtained, and the target sub-area is determined from the multiple sub-areas based on the first distance, wherein the target sub-area includes multiple pre-selected positions; finally, the second distance between the multiple pre-selected positions and the initial position is obtained, and the target position is determined from the multiple pre-selected positions based on the second distance, wherein the target position is the target positioning result of the target object in the map model.
[0010] Based on this, the embodiments of this disclosure can first determine the target positioning area in the map model according to the initial positioning result and positioning error information, then determine the target sub-region according to the first distance between multiple sub-regions in the target positioning area and the initial position, and then determine the target position according to the second distance between multiple pre-selected positions included in the target sub-region and the initial position. It can be seen that the embodiments of this disclosure can not only locate the target object in road sub-regions, but also in non-road sub-regions. Furthermore, it can narrow down the positioning area based on the initial positioning result and positioning error information, thereby improving positioning accuracy. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 A flowchart illustrating an indoor wireless positioning method provided in an embodiment of this disclosure is shown.
[0013] Figure 2 This diagram illustrates a driving trajectory through an impassable area according to an embodiment of the present disclosure.
[0014] Figure 3 A flowchart illustrating the positioning method provided in an embodiment of this disclosure is shown;
[0015] Figure 4 A schematic diagram of the positioning device provided in an embodiment of this disclosure is shown;
[0016] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure is shown;
[0017] Figure 6 A schematic diagram of the structure of a computer program product provided in an embodiment of this disclosure is shown. Detailed Implementation
[0018] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0019] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0020] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., used in this disclosure are only used to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0021] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0022] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0023] With the development of technology, people's demand for location services is increasing, leading to the widespread adoption of location applications in the information age. Related positioning technologies include RFID (Radio Frequency Identification), Bluetooth, wireless, and ultrasonic positioning. In practical applications, positioning software with positioning technology can use satellites to locate targets. However, in indoor environments, building obstructions result in poor satellite signals, making accurate target location difficult.
[0024] In some embodiments, during the location of a target object in an indoor environment, the presence of numerous obstacles can hinder wireless signal transmission. For example, obstacles may block the wireless signal, resulting in longer transmission lines and greater signal loss; furthermore, electromagnetic interference from other electronic devices in the room can cause unstable wireless signals. Therefore, the location technologies in related art struggle to accurately locate target objects in indoor environments.
[0025] In related technologies, road network matching technology can be used in conjunction with indoor map models to locate target objects. This technology can match the positioning results to the optimal road network location on the indoor map model, thereby improving positioning accuracy and avoiding counterintuitive positioning results, such as locating objects in inaccessible indoor locations. The positioning results in practical applications are also quite satisfactory. However, road network matching technology can only accurately locate existing road sub-areas that are easy to identify, such as corridors, passageways, and staircases. Indoor environments also contain many areas that cannot be easily identified as roads, such as wide passageways, large spaces with many pillars, and large, irregular non-road sub-areas scattered with various obstacles. These areas do not have a linear road network structure. Therefore, it is not possible to directly use road network matching technology to accurately locate target objects.
[0026] In practical applications, when constructing map models, non-linear, non-road sub-regions can be divided into grids to build a grid-structured map model. Based on this, the same or similar road network matching operations can be performed on the non-road sub-regions for positioning. This approach requires complex road network construction, and the grid density affects the accuracy of the positioning process. Therefore, when using Bluetooth or wireless positioning technologies with low positioning errors, a suitable grid density can provide satisfactory computational speed and positioning results. However, if the grid density is unsuitable, the positioning result obtained for the target object will differ significantly from the actual location, resulting in a large positioning error. For Ultra Wide Band (UWB) technologies with higher positioning accuracy, overly dense grids lead to more complex and cumbersome road network construction operations and excessively computational position matching operations, while sparse grids may introduce additional errors, matching the originally accurate positioning result to a distant grid, thus resulting in inaccurate positioning. It should be understood that UWB is a completely new communication technology that is very different from traditional communication technologies. It does not need to use the carrier wave in the traditional communication system, but achieves wireless transmission by sending and receiving extremely narrow pulses. Due to the extremely narrow pulse time width, the bandwidth used is above 500MHz.
[0027] To address the aforementioned problems, embodiments of this disclosure provide a wireless positioning method, device, electronic device, and computer program product. These methods can analyze road sub-regions and non-road sub-regions within an indoor environment. The non-road sub-regions are open areas accessible indoors, while the road sub-regions are areas corresponding to roads within the indoor environment. Based on this, a map model corresponding to the indoor environment can be constructed. Then, existing positioning technologies are used to locate the target object, obtaining an initial positioning result. A specific matching algorithm is determined based on the area type corresponding to the initial positioning result and the area type corresponding to historical positioning results to perform map matching calculations, obtaining the final target location and target travel trajectory. Therefore, the map model of this disclosure is not limited to analyzing road sub-regions but also analyzes drivable non-road sub-regions within the indoor environment. Furthermore, different matching algorithms are designed for different situations, effectively ensuring matching accuracy and positioning precision. This not only avoids the complex construction and densification of grid-type road networks but also avoids the problem of positioning accuracy being affected by grid density.
[0028] Figure 1 A flowchart illustrating an indoor wireless positioning method provided in an embodiment of this disclosure is shown. Figure 1 As shown, it specifically includes:
[0029] S101: Construct a map model of the target area.
[0030] In some embodiments, the target area can be an indoor area. In the indoor environment corresponding to the indoor area, it includes not only road sub-areas such as corridors, passageways, and stairs, but also non-road sub-areas corresponding to open spaces. The non-road sub-areas can be accessible areas such as halls or open spaces with irregular shapes and scattered obstacles.
[0031] Specifically, in the process of constructing the map model, the positioning error of wireless positioning technology also needs to be considered. For example, for road sub-areas with a width of 3 to 5 meters, low-precision positioning methods such as Bluetooth positioning or wireless positioning technology can be used, while for non-road sub-areas, high-precision positioning methods such as UWB can be used. Simultaneously, the connection points between road and non-road sub-areas can be marked, and if obstacles exist in non-road sub-areas, these obstacles also need to be marked. It should be understood that the choice of positioning technology can be made according to the actual situation, and this disclosure does not limit it.
[0032] In practical applications, the indoor map corresponding to the target area can be gridded, and the connecting points such as doors and passageways in the grid structure can be saved. However, if a door or passageway is the connecting point of two non-road sub-areas, then these two non-road sub-areas need to be saved separately, and the door or passageway should be saved separately as a connecting point. In addition, obstacles within non-road sub-areas can be saved as "holes" inside the non-road sub-areas, and obstacle areas can also be marked directly, for example, by adding "no entry" signs.
[0033] S102: Obtain the initial position of the target object based on positioning technology.
[0034] In some embodiments, the initial position of the target object corresponding to the initial positioning result can be obtained. For example, positioning technologies such as Bluetooth positioning, wireless positioning, 5G positioning, or UWB can be used to locate the target object. However, since the positioning error information corresponding to different positioning technologies is different, and the positioning error corresponding to different positioning error information is quite different, after the positioning system is deployed and installed, its approximate accuracy in the actual application scenario is tested, and the accuracy value corresponding to the positioning error is used as a threshold for subsequent map model matching and position correction.
[0035] Specifically, the error range for wireless positioning technologies is approximately 5m to 10m for Bluetooth positioning; approximately 2m to 3m for 5G positioning; and approximately 1m for UWB positioning. Based on this, map models can be corrected before application according to these different error values. Specifically, this can be done as follows:
[0036] In practical applications, low-precision positioning methods such as Bluetooth positioning or wireless positioning are more effective for road sub-areas. Therefore, the error values corresponding to Bluetooth positioning and wireless positioning technologies can be used as a reference. When the width of the road sub-area is less than the error value, the center line of the road sub-area can be selected as the positioning area, which simplifies the road sub-area. In other words, the center line can be used as a reference for positioning during the positioning process.
[0037] For non-road sub-regions scattered with obstacles, high-precision positioning methods such as UWB are more effective. Therefore, the accuracy value corresponding to UWB can be used as a reference. Based on this, if the distance between two obstacles is less than the error value corresponding to UWB, the center line between the two obstacles can be taken as the positioning area, thereby simplifying the non-road sub-region. In other words, the center line can be used as a reference for positioning during the positioning process.
[0038] It should be understood that when multiple obstacles exist in a non-road sub-region, the historical location corresponding to the previous positioning result and the initial location corresponding to the current positioning result can be referenced. The driving direction can be determined based on the two locations, and then the corresponding obstacles can be identified based on the driving direction and the initial location. For example, two locations can determine a driving trajectory, and the driving direction can be determined based on the driving trajectory. Based on this, obstacles on both sides of the driving trajectory can be identified. When the distance between two obstacles on both sides of the driving trajectory is less than the accuracy value, this distance can be the distance between the center points of the two obstacles, or it can be other values. The specific value can be set according to the actual situation. Then, the trajectory line corresponding to the center point between the two obstacles can be taken as the driving trajectory. That is, the positioning process can refer to the driving trajectory.
[0039] S103: Determine the target positioning area based on the initial position, and determine the multiple sub-regions included in the target positioning area.
[0040] In some embodiments, all road sub-regions and non-road sub-regions included in the map model can be labeled. For example, road sub-regions and non-road sub-regions can be labeled numerically, where the first road sub-region can be labeled T1, the second road sub-region can be labeled T2, the third road sub-region can be labeled T3, and so on; the first non-road sub-region can be labeled M1, the second non-road sub-region can be labeled M2, the third non-road sub-region can be labeled M3, and so on. Based on this, a region index table can be established according to the labels corresponding to the road sub-regions and non-road sub-regions.
[0041] Specifically, after determining the initial position according to step S102, a circle can be drawn with the initial position as the center and the corresponding positioning technology's error value as the radius. The radius can be one times the error value or two times the error value, depending on the actual situation. This results in a circular area, which is then used as the target positioning area. Next, the road and non-road sub-regions on the map model can be spatially intersected with the target positioning area. For example, the mathematical expression corresponding to the target positioning area can be solved simultaneously with the mathematical expressions corresponding to multiple road and / or non-road sub-regions. If a solution exists, an intersection point exists; otherwise, no intersection point exists. Based on this, road or non-road sub-regions existing within or intersecting with the target positioning area can be identified.
[0042] S104: Determine the target location based on the historical location, the initial location, and the corresponding sub-region type.
[0043] In some embodiments, the historical location can be the location corresponding to a historical positioning result. Based on this, three cases can be analyzed: the first case is that the target sub-region only contains a road sub-region, and the historical location is on a road sub-region; the second case is that the target sub-region only contains a non-road sub-region, and the historical location is on a non-road sub-region; the third case is that the target sub-region contains both road and non-road sub-regions, and the historical location is on either a road or non-road sub-region. It should be understood that if the historical location does not exist, the initial location can be directly used as the positioning result for this time.
[0044] In practical applications, for the first scenario, a geometric topology matching algorithm can be used to determine the target location and trajectory. Specifically, the target sub-region can be determined from multiple sub-regions using metrics such as distance, angle, and reachability, and the target location can be calculated within that sub-region. The matching degree between the initial location and each sub-region can be calculated using the following formula:
[0045]
[0046] Where D1 represents the distance between the initial position and the sub-region, D th The error value corresponding to the wireless positioning technology is represented by H1 = cosθ, where θ represents the angle between the trajectory formed by connecting the historical position and the initial position and the direction of the target sub-region, ranging from 0° to 180°; R1 represents the reachability of the target object to the target sub-region, where reachability is whether it can be reached, R1 = 1 indicates reachability, and R1 = -1 indicates inaccessibility. α represents the weighting coefficient of the distance term; β represents the weighting coefficient of the angle term, and α + β = 1.
[0047] When calculating reachability R1, the point closest to the initial position in each sub-region is first selected as a pre-selected position (i.e., the point with the shortest straight-line distance). Then, the shortest path algorithm (Dijkstra's algorithm) is used to find the shortest path from the historical position to the pre-selected position. Next, the speed is judged based on the time interval between two positioning operations. If the speed exceeds a speed threshold, R1 is set to -1; otherwise, it is set to 1. The specific judgment can be analyzed and determined by relevant technical personnel to assess the reasonableness of the speed, time, and travel speed.
[0048] Based on this, the sub-region with the highest matching degree among all sub-regions can be selected as the target sub-region, and the pre-selected position on the target sub-region can be used as the target position, that is, the target positioning result corresponding to the initial positioning result. The target driving trajectory of the target object can be determined based on the historical position and the target position.
[0049] For the second scenario, a combination of Kalman filtering and obstacle avoidance algorithms can be used to solve for the target position and trajectory. First, the positioning signal corresponding to the initial position can be filtered using a Kalman filter algorithm based on a linear motion prediction model to obtain the filtering result. The filtering result corresponds to candidate positions. Since there are impassable and traversable areas in the map model, where impassable areas can be preset prohibited areas, areas inside obstacles, or areas outside the map model, the candidate positions corresponding to the filtering result have three possibilities in the map model:
[0050] The first scenario is that the candidate location is within a passable area. In this case, the candidate location can be directly used as the target location.
[0051] The second scenario is when the candidate location is in an impassable area, while the initial location is within an accessible area. In this case, the initial location can be directly used as the target location.
[0052] The third scenario is that both the candidate location and the initial location are in an impassable area. In this case, the point closest to the initial location among the multiple reachable locations in the non-road sub-region can be used as the target location.
[0053] In practical applications, when the target object is a movable object, if the historical position and the target position are in the same non-road sub-region or road sub-region, the corresponding position points of the two positions can be directly connected to obtain the target driving trajectory. If the historical position and the target position are not in the same non-road sub-region or road sub-region, the target driving trajectory can be determined based on the connection points between different sub-regions, the historical position, and the initial position. For example, if the historical position and the target position are not in the same non-road sub-region but are in two adjacent non-road sub-regions, it is necessary to determine the connection point between the two non-road sub-regions, and then connect the connection point, the historical position, and the initial position to obtain the target driving trajectory. It should be understood that in practical applications, there may be multiple connection points between two non-road sub-regions. In this case, multiple driving trajectories can be determined based on multiple connection points, historical positions, and initial positions, and then the driving trajectory with the shortest distance can be selected as the trajectory line corresponding to the target driving trajectory. The connection point corresponding to the target driving trajectory is the target connection point.
[0054] Figure 2 A schematic diagram illustrating a driving trajectory traversing an impassable area, according to an embodiment of this disclosure, is shown. Figure 2 As shown, Figure 2 The shaded area is a non-passable area. After determining the driving trajectory based on the historical and initial positions, it is also necessary to determine whether the driving trajectory passes through the non-passable area. If the driving trajectory passes through the non-passable area, the driving trajectory needs to be adjusted.
[0055] Specifically, a boundary line can be constructed for impassable areas. The boundary line 201 can be determined based on the error value, and it can also serve as a boundary driving path, with the target location situated on this path. For example, if the impassable area is an obstacle area 203, then the area inside the obstacle is impassable, the boundary driving path is the outline corresponding to the obstacle, and the area within the boundary driving path is obstacle area 203, which is the impassable area. Alternatively, the impassable area can be a boundary area 202, which is the boundary of the map model. The boundary driving path is the outline corresponding to the map model boundary, and the area outside the boundary driving path is boundary area 202, which is the impassable area.
[0056] like Figure 2 As shown, assuming the impassable area traversed by the driving trajectory is a boundary area outside the map model, the two intersection points of the driving trajectory and the area boundary line 201 can be determined first. Then, based on the two intersection points and the area boundary line 201, the trajectory line corresponding to the driving trajectory is adjusted to obtain the target driving trajectory. That is, a trajectory line L1 is determined on the area boundary line 201 based on the two intersection points. Then, the target driving trajectory is determined based on the first historical position, the first initial position, and the trajectory line L1. It should be understood that... Figure 2 The target's driving trajectory should be on the area boundary line 201, but for clarity, this embodiment displays the target's driving trajectory next to the area boundary line 201.
[0057] Assuming the driving trajectory passes through an impassable area (obstacle area 203), two intersection points between the driving trajectory and the area boundary line can be determined. However, since the obstacle is entirely located in an indoor environment, the two intersection points can determine two driving trajectories, including a second trajectory line L2 and a third trajectory line L3. At this point, the shorter third trajectory line L3 can be determined from the two trajectory lines based on their lengths. The target driving trajectory is then determined based on the third trajectory line L3, the second historical position, and the second initial position. It should be understood that... Figure 2 The target's driving trajectory should be on the area boundary line 201, but for clarity, this embodiment displays the target's driving trajectory next to the area boundary line 201.
[0058] In practical applications, there are situations where neither the historical location nor the target location is located on the area boundary line, but the driving trajectory between the historical location and the target location passes through an impassable area. In this case, the first intersection point and the second intersection point with the impassable area can be determined. Then, the first driving trajectory can be obtained based on the first intersection point and the target location, the second driving trajectory can be obtained based on the second intersection point and the historical location, and the third driving trajectory can be obtained based on the area boundary line, the first intersection point, and the second intersection point. Based on this, the target driving trajectory can be determined based on the first driving trajectory, the second driving trajectory, and the third driving trajectory.
[0059] For the third scenario above, the algorithms corresponding to the first and second scenarios can be combined. A unified matching degree index can be used to solve for the target position in the sub-region. The specific initial position and the matching degree of each sub-region are calculated by the following formula:
[0060]
[0061] Here, the distance term D2 is the distance from the initial position to the sub-region. If the initial position is inside the sub-region, then D = 0. The included angle term H2 = cosθ. For non-road sub-regions, θ = 0°. For road sub-regions, θ represents the angle between the driving trajectory formed by connecting the historical position and the initial position and the direction of the sub-region, ranging from 0° to 180°. It should be understood that if the historical position and the initial position involve non-road sub-regions, and the historical position and the initial position are not in the same sub-region, then it is necessary to find the connection point between the two regions before calculating the included angle term H2 and the reachability R2.
[0062] In some embodiments, when calculating reachability R², if the target sub-region is a road sub-region, it is first necessary to determine the matching degree between each sub-region and the initial position, and determine the sub-region with the highest matching degree as the target sub-region. Then, determine the distances between multiple pre-selected positions on the target sub-region and the initial position, and determine the pre-selected position with the shortest distance as the target position. Alternatively, the point on each sub-region closest to the initial position can be used as the pre-selected position, i.e., the point with the shortest straight-line distance. Then, Dijkstra's algorithm is used to calculate the shortest path from the historical position to the pre-selected position. Then, the speed is judged based on the time interval between two positioning operations. If the speed is greater than the speed threshold, R² is -1; otherwise, it is 1. Furthermore, the target sub-region with the highest matching degree among all sub-regions can be selected, and the pre-selected position on the target sub-region can be used as the target position, i.e., the final result of local positioning. The target driving trajectory can be determined based on the historical position and the target position. For details, please refer to the solution process of the first case.
[0063] For non-road sub-regions within a sub-region, candidate positions corresponding to the initial position can be calculated first using the method described in the second case. Then, the target position is determined based on the candidate positions. The target trajectory is then determined based on the target position and historical positions. For details on determining the target trajectory, refer to the relevant content in the second case. After determining the target trajectory, Dijkstra's algorithm is used to find the shortest path from the historical position to the target position. The speed is then judged based on the time interval between the two positioning operations. If the speed is greater than a speed threshold, R² is set to -1; otherwise, it is set to 1.
[0064] In practical applications, there may be situations where the historical location is in a non-road sub-region, but the initial location is in a road sub-region. In this case, the method corresponding to the first case can be followed. Based on the matching degree between the initial location and each sub-region, the target sub-region can be determined. Then, the location closest to the initial location in the target sub-region can be determined as the target location. Finally, the target driving trajectory of the target object can be determined based on the target location and the historical location.
[0065] In practical applications, there may be instances where the historical location is within a road sub-region, but the initial location is within a non-road sub-region. In this case, the solution corresponding to the second scenario can be followed. First, the target location is determined using the method corresponding to the second scenario, and then the target trajectory of the target object is determined based on the target location and the historical location.
[0066] The positioning method provided in this disclosure can be executed by a terminal or by a chip applied to the terminal.
[0067] For example, the aforementioned terminals may include one or more of the following: mobile phones, tablets, wearable devices, in-vehicle devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, handheld computers (PDAs), and wearable devices based on augmented reality (AR) and / or virtual reality (VR) technologies. They may also include, but are not limited to, remote control devices, wearable devices, streetlights, home appliances, and other smart terminals. This disclosure does not impose specific limitations on these aspects.
[0068] Figure 3 A flowchart illustrating the positioning method provided in an embodiment of this disclosure is shown. Figure 3 As shown, the method includes the positioning method of this disclosure embodiment, which includes:
[0069] S301: Obtain the initial positioning results and positioning error information of the target object in the map model.
[0070] In some embodiments, the initial positioning result of the target object in the map model can be obtained based on existing technologies, such as Bluetooth positioning technology, wireless positioning technology, or UWB positioning technology, and the positioning error information is the positioning error corresponding to the positioning technology. It should be understood that the map model can be a model after converting the indoor structure into a virtual visual image. Based on this, the initial positioning result can be displayed in the map model, so that the positioning information of the target object can be obtained more clearly and intuitively.
[0071] S302: Based on the initial position and positioning error information corresponding to the initial positioning result, determine the target positioning area in the map model. The target positioning area may include one or more sub-areas, and the multiple sub-areas include multiple road sub-areas and / or multiple non-road sub-areas.
[0072] In some embodiments, since the initial positioning result is determined based on existing technology, and existing technology has positioning errors, positioning error information can be determined based on the positioning technology used. This positioning error information can be an error value. Based on this, the target positioning area can be determined in the map model according to the error value and the initial position. Then, the target object can be located within the target positioning area, thereby reducing positioning errors. It should be understood that the target positioning area can be a circular area defined with the initial position as the center and the error value as the radius; this circular area is the target positioning area. The road sub-area can be a drivable linear area such as a lane or stairs, while the non-road sub-area can be other drivable open areas in the map model other than the road sub-area.
[0073] S303: Obtain the first distance between the initial position and multiple sub-regions in the target positioning area, and determine the target sub-region from the multiple sub-regions based on the first distance, wherein the target sub-region includes multiple pre-selected positions;
[0074] In some embodiments, since the target positioning area may include one or more road sub-regions, or one or more non-road sub-regions, or both road sub-regions and non-road sub-regions, and the initial position can only be located within one sub-region, it is necessary to first determine the target sub-region in the target positioning area. Specifically, it can be determined based on the first distance between the multiple sub-regions and the initial position, that is, the sub-region with the smallest first distance is determined as the target sub-region.
[0075] S304: Obtain the second distance between multiple pre-selected locations and the initial location, and determine the target location from the multiple pre-selected locations based on the second distance. The target location is the target positioning result of the target object in the map model.
[0076] In some embodiments, since there are multiple pre-selected locations in the target sub-region, each of which may be the target location of the target object, it is necessary to obtain the second distance between the multiple pre-selected locations and the initial location. Then, the pre-selected location with the smallest second distance can be determined as the target location. Based on this, the target object can be accurately located in the map model.
[0077] As can be seen, the embodiments of this disclosure can first determine the target positioning area in the map model based on the initial positioning result and positioning error information. Then, based on the first distance between multiple sub-regions in the target positioning area and the initial position, the target sub-region is determined. Next, based on the second distance between multiple pre-selected positions included in the target sub-region and the initial position, the target position is determined. Therefore, the embodiments of this disclosure can locate target objects not only in road sub-regions but also in non-road sub-regions. Furthermore, they can narrow down the positioning area based on the initial positioning result and positioning error information, thereby improving positioning accuracy.
[0078] In some embodiments, when the target positioning area includes only multiple non-road sub-regions and the initial position is located in one of the non-road sub-regions, the present disclosure embodiments can construct a position feature matrix based on the position vector corresponding to the initial position; then construct an observation equation and a state equation based on the position feature matrix; wherein, the observation equation is used to represent the relationship between the number of positioning times and the initial positioning result, and the state equation is used to predict the position feature matrix for the next positioning based on the current position feature matrix; finally, the observation equation and the state equation are used to remove the error in the initial positioning result, and the candidate position is determined based on the initial positioning result after removing the error.
[0079] Specifically, when locating a target object, signals generated by the target object's wireless mobile communication network can be acquired. The target object is located by measuring the characteristic parameters corresponding to the received signals. However, the location results can be inaccurate due to noise in the signal or external influences. Therefore, a Kalman filter can be used to remove noise from the signal, thus removing errors from the initial location result and obtaining a candidate location. The observation equation and state equation are the two equations corresponding to the Kalman filter algorithm. Since the non-road sub-regions within the target sub-region are all open and passable areas, if a candidate location is located within one of these non-road sub-regions, the candidate location can be determined as the target object's location result in the map model.
[0080] In practical applications, map models may contain many obstacles, such as supporting pillars or performance platforms. Therefore, map models include not only traversable areas but also impassable areas, where impassable areas can be the obstacle regions corresponding to obstacles. Based on this, the target location area may also include one or more obstacle regions. Since multiple locations within an obstacle region are inaccessible (meaning the target object cannot exist within the obstacle region), it is only necessary to analyze the reachable locations corresponding to multiple non-road sub-regions. Here, reachable locations are those that the target object can reach.
[0081] In some embodiments, after determining candidate positions based on initial positioning results after error removal, this disclosure embodiment can further obtain third distances between multiple reachable positions and the initial position when both the candidate position and the initial position are located in an obstacle area, and determine the target position from the multiple reachable positions based on the third distances. In some special cases, i.e., when the candidate position is located in an obstacle area, the initial position can be determined as the target position.
[0082] Specifically, multiple reachable locations within multiple non-road sub-regions of the target location area can be analyzed with respect to the initial location. This allows us to determine the third distance between each reachable location and the initial location, and then identify the reachable location with the smallest third distance as the target location.
[0083] In some embodiments, when the target location area includes multiple road sub-regions and the initial position is located in one of the road sub-regions, a fourth distance between each of the multiple road sub-regions and the initial position is obtained; then, the target road sub-region is determined from the multiple road sub-regions based on the fourth distance; finally, a fifth distance between each of the multiple pre-selected positions corresponding to the target road sub-region and the initial position can be obtained, and the target position is determined from the multiple pre-selected positions based on the fifth distance.
[0084] Specifically, the initial position obtained using existing positioning technology is usually near a road sub-region and cannot be accurately located on the road sub-region. Therefore, when the target positioning area includes multiple road sub-regions and the initial position is located in one of the road sub-regions, it is necessary to determine the target sub-region from the multiple road sub-regions, and then determine the target position from the multiple pre-selected positions included in the target sub-region.
[0085] In practical applications, the matching degree between the initial position and each sub-region can be calculated using the following formula:
[0086]
[0087] Where D3 represents the distance between the initial position and the sub-region, this distance is the fourth distance, D th The distance term represents the error value corresponding to the wireless positioning technology; H3 = cosθ, where θ represents the angle between the trajectory formed by connecting the historical position and the initial position and the direction of the target sub-region, ranging from 0° to 180°; R3 represents the reachability of the target object to the target sub-region, where reachability is whether it can be reached, R3 = 1 indicates reachability, and R3 = -1 indicates inaccessibility. α represents the weighting coefficient of the distance term; β represents the weighting coefficient of the angle term, and α + β = 1.
[0088] When calculating reachability R1, the point closest to the initial position in each sub-region is first selected as a pre-selected position (i.e., the point with the shortest straight-line distance). Then, the shortest path algorithm (Dijkstra's algorithm) is used to find the shortest path from the historical position to the pre-selected position. Next, the speed is judged based on the time interval between two positioning operations. If the speed exceeds a speed threshold, R1 is set to -1; otherwise, it is set to 1. The specific judgment can be analyzed and determined by relevant technical personnel to assess the reasonableness of the speed, time, and travel speed.
[0089] Based on this, the sub-region with the highest matching degree among all sub-regions can be selected as the target sub-region, and the pre-selected position on the target sub-region can be used as the target position, that is, the target positioning result corresponding to the initial positioning result. The target driving trajectory of the target object can be determined based on the historical position and the target position.
[0090] In some embodiments, the present disclosure may also obtain the historical positioning results of the target object in the map model; and then generate the target driving trajectory based on the historical position and the target position corresponding to the historical positioning results, wherein the target driving trajectory is the driving trajectory of the target object in the map model.
[0091] Specifically, the map model in this embodiment includes impassable areas. Therefore, when determining the target driving trajectory based on the historical location and target location corresponding to the historical positioning results, the boundary line of the impassable area can be obtained first, assuming the driving trajectory passes through the impassable area. Then, the trajectory line is determined based on the target location and historical location, and the intersection point is determined based on the trajectory line and the boundary line. Finally, the driving trajectory is determined on the boundary line based on the intersection point, and the target driving trajectory is generated based on the driving trajectory, target location, and historical location. It should be understood that the above trajectory line is the trajectory line corresponding to the driving trajectory.
[0092] Specifically, after determining the driving trajectory based on the historical and initial positions, it is necessary to determine whether the trajectory passes through impassable areas. If the trajectory passes through impassable areas, it needs to be adjusted. For example, if the impassable area is a boundary area corresponding to the map model, the boundary line of the boundary area can be determined first, and then the two intersection points of the trajectory line and the boundary line can be determined. Finally, the trajectory is adjusted based on the two intersection points and the boundary line to obtain the target driving trajectory. When the impassable area is an obstacle area corresponding to the map model, the two intersection points of the trajectory line and the boundary line can be determined. However, since the obstacle is entirely located in an indoor environment, the two intersection points can determine two trajectory lines. In this case, the shorter trajectory line can be determined from the two trajectory lines based on their lengths, and the target driving trajectory is generated based on the shorter trajectory line, the historical position, and the initial position.
[0093] In practical applications, there are situations where neither the historical location nor the target location is located on the area boundary line, but the driving trajectory between the historical location and the target location passes through an impassable area. In this case, the first intersection point and the second intersection point with the impassable area can be determined. Then, the first driving trajectory can be obtained based on the first intersection point and the target location, the second driving trajectory can be obtained based on the second intersection point and the historical location, and the third driving trajectory can be obtained based on the area boundary line, the first intersection point, and the second intersection point. Based on this, the target driving trajectory can be determined based on the first driving trajectory, the second driving trajectory, and the third driving trajectory.
[0094] The foregoing mainly describes the solutions provided by the embodiments of this disclosure. It is understood that, in order to achieve the above functions, the electronic device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0095] This disclosure embodiment can divide the electronic device into functional units according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0096] In the case of dividing each functional module according to its corresponding function, the present disclosure provides a positioning device, which can be an electronic device or a chip applied to an electronic device. Figure 4 A schematic diagram of the positioning device provided in an embodiment of this disclosure is shown. Figure 4 As shown, the device 400 includes:
[0097] The acquisition module 401 is used to acquire the initial positioning result and positioning error information of the target object in the map model;
[0098] The first determining module 402 is used to determine a target positioning area in the map model based on the initial position corresponding to the initial positioning result and the positioning error information, wherein the target positioning area includes multiple sub-regions, and the multiple sub-regions include multiple road sub-regions and / or multiple non-road sub-regions;
[0099] The second determining module 403 is used to obtain a first distance between the multiple sub-regions in the target positioning area and the initial position, and to determine a target sub-region from the multiple sub-regions based on the first distance, wherein the target sub-region includes multiple pre-selected positions;
[0100] The third determining module 404 is used to obtain the second distance between the multiple pre-selected locations and the initial location, and determine the target location from the multiple pre-selected locations based on the second distance, wherein the target location is the target positioning result of the target object in the map model.
[0101] In some embodiments, the device 400 further includes a construction module 405, which is configured to, when the target positioning area includes multiple non-road sub-regions and the initial position is located in one of the non-road sub-regions, construct a position feature matrix based on the position vector corresponding to the initial position; construct an observation equation and a state equation based on the position feature matrix; wherein the observation equation is used to represent the relationship between the number of positioning times and the initial positioning result, and the state equation is used to predict the position feature matrix for the next positioning based on the current position feature matrix; remove errors in the initial positioning result using the observation equation and the state equation, and determine a candidate position based on the initial positioning result after removing errors; the third determination module 404 is further configured to, when the candidate position is located in one of the non-road sub-regions, determine the candidate position as the target position.
[0102] In some embodiments, the target location area further includes an obstacle area, and the plurality of non-road sub-regions include a plurality of reachable locations. The third determining module 404 is further configured to, when both the candidate location and the initial location are located in the obstacle area, obtain a third distance between the plurality of reachable locations and the initial location, and determine the target location from the plurality of reachable locations based on the third distance.
[0103] In some embodiments, the third determining module 404 is further configured to determine the initial position as the target position if the candidate position is located in the obstacle area.
[0104] In some embodiments, the second determining module 403 is further configured to, when the target positioning area includes multiple road sub-regions and the initial position is located in one of the road sub-regions, obtain a fourth distance between the multiple road sub-regions and the initial position respectively; determine a target road sub-region from the multiple road sub-regions based on the fourth distance; obtain a fifth distance between the initial position and multiple pre-selected positions corresponding to the target road sub-region respectively, and determine the target position from the multiple pre-selected positions based on the fifth distance.
[0105] In some embodiments, the acquisition module 401 is further configured to acquire the historical positioning results of the target object in the map model; the device 400 further includes a generation module 406, which is configured to generate a target driving trajectory based on the historical position corresponding to the historical positioning results and the target position, wherein the target driving trajectory is the driving trajectory of the target object in the map model.
[0106] In some embodiments, the map model includes impassable areas, and the generation module 406 is further configured to: obtain the area boundary line corresponding to the impassable area when the driving trajectory passes through the impassable area; determine the trajectory line according to the target location and the historical location, and determine the intersection point according to the trajectory line and the area boundary line; determine the driving trajectory on the area boundary line according to the intersection point, and generate the target driving trajectory according to the driving trajectory, the target location and the historical location.
[0107] This disclosure also provides an electronic device, including: at least one processor; a memory for storing at least one processor-executable instruction; wherein the at least one processor is used to execute the instruction to implement the steps of the method disclosed in this disclosure.
[0108] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure is shown. For example... Figure 5As shown, the electronic device 500 includes at least one processor 501 and a memory 502 coupled to the processor 501, which can perform the corresponding steps in the methods disclosed in the embodiments of this disclosure.
[0109] The processor 501 described above can also be called a Central Processing Unit (CPU), which can be an integrated circuit chip with signal processing capabilities. Each step in the method disclosed in this embodiment can be implemented by the integrated logic circuitry in the processor 501 or by software instructions. The processor 501 can be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this embodiment can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules can be located in the memory 502, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The processor 501 reads information from the memory 502 and, in conjunction with its hardware, completes the steps of the method described above.
[0110] Furthermore, various operations / processes according to this disclosure, when implemented via software and / or firmware, can be transferred from a storage medium or network to a computer program product with a dedicated hardware architecture, for example, Figure 6 The computer program product 600 shown is installed with programs that constitute the software. When various programs are installed, the computer program product can perform various functions, including functions such as those mentioned above. Figure 6 A schematic diagram of the structure of a computer program product provided in an embodiment of this disclosure is shown.
[0111] Computer program product 600 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0112] like Figure 6 As shown, the computer program product 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program product stored in a read-only memory (ROM) 602 or loaded from a storage unit 608 into a random access memory (RAM) 603. The RAM 603 may also store various programs and data required for the operation of the computer program product 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0113] Multiple components in the computer program product 600 are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 can be any type of device capable of inputting information into the computer program product 600. The input unit 606 can receive input numerical or character information and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 607 can be any type of device capable of presenting information and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. The storage unit 608 may include, but is not limited to, a hard disk and an optical disk. The communication unit 609 allows the computer program product 600 to exchange information / data with other devices via a network such as the Internet, and may include, but is not limited to, a modem, network card, infrared communication device, wireless communication transceiver, and / or chipset, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.
[0114] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above. For example, in some embodiments, the methods disclosed in this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program product can be loaded and / or installed on an electronic device via ROM 602 and / or communication unit 609. In some embodiments, the computing unit 601 can be configured to perform the methods disclosed in this disclosure by any other suitable means (e.g., by means of firmware).
[0115] This disclosure also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the methods disclosed in this disclosure.
[0116] The computer-readable storage medium in this disclosure can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The aforementioned computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specifically, the aforementioned computer-readable storage medium may include electrical connections based on one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0117] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0118] This disclosure also provides a computer program product, which, when executed by a processor, implements the methods disclosed in the embodiments of this disclosure.
[0119] In embodiments of this disclosure, computer program product code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof. These programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or it can be connected to an external computer.
[0120] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0121] The modules, components, or units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules, components, or units do not necessarily constitute a limitation on the module, component, or unit itself.
[0122] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that can be used include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.
[0123] The above description is merely an illustration of some embodiments of this disclosure and the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0124] While specific embodiments of this disclosure have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A positioning method, characterized in that, The method includes: Obtain the initial location results and location error information of the target object in the map model; Based on the initial position corresponding to the initial positioning result and the positioning error information, a target positioning area is determined in the map model, wherein the target positioning area includes multiple sub-regions, and the multiple sub-regions include multiple road sub-regions and / or multiple non-road sub-regions; Obtain a first distance between the initial position and each of the multiple sub-regions in the target positioning area, and determine the target sub-region from the multiple sub-regions based on the first distance, wherein the target sub-region includes multiple pre-selected positions; A second distance is obtained between the multiple pre-selected locations and the initial location, and a target location is determined from the multiple pre-selected locations based on the second distance. The target location is the target positioning result of the target object in the map model.
2. The method according to claim 1, characterized in that, The method includes: When the target positioning area includes multiple non-road sub-regions, and the initial position is located in one of the non-road sub-regions, a position feature matrix is constructed based on the position vector corresponding to the initial position. An observation equation and a state equation are constructed based on the location feature matrix; wherein, the observation equation is used to represent the relationship between the number of positioning attempts and the initial positioning result, and the state equation is used to predict the location feature matrix for the next positioning based on the current location feature matrix; The error in the initial positioning result is removed using the observation equation and the state equation, and candidate positions are determined based on the initial positioning result after removing the error; If the candidate location is located in one of the non-road sub-regions, the candidate location is determined as the target location.
3. The method according to claim 2, characterized in that, The target positioning area also includes an obstacle area, and the multiple non-road sub-regions include multiple reachable locations. After determining candidate locations based on the initial positioning result after removing errors, the method further includes: When both the candidate position and the initial position are located in the obstacle area, a third distance is obtained between the multiple reachable positions and the initial position, and the target position is determined from the multiple reachable positions based on the third distance.
4. The method according to claim 3, characterized in that, The method further includes: If the candidate position is located within the obstacle area, the initial position is determined as the target position.
5. The method according to claim 1, characterized in that, The method further includes: When the target positioning area includes multiple road sub-regions and the initial position is located in one of the road sub-regions, a fourth distance is obtained between each of the multiple road sub-regions and the initial position; The target road sub-region is determined from the plurality of road sub-regions based on the fourth distance; Obtain the fifth distance between the initial position and multiple pre-selected positions corresponding to the target road sub-region, and determine the target position from the multiple pre-selected positions based on the fifth distance.
6. The method according to claim 1, characterized in that, The method further includes: Obtain the historical location results of the target object in the map model; A target driving trajectory is generated based on the historical location corresponding to the historical location result and the target location. The target driving trajectory is the driving trajectory of the target object in the map model.
7. The method according to claim 6, characterized in that, The map model includes impassable areas, and determining the target driving trajectory based on the historical location corresponding to the historical positioning results and the target location includes: If the driving trajectory passes through the impassable area, obtain the boundary line of the area corresponding to the impassable area; The trajectory line is determined based on the target location and the historical location, and the intersection point is determined based on the trajectory line and the area boundary line; The driving trajectory is determined on the boundary line of the area based on the intersection point, and the target driving trajectory is generated based on the driving trajectory, the target position, and the historical position.
8. A positioning device, characterized in that, The device includes: The acquisition module is used to obtain the initial positioning results and positioning error information of the target object in the map model; The first determining module is used to determine a target positioning area in the map model based on the initial position corresponding to the initial positioning result and the positioning error information, wherein the target positioning area includes multiple sub-regions, and the multiple sub-regions include multiple road sub-regions and / or multiple non-road sub-regions; The second determining module is used to obtain a first distance between the initial position and the multiple sub-regions in the target positioning area, and to determine the target sub-region from the multiple sub-regions according to the first distance, wherein the target sub-region includes multiple pre-selected positions; The third determining module is used to obtain the second distance between the multiple pre-selected locations and the initial location, and to determine the target location from the multiple pre-selected locations based on the second distance, wherein the target location is the target positioning result of the target object in the map model.
9. An electronic device, characterized in that, include: At least one processor; Memory for storing the at least one processor-executable instruction; The at least one processor is configured to execute the instructions to implement the steps of the method as described in any one of claims 1 to 7.
10. A computer program product, characterized in that, The method includes a computer program product, which, when executed by a computer, is used to cause the computer program product to perform the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Robot positioning method, device and equipment and storage medium
CN108638062A
Transformer substation operation guidance method, device and equipment and storage medium
CN111739152A