Positioning method, movement control method, chip, controller, device and medium
By using the cruise data set and the target scene map to match map elements under the condition of GNSS without GNSS, the problem of vehicle positioning accuracy being affected by the environment and hardware is solved, and a higher precision positioning is achieved.
Patent Information
- Application Number
- CN202411805216.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2044-12-09
AI Technical Summary
In the prior art, under the condition of GNSS without GNSS signal, vehicle positioning accuracy is strongly affected by environmental conditions and hardware configuration, and has application limitations.
By collecting cruise data sets in movable devices, extracting scene feature information, using target scene maps and historical map construction data to match map elements, determine the location of the device in the scene, and reduce environmental conditions and hardware dependencies.
It improves positioning accuracy under GNSS-free signal conditions, reduces the impact of environmental conditions and hardware configuration on positioning accuracy, and is suitable for various intelligent driving vehicles.
Smart Images

Figure CN119828526B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of automatic control technology, and more particularly, to a positioning method, a movement control method, a chip, a controller, a movable device, and a computer-readable storage medium for a movable device. Background Art
[0002] In autonomous driving technology, when a vehicle travels in a target scenario without a Global Navigation Satellite System (GNSS) signal, it can be positioned by data collected by on-vehicle sensors. However, the positioning accuracy of existing positioning methods either depends on environmental conditions or on high-cost hardware such as radars, and has strong application limitations. Summary of the Invention
[0003] In view of this, embodiments of the present disclosure propose a new technical solution that can perform positioning in a target scenario without a GNSS signal.
[0004] According to a first aspect of an embodiment of the present disclosure, there is provided a positioning method for a movable device, the method including:
[0005] Based on a first cruise data set collected by the movable device in a target scenario at a first time, obtaining first cruise scenario information describing the scenario features;
[0006] Searching in a target scenario map for a first map segment associated with the first cruise scenario information;
[0007] Obtaining a second map segment based on at least two cruise data sets; wherein different cruise data sets correspond to different timestamps, and data in the same cruise data set has the same timestamp, and the at least two cruise data sets include the first cruise data set and at least one other cruise data set whose collection time is before the first time;
[0008] Determining a correspondence between map elements in the first map segment and map elements in the second map segment;
[0009] Based on the correspondence and the position of the movable device in the second map segment at the first time, determining a first position of the movable device in the target scenario map at the first time.
[0010] Optionally, the searching in a target scenario map for a first map segment associated with the first cruise scenario information includes:
[0011] In the set of mapping scene information of the target scene, search for the target mapping scene information that matches the first cruise scene information; wherein, the set of mapping scene information includes multiple frames of mapping scene information corresponding to different timestamps, and each frame of mapping scene information is associated with a ground image segment that constitutes the target scene map. The associated mapping scene information and ground image segment are respectively obtained based on a mapping dataset and multiple mapping datasets including the mapping dataset. Different mapping datasets correspond to different timestamps, and the data in the same mapping dataset has the same timestamp;
[0012] Determine the ground image segment associated with the target mapping scene information as the first ground image segment.
[0013] Optionally, the cruise dataset includes multiple images corresponding to the same timestamp, and the multiple images are collected by different cameras carried by the movable device;
[0014] The first cruise scene information is obtained based on the first image in the first cruise dataset; the second ground image segment is obtained based on all the images in the at least two cruise datasets.
[0015] Optionally, the first cruise dataset includes a first image. The first cruise scene information describing the scene features is obtained based on the first cruise dataset collected by the movable device at the first time in the target scene, including:
[0016] Extract image features from the first image, and obtain the feature vector of the first image as the first cruise scene information.
[0017] Optionally, both the target scene map and the second ground image segment are map elements represented by vector graphics, mapping the scene elements in the target scene.
[0018] Optionally, the determining the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment includes:
[0019] Based on the graphics, element categories of the map elements, and the relative positions of different map elements in the same ground image segment, determine the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment.
[0020] Optionally, the searching for the target mapping scene information that matches the first cruise scene information in the set of mapping scene information of the target scene includes:
[0021] In the set of mapping scene information, search for the first mapping scene information whose similarity with the first cruise scene information meets the set conditions;
[0022] Determine the consistency score of the first mapping scene information according to whether there is an associated relationship between the first mapping scene information and the second mapping scene information; wherein, the second mapping scene information is mapping scene information whose similarity with the second cruising scene information meets the set conditions, and the acquisition time of the second cruising data set corresponding to the second cruising scene information is before the first time;
[0023] Among the first mapping scene information with a consistency score greater than or equal to the set value, select one frame of mapping scene information as the target mapping scene information.
[0024] Optionally, determining whether there is an associated relationship between the first mapping scene information and the second mapping scene information includes:
[0025] Construct a first mapping scene information set through the first mapping scene information and the adjacent frame mapping scene information of the first mapping scene information;
[0026] When there is the same mapping scene information in the first mapping scene information set and the second mapping scene information set, determine that the first mapping scene information in the first mapping scene information set and the second mapping scene information in the second mapping scene information set have an associated relationship;
[0027] Wherein, the second mapping scene information set is constructed by the second mapping scene information and the adjacent frame mapping scene information of the second mapping scene information.
[0028] Optionally, the constructing a first mapping scene information set through the first mapping scene information and the adjacent frame mapping scene information of the first mapping scene information includes:
[0029] For each frame of the first mapping scene information, set the first mapping scene information and the adjacent frame mapping scene information of the first mapping scene information to form a first mapping scene information set;
[0030] Merge different first mapping scene information sets with the same mapping scene information to obtain an updated first mapping scene information set.
[0031] Optionally, the cruising data set further includes movement data reflecting the movement speed of the movable device at the corresponding time stamp; after determining the first position of the movable device in the target scene map at the first time, the method further includes:
[0032] Determine a first moving distance of the movable device in the target scene map based on the first position and a second position of the movable device in the target scene map; wherein, the second position is determined based on a third cruise data set collected by the movable device at a third time, and the third time is before the first time;
[0033] Determine a second moving distance of the movable device based on the moving data of the first cruise data set and the moving data of the third cruise data set;
[0034] Compare the first moving distance with the second moving distance, and determine the validity of the first position according to the comparison result.
[0035] According to a second aspect of the present disclosure, there is also provided a method for controlling the movement of a movable device, the method including:
[0036] Obtain first cruise scene information describing scene features based on a first cruise data set collected by a movable device in a target scene at a first time;
[0037] Search for a first map fragment associated with the first cruise scene information in the target scene map;
[0038] Obtain a second map fragment based on at least two cruise data sets; wherein, different cruise data sets correspond to different timestamps, and data in the same cruise data set have the same timestamp, and the at least two cruise data sets include the first cruise data set and at least one other cruise data set whose collection time is before the first time;
[0039] Determine the correspondence between the map elements in the first map fragment and the map elements in the second map fragment;
[0040] Determine a first position of the movable device in the target scene map at the first time according to the correspondence and the position of the movable device in the second map fragment at the first time;
[0041] Determine a movement path of the movable device according to the first position and a target position of the movable device in the target scene;
[0042] Control the movement of the movable device based on the determined movement path.
[0043] According to a third aspect of the present disclosure, there is provided a chip according to some embodiments, the chip may include:
[0044] A storage unit for storing a computer program; and,
[0045] A processing unit, configured to implement the method according to the first aspect and / or the second aspect of the present disclosure when executing the computer program stored in the storage unit.
[0046] According to a fourth aspect of the embodiments of the present disclosure, there is provided a controller, which includes a memory and a processor. The memory is used to store computer instructions, and the processor is used to call the computer instructions from the memory to execute the method according to the first aspect and / or the second aspect.
[0047] According to a fifth aspect of the present disclosure, there is provided a removable device according to some embodiments. The removable device may include a chip according to the third aspect of the present disclosure; or, include a controller according to the fourth aspect of the present disclosure; or, may include:
[0048] A processor;
[0049] A memory for storing processor-executable instructions;
[0050] Wherein, the processor is configured to implement the method according to the first aspect and / or the second aspect of the present disclosure when executing the instructions stored in the memory.
[0051] According to a sixth aspect of the present disclosure, there is further provided a non-volatile computer-readable storage medium, on which computer program instructions are stored, and the computer program instructions implement the above method when executed by a processor.
[0052] According to the positioning method provided by the embodiments of the present disclosure, it realizes the positioning of the movable device during cruising by performing element matching between map elements of a first map segment in the target scene map obtained by map building and a second map segment created during cruising. Moreover, when performing element matching between map segments, the single-frame map segment obtained from the first cruising data set is also expanded by nearest neighbors to obtain the second map segment. This can effectively reduce the influence of environmental conditions and the like on the positioning accuracy compared with independent feature recognition of each element, and improve the application limitation problem that the positioning accuracy is affected by environmental conditions or hardware configurations.
[0053] Through the following detailed description of the exemplary embodiments of the present disclosure with reference to the accompanying drawings, other features and advantages of the present disclosure will become clear. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] The drawings incorporated in the specification and constituting a part of the specification illustrate embodiments of the present disclosure and, together with the description, are used to explain the principles of the present disclosure.
[0055] Figure 1 is a schematic diagram of an intelligent networked system to which the method provided by the embodiments of the present disclosure can be applied;
[0056] Figure 2 is a schematic diagram of a movable device provided according to Figure 1 the illustrated embodiment;
[0057] Figure 3 is a flowchart of a positioning method according to some embodiments;
[0058] Figure 4 is a flowchart of a process for matching target mapping scene information according to some embodiments;
[0059] Figure 5 is a flowchart of a process for determining a map fragment according to some embodiments;
[0060] Figure 6 is a flowchart of a map fragment matching according to some embodiments;
[0061] Figure 7 is a flowchart of a positioning method according to some other embodiments;
[0062] Figure 8 is a flowchart of a movement control method according to some embodiments;
[0063] Figure 9 is a schematic diagram of the composition structure of a chip according to some embodiments;
[0064] Figure 10 is a schematic diagram of the composition structure of a controller according to some embodiments;
[0065] Figure 11 is a schematic diagram of the composition structure of a movable device according to some embodiments. Detailed Description of Specific Embodiments
[0066] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: unless otherwise specifically stated, the relative arrangements of components and steps, numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present disclosure.
[0067] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or its use.
[0068] Technologies, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, the above technologies, methods, and devices should be considered as part of the specification.
[0069] In all examples shown and discussed herein, any specific values should be construed as merely exemplary and not as a limitation. Thus, other examples of exemplary embodiments may have different values.
[0070] It should be noted that like reference numerals and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0071] The present disclosure relates to a positioning scheme for a mobile device in a scenario without GNSS signals. Taking a vehicle parking in an underground parking garage without GNSS signals as an example, by initializing the positioning of the vehicle in the parking garage, the parking path of the vehicle from the current position to the target parking space can be determined, and accurate docking of the vehicle can be achieved.
[0072] In the related art, vehicle positioning can be achieved based on the environmental data of the parking garage collected by in-vehicle sensors, its own motion data, and the historical mapping result of the parking garage. Based on such a concept, there are various alternative implementation manners. For example, in one implementation manner, environmental images can be collected by a camera, feature points can be extracted from the environmental images, and the corresponding feature points can be identified in the scene map obtained by mapping to determine the position of the vehicle in the scene map; for this implementation manner, since the recognition accuracy of the feature points is sensitive to the environment and light, when there are many dynamic objects or poor light conditions in the scene, the positioning accuracy cannot be guaranteed, that is, the positioning accuracy of this implementation manner depends on the environmental conditions and has poor robustness. For another example, in another implementation manner, the scene can also be scanned by a radar, and the position of the vehicle in the scene map can be determined based on the point cloud features of the scene scan; compared with feature point recognition, although this implementation manner reduces the dependence on environmental conditions, the hardware cost is also significantly increased, and the implementation of the scheme depends on the vehicle configuration, and there are also application limitations.
[0073] In the related art, there are also some positioning schemes with other concepts. For example, based on the GNSS prior result, the sensed data of sensors such as an Inertial Measurement Unit (IMU) and a wheel speedometer are fused to estimate the current position of the vehicle; for this positioning scheme, even if there is a very small angular deviation when the vehicle enters the parking garage, after a long time of estimation, the position will also have a large deviation, and the positioning accuracy is relatively low. For another example, based on ramp information and the distances of the vehicle from the walls on both sides of the ramp, etc., the vehicle is initialized for positioning, which requires that there must be a ramp in the scene, and the assumption of the scene is too strong, and the usage scenario is relatively limited.
[0074] It can be seen that in the related art, the positioning accuracy without GNSS signals strongly depends on environmental conditions or hardware configurations, and there are application limitations. Therefore, the embodiments of the present disclosure propose a positioning method that can at least weaken such limitations.
[0075] The method of the embodiments of the present disclosure can be applied to a movable device, which can be communicatively connected to a server and / or a user terminal to form an intelligent networked system. Figure 1 Schematically, an intelligent networked system 100 to which the method provided by the embodiments of the present disclosure can be applied is given. As Figure 1 shown, the intelligent networked system 100 may include: a movable device 101, a server 102, and a user terminal 103.
[0076] In some examples, the movable device 101 may be a vehicle with an autonomous driving function, a robot capable of autonomous movement, etc. Among them, autonomous driving is also known as driverless or intelligent driving. A vehicle with an autonomous driving function can perform driving tasks such as environmental perception, decision-making and planning, and control execution. The level of autonomous driving can refer to the automotive intelligent grading standard formulated by the Society of Automotive Engineers (SAE). For example, the L0 level is manual driving, L1 is assisted driving, L2 is partial autonomous driving, L3 is conditional autonomous driving, L4 is highly autonomous driving, and L5 is fully autonomous driving. The above classification method of autonomous driving levels is only for illustration, and the embodiments of the present disclosure do not limit the classification criteria and levels of autonomous driving.
[0077] In some examples, the server 102 may be a single server or a distributed server cluster composed of multiple servers. Its deployment method may include a local server and / or a cloud server. The server 102 can communicate with the movable device 101 and / or the user terminal 103 based on a communication network, and provide various services for the movable device 101 and / or the user terminal 103. For example, the server can receive the perception data sent by the movable device and provide services such as high-precision maps, data analysis, and decision-making and planning for the movable device. For another example, the server can receive query instructions or control instructions sent by the user terminal and provide corresponding services for the user.
[0078] In some examples, the user terminal 103 may be any form of electronic device that provides services for users, such as a personal computer, a laptop computer, a smart tablet, a smart phone, a smart wearable device, etc. The user can interact with the movable device or the server through the human-computer interaction terminal configured on the movable device 101, or can also interact with the movable device or the server through the user terminal 103. For example, query the status and / or parameters of the movable device through the user terminal, or control the movable device to execute set tasks and / or modify configuration parameters, etc.; among them, the user terminal 103 runs an application program based on the intelligent networked system to realize the interaction with the movable device or the server. The application program can be a local application, a web application or a small program, etc., which is not limited herein.
[0079] In some examples, the above-mentioned application running on the user terminal 103 can provide authentication or authorization services for users. Users who have successfully authenticated and been granted corresponding permissions can query and / or control the removable device within the granted permissions.
[0080] Between the removable device 101, the server 102, and the user terminal 103, communication can be carried out through the communication link provided by the communication network 104. The communication network 104 can include one or more networks of any type. For example, the communication network 104 can include the Internet, local area network (LAN), wide area network (WAN), virtual private network (VPN), public switched telephone network (PSTN), satellite communication network, Wi-Fi, 2G, 3G, 4G, 5G, 6G, NB-IoT, eMTC, infrared, Bluetooth, NFC, etc. that provide communication, or a combination of the above multiple networks. The communication networks between the removable device 101 and the server 102, between the user terminal 103 and the server 102, and between the user terminal 103 and the removable device 101 can be the same or different.
[0081] It should be noted that Figure 1 The structure of the intelligent networked system 100 shown in Figure 1 is only schematic. The intelligent networked system in the embodiments of the present disclosure is not limited to the above structure, and may further include more or fewer devices as needed, or the devices may be combined or split. For example, the intelligent networked system may also not include
[0082] The positioning method in the embodiments of the present disclosure can be independently implemented by the removable device 101, can also be implemented by the server 102, or can be jointly implemented by the removable device 101 and the server 102, which is not limited herein.
[0083] Figure 2 is a schematic diagram of a removable device 101 provided according to the Figure 1 shown embodiment. As Figure 2 shown, the removable device 101 can include a sensing component 1011, a computing platform 1012, an execution component 1013, etc. Among them, the sensing component 1011, the computing platform 1012, and the execution component 1013 can be connected through a bus or other means.
[0084] In some examples, the sensing component 1011 can be used to collect information about the mobile device itself or the external environment. The sensing component 1011 can include a visual sensing unit and a motion sensing unit. The visual sensing unit can include one or more cameras. The motion sensing unit can include a wheel speedometer and / or an Inertial Measurement Unit (IMU). In other examples, the sensing component 1011 can also include a radar, a positioning and navigation unit, etc., which are not limited herein. The radar can include at least one of a lidar, a millimeter wave radar, an ultrasonic radar, or other radars. The wheel speedometer can be of any type, such as an electromagnetic wheel speedometer, an optoelectronic wheel speedometer, a mechanical wheel speedometer, a Hall effect wheel speedometer, or a vision wheel speedometer, etc. The positioning and navigation unit can include at least one of a GPS system, a Beidou system, or other global positioning systems.
[0085] In some examples, the computing platform 1012 may include a device with computing capabilities, which is used to process the sensed information collected by the sensing component 1011 to obtain control information, and send corresponding control instructions to the execution component 1013, so that the execution component 1013 performs corresponding actions, thereby realizing the control of the movable device 101. Exemplarily, the computing platform 1012 may perform behaviors such as simultaneous localization and mapping (SLAM), path planning, and behavior decision-making on the movable device, so as to realize the autonomous control of the movable device. The computing platform 1012 may include at least one processor and at least one memory. Each processor may execute the instructions stored in the memory alone or jointly to implement the method provided by the embodiments of the present disclosure. The processor in the embodiments of the present disclosure may include at least one of a central processing unit (CPU), a graphic processing unit (GPU), a field programmable gate array (FPGA), a system on chip (SOC), an application specific integrated circuit (ASIC), a microcontroller unit (MCU), or other processors. The memory may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read only memory (PROM), read only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk. In addition to storing instructions, the memory may also store data, such as high-precision maps, path information, the position, direction, speed, etc. of the movable device. The data stored in the memory can be acquired and used by the processor.
[0086] In some examples, the computing platform of the movable device may execute computing tasks independently or communicate with a server to complete computing tasks. For example, the computing platform of the movable device may cooperate with the server to complete corresponding computing tasks.
[0087] The computing platform 1012 may be set in the movable device 101, and part or all of the computing platform 1012 may also be set in the server corresponding to the movable device. For example, some functions with high real-time requirements of the computing platform 1012 are set in the movable device, and another part of the functions with low real-time requirements are set in the server corresponding to the movable device.
[0088] In some examples, the execution component 1013 is configured to perform corresponding actions based on the control of the computing platform 1012, so that the movable device 101 can complete the moving task. The execution component 1013 may include, for example, a power component, a braking component, a transmission component, a steering component, etc.
[0089] It should be noted that Figure 2 The structure of the movable device 101 shown in is only schematic. The movable device in the embodiments of the present disclosure is not limited to the above structure, and may include more or fewer components as needed, or the device may be combined or split. For example, the movable device may not include the above computing platform. For another example, the movable device may further include a communication component, an interface component, a multimedia component, an input component, an output component, etc.
[0090] Next, various embodiments of the present disclosure will be described in conjunction with the Figure 1 system shown.
[0091] <First Embodiment>
[0092] Figure 1 A positioning method for a movable device according to some embodiments is shown. The positioning method according to the embodiments of the present disclosure can be used to complete the positioning initialization of the movable device in the target scene, or can be used for continuous tracking and positioning after the positioning initialization is completed, which is not limited herein.
[0093] As Figure 1 shown, the method of the embodiments of the present disclosure may include the following steps S310 to S350:
[0094] Step S310, obtaining first cruise scene information describing the scene characteristics based on the first cruise data set collected by the movable device in the target scene at the first time.
[0095] In this embodiment, the target scene may be a scene without GNSS signals, and the method of this embodiment can perform reliable positioning in a target scene without GNSS signals. For example, the target scene is an underground space such as an underground parking garage, or an outdoor scene where GNSS signals are blocked by obstacles such as high-rise buildings.
[0096] Taking Figure 2Taking the movable device 101 as an example, the movable device 101 is provided with a sensing component 1011. The sensing component 1011 can collect cruise data sets at a set sampling frequency. Different cruise data sets correspond to different timestamps, and the data in the same cruise data set correspond to the same timestamp. The timestamp is used to mark the sampling time of the data set. For example, the timestamp corresponding to the first cruise data set is the first timestamp used to mark the first time. It can be understood that the data in the same cruise data set corresponding to the same timestamp does not mean that the sampling times of these data are strictly aligned. In practical applications, a time window for alignment can be set. That is to say, the data collected within a time window can be considered to correspond to the same timestamp.
[0097] In this embodiment, the cruise data set may include scene data. The scene data is data that reflects the content of the target scene. The scene data in each cruise data set can be used to determine the cruise scene information describing the scene characteristics and to generate a ground image segment of the target scene. Hereinafter, the ground image segment generated based on the scene data of one cruise data set is referred to as a single-frame ground image segment.
[0098] In this embodiment, the cruise data set may also include the movement data of the movable device 101. The movement data in each cruise data set can reflect the movement speed of the movable device 101 at the corresponding timestamp. Among them, the movement speed is a vector, including the movement rate and the movement direction. The movement speed can include the linear speed and / or the angular speed. The movement data can be the movement speed itself or any data that can be used to determine the movement speed, which is not limited here. The movement data can be used to splice the single-frame ground image segments generated based on the scene scan data of different timestamps to obtain a larger-range ground image segment.
[0099] In some examples, the scene data can be scene images collected by one camera or multiple cameras. In other words, the method of this embodiment can reduce the influence of environmental conditions on the positioning accuracy and is applicable to collecting scene data through cameras. Here, since the camera is a basic hardware configuration of the movable device and has an obvious cost advantage compared with the radar, the implementation of the method of this embodiment is not limited by the hardware configuration and can be adapted to any vehicle with intelligent driving functions.
[0100] Of course, those skilled in the art can understand that in the case where the vehicle is equipped with a radar for scene scanning, the method of this embodiment also supports collecting scene data through the radar, or collecting scene data through a combination of the radar and the camera, etc.
[0101] In some examples, the movement data can be provided by a wheel speed sensor and / or an IMU, and can be flexibly selected according to the vehicle hardware configuration without affecting the positioning accuracy. In fact, whether it is a wheel speed sensor or an IMU, they are basic hardware configurations of movable devices. Therefore, the implementation of the method in this embodiment is not limited by the hardware configuration.
[0102] The first time in step S310 can be any sampling time. In some examples, the processing of the method in this embodiment can be performed for each cruise data set collected by the sensing component.
[0103] In other examples, since the scene data collected by the sensing component during two samplings will not change in a way that affects the positioning accuracy when the movement amount of the movable device is limited, where the movement amount includes distance and angle. For example, in the scene of an underground parking lot, the scene elements are mainly parking spaces and columns. If the vehicle movement amount is limited, the scene elements within the radiation range of the sensing component 1011 will basically not change. Therefore, it is also possible to select key data sets for the processing of the method in this embodiment based on the movement amount of the movable device 101 in the target scene, instead of processing each data set collected, so as to reduce the data processing amount and improve the response speed. For example, let the first cruise data set C1 collected by the movable device 101 at the sampling time t1 be the key data set; at the sampling time t2, if the movement amount of the movable device 101 is less than or equal to the first set threshold, the second cruise data set C2 collected at the sampling time t2 can be ignored; at the sampling time t3, if one of the movement distance and angle of the movable device 101 relative to the sampling time t1 is greater than the corresponding first set threshold, it is determined that the third cruise data set C3 collected at the sampling time t3 is the key data set, and so on. In this example, the first cruise data set can be any key data set.
[0104] In this embodiment, by extracting the features of the scene data in the first cruise data set, the first cruise scene information describing the scene features can be obtained. The first cruise scene information can be represented by a feature vector.
[0105] Step S320, search for the first map segment associated with the first cruise scene information in the target scene map.
[0106] The vehicle is cruising in the target scenario this time and needs to be positioned based on the target scenario map, which is the result of historical mapping. Taking the movable device as the vehicle as an example, in this embodiment, the mapping data set required to create the target scenario map can be collected by the current vehicle, other vehicles, or dedicated collection vehicles in the target scenario at historical times, which is not limited here. Taking the current vehicle for historical mapping as an example, the target scenario map can be created by the current vehicle or by the server based on the mapping data set uploaded by the current vehicle and then sent to the current vehicle for use. Taking other vehicles or collection vehicles as an example, the target scenario map can be created by the vehicle and uploaded to the server for sharing among vehicles, or can be created by the server based on the mapping data set uploaded by the vehicle and then sent to the networked vehicles for use, etc.
[0107] In some examples, the scene data of the first cruise data set includes a first image, and the first cruise scene information is the feature vector of the first image obtained by extracting image features from the first image. Representing the first cruise scene information by a feature vector can reduce the occupation of storage space, achieve lightweight detection, and improve the detection efficiency of image comparison.
[0108] The first image is, for example, an image collected by the front camera of the movable device 101. Conducting visual scene detection based on the scene information of the front view field of the movable device in the traveling direction is beneficial to reducing the amount of data processing for coordinate conversion in vehicle positioning and improving the data processing accuracy.
[0109] The feature vector of the first image is, for example, the global feature descriptor vector of the first image. The global feature descriptor can better capture the overall characteristics of the image, thus concisely and comprehensively representing the features of the image to more effectively complete visual scene detection.
[0110] In this embodiment, since the first cruise scene information is obtained based on the first cruise data set collected by the vehicle at the current position, the first cruise scene information can reflect the scene characteristics of the scene area where the vehicle is currently located. In this way, the corresponding map fragment of the scene area where the vehicle is currently located in the target scenario map can be found based on the first cruise scene information as the first map fragment to perform primary positioning on the movable device. The primary positioning here can also be called rough positioning.
[0111] In some examples, in addition to the target scene map, the map database may further include a set of mapping scene information of the target scene. The set of mapping scene information includes multiple frames of mapping scene information corresponding to different timestamps, and each frame of mapping scene information is associated with a ground image segment in the target scene map. Similar to the cruise scene information, the mapping scene information is obtained based on a set of mapping data collected by the vehicle during historical mapping. Similar to the cruise data set, different sets of mapping data collected by the vehicle during historical mapping correspond to different timestamps, and the data in the same set of mapping data has the same timestamp. The mapping data set may also include scene data and movement data, which will not be elaborated here. In this way, during primary positioning, based on the similarity between the first cruise scene information and each frame of mapping scene information in the set of mapping scene information, a frame of mapping scene information that matches the first cruise scene information can be determined as the target mapping scene information, and the ground image segment associated with the target mapping scene information can be used as the first ground image segment to improve the processing speed of primary positioning. Here, the similarity between the cruise scene information and the mapping scene information can be determined based on, for example, cosine similarity, Euclidean distance, Manhattan distance, or Pearson correlation coefficient, etc., which is not limited here.
[0112] In some examples, the mapping scene information with the highest similarity score can be used as the target mapping scene information, and the ground image segment associated with the target mapping scene information can be used as the first ground image segment.
[0113] In other examples, when searching for the target mapping scene information that matches the first cruise scene information, in addition to considering the similarity between the first cruise scene information and the mapping scene information, spatio-temporal consistency verification can also be performed on the information matching to improve the reliability of the information matching. In these examples, in the set of mapping scene information of the target scene, searching for the target mapping scene information that matches the first cruise scene information may include the following steps S3201 and S3203:
[0114] Step S3201: In the set of mapping scene information, search for K frames of first mapping scene information whose similarity with the first cruise scene information meets the set conditions.
[0115] In this embodiment, K is an integer greater than or equal to 1. To improve the robustness of primary positioning, K can be an integer greater than or equal to 2. That is to say, at least two first mapping scene information can be determined through step S3201 for screening the target mapping scene information.
[0116] The set conditions can be that the similarity is greater than or equal to a second set threshold, or the first K frames arranged in descending order of similarity, etc., which is not limited here.
[0117] Step S3202: For each frame of the first mapping scene information, determine the consistency score of the first mapping scene information according to whether there is an association relationship between the first mapping scene information and the second mapping scene information.
[0118] The second mapping scene information is the mapping scene information whose similarity with the second cruising scene information meets the set conditions. The second cruising scene information is the cruising scene information determined based on the second cruising data set collected by the movable device in the target scene at the second time, where the second time is before the first time. For example, the second cruising data set can be the previous frame data set or the previous frame key data set of the first cruising data set.
[0119] When there is an association relationship between the first mapping scene information and the second mapping scene information, the consistency score of the first mapping scene information is related to the consistency score of the second mapping scene information. For example, the consistency score of the first mapping scene information can be incremented by a set increment on the basis of the consistency score of the second mapping scene information. Here, the set increment can be simply set to the step size "1". Of course, other compensatory set increments can also be adopted according to needs, which are not limited here.
[0120] When there is no association relationship between the first mapping scene information and the second mapping scene information, the consistency score of the first mapping scene information can be set to an initial value, where the initial value is, for example, "0".
[0121] Step S3203: Among the first mapping scene information whose consistency score is greater than or equal to the set value, select one frame of mapping scene information as the target mapping scene information that matches the first cruising scene information.
[0122] The set value is related to the initial value and the set increment of the above-mentioned consistency score. The set value can be determined by comprehensively considering the response speed and the positioning accuracy. Taking the initial value of 0 and the set increment of 1 as an example, the set value can be 2 or 3, etc.
[0123] In step S3203, if the consistency score of only one frame of the first mapping scene information reaches the set value, then this frame of the first mapping scene information is the target mapping scene information that matches the first cruising scene information.
[0124] In step S3203, if the consistency scores of two or more (including two) frames of the first mapping scene information all reach the set value, then among these first mapping scene information, select the frame with the highest similarity to the first cruising scene information as the target mapping scene information.
[0125] In this example, by performing a relevance test of the similar mapping scene information on the continuous cruise scene information, the spatio-temporal consistency verification of positioning is carried out, which is beneficial to improving the reliability of positioning.
[0126] Furthermore, when determining whether there is a correlation between the first mapping scene information and the second mapping scene information, it can be determined based on the first mapping scene information and the second mapping scene information themselves. For example, if the similarity between the first mapping scene information and the second mapping scene information reaches a third set threshold, it can be considered that there is a correlation between the two.
[0127] When determining whether there is a correlation between the first mapping scene information and the second mapping scene information, it can also be determined by combining the adjacent frame mapping scene information of the first mapping scene information on the basis of the first mapping scene information, and / or by combining the adjacent frame mapping scene information of the second mapping scene information on the basis of the second mapping scene information. That is, the correlation between the first mapping scene information and the second mapping scene information can be determined by constructing an information set centered on the first mapping scene information and / or the second mapping scene information. On the one hand, this can reduce the amount of data processing for confirming the correlation, and on the other hand, it can also speed up the convergence rate while improving the reliability of information matching, thereby improving the positioning efficiency. Therefore, in some examples, determining whether there is a correlation between the first mapping scene information and the second candidate mapping scene information may include the following steps: constructing a first mapping scene information set through the first mapping scene information and its adjacent frame mapping scene information; and when there is the same mapping scene information in the first mapping scene information set and the second mapping scene information set, determining that the first mapping scene information in the first mapping scene information set and the second mapping scene information in the second mapping scene information set are correlated. Among them, the second mapping scene information set is constructed by the second mapping scene information and its adjacent frame mapping scene information.
[0128] In this example, the consistency score of the first mapping scene information is also the consistency score of the first mapping scene information set where the first mapping scene information is located. That is to say, the first mapping scene information in the first mapping scene information set has the same consistency score. Similarly, the consistency score of the second mapping scene information is also the consistency score of the second mapping scene information set where the second mapping scene information is located.
[0129] See Figure 4 , taking the set condition of selecting the top 3 mapping scene information with the highest similarity as an example, that is, K is taken as 3. The figure shows cruise scene information C1, C2, and C3, and the cruise scene information C1, C2, and C3 are respectively obtained based on three consecutive key frame data sets collected after the mobile device enters the target scene.
[0130] Taking the cruise scene information C3 as the first cruise scene information and the cruise scene information C2 as the second cruise scene information as an example. By calculating the similarity between the cruise scene information C3 and each frame of mapping scene information in the mapping scene information set, the first mapping scene information M2, M5, and M10 with the top 3 similarities are obtained. Among them, the first mapping scene information M2 and the adjacent mapping scene information M1, M3 form the first mapping scene information set G9, the first mapping scene information M5 and the adjacent mapping scene information M4, M6 form the first mapping scene information set G10, and the first mapping scene information M10 and the adjacent mapping scene information M9, M11 form the first mapping scene information set G11. It is possible to determine that the first mapping scene information in the first mapping scene information set has an association relationship with the candidate mapping scene information in the second mapping scene information set based on whether there is the same mapping scene information between the first mapping scene information sets G9, G10, G11 and the second mapping scene information sets G7, G8 corresponding to the cruise scene information C2. For example, the second mapping scene information set G8 contains the mapping scene information M2 - M6. Therefore, the first mapping scene information sets G9, G10 have an association relationship with the second mapping scene information set G8, and the consistency scores of the first mapping scene information M2, M5 in the first mapping scene information sets G9, G10, that is, the consistency scores of the first mapping scene information sets G9, G10, will be determined based on the consistency score of the second mapping scene information set G8.
[0131] In addition, when constructing the first mapping scene information set by the first mapping scene information and the adjacent frame mapping scene information, different first mapping scene information sets with the same mapping scene information can be merged, which can expand the scope of spatio-temporal consistency verification, further accelerate the convergence speed, and is beneficial to selecting the first mapping scene information with a higher similarity to match the first cruise scene information under the condition of meeting spatio-temporal consistency. In this regard, constructing the first mapping scene information set by the first mapping scene information and the adjacent frame mapping scene information may include the following steps: for each frame of the first mapping scene information, set the first mapping scene information and the adjacent frame mapping scene information to form a first mapping scene information set; merge different first mapping scene information sets with the same mapping scene information to obtain the updated first mapping scene information set.
[0132] Continue to refer to Figure 4, when the cruise scene information C1 is the first cruise scene information, select the top 3 mapping scene information M2, M4, and M20 in terms of similarity from the mapping scene information set, and construct three mapping scene information sets G1, G2, and G3 based on the mapping scene information M2, M4, and M20 respectively. Merge the mapping scene information sets G1 and G2 into the mapping scene information set G4. Therefore, for the cruise scene information C1, two mapping scene information sets G3 and G4 are finally obtained. Since the cruise scene information C1 is the first data set when the mobile device enters the target scene, the consistency scores of the mapping scene information sets G3 and G4 are the initial value 0, denoted as G3-0 and G4-0.
[0133] Further, when the cruise scene information C2 becomes the first cruise scene information, the cruise scene information C1 becomes the second cruise scene information, and the mapping scene information sets G3 and G4 obtained based on the cruise scene information C1 also become the second mapping scene information sets. By calculating the similarity between the cruise scene information C2 and each frame of mapping scene information in the mapping scene information set, the top 3 mapping scene information M3, M5, and M30 in terms of similarity are obtained. Among them, the mapping scene information M3 and the adjacent mapping scene information M2, M4 form the mapping scene information set G5, the mapping scene information M5 and the adjacent mapping scene information M4, M6 form the mapping scene information set G6, and the mapping scene information M30 and the adjacent mapping scene information M29, M31 form the mapping scene information set G7. Among them, the mapping scene information sets G5 and G6 have the same mapping scene information M4. Therefore, the mapping scene information sets G5 and G6 can be merged to obtain the updated mapping scene information sets G7 and G8. Since the mapping scene information set G8 and the mapping scene information set G4 have the same mapping scene information, the consistency score of the mapping scene information set G8 will be accumulated to "1", denoted as G8-1, while the candidate mapping scene information set G7 and the candidate mapping scene information sets G3 and G4 do not have the same mapping scene information. Therefore, the consistency score of the candidate mapping scene information set G7 is the initial value 0, denoted as G7-0. Taking the set value set to "2" as an example, for the cruise scene information C2, no first mapping scene information that can make the consistency score reach the set value can be matched. Therefore, no target mapping scene information that matches the cruise scene information C2 can be matched, that is, the first-level positioning cannot be completed based on the cruise scene information C2, and tracking needs to be continued. At this time, the mapping scene information sets G3 and G4 obtained for the cruise scene information C1 can be deleted.
[0134] After receiving the next frame of cruise dataset, at this time, the cruise scene information C3 obtained based on this frame of cruise dataset becomes the first cruise scene information, and the cruise scene information C2 becomes the second cruise scene information. At this time, since there are the same mapping scene information in the first mapping scene information sets G9 and G10 and the second mapping scene information set G8 respectively, therefore, the consistency scores of the first mapping scene information M2 and M5 will continue to accumulate a set increment based on the consistency scores of the second mapping scene information set G8. That is, the consistency scores of the first mapping scene information sets G9 and G10 will be accumulated to "2", denoted as G9-2 and G10-2, and the consistency score of the first mapping scene information set G11 is the initial value "0". Since the consistency scores of the first mapping scene information sets G9 and G10 reach the set value "2", therefore, the first mapping scene information M2 with a relatively high similarity can be selected from the first mapping scene information M2 and M5 as the target mapping scene information matching the cruise scene information C3, and further, the map fragment associated with the first mapping scene information M2 is set as the first map fragment associated with the cruise scene information C3 to complete the first-level positioning.
[0135] In some examples, when associating the mapping scene information with the map fragment in the target scene map, the association can be performed based on the homologous dataset, that is, the associated mapping scene information and map fragment are obtained based on the same mapping dataset. That is to say, taking the i-th mapping scene information as an example, if the mapping scene information i is obtained based on the mapping dataset i, then the map fragment associated with the mapping scene information i can be the map fragment that can be obtained based on the mapping dataset i.
[0136] In other examples, in order to further improve the robustness of the method in this embodiment and improve the tolerance ability for detection errors, it can be set that the associated mapping scene information and map fragment are obtained based on a mapping dataset and multiple mapping datasets including this mapping dataset respectively. That is to say, the map fragment associated with each frame of mapping scene information is expanded proximally, which not only includes the single-frame map fragment corresponding to the current frame of mapping dataset, but also can include at least partial fragments of the single-frame map fragments corresponding to the proximally adjacent front and rear frame mapping datasets. In this example, the proximal expansion range can be set as needed, and the map fragment associated with each frame of mapping scene information is determined according to the setting.
[0137] For example, see Figure 5, the first cruise scenario information corresponds to the first cruise dataset 521d, and the first mapping scenario information matching the first cruise scenario information corresponds to the first mapping dataset 511d. In this example, the first map fragment 512 is a part of the target scenario map 510. The first map fragment 512 not only includes the single-frame map fragment that can be obtained based on the first mapping dataset 511d, but also includes other map parts adjacent to the single-frame map fragment in the target scenario map 510. That is to say, the first map fragment 512 can be obtained by splicing multiple single-frame map fragments obtained from a continuous plurality of mapping datasets including the first mapping dataset 511d, for example Figure 5 the mapping datasets 511a to 511e in
[0138] To facilitate establishing an association relationship between the mapping scenario information and the map fragments in the target scenario map, during mapping, the single-frame map fragments corresponding to each mapping dataset can be marked in the target scenario map. Among them, since the scene data in adjacent-frame mapping datasets will have content overlap, the single-frame map fragments corresponding to adjacent-frame mapping datasets will also have overlap. In other words, the target scenario map is obtained by splicing multiple single-frame map fragments. In this way, the map fragment associated with each frame of mapping scenario information can be determined according to the marks in the target scenario map, so that the map fragment includes the single-frame map fragment corresponding to the associated mapping scenario information and at least a part of the single-frame map fragments corresponding to adjacent-frame mapping scenario information.
[0139] In another example, to find the first map fragment associated with the first cruise scenario information in the target scenario map, the first cruise scenario information can also be used as a query vector to perform cross-attention query in the target scenario map to obtain the first map fragment associated with the first cruise scenario information, etc., which is not limited here.
[0140] Step S330, obtaining a second map fragment based on at least two cruise datasets; where at least two cruise datasets include the first cruise dataset and at least one other cruise dataset whose sampling time is before the first time.
[0141] In this embodiment, the second map fragment is a continuous map fragment. At least two cruise datasets can be at least two adjacent cruise datasets or at least two adjacent key datasets to reduce redundant data processing and improve the effectiveness of data processing.
[0142] When positioning during cruising, since the first time is the current time, the sampling time of the other cruise datasets in at least two cruise datasets is before the first time.
[0143] In this embodiment, compared with the single-frame ground image segment corresponding to the first cruise data set, the second ground image segment is proximally expanded, including not only the single-frame ground image segment corresponding to the first cruise data set, but also at least partial segments of the single-frame ground image segments corresponding to the adjacent-frame cruise data sets. This is beneficial to improving the tolerance ability for detection errors, enhancing the robustness of the method in this embodiment, and thus obtaining a more accurate secondary positioning result.
[0144] Continue to refer to Figure 5 , the second ground image segment 522 can be all or part of the local map 510 obtained from all the cruise data sets collected by the movable device in the target scene up to the current time. The second ground image segment 522 includes not only the single-frame ground image segment that can be obtained based on the first cruise data set 521d, but also other map parts adjacent to this single-frame ground image segment. For example, the second ground image segment 522 can be obtained by stitching multiple single-frame ground image segments obtained from the cruise data sets 521b to 521d.
[0145] Step S340, determine the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment.
[0146] In this embodiment, the first ground image segment and the second ground image segment can be semantically matched to determine the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment.
[0147] When performing semantic matching on the two ground image segments, it can be mainly based on the map elements representing the iconic scene elements. Taking an underground parking garage as an example, the iconic scene elements are parking spaces and columns. Therefore, based on the map elements with semantic categories of parking spaces and columns in the ground image segment, semantic matching can be performed on the first ground image segment and the second segment, and then the correspondence between the map elements such as parking spaces and columns in the two ground image segments can be determined.
[0148] Figure 6 Schematically gives the ground image segment of the parking garage. Refer to Figure 6, for the first ground image segment 512 and the second ground image segment 522, by performing semantic matching on the first ground image segment 512 and the second ground image segment 522, the corresponding relationships between map elements such as parking spaces and columns in the first ground image segment 512 and the second ground image segment 522 can be determined. For example, the parking space 512a in the first ground image segment 512 corresponds to the parking space 522a in the second ground image segment 522, that is, the parking space 512a in the first ground image segment 512 and the parking space 522a in the second ground image segment 522 correspond to the same parking space in the parking garage, and the column 512b in the first ground image segment 512 corresponds to the column 522b in the second ground image segment 522, etc.
[0149] In this embodiment, since the first ground image segment comes from the target scene map, the mobile device knows the positions of the map elements in the first ground image segment in the target scene map, or rather, the mobile device knows the positions of the map elements in the first ground image segment in the map coordinate system. Thus, after determining the corresponding relationships between the map elements in the first ground image segment and the map elements in the second ground image segment through step S340, the positions of the map elements in the second ground image segment in the map coordinate system can be determined according to this corresponding relationship, thereby realizing the secondary positioning of the vehicle in the map coordinate system, which can also be called precise positioning.
[0150] In some examples, the cruise data set includes multiple images corresponding to the same timestamp, and the multiple images are collected by different cameras carried by the mobile device. Taking a vehicle as an example, the vehicle can be equipped with 6 cameras, including a front-view camera, a rear-view camera, and 4 other cameras respectively arranged on both sides, etc. In this example, the first cruise scene information can be obtained based on the first image in the first cruise data set, while the second ground image segment is obtained based on all the images in at least two cruise data sets. The first image is, for example, an image collected by the front-view camera. In the example, performing primary positioning based on the first cruise scene information obtained from the first image can reduce the amount of data processing and improve the processing speed; while obtaining the second ground image segment based on all the images can improve the accuracy and matching efficiency of semantic matching between the two ground image segments, so as to further improve the positioning accuracy of the secondary positioning.
[0151] In some examples, the target scene map and the second ground image segment obtained during cruising can be a bird's-eye view (BEV) of the target scene viewed from a top-down perspective. Since the bird's-eye view can reflect the overall layout and structural features of the target scene and can also clearly show the spatial relationships between different elements, this type of map is beneficial to reducing the matching difficulty and improving the accuracy of semantic matching. According to the needs of semantic matching, this bird's-eye view can be a two-dimensional view or a three-dimensional view with height information, which is not limited here.
[0152] In some examples, the target scene map and the first map fragment that is part of the target scene location Figure 1 can be set such that the map elements represented by vector graphics map to the scene elements in the target scene. Similarly, the second map fragment can also be set such that the map elements represented by vector graphics map to the scene elements in the target scene. Refer to Figure 5 , taking a parking garage as an example, the parking spaces can be represented by rectangular vector images depicting the outlines of the parking spaces. In this example, mapping the scene elements with vector graphics will not store a large number of data points for mapping the scene elements. When performing semantic matching on the two map fragments, there is no need to perform matching calculations between a large number of data points, thereby effectively improving the matching efficiency without affecting the matching accuracy.
[0153] In the example where the map elements represented by vector graphics map to the scene elements in the target scene, determining the correspondence between the map elements in the first map fragment and the map elements in the second map fragment in step S340 may include: determining the correspondence between the map elements in the first map fragment and the map elements in the second map fragment based on the graphics, element categories of the map elements, and the relative positions of different map elements in the same map fragment.
[0154] In the example, as two corresponding map elements in the two map fragments, their graphics and element categories are the same, and the relative positions of the two map elements with respect to other map elements in the same map fragment are also the same. This can ensure the accuracy and reliability of the matching in a simple matching manner. Among them, the same graphics include the same graphic shape and size, and the element category indicates the category of the scene element mapped by the graphic. For example, the element categories of the two map elements are both parking spaces or columns.
[0155] Step S350, based on the correspondence determined through step S340 and the position of the mobile device in the second map fragment at the first time, determine the first position of the mobile device in the target scene map at the first time.
[0156] In this embodiment, the position of the mobile device in the second map fragment at the first time can be determined according to the internal parameters and the external parameters at the first time of the sensor for collecting the cruise dataset. In this way, when the positions of the map elements in the first map fragment in the target scene map are known, based on the correspondence between the map elements in the two map fragments and the position of the mobile device in the second map fragment, the first position of the mobile device in the target scene map at the first time can be determined, completing the precise positioning of the mobile device.
[0157] According to steps S310 to S350, the method of this embodiment realizes the positioning of the mobile device during cruising by performing element matching between map elements of the first ground image segment in the target scene map obtained by map building and the second ground image segment created during cruising. Compared with the feature recognition of a single element, since the matching of map elements for two ground image segments is a multi-element and multi-angle matching, the method of this embodiment has a strong tolerance ability for the errors that may be introduced in the intermediate links, and thus can effectively reduce the influence of environmental conditions and the like on the positioning accuracy. Moreover, even if the method of this embodiment is implemented using standard hardware such as a camera and a wheel speedometer, stable positioning accuracy can be obtained, and the versatility is strong.
[0158] In addition, the method of this embodiment performs neighborhood expansion on the single-frame ground image segment obtained from the first cruising data set to obtain a second ground image segment, and performs element matching between the ground image segments through the second ground image segment, which further enhances the tolerance ability of the method of this embodiment, thereby effectively reducing the influence of environmental conditions and the like on the positioning accuracy.
[0159] <Second Embodiment>
[0160] Figure 7 The positioning method of the mobile device according to some other embodiments is shown. Different from the first embodiment, after obtaining the first position of the mobile device in the target scene map at the first time, this embodiment also performs validity verification on the first position to further improve the accuracy of positioning the mobile device in the target scene without GNSS signals. As Figure 7 shown, the method may include the following steps S710 to S780:
[0161] Step S710, based on the first cruising data set collected by the mobile device in the target scene at the first time, obtain the first cruising scene information describing the scene characteristics.
[0162] Step S720, search for the first ground image segment associated with the first cruising scene information in the target scene map.
[0163] Step S730, obtain a second ground image segment based on at least two cruising data sets; wherein, different cruising data sets correspond to different timestamps, the data in the same cruising data set have the same timestamp, and the at least two cruising data sets include the first cruising data set and at least one other cruising data set with a sampling time before the first time.
[0164] Step S740, determine the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment.
[0165] Step S750: Determine the first position of the movable device in the target scene map at the first time according to the correspondence between the map elements in the first ground image segment and the map elements in the second ground image segment, and the position of the movable device in the second ground image segment at the first time.
[0166] Step S760: Determine the first moving distance of the movable device in the target scene map based on the first position and the second position of the movable device in the target scene map.
[0167] In this embodiment, the second position is determined based on the third cruise data set collected by the movable device in the target scene at the third time, and the third time is before the first time.
[0168] In this embodiment, the third cruise data set can be the nearest neighbor cruise data set that can complete secondary positioning and obtain the second position before the first cruise data set. The steps for obtaining the second position based on the third cruise data set can refer to steps S310 to S350 for obtaining the first position based on the first cruise data set, which will not be elaborated here.
[0169] Step S770: Determine the second moving distance of the movable device based on the moving data of the first cruise data set and the moving data of the third cruise data set.
[0170] The moving data may include the data output by the wheel speedometer.
[0171] In this embodiment, since the moving data reflects the moving speed and moving direction of the movable device at the corresponding time, therefore, based on the moving data of the first cruise data set and the moving data of the third cruise data set, the moving distance of the movable device in the sampling time interval between the two cruise data sets can be calculated as the second moving distance.
[0172] Step S780: Compare the first moving distance with the second moving distance, and determine the validity of the first position according to the comparison result.
[0173] When the first position is valid, it is determined that the initialization positioning of the movable device in the target scene is completed at the first time.
[0174] When the first position is invalid, tracking can be continued, taking the next frame of cruise data set as the first cruise data set, and returning to step S710 to execute the method steps of this embodiment again until the initialization positioning is completed.
[0175] In step S780, the absolute value of the difference between the first moving distance and the second moving distance can be calculated, and the validity of the first position can be determined based on the absolute value of the difference.
[0176] For example, it can be set that when the absolute value of the difference is less than or equal to a fourth set threshold, the first position is determined to be valid, and when the absolute value of the difference is greater than the fourth set threshold, the first position is determined to be invalid.
[0177] For another example, it can also be set that when the absolute value of the difference is less than or equal to a fourth set threshold, the consistency count is updated. For example, the consistency count is incremented by "1", and when the updated consistency count reaches the fourth set threshold, the first position is determined to be valid, otherwise the first position is determined to be invalid, and step S710 is returned to perform the next positioning. In this example, the initial value of the consistency count can be set to 0. Taking the fourth set threshold as 2 as an example, when performing positioning by continuously executing steps S710 to S780 twice, if the absolute values of the differences between the two moving distances are both less than or equal to the fourth set threshold, the consistency count is accumulated to "2", and at this time, it can be determined that the initialization positioning is completed.
[0178] In this embodiment, when currently executing steps S710 to S780, if the first ground image segment cannot be matched in step S720, or if it is determined in step S780 that the absolute value of the difference is greater than the fourth set threshold, the consistency count can be cleared, so that when steps S710 to S780 are executed next time, the accumulation of the consistency count is restarted to further improve the positioning accuracy.
[0179] <The Third Embodiment>
[0180] Figure 8 shows a mobile control method for a movable device according to some embodiments. This method can be implemented by a movable device or by a server, which is not limited herein. As Figure 8 shown, the mobile control method may include the following steps S810 to S870:
[0181] Step S810, obtaining first cruise scene information describing scene features based on a first cruise data set collected by the movable device in a target scene at a first time.
[0182] Step S820, searching for a first ground image segment associated with the first cruise scene information in a target scene map.
[0183] Step S830, obtaining a second ground image segment based on at least two cruise data sets; wherein, different cruise data sets correspond to different timestamps, the data in the same cruise data set have the same timestamp, and at least two cruise data sets include the first cruise data set and at least one other cruise data set whose acquisition time is before the first timestamp.
[0184] Step S840: Determine the correspondence between the map elements in the first map fragment and the map elements in the second map fragment.
[0185] Step S850: Based on the correspondence between the map elements in the first map fragment and the map elements in the second map fragment, and the position of the movable device in the second map fragment at the first time, determine the first position of the movable device in the target scene map at the first time.
[0186] Step S860: Determine the movement path of the movable device according to the first position and the target position of the movable device in the target scene.
[0187] According to the first position, the target position, and the target scene map, determine the movement path of the movable device in the target scene.
[0188] Furthermore, since the target scene map is used to represent the static scene elements in the target scene, in the embodiment, other dynamic scene elements such as other vehicles in the target scene can also be determined based on the cruise data set, so as to further combine the dynamic scene elements in the target scene to determine the movement path of the movable device in the target scene.
[0189] Step S870: Control the movable device to move based on the determined movement path.
[0190] Taking the target scene as a parking garage as an example, the target position is the target parking space. The movable device can be controlled to move in the parking garage based on the determined movement path to reach the target parking space and complete parking.
[0191] <Fourth Embodiment>
[0192] This embodiment provides a chip capable of implementing the method of the embodiments of the present disclosure. As Figure 9 shown, the chip 900 includes a storage unit 920 and a processing unit 910. The storage unit 920 is used to store computer programs. The processing unit 910 is configured to implement the method according to any embodiment of the present disclosure when executing the computer program stored in the storage unit.
[0193] The chip 900 can be a processor chip with data processing capabilities.
[0194] The chip 900 can be a processor chip applied to an Automated Driving Control Unit (ADCU) in the intelligent driving domain, etc.
[0195] The chip 900 can be a System on a Chip (SOC). The chip 900 integrates multiple processors, multiple memories, I / O interfaces, etc. to achieve a miniaturized design of the controller.
[0196] <Fifth Embodiment>
[0197] This embodiment provides a controller, as Figure 10 shown, the controller 1000 includes a memory 1002 and a processor 1001. The memory 1002 is used to store the computer program for the processor 1001 to run. The processor 1001 is configured to implement the method according to any embodiment of the present disclosure when executing the computer program stored in the memory 1002.
[0198] The controller is, for example, an intelligent driving domain controller, or a central controller of a vehicle, etc.
[0199] <Sixth Embodiment>
[0200] This embodiment provides a movable device, which may include the chip 900 according to the fourth embodiment or the controller 1000 according to the fifth embodiment.
[0201] In some embodiments, as Figure 11 shown, the movable device 1100 may also include a memory 1102 and a processor 1101. The memory 1102 is used to store the computer program for the processor 1101 to run. The processor 1101 is configured to implement the method according to any embodiment of the present disclosure when executing the computer program stored in the memory 1102.
[0202] The movable device 1100 is, for example, a vehicle with intelligent driving functions, or any form of intelligent robot, etc., which is not limited herein.
[0203] The embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored. The computer program implements any of the methods in the foregoing embodiments of the present disclosure when being executed by a processor. Optionally, the computer-readable storage medium may be a non-transitory storage medium, but is not limited thereto, and it may also be a transitory storage medium.
[0204] The embodiments of the present disclosure also provide a computer program product, which may include a computer program. The computer program implements any of the methods in the foregoing embodiments of the present disclosure when being executed by a processor.
[0205] The above embodiments focus on illustrating the differences from other embodiments. For the same or similar parts between different embodiments, reference can be made to each other.
[0206] The present disclosure may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to implement any of the methods of the foregoing embodiments of the present disclosure.
[0207] A computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or raised structures in a groove having instructions stored thereon, and any suitable combination of the foregoing. The computer-readable storage medium as used herein is not to be construed as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through an optical fiber cable), or an electrical signal transmitted through a wire.
[0208] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to respective computing / processing devices, or may be downloaded to an external computer or an external storage device through a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each of the computing / processing devices.
[0209] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine - related instructions, microcode, firmware instructions, state - setting data, or source code or object code written in any combination of one or more programming languages, which may include object - oriented programming languages - such as Smalltalk, C++, etc., and conventional procedural programming languages - such as the "C" language or similar programming languages. The computer - readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as a stand - alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network - including a local area network (LAN) or a wide area network (WAN) - or, alternatively, may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, by using the state information of the computer - readable program instructions to customize an electronic circuit, such as a programmable logic circuit, a field - programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer - readable program instructions to implement various aspects of the present disclosure.
[0210] Aspects of the present disclosure are described herein with reference to the flowchart and / or block diagram of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer - readable program instructions.
[0211] These computer - readable program instructions can be provided to a processor of a general - purpose computer, a special - purpose computer, or other programmable data - processing apparatus to produce a machine such that the instructions, when executed by the processor of the computer or other programmable data - processing apparatus, create a means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer - readable program instructions can also be stored in a computer - readable storage medium, which causes a computer, a programmable data - processing apparatus, and / or other devices to operate in a particular manner, so that the computer - readable medium storing the instructions includes a manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0212] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, causing a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process such that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in one or more boxes of the flowchart and / or block diagram.
[0213] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or acts, or by a combination of dedicated hardware and computer instructions. It should be noted that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are equivalent.
[0214] The embodiments of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art in the field of the present technology without departing from the scope and spirit of the described embodiments. The selection of the terms used herein is intended to best explain the principles of the embodiments, the practical application, or the technical improvement of the technology in the market, or to enable other ordinary skilled persons in the field of the present technology to understand the embodiments disclosed herein. The scope of the present disclosure is defined by the appended claims.
Claims
1. A positioning method for a mobile device, characterized in that, Including: Obtaining first cruise scene information describing scene features based on a first cruise data set collected by a movable device in a target scene at a first time; Searching for a first map fragment associated with the first cruise scene information in a target scene map; Generating a second map fragment based on at least two cruise data sets; wherein different cruise data sets correspond to different timestamps, and data in the same cruise data set has the same timestamp, and the at least two cruise data sets include the first cruise data set and at least one other cruise data set whose collection time is before the first time, so that the second map fragment includes a single-frame map fragment generated based on the first cruise data set and at least partial fragments of single-frame map fragments generated based on the other cruise data sets; Determining the correspondence between map elements in the first map fragment and map elements in the second map fragment; Determining a first position of the movable device in the target scene map at the first time according to the correspondence and the position of the movable device in the second map fragment at the first time.
2. The method according to claim 1, characterized in that The searching for a first map fragment associated with the first cruise scene information in a target scene map includes: Searching for target mapping scene information matching the first cruise scene information in a mapping scene information set of the target scene; wherein the mapping scene information set includes multiple frames of mapping scene information corresponding to different timestamps, and each frame of the mapping scene information is associated with a map fragment constituting the target scene map, and the associated mapping scene information and map fragment are respectively obtained based on a mapping data set and multiple mapping data sets including the mapping data set, different mapping data sets correspond to different timestamps, and data in the same mapping data set has the same timestamp; Determining the map fragment associated with the target mapping scene information as the first map fragment.
3. The method according to claim 1, wherein The cruise data set includes multiple images corresponding to the same timestamp, and the multiple images are collected by different cameras carried by the movable device; The first cruise scene information is obtained based on a first image in the first cruise data set; The second map fragment is obtained based on all images in the at least two cruise data sets.
4. The method according to claim 1, characterized in that, The first cruise data set includes a first image, and the obtaining first cruise scene information describing scene features based on the first cruise data set collected by the movable device in the target scene at the first time includes: Extracting image features from the first image, and obtaining a feature vector of the first image as the first cruise scene information.
5. The method according to claim 1, wherein Both the target scene map and the second map fragment are map elements represented by vector graphics, mapping scene elements in the target scene.
6. The method according to claim 5, wherein The determining the correspondence between map elements in the first map fragment and map elements in the second map fragment includes: Determining the correspondence between map elements in the first map fragment and map elements in the second map fragment based on the graphics, element categories of the map elements, and the relative positions of different map elements in the same map fragment.
7. The method according to claim 2, wherein In the set of mapping scene information of the target scene, searching for target mapping scene information that matches the first cruise scene information includes: In the set of mapping scene information, searching for first mapping scene information whose similarity to the first cruise scene information meets a set condition; Determining a consistency score of the first mapping scene information according to whether there is an association relationship between the first mapping scene information and second mapping scene information; wherein, the second mapping scene information is mapping scene information whose similarity to second cruise scene information meets the set condition, and the acquisition time of the second cruise data set corresponding to the second cruise scene information is before the first time; Among the first mapping scene information with a consistency score greater than or equal to a set value, selecting one frame of mapping scene information as the target mapping scene information.
8. The method according to claim 7, characterized in that, Determining whether there is an association relationship between the first mapping scene information and the second mapping scene information includes: Constructing a first set of mapping scene information through the first mapping scene information and adjacent frame mapping scene information of the first mapping scene information; When there is the same mapping scene information in the first set of mapping scene information and the second set of mapping scene information, determining that the first mapping scene information in the first set of mapping scene information is associated with the second mapping scene information in the second set of mapping scene information; Wherein, the second set of mapping scene information is constructed by the second mapping scene information and adjacent frame mapping scene information of the second mapping scene information.
9. The method according to claim 8, wherein The constructing a first set of mapping scene information through the first mapping scene information and adjacent frame mapping scene information of the first mapping scene information includes: For each frame of the first mapping scene information, setting the first mapping scene information and adjacent frame mapping scene information of the first mapping scene information to form a first set of mapping scene information; Merging different first sets of mapping scene information with the same mapping scene information to obtain an updated first set of mapping scene information.
10. The method according to any one of claims 1 to 9, characterized in that, The cruise data set further includes movement data reflecting the movement speed of the movable device at the corresponding time stamp; after determining the first position of the movable device in the target scene map at the first time, the method further includes: Based on the first position and a second position of the movable device in the target scene map, determining a first movement distance of the movable device in the target scene map; wherein, the second position is determined based on a third cruise data set collected by the movable device at a third time, and the third time is before the first time; Based on the movement data of the first cruise data set and the movement data of the third cruise data set, determining a second movement distance of the movable device; Comparing the first movement distance with the second movement distance and determining the validity of the first position according to the comparison result.
11. A method for controlling the movement of a mobile device, characterized in that, Including: Based on a first cruise data set collected by a movable device in a target scene at a first time, obtaining first cruise scene information describing scene features; Locate a first map fragment associated with the first cruise scene information in the target scene map; Generate a second map fragment based on at least two cruise data sets; wherein different cruise data sets correspond to different timestamps, and the data in the same cruise data set have the same timestamp. The at least two cruise data sets include the first cruise data set and at least one other cruise data set whose collection time is before the first time, such that the second map fragment includes a single-frame map fragment generated based on the first cruise data set and at least partial fragments of single-frame map fragments generated based on the other cruise data sets; Determine the correspondence between the map elements in the first map fragment and the map elements in the second map fragment; Determine the first position of the movable device in the target scene map at the first time according to the correspondence and the position of the movable device in the second map fragment at the first time; Determine the movement path of the movable device according to the first position and the target position of the movable device in the target scene; Control the movement of the movable device based on the determined movement path.
12. A chip, characterized in that, The chip includes: a processing unit for executing the method according to any one of claims 1 to 11.
13. A controller, characterized in that, Comprising a memory and a processor, the memory is used for storing computer instructions, and the processor is used for calling the computer instructions from the memory to execute: the method according to any one of claims 1 to 11.
14. A mobile device, characterized in that, Comprising the chip according to claim 12, or the controller according to claim 13; or, The movable device includes: a memory and a processor, the memory is used for storing computer instructions, and the processor is used for calling the computer instructions from the memory to execute: the method according to any one of claims 1 to 11.
15. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and when the computer program is executed by a processor, it realizes: the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Positioning method, positioning device, readable storage medium and electronic device
CN110361005A
Positioning method and device, medium and unmanned device
CN112393723A