Methods, apparatus, equipment and computer-readable storage media for generating parking trajectories
By generating the first, second, third, and fourth circular arcs and combining the positional information of the vehicle and obstacles, a reasonable parking trajectory is planned, solving the problem of difficulty in avoiding obstacles in existing technologies and realizing safe and efficient automatic parking.
Patent Information
- Application Number
- CN202510129244.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-02-05
AI Technical Summary
Existing automatic parking systems have difficulty effectively avoiding obstacles when generating parking trajectories, resulting in unsafe and inefficient vehicle parking.
By generating the first, second, third, and fourth arcs and combining the position information of the vehicle and obstacles, a reasonable parking trajectory is planned, enabling the vehicle to safely avoid obstacles and smoothly enter the parking space.
The generated parking trajectory can effectively avoid obstacles, improve the safety and efficiency of vehicle parking, reduce the time required for manual control, and enhance the driver's driving experience.
Smart Images

Figure CN119840607B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to a method, apparatus, device, and computer-readable storage medium for generating parking trajectories. Background Technology
[0002] With the continuous development of autonomous driving technology, automated parking systems are being used more and more widely in the automotive industry. The main technologies of automated parking systems include parking space recognition technology and trajectory generation technology. Trajectory generation technology refers to generating a parking trajectory after a parking space is determined, so that the vehicle can park according to that trajectory. However, how to generate parking trajectories is a technical problem that urgently needs to be solved. Summary of the Invention
[0003] This application provides a method, apparatus, device, and computer-readable storage medium for generating parking trajectories. The technical solution is as follows:
[0004] On one hand, embodiments of this application provide a method for generating parking trajectories, the method comprising:
[0005] In response to detecting a parking space and an obstacle in the reference direction of the parking space, the system acquires first position information of the vehicle in a reference coordinate system and second position information of the obstacle in the reference coordinate system, wherein the origin of the reference coordinate system is a point on the central axis along the length direction of the parking space that is a first distance from the tail of the parking space.
[0006] Based on the first position information, a first arc and a second arc are generated. One endpoint of the first arc is the origin, and one endpoint of the second arc is the position indicated by the first position information. The other endpoints of the first arc and the second arc are a first point, which is the external tangent point of the first circle containing the first arc and the second circle containing the second arc.
[0007] Based on the first position information and the second position information, a third arc and a fourth arc are generated. One endpoint of the third arc is the position indicated by the first position information, and one endpoint of the fourth arc is the origin. The other endpoints of the third arc and the fourth arc are a second point, which is the external tangent point of the third circle and the fourth circle.
[0008] A parking trajectory is determined based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle drives into the parking space according to the parking trajectory. One endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin.
[0009] In one possible implementation, the step of obtaining first position information of the vehicle in a reference coordinate system and second position information of the obstacle in the reference coordinate system in response to detecting a parking space and an obstacle in a reference direction of the parking space includes:
[0010] In response to the detection of a parking space and the presence of an obstacle in the reference direction of the parking space, the initial position information of the vehicle, the initial position information of the parking space, and the initial position information of the obstacle are obtained.
[0011] Based on the initial position information of the vehicle, the initial position information of the parking space, and the included angle, the first position information of the vehicle in the reference coordinate system is determined, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space.
[0012] Based on the initial position information of the obstacle, the initial position information of the parking space, and the included angle, the second position information of the obstacle in the reference coordinate system is determined.
[0013] In one possible implementation, generating the first arc and the second arc based on the first position information includes:
[0014] The minimum turning radius of the vehicle is determined to be the radius of the first circle;
[0015] Determine the center of the first circle based on its radius;
[0016] The radius of the second circle is determined based on the radius of the first circle, the first position information, and the included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space;
[0017] The center of the second circle is determined based on the radius of the second circle, the first position information, and the included angle.
[0018] The first circle is generated based on its center and radius, and the second circle is generated based on its center and radius.
[0019] The arc between the first point on the first circle and the origin is defined as the first arc, and the arc between the first point on the second circle and the position indicated by the first position information is defined as the second arc.
[0020] In one possible implementation, before determining the minimum turning radius of the vehicle as the radius of the first circle, the method further includes:
[0021] The minimum turning radius of the vehicle is determined based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels.
[0022] In one possible implementation, generating the third and fourth arcs based on the first and second position information includes:
[0023] Based on the first position information, the second position information, the included angle, and the minimum turning radius of the vehicle, the radius of the third circle is determined, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space;
[0024] The center of the third circle and the radius of the fourth circle are determined based on the radius of the third circle, the first position information, and the included angle.
[0025] Determine the center of the fourth circle based on its radius;
[0026] The third circle is generated based on its radius and center, and the fourth circle is generated based on its center and radius.
[0027] The arc between the second point on the third circle and the position indicated by the first position information is defined as the third arc, and the arc between the second point on the fourth circle and the origin is defined as the fourth arc.
[0028] In one possible implementation, determining the radius of the third circle based on the first position information, the second position information, the included angle, and the vehicle's minimum turning radius includes:
[0029] Based on the first position information, the second position information, and the included angle, a first value and a second value are determined. The first value is the radius of the trajectory of the rear of the vehicle reversing without colliding with the obstacle, and the second value is the radius of the trajectory tangent to the trajectory of the front of the vehicle returning to the parking space without colliding with the obstacle.
[0030] The maximum value among the first value, the second value, and the minimum turning radius of the vehicle is determined as the radius of the third circle.
[0031] In one possible implementation, determining the second value based on the first position information, the second position information, and the included angle includes:
[0032] Based on the second position information, a reference value is determined, which is the radius of the trajectory of the vehicle returning to the parking space without colliding with the obstacle.
[0033] The second value is determined based on the reference value, the included angle, and the first position information.
[0034] In one possible implementation, the parking trajectory includes a fifth arc and a sixth arc;
[0035] Determining the parking trajectory based on the first arc, the second arc, the third arc, and the fourth arc includes:
[0036] Based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle, the radius of the fifth circle containing the fifth arc is determined, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space;
[0037] Determine the center of the fifth circle based on its radius;
[0038] The radius of the sixth circle containing the sixth arc is determined based on the radius of the fifth circle, the first position information, and the included angle.
[0039] Based on the fact that the radius of the sixth circle is located between the radius of the second circle and the radius of the third circle, the center of the sixth circle is determined according to the radius of the sixth circle, the included angle, and the first position information;
[0040] The fifth circle is generated based on its radius and center; the sixth circle is generated based on its radius and center.
[0041] The arc between the third point on the fifth circle and the origin is defined as the fifth arc, and the arc between the third point on the sixth circle and the position indicated by the first position information is defined as the sixth arc, wherein the third point is the external tangent point of the fifth circle and the sixth circle.
[0042] In one possible implementation, determining the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes:
[0043] The third value is determined based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle.
[0044] Based on the radius of the fourth circle, a first angle is determined, which is the turning angle of the front wheels of the vehicle when the vehicle passes through a trajectory with a radius equal to the radius of the fourth circle.
[0045] Based on the radius of the first circle, a second angle is determined, which is the turning angle of the front wheels of the vehicle when the vehicle travels along a trajectory with a radius equal to the radius of the first circle.
[0046] Based on the first angle and the second angle, determine the fourth value;
[0047] Based on the third and fourth values, determine the radius of the fifth circle containing the fifth arc.
[0048] In one possible implementation, determining the third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes:
[0049] Based on the first position information and the included angle, a fifth value is determined, which is the value when the radius of the fifth circle and the radius of the sixth circle are the same;
[0050] If the fifth value is located between the radius of the first circle and the radius of the fourth circle, then the fifth value is determined to be the third value.
[0051] If the fifth value is greater than the radius of the fourth circle, the radius of the fourth circle is determined to be the third value.
[0052] If the fifth value is less than the radius of the first circle, the radius of the first circle is determined to be the third value.
[0053] On the other hand, embodiments of this application provide a parking trajectory generation apparatus, the apparatus comprising:
[0054] The acquisition module is used to acquire, in response to the detection of a parking space and the presence of an obstacle in the reference direction of the parking space, a first position information of the vehicle in a reference coordinate system and a second position information of the obstacle in the reference coordinate system, wherein the origin of the reference coordinate system is a point on the central axis along the length direction of the parking space that is a first distance from the tail of the parking space.
[0055] The generation module is used to generate a first arc and a second arc based on the first position information. One endpoint of the first arc is the origin, one endpoint of the second arc is the position indicated by the first position information, and the other endpoints of the first arc and the second arc are a first point, which is the external tangent point of the first circle where the first arc is located and the second circle where the second arc is located.
[0056] The generation module is further configured to generate a third arc and a fourth arc based on the first position information and the second position information, wherein one endpoint of the third arc is the position indicated by the first position information, one endpoint of the fourth arc is the origin, and the other endpoints of the third arc and the fourth arc are a second point, which is the external tangent point of the third circle and the fourth circle in which the third arc is located;
[0057] The determining module is used to determine a parking trajectory based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle drives into the parking space according to the parking trajectory, wherein one endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin.
[0058] In one possible implementation, the acquisition module is configured to, in response to detecting a parking space and an obstacle in the reference direction of the parking space, acquire initial position information of the vehicle, initial position information of the parking space, and initial position information of the obstacle; determine first position information of the vehicle in the reference coordinate system based on the initial position information of the vehicle, the initial position information of the parking space, and an included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; and determine second position information of the obstacle in the reference coordinate system based on the initial position information of the obstacle, the initial position information of the parking space, and the included angle.
[0059] In one possible implementation, the generation module is configured to: determine the minimum turning radius of the vehicle as the radius of the first circle; determine the center of the first circle based on the radius of the first circle; determine the radius of the second circle based on the radius of the first circle, the first position information, and an included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; determine the center of the second circle based on the radius of the second circle, the first position information, and the included angle; generate the first circle based on the center and radius of the first circle, and generate the second circle based on the center and radius of the second circle; determine the arc between the first point on the first circle and the origin as the first arc, and determine the arc between the first point on the second circle and the position indicated by the first position information as the second arc.
[0060] In one possible implementation, the determining module is further configured to determine the minimum turning radius of the vehicle based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels.
[0061] In one possible implementation, the generation module is configured to: determine the radius of the third circle based on the first position information, the second position information, the included angle, and the minimum turning radius of the vehicle; wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; determine the center of the third circle and the radius of the fourth circle based on the radius of the third circle, the first position information, and the included angle; determine the center of the fourth circle based on the radius of the fourth circle; generate the third circle based on the radius of the third circle and the center of the third circle; generate the fourth circle based on the center of the fourth circle and the radius of the fourth circle; determine the arc between the second point on the third circle and the position indicated by the first position information as the third arc; and determine the arc between the second point on the fourth circle and the origin as the fourth arc.
[0062] In one possible implementation, the generation module is configured to determine a first value and a second value based on the first position information, the second position information, and the included angle. The first value is the radius of the trajectory of the vehicle reversing without colliding with the obstacle, and the second value is the radius of the trajectory tangent to the trajectory of the vehicle returning to the parking space without colliding with the obstacle. The maximum value among the first value, the second value, and the minimum turning radius of the vehicle is determined as the radius of the third circle.
[0063] In one possible implementation, the generation module is configured to determine a reference value based on the second position information, the reference value being the radius of the trajectory of the vehicle returning to its correct position and entering the parking space without colliding with the obstacle; and to determine the second value based on the reference value, the included angle, and the first position information.
[0064] In one possible implementation, the parking trajectory includes a fifth arc and a sixth arc;
[0065] The determining module is configured to: determine the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; determine the center of the fifth circle based on the radius of the fifth circle; determine the radius of the sixth circle containing the sixth arc based on the radius of the fifth circle, the first position information, and the included angle; determine the center of the sixth circle based on the radius of the sixth circle being between the radius of the second circle and the radius of the third circle, and based on the radius of the sixth circle being between the radius of the second circle and the radius of the third circle, and based on the first position information; generate the fifth circle based on the radius and center of the fifth circle; generate the sixth circle based on the radius and center of the sixth circle; determine the arc between the third point on the fifth circle and the origin as the fifth arc; determine the arc between the third point on the sixth circle and the position indicated by the first position information as the sixth arc, wherein the third point is the external tangent point of the fifth circle and the sixth circle.
[0066] In one possible implementation, the determining module is configured to: determine a third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle; determine a first angle based on the radius of the fourth circle, wherein the first angle is the turning angle of the front wheels of the vehicle when the vehicle travels along a trajectory with a radius equal to the radius of the fourth circle; determine a second angle based on the radius of the first circle, wherein the second angle is the turning angle of the front wheels of the vehicle when the vehicle travels along a trajectory with a radius equal to the radius of the first circle; determine a fourth value based on the first angle and the second angle; and determine the radius of the fifth circle containing the fifth arc based on the third value and the fourth value.
[0067] In one possible implementation, the determining module is configured to determine a fifth value based on the first position information and the included angle, wherein the fifth value is the value when the radius of the fifth circle and the radius of the sixth circle are the same; if the fifth value is between the radius of the first circle and the radius of the fourth circle, the fifth value is determined to be the third value; if the fifth value is greater than the radius of the fourth circle, the radius of the fourth circle is determined to be the third value; and if the fifth value is less than the radius of the first circle, the radius of the first circle is determined to be the third value.
[0068] On the other hand, embodiments of this application provide a computer device, the computer device including a processor and a memory, the memory storing at least one piece of program code, the at least one piece of program code being loaded and executed by the processor, so that the computer device implements any of the above-described parking trajectory generation methods.
[0069] On the other hand, a computer-readable storage medium is also provided, wherein at least one piece of program code is stored in the computer-readable storage medium, the at least one piece of program code being loaded and executed by a processor to enable a computer to implement any of the above-described methods for generating parking trajectories.
[0070] On the other hand, a computer program or computer program product is also provided, wherein the computer program or computer program product stores at least one computer instruction, which is loaded and executed by a processor to enable the computer to implement any of the above-described methods for generating parking trajectories.
[0071] The technical solution provided in this application has at least the following beneficial effects:
[0072] The technical solution provided in this application, when generating a parking trajectory, considers not only the location information of the parking space and the vehicle, but also the location information of obstacles. This allows the generated parking trajectory to avoid obstacles, making it more reasonable. When the vehicle enters the parking space according to this trajectory, the safety of parking is improved. Moreover, compared to manually controlling the vehicle to drive to the parking space, this method requires less time to park, thereby improving the efficiency of parking, enhancing the driver's driving experience, and ultimately promoting the development of autonomous driving technology. Attached Figure Description
[0073] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0074] Figure 1 This is a schematic diagram illustrating the implementation environment of a parking trajectory generation method provided in this application embodiment;
[0075] Figure 2 This is a flowchart of a parking trajectory generation method provided in an embodiment of this application;
[0076] Figure 3 This is a schematic diagram of a parking space, vehicle, and obstacle provided in an embodiment of this application;
[0077] Figure 4 This is a schematic diagram of a reference coordinate system provided in an embodiment of this application;
[0078] Figure 5 This is a schematic diagram of an included angle provided in an embodiment of this application;
[0079] Figure 6 This is a schematic diagram of the first and second circles provided in the embodiments of this application;
[0080] Figure 7 This is a schematic diagram of a vehicle reversing so that its rear end does not hit an obstacle, as provided in the embodiments of this application.
[0081] Figure 8 This is a schematic diagram illustrating how a vehicle can straighten itself without colliding with an obstacle, as provided in an embodiment of this application.
[0082] Figure 9 This is a schematic diagram of the third and fourth circles provided in the embodiments of this application;
[0083] Figure 10 This is a schematic diagram of a reference area provided in an embodiment of this application;
[0084] Figure 11 This is a schematic diagram of a fifth and a sixth circle provided in an embodiment of this application;
[0085] Figure 12 This is a schematic diagram of the structure of a parking trajectory generation device provided in an embodiment of this application;
[0086] Figure 13 This is a schematic diagram of the structure of a server provided in an embodiment of this application;
[0087] Figure 14 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation
[0088] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0089] It should be noted that the terms "first," "second," etc., used in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0090] Figure 1 This is a schematic diagram illustrating the implementation environment of a parking trajectory generation method provided in this application embodiment, such as... Figure 1 As shown, the implementation environment includes a computer device 101. The computer device 101 is used to execute the parking trajectory generation method provided in the embodiments of this application.
[0091] The computer device 101 can be a terminal device or a server; this embodiment does not limit its use. For example, the terminal device can be an in-vehicle terminal or any electronic product capable of human-computer interaction with a user through one or more methods such as a keyboard, touchpad, touchscreen, remote control, voice interaction, or handwriting device. Examples include PCs (Personal Computers), mobile phones, smartphones, PDAs (Personal Digital Assistants), wearable devices, PPCs (Pocket PCs), tablets, smart car systems, smart TVs, and smart speakers. The server can be a single server, a server cluster consisting of multiple servers, or a cloud computing service center; this embodiment does not limit its use. The server is connected to the in-vehicle terminal.
[0092] Those skilled in the art should understand that the computer device 101 described above is merely an example, and other existing or future computer devices that are applicable to this application should also be included within the scope of protection of this application, and are hereby incorporated by reference.
[0093] This application provides a method for generating parking trajectories, which can be applied to the above-mentioned... Figure 1 The implementation environment shown is as follows: Figure 2 The flowchart shown in this embodiment of the present application illustrates a method for generating parking trajectories. This method can be implemented by... Figure 1 The computer device 101 in the middle performs the operation. For example... Figure 2 As shown, the method includes the following steps 201 to 204.
[0094] In step 201, in response to detecting a parking space and an obstacle in the reference direction of the parking space, the first position information of the vehicle in the reference coordinate system and the second position information of the obstacle in the reference coordinate system are obtained. The origin of the reference coordinate system is a point on the central axis along the length direction of the parking space, which is a first distance from the tail of the parking space.
[0095] The reference direction for a parking space is determined by the vehicle's orientation relative to the space. If the vehicle is on the left side of the parking space (i.e., the vehicle is on the left side), the reference direction is left-hand. If the vehicle is on the right side of the parking space (i.e., the vehicle is on the right side), the reference direction is right-hand. Furthermore, obstacles must be located between the parking space and the vehicle; that is, the vehicle may collide with an obstacle when entering the parking space.
[0096] like Figure 3 This is a schematic diagram of a parking space, a vehicle, and an obstacle provided in an embodiment of this application. 301 is a parking space, 302 is a vehicle, and 303 is an obstacle. The vehicle 302 is to the left of the parking space 301, and the obstacle 303 is to the left of the parking space 301.
[0097] In one possible implementation, the vehicle is equipped with positioning sensors. When a parking space is detected and an obstacle exists in the reference direction of the parking space, the positioning sensors are invoked to obtain the initial position information of the vehicle, the parking space, and the obstacle. The initial position information of the vehicle refers to its position in the vehicle coordinate system, the initial position information of the parking space refers to its position in the vehicle coordinate system, and the initial position information of the obstacle refers to its position in the vehicle coordinate system.
[0098] Since the vehicle is moving while entering the parking space, meaning its position is constantly changing, while the parking space remains fixed, the parking trajectory generation method provided in this application employs reverse programming to plan the trajectory of the vehicle from the parking space to its current location, and uses this trajectory as the parking trajectory. The initial position information of the vehicle, the parking space, and the obstacle are all obtained in the vehicle coordinate system. Therefore, it is necessary to convert the initial position information of the vehicle into the first position information of the vehicle in the reference coordinate system, and the initial position information of the obstacle into the second position information of the obstacle in the reference coordinate system. The position information of the parking space in the reference coordinate system is the origin (0, 0) of the reference coordinate system. The reference coordinate system refers to the parking space coordinate system. The origin of the reference coordinate system is the point on the central axis along the length of the parking space, at the first distance from the rear of the parking space. The positive horizontal axis of the reference coordinate system is the direction along the central axis along the length of the parking space, pointing towards the head of the parking space. The positive vertical axis of the reference coordinate system is the direction that passes through the origin of the reference coordinate system, is perpendicular to the horizontal axis of the reference coordinate system, and is referenced at the origin of the reference coordinate system.
[0099] Optionally, the first distance may be set based on experience or adjusted according to the implementation environment, and this application embodiment does not limit this. For example, the first distance is 0.8 meters.
[0100] like Figure 4 This is a schematic diagram of a reference coordinate system provided in an embodiment of this application. Point O is the origin of the reference coordinate system, 401 is the positive horizontal axis of the reference coordinate system, and 402 is the positive vertical axis of the reference coordinate system.
[0101] In one possible implementation, the vehicle's first position information in the reference coordinate system is determined based on the vehicle's initial position information, the parking space's initial position information, and the included angle. The obstacle's second position information in the reference coordinate system is determined based on the obstacle's initial position information, the parking space's initial position information, and the included angle. Here, the included angle refers to the angle between the central axis along the vehicle's length direction and the central axis along the parking space's length direction.
[0102] like Figure 5 This is a schematic diagram of an included angle provided in an embodiment of this application. Wherein, 501 is the centerline along the length of the parking space, 502 is the centerline along the length of the vehicle, and 503 is the included angle.
[0103] In one possible implementation, the first position information of the vehicle in the reference coordinate system is determined according to the following formula (1) based on the initial position information of the vehicle, the initial position information of the parking space, and the included angle.
[0104]
[0105] In the above formula (1), (x, y) represents the initial position information of the vehicle, (x... ′ 0, y0 ′ (x0, y0) represents the initial position information of the parking space, (x0, y0) represents the first position information, and θ represents the included angle.
[0106] In one possible implementation, the second position information of the obstacle in the reference coordinate system is determined according to the following formula (2) based on the initial position information of the obstacle, the initial position information of the parking space, and the included angle.
[0107]
[0108] In the above formula (1), (x ′ y ′ (x) represents the initial position information of the obstacle. r y r (x) represents the second location information. ′ 0, y0 ′ ) represents the initial position information of the parking space, and θ is the included angle.
[0109] In step 202, a first arc and a second arc are generated according to the first position information. One endpoint of the first arc is the origin, one endpoint of the second arc is the position indicated by the first position information, and the other endpoints of the first arc and the second arc are the first point, which is the external tangent point of the first circle where the first arc is located and the second circle where the second arc is located.
[0110] In one possible implementation, after obtaining the first position information in step 201 above, the process of generating the first arc and the second arc based on the first position information includes: determining the minimum turning radius of the vehicle as the radius of the first circle; determining the center of the first circle based on the radius of the first circle; determining the radius of the second circle based on the radius of the first circle, the first position information, and the included angle; determining the center of the second circle based on the radius of the second circle, the first position information, and the included angle; generating the first circle based on the center and radius of the first circle; generating the second circle based on the center and radius of the second circle; determining the arc between the first point on the first circle and the origin as the first arc; and determining the arc between the first point on the second circle and the position indicated by the first position information as the second arc.
[0111] The included angle is the angle between the central axis along the length of the vehicle and the central axis along the length of the parking space, and the first point is the external tangent point of the first circle and the second circle.
[0112] Before determining the minimum turning radius of the vehicle as the radius of the first circle, it is necessary to first determine the minimum turning radius of the vehicle. This application embodiment does not limit the method for determining the minimum turning radius of the vehicle. Optionally, the minimum turning radius of the vehicle can be determined based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels.
[0113] Furthermore, based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels, the minimum turning radius of the vehicle is determined according to the following formula (3).
[0114]
[0115] In the above formula (3), R min Let L be the vehicle's minimum turning radius, L be the vehicle's wheelbase, and α be the vehicle's maximum front wheel steering angle.
[0116] In one possible implementation, due to vehicle kinematic constraints, the front wheel steering angle of the vehicle has a limit, therefore the minimum turning radius (R) of the vehicle is... min Let R1 be the radius of the first circle. Since the first circle passes through the origin, the center of the first circle is determined to be (0, the radius of the first circle), which is (0, R1).
[0117] Since the first circle and the second circle are externally tangent, the first circle and the second circle have the relationship shown in the following formula (4).
[0118]
[0119] In the above formula (4), R1 is the radius of the first circle, R2 is the radius of the second circle, and (x2, y2) is the center of the second circle.
[0120] Since the parking trajectory planning is a rolling planning, there is an angle between the centerline along the length of the vehicle and the centerline along the length of the parking space during the vehicle's movement along the parking trajectory. Therefore, the center of the second circle can be represented by the vehicle's first position information, the radius of the second circle, and the angle, as shown in the following formula (5) for representing the center of the second circle.
[0121]
[0122] In the above formula (5), (x2, y2) is the center of the second circle, (x0, y0) is the first position information, R2 is the radius of the second circle, and θ is the included angle.
[0123] Substituting formula (5) into formula (4), we obtain formula (6) for determining the radius of the second circle. That is, the radius of the second circle is determined according to formula (6) based on the radius of the first circle, the first position information, and the included angle.
[0124]
[0125] In the above formula (6), R2 is the radius of the second circle, (x0, y0) is the first position information, R1 is the radius of the first circle, and θ is the included angle.
[0126] After determining the radius of the second circle, the center (x2, y2) of the second circle is determined according to the radius of the second circle, the first position information and the included angle, in accordance with the above formula (5).
[0127] After determining the center and radius of the first circle, and the center and radius of the second circle, the first circle is generated based on its center and radius; the second circle is generated based on its center and radius. For example... Figure 6 This is a schematic diagram of the first and second circles provided in an embodiment of this application. Wherein, 601 is the first circle, 602 is the second circle, the radius of the first circle 601 is R1, and its center is (0, R1); the radius of the second circle 602 is R2, and its center is (x2, y2). The external tangent point of the first circle 601 and the second circle 602 is point A. 603 is the first arc, and 604 is the second arc.
[0128] In step 203, a third arc and a fourth arc are generated based on the first position information and the second position information. One endpoint of the third arc is the position indicated by the first position information, and one endpoint of the fourth arc is the origin. The other endpoints of the third arc and the fourth arc are the second point, which is the external tangent point of the third circle containing the third arc and the fourth circle containing the fourth arc.
[0129] In one possible implementation, the process of generating the third and fourth arcs based on the first and second position information includes: determining the radius of the third circle based on the first and second position information, the included angle, and the minimum turning radius of the vehicle, wherein the included angle is the angle between the centerline along the length direction of the vehicle and the centerline along the length direction of the parking space; determining the center of the third circle and the radius of the fourth circle based on the radius of the third circle, the first position information, and the included angle; determining the center of the fourth circle based on the radius of the fourth circle; generating the third circle based on the radius and center of the third circle, and generating the fourth circle based on the center and radius of the fourth circle; determining the arc between the second point on the third circle and the position indicated by the first position information as the third arc, and determining the arc between the second point on the fourth circle and the origin as the fourth arc.
[0130] The process of determining the radius of the third circle based on the first position information, the second position information, the included angle, and the vehicle's minimum turning radius includes: determining a first value and a second value based on the first position information, the second position information, and the included angle; the first value is the radius of the trajectory of the vehicle reversing without colliding with the obstacle, and the second value is the radius of the trajectory tangent to the trajectory of the vehicle returning to the parking space without colliding with the obstacle; and determining the maximum value among the first value, the second value, and the vehicle's minimum turning radius as the radius of the third circle.
[0131] Due to vehicle kinematic constraints, when the front wheel angle is at its limit, the first selectable value for the radius of the third circle is the vehicle's minimum turning radius.
[0132] The absolute limit of a vehicle's position is defined as the rear end just avoiding contact with an obstacle when reversing. Figure 7 This is a schematic diagram showing a vehicle reversing so that its rear end does not hit an obstacle. In this diagram, 701 represents the obstacle, 702 represents the vehicle, and 703 represents the parking space. The geometric relationship between the vehicle and the obstacle can be expressed by the following formula (7).
[0133] (x3-x r ) 2 +(y3-y r ) 2 =(R3-b) 2 (7)
[0134] In the above formula (7), (x3, y3) is the center of the third circle, (x r y r ) represents the second position information, R3 is the radius of the third circle, and b is half the wheelbase of the vehicle.
[0135] The center of the third circle can be represented by the first position information, the radius of the third circle and the included angle, as shown below, according to the first position information, the radius of the third circle and the included angle, the center of the third circle is represented by formula (8).
[0136]
[0137] In the above formula (8), (x3, y3) is the center of the third circle, (x0, y0) is the first position information, R3 is the radius of the third circle, and θ is the included angle.
[0138] Substituting formula (8) into formula (7), we obtain formula (9) for determining the first value. That is, based on the first position information, the second position information, and the included angle, the first value is determined according to formula (9), where the first value is the second optional value of the radius of the third circle.
[0139]
[0140] In the above formula (9), Let (x0, y0) be the first numerical value, and (x0, y0) be the first position information. r y r ) represents the second position information, θ is the included angle, and b is half of the vehicle's track width.
[0141] In one possible implementation, the process of determining the second value based on the first position information, the second position information, and the included angle includes: determining a reference value based on the second position information, the reference value being the radius of the trajectory along which the front of the vehicle returns to its correct position and enters the parking space without colliding with an obstacle; and determining the second value based on the reference value, the included angle, and the first position information. The second value is a third optional value for the radius of the third circle.
[0142] When a vehicle is straightened and enters a parking space, the extreme safe position is when the front of the vehicle just avoids colliding with an obstacle. Figure 8 This is a schematic diagram of a vehicle straightening its front end without colliding with an obstacle, provided in an embodiment of this application. In this diagram, 801 represents an obstacle, 802 represents a vehicle, and 803 represents a parking space. At this time, a reference value can be determined based on the second position information according to the following formula (10).
[0143]
[0144] In the above formula (10), m is a reference value, (x r y r ) represents the second position information, L represents the vehicle's wheelbase, and b represents half of the vehicle's track width.
[0145] Since the trajectory with radius of the reference value is tangent to the trajectory with radius of the second value, the second value can be determined according to the following formula (11) based on the reference value, the included angle and the first position information.
[0146]
[0147] In the above formula (11), The second value is (x0, y0), the first position information is (x0, y0), θ is the included angle, and m is the reference value.
[0148] In one possible implementation, after determining the three possible values of the third circle (the vehicle's minimum turning radius, the first value, and the second value) as described above, the maximum value among the first value, the second value, and the vehicle's minimum turning radius is taken as the radius of the third circle. After determining the radius of the third circle, the center (x3, y3) of the third circle is determined according to the radius of the third circle, the first position information, and the included angle, using the formula (8) described above.
[0149] Since the third and fourth circles are externally tangent, the radius of the fourth circle can be determined according to the following formula (12) based on the radius of the third circle, the first position information, and the included angle.
[0150]
[0151] In the above formula (12), R4 is the radius of the fourth circle, (x0, y0) is the first position information, R3 is the radius of the third circle, and θ is the included angle.
[0152] After determining the radius of the fourth circle, since the fourth circle passes through the origin, the center of the fourth circle is determined to be (0, the radius of the fourth circle), that is, the center of the fourth circle is (0, R4).
[0153] After determining the center and radius of the third circle, and the center and radius of the fourth circle, the third circle is generated based on its center and radius, and the fourth circle is generated based on its center and radius. For example... Figure 9 This is a schematic diagram of the third and fourth circles provided in an embodiment of this application. Wherein, 901 is the third circle, and 902 is the fourth circle. The radius of the third circle 901 is R3, and its center is (x3, y3). The radius of the fourth circle 902 is R4, and its center is (0, R4). The external tangent point of the third circle 901 and the fourth circle 902 is point B. 903 is the third arc, and 904 is the fourth arc.
[0154] In step 204, a parking trajectory is determined based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle can drive into the parking space according to the parking trajectory. One endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin.
[0155] In one possible implementation, after generating the first and second arcs in step 202 and the third and fourth arcs in step 203, the first, second, third, and fourth arcs form a reference region, as shown below. Figure 10 This is a schematic diagram of a reference area provided in an embodiment of this application. 1001 represents the reference area. Theoretically, any curve within the reference area that conforms to vehicle kinematics can be used as a parking trajectory. However, considering the curvature and adjustability margin of the curve, there must exist an optimal trajectory within the reference area. This embodiment of the application considers the curvature and adjustability margin of the curve to determine an optimal curve within the reference area, and uses this curve as the parking trajectory. The curvature of the curve refers to the degree of bending of the curve, which is the difference between the radii of the circles containing the two arcs included in the curve. The adjustability margin of the curve refers to the space for adjusting the curve, that is, the margin by which the curve can be adjusted when the vehicle deviates from the curve while parking according to the curve.
[0156] The parking trajectory includes the fifth and sixth circular arcs. The fifth circular arc is a segment of the fifth circle, and the sixth circular arc is a segment of the sixth circle. The fifth and sixth circles are externally tangent to the third point. The process of determining the parking trajectory based on the first, second, third, and fourth arcs includes: determining the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle, where the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; determining the center of the fifth circle based on the radius of the fifth circle; determining the radius of the sixth circle containing the sixth arc based on the radius of the fifth circle, the first position information, and the included angle; determining the center of the sixth circle based on the radius of the sixth circle being between the radii of the second and third circles, using the radius of the sixth circle, the included angle, and the first position information; generating the fifth circle based on the radius and center of the fifth circle, and generating the sixth circle based on the radius and center of the sixth circle; determining the arc between the third point on the fifth circle and the origin as the fifth arc, and determining the arc between the third point on the sixth circle and the position indicated by the first position information as the sixth arc, where the third point is the external tangent point of the fifth and sixth circles.
[0157] The process of determining the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes: determining a third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle; determining a first angle based on the radius of the fourth circle, where the first angle is the turning angle of the front wheels of the vehicle when it travels along a trajectory with a radius equal to the radius of the fourth circle; determining a second angle based on the radius of the first circle, where the second angle is the turning angle of the front wheels of the vehicle when it travels along a trajectory with a radius equal to the radius of the first circle; determining a fourth value based on the first and second angles; and determining the radius of the fifth circle containing the fifth arc based on the third and fourth values.
[0158] Since the difference between the radii of the two arcs included in the parking trajectory is the smallest when the radii of the fifth and sixth circles are the same, the curvature of the parking trajectory is the gentlest. However, the fifth arc should be between the first and fourth arcs, meaning the radius of the fifth circle should be between the radii of the first and fourth circles. Therefore, the process of determining the third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes: determining the fifth value based on the first position information and the included angle; the fifth value is the value when the radii of the fifth and sixth circles are the same; if the fifth value is between the radii of the first and fourth circles, the fifth value is determined as the third value; if the fifth value is greater than the radius of the fourth circle, the radius of the fourth circle is determined as the third value; if the fifth value is less than the radius of the first circle, the radius of the first circle is determined as the third value.
[0159] Optionally, the fifth value is determined according to the first position information and the included angle, using the following formula (13).
[0160]
[0161] In the above formula (13), p is the fifth value, (x0, y0) is the first position information, and θ is the included angle.
[0162] In one possible implementation, the first angle is determined according to the radius of the fourth circle using the following formula (14).
[0163]
[0164] In the above formula (14), β1 is the first angle, R4 is the radius of the fourth circle, and L is the wheelbase of the vehicle.
[0165] The second angle is determined according to the radius of the first circle using the following formula (15).
[0166]
[0167] In the above formula (15), β2 is the second angle, R1 is the radius of the first circle, and L is the wheelbase of the vehicle.
[0168] The fourth value is determined according to the first angle and the second angle, using the following formula (16).
[0169]
[0170] In the above formula (16), q is the fourth value, β1 is the first angle, β2 is the second angle, and L is the wheelbase of the vehicle.
[0171] Optionally, the process of determining the radius of the fifth circle containing the fifth arc based on the third and fourth values includes: determining the radius of the fifth circle containing the fifth arc based on the third value, the fourth value, the first weight, and the second weight. The first and second weights are set based on experience or adjusted according to the implementation environment; this embodiment does not limit this. The sum of the first and second weights is 1; for example, the first weight is 0.6 and the second weight is 0.4.
[0172] Based on the third value, the fourth value, the first weight, and the second weight, the radius of the fifth circle containing the fifth arc is determined according to the following formula (17).
[0173] R5=K1n+K2q (17)
[0174] In the above formula (17), R5 is the radius of the fifth circle where the fifth arc is located, K1 is the first weight, n is the third value, K2 is the second weight, and q is the fourth value.
[0175] After determining the radius of the fifth circle in the above steps, since the fifth circle passes through the origin, the center of the fifth circle, determined by its radius, is (0, radius of the fifth circle), which is (0, R5).
[0176] Since the sixth circle containing the sixth arc is externally tangent to the fifth circle, the radius of the sixth circle containing the sixth arc is determined according to the radius of the fifth circle, the first position information, and the included angle, using the following formula (18).
[0177]
[0178] In the above formula (18), R6 is the radius of the sixth circle, (x0, y0) is the first position information, R5 is the radius of the fifth circle, and θ is the included angle.
[0179] After determining the radius of the sixth circle, since the radius of the sixth circle needs to be between the radii of the second circle and the third circle, the determined parking trajectory must include the sixth arc within the reference area formed by the first, second, third, and fourth arcs. Therefore, it is necessary to determine whether the radius of the sixth circle is between the radii of the second and third circles. If the radius of the sixth circle is between the radii of the second and third circles, the center of the sixth circle is determined according to the radius, included angle, and first position information of the sixth circle, using the following formula (19).
[0180]
[0181] In the above formula (19), (x6, y6) is the center of the sixth circle, R6 is the radius of the sixth circle, θ is the included angle, and (x0, y0) is the first position information.
[0182] After determining the radius and center of the fifth circle, and the radius and center of the sixth circle, the fifth circle is generated based on its radius and center, and the sixth circle is generated based on its radius and center. Since the fifth and sixth circles are tangent at the third point, the arc between the third point on the fifth circle and the origin is defined as the fifth arc, and the arc between the third point on the sixth circle and the position indicated by the first position information is defined as the sixth arc. The parking trajectory is obtained based on the fifth and sixth arcs, with one end of the parking trajectory being the origin and the other end being the position indicated by the first position information. In this way, when the vehicle moves according to the parking trajectory, it can travel from the position indicated by the first position information to the parking space.
[0183] like Figure 11 This is a schematic diagram of a fifth circle and a sixth circle provided in an embodiment of this application. Wherein, 1101 is the fifth circle, and 1102 is the sixth circle. The center of the fifth circle 1101 is (0, R5), and its radius is R5. The center of the sixth circle 1102 is (x6, y6), and its radius is R6. The external tangent point of the fifth circle 1101 and the sixth circle 1102 is point C. 1103 is the fifth arc, and 1104 is the sixth arc.
[0184] In one possible implementation, after generating the first, second, third, and fourth arcs, a reference area can be determined based on these arcs. This reference area is the region from which a vehicle can drive into the parking space using the first location information. The reference area is... Figure 10 The reference area includes multiple selectable tracks, each consisting of two arcs, allowing you to determine the parking trajectory from among these selectable tracks.
[0185] Optionally, the process of determining the parking trajectory among multiple optional trajectories includes: determining the difference between the radii of the circles containing the two arcs included in each optional trajectory; the difference between the radii of the circles containing the two arcs included in any optional trajectory is used to indicate the curvature of that optional trajectory; and selecting the optional trajectory with the smallest difference between the radii of the circles containing the two arcs included in the multiple optional trajectories as the parking trajectory. The parking trajectory determined in this way is smoother, and the process of the vehicle entering the parking space from the position indicated by the first position information is smoother.
[0186] Alternatively, the process of determining the parking trajectory from multiple optional trajectories can also involve: determining the length of each optional trajectory; and then determining the shortest optional trajectory as the parking trajectory. This method determines a shorter parking trajectory, thus saving fuel consumption required for the vehicle to move from the location indicated by the first location information into the parking space.
[0187] Alternatively, the process of determining the parking trajectory among multiple optional trajectories can also be as follows: the optional trajectory located in the middle of the reference area formed by the first, second, third, and fourth arcs can be used as the parking trajectory. This allows for adjustment space when parking according to the parking trajectory, resulting in better parking.
[0188] The aforementioned method, when generating parking trajectories, considers not only the location information of the parking space and the vehicle, but also the location information of obstacles. This allows the generated parking trajectory to avoid obstacles, resulting in a more reasonable trajectory. When the vehicle enters the parking space according to this trajectory, it improves the safety of parking. Moreover, compared to manually controlling the vehicle to drive into the parking space, this method requires less time to park, thereby improving parking efficiency, enhancing the driver's driving experience, and ultimately promoting the development of autonomous driving technology.
[0189] Figure 12 The diagram shown is a structural schematic of a parking trajectory generation device provided in an embodiment of this application. Figure 12 As shown, the device includes:
[0190] The acquisition module 1201 is used to acquire the first position information of the vehicle in the reference coordinate system and the second position information of the obstacle in the reference coordinate system in response to the detection of a parking space and the existence of an obstacle in the reference direction of the parking space. The origin of the reference coordinate system is a point on the central axis along the length direction of the parking space that is a first distance from the tail of the parking space.
[0191] The generation module 1202 is used to generate a first arc and a second arc according to the first position information. One end of the first arc is the origin, one end of the second arc is the position indicated by the first position information, and the other end of the first arc and the other end of the second arc are the first point, which is the external tangent point of the first circle where the first arc is located and the second circle where the second arc is located.
[0192] The generation module 1202 is also used to generate a third arc and a fourth arc according to the first position information and the second position information. One end of the third arc is the position indicated by the first position information, one end of the fourth arc is the origin, and the other end of the third arc and the other end of the fourth arc are the second point, which is the external tangent point of the third circle where the third arc is located and the fourth circle where the fourth arc is located.
[0193] The determining module 1203 is used to determine the parking trajectory based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle can drive into the parking space according to the parking trajectory. One endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin.
[0194] In one possible implementation, the acquisition module 1201 is configured to, in response to detecting a parking space and an obstacle in the reference direction of the parking space, acquire the initial position information of the vehicle, the initial position information of the parking space, and the initial position information of the obstacle; determine the first position information of the vehicle in the reference coordinate system based on the initial position information of the vehicle, the initial position information of the parking space, and the included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; and determine the second position information of the obstacle in the reference coordinate system based on the initial position information of the obstacle, the initial position information of the parking space, and the included angle.
[0195] In one possible implementation, the generation module 1202 is used to determine the minimum turning radius of the vehicle as the radius of a first circle; determine the center of the first circle based on the radius of the first circle; determine the radius of a second circle based on the radius of the first circle, first position information, and an included angle, wherein the included angle is the angle between the centerline along the length direction of the vehicle and the centerline along the length direction of the parking space; determine the center of the second circle based on the radius of the second circle, the first position information, and the included angle; generate the first circle based on the center and radius of the first circle; generate the second circle based on the center and radius of the second circle; determine the arc between a first point on the first circle and the origin as the first arc; and determine the arc between a first point on the second circle and the position indicated by the first position information as the second arc.
[0196] In one possible implementation, the determining module 1203 is also used to determine the minimum turning radius of the vehicle based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels.
[0197] In one possible implementation, the generation module 1202 is used to determine the radius of a third circle based on the first position information, the second position information, the included angle, and the minimum turning radius of the vehicle, wherein the included angle is the angle between the centerline along the length direction of the vehicle and the centerline along the length direction of the parking space; determine the center of the third circle and the radius of the fourth circle based on the radius of the third circle, the first position information, and the included angle; determine the center of the fourth circle based on the radius of the fourth circle; generate the third circle based on the radius and center of the third circle, and generate the fourth circle based on the center and radius of the fourth circle; determine the arc between the second point on the third circle and the position indicated by the first position information as the third arc, and determine the arc between the second point on the fourth circle and the origin as the fourth arc.
[0198] In one possible implementation, the generation module 1202 is used to determine a first value and a second value based on the first position information, the second position information, and the included angle. The first value is the radius of the trajectory of the rear of the vehicle reversing without colliding with an obstacle, and the second value is the radius of the trajectory tangent to the trajectory of the front of the vehicle returning to the parking space without colliding with an obstacle. The maximum value among the first value, the second value, and the minimum turning radius of the vehicle is determined as the radius of the third circle.
[0199] In one possible implementation, the generation module 1202 is used to determine a reference value based on the second position information, wherein the reference value is the radius of the trajectory of the vehicle returning to center and entering the parking space without colliding with an obstacle; and to determine the second value based on the reference value, the included angle, and the first position information.
[0200] In one possible implementation, the parking trajectory includes a fifth arc and a sixth arc;
[0201] The determining module 1203 is used to determine the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle, wherein the included angle is the angle between the centerline along the length direction of the vehicle and the centerline along the length direction of the parking space; determine the center of the fifth circle based on the radius of the fifth circle; determine the radius of the sixth circle containing the sixth arc based on the radius of the fifth circle, the first position information, and the included angle; determine the center of the sixth circle based on the radius of the sixth circle being between the radii of the second circle and the third circle, and based on the radius of the sixth circle, the included angle, and the first position information; generate the fifth circle based on the radius and center of the fifth circle; generate the sixth circle based on the radius and center of the sixth circle; determine the arc between the third point on the fifth circle and the origin as the fifth arc, and determine the arc between the third point on the sixth circle and the position indicated by the first position information as the sixth arc, wherein the third point is the external tangent point of the fifth and sixth circles.
[0202] In one possible implementation, the determining module 1203 is used to determine a third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle; determine a first angle based on the radius of the fourth circle, the first angle being the turning angle of the front wheels of the vehicle when the vehicle passes through a trajectory with a radius equal to the radius of the fourth circle; determine a second angle based on the radius of the first circle, the second angle being the turning angle of the front wheels of the vehicle when the vehicle passes through a trajectory with a radius equal to the radius of the first circle; determine a fourth value based on the first angle and the second angle; and determine the radius of the fifth circle containing the fifth arc based on the third value and the fourth value.
[0203] In one possible implementation, the determining module 1203 is used to determine a fifth value based on the first position information and the included angle. The fifth value is the value when the radius of the fifth circle and the radius of the sixth circle are the same. If the fifth value is between the radius of the first circle and the radius of the fourth circle, the fifth value is determined to be a third value. If the fifth value is greater than the radius of the fourth circle, the radius of the fourth circle is determined to be the third value. If the fifth value is less than the radius of the first circle, the radius of the first circle is determined to be the third value.
[0204] When generating a parking trajectory, the aforementioned device considers not only the location information of the parking space and the vehicle, but also the location information of obstacles. This allows the generated parking trajectory to avoid obstacles, making it more reasonable. When the vehicle enters the parking space according to this trajectory, it improves the safety of parking. Moreover, compared to manually controlling the vehicle to drive into the parking space, the parking time required by this application is less, thereby improving the efficiency of parking, enhancing the driver's driving experience, and ultimately promoting the development of autonomous driving technology.
[0205] It should be understood that the above-described apparatus is only illustrated by the division of the functional modules described above when implementing its functions. In practical applications, the functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0206] Figure 13 This is a schematic diagram of the server structure provided in the embodiments of this application. The server 1300 can vary considerably due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 1301 and one or more memories 1302. The one or more memories 1302 store at least one line of program code, which is loaded and executed by the one or more processors 1301 to implement the parking trajectory generation method provided in the various method embodiments described above. Of course, the server 1300 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server 1300 may also include other components for implementing device functions, which will not be elaborated here.
[0207] Figure 14 This illustration shows a structural block diagram of a terminal device 1400 provided in an exemplary embodiment of this application. The terminal device 1400 can be any electronic device product capable of human-computer interaction with a user through one or more methods such as a keyboard, touchpad, remote control, voice interaction, or handwriting device. Examples include PCs (Personal Computers), mobile phones, smartphones, PDAs (Personal Digital Assistants), wearable devices, PPCs (Pocket PCs), tablet computers, smart car systems, smart TVs, smart speakers, and smartwatches.
[0208] Typically, terminal device 1400 includes a processor 1401 and a memory 1402.
[0209] Processor 1401 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1401 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1401 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1401 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the screen. In some embodiments, processor 1401 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0210] The memory 1402 may include one or more computer-readable storage media, which may be non-transitory. The memory 1402 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1402 is used to store at least one instruction, which is executed by the processor 1401 to implement the parking trajectory generation method provided in the method embodiments of this application.
[0211] In some embodiments, the terminal device 1400 may also optionally include a peripheral device interface 1403 and at least one peripheral device. The processor 1401, memory 1402, and peripheral device interface 1403 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1403 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1404, a display screen 1405, a camera assembly 1406, an audio circuit 1407, and a power supply 1408.
[0212] Peripheral device interface 1403 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1401 and memory 1402. In some embodiments, processor 1401, memory 1402 and peripheral device interface 1403 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1401, memory 1402 and peripheral device interface 1403 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0213] The radio frequency (RF) circuit 1404 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1404 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1404 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1404 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 1404 can communicate with other terminal devices through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1404 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0214] Display screen 1405 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 1405 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 1401 for processing. In this case, display screen 1405 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 1405, disposed on the front panel of terminal device 1400; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal device 1400 or in a folded design; in still other embodiments, display screen 1405 may be a flexible display screen, disposed on a curved or folded surface of terminal device 1400. Furthermore, display screen 1405 may also be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The display screen 1405 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0215] The camera assembly 1406 is used to acquire images or videos. Optionally, the camera assembly 1406 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal device 1400, and the rear-facing camera is located on the back of the terminal device 1400. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 1406 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0216] The audio circuit 1407 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 1401 for processing, or input to the radio frequency circuit 1404 to achieve voice communication. For stereo sound acquisition or noise reduction purposes, there may be multiple microphones, each located at a different part of the terminal device 1400. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 1401 or the radio frequency circuit 1404 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 1407 may also include a headphone jack.
[0217] Power supply 1408 is used to power the various components in terminal device 1400. Power supply 1408 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 1408 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0218] In some embodiments, the terminal device 1400 further includes one or more sensors 1409. The one or more sensors 1409 include, but are not limited to: an accelerometer 1410, a gyroscope 1411, a pressure sensor 1412, an optical sensor 1413, and a proximity sensor 1414.
[0219] Accelerometer 1410 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established by terminal device 1400. For example, accelerometer 1410 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 1401 can control display screen 1405 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 1410. Accelerometer 1410 can also be used for games or for acquiring user motion data.
[0220] The gyroscope sensor 1411 can detect the orientation and rotation angle of the terminal device 1400. The gyroscope sensor 1411 can work in conjunction with the accelerometer sensor 1410 to acquire the user's 3D movements on the terminal device 1400. Based on the data acquired by the gyroscope sensor 1411, the processor 1401 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0221] The pressure sensor 1412 can be disposed on the side bezel of the terminal device 1400 and / or on the lower layer of the display screen 1405. When the pressure sensor 1412 is disposed on the side bezel of the terminal device 1400, it can detect the user's grip signal on the terminal device 1400, and the processor 1401 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1412. When the pressure sensor 1412 is disposed on the lower layer of the display screen 1405, the processor 1401 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 1405. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0222] Optical sensor 1413 is used to collect ambient light intensity. In one embodiment, processor 1401 can control the display brightness of display screen 1405 based on the ambient light intensity collected by optical sensor 1413. Specifically, when the ambient light intensity is high, the display brightness of display screen 1405 is increased; when the ambient light intensity is low, the display brightness of display screen 1405 is decreased. In another embodiment, processor 1401 can also dynamically adjust the shooting parameters of camera assembly 1406 based on the ambient light intensity collected by optical sensor 1413.
[0223] The proximity sensor 1414, also known as a distance sensor, is typically located on the front panel of the terminal device 1400. The proximity sensor 1414 is used to detect the distance between the user and the front of the terminal device 1400. In one embodiment, when the proximity sensor 1414 detects that the distance between the user and the front of the terminal device 1400 is gradually decreasing, the processor 1401 controls the display screen 1405 to switch from a screen-on state to a screen-off state; when the proximity sensor 1414 detects that the distance between the user and the front of the terminal device 1400 is gradually increasing, the processor 1401 controls the display screen 1405 to switch from a screen-off state to a screen-on state.
[0224] Those skilled in the art will understand that Figure 14 The structure shown does not constitute a limitation on the terminal device 1400, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0225] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one piece of program code that is loaded and executed by a processor to enable a computer to implement any of the above-described methods for generating parking trajectories.
[0226] Optionally, the aforementioned computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.
[0227] In an exemplary embodiment, a computer program or computer program product is also provided, which stores at least one computer instruction, which is loaded and executed by a processor to enable the computer to implement any of the above-described methods for generating parking trajectories.
[0228] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the location information involved in this application was obtained with full authorization.
[0229] It should be understood that "multiple" as used in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0230] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A method for generating a parking trajectory, characterized in that, The method includes: In response to detecting a parking space and an obstacle in the reference direction of the parking space, the system acquires first position information of the vehicle in a reference coordinate system and second position information of the obstacle in the reference coordinate system, wherein the origin of the reference coordinate system is a point on the central axis along the length direction of the parking space that is a first distance from the tail of the parking space. Based on the first position information, a first arc and a second arc are generated. One endpoint of the first arc is the origin, and one endpoint of the second arc is the position indicated by the first position information. The other endpoints of the first arc and the second arc are a first point, which is the external tangent point of the first circle containing the first arc and the second circle containing the second arc. Based on the first position information and the second position information, a third arc and a fourth arc are generated. One endpoint of the third arc is the position indicated by the first position information, and one endpoint of the fourth arc is the origin. The other endpoints of the third arc and the fourth arc are a second point, which is the external tangent point of the third circle and the fourth circle. A parking trajectory is determined based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle drives into the parking space according to the parking trajectory. One endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin. The method further includes: Based on the first position information, the second position information, and the included angle, a first value and a second value are determined. The first value is the radius of the trajectory of the rear of the vehicle reversing without colliding with the obstacle. The second value is the radius of the trajectory tangent to the trajectory of the front of the vehicle returning to the parking space without colliding with the obstacle. The included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space. The maximum value among the first value, the second value, and the minimum turning radius of the vehicle is determined as the radius of the third circle.
2. The method according to claim 1, characterized in that, The step of responding to the detection of a parking space and the presence of an obstacle in the reference direction of the parking space, and acquiring first position information of the vehicle in the reference coordinate system and second position information of the obstacle in the reference coordinate system, includes: In response to the detection of a parking space and the presence of an obstacle in the reference direction of the parking space, the initial position information of the vehicle, the initial position information of the parking space, and the initial position information of the obstacle are obtained. Based on the initial position information of the vehicle, the initial position information of the parking space, and the included angle, the first position information of the vehicle in the reference coordinate system is determined, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space. Based on the initial position information of the obstacle, the initial position information of the parking space, and the included angle, the second position information of the obstacle in the reference coordinate system is determined.
3. The method according to claim 1, characterized in that, The step of generating the first arc and the second arc based on the first position information includes: The minimum turning radius of the vehicle is determined to be the radius of the first circle; Determine the center of the first circle based on its radius; The radius of the second circle is determined based on the radius of the first circle, the first position information, and the included angle, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; The center of the second circle is determined based on the radius of the second circle, the first position information, and the included angle. The first circle is generated based on its center and radius, and the second circle is generated based on its center and radius. The arc between the first point on the first circle and the origin is defined as the first arc, and the arc between the first point on the second circle and the position indicated by the first position information is defined as the second arc.
4. The method according to claim 3, characterized in that Before determining the minimum turning radius of the vehicle as the radius of the first circle, the method further includes: The minimum turning radius of the vehicle is determined based on the vehicle's wheelbase and the maximum steering angle of the vehicle's front wheels.
5. The method according to claim 1, characterized in that, The step of generating the third and fourth arcs based on the first and second position information includes: The center of the third circle and the radius of the fourth circle are determined based on the radius of the third circle, the first position information, and the included angle. Determine the center of the fourth circle based on its radius; The third circle is generated based on its radius and center, and the fourth circle is generated based on its center and radius. The arc between the second point on the third circle and the position indicated by the first position information is defined as the third arc, and the arc between the second point on the fourth circle and the origin is defined as the fourth arc.
6. The method according to claim 1, characterized in that, Based on the first position information, the second position information, and the included angle, the second value is determined, including: Based on the second position information, a reference value is determined, which is the radius of the trajectory of the vehicle returning to the parking space without colliding with the obstacle. The second value is determined based on the reference value, the included angle, and the first position information.
7. The method according to any one of claims 1 to 6, characterized in that, The parking trajectory includes the fifth and sixth circular arcs; Determining the parking trajectory based on the first arc, the second arc, the third arc, and the fourth arc includes: Based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle, the radius of the fifth circle containing the fifth arc is determined, wherein the included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space; Determine the center of the fifth circle based on its radius; The radius of the sixth circle containing the sixth arc is determined based on the radius of the fifth circle, the first position information, and the included angle. Based on the fact that the radius of the sixth circle is located between the radius of the second circle and the radius of the third circle, the center of the sixth circle is determined according to the radius of the sixth circle, the included angle, and the first position information; The fifth circle is generated based on its radius and center; the sixth circle is generated based on its radius and center. The arc between the third point on the fifth circle and the origin is defined as the fifth arc, and the arc between the third point on the sixth circle and the position indicated by the first position information is defined as the sixth arc, wherein the third point is the external tangent point of the fifth circle and the sixth circle.
8. The method according to claim 7, characterized in that, Determining the radius of the fifth circle containing the fifth arc based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes: The third value is determined based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle. Based on the radius of the fourth circle, a first angle is determined, which is the turning angle of the front wheels of the vehicle when the vehicle passes through a trajectory with a radius equal to the radius of the fourth circle. Based on the radius of the first circle, a second angle is determined, which is the turning angle of the front wheels of the vehicle when the vehicle travels along a trajectory with a radius equal to the radius of the first circle. Based on the first angle and the second angle, determine the fourth value; Based on the third and fourth values, determine the radius of the fifth circle containing the fifth arc.
9. The method according to claim 8, characterized in that, Determining the third value based on the first position information, the radius of the first circle, the radius of the fourth circle, and the included angle includes: Based on the first position information and the included angle, a fifth value is determined, which is the value when the radius of the fifth circle and the radius of the sixth circle are the same; If the fifth value is located between the radius of the first circle and the radius of the fourth circle, then the fifth value is determined to be the third value. If the fifth value is greater than the radius of the fourth circle, the radius of the fourth circle is determined to be the third value. If the fifth value is less than the radius of the first circle, the radius of the first circle is determined to be the third value.
10. A parking trajectory generation device, characterized in that, The device includes: The acquisition module is used to acquire, in response to the detection of a parking space and the presence of an obstacle in the reference direction of the parking space, a first position information of the vehicle in a reference coordinate system and a second position information of the obstacle in the reference coordinate system, wherein the origin of the reference coordinate system is a point on the central axis along the length direction of the parking space that is a first distance from the tail of the parking space. The generation module is used to generate a first arc and a second arc based on the first position information. One endpoint of the first arc is the origin, one endpoint of the second arc is the position indicated by the first position information, and the other endpoints of the first arc and the second arc are a first point, which is the external tangent point of the first circle where the first arc is located and the second circle where the second arc is located. The generation module is further configured to generate a third arc and a fourth arc based on the first position information and the second position information, wherein one endpoint of the third arc is the position indicated by the first position information, one endpoint of the fourth arc is the origin, and the other endpoints of the third arc and the fourth arc are a second point, which is the external tangent point of the third circle and the fourth circle in which the third arc is located; The determining module is used to determine a parking trajectory based on the first arc, the second arc, the third arc, and the fourth arc, so that the vehicle drives into the parking space according to the parking trajectory, wherein one endpoint of the parking trajectory is the position indicated by the first position information, and the other endpoint is the origin; The determining module is further configured to determine a first value and a second value based on the first position information, the second position information, and the included angle. The first value is the radius of the trajectory of the vehicle reversing without colliding with the obstacle, and the second value is the radius of the trajectory tangent to the trajectory of the vehicle returning to the parking space without colliding with the obstacle. The included angle is the angle between the central axis along the length direction of the vehicle and the central axis along the length direction of the parking space. The maximum value among the first value, the second value, and the minimum turning radius of the vehicle is determined as the radius of the third circle.
11. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to enable the computer device to implement the parking trajectory generation method as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to enable the computer to implement the parking trajectory generation method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that, The computer program product stores at least one computer instruction, which is loaded and executed by a processor to enable the computer to implement the parking trajectory generation method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Automatic parking path planning method and system and computer readable storage medium
CN109866761A
Automatic parking starting area determination method based on collision condition analysis
CN110775053A