Automatic parking trajectory planning method, electronic equipment and vehicle
By using arc smoothing splicing technology based on geometric algorithms in the automatic parking system, the existing automatic parking trajectory planning and long parking time are solved, and a faster and smoother parking process is achieved, improving the user experience.
Patent Information
- Application Number
- CN202411414700.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-10-11
AI Technical Summary
The existing automatic parking trajectory planning is large in calculation, resulting in long parking time and affecting the user experience.
An automatic parking trajectory planning method is proposed. By obtaining the starting point of the parking outflow, determining the inflection point interval and the end point of the trajectory, constructing an initial splicing trajectory made of smooth splicing at least two arcs, and determining the target splicing trajectory through testing and verification, and controlling the vehicle to park based on the target splicing trajectory.
It reduces the amount of calculation, saves parking trajectory planning time, shortens vehicle parking time, and improves user experience.
Smart Images

Figure CN118928375B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of automatic parking, and in particular to an automatic parking trajectory planning method, electronic equipment and vehicle. Background Art
[0002] Automatic parking is an important function in autonomous driving. Existing automatic parking trajectories require the integration of multiple algorithms, which requires large amounts of calculations and long parking times, affecting user experience and need to be improved. Summary of the invention
[0003] In view of this, the purpose of the present application is to propose an automatic parking trajectory planning method, electronic equipment and vehicle to solve the problems of large amount of calculation and long parking time in the existing automatic parking trajectory planning.
[0004] Based on the above objectives, the present application provides an automatic parking trajectory planning method, including:
[0005] Determine the parking turning point interval and the trajectory end point based on the acquired parking starting point;
[0006] Based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, a plurality of initial splicing trajectories are constructed, and in response to determining that there is an initial splicing trajectory that passes the test verification, the initial splicing trajectory that passes the test verification is determined as a target splicing trajectory;
[0007] Controlling the vehicle to park based on the target spliced trajectory;
[0008] Wherein, the initial splicing trajectory is formed by smoothly splicing at least two arcs.
[0009] Based on the same inventive concept, the present disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the processor implements the method as described above when executing the computer program.
[0010] Based on the same inventive concept, the present disclosure also provides a vehicle, which includes any of the automatic parking trajectory planning systems described above and the above-mentioned electronic device.
[0011] As can be seen from the above, the automatic parking trajectory planning method, electronic device and vehicle provided by the present application, wherein in the method, the parking inflection point interval and the end point of the trajectory are determined in the drivable area, and an initial spliced trajectory formed by smooth splicing of at least two arcs is constructed between the end point of the trajectory and at least one parking inflection point in the parking inflection point interval, and the multiple initial spliced trajectories are tested and verified, and the initial spliced trajectory that passes the test and verification is determined as the target spliced trajectory, and the vehicle is controlled to park based on the target spliced trajectory. Among them, the smooth splicing is a smooth splicing based on a geometric algorithm, that is, the curvature of each trajectory point on the target spliced trajectory gradually changes, and there is no need to use an algorithm for smoothing, that is, the time for smoothing is saved, and the parking time is saved. This embodiment uses a pure geometric algorithm to design a parking trajectory formed by smooth splicing of at least two arc trajectories. The entire parking trajectory does not involve sudden changes in curvature, does not require smoothing, does not need to increase the number of rubbing the library, reduces the amount of calculation, saves the parking trajectory planning time, and thus shortens the vehicle parking time, and the parking process is smooth, which improves the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to more clearly illustrate the technical solutions in the present application or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0013] Figure 1 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 1 ;
[0014] Figure 2 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 2 ;
[0015] Figure 3 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 3 ;
[0016] Figure 4 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 4 ;
[0017] Figure 5 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 5 ;
[0018] Figure 6 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 6 ;
[0019] Figure 7 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 7 ;
[0020] Figure 8 The following is a flow chart of the automatic parking trajectory planning method according to an embodiment of the present application. Figure 8 ;
[0021] Fig. 9 A schematic diagram of a vehicle coordinate system based on parallel parking spaces according to an embodiment of the present application;
[0022] Fig.10 A schematic diagram of a parking trajectory according to an embodiment of the present application;
[0023] Fig.11 Schematic diagram of a plurality of first parking arc trajectories and a plurality of second parking arc trajectories respectively constructed based on the parking inflection point and the trajectory end point in an embodiment of the present application;
[0024] Fig.12 A schematic diagram of multiple splicing trajectories determined at an inflection point in an embodiment of the present application;
[0025] Fig.13 A schematic diagram of setting a plurality of track points on a first parking arc track and a second parking arc track according to an embodiment of the present application;
[0026] Fig.14 A schematic diagram of the trajectory end point area of an embodiment of the present application;
[0027] Fig.15 This is a schematic diagram of a state in which an obstacle spacing line and a boundary parking trajectory of a vehicle on the driver's side overlap in an embodiment of the present application;
[0028] Fig.16 This is a schematic diagram of a state in which an obstacle spacing line and a boundary parking trajectory of the passenger side vehicle overlap in an embodiment of the present application;
[0029] Fig.17 A schematic diagram of the positions of the boundary lines and spacing lines of obstacles in an embodiment of the present application;
[0030] Fig.18 A schematic diagram of an automatic parking trajectory planning device according to an embodiment of the present application;
[0031] Fig.19 A schematic diagram of an electronic device according to an embodiment of the present application.
[0032] In the figure, 1, drivable area; 11, lane line; 2, vehicle; 3, parallel parking space; 4, trajectory end point area; 5, obstacle; 51, boundary line; 52, spacing line; a, initial splicing trajectory; b, driver side boundary parking trajectory; c, passenger side boundary parking trajectory. DETAILED DESCRIPTION
[0033] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.
[0034] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should be the usual meanings understood by people with ordinary skills in the field to which the present application belongs. The "first", "second" and similar words used in the embodiments of the present application do not represent any order, quantity or importance, but are only used to distinguish different components. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0035] It should be noted that in the related art, vehicle parking spaces are divided into three types: inclined parking spaces, parallel parking spaces, and vertical parking spaces. For example, the inclined length of an inclined parking space is 6 meters, the width is 2.8 meters, and the vertical distance between the two oblique lines is 2.5 meters; the size of a parallel parking space is 6 meters long and 2.5 meters wide; the size of a vertical parking space is 6 meters long and 2.5 meters wide. This application is to improve the path planning of a vehicle parking out of a parallel parking space.
[0036] In the related technology, in the planning of parking trajectories, a hybrid A* algorithm and ReedShepp (RS) curve algorithm are generally used to plan a rough trajectory and find a reference solution without collision. Although the hybrid A* algorithm and RS curve planning algorithm meet the vehicle kinematic constraints, the trajectories they plan are composed of multiple arcs and straight lines. There are some sudden changes in curvature at the locations where arcs and arcs connect with straight lines. Therefore, such paths also need to design smoothing algorithms, such as IAPS (Iterative Anchoring Path Smoothing), O-ABC (Particle Swarm Optimization-Artificial Bee Colony), etc., to further smooth the process to meet the requirements of control and ride comfort. Therefore, the setting and superposition of multiple algorithms require relatively high computing power for the controller.
[0037] In addition, in the simulation experiment, when a vehicle is parked out of a parallel parking space, the lane width may be insufficient. In this case, the vehicle's parking trajectory will be in an S-curve shape to adapt to the insufficient lane width. In the prior art, a hybrid A* algorithm and RS curve algorithm are used to generate an S-curve trajectory; the S-curve trajectory formed above involves a sudden change in curvature, and there will be multiple parking frictions, that is, multiple setbacks. The planning algorithm in this scenario takes a long time to park out of the parking space, affecting the user experience.
[0038] Based on the above problems, the applicant found that for the scene of parking out of a parking space, it is possible to abandon the use of the hybrid A* algorithm, RS curve planning algorithm, IAPS and OABC algorithms, and instead use a pure geometric algorithm to design a smooth spliced trajectory composed of at least two arc trajectories, that is, there is no need to increase the number of rubbing the parking space, and a complete trajectory can realize the parking out of the parking space. In addition, the arc itself is smooth, and the splicing point is also composed of two points with the same heading on two adjacent arcs, that is, the splicing point is also smooth, which saves the step of trajectory smoothing, reduces the amount of calculation, shortens the parking trajectory planning time, and improves the user experience.
[0039] The embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0040] In some embodiments, reference Figure 1 , an automatic parking trajectory planning method, the method is executed by a vehicle controller or a server independent of the vehicle controller. For the convenience of description, the embodiments of the present application are described by taking the vehicle controller executing the method as an example. The method includes:
[0041] S101, determining a parking inflection point interval and a trajectory end point based on the acquired parking starting point.
[0042] For example, the vehicle camera or parking space camera connected to the vehicle controller can be used to obtain the parking starting point of the vehicle in the parallel parking space, and the drivable area 1 for the vehicle to park out of the parking space can be determined based on the parking starting point. During the simulation process, the lane line 11 can be added to the drivable area 1, and a vehicle coordinate system is established. Specifically, the axis of the vehicle 2 in the front and rear directions is used as the x-axis, the straight line passing the parking space exit is used as the y-axis, the direction pointing to the front of the vehicle is used as the positive axis of the x-axis, and the left side of the vehicle is used as the positive axis of the y-axis. For the parallel parking space 3, the vehicle coordinate system is a rectangular coordinate system, such as Fig. 9 shown.
[0043] The parking starting point may be the midpoint of the rear axle of the vehicle in the vehicle coordinate system, such as Fig. 9 The M point in .
[0044] There are multiple parking inflection points in the parking inflection point interval. The parking inflection point is the inflection point when the midpoint of the rear axle of the vehicle is parked out of the parking space, and is also the starting point of the splicing trajectory, located on the x-axis. Fig. 9 , Fig.10 The end point of the track is located in the drivable area determined by the parking starting point, that is, the end point of the spliced track, such as Fig. 9 Point R in Fig.11 The R' point in the
[0045] Among them, for parallel parking spaces, since when a vehicle exits a parallel parking space, it generally drives a certain distance in the negative direction of the x-axis before turning out of the parking space, therefore, the turning point interval for parking can generally be set to an interval with the center point of the rear axle and the point moved a preset distance in the negative direction of the x-axis as the two end points. For example, Fig. 9 As shown, the inflection point interval is an interval with point M and point Z as two end points, or an interval with point M and point Z' as two end points.
[0046] S102, constructing a plurality of initial splicing trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, such as Fig.12 As shown, in response to determining that there is an initial stitching track that passes the test verification, the initial stitching track that passes the test verification is determined as the target stitching track.
[0047] Wherein, the initial splicing trajectory is formed by smoothly splicing at least two arcs.
[0048] Determining a parking-out inflection point within the parking-out inflection point interval can be understood as selecting a point within the inflection point interval MZ or the interval MZ′ as the parking-out inflection point.
[0049] In this step, an initial spliced trajectory formed by smoothly splicing at least two arcs can be constructed between the parking inflection point and the end point of the trajectory. The smooth splicing process can be to splice the trajectory points with the same heading on two adjacent arcs. Exemplarily, an initial spliced trajectory is spliced by three arcs, and the three arcs are the first arc, the second arc and the third arc, wherein the first arc starts at the parking inflection point, the third arc ends at the end point of the trajectory, and the two endpoints of the second arc or two points on it have the same heading as a trajectory point on the first arc and a trajectory point on the third arc, respectively. Then, the points with the same heading on the first arc and the second arc are spliced, the points with the same heading on the second arc and the third arc are spliced, and the redundant line segments are deleted, thereby forming a complete and smooth initial spliced trajectory.
[0050] After constructing a plurality of initial splicing trajectories, the plurality of initial splicing trajectories are all tested and verified. The test and verification may be a conventional collision verification. The initial splicing trajectories that pass the test and verification are determined as target splicing trajectories.
[0051] The collision check process includes:
[0052] An obstacle boundary line and a vehicle boundary parking trajectory corresponding to the target spliced trajectory are determined within the drivable area; in response to determining that the obstacle boundary line and the vehicle boundary parking trajectory have an overlapping portion, determining that the collision check has failed; in response to determining that the obstacle boundary line and the vehicle boundary parking trajectory do not have an overlapping portion, determining that the collision check has passed.
[0053] The obstacle may be a wall, another vehicle, a stone, etc., and may be determined by a vehicle camera or a parking space camera connected to the vehicle controller. The boundary line of the obstacle is obtained by expanding the corresponding preset safety distance based on the size of the obstacle itself. For example, if the length and width of an obstacle are both 1.2m, and the preset safety distance is 0.3m, then the length and width of the boundary line of the obstacle are both 1.5m.
[0054] S103: Control the vehicle to park based on the target spliced trajectory.
[0055] It should be noted that for the general situation where a vehicle is parked in a parallel parking space in the vehicle coordinate system, such as Fig.10 As shown in the figure, the vehicle first drives a straight line trajectory in the opposite direction of the x-axis from the parking starting point M to the parking turning point S (i.e., MS segment, hereinafter referred to as the starting straight line trajectory), and then drives along the target spliced trajectory to the trajectory end point R (i.e., SR segment), and finally drives a straight line trajectory in a direction parallel to the lane line to the parking end point E (i.e., RE segment, hereinafter referred to as the ending straight line trajectory). Therefore, the complete parking trajectory determination process is as follows:
[0056] Based on the parking start point and the target splicing track, a starting straight line track and a terminating straight line track are determined, and the starting straight line track, the target splicing track and the terminating straight line track are spliced into a parking track and output. The two ends of the target splicing track are the parking inflection point and the track end point, respectively, and the heading of the track end point is the same as the heading of the terminating straight line track.
[0057] The line connecting the parking start point and the parking inflection point is the starting straight line trajectory (i.e., MS segment), and the line connecting the track end point and the parking end point (the parking end point may be a point with a preset distance from the track end point, for example, the parking end point is a point 1 m away from the track end point) is the ending straight line trajectory (i.e., RE segment). The starting straight line trajectory, the target splicing trajectory, and the ending straight line trajectory are spliced to determine the parking trajectory, which can be output and displayed on the vehicle screen.
[0058] In this embodiment, the parking inflection point interval and the end point of the track are determined in the drivable area, and an initial spliced track formed by smooth splicing of at least two arcs is constructed between the end point of the track and at least one parking inflection point in the parking inflection point interval, and the multiple initial spliced tracks are tested and verified, and the initial spliced track that passes the test and verification is determined as the target spliced track, and the vehicle is controlled to park based on the target spliced track. Among them, the smooth splicing is a smooth splicing based on a geometric algorithm, that is, the curvature of each track point on the target spliced track gradually changes, and there is no need to use an algorithm for smoothing, that is, the time for smoothing is saved, and the parking time is saved. In this embodiment, a pure geometric algorithm is used to design a parking track formed by smooth splicing of at least two arc tracks. The entire parking track does not involve sudden changes in curvature, and no smoothing is required. There is no need to increase the number of rubbing times, which reduces the amount of calculation, saves the parking track planning time, and thus shortens the vehicle parking time. The parking process is smooth, which improves the user experience.
[0059] The above embodiments mention that multiple initial splicing trajectories are constructed based on the trajectory end points and the parking inflection points, but how to construct them will be described in the following embodiments.
[0060] In some embodiments, in S102, “building a plurality of initial splicing trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval”, for example Figure 2 As shown, further comprising:
[0061] S201, constructing a plurality of first parking-out circular arc trajectories based on at least one parking-out turning point; constructing a plurality of second parking-out circular arc trajectories based on the trajectory end points;
[0062] The process of constructing multiple first parking arc trajectories based on the parking inflection point is the same as the process of constructing multiple second parking arc trajectories based on the trajectory end point, but in the opposite direction. Fig.11 As shown, the following is explained by taking the construction of multiple first parking-out circular arc trajectories based on the parking-out inflection point as an example.
[0063] The plurality of first parking-out circular arc trajectories include elliptical arc trajectories and / or true circular arc trajectories; for parallel parking spaces, the true circular arc trajectories and elliptical arc trajectories may be a quarter of a true circular arc or a quarter of an elliptical arc starting from the parking-out turning point. The true circular arc or elliptical arc is based on the pre-stored minimum turning radius R of the vehicle. min The parameters of the perfect circle and the ellipse are determined by the parameters of the perfect circle, wherein the perfect circle parameter is the radius r, and the ellipse parameter is the major semi-axis a or the minor semi-axis b, and the perfect circle parameter and the ellipse parameter are determined based on the actual vehicle test. That is, the perfect circle parameter and the ellipse parameter are preset in advance based on the actual vehicle test results, avoiding the process of determining the center of the circle in the process of constructing the perfect circle arc and the ellipse arc, and reducing the amount of calculation.
[0064] Wherein, the step of constructing a plurality of first parking-out circular arc trajectories based on at least one parking-out inflection point comprises:
[0065] S201a, obtaining the minimum turning radius R of the vehicle min , based on the minimum turning radius R min Determine the maximum curvature K max .
[0066] Among them, the minimum turning radius of the vehicle refers to the radius of the circle of the track that the center of the outer steering wheel rolls on the supporting plane when the steering wheel is turned to the extreme position and the vehicle is turning at the lowest stable speed. The minimum turning radius of the vehicle largely characterizes the ability of the vehicle to pass through narrow curved areas or bypass insurmountable obstacles 5. The smaller the turning radius, the better the maneuverability of the vehicle. The minimum turning radius of the vehicle is generally set according to the vehicle's wheelbase, track and the maximum turning angle of the steering wheel, which is a factory setting parameter for the vehicle. Of course, the minimum turning radius can also be set by the user according to the actual situation of the vehicle. For example, the minimum turning radius of the vehicle is 4.5m-5.5m. Specifically, R min =4.7m.
[0067] Among them, the minimum turning radius R min and the maximum curvature K max are reciprocals of each other. For example, K max =1 / 4.7=0.2128.
[0068] It should be noted that in order to ensure vehicle safety, the vehicle's actual maximum turning curvature cannot be used for calculation. A safety buffer value can be subtracted and then calculated to obtain a slightly smaller maximum turning curvature.
[0069] S201b, based on the pre-stored perfect circle parameters, ellipse parameters and the maximum curvature K max Constructing a first parking-out circular arc trajectory passing through the parking-out inflection point;
[0070] Specifically, K max =a / b 2 For example, based on the actual vehicle test, the value range of r and b can be 4.88m-5.20m, and four data of 4.88, 5.00, 5.10, and 5.20 are pre-stored. max=0.2128, the corresponding values of the major semi-axis a are 5.08, 5.32, 5.53, and 6.09. Then, in the vehicle coordinate system, based on each parking inflection point, four quarter-circular arcs and four quarter-elliptical arcs can be constructed with the parking inflection point as the starting point. The radii r of the four circular arcs are 4.88, 5.00, 5.10, and 5.20, respectively, and the major and minor semi-axis combinations of the four elliptical arcs are (5.08, 4.88) (5.32, 5.00) (5.53, 5.10) (6.09, 5.20) respectively.
[0071] Of course, in order to reduce the amount of calculation, illustratively, as Fig.11 As shown, two quarter-circular arc trajectories and two quarter-elliptical arc trajectories can be randomly selected, that is, four first parking-out circular arc trajectories S1, S2, S3, S4 are constructed, and four second parking-out circular arc trajectories S1', S2', S3', S4' are constructed;
[0072] Based on the above process, multiple first parking arc trajectories can be determined based on a parking inflection point, and similarly, multiple second parking arc trajectories can be constructed based on the trajectory end point. The number of the multiple first parking arc trajectories and the multiple second parking arc trajectories can be the same or different, and the corresponding ellipse parameters and perfect circle parameters can be the same or different, and there is no specific limitation.
[0073] S202: Smoothly splice each of the first parking arc trajectories and at least part of the second parking arc trajectories to form a plurality of initial spliced trajectories.
[0074] like Figure 3 As shown, this step can be further described as: for each of the first parking arc trajectories in all the first parking arc trajectories, perform the following steps:
[0075] S301, determining a plurality of first trajectory points on one of the first parking arc trajectories, and determining a plurality of second trajectory points on all of the second parking arc trajectories;
[0076] For example, a plurality of first trajectory points may be determined on the first parking arc trajectory according to a preset step value by a point division method, and a plurality of second trajectory points may be determined on all of the second parking arc trajectories according to a preset step value.
[0077] Furthermore, a plurality of first trajectory points and a plurality of second trajectory points may be determined on the preset arc segment of the first parking arc trajectory and the preset arc segment of the second parking arc trajectory, respectively; since the joint point of the two arc trajectories generally appears within the half arc segment close to the end point of each trajectory, the preset arc segments on the two parking arc trajectories may be respectively set to the half arc segment close to the end point of each trajectory, such as Fig.13In this way, the effectiveness of the calculation results of each trajectory point can be improved.
[0078] S302, determining the headings of each of the first trajectory points and each of the second trajectory points;
[0079] The heading of each trajectory point represents the direction in which the center point of the rear axle of the vehicle moves to the corresponding trajectory point when the vehicle is traveling along the trajectory.
[0080] S303: splice the first trajectory point and the second trajectory point with the same heading to form a plurality of initial spliced trajectories based on the first parking arc trajectory.
[0081] For example, Fig.13 As shown, there are two first track points A and B on S1 and S1' respectively, and the headings of the two second track points A' and B' are the same. Then point A and point A' are spliced to form an initial splicing track, and point B and point B' are spliced to form another initial splicing track. That is, S1 and S1' are spliced to form 2 initial splicing tracks. Similarly, S1 and S2', S1 and S3', S1 and S4' also form 2 initial splicing tracks respectively. Thus, a total of 8 initial splicing tracks are formed based on S1.
[0082] In addition, if a first parking-out circular arc trajectory and a second parking-out circular arc trajectory do not have trajectory points with the same heading, the two circular arc trajectories are not spliced, and thus, a first parking-out circular arc trajectory may be spliced with only part of the second parking-out circular arc trajectory.
[0083] A plurality of first parking circular arc trajectories are constructed based on at least one determined parking exit turning point, and a plurality of second parking circular arc trajectories are constructed based on a trajectory end point located in a drivable area. After a parking exit turning point is determined in a parking exit turning point interval, a plurality of first parking circular arc trajectories passing through the parking exit turning point are constructed, and each of the first parking circular arc trajectories and at least a portion of the second parking circular arc trajectories are smoothly spliced to form a plurality of initial spliced trajectories. The above process of splicing trajectory points with the same heading on the first parking circular arc trajectory and the second parking circular arc trajectory can ensure that the entire parking trajectory is smooth without the need for further smoothing, thereby reducing the amount of calculation in the parking exit trajectory planning process.
[0084] In some embodiments, the step of splicing the first track point and the second track point having the same heading includes:
[0085] In response to determining that there is a distance between the first trajectory point and the second trajectory point having the same heading, the second arc trajectory where the second trajectory point is located is translated until the second trajectory point coincides with the first trajectory point, so as to achieve splicing of the first trajectory point and the second trajectory point.
[0086] In this embodiment, the end point of the trajectory is randomly determined within the drivable area, because the main function of the end point of the trajectory is to provide a starting point for constructing multiple second parking-out circular arc trajectories, and the perfect circle parameters and ellipse parameters of the multiple second parking-out circular arc trajectories are all set in advance, and at least one quarter elliptical arc trajectory and at least one quarter perfect circular arc trajectory can be constructed based on the end point of the trajectory as the second parking-out circular arc trajectory. Therefore, there will be no difference due to the different positions of the end points of the trajectory, that is, it is not important where it is specifically located in the drivable area. When it is determined that there is a trajectory point on the second parking-out circular arc trajectory that has the same heading as the first parking-out circular arc trajectory, the second parking-out circular arc trajectory can be moved until the second trajectory point with the same heading coincides with the first trajectory point, so as to achieve the splicing of the first trajectory point and the second trajectory point.
[0087] In this embodiment, the method of randomly determining the end point of the trajectory within the drivable area has a small amount of calculation and strong flexibility. In addition, when there is a distance between the first trajectory point and the second trajectory point with the same heading, the method of translating the second trajectory point to move the second parking arc trajectory is easier to achieve, which is conducive to the smooth progress of the trajectory planning process.
[0088] The above embodiment describes how to splice the first arc trajectory and the second arc trajectory to form multiple initial spliced trajectories. In subsequent steps, the initial spliced trajectories can be directly tested and verified. However, during the test and verification process, when there are many obstacles involved, the calculation amount of the test and verification process for each initial spliced trajectory is also large, and the trajectory planning time is extended, thereby affecting the user experience.
[0089] To solve the above problems, in some embodiments, Figure 4 As shown, before determining the initial stitching track that passes the test verification as the target stitching track, the method includes:
[0090] S401, re-determining the end point of the track based on the initial splicing track;
[0091] In the above-mentioned embodiment, it has been mentioned that in the process of forming the initial splicing trajectory, if there is a distance between the first trajectory point and the second trajectory point with the same heading, it is necessary to translate the second arc trajectory where the second trajectory point is located, and the trajectory end point (such as Fig.12 , Fig.14 The R point in the figure) and the end point of the trajectory for constructing multiple second arc trajectories (such as Fig.11 Therefore, the end point of the initial splicing trajectory needs to be re-determined.
[0092] S402: In response to the re-determined end point of the track being located in the track end point area 4, the initial splicing track is tested and verified.
[0093] Among them, refer to Fig.14 The track end point area 4 is determined based on the boundary line of the drivable area of the vehicle and the width of the vehicle. The boundary line of the drivable area includes a first boundary line close to the parking space and a second boundary line away from the parking space. The exemplary process of determining the track end point area 4 is as follows: the first boundary line is moved away from the parking space by 1 / 2 of the vehicle width to form the first end point area boundary line of the track end point area 4, and the second boundary line is moved toward the parking space by 1 / 2 of the vehicle width to form the second end point area boundary line of the track end point area, as shown in FIG. Fig.14 The two dotted lines shown in the figure represent the first end point area boundary line and the second end point area boundary line respectively.
[0094] As mentioned in the above-mentioned embodiment, when the center point of the rear axle of the vehicle is located at the end point of the trajectory, its heading is parallel to the lane line of the drivable area. In other words, the central axis of the vehicle in the front and rear directions is parallel to the lane line. In this way, the trajectory end point area formed by the boundary line of the first end point area and the boundary line of the second end point area has a simple calculation process and can ensure that when the center point of the rear axle of the vehicle is located at the end point of the trajectory within the trajectory end point area, the vehicle will not interfere with the boundary line of the drivable area, thereby effectively ensuring the safety of the vehicle parking.
[0095] In this embodiment, by redetermining the end point of the track based on the initial splicing track, and judging whether the redetermined end point of the track is located in the preset end point area of the track, there is no need to perform subsequent testing and verification for the splicing track whose end point is not in the end point area of the track, and subsequent testing and verification is performed for the initial splicing track whose end point is located in the end point area of the track. Therefore, in this embodiment, the position of the end point of the track of multiple initial splicing tracks determined by an inflection point is first regionally verified with the redetermined end point R as the pre-detection mark point. The verification process is simple and fast, and can quickly and accurately judge whether the initial splicing track can enter the subsequent test and verification. The process can eliminate some initial splicing tracks that have not passed the regional verification (for example, Fig.14 As shown in the figure, only the end points of the two middle initial splicing trajectories are located in the trajectory end point area, then the initial splicing trajectories on both sides can be eliminated), which reduces the data calculation pressure of the subsequent test and verification of the initial splicing trajectory, is conducive to saving the planning time of trajectory planning, and improves the user experience.
[0096] The above embodiment is a process of constructing multiple initial splicing trajectories based on the trajectory end points and the parking inflection points, and determining the target splicing trajectory from the multiple initial splicing trajectories through test verification. The following embodiment further explains how to determine a suitable parking inflection point within the parking inflection point interval, and how to determine the target splicing trajectory through test verification. In addition, the following embodiment is more suitable for the situation where the total number of parking inflection points is large.
[0097] In some embodiments, S102 constructs a plurality of initial splicing trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, and in response to determining that there is an initial splicing trajectory that passes the test verification, determines the initial splicing trajectory that passes the test verification as the target splicing trajectory, and refers to Figure 5 , further comprising:
[0098] S501: Divide the inflection point interval into a plurality of sub-intervals.
[0099] S502: Determine the parking-out inflection point between adjacent sub-intervals as a primary parking-out inflection point, and determine the parking-out inflection point within a sub-interval as a secondary parking-out inflection point.
[0100] S503: Determine an initial iteration inflection point among a plurality of first-level inflection points or second-level inflection points.
[0101] S504: construct multiple initial splicing trajectories based on the trajectory end point and the initial iteration inflection point, and test and verify each of the initial splicing trajectories.
[0102] S505: In response to determining that there is an initial stitching trajectory that passes the test verification, determine the initial stitching trajectory that passes the test verification as a candidate stitching trajectory.
[0103] S506: Determine a target sub-interval within a plurality of sub-intervals based on the initial iteration inflection point.
[0104] S507: construct multiple interval splicing trajectories based on the trajectory end point and at least one of the secondary parking inflection points in the target sub-interval, and test and verify each of the interval splicing trajectories.
[0105] S508: In response to determining that there is an interval splicing trajectory that passes the test verification, determine the interval splicing trajectory that passes the test verification as a candidate splicing trajectory.
[0106] S509: Determine a target stitching track among all the candidate stitching tracks.
[0107] In the process of determining the initial iterative inflection point, the iteration priority of the first-level inflection point is higher than that of the second-level inflection point, that is, both the first-level inflection point and the second-level inflection point can be used as iteration points. After the iteration of the first-level inflection point is completed, the second-level inflection point is iterated. For the convenience of description, in this embodiment, the initial iterative inflection point is taken as the first-level inflection point for explanation.
[0108] The process of S501-S505 can be described as follows: Fig. 9 As shown, the coordinates of the parking starting point M are [-4, 0], and there is no parking space adjacent to the parking space. The other end point of the parking inflection point interval is point Z', and the coordinates of point Z' are [-8, 0]. The line segment MZ' can be equally divided into 4 sub-intervals, and there are 5 first-level parking inflection points, and their coordinates are [-4, 0], [-5, 0], [-6, 0], [-7, 0], and [-8, 0]. Exemplarily, each sub-interval includes five parking inflection points, and the five parking inflection points are determined as second-level parking inflection points. A parking inflection point is determined as the initial iterative inflection point among the five first-level parking inflection points, and multiple initial splicing trajectories are constructed based on the trajectory end point and the initial iterative inflection point. Each of the initial splicing trajectories is tested and verified. In response to determining that there is an initial splicing trajectory that passes the test verification, the initial splicing trajectory that passes the test verification is determined as a candidate splicing trajectory.
[0109] It should be noted that parking trajectory planning can have "accuracy priority strategy" and "time priority strategy", among which the basic requirement of the accuracy priority strategy is "the parking trajectory should be short", and the basic requirement of the time priority strategy is "the trajectory planning time should be short".
[0110] For the "accuracy priority strategy", after executing S501-S505, it is necessary to continue to execute S506-S509, which is described as follows: Since the initial splicing trajectory constructed by the initial iterative inflection point can pass the test verification, it means that the splicing trajectory constructed by the secondary parking inflection point and the end point of the trajectory in the sub-interval adjacent to the initial iterative inflection point may be more in line with the requirements of the accuracy priority strategy, thereby saving the parking time of the vehicle. Based on the above planning requirements, a target sub-interval can be determined among multiple sub-intervals, and at least a secondary parking inflection point adjacent to the initial iterative inflection point is selected in the target sub-interval, and multiple initial splicing trajectories are continued to be constructed based on the secondary parking inflection point and the end point of the trajectory. The multiple initial splicing trajectories are called interval splicing trajectories. Test and verify each of the interval splicing trajectories, and in response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is also determined as a candidate splicing trajectory.
[0111] The above describes the process of determining the candidate stitching trajectory from the initial stitching trajectory and the process of determining the candidate stitching trajectory from the interval stitching trajectory. For the "accuracy priority strategy", it is necessary to determine the target stitching trajectory from all the candidate stitching trajectories determined by the two processes, so as to determine a more precise and shorter initial stitching trajectory as the target stitching trajectory.
[0112] For the "time priority strategy", after executing S501-S505, it is only necessary to continue to execute S509 to plan the parking trajectory more quickly. In this case, as long as there is an initial splicing trajectory that can pass the test verification, the target splicing trajectory determination process can be entered. For example, if there are two initial splicing trajectories that pass the test verification, one of them is determined as the target splicing trajectory through the target splicing trajectory determination process and output. Therefore, there is no need to determine the target sub-interval based on the initial splicing trajectory, nor to construct the interval splicing trajectory based on the secondary parking inflection point in the target sub-interval, and there is no process of testing and verifying the interval parking elliptical trajectory. Therefore, the parking trajectory planning time is saved, and the parking trajectory can be output as soon as possible.
[0113] The process of determining the target splicing trajectory includes: calculating the first distance between the trajectory end point of each candidate splicing trajectory and the parking start point; determining the minimum first distance among multiple first distances, and determining the candidate splicing trajectory corresponding to the minimum first distance as the target splicing trajectory. The above process of determining the target splicing trajectory is the process of determining the shortest parking trajectory among multiple parking trajectories, and the first parking arc trajectory determined in this way can save more parking time.
[0114] In this embodiment, the "accuracy priority strategy" and "time priority strategy" of parking trajectory planning are described, wherein the "accuracy priority strategy" can determine a more precise and shorter target splicing trajectory by executing S501-S509. When the user selects the "time priority strategy", the target splicing trajectory can be determined more quickly by executing S501-S505 and S509. These two strategies can meet the different needs of users for parking trajectory planning and improve user experience.
[0115] The above embodiment illustrates the case where a candidate stitching trajectory that passes the test verification can be screened out from the initial stitching trajectory constructed by an initial iterative inflection point. The following embodiment further illustrates the process of determining a new initial iterative inflection point when a candidate stitching trajectory cannot be screened out from the initial stitching trajectory constructed by the initial iterative inflection point.
[0116] In some embodiments, in response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the plurality of first-level parking inflection points or second-level parking inflection points, and multiple new initial stitching trajectories are determined based on the new initial iteration inflection point, until a new initial stitching trajectory passes the test verification; or, until a preset value of the number of iterations is reached;
[0117] In the process of determining another new initial iterative inflection point, the iteration priority of the first-level inflection point is higher than that of the second-level inflection point.
[0118] Based on the above, combined with Figure 6 , the automatic parking trajectory planning method of this embodiment can also be described as:
[0119] S601, determining an initial iteration inflection point from a plurality of first-level inflection points or second-level inflection points;
[0120] S602, determine whether the number of iterations reaches the preset number of iterations; if so, execute S607, if not, execute S603;
[0121] S603, constructing a plurality of initial splicing trajectories based on the trajectory end point and the initial iteration turning point;
[0122] S604, determine whether there is an initial stitching trajectory that can pass the test verification; if so, take the initial stitching trajectory that passes the test verification as a candidate stitching trajectory and execute S605, if not, execute S606;
[0123] S605, determining a target stitching track from the candidate stitching tracks, and outputting the target stitching track;
[0124] S606, determining another new initial iteration inflection point within the first-level inflection point or the second-level inflection point, and constructing multiple new initial splicing trajectories (the number of iterations is increased by 1), and executing S604 until a new initial splicing trajectory passes the test verification;
[0125] S607: If the number of iterations reaches a preset value of the number of iterations, the calculation fails.
[0126] The iteration priority of the first-level parking inflection point is higher than that of the second-level parking inflection point, that is, in S606, when all the first-level parking inflection points have been iterated, the second-level parking inflection point is selected as the iteration position. The iteration order of the first-level parking inflection point and the second-level parking inflection point can be randomly determined or executed based on a preset order, because the first-level parking inflection point and the second-level parking inflection point are both located on the x-axis, for example, the preset order is to proceed one by one from left to right, or the preset order is to proceed one by one from right to left.
[0127] Of course, if one wants to implement the "accuracy priority strategy" in the above embodiment, three steps, such as S506, S507, and S508, can be inserted between S604 and S605 to determine a more precise and shorter target splicing trajectory.
[0128] In addition, a preset value of the number of iterations of the above iterative process may be set, for example, the preset value of the number of iterations is 10 times.
[0129] In this embodiment, when the candidate splicing trajectory cannot be screened out from the initial splicing trajectory constructed by an initial iterative inflection point and the end point of the trajectory, the process of how to determine a new initial iterative inflection point is further defined. The process is essentially a process of how to perform orderly iteration of multiple first-level inflection points and multiple second-level inflection points. The basic principle of the iterative process is to iterate the second-level inflection points after the iteration of the first-level inflection points is completed. Because the first-level inflection points are nodes between sub-intervals, the number of nodes is small. When the candidate splicing trajectory that passes the test verification can be screened out from the initial splicing trajectory constructed by the first-level inflection points and the end point of the trajectory, it is easier to quickly determine the target sub-interval, and select the second-level inflection points and the end point of the trajectory in the target sub-interval to construct the interval splicing trajectory, and perform the subsequent confirmation process of the target splicing trajectory. That is, the iteration priority of the first-level inflection points is higher than the basic principle of the second-level inflection points. For the case where the total number of inflection points is large, it is more conducive to the rapid screening of the target splicing trajectory.
[0130] As a parallel embodiment, the following embodiment further explains how to determine a suitable parking inflection point within the parking inflection point interval and how to determine the target splicing trajectory through testing and verification. In addition, the following embodiment is more suitable for the case where the total number of parking inflection points is small.
[0131] In some embodiments, S102 constructs a plurality of initial splicing trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, and in response to determining that there is an initial splicing trajectory that passes the test verification, determines the initial splicing trajectory that passes the test verification as the target splicing trajectory, and refers to Figure 7 , further comprising:
[0132] S701, determining a parking-out inflection point in the parking-out inflection point interval, and using the parking-out inflection point as an initial iteration inflection point;
[0133] S702, constructing a plurality of initial splicing trajectories based on the trajectory end point and the initial iteration inflection point, and testing and verifying each of the initial splicing trajectories;
[0134] S703: In response to determining that there is an initial stitching trajectory that passes the test verification, determining the initial stitching trajectory that passes the test verification as a candidate stitching trajectory;
[0135] S704, constructing a sub-interval within the parking-out inflection point interval based on the initial iteration inflection point;
[0136] S705, constructing a plurality of interval splicing trajectories based on the trajectory end point and at least one of the inflection points in the sub-interval, and testing and verifying each of the interval splicing trajectories;
[0137] S706: In response to determining that there is an interval splicing trajectory that passes the test verification, determine the interval splicing trajectory that passes the test verification as a candidate splicing trajectory.
[0138] S707: Determine a target stitching track among all the candidate stitching tracks.
[0139] For example, Fig. 9 As shown, in the case where there are cars in adjacent parking spaces, the parking inflection point interval is MZ, and the total number of parking inflection points therein is small, and the parking inflection points are no longer classified, that is, there are no primary parking inflection points and secondary parking inflection points. Instead, a parking inflection point is randomly selected in the parking inflection point interval, and the parking inflection point is used as the initial iterative inflection point. When there is a candidate splicing trajectory that can pass the test verification in the initial splicing trajectory constructed based on the initial iterative inflection point, the "precision priority strategy" and "time priority strategy" of the aforementioned embodiment can also be selected.
[0140] For the "accuracy priority strategy", after executing S701-S703, it is necessary to continue to execute S704-S707, and the exemplary description is as follows: Since the initial splicing trajectory constructed by the initial iterative inflection point can pass the test verification, it means that the elliptical arc trajectory constructed by several parking inflection points adjacent to the initial iterative inflection point may be more in line with the accuracy priority strategy requirements to save the vehicle parking time. Based on the above planning requirements, a sub-interval containing the initial iterative inflection point can be constructed within the parking inflection point interval, and multiple initial splicing trajectories can be further constructed based on the trajectory end point and the parking inflection point within the sub-interval. The multiple initial splicing trajectories are called interval splicing trajectories. Test and verify each of the interval splicing trajectories, and in response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is also determined as a candidate splicing trajectory.
[0141] The above describes the process of determining the candidate stitching trajectory from the initial stitching trajectory and the process of determining the candidate stitching trajectory from the interval stitching trajectory. For the "accuracy priority strategy", it is necessary to determine the target stitching trajectory from all the candidate stitching trajectories determined by the two processes, so as to determine a more precise and shorter first parking arc trajectory as the target stitching trajectory.
[0142] For the "time priority strategy", after executing S701-S703, you only need to continue to execute S707 to plan the parking trajectory faster. In this case, as long as there is an initial splicing trajectory that can pass the test verification, you can enter the target splicing trajectory determination process. For example, if there are two initial splicing trajectories that pass the test verification, one of them is determined as the target splicing trajectory through the target splicing trajectory determination process and output. Therefore, there is no need to determine the sub-interval based on the initial splicing trajectory, nor to construct the interval splicing trajectory based on the parking inflection point in the sub-interval, and there is no process of testing and verifying the interval parking elliptical trajectory. Therefore, the parking trajectory planning time is saved and the parking trajectory can be output as soon as possible.
[0143] The process of determining the target splicing trajectory includes: calculating the first distance between the trajectory end point of each candidate splicing trajectory and the parking start point; determining the minimum first distance among multiple first distances, and determining the candidate splicing trajectory corresponding to the minimum first distance as the target splicing trajectory. The above process of determining the target splicing trajectory is the process of determining the shortest parking trajectory among multiple parking trajectories, and the first parking arc trajectory determined in this way can save more parking time.
[0144] In this embodiment, since the total number of parking inflection points is small, the parking inflection points are no longer graded, that is, there are no first-level parking inflection points and second-level parking inflection points. Instead, a parking inflection point is selected within the parking inflection point interval, so that the initial iteration inflection point can be determined more quickly, which is more conducive to the rapid screening of the target splicing trajectory. In addition, this embodiment describes another "precision priority strategy" and "time priority strategy" for parking trajectory planning, wherein the "precision priority strategy" can determine a more precise and shorter target splicing trajectory by executing S701-S707. When the user selects the "time priority strategy", the target splicing trajectory can be determined more quickly by executing S701-S703 and S707. These two strategies can meet the different needs of users for parking trajectory planning and improve user experience.
[0145] The above embodiment illustrates the case where a candidate stitching trajectory that passes the test verification can be screened out from the initial stitching trajectory constructed by an initial iterative inflection point. The following embodiment further illustrates the process of determining a new initial iterative inflection point when a candidate stitching trajectory cannot be screened out from the initial stitching trajectory constructed by the initial iterative inflection point.
[0146] In some embodiments, in response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the parking-out inflection point interval, and multiple new initial stitching trajectories are determined based on the new initial iteration inflection point until a new initial stitching trajectory passes the test verification; or, until a preset number of iterations is reached.
[0147] Based on the above, combined with Figure 8 , the automatic parking trajectory planning method of this embodiment can also be described as:
[0148] S801, determining an initial iteration inflection point within the inflection point interval;
[0149] S802, determine whether the number of iterations reaches the preset number of iterations; if so, execute S807, if not, execute S803;
[0150] S803, constructing a plurality of initial splicing trajectories based on the trajectory end point and the initial iteration turning point;
[0151] S804, determine whether there is an initial stitching trajectory that can pass the test verification; if so, take the initial stitching trajectory that passes the test verification as a candidate stitching trajectory and execute S805, if not, execute S506;
[0152] S805, determining a target stitching track from the candidate stitching tracks, and outputting it;
[0153] S806, determining another new initial iteration inflection point within the inflection point interval, and constructing multiple new initial splicing trajectories (the number of iterations is increased by 1), and executing S804 until a new initial splicing trajectory passes the test verification;
[0154] S807: If the number of iterations reaches a preset value of the number of iterations, the calculation fails.
[0155] Among them, the iteration order of the initial iterative inflection point can be determined randomly or executed based on a preset order, because the inflection points are all located on the x-axis. For example, the preset order is to alternately proceed from the inflection point located in the middle of the inflection point interval to both sides one by one.
[0156] Of course, if one wants to implement the "accuracy priority strategy" in the above embodiment, three steps, such as S704, S705, and S706, may be inserted between S804 and S805 to determine a more precise and shorter target splicing trajectory.
[0157] In addition, a preset value of the number of iterations of the above iterative process may be set, for example, the preset value of the number of iterations is 10 times.
[0158] In this embodiment, when the candidate splicing trajectory cannot be screened out from the initial splicing trajectory constructed by the trajectory end point and an initial iterative inflection point, a process of how to determine a new initial iterative inflection point is further defined. This process is essentially a process of how to orderly iterate multiple parking inflection points. This process does not need to determine the first-level parking inflection point and the second-level parking inflection point, so the initial iterative inflection point can be determined more quickly. For the case where the total number of parking inflection points is small, it is more conducive to the rapid screening of the target splicing trajectory.
[0159] In addition, the test verification of the present application can be upgraded to the obstacle 5 distance verification based on the conventional collision verification to reduce the user's anxiety about the distance between the vehicle and the obstacle 5. Therefore, in the above-mentioned embodiment, the response to determining that there is no initial splicing trajectory that passes the test verification, such as Fig.15 , Fig.16 , Fig.17 As shown, further comprising:
[0160] Determining a spacing line 52 of the obstacle 5 based on a boundary line 51 of the obstacle 5, and determining a boundary parking trajectory of the vehicle based on the initial spliced trajectory;
[0161] In response to determining that the vehicle boundary parking trajectory corresponding to each of the initial splicing trajectories and the spacing line 52 of the obstacle 5 have overlapping parts, it is determined that there is no initial splicing trajectory that passes the test verification;
[0162] The distance between the spacing line 52 of the obstacle 5 and the boundary line 51 of the obstacle 5 is a preset second distance, and the second distance varies according to the properties of the obstacle 5 .
[0163] The obstacle 5 may be a wall, another vehicle, a stone, etc., and may be determined by a vehicle camera or a parking space camera connected to the vehicle controller. The boundary line 51 of the obstacle 5 is obtained by enlarging the corresponding preset safety distance based on the size of the obstacle 5 itself. For example, referring to Fig.13 , the length and width of a certain obstacle 5 are both 1.2m, and the preset safety distance is 0.3m, then the length and width of the boundary line 51 of the obstacle 5 are both 1.5m. However, the safety distance of 0.3m is relatively small, which may easily cause the user to be anxious about the distance between the vehicle and the obstacle 5. That is, although the vehicle can normally bypass the obstacle 5, there is still a possibility of collision from the user's perspective. Therefore, the safety distance needs to be further increased, such as increasing the safety distance of 0.3m to 0.5m, that is, the preset second distance is 0.2m, then the length and width of the spacing line 52 of the obstacle 5 are both 1.5m. The spacing line 52 of the obstacle 5 constructed in this way is farther away from the obstacle 5 body than the boundary line 51 of the obstacle 5, which can effectively alleviate the user's anxiety about the distance between the vehicle and the obstacle 5.
[0164] In addition, the second distance is related to the properties of the obstacle 5. For example, the obstacle 5 is a trash can, and since the trash can is likely to have odor, the second distance can be set larger, for example, the second distance is 0.3m. Thus, the setting of different second distances makes the test verification more refined to improve the user experience.
[0165] The vehicle boundary parking trajectory is determined based on the initial splicing trajectory. Specifically, the vehicle has left and right sides in the forward direction. For example, a vehicle with the driver's seat on the left and the co-driver's seat on the right, the vehicle boundary parking trajectory includes the driver's side boundary parking trajectory b and the co-driver's side boundary parking trajectory c. Fig.15 , Fig.16 As shown, the driver's side boundary parking track b, the passenger side boundary parking track c and the initial splicing track a are parallel tracks. If the vehicle boundary parking track overlaps with the spacing line 52 of the obstacle 5, it means that the test verification fails. If there is no overlap, it means that the test verification passes.
[0166] In addition, the above test verification can also be used to determine the iteration order of the initial iteration turning point. If the boundary parking trajectory b of the main driver's side coincides with the spacing line 52 of the obstacle 5, the initial iteration turning point is moved to the right in the vehicle coordinate system so that the new boundary parking trajectory b of the main driver's side can be away from the spacing line 52 of the obstacle 5; if the boundary parking trajectory c of the passenger side coincides with the spacing line 52 of the obstacle 5, the initial iteration turning point is moved to the left in the vehicle coordinate system so that the new boundary parking trajectory c of the passenger side can be away from the boundary line 51 of the obstacle 5. The movement of the above iteration positions is to keep the vehicle away from the obstacle 5, avoid the risk of collision, and maintain a reasonable distance from the obstacle 5. This process also determines the new iteration position through geometric relationships, which is simple and fast, and is conducive to iterating out the appropriate initial iteration turning point as soon as possible and quickly generating the target splicing trajectory.
[0167] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.
[0168] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0169] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides an automatic parking trajectory planning device.
[0170] refer to Fig.18, the automatic parking trajectory planning device comprises:
[0171] A parking inflection point interval determination module 901 is configured to determine a parking inflection point interval and a trajectory end point based on the acquired parking starting point;
[0172] The target stitching trajectory determining module 902 is configured to construct a plurality of initial stitching trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, and in response to determining that there is an initial stitching trajectory that passes the test verification, determine the initial stitching trajectory that passes the test verification as the target stitching trajectory;
[0173] The output module 903 controls the vehicle to park based on the target spliced trajectory.
[0174] Wherein, the initial splicing trajectory is formed by smoothly splicing at least two arcs.
[0175] Further, the target splicing trajectory determination module 902 is configured to:
[0176] Constructing a plurality of first parking arc trajectories based on at least one parking inflection point; constructing a plurality of second parking arc trajectories based on the trajectory end point;
[0177] Each of the first parking arc trajectories is smoothly spliced with at least a portion of the second parking arc trajectories to form a plurality of initial spliced trajectories.
[0178] Further, the target splicing trajectory determination module 902 is configured to:
[0179] For each of the first parking arc trajectories in all the first parking arc trajectories, the following steps are performed:
[0180] Determine a plurality of first trajectory points on one of the first parking arc trajectories, and determine a plurality of second trajectory points on all of the second parking arc trajectories;
[0181] Determining the heading of each of the first trajectory points and each of the second trajectory points;
[0182] The first track point and the second track point having the same heading are spliced together to form a plurality of initial spliced tracks based on the first parking arc track.
[0183] Further, the target splicing trajectory determination module 902 is configured to:
[0184] In response to determining that there is a distance between the first trajectory point and the second trajectory point having the same heading, the second arc trajectory where the second trajectory point is located is translated until the second trajectory point coincides with the first trajectory point, so as to achieve splicing of the first trajectory point and the second trajectory point.
[0185] Further, the target splicing trajectory determination module 902 is configured to:
[0186] Re-determining the end point of the track based on the initial splicing track;
[0187] In response to the re-determined end point of the track being located within a preset end point region of the track, testing and verifying the initial splicing track;
[0188] The trajectory end point area is determined based on the boundary line of the vehicle's drivable area and the width of the vehicle.
[0189] Further, the target splicing trajectory determination module 902 is configured to:
[0190] Dividing the inflection point interval into a plurality of sub-intervals;
[0191] The parking inflection points between adjacent sub-intervals are determined as the first-level parking inflection points, and the parking inflection points within the sub-intervals are determined as the second-level parking inflection points;
[0192] Determine an initial iteration inflection point among a plurality of first-order inflection points or second-order inflection points;
[0193] Constructing a plurality of initial splicing trajectories based on the trajectory end point and the initial iteration inflection point, and testing and verifying each of the initial splicing trajectories;
[0194] In response to determining that there is an initial splicing track that passes the test verification, determining the initial splicing track that passes the test verification as a candidate splicing track;
[0195] A target splicing track is determined among all the candidate splicing tracks.
[0196] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0197] Determining a target subinterval within a plurality of subintervals based on the initial iterative inflection point;
[0198] Constructing a plurality of interval splicing trajectories based on the trajectory end point and at least one of the secondary parking inflection points in the target sub-interval, and testing and verifying each of the interval splicing trajectories;
[0199] In response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is determined as a candidate splicing trajectory.
[0200] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0201] In response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the plurality of first-level parking inflection points or second-level parking inflection points, and multiple new initial stitching trajectories are determined based on the trajectory end point and the new initial iteration inflection point, until a new initial stitching trajectory passes the test verification; or, until a preset number of iterations is reached;
[0202] Among them, the iteration priority of the first-level inflection point is higher than that of the second-level inflection point.
[0203] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0204] Determine a parking inflection point within the parking inflection point interval, and use the parking inflection point as an initial iteration inflection point;
[0205] Constructing a plurality of initial splicing trajectories based on the initial iterative inflection point, and testing and verifying each of the initial splicing trajectories;
[0206] In response to determining that there is an initial splicing track that passes the test verification, determining the initial splicing track that passes the test verification as a candidate splicing track;
[0207] A target splicing track is determined among all the candidate splicing tracks.
[0208] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0209] Constructing a sub-interval within the parking-out inflection point interval based on the initial iteration inflection point;
[0210] Constructing a plurality of interval splicing trajectories based on at least one of the inflection points in the sub-interval, and testing and verifying each of the interval splicing trajectories;
[0211] In response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is determined as a candidate splicing trajectory.
[0212] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0213] In response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the parking inflection point interval, and multiple new initial stitching trajectories are determined based on the trajectory end point and the new initial iteration inflection point, until a new initial stitching trajectory passes the test verification; or, until a preset number of iterations is reached.
[0214] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0215] Calculating a first distance between the end point of each candidate splicing trajectory and the parking start point;
[0216] A minimum first distance is determined among the plurality of first distances, and a second candidate stitching trajectory corresponding to the minimum first distance is determined as a target stitching trajectory.
[0217] Furthermore, the target splicing trajectory determination module 902 is further configured to:
[0218] Determining an obstacle spacing line based on the obstacle boundary line, and determining a vehicle boundary parking trajectory based on the initial spliced trajectory;
[0219] In response to determining that the vehicle boundary parking trajectory corresponding to each of the initial spliced trajectories and the obstacle spacing line have overlapping portions, determining that there is no initial spliced trajectory that passes the test verification;
[0220] The distance between the obstacle spacing line and the obstacle boundary line is a preset second distance, and the second distance varies according to the properties of the obstacle.
[0221] The system of the above embodiment is used to implement the corresponding automatic parking trajectory planning method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0222] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the automatic parking trajectory planning method described in any of the above embodiments is implemented.
[0223] Fig.19 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.
[0224] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0225] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.
[0226] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0227] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WFI, Bluetooth, etc.).
[0228] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010 , the memory 1020 , the input / output interface 1030 , and the communication interface 1040 ).
[0229] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.
[0230] The electronic device of the above embodiment is used to implement the corresponding automatic parking trajectory planning method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0231] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the automatic parking trajectory planning method described in any of the above embodiments.
[0232] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be achieved by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static access memory (SRAM), dynamic access memory (DRAM), other types of access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0233] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the automatic parking trajectory planning method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0234] It is understandable that before using the technical solutions of each embodiment of the present disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved will be informed to the user in an appropriate manner, and the user's authorization will be obtained.
[0235] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly remind the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can independently choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0236] As an optional but non-limiting implementation, in response to receiving the user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0237] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0238] A person skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.
[0239] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power / ground connections to the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device may be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform on which the embodiments of the present application are to be implemented (that is, these details should be fully within the scope of understanding of those skilled in the art). Where specific details (e.g., circuits) are set forth to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or with changes in these specific details. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0240] Although the present application has been described in conjunction with specific embodiments of the present application, many alternatives, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the discussed embodiments.
[0241] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.
Claims
1. An automatic parking trajectory planning method, characterized in that: include: Determine the parking turning point interval and the trajectory end point based on the acquired parking starting point; Based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, a plurality of initial splicing trajectories are constructed, and in response to determining that there is an initial splicing trajectory that passes the test verification, the initial splicing trajectory that passes the test verification is determined as a target splicing trajectory; Controlling the vehicle to park based on the target spliced trajectory; Wherein, the initial splicing trajectory is formed by smoothly splicing at least two arcs; The step of constructing a plurality of initial splicing trajectories based on the trajectory end point and at least one parking inflection point in the parking inflection point interval, and in response to determining that there is an initial splicing trajectory that passes the test verification, determining the initial splicing trajectory that passes the test verification as the target splicing trajectory includes: Dividing the inflection point interval into a plurality of sub-intervals; The parking inflection points between adjacent sub-intervals are determined as the first-level parking inflection points, and the parking inflection points within the sub-intervals are determined as the second-level parking inflection points; Determine an initial iteration inflection point among a plurality of first-order inflection points or second-order inflection points; Constructing a plurality of initial splicing trajectories based on the trajectory end point and the initial iteration inflection point, and testing and verifying each of the initial splicing trajectories; In response to determining that there is an initial splicing track that passes the test verification, determining the initial splicing track that passes the test verification as a candidate splicing track; A target splicing track is determined among all the candidate splicing tracks.
2. The method according to claim 1, characterized in that Based on the end point of the trajectory and at least one parking inflection point in the parking inflection point interval, a plurality of initial splicing trajectories are constructed, including: Constructing a plurality of first parking arc trajectories based on at least one parking inflection point; constructing a plurality of second parking arc trajectories based on the trajectory end point; Each of the first parking arc trajectories is smoothly spliced with at least a portion of the second parking arc trajectories to form a plurality of initial spliced trajectories.
3. The method according to claim 2, characterized in that The step of smoothly splicing each of the first arc trajectories with at least a portion of the second arc trajectories to form a plurality of initial spliced trajectories includes: For each of the first parking arc trajectories in all the first parking arc trajectories, the following steps are performed: Determine a plurality of first trajectory points on one of the first parking arc trajectories, and determine a plurality of second trajectory points on all of the second parking arc trajectories; Determining the heading of each of the first trajectory points and each of the second trajectory points; The first track point and the second track point having the same heading are spliced together to form a plurality of initial spliced tracks based on the first parking arc track.
4. The method according to claim 3, characterized in that The step of splicing the first track point and the second track point having the same heading includes: In response to determining that there is a distance between the first trajectory point and the second trajectory point having the same heading, the second arc trajectory where the second trajectory point is located is translated until the second trajectory point coincides with the first trajectory point, so as to achieve splicing of the first trajectory point and the second trajectory point.
5. The method according to claim 4, characterized in that Before determining the initial stitching track that passes the test verification as the target stitching track, the method includes: Re-determining the end point of the track based on the initial splicing track; In response to the re-determined end point of the track being located within a preset end point region of the track, testing and verifying the initial splicing track; The trajectory end point area is determined based on the boundary line of the vehicle's drivable area and the width of the vehicle.
6. The method according to claim 1, characterized in that Before determining the target splicing track among all the candidate splicing tracks, the method further includes: Determining a target subinterval within a plurality of subintervals based on the initial iterative inflection point; Constructing a plurality of interval splicing trajectories based on the trajectory end point and at least one of the secondary parking inflection points in the target sub-interval, and testing and verifying each of the interval splicing trajectories; In response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is determined as a candidate splicing trajectory.
7. The method according to claim 1, characterized in that Also includes: In response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the plurality of first-level parking inflection points or second-level parking inflection points, and multiple new initial stitching trajectories are determined based on the trajectory end point and the new initial iteration inflection point, until a new initial stitching trajectory passes the test verification; or, until a preset number of iterations is reached; The iteration priority of the first-level parking inflection point is higher than that of the second-level parking inflection point.
8. The method according to claim 1, characterized in that The method of constructing a plurality of first parking arc trajectories based on at least one parking inflection point; and in response to determining that there is a first parking arc trajectory that passes the test verification, determining the first parking arc trajectory that passes the test verification as a target splicing trajectory comprises: Determine a parking inflection point within the parking inflection point interval, and use the parking inflection point as an initial iteration inflection point; Constructing a plurality of initial splicing trajectories based on the initial iterative inflection point, and testing and verifying each of the initial splicing trajectories; In response to determining that there is an initial splicing track that passes the test verification, determining the initial splicing track that passes the test verification as a candidate splicing track; A target splicing track is determined among all the candidate splicing tracks.
9. The method according to claim 8, characterized in that Before determining the target splicing track among all the candidate splicing tracks, the method further includes: Constructing a sub-interval within the parking-out inflection point interval based on the initial iteration inflection point; Constructing a plurality of interval splicing trajectories based on at least one of the inflection points in the sub-interval, and testing and verifying each of the interval splicing trajectories; In response to determining that there is an interval splicing trajectory that passes the test verification, the interval splicing trajectory that passes the test verification is determined as a candidate splicing trajectory.
10. The method according to claim 9, characterized in that Also includes: In response to determining that there is no initial stitching trajectory that passes the test verification, another new initial iteration inflection point is determined within the parking inflection point interval, and multiple new initial stitching trajectories are determined based on the trajectory end point and the new initial iteration inflection point, until a new initial stitching trajectory passes the test verification; or, until a preset number of iterations is reached.
11. The method according to any one of claims 1, 6, 8 and 9, characterized in that: Determining a target splicing track from all the candidate splicing tracks includes: Calculating a first distance between the end point of each candidate splicing trajectory and the parking start point; A minimum first distance is determined among the plurality of first distances, and a second candidate stitching trajectory corresponding to the minimum first distance is determined as a target stitching trajectory.
12. The method according to claim 7 or 10, characterized in that: In response to determining that there is no initial splicing track that passes the test verification, the method comprises: Determining an obstacle spacing line based on the obstacle boundary line, and determining a vehicle boundary parking trajectory based on the initial spliced trajectory; In response to determining that the vehicle boundary parking trajectory corresponding to each of the initial spliced trajectories and the obstacle spacing line have overlapping portions, determining that there is no initial spliced trajectory that passes the test verification; The distance between the obstacle spacing line and the obstacle boundary line is a preset second distance, and the second distance varies according to the properties of the obstacle.
13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 12 is implemented.
14. A vehicle, characterized in that: The vehicle includes the electronic device as claimed in claim 13.
Citation Information
Patent Citations
Automatic parking track planning method, electronic equipment and vehicle
CN118494464A
Automatic parking track planning method, electronic equipment and vehicle
CN118907078A
Automatic parking track planning method, electronic equipment and vehicle
CN118907079A
Parking track obeying method for minimizing of obeying error
KR100836375B1