A parking method, system, vehicle and storage medium
By receiving vehicle positioning data and visually perceiving parking space information, and matching it with timestamps and memorized parking space information, the problem of insufficient parking space recognition accuracy in the APA parking system is solved, achieving higher parking accuracy and reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEI DOU ZHI LIAN KE JI YOU XIAN GONG SI
- Filing Date
- 2023-10-10
- Publication Date
- 2026-06-02
Smart Images

Figure CN117325847B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicles, and more particularly to a parking method, system, vehicle, and storage medium. Background Technology
[0002] APA parking system is an automatic parking assistance system that uses the vehicle's surround-view cameras, ultrasonic sensors, and other sensors to detect the environment around the vehicle, automatically find a suitable parking space, and automatically complete the parking operation.
[0003] Currently, in the control of APA parking systems, the precision and accuracy of final parking control heavily depend on the accuracy of parking space recognition. Due to various factors such as lighting, weather, dirty parking lines, and surrounding environmental obstructions, both surround-view cameras and ultrasonic sensors have inherent errors in parking space recognition. This is especially true when the distance to the parking space is considerable, where the accuracy of recognition deteriorates sharply, leading to an inability to obtain accurate parking space information and significantly reducing parking efficiency and the reliability of automatic parking. Therefore, how to identify more accurate parking space information is a problem that urgently needs to be solved. Summary of the Invention
[0004] In view of this, in order to solve the problems existing in the prior art, this application provides a parking method, system, vehicle and storage medium.
[0005] In a first aspect, this application provides a parking method applied to a parking system, the method comprising:
[0006] Receive vehicle positioning data and visually perceived parking space information; wherein, the visually perceived parking space information carries a first timestamp and the visually perceived parking space.
[0007] Determine the target vehicle pose corresponding to the first timestamp from the vehicle positioning data;
[0008] The visually perceived parking space is matched with the memory parking space in the pre-stored memory parking space information. When it is determined that the visually perceived parking space and the memory parking space match, the distance between the visually perceived parking space, the memory parking space and the target vehicle posture are calculated respectively to determine the target parking space information to be parked.
[0009] Based on the target parking space information, a parking path is planned, and the vehicle waiting to be parked is controlled to drive along the parking path to complete the parking.
[0010] In an optional implementation, matching the visually perceived parking space with the pre-stored memory parking space information includes:
[0011] Obtain the center point of the visually perceived parking space, and obtain the four first parking space corner points belonging to the same memory parking space from the pre-stored memory parking space information, and determine the parking space area enclosed by the four first parking space corner points accordingly.
[0012] Determine whether the center point of the parking space is located within each of the parking space areas. If the center point of the parking space is located within one of the parking space areas, then determine that the visually perceived parking space matches the memory parking space.
[0013] In an optional implementation, if it is determined that the visually perceived parking space does not match the memory parking space, then the parking path is planned based on the visually perceived parking space, and the visually perceived parking space is added to the memory parking space information.
[0014] In an optional implementation, before determining the target vehicle pose corresponding to the first timestamp from the vehicle positioning data, the method further includes:
[0015] The vehicle positioning data and the visually perceived parking space information are synchronized; wherein, the synchronization of the vehicle positioning data and the visually perceived parking space information includes: according to a pre-built time synchronization conversion relationship, the first timestamp carried in the visually perceived parking space information is converted to a time coordinate system to obtain a second timestamp.
[0016] Determining the target vehicle pose corresponding to the first timestamp in the vehicle positioning data includes:
[0017] Determine whether the second timestamp falls within a preset time range; wherein, the time range is the time range corresponding to the vehicle positioning data;
[0018] If the second timestamp is within a preset time range, then find the vehicle body pose data of the two times adjacent to the second timestamp;
[0019] Interpolation is performed on the vehicle body pose data to obtain the target vehicle body pose at the time corresponding to the second timestamp.
[0020] In an optional implementation, the process of constructing the time synchronization conversion relationship includes:
[0021] Receive a time synchronization request from the target module and record the local third timestamp when the time synchronization request is received, wherein the time synchronization request carries a fourth timestamp corresponding to when the time synchronization request is initiated;
[0022] The third timestamp is sent as the response timestamp, and the fifth timestamp corresponding to when the target module receives the response timestamp is recorded;
[0023] Based on the third, fourth, and fifth timestamps, the time synchronization conversion relationship between the modules is obtained.
[0024] In an optional implementation, before matching the visually perceived parking space with the pre-stored memory parking space information, the method further includes:
[0025] Calculate the first distance between the first parking space position corresponding to all the memory parking space information and the second parking space position corresponding to the target vehicle pose;
[0026] The first parking space location is filtered based on the first spacing to determine the target parking space information in the memory parking space information to be matched with the visually perceived parking space information.
[0027] In an optional implementation, the step of calculating the distances between the visually perceived parking space, the memorized parking space, and the target vehicle's pose, respectively, to determine the target parking space information for parking, includes:
[0028] Based on the target vehicle's pose, determine the installation location information of the camera used to collect the visual perception parking space information;
[0029] The two second parking space corner points that belong to the same parking space and are closest to the target vehicle pose in the visually perceived parking space information and the memory parking space information are respectively obtained, and the second distance and deflection angle between the center point of the two second parking space corner points and the installation position information are calculated.
[0030] Based on the second spacing and the deflection angle, the target parking space information is determined.
[0031] Secondly, this application provides a parking system, comprising:
[0032] A receiving module is used to receive vehicle positioning data and visually perceived parking space information; wherein, the visually perceived parking space information carries a first timestamp and the visually perceived parking space.
[0033] The determination module is used to determine the target vehicle pose corresponding to the first timestamp in the vehicle positioning data;
[0034] The matching module is used to match the visually perceived parking space with the memory parking space in the pre-stored memory parking space information. When it is determined that the visually perceived parking space and the memory parking space match, the distance between the visually perceived parking space, the memory parking space and the target vehicle posture are calculated respectively to determine the target parking space information to be parked.
[0035] The parking module is used to plan a parking path based on the target parking space information and control the vehicle to be parked to drive along the parking path to complete the parking.
[0036] Thirdly, this application provides a vehicle including a memory and at least one processor, the memory storing a computer program, and the processor executing the computer program to implement the aforementioned parking method.
[0037] Fourthly, this application provides a computer storage medium storing a computer program, which, when executed, implements the aforementioned parking method.
[0038] The embodiments of this application have the following beneficial effects:
[0039] This application provides a parking method, which includes: receiving vehicle positioning data and visually perceived parking space information; wherein the visually perceived parking space information carries a first timestamp and a visually perceived parking space; determining the target vehicle pose corresponding to the first timestamp in the vehicle positioning data; matching the visually perceived parking space information with a pre-stored memory parking space; when the visually perceived parking space and the memory parking space are matched, calculating the distances between the visually perceived parking space, the memory parking space, and the target vehicle pose, respectively, to determine the target parking space information to be parked; planning a parking path based on the target parking space information, and controlling the vehicle to be parked to drive according to the parking path to complete the parking. This application embodiment fuses visually perceived parking spaces and memory parking spaces to determine the target parking space information to be parked, thereby obtaining relatively accurate parking space information to improve the accuracy of parking space recognition. Furthermore, this application embodiment analyzes historical data (memory parking space information) and existing data (currently recognized visually perceived parking space information) to provide relatively accurate parking space information, thereby improving parking accuracy and reliability. Attached Figure Description
[0040] To more clearly illustrate the technical solutions of this application, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of this application and should not be considered as a limitation on the scope of protection of this application. In the various drawings, similar components are numbered similarly.
[0041] Figure 1 A schematic diagram of the first embodiment of the parking method in this application is shown;
[0042] Figure 2 A schematic diagram of a second embodiment of the parking method in this application is shown;
[0043] Figure 3A schematic diagram of a third embodiment of the parking method in this application is shown;
[0044] Figure 4 A schematic diagram of a fourth embodiment of the parking method in this application is shown;
[0045] Figure 5 A schematic diagram of a parking system according to an embodiment of this application is shown. Detailed Implementation
[0046] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0047] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0048] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.
[0049] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.
[0050] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.
[0051] APA parking system is an automatic parking assistance system that uses onboard sensors, typically ultrasonic radar or cameras, to identify available parking spaces and then controls the vehicle to park through a control unit.
[0052] RTK (Real-Time Kinematic) real-time dynamic measurement technology is a real-time differential GPS (RTDGPS) technology based on carrier phase observation. It consists of three parts: a base station receiver, a data link, and a rover receiver. The base station transmits its carrier observations and station coordinate information to the rover in real time via the data link. The rover receives the carrier phase of the GPS satellites and the carrier phase from the base station, and combines them into phase difference observations for real-time processing, which can provide centimeter-level positioning results in real time.
[0053] Currently, when using the APA parking system for automatic parking, the computational delays in camera perception algorithms and data transmission lead to accumulated errors in parking space calculation: 1. Due to lighting or environmental factors, the camera perception algorithm may occasionally misjudge surrounding interference signals, reporting non-existent or incorrectly typed parking spaces to the system, resulting in inaccurate parking space information; 2. The accuracy of parking space recognition by the camera changes when the surrounding environment changes or the distance to the parking space is greater; 3. The stitching of signals from multiple surround-view cameras and the processing of parking space data from the images require a certain amount of time. Consequently, when the parsed parking space data is sent to the APA parking system for parking path planning and control after the accumulation of errors, delays and significant positional errors have occurred, leading to deviations in the determined parking space coordinates and inaccurate automatic parking.
[0054] Based on this, this application provides a parking method applied to a parking system comprising multiple modules, each performing a corresponding function. This embodiment fuses visually perceived parking space information with memory-based parking space information to determine the target parking space information, thereby eliminating the influence of interfering parking spaces and obtaining relatively accurate parking space information. This improves the accuracy of parking space recognition. Furthermore, this embodiment analyzes historical data (memorized parking space information) and existing data (currently recognized visually perceived parking space information) to provide relatively accurate parking space information, thus improving parking accuracy and reliability.
[0055] Optionally, the modules in this parking system can be vehicle positioning modules, parking space integration modules, etc. The specific configuration of each module can be determined according to actual needs and is not limited here.
[0056] For example, the vehicle positioning module calculates coordinates based on collected RTK signals, wheel speed pulses, steering wheel angle, IMU signals, and other parameters, outputting the vehicle's current real-time coordinates. The parking space recognition module outputs the types of available parking spaces around the vehicle, along with their corresponding coordinates, based on collected camera signals (i.e., image data). The parking space fusion module merges the data output from the vehicle positioning module and the parking space recognition module to determine the target parking space. The APA planning and control module implements vehicle parking path planning and control.
[0057] Please refer to Figure 1 The parking method will now be described in detail with a specific embodiment.
[0058] S10 receives vehicle positioning data and visually perceived parking space information; among which, the visually perceived parking space information carries a first timestamp and the visually perceived parking space.
[0059] In this embodiment, the parking system records and stores the vehicle positioning data output by the vehicle positioning module and the visually perceived parking space information output by the parking space recognition module. The visually perceived parking space information carries a first timestamp, which is the acquisition time corresponding to the camera signal used to calculate the parking space coordinates, that is, the acquisition time when the camera acquired the image data.
[0060] It is understood that the vehicle positioning data includes the current vehicle position coordinates and heading angle; the visually perceived parking space information includes the parking space position coordinates of each identified visually perceived parking space.
[0061] Then, the parking space fusion module receives and stores the vehicle positioning data output by the vehicle positioning module and the visual perception parking space information output by the parking space recognition module, and then processes them accordingly.
[0062] In one embodiment, if the vehicle positioning module outputs vehicle positioning data at a high frequency, multiple output vehicle positioning data can be stored cyclically. That is, when receiving the vehicle positioning data, the transmission frequency of the vehicle positioning data is calculated, and the vehicle positioning data is stored cyclically when the transmission frequency is high; for example, the vehicle positioning data at times T1-Tn is stored cyclically.
[0063] It is worth noting that since functional modules such as vehicle positioning and parking space recognition are usually implemented and deployed in different hardware systems, the time systems of different hardware systems are different. Therefore, in order to ensure the high-precision fusion calculation of vehicle positioning data and visually perceived parking space information, it is necessary to synchronize the time of different modules first, that is, to convert the coordinate system corresponding to the data output by each module into the same reference coordinate system.
[0064] For example, when the parking system starts, the parking space recognition module or other functional modules periodically initiate time synchronization requests via network, serial port, or other transmission methods (where the system timestamp of the initiating request is recorded as T0 in the time synchronization request). After receiving the time synchronization request, each functional module of each processor (i.e., MCU) or system chip (i.e., SOC) immediately responds with its local timestamp T0′ and the received timestamp T0. When the parking space fusion module or other functional modules receive the response data (at time T1), they can obtain the time difference between different hardware systems. Through multiple transmissions of response data and after eliminating the transmission delay δT, the time of different hardware systems can be accurately converted, thereby completing the time synchronization of each functional module.
[0065] It is understandable that after receiving vehicle positioning data and visually perceived parking space information, this embodiment further performs time synchronization processing on these two data sets to ensure the accuracy of subsequent target parking space information determination. This time synchronization processing involves transforming the coordinate system of the visually perceived parking space information to match the coordinate system corresponding to the memorized parking space information.
[0066] Specifically, the vehicle positioning data and visually perceived parking space information are synchronized. This synchronization process includes: converting the first timestamp carried in the visually perceived parking space information to a second timestamp based on a pre-built time synchronization conversion relationship. This second timestamp is the time corresponding to the visually perceived parking space information after time synchronization.
[0067] Optional, such as Figure 2 As shown, the process of constructing this time synchronization conversion relationship specifically includes:
[0068] S51, receive a time synchronization request from the target module and record the local third timestamp when the time synchronization request is received, wherein the time synchronization request carries the fourth timestamp corresponding to when the time synchronization request is initiated.
[0069] S52, send the third timestamp as the response timestamp, and record the fifth timestamp corresponding to when the target module receives the response timestamp.
[0070] S53, based on the third, fourth, and fifth timestamps, obtains the time synchronization conversion relationship between the modules.
[0071] It is understandable that after receiving a time synchronization request from a target module such as the vehicle positioning module, each functional module records the third timestamp corresponding to the receipt of the request and immediately responds to the target module. This third timestamp then serves as the response timestamp. The time synchronization request includes a fourth timestamp corresponding to the time the request was initiated.
[0072] Obtain and record the time value corresponding to the time when the target module receives the response timestamp, and use it as the fifth timestamp. That is, record the time corresponding to the time when the target module receives the response.
[0073] Then, the time synchronization conversion relationship between each module is constructed based on the third, fourth and fifth timestamps, and then the time synchronization between each module is achieved based on this time synchronization conversion relationship.
[0074] Specifically, the mean of half the difference between the third and fifth timestamps is calculated, and this mean is used as the one-way network transmission delay value; based on the third and fourth timestamps and the one-way network transmission delay value, the time difference between each module is calculated; based on the time difference, the time synchronization conversion relationship between each module is constructed.
[0075] For example, if the parking space recognition module and the vehicle positioning module belong to different hardware systems, the time units corresponding to the two modules are pre-converted to the same unit. Furthermore, if the timestamp corresponding to the parking space recognition module initiating a time synchronization request is T0, the timestamp corresponding to the vehicle positioning module responding is T0′, and the timestamp corresponding to the parking space recognition module receiving the response is T1, the network one-way transmission delay is defined as δT. This network one-way transmission delay can be obtained by acquiring multiple T0 and T1 values and calculating the average of half the differences between these multiple T0 and T1 values, using this average as the network one-way transmission delay.
[0076] Therefore, the time difference (dT) between the parking space recognition module and the vehicle positioning module is obtained as: dT=T0-T0′+δT. Here, since the parking space recognition module is the initiator of the time synchronization request and the vehicle positioning module is the receiver, the time synchronization conversion relationship between time T in the reference frame of the vehicle positioning module and time T′ in the reference frame of the parking space recognition module is T′=T-dT.
[0077] S20, determine the target vehicle pose corresponding to the first timestamp in the vehicle positioning data.
[0078] In this embodiment, the vehicle body pose data collected at the same time as the first timestamp is selected from the vehicle positioning data and used as the target vehicle body pose.
[0079] Since the vehicle positioning data is transmitted at a relatively high frequency, while the visually perceived parking space information is transmitted at a relatively low frequency, the parking space fusion module needs to obtain the actual vehicle body pose data corresponding to the visually perceived parking space information from the vehicle positioning data when processing the vehicle positioning data and the visually perceived parking space information. The vehicle body pose data includes the vehicle position coordinates and heading angle.
[0080] Furthermore, in one embodiment, based on the above-described time synchronization processing flow, the first timestamp (i.e., T′) in the visually perceived parking space information can be transformed into a coordinate system, that is, converted into the reference coordinate system of the vehicle positioning module, and then T′ is transformed into timestamp T (i.e., the second timestamp). Then, the vehicle body pose data corresponding to timestamp T is obtained.
[0081] Further, it is determined whether the second timestamp falls within a preset time range; where the time range is the time range corresponding to the vehicle positioning data; if the second timestamp is within the preset time range, the vehicle body pose data at two adjacent moments corresponding to the second timestamp are searched; interpolation is performed on the vehicle body pose data to obtain the target vehicle body pose at the moment corresponding to the second timestamp. This time range can be set according to actual needs and is not limited here; for example, this time range can be the time range corresponding to all vehicle positioning data.
[0082] For example, if the vehicle positioning data is the vehicle positioning data corresponding to time T1-Tn; then, if T falls within the time range (T1, Tn), the vehicle body pose data corresponding to the two adjacent time points closest to time T are selected from the vehicle positioning data; then, the vehicle body pose data corresponding to time T is obtained by interpolation calculation on the vehicle body pose data of these two adjacent time points, and this is used as the target vehicle body pose.
[0083] If T does not fall within the time range (T1, Tn), then wait again to receive vehicle positioning data at time Tn+1 to ensure that vehicle positioning data can be received after receiving visually perceived parking space information; then, select the vehicle pose data corresponding to the two adjacent times closest to time T from the new vehicle positioning data, and perform interpolation calculation to obtain the target vehicle pose.
[0084] S30: The visually perceived parking space is matched with the memory parking space in the pre-stored memory parking space information. When it is determined that the visually perceived parking space and the memory parking space match, the distance between the visually perceived parking space, the memory parking space and the target vehicle posture are calculated respectively to determine the target parking space information for parking.
[0085] It is understandable that by matching the visually perceived parking space with the target vehicle's pose, the correspondence between the visually perceived parking space information and the target vehicle's pose can be obtained. Then, the visually perceived parking space can be matched with the pre-stored memory parking space to determine whether the currently identified visually perceived parking space belongs to the historically identified and stored memory parking space, that is, to determine whether the currently identified parking space information is new parking space information.
[0086] In one embodiment, since the vehicle positioning data itself has accumulated errors, in order to ensure the accuracy of the matching results, the interval distance between all the memorized parking space information and the current target vehicle body pose can be calculated first, so as to delete the memorized parking space information that exceeds the preset distance threshold.
[0087] Specifically, before matching the visually perceived parking space with the memory parking space, the first distance between the first parking space position (i.e., the memory parking space) corresponding to all the memory parking space information and the second parking space position corresponding to the target vehicle pose is calculated respectively; then the first parking space position is filtered according to the first distance to determine the target parking space information in the memory parking space information used to match the visually perceived parking space information.
[0088] For example, if the coordinates of the four corner points of each parking space relative to the starting point in all the memorized parking space information are (x0, y0), (x1, y1), (x2, y2), (x3, y3), respectively; and the coordinates of the center points of the two corner points closest to the vehicle body in each parking space are ((x0+x1) / 2, (y0+y1) / 2), respectively; where the starting point is the vehicle body position at the same moment when the parking system triggers the identification of each parking space, that is, the coordinates of the starting point correspond to the real-time vehicle body coordinates at that moment.
[0089] Furthermore, if the coordinates of the vehicle center point relative to the starting point in the current target vehicle pose are (x... v y v If the distance between the center point of the vehicle and the center point of the parking space (i.e., the first spacing) is:
[0090]
[0091] Then, this distance value is used to filter target parking space information for subsequent matching. The preset distance threshold used for filtering can be set according to actual needs and is not limited here.
[0092] Furthermore, this embodiment can also take into account the impact of visual interference and misidentification of parking spaces. It can delete memory parking space information that has been identified less than a preset number (e.g., 3 times) within a preset time range (e.g., within 3 seconds). The preset time range and preset number of identifications can be set according to actual needs and are not limited here.
[0093] Furthermore, before and after filtering the memory parking space information, since the visually perceived parking space information corresponds to the pose data in the vehicle coordinate system (i.e., the reference system with the center of the rear wheel of the vehicle as the origin at the time the visually perceived parking space information is collected), while the memory parking space information corresponds to the reference system with the center of the rear wheel of the vehicle as the origin at the time of starting the parking space identification (i.e., the global coordinate system), the two data can be transformed into a spatial coordinate system. For example, the reference system corresponding to the visually perceived parking space information can be transformed into the global coordinate system to achieve clock synchronization, thereby improving the accuracy of data processing.
[0094] Furthermore, such as Figure 3 As shown, in S30, "matching the visually perceived parking space with the pre-stored memory parking space information" specifically includes the following steps:
[0095] S31, obtain the center point of the visually perceived parking space, and obtain the four first parking space corner points belonging to the same memory parking space from the pre-stored memory parking space information, and determine the parking space area enclosed by the four first parking space corner points.
[0096] S32 determines whether the center point of the parking space is located within the area of each parking space.
[0097] S33, if the center point of the parking space is located within a parking space area, then the visually perceived parking space and the memory parking space are confirmed to be consistent.
[0098] S34. If the center point of the parking space is not located within a parking space area, it is determined that the visually perceived parking space and the memory parking space do not match.
[0099] It is important to note that parking space information perceived by cameras is easily affected by various factors such as the surrounding environment, vehicle position, and the camera's field of view. Therefore, for the same parking space location, the visually perceived parking space information obtained each time will not be exactly the same. Consequently, it is necessary to match the currently identified visually perceived parking space information with historically stored memory parking space information. Specifically, three results can be obtained: 1. The visually perceived parking space information does not exist in the memory parking space information (i.e., the visually perceived parking space and the memory parking space do not match); 2. The visually perceived parking space and the memory parking space match, and the parking space location corresponding to the visually perceived parking space is better; 3. The visually perceived parking space and the memory parking space match, and the parking space location corresponding to the memory parking space is better.
[0100] Furthermore, the system iterates through each parking space location corresponding to all visually perceived parking space information and each parking space location in the memorized parking space information, matching them one by one to obtain the corresponding matching results.
[0101] First, determine whether the visually perceived parking space overlaps with the memory parking space. Specifically, obtain the center point of each visually perceived parking space in the visually perceived parking space information, and determine whether the center point of the parking space is inside a memory parking space in the memory parking space information (i.e., within the parking space area of a memory parking space). If the center point of the parking space is within a parking space area of a memory parking space, it means that the visually perceived parking space and the memory parking space overlap; otherwise, it means that they do not overlap.
[0102] For example, if the corner points of the quadrilaterals corresponding to the parking space areas of each memory parking space in the memory parking space information are A(x4, y4), B(x5, y5), C(x6, y6), and D(x7, y7) respectively; then the parking space area enclosed by the four first parking space corner points belonging to the same memory parking space is the parking space area of one memory parking space.
[0103] In the visually perceived parking space information, the center point of the parking space to be matched is P(x, y). If the center point P is inside the parking space area, the value of vector AB*AP has the same sign as the values of vectors BC*BP, CD*CP, and DA*DP (where, if any of them is equal to zero, it means that the center point P is on the four perimeter lines of the parking space area, and it can be determined that the visually perceived parking space and the memory parking space coincide). That is, if all four values are positive or all are negative, it means that the center point P is inside the parking space area, and it is determined that the visually perceived parking space and the memory parking space coincide; otherwise, it means that the center point P is outside the parking space area, and it is determined that the visually perceived parking space and the memory parking space do not coincide. That is, the visually perceived parking space is a newly identified parking space, and thus the visually perceived parking space information can be added to the memory parking space information. Here, AB and AP are both vectors, and the result of the cross product (i.e., AB*AP) is: AB*AP=(x5-x4)*(y5-y4)-(y-y4)*(x-x4).
[0104] In this embodiment, after determining that the visually perceived parking space and the memory parking space overlap, the optimal (i.e., the one with higher recognition accuracy) parking space information can be selected from the visually perceived parking space information and the memory parking space information as the target parking space information.
[0105] In one implementation, such as Figure 4 As shown, the step S30 above, "calculating the distances between the visually perceived parking space, the memorized parking space, and the target vehicle's pose, respectively, to determine the target parking space information for parking," specifically includes the following steps:
[0106] S35 determines the installation location information of the camera used to collect visual perception parking space information based on the target vehicle's pose.
[0107] S36, respectively acquire the two second parking space corner points that belong to the same parking space and are closest to the target vehicle pose from the visually perceived parking space information and the memory parking space information, and calculate the second distance between the center point of the two second parking space corner points and the installation position information, as well as the deflection angle.
[0108] S37, based on the second spacing and deflection angle, determine the target parking space information for the vehicle to be parked.
[0109] Understandably, if the visually perceived parking space and the remembered parking space are determined to overlap, it is necessary to further compare the visually perceived parking space information and the remembered parking space information to select the more accurate parking space information as the target parking space information. This is especially true when the vehicle is parallel to the parking space, and the closer the camera on the vehicle is to the corner of the parking space, the more accurate the parking space identification effect.
[0110] Furthermore, the current vehicle camera installation position can be calculated based on the target vehicle body pose, and the second parking space corner point of each parking space in the visually perceived parking space information and the memorized parking space information can be determined.
[0111] Based on this, it can be assumed that: 1. If the distance between the center point of the two corner points of the parking space (i.e., the second corner point) and the installation position of the camera on the vehicle (i.e., the second spacing) is less than the first preset distance (e.g., 0.5 meters), and the deflection angle is less than the preset angle value (e.g., 2 degrees), the parking space with the smallest deflection angle is the target parking space; 2. If the distance between the center point of the two corner points of the parking space and the installation position of the camera is greater than the second preset distance (e.g., 1.5 meters), then the parking space with the closest distance is selected as the target parking space; 3. Under other conditions, the parking space with the smallest deflection angle is selected as the target parking space. The first preset distance, second preset distance, and preset angle value can be set according to actual needs and are not limited here.
[0112] Furthermore, target parking space information can be filtered out based on the distance and deflection angle between the corresponding corner points of the parking spaces in the visually perceived parking space and the memory parking space information and the camera.
[0113] It should be noted that after the above filtering process for target parking space information, three possible results exist:
[0114] 1. The visually perceived parking space does not exist in the memory (i.e., the visually perceived parking space information does not match the memory parking space information); therefore, the currently identified visually perceived parking space information is recorded as memory parking space information; that is, if it is determined that the visually perceived parking space information does not match the memory parking space information, a parking path is planned according to the corresponding visually perceived parking space, and the visually perceived parking space is added to the memory parking space information to update the memory parking space information, ensuring that the memory parking space information stored by the system is the optimal parking space information. When recording visually perceived parking space information, the system's memory parking space information storage space can be checked. If it is determined that the maximum storage space has been reached, parking space information that is far from the current target vehicle position is deleted from the memory parking space information to ensure the availability of storage space. The visually perceived parking space information that needs to be recorded includes: parking space type, parking space corner coordinates, distance between the parking space and the rear wheel center, parking space deflection angle relative to the vehicle coordinate system, parking space status, total number of recognitions, and the time of the most recent recognition. The specific information collected and the types of information to be recorded can be set according to actual needs and are not limited here.
[0115] 2. The visually perceived parking space and the memory parking space match, and the parking space location corresponding to the visually perceived parking space information is better (i.e., the target parking space information is the parking space information in the visually perceived parking space information); then, replace the corresponding matching memory parking space information and update the recorded memory parking space information; that is, replace the corresponding memory parking space information with the matching visually perceived parking space information, so as to use the matching visually perceived parking space information as the memory parking space information.
[0116] 3. The visually perceived parking space and the memory parking space match perfectly, and the parking space location corresponding to the memory parking space information is better (i.e., the target parking space information is the parking space information in the memory parking space information); therefore, it is not necessary to replace the matching memory parking space information with the matching visually perceived parking space information. The corresponding memory parking space information only needs to be updated with some information based on the matching visually perceived parking space information. The updated information includes information such as parking space status, total number of recognitions, and the time of the most recent recognition. The specific update information can be set according to actual needs and is not limited here.
[0117] Therefore, after the screening process, the memorized parking space information can be updated and the target parking space information can be determined based on different results, realizing the data fusion of visually perceived parking space information and memorized parking space information. Furthermore, the memorized parking space information stored in the system's memory is the optimal parking space information corresponding to the moment the visually perceived parking space information is received.
[0118] In one embodiment, since the planning and control of the APA parking system needs to be based on the current vehicle center, and the above calculations yield coordinate values in the global coordinate system, it is necessary to deduce the current vehicle coordinate system parking space information (i.e., calculate the parking space coordinates of the vehicle to be parked) in the coordinates corresponding to the current vehicle body pose data, and input it into the parking system. Furthermore, after receiving the current vehicle positioning data (including the vehicle's rear wheel center coordinates xoc, yoc, and deflection angle, etc.) output by the vehicle positioning module, the system calculates the parking space coordinates in the vehicle coordinate system ((x0′, y0′), (x1′, y1′), (x2′, y2′), (x3′, y3′)) based on the global coordinate system parking spaces (x0, y0), (x1, y1), (x2, y2), (x3, y3) stored in the memory parking space information; that is, the system calculates the current parking space coordinates of the vehicle to be parked (i.e., the parking space coordinates corresponding to the target parking space information) based on the memory parking space information. The calculation methods for each parameter value in the coordinate system are as follows:
[0119] x0′=(x0-xoc)*cos(angle)+(y0-yoc)*sin(angle);
[0120] y0′=(y0-yoc)*cos(angle)-(x0-xoc)*sin(angle);
[0121] x1′=(x1-xoc)*cos(angle)+(y1-yoc)*sin(angle);
[0122] y1′=(y1-yoc)*cos(angle)-(x1-xoc)*sin(angle);
[0123] x2′=(x2-xoc)*cos(angle)+(y2-yoc)*sin(angle);
[0124] y2′=(y2-yoc)*cos(angle)-(x2-xoc)*sin(angle);
[0125] x3′=(x3-xoc)*cos(angle)+(y3-yoc)*sin(angle);
[0126] y3′=(y3-yoc)*cos(angle)-(x3-xoc)*sin(angle).
[0127] S40 plans a parking path based on the target parking space information and controls the vehicle waiting to be parked to drive along the parking path to complete the parking.
[0128] It is understood that this embodiment can plan a parking path based on the target parking space information and the current vehicle position data, and then control the vehicle to drive according to the planned parking path to complete the parking.
[0129] The parking method provided in this application has the following advantages: First, by performing time synchronization processing on different modules and image timestamp correction processing, the accumulated errors in image calculation and data transmission can be eliminated; second, by performing interpolation calculations on multiple vehicle positioning data, the accurate target vehicle pose at the time corresponding to the visually perceived parking space information is obtained, thereby facilitating subsequent calculations to obtain accurate target parking space information; third, by fusing visually perceived parking spaces with memorized parking spaces, and selecting the optimal target parking space information according to a filtering strategy, parking accuracy and efficiency are improved, thereby enhancing parking reliability.
[0130] Please refer to Figure 5 This application provides a parking system, which includes:
[0131] The receiving module 110 is used to receive vehicle positioning data and visually perceived parking space information; wherein, the visually perceived parking space information carries a first timestamp and the visually perceived parking space.
[0132] The determining module 120 is used to determine the target vehicle pose corresponding to the first timestamp in the vehicle positioning data;
[0133] Matching module 130 is used to match the visually perceived parking space with the memory parking space in the pre-stored memory parking space information. When it is determined that the visually perceived parking space and the memory parking space match, the distance between the visually perceived parking space, the memory parking space and the target vehicle posture are calculated respectively to determine the target parking space information to be parked.
[0134] The parking module 140 is used to plan a parking path based on the target parking space information and control the vehicle to be parked to drive along the parking path to complete the parking.
[0135] It is understood that the parking system described above corresponds to the parking method described in the above embodiments; any of the options in the above embodiments are also applicable to this embodiment, and will not be described in detail here.
[0136] This application also provides a vehicle that includes a memory and at least one processor. The memory stores a computer program, and the processor executes the computer program to implement the parking method described above.
[0137] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and an application program required for at least one function. The data storage area may store data created based on vehicle usage (such as first timestamps, target parking space information, etc.). Furthermore, the memory may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0138] This application also provides a computer storage medium storing computer-executable instructions. When these computer-executable instructions are invoked and executed by a processor, they cause the processor to perform the steps of the parking method described above.
[0139] In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can also be implemented in other ways. The system embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, as an alternative implementation, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based module that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.
[0140] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0141] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a vehicle (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0142] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A parking method, characterized in that, Applied to a parking system, the method includes: Receive vehicle positioning data and visually perceived parking space information; wherein, the visually perceived parking space information carries a first timestamp and the visually perceived parking space. Determine the target vehicle pose corresponding to the first timestamp from the vehicle positioning data; The visually perceived parking space is matched with the pre-stored memory parking space information. When the visually perceived parking space and the memory parking space are matched, the distances between the visually perceived parking space, the memory parking space and the target vehicle's pose are calculated respectively to determine the target parking space information for parking. Specifically, this includes: obtaining the center point of the visually perceived parking space, and obtaining four first parking space corner points belonging to the same memory parking space from the pre-stored memory parking space information, and correspondingly determining the parking space area enclosed by the four first parking space corner points; determining whether the center point of the parking space is located within each of the parking space areas. Within a parking space area, it is determined that the visually perceived parking space matches the memory parking space. When it is determined that the visually perceived parking space matches the memory parking space, the installation position information of the camera used to collect the visually perceived parking space information is determined according to the target vehicle posture. The two second parking space corner points belonging to the same parking space and closest to the target vehicle posture in the visually perceived parking space information and the memory parking space information are respectively obtained, and the second distance and deflection angle between the center point of the two second parking space corner points and the installation position information are calculated. The target parking space information to be parked is determined according to the second distance and the deflection angle. Based on the target parking space information, a parking path is planned, and the vehicle waiting to be parked is controlled to drive along the parking path to complete the parking.
2. The parking method according to claim 1, characterized in that, If it is determined that the visually perceived parking space does not match the memory parking space, then the parking path is planned based on the visually perceived parking space, and the visually perceived parking space is added to the memory parking space information.
3. The parking method according to claim 1, characterized in that, Before determining the target vehicle pose corresponding to the first timestamp in the vehicle positioning data, the method further includes: The vehicle positioning data and the visually perceived parking space information are synchronized; wherein, the synchronization of the vehicle positioning data and the visually perceived parking space information includes: according to a pre-built time synchronization conversion relationship, the first timestamp carried in the visually perceived parking space information is converted to a time coordinate system to obtain a second timestamp. Determining the target vehicle pose corresponding to the first timestamp in the vehicle positioning data includes: Determine whether the second timestamp falls within a preset time range; wherein, the time range is the time range corresponding to the vehicle positioning data; If the second timestamp is within a preset time range, then find the vehicle body pose data of the two times adjacent to the second timestamp; Interpolation is performed on the vehicle body pose data to obtain the target vehicle body pose at the time corresponding to the second timestamp.
4. The parking method according to claim 3, characterized in that, The process of constructing the time synchronization conversion relationship includes: Receive a time synchronization request from the target module and record the local third timestamp when the time synchronization request is received, wherein the time synchronization request carries a fourth timestamp corresponding to when the time synchronization request is initiated; The third timestamp is sent as the response timestamp, and the fifth timestamp corresponding to when the target module receives the response timestamp is recorded; Based on the third, fourth, and fifth timestamps, the time synchronization conversion relationship between the modules is obtained.
5. The parking method according to claim 1, characterized in that, Before matching the visually perceived parking space with the pre-stored memory parking space information, the method further includes: Calculate the first distance between the first parking space position corresponding to all the memory parking space information and the second parking space position corresponding to the target vehicle pose; The first parking space location is filtered based on the first spacing to determine the target parking space information in the memory parking space information to be matched with the visually perceived parking space information.
6. A parking system, characterized in that, include: A receiving module is used to receive vehicle positioning data and visually perceived parking space information; wherein, the visually perceived parking space information carries a first timestamp and the visually perceived parking space. The determination module is used to determine the target vehicle pose corresponding to the first timestamp in the vehicle positioning data; The matching module is used to match the visually perceived parking space with the memory parking space in the pre-stored memory parking space information. When it is determined that the visually perceived parking space and the memory parking space match, the distance between the visually perceived parking space, the memory parking space and the target vehicle posture are calculated respectively to determine the target parking space information to be parked. The parking module is used to plan a parking path based on the target parking space information and control the vehicle to be parked to drive along the parking path to complete the parking. Specifically, the matching module is used to: obtain the center point of the visually perceived parking space, and obtain four first parking space corner points belonging to the same memory parking space from the pre-stored memory parking space information, and determine the parking space area enclosed by the four first parking space corner points; determine whether the center point of the parking space is located within each of the parking space areas, and if the center point of the parking space is located within one of the parking space areas, determine that the visually perceived parking space matches the memory parking space; and, when it is determined that the visually perceived parking space matches the memory parking space, determine the installation position information of the camera used to collect the visually perceived parking space information according to the target vehicle posture; obtain the two second parking space corner points belonging to the same parking space and closest to the target vehicle posture from the visually perceived parking space information and the memory parking space information, and calculate the second distance and deflection angle between the center point of the two second parking space corner points and the installation position information; and determine the target parking space information to be parked according to the second distance and the deflection angle.
7. A vehicle, characterized in that, The vehicle includes a memory and at least one processor, the memory storing a computer program, and the processor executing the computer program to implement the parking method according to any one of claims 1-5.
8. A computer storage medium, characterized in that, It stores a computer program, which, when executed, implements the parking method according to any one of claims 1-5.