Parking method, electronic equipment, vehicle and storage medium

By assigning different drive torques and depth-first search strategies to multiple wheels of the vehicle, efficient parking in narrow and irregular parking spaces is achieved, solving the problem of low efficiency in traditional parking methods and improving parking efficiency and user experience.

CN121777896APending Publication Date: 2026-04-03BYD CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510219178.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

In cities where parking spaces are small and irregular, traditional parking methods require multiple forward, backward, and directional adjustments, resulting in low parking efficiency and failing to meet users' parking needs.

Method used

By assigning different drive torques to multiple wheels of the vehicle, a parking method with at least two rotational trajectories is achieved. The target node and parking trajectory are determined using a depth-first search strategy. The vehicle flexibly adapts to the parking space through multiple rotation operations, achieving a parking method similar to lateral movement.

Benefits of technology

It improves parking efficiency, reduces the number of times and time spent moving the car during the parking process, and enhances the user's parking experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121777896A_ABST
    Figure CN121777896A_ABST
Patent Text Reader

Abstract

The invention discloses a parking method, electronic equipment, a vehicle and a storage medium, relates to the technical field of vehicle control, and is used for improving the parking efficiency of a user and further improving the parking experience of the user. The method comprises the following steps: in response to a parking instruction, driving a vehicle to drive into or out of a parking space according to a parking track; wherein the parking track comprises at least two sections of rotating tracks, and the rotating tracks are achieved by distributing different driving torques to a plurality of wheels of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of vehicle technology, and more particularly to a parking method, electronic equipment, vehicle, and storage medium. Background Technology

[0002] With increasingly scarce land resources, the layout and design of parking lots are crucial for the efficient use of urban space. To create more and denser parking lots in cities, the size of parking spaces can be reduced, thereby optimizing urban spatial layout and improving the overall aesthetics and livability of the city. Furthermore, reducing the size of parking spaces can maximize the satisfaction of people's parking needs and alleviate urban parking pressure.

[0003] However, reducing parking space means increasing the difficulty of parking, which means that it may be necessary to move forward and backward multiple times to successfully park, thus affecting parking efficiency. Summary of the Invention

[0004] This application provides a parking method, electronic device, vehicle, and storage medium for improving parking efficiency and thereby enhancing the user's parking experience.

[0005] To achieve the above objectives, this application adopts the following technical solution:

[0006] In a first aspect, embodiments of this application provide a parking method, including: in response to a parking instruction, driving a vehicle into or out of a parking space according to a parking trajectory; wherein the parking trajectory includes at least two rotational trajectories, the rotational trajectories being achieved by distributing different driving torques to multiple wheels of the vehicle.

[0007] The parking method provided in this application, upon receiving a parking instruction, drives the vehicle into or out of a parking space according to a parking trajectory. This parking trajectory includes at least two rotational segments, achieved by distributing different driving torques to multiple wheels of the vehicle. In other words, the vehicle enters or exits the parking space in a manner similar to lateral movement by distributing different driving torques to multiple wheels and performing multiple rotational operations. This allows the vehicle to adapt more flexibly to parking space space, especially when the parking space is of limited size or irregular shape. By continuously adjusting the rotation angle and trajectory, the vehicle can more closely conform to the parking space boundaries, thereby maximizing space utilization.

[0008] Understandably, traditional straight-line parking methods may require multiple forward, backward, and directional adjustments to accurately park in a space. However, by distributing different drive torques to the vehicle's multiple wheels, the vehicle can complete parking by lateral movement with only a few rotations, reducing the number of movements and time required during parking, thereby improving parking efficiency and enhancing the user's parking experience.

[0009] In some embodiments, the starting position of each of the at least two rotational trajectories is the ending position of the previous rotational trajectories.

[0010] In some embodiments, the parking trajectory is determined as follows: a target node that meets the parking termination condition is searched based on a depth-first search strategy, and the path from the starting node to the target node is determined during the search process. The path includes the starting node, the target node, and intermediate nodes. Nodes are used to represent the position and attitude of the vehicle. The parking trajectory is constructed based on the rotation trajectory between two adjacent nodes in the path.

[0011] In some embodiments, determining the path from the starting node to the target node during the search process includes: starting from the target node, tracing back through the parent nodes in the search process until tracing back to the starting node to obtain the path from the starting node to the target node.

[0012] In some embodiments, the parking termination condition includes: the vehicle range determined based on the target node is within a preset parking termination range.

[0013] In some embodiments, the parking termination condition further includes: the vehicle orientation angle corresponding to the target node is less than a preset threshold, where the vehicle orientation angle is the angle between the vehicle and the parking boundary of the parking space.

[0014] In some embodiments, when the parking instruction is used to instruct a vehicle to park in a parking space, the preset parking termination range is determined based on the range of the parking space; or, when the parking instruction is used to instruct a vehicle to park out of a parking space, the preset parking termination range is determined based on a designated parking position outside the parking space.

[0015] In some embodiments, when the parking instruction is used to instruct a vehicle to park out of a parking space, the preset parking termination range is determined as follows: an initial vehicle range is determined based on the vehicle's size information and the calibrated parking position; the initial vehicle range is then subjected to a preset expansion process to obtain the preset parking termination range.

[0016] In some embodiments, the target node is determined as follows: the node with the lowest cost is selected from the set of nodes to be processed as the current node; if the current node meets the parking termination condition, the current node is selected as the target node; if the current node does not meet the parking termination condition, the neighboring nodes of the current node are determined and added to the set of nodes to be processed, and the current node is moved from the set of nodes to be processed to the set of processed nodes; the above steps are repeated until a target node that meets the parking termination condition is found.

[0017] In some embodiments, the cost of a node is determined based on the rotation angle between the node and the starting node and / or the distance from the node to the calibrated parking position.

[0018] In some embodiments, the cost of a node is negatively correlated with the rotation angle between the node and the starting node, and / or the cost of a node is positively correlated with the distance from the node to the calibrated parking position.

[0019] In some embodiments, the set of nodes to be processed only includes the starting node during the initialization of the depth-first search, and the set of processed nodes is an empty set during the initialization of the depth-first search.

[0020] In some embodiments, determining the neighboring nodes of the current node includes: rotating the vehicle at the current node according to the candidate rotation strategy and the candidate rotation angle, and determining the neighboring nodes of the current node based on the position and attitude of the vehicle after rotation.

[0021] In some embodiments, the method further includes: determining the relative positional relationship between the current node and the calibrated parking position; and determining a candidate rotation strategy applicable to the current node based on the relative positional relationship between the current node and the calibrated parking position.

[0022] In some embodiments, when the calibrated parking position is to the left of the current node, the candidate rotation strategies include: rotating clockwise around the left front wheel, rotating clockwise around the right front wheel, rotating counterclockwise around the left rear wheel, or rotating counterclockwise around the right rear wheel; or, when the calibrated parking position is to the right of the current node, the candidate rotation strategies include: rotating counterclockwise around the left front wheel, rotating counterclockwise around the right front wheel, rotating clockwise around the left rear wheel, or rotating clockwise around the right rear wheel.

[0023] In some embodiments, determining the relative positional relationship between the current node and the calibrated parking position includes: determining a first direction vector corresponding to the current node and a second direction vector from the position represented by the current node to the calibrated parking position; and determining the relative positional relationship between the current node and the calibrated parking position based on the first direction vector and the second direction vector.

[0024] In some embodiments, determining the relative positional relationship between the current node and the calibrated parking position based on the first direction vector and the second direction vector includes: performing a cross product operation on the first direction vector and the second direction vector to obtain the operation result; if the operation result is greater than 0, determining that the calibrated parking position is located to the left of the current node; or, if the operation result is less than 0, determining that the calibrated parking position is located to the right of the current node.

[0025] In some embodiments, adding neighboring nodes to the set of nodes to be processed includes adding neighboring nodes that do not exist in the set of processed nodes to the set of nodes to be processed.

[0026] In some embodiments, adding neighboring nodes that do not exist in the set of processed nodes to the set of nodes to be processed includes: adding neighboring nodes that do not exist in the set of processed nodes but satisfy security constraints to the set of nodes to be processed.

[0027] In some embodiments, the parent node of a neighboring node added to the set of nodes to be processed is the current node.

[0028] In some embodiments, when a parking instruction is used to instruct a vehicle to park in a parking space, the parking position is determined based on the center point of the parking space.

[0029] In some embodiments, when a parking instruction is used to instruct a vehicle to leave a parking space, the parking position is determined based on the size information of the parking space and the center point of the parking space.

[0030] Secondly, embodiments of this application provide an electronic device, including a processor and a memory, wherein the processor is connected to the memory, and the memory stores computer instructions. When the computer instructions are executed on the electronic device, the electronic device performs the method provided in the first aspect and its possible implementations described above.

[0031] Thirdly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions that, when executed on a computer, cause the computer to perform the method provided by the first aspect and its possible implementations.

[0032] Fourthly, embodiments of this application provide a vehicle including the electronic device provided in the second aspect, or the computer-readable storage medium provided in the third aspect.

[0033] Fifthly, embodiments of this application provide a computer program product, which includes instructions. When the instructions are executed on a computer, the computer performs the method provided by the first aspect and its possible implementations.

[0034] The technical effects of any of the implementation methods in the second to fifth aspects mentioned above can be found in the technical effects of the corresponding implementation methods in the first aspect, and will not be repeated here. Attached Figure Description

[0035] Figure 1 A schematic diagram of a vehicle architecture provided for an embodiment of this application;

[0036] Figure 2 A flowchart illustrating a parking method provided in this application embodiment;

[0037] Figure 3A schematic diagram of a parking space provided for an embodiment of this application;

[0038] Figure 4 A schematic diagram of a parking space provided for an embodiment of this application;

[0039] Figure 5 A schematic diagram of a process for determining a target node is provided for an embodiment of this application;

[0040] Figure 6 A schematic diagram illustrating another process for determining a target node provided in an embodiment of this application;

[0041] Figure 7 A schematic diagram illustrating a candidate rotation strategy provided in an embodiment of this application;

[0042] Figure 8 A schematic diagram of a parking space coordinate system provided in an embodiment of this application;

[0043] Figure 9 A schematic diagram illustrating the determination of a calibrated parking position, provided as an embodiment of this application;

[0044] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0045] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings.

[0046] In the description of this invention, it should be understood that the terms "center", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.

[0047] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, unless otherwise stated, "a plurality of" means two or more.

[0048] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances. Furthermore, when describing pipelines or channels, the terms "connection" and "linking" used in this application have the meaning of establishing electrical conductivity. The specific meaning needs to be understood in conjunction with the context.

[0049] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0050] With rapid urban development, traffic congestion is increasing, while parking resources are struggling to keep up with demand. This leads to problems such as insufficient parking spaces and cramped spaces, exacerbating parking difficulties. Furthermore, in the early stages of urban planning, many areas lacked reasonable and standardized parking management, and the number and location of parking spaces were not properly allocated. This has resulted in parking spaces failing to meet actual needs in subsequent development.

[0051] Especially in older residential areas or commercial districts, parking facilities are aging and unable to meet the ever-increasing parking demand. Parking spaces in these areas are often small and poorly laid out, increasing the difficulty of parking. Generally, a standard parking space is 3x6 meters. However, in actual construction, due to space constraints or cost considerations, some developers use smaller parking space sizes, such as 2.5x6 meters or smaller. This makes it difficult for some large vehicles (such as full-size SUVs) to park in these spaces.

[0052] Furthermore, vehicle sizes vary between different brands and models. Some compact or small cars may be able to park easily in smaller parking spaces, while larger vehicles, due to their size, may face difficulties when parking.

[0053] This makes it difficult for drivers to park accurately, requiring multiple attempts and failures, increasing the difficulty and time cost of parking.

[0054] Based on this, this application provides a parking method in which, upon receiving a parking instruction, the vehicle is driven to enter or exit a parking space according to a parking trajectory. The parking trajectory includes at least two rotational trajectories, achieved by distributing different driving torques to multiple wheels of the vehicle. In other words, the vehicle enters or exits the parking space in a manner similar to lateral movement (crab walking) by distributing different driving torques to multiple wheels and performing multiple rotational operations. This allows the vehicle to adapt more flexibly to parking space space, especially when the parking space is of limited size or irregular shape. By continuously adjusting the rotation angle and trajectory, the vehicle can more closely conform to the parking space boundaries, thereby maximizing space utilization.

[0055] Understandably, traditional straight-line parking methods may require multiple forward, backward, and directional adjustments to accurately park in a space. In contrast, multiple rotations allow the vehicle to complete parking with only a few turns, reducing the number of movements and time required, thus improving parking efficiency and enhancing the user's parking experience.

[0056] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0057] Please see Figure 1 , Figure 1 This is a schematic diagram of the architecture of a vehicle provided in an embodiment of this application. Figure 3 As shown, the vehicle 100 includes a parking control device 101 and multiple wheels. The multiple wheels are distributed on both sides along the vehicle's direction of travel, i.e., left and right wheels. Figure 1 The front left wheel 1021, front right wheel 1022, rear left wheel 1023, and rear right wheel 1024 are shown.

[0058] In this embodiment of the application, upon receiving a parking instruction, the vehicle enters or exits the parking space according to the parking trajectory; wherein, the parking trajectory includes at least two rotational trajectories, which are achieved by distributing different drive torques to multiple wheels of the vehicle.

[0059] Understandably, during vehicle operation, distributing different driving torques to different wheels can affect the vehicle's direction of travel and rotation trajectory. For example, by increasing the torque on the right wheel, a traction force can be generated to the right, while the torque on the left wheel is relatively small or even negative (i.e., braking), thus generating a steering torque to the left, causing the vehicle to rotate to the left.

[0060] It should be noted that each segment of the rotation trajectory in the parking trajectory can be regarded as generated by the vehicle performing rotational motion around a certain center point. This center point can be any wheel of the vehicle, or it can be the center of mass of the vehicle or the preset center point of the vehicle. This application embodiment does not limit this.

[0061] In some embodiments, the vehicle 100 provided in this application is equipped with multiple drive motors, and the vehicle drives the front and rear wheels to move through the multiple drive motors respectively to achieve crab-like movement.

[0062] For example, the vehicle 100 provided in this application can be a distributed three-motor vehicle or a four-wheel independently driven vehicle, and the embodiments of this application do not limit this. Among them, a distributed three-motor vehicle refers to an electric vehicle that uses three motors to drive the three wheels of the vehicle (usually two rear wheels and one front wheel or two front wheels and one rear wheel). Such a vehicle can achieve precise tire adhesion force distribution by individually adjusting the magnitude and direction of the driving torque corresponding to each wheel through the motor, thereby realizing the rotational movement of the vehicle.

[0063] Four-wheel independent drive vehicles are electric vehicles where each wheel is equipped with an independent motor or drive unit. These vehicles use precise control to distribute torque in all directions, enabling them to enter or exit parking spaces.

[0064] The parking control device 101 is a module with data processing and control capabilities, used to process relevant data of the vehicle 100 and control the vehicle 100 to perform relevant functions. As one possible implementation, the parking control device 101 can be a physical device, such as including one or more of the following modules: central processing unit (CPU), microprocessor unit (MPU), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), and / or electronic control unit (ECU). As another possible implementation, the parking control device 101 can be a software module, such as a virtual machine, software, program code, or container.

[0065] It should be understood that Figure 1 The vehicle shown is not a limitation. In actual application, the vehicle may include more or fewer components. For example, the vehicle may also include: parking buttons, steering wheel, power steering system, etc. This application embodiment does not limit this.

[0066] The parking method provided in this application embodiment can be applied to Figure 1 The parking control device 101 shown. Please refer to [link / reference]. Figure 2 The parking method provided in this application includes S201:

[0067] S201. In response to a parking instruction, drive the vehicle into or out of the parking space according to the parking trajectory.

[0068] The parking trajectory includes at least two rotational trajectories, which are achieved by distributing different drive torques to multiple wheels of the vehicle.

[0069] It should be understood that the embodiments of this application do not limit the triggering conditions for parking commands. Users can trigger parking commands through one of the following methods, including but not limited to: mobile APP application, remote key / card, physical switch, vehicle central control screen, face / voice recognition, etc. Among them, physical switches can be mechanical buttons, handles, etc., and the embodiments of this application do not limit them.

[0070] It is understood that a parking instruction can be to park in a parking space from the current location or to park out of a parking space. When determining the parking trajectory, it is necessary to determine the parking trajectory based on the vehicle movement state indicated in the parking instruction. This application embodiment does not limit the specific content of the parking instruction. For ease of description, this application embodiment uses the parking instruction of parking out of a parking space as an example for illustration.

[0071] This application embodiment achieves vehicle rotation by distributing different drive torques to multiple wheels of the vehicle, thereby influencing the vehicle's driving direction and rotation trajectory. When controlling the vehicle to perform rotation, the required torque for each wheel can be calculated based on factors such as the vehicle's steering angle, speed, expected rotation trajectory, and wheel adhesion conditions. These torque values ​​are transmitted to the corresponding wheels through the vehicle's drive system to generate the required rotational torque.

[0072] Understandably, by performing multiple small rotations, a vehicle can gradually accumulate the distance of lateral movement. That is, each rotation will slightly change the direction of the vehicle, but overall it moves along a predetermined lateral path to achieve lateral movement to park in or out of a parking space.

[0073] In other words, in this embodiment, the vehicle achieves "crab-like" parking through a series of continuous micro-rotational movements, which is different from crab-like parking in related technologies. Therefore, in some embodiments, the parking method provided by this embodiment can be called "crab-like parking".

[0074] It should be understood that crab parking technology refers to the use of a special wheel steering mechanism to enable a vehicle to move laterally like a crab. This technology typically involves the front wheels remaining in a straight line while the rear wheels steer freely, or using four-wheel independent steering to allow the front and rear wheels to turn in the same direction, thereby achieving lateral movement of the vehicle.

[0075] It should be noted that in the embodiments of this application, the vehicle enters or exits the parking space laterally through multiple rotating trajectories, that is, the parking space mentioned is a lateral parking space (or parallel parking space).

[0076] This application does not impose specific limitations on the content of the parking trajectory. As one implementation, in addition to including at least two rotational trajectories, the parking trajectory may also include a straight-line trajectory. It should be understood that a straight-line trajectory is typically used for the forward or backward movement of a vehicle to move it to a suitable position. For example, during the parking process, the vehicle may first need to travel along a straight-line trajectory to the vicinity of the parking space, and then perform multiple rotation and adjustment operations.

[0077] As another implementation method, in at least two rotational trajectories of the parking trajectory, the starting position of each rotational trajectory is the ending position of the previous rotational trajectory. That is, the vehicle enters / exits the parking space only through multiple rotational operations.

[0078] After receiving a parking instruction, the vehicle's parking trajectory needs to be determined. Since the starting position of the entire parking process is the vehicle's current position, while the ending position cannot be predetermined, there are many uncertainties in determining the parking trajectory.

[0079] As one feasible approach, vehicles can explore possible parking paths by continuously moving and observing their surroundings. This typically involves an exploratory method where the vehicle tries different driving directions and adjusts its trajectory based on sensor feedback.

[0080] However, when parking space is limited, this trial-and-error method may require multiple attempts to successfully park the vehicle, and parking efficiency cannot be guaranteed.

[0081] Therefore, as another feasible approach, a depth-first search strategy can be used to first find target nodes that meet the parking termination criteria and determine the path from the starting node to the target node during the search process. Then, based on the rotational trajectories between adjacent nodes on the path from the target node to the starting node, a parking trajectory can be constructed. Nodes represent the vehicle's position and attitude. The path includes the starting node, the target node, and intermediate nodes.

[0082] It should be noted that in the kinematic model of a vehicle, the rear axle center is often considered an approximation of the vehicle's "center of mass" or "geometric center" (although the actual center of mass may vary depending on vehicle design and load distribution). Using this point as a reference simplifies the vehicle's kinematic equations, making control and navigation algorithms more intuitive and easier to implement. Therefore, for ease of description in this embodiment, the vehicle position represented by the mentioned node is the position corresponding to the rear axle center. However, this description is not limiting; the node position can also be the vehicle's center of mass or physical center, etc.

[0083] It should be understood that Depth-First Search (DFS) is a strategy for traversing or searching a tree or graph. Its core idea is to search as deep as possible along each branch of the graph until a leaf node is reached or a certain termination condition is met, then backtrack to the previous node and continue searching other unexplored branches until the target node is found.

[0084] After obtaining the target node, it is necessary to backtrack using a depth-first search strategy to find the path from the target node to the starting node. One approach is to start from the target node and backtrack through its parent nodes until the starting node is reached, thus obtaining the path from the starting node to the target node. In other words, starting from the target node, sequentially determine the parent node (i.e., the previous node) of the current node until backtracking to the starting node to obtain the path from the target node to the starting node.

[0085] After obtaining the path from the target node to the starting node, a parking trajectory needs to be constructed based on the motion trajectories between adjacent nodes along that path. This typically requires determining the rotation strategy and angle needed for the vehicle to adjust from its current posture to the next, based on the relative position and attitude changes between the two nodes, thus obtaining the motion trajectories between adjacent nodes. Finally, the trajectories between all adjacent nodes are connected sequentially to obtain the vehicle's parking trajectory.

[0086] After obtaining the parking trajectory of the vehicle, the control commands (such as steering angle, acceleration, and braking force) calculated by the parking control device can be sent to the vehicle's actuators (such as the steering motor, accelerator pedal, and brake pedal) so that the vehicle can move according to the parking trajectory to enter / exit the parking space.

[0087] As can be seen, the parking method provided in this application involves the vehicle rotating by distributing different driving torques to multiple wheels, thereby entering or exiting the parking space through multiple rotations. This allows the vehicle to adapt more flexibly to parking space space, especially when the parking space is of limited size or irregular shape. By continuously adjusting the rotation angle and trajectory through multiple rotation operations, the vehicle can more closely fit the parking space boundary, thereby maximizing space utilization.

[0088] For example, please refer to Figure 3 and Figure 4 The parking method provided in this application embodiment allows the vehicle to first rotate around one of its wheels to reach an intermediate position b, and then rotate around the other wheel to reach a final position c. Figure 3 and Figure 4 As can be seen, the parking method provided in this application uses a multi-segment rotational trajectory for movement, allowing the vehicle to exit the parking space with fewer adjustments and occupying less space. This reduces the number of movements and time required during parking, thereby improving parking efficiency and enhancing the user's parking experience.

[0089] In some embodiments, in the parking problem, Depth-First Search (DFS) can be used to search for a target node that meets the parking termination criteria (i.e., find the vehicle position and orientation that satisfy the parking requirements). For example, starting from the starting node (initial position and orientation), check if the current node is the target node (i.e., meets the parking termination criteria). If not, based on the current node's position and orientation, generate all possible next neighboring nodes (i.e., the next position and orientation the vehicle might move to). Then, select a neighboring node as the current node in some order (e.g., lexicographical, random, etc.) and repeat the above steps until a target node that meets the parking termination criteria is determined.

[0090] As one implementation method, the parking termination condition includes: the vehicle range determined by the target node is within a preset parking termination range. That is, a preset parking termination range needs to be determined in advance. If the vehicle range corresponding to a node determined during the DFS search process is within the preset parking termination range, then that node is considered the target node.

[0091] Specifically, when the parking instruction is used to instruct a vehicle to park in a parking space, the preset parking termination range is determined based on the range of the parking space; or, when the parking instruction is used to instruct a vehicle to park out of a parking space, the preset parking termination range is determined based on the designated parking position outside the parking space.

[0092] It should be understood that the method for determining the preset parking termination range can be found in the following embodiments, and will not be repeated here.

[0093] As another implementation method, the parking termination condition also includes: the vehicle orientation angle corresponding to the target node is less than a preset threshold.

[0094] The vehicle orientation angle refers to the angle between the vehicle's orientation and the parking space's boundary line. It should be understood that the parking space boundary line is the boundary line that intersects or is tangent to multiple boundary lines of the parking space when a vehicle is parking in or out of the space. This boundary line is usually indicated by white or other colored lines to clearly define the area and location of the parking space.

[0095] The vehicle's orientation angle reflects the degree of deflection of the vehicle relative to the parking space. During parking, it is desirable for the vehicle to be parked as parallel to the parking space as possible to reduce space occupation and improve parking aesthetics. By ensuring that the vehicle's orientation angle at the target node is less than a preset threshold, it is possible to ensure that the vehicle meets the requirement of parallel parking as much as possible at the target node, thereby improving parking accuracy.

[0096] In some embodiments, during a depth-first search (DFS), a neighboring node needs to be selected as the current node to continue searching at the next level. If this selection is random, randomness introduces uncertainty, making the DFS search path and results unpredictable. This can lead to situations where DFS takes a very long time to find the target node, or even never finds it (if the target node exists but the search path is misled by randomness). Therefore, to improve the efficiency of DFS, optimization strategies are typically employed to select the next node to visit.

[0097] Specifically, as one feasible implementation method, please refer to Figure 5 The target node in the above embodiments is determined in the following manner, S501-S504:

[0098] S501. Select the node with the lowest cost from the set of nodes to be processed as the current node.

[0099] In this process, the set of nodes to be processed initially only includes the starting node during the depth-first search. Therefore, during the first search, the starting node is directly used as the current node. In subsequent searches, neighboring nodes found need to be added to the set of nodes to be processed.

[0100] For example, in combination Figure 6 As shown, during each search, the node with the lowest cost needs to be selected from the set of nodes to be processed as the current node based on the cost of each node.

[0101] Understandably, when selecting the next node to explore, if a cost-based strategy is adopted, the cost of the node can be a comprehensive indicator that considers multiple factors. For example, as one implementation, the cost of a node is determined based on the rotation angle between the node and the starting node and / or the distance from the node to the calibrated parking position.

[0102] In other words, it is necessary to calculate the angle of rotation of the vehicle from the starting node to the current position relative to the rotation center. This angle represents the directional change required for the vehicle to move from the starting node to this node. Specifically, the rotation angle of the node relative to the starting node is the angular change value of the vehicle as it rotates around the rotation center during its rotational motion.

[0103] For example, when the parent node corresponding to the first node is the second node, and the parent node corresponding to the second node is the starting node, the vehicle will rotate twice, and the rotation vertices corresponding to the two rotation processes may be different. Therefore, the rotation angle of the first node relative to the second node and the rotation angle of the second node relative to the starting node can be calculated separately, and the rotation angle of the first node relative to the starting node can be the sum of the two rotation angles.

[0104] It should be understood that the straight-line distance from a node to its designated parking position can represent the proximity between the node and the target. Therefore, the cost of a node can be determined based on its straight-line distance from the designated parking position.

[0105] One approach is to determine the cost of a node based on its rotation angle relative to the starting node and the straight-line distance from the node to the calibrated parking position.

[0106] It should be understood that since the location of the target node is unknown during the depth-first search process, a calibrated parking position needs to be determined first, which is the predicted stopping position of the vehicle parking process. During the parking process, the node needs to move closer to this position to complete the parking. The process of determining this calibrated parking position can be found in the following embodiments, and will not be repeated here.

[0107] As a feasible implementation method, the cost of a node is negatively correlated with the rotation angle between the node and the starting node, and / or the cost of a node is positively correlated with the distance from the node to the calibrated parking position.

[0108] Understandably, the cost of a node is negatively correlated with the rotation angle between the node and the starting node. That is, the larger the rotation angle, the lower the cost, making the node more likely to be selected. The search process tends to favor the direction with the larger rotation angle. This allows for the use of nodes with larger rotation angles during parking processes that require frequent direction changes, thereby reducing the number of turns.

[0109] For example, the cost of rotating an angle can be represented by the reciprocal of the rotation angle (or some negative exponential function). For instance, if the rotation angle is θ, the cost of rotating an angle could be 1 / θ (except when θ = 0, to avoid dividing by zero).

[0110] The cost of a node is positively correlated with the distance from the node to the designated parking position. That is, the shorter the distance from the node to the designated parking position, the lower its cost, and the easier it is to be selected when choosing the current node. The search process tends to be closer to the designated parking position.

[0111] For example, the straight-line distance d from the node to the target node can be used directly as the distance cost, or a positive transformation (such as squaring or cubicing) can be applied to d to increase the penalty for long distances.

[0112] One approach is to determine the overall cost by weighting the rotation angle cost and the distance cost. For example, let the cost of the rotation angle be C_θ and the cost of the distance be C_d. Then the overall cost C can be expressed as C = w_θ*C_θ + w_d*C_d, where w_θ and w_d are weights used to balance the impact of rotation angle and distance on the cost.

[0113] It should be understood that the choice of weights w_θ and w_d should be determined based on the characteristics and requirements of the specific problem. For example, in the automatic parking problem, if steering is very difficult, a larger weight can be given to the rotation angle; if time is tight, a larger weight can be given to the distance.

[0114] S502. Determine whether the current node meets the parking termination conditions.

[0115] The system determines whether the current node meets the parking termination condition, that is, whether the vehicle range corresponding to the current node is within the preset parking termination range. The process of determining the preset parking termination range can be referred to in the following embodiments, which will not be repeated here.

[0116] If the current node meets the parking termination conditions, the current node will be used as the target node; if the current node does not meet the parking termination conditions, S503 will be executed.

[0117] S503. Determine the neighboring nodes of the current node.

[0118] Combination Figure 6 As shown, if the current node does not meet the parking termination conditions, it is necessary to determine the neighboring nodes of the current node, that is, to determine the node corresponding to the next movement of the vehicle when it is in the current node's position and attitude.

[0119] As a feasible approach, the pose of the vehicle after moving according to each rotation strategy can be predicted, and the neighboring nodes of the current node can be determined based on the pose corresponding to each rotation strategy.

[0120] As another feasible approach, the vehicle's pose will be different after each rotation strategy is executed, so the neighboring nodes of the current node can be determined by predicting the pose of the vehicle after moving at multiple preset angles according to each rotation strategy.

[0121] As another feasible approach, candidate parking strategies can be determined first based on the relative positional relationship between the current node and the calibrated parking position. Then, the vehicle is rotated at the current node according to the candidate rotation strategy and angle. Based on the vehicle's position and attitude after rotation, the neighboring nodes of the current node are determined.

[0122] It should be understood that this process does not involve the actual movement or rotation of the vehicle, but rather uses mathematical calculations to predict the virtual position and attitude of the vehicle after rotation. In other words, it does not actually make the vehicle physically rotate, but rather simulates the vehicle's rotation process in a virtual environment based on the vehicle's current position and attitude, combined with candidate rotation strategies and candidate rotation angles, to predict the vehicle's future position and attitude, and obtain the neighboring nodes of the current node.

[0123] S504. Add neighboring nodes to the set of nodes to be processed, and move the current node from the set of nodes to be processed to the set of nodes that have been processed.

[0124] Repeat the above steps until a target node that meets the parking termination conditions is found.

[0125] It should be noted that if, during the repeated execution of the above steps, all nodes in the set of nodes to be processed have been migrated to the set of nodes already processed, and no target node meeting the parking termination condition has yet been found, it indicates that the parking trajectory planning has failed, and the vehicle cannot park in or out of the parking space using the crab-like method. In this case, a prompt message can be output to the user. After receiving the prompt message, the user can manually select another parking space or manually determine the calibrated parking position / preset parking termination range to allow the system to restart the trajectory parking. This embodiment of the application does not impose any restrictions on this.

[0126] When performing a depth-first search, it is necessary to manage the state of nodes, such as classifying them as "pending" or "processed". This helps avoid repeatedly visiting nodes and efficiently identify target nodes or termination conditions.

[0127] Therefore, combining Figure 6As shown, you can create an empty "set of nodes to be processed" (usually a list or queue) and an empty "set of nodes already processed" (usually a set for quick lookup). During depth-first search initialization, the starting node is added to the "set of nodes to be processed".

[0128] It should be understood that the set of processed nodes is empty during the initialization of the depth-first search. Neighboring nodes are added to the set of nodes to be processed to facilitate subsequent determination of whether a node meets the parking termination criteria and is the target node. Furthermore, since the neighboring nodes of the current node have been identified, the current node needs to be removed from the "set of nodes to be processed" and added to the "set of processed nodes".

[0129] In some embodiments, since duplicate neighboring nodes may exist during the depth-first search process, meaning that two nodes represent the same vehicle pose, to avoid duplicate processing, as a feasible implementation, neighboring nodes that do not exist in the already processed node set can be added to the node set to be processed.

[0130] This method ensures that each node (based on its unique identifier) ​​is accessed only once, thus avoiding the repeated processing of vehicle nodes with the same pose.

[0131] In some embodiments, since vehicle safety also needs to be ensured during parking, as a feasible implementation, neighboring nodes that do not exist in the already processed node set but meet the safety constraints can be added to the node set to be processed.

[0132] For example, safety constraints may include, but are not limited to: avoiding collisions with obstacles, staying within the parking boundaries of a road or parking space, obeying traffic rules (such as driving direction, speed limits, etc.), and ensuring that the vehicle does not enter non-drivable areas (such as sidewalks, green belts, etc.).

[0133] Before adding a neighboring node to the set of nodes to be processed, its uniqueness is first checked (i.e., whether it already exists in the set of processed nodes). Then, it needs to be evaluated whether it meets the aforementioned security constraints. Sensor data (such as radar, lidar, cameras, etc.) can be used to perceive the surrounding environment, and this data can be used to assess the node's security. If a node is both unique and secure, it is added to the set of nodes to be processed.

[0134] It can be seen that by determining the safety and uniqueness of neighboring nodes, the safety and reliability of parking path planning can be significantly improved. This helps reduce the risk of collisions between vehicles and obstacles, protects the safety of passengers and those in the surrounding area, and enhances the overall parking experience.

[0135] As a feasible approach, to facilitate backtracking after the target node is determined, the current node can be set as the parent node of the neighboring nodes added to the set of nodes to be processed.

[0136] In other words, when a new neighboring node is calculated, the current node is set as the parent node of that neighboring node. It should be understood that this can be achieved by adding a pointer or reference to the parent node in the node structure. Thus, after determining the target node, it is possible to backtrack to the starting node along the parent node pointer. Furthermore, in the event of an error in reasoning, by backtracking the parent node chain, the system can clearly identify from which node the deviation from the predetermined path began, allowing for targeted correction or replanning.

[0137] As can be seen from S501-S504, the method provided in this application, when determining the target node, first selects the current node from the set of nodes to be processed based on the node's cost. By considering the node's cost, paths that are more likely to lead to the marked parking location or have lower costs can be prioritized. This helps reduce unnecessary searches, thereby speeding up the process of finding the optimal or feasible solution.

[0138] Furthermore, if the current node is not the target node, its neighboring nodes are identified and added to the set of nodes to be processed. By adding neighboring nodes to the set of nodes to be processed, the depth-first search strategy can progressively expand its search scope, covering more potential paths. Moreover, in each iteration, neighboring nodes are determined based on the current node, and these nodes serve as the basis for subsequent searches. This continuity ensures that the search process gradually approaches the target node without suddenly jumping to other areas unrelated to the current search state, helping to avoid unexecutable paths during the planning process and improving the success rate of parking operations.

[0139] In some embodiments, since vehicles need to rotate to enter or exit parking spaces, they need to employ certain rotation strategies. Therefore, when determining the neighboring nodes of the current node, the neighboring nodes after the vehicle's rotation can be predicted using the rotation strategies that the vehicle can execute.

[0140] Furthermore, because the relative position of the calibrated parking position to the vehicle differs, the rotation strategy required by the vehicle will also differ. For an example, please refer to [link to relevant documentation]. Figure 7 At the designated parking position ( Figure 7When the vehicle (as shown in the star diagram) is located to the left of the current node a, if the vehicle rotates counterclockwise around the left front wheel, the rear of the vehicle will move to the right (i.e., away from the designated parking position), while the front of the vehicle will move to the left. This causes the vehicle's center (such as the vehicle's center of mass, rear axle center, or physical center) to move away from the designated parking position. This movement is clearly not what we expect, as it causes the distance between the vehicle and the designated parking position to gradually increase.

[0141] Based on this, as a feasible implementation method, the parking method provided in this application embodiment further includes: determining the relative positional relationship between the current node and the calibrated parking position; and determining a candidate rotation strategy applicable to the current node based on the relative positional relationship between the current node and the calibrated parking position.

[0142] The relative positional relationship between the current node and the calibrated parking position can include: the calibrated parking position is located to the left of the current node, or the calibrated parking position is located to the right of the current node.

[0143] As a feasible approach, the relative position of the vehicle when it is at the current node can be determined by measuring the relative distance and angle between the current node and the calibrated parking position.

[0144] As another feasible approach, the relationship between the current node and the calibrated parking position can be determined using the principles of vector geometry.

[0145] Specifically, we can first determine the direction vector corresponding to the current node (including position and posture), then determine the vector between the position represented by the current node and the calibrated parking position, and by performing a cross product operation on the two vectors, we can determine whether the calibrated parking position is to the left or right of the current node.

[0146] It should be understood that the current node represents the vehicle's position and orientation, that is, the vehicle's position and orientation in its current state. For simplicity and ease of processing, the orientation corresponding to the current node is usually the direction the vehicle is facing. Therefore, the direction vector corresponding to the current node is usually consistent with the vehicle's frontal direction. In other words, determining the direction vector corresponding to the current node is equivalent to determining the direction vector corresponding to the vehicle's frontal direction.

[0147] For example, the current node is N(x_n, y_n, theta_n), and the designated parking position is D(x_d, y_d). Then, the direction vector of the current node is Vec_d(cos(theta_d), sin(theta_d)); the vector from the current node to the designated parking position is Vec_e(x_d-x_n, y_d-y_n). Then, the cross product of the two vectors is performed: r = Vec_d.CrossProd(Vec_e) = cos(theta_d)*(y_d-y_n) - sin(theta_d)*x_d-x_n.

[0148] If r > 0, the parking position is located to the left of the current node; if r < 0, the parking position is located to the right of the current node.

[0149] Understandably, regardless of the relationship between the calibrated parking position and the current node's position, the node's position needs to be closer to the calibrated parking position after the vehicle rotates.

[0150] As one implementation, when the calibrated parking position is to the left of the current node, candidate rotation strategies include: rotating clockwise around the left front wheel, rotating clockwise around the right front wheel, rotating counterclockwise around the left rear wheel, or rotating counterclockwise around the right rear wheel. This ensures that after the vehicle rotates, the node's position will be closer to the left, i.e., closer to the calibrated parking position.

[0151] As another implementation, when the calibrated parking position is to the right of the current node, candidate rotation strategies include: rotating counterclockwise around the left front wheel, rotating counterclockwise around the right front wheel, rotating clockwise around the left rear wheel, or rotating clockwise around the right rear wheel. This ensures that after the vehicle rotates, the node's position will be closer to the calibrated parking position on the right.

[0152] After obtaining the candidate rotation strategies, the neighboring nodes of the current node can be determined based on the candidate rotation strategies of the vehicle at the current node. In other words, as a feasible implementation method, S503 can be specifically implemented as follows: the node where the vehicle is located after rotating according to the candidate rotation strategy and the candidate rotation angle at the current node is taken as the neighboring node of the current node.

[0153] It should be understood that the number of candidate rotation angles can be set according to actual needs, and the embodiments of this application do not limit this. Usually, these angles are predefined and may be adjusted according to the vehicle's rotation capability (i.e., the range of rotation angles that the vehicle can achieve), the size of the parking space, and the relative position of the target parking location.

[0154] For example, when the vehicle's rotation capability is 0-60 degrees and there are no obstacles around the vehicle with a large parking space, the following candidate rotation angles can be defined according to the vehicle's rotation capability: 15 degrees, 30 degrees, 45 degrees, and 60 degrees (one set each for clockwise and counterclockwise directions); or, a more refined angle division, such as determining a candidate rotation angle every 5 degrees or every 10 degrees within the rotation angle range corresponding to the vehicle's rotation capability.

[0155] For each candidate rotation strategy and each candidate rotation angle, the position and orientation of the vehicle after rotation can be calculated, and this position and orientation can be determined as the neighboring nodes of the current node.

[0156] As can be seen, by considering multiple candidate rotation strategies and angles, the system can more accurately predict the vehicle's trajectory under different rotation strategies. This helps improve parking accuracy and ensures that the vehicle can smoothly and accurately park in the target parking position.

[0157] In some embodiments, the vehicle's initial attitude and parking position are typically determined based on a world (geocentric) coordinate system. The world coordinate system is a fixed, global reference frame, usually aligned with a map, used for positioning and navigation. It uses the Earth's ellipsoid as its reference surface, and the position of a point on the ground is represented by three coordinate components: geodetic longitude, geodetic latitude, and geodetic height.

[0158] A world coordinate system is typically a global, wide-ranging coordinate system that encompasses all environmental information surrounding the vehicle. However, during parking, automated parking systems primarily focus on the spatial layout within the garage or parking space. Therefore, determining the parking trajectory requires first establishing a parking space coordinate system, and then basing the determination of the parking trajectory on this system.

[0159] Understandably, a parking space coordinate system can more accurately describe the relative positional relationship between a vehicle and a parking space. This helps automated parking systems or drivers to more precisely control the vehicle's trajectory, thereby improving parking accuracy and success rate.

[0160] Therefore, before determining the parking trajectory, the method provided in this application embodiment further includes: obtaining the vertex information of the parking space; determining the center of the parking space based on the vertex information of the parking space; and establishing a parking space coordinate system based on the center of the parking space.

[0161] Vehicles can capture images of parking lots or garages using camera sensors. Based on these images, the intersections of parking space boundary lines or other geometric methods can be used to calculate the vertex information of the parking spaces: M(x1,y1), N(x2,y2), P(x3,y3), and Q(x4,y4). Then, based on this vertex information, the center position of the parking space can be determined as O(x,y) = ((x1+x2+x3+x4) / 4, (y1+y2+y3+y4) / 4).

[0162] After determining the center of the parking space, a coordinate system can be established by using the length of the parking space as the X-axis and the width as the Y-axis. The next step is to determine the specific directions of the X and Y axes.

[0163] As a feasible approach, since the parking space is a parallel parking space—meaning the parking space is parallel to the lane—the X-axis direction can generally be aligned with the lane direction. Specifically, if a vehicle needs to enter the parking space from one side of the lane, the positive direction of the X-axis can point from one end of the parking space to the other, which is the same as the direction the vehicle is expected to travel.

[0164] Once the direction of the X-axis is determined, the direction of the Y-axis is naturally perpendicular to the X-axis. In a two-dimensional plane, the positive direction of the Y-axis can be determined using the right-hand rule: extend your right hand, with your thumb pointing in the positive direction of the X-axis, then the direction your index finger points is the positive direction of the Y-axis (or vice versa, depending on how the coordinate system is defined).

[0165] As another feasible approach, to facilitate the determination of the parking trajectory later, the positive direction of the X-axis can be determined based on the vehicle posture information, so that the vehicle posture direction is consistent with the positive direction of the X-axis.

[0166] Specifically, the vehicle's starting node in the world coordinate system is A(x0, y0, theta0). It should be understood that x0 and y0 represent the vehicle's horizontal and vertical coordinates in the world coordinate system, while theta0 represents the vehicle's heading angle, that is, the angle between the vehicle's forward direction and the positive X-axis of the world coordinate system.

[0167] That is, the initial vehicle orientation vector is (cos(theta0), sin(theta0)), and the garage position vector is represented by MN as (x2-x1, y2-y1). The dot product of the two vectors can be used to determine whether they are in the same direction. That is, calculate: Direction = (x2-x1, y2-y1)·(cos(theta0), sin(theta0)).

[0168] If Direction is greater than 0, it indicates that the vehicle's orientation and the garage's orientation are in the same direction, and the x-axis direction is a unit vector of MN. If Direction is less than 0, it indicates that the vehicle's orientation and the garage's orientation are in different directions, and the x-axis direction is a unit vector of -MN. In other words, the vehicle's orientation should be aligned with the positive x-axis direction.

[0169] Furthermore, the y-axis direction can be determined using the right-hand rule. The final coordinate system is as follows: Figure 8 As shown.

[0170] After obtaining the parking space coordinate system, the vehicle's starting node A(x0,y0,theta0) can be converted into coordinates in the parking space coordinate system, and then the parking position and parking trajectory can be determined based on the parking space coordinate system.

[0171] Understandably, accuracy is crucial during parking. By transforming the coordinates to the garage coordinate system, the relative positional relationship between the vehicle and the parking space can be described more accurately. This helps the automatic parking system more precisely determine the vehicle's parking trajectory, thereby improving parking accuracy and success rate.

[0172] While the parking process of entering and exiting a parking space can be similar in some embodiments, there are also significant differences, primarily in the starting and ending points. The starting point for entering a parking space is typically a location to the side of the space, such as the roadside, parking lot entrance, or other permitted parking areas. The ending point is when the vehicle is finally parked within the space, facing the same direction as the space or meeting parking requirements. When exiting a parking space, the vehicle is already parked within the space; the starting point is within the space itself, and the ending point is the driveway or another area of ​​the parking lot.

[0173] Therefore, when a parking instruction corresponds to a vehicle entering or leaving a parking space, the corresponding designated parking position and preset parking termination range are different.

[0174] Understandably, when parking instructions are used to direct a vehicle into a parking space, the designated parking position and the preset parking termination range are usually consistent with or closely related to the area corresponding to the parking space.

[0175] As a feasible implementation method, the aforementioned preset parking termination range can be the range corresponding to the parking space.

[0176] As another feasible approach, due to safety or parking regulations, vehicles usually need to be parked in the center of the parking space. Therefore, the preset parking termination range can be determined based on the center or near the center of the parking space.

[0177] As another feasible approach, the calibrated parking position can be determined first, and then the preset parking termination range can be determined based on the calibrated parking position.

[0178] It should be understood that, in order to achieve centered parking, the parking position is determined based on the center point of the parking space.

[0179] Furthermore, in this embodiment, the position of the node corresponding to the vehicle is the location of the rear axle center of the vehicle, which is not the physical center of the vehicle. When a vehicle is parked in a parking space, it usually needs to be parked in the center, that is, the physical center of the vehicle coincides with the center of the parking space.

[0180] Therefore, the calibrated parking position can be determined based on the distance between the vehicle's position in the corresponding node and the vehicle's physical center, as well as the location of the center of the parking space.

[0181] Specifically, to ensure the vehicle is parked centered, its physical center can be aligned with the center of the parking space. That is, the vehicle's physical center and the parking space center are consistent. The distance between the position of the node corresponding to the vehicle and the vehicle's physical center is then used as the distance between the calibrated parking position and the parking space center. In other words, the lateral offset of the calibrated parking position relative to the parking space center can be set to 0; the longitudinal offset of the calibrated parking position relative to the parking space center is the distance dx from the position of the node to the vehicle's physical center.

[0182] For example, in a coordinate system with the center of the garage as the origin, the length of the parking space as the X-axis, and the width as the Y-axis, the coordinates corresponding to the parking position are calibrated as (dx, 0) or (-dx, 0).

[0183] It should be understood that when determining the parking position, it is also necessary to consider driving habits or traffic rules, as well as information about surrounding obstacles (such as flower beds, bushes, etc.) to determine which direction the vehicle needs to exit the parking space from. For example, in areas where traffic flows on the right, drivers usually enter the parking space from the left side, and therefore may prefer to park from the left side. That is, the above-mentioned parking position is usually determined using (-dx, 0).

[0184] As a feasible implementation method, the preset parking termination range is determined as follows: based on the vehicle's size information and the calibrated parking position, the initial vehicle range is determined; the initial vehicle range is then expanded in a preset manner to obtain the preset parking termination range.

[0185] In other words, after obtaining the calibrated parking position, the initial vehicle range when the vehicle is in the calibrated parking position can be calculated based on the vehicle's length, width and other relevant dimensional parameters. Then, the initial vehicle range can be expanded by a certain threshold (such as by 1.2 times) to obtain the preset parking termination range.

[0186] It is understandable that expanding the range of vehicles when calibrating parking positions by a certain threshold can reserve a certain safety / error margin, thereby reducing errors and uncertainties in the parking process and improving the parking success rate.

[0187] In other embodiments, unlike entering a parking space, when a parking instruction is used to instruct a vehicle to exit a parking space, the goal of exiting the space is to allow the vehicle to safely leave the space and enter a driveway or other area of ​​the parking lot. Therefore, the designated parking position is located outside the parking space, and the preset parking termination area typically does not coincide with the area of ​​the parking space. This area also needs to ensure that the vehicle can smoothly transition to normal driving after exiting the space, while avoiding collisions with other vehicles or obstacles.

[0188] When parking instructions are used to direct vehicles out of parking spaces, as a feasible approach, the entire parking space area can be shifted outwards until it no longer overlaps with the actual parking space area, thus obtaining a preset parking termination range.

[0189] As another feasible approach, the calibrated parking position can be determined first, and then the preset parking termination range can be determined based on the calibrated parking position.

[0190] Understandably, in order to ensure that the designated parking position is completely outside the parking space, the designated parking position needs to be determined based on the size information of the parking space and the center point of the parking space.

[0191] It should be noted that when determining the parking location, not only the parking space itself but also information about obstacles outside the parking space must be considered to ensure that the vehicle can safely and smoothly park out of the space and avoid collisions with obstacles. Obstacle information can be obtained through sensors such as radar, and this application embodiment does not impose any limitations on this.

[0192] Specifically, as one implementation method, the lateral offset of the calibrated parking position relative to the center of the parking space can be set to the width of the parking space, dy; the longitudinal offset of the calibrated parking position relative to the center of the parking space is the distance dx from the position corresponding to the starting node to the physical center of the vehicle.

[0193] For example, please refer to Figure 9 In a coordinate system with the center of the parking space as the origin, the length direction of the parking space as the X-axis, and the width direction as the Y-axis, the coordinates of the center O of the parking space are (0, 0). The width of the parking space is dy, the front of the vehicle faces the positive direction of the X-axis, and the distance between the position of the corresponding node of the vehicle and the physical center of the vehicle is dx. Then the coordinates of the parking position D1 are (-dx, -dy) or (-dx, dy).

[0194] It should be understood that when determining the parking position, it is also necessary to consider driving habits or traffic rules, as well as information about surrounding obstacles (such as flower beds, bushes, etc.), to determine which direction the vehicle needs to exit the parking space from. For example, in areas where traffic flows on the right, drivers usually enter the car from the left side of the parking space, and therefore may prefer to park / exit from the left side. That is, the coordinates of the above-mentioned parking position D1 are (-dx, dy).

[0195] It should be understood that after obtaining the calibrated parking position, the vehicle range when the vehicle is in the calibrated parking position can be calculated based on relevant parameters such as the vehicle length and width. Then, the vehicle range can be expanded by a certain threshold to obtain the preset parking termination range.

[0196] This application embodiment can, according to the above method, exemplarily divide a parking control device or electronic device into functional modules. For example, the parking control device or electronic device may include functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0197] This application provides a parking control device, including: a drive module, used to drive a vehicle into or out of a parking space according to a parking trajectory upon receiving a parking instruction; wherein the parking trajectory includes at least two rotational trajectories, and the rotational trajectories are achieved by distributing different drive torques to multiple wheels of the vehicle.

[0198] In some embodiments, the starting position of each of the at least two rotational trajectories is the ending position of the previous rotational trajectories.

[0199] In some embodiments, the parking trajectory is determined as follows: a target node that meets the parking termination condition is searched based on a depth-first search strategy, and the path from the starting node to the target node is determined during the search process. The path includes the starting node, the target node, and intermediate nodes. Nodes are used to represent the position and attitude of the vehicle. The parking trajectory is constructed based on the rotation trajectory between two adjacent nodes in the path.

[0200] In some embodiments, determining the path from the starting node to the target node during the search process includes: starting from the target node, tracing back through the parent nodes in the search process until tracing back to the starting node to obtain the path from the starting node to the target node.

[0201] In some embodiments, the parking termination condition includes: the vehicle range determined based on the target node is within a preset parking termination range.

[0202] In some embodiments, the parking termination condition further includes: the vehicle orientation angle corresponding to the target node is less than a preset threshold, where the vehicle orientation angle is the angle between the vehicle and the parking boundary of the parking space.

[0203] In some embodiments, when the parking instruction is used to instruct a vehicle to park in a parking space, the preset parking termination range is determined based on the range of the parking space; or, when the parking instruction is used to instruct a vehicle to park out of a parking space, the preset parking termination range is determined based on a designated parking position outside the parking space.

[0204] In some embodiments, when a parking instruction is used to instruct a vehicle to park out of a parking space, a preset parking termination range is determined as follows: an initial vehicle range is determined based on the vehicle's size information and the calibrated parking position.

[0205] The initial vehicle range is expanded in a preset manner to obtain the preset parking termination range.

[0206] In some embodiments, the target node is determined as follows: the node with the lowest cost is selected from the set of nodes to be processed as the current node; if the current node meets the parking termination condition, the current node is selected as the target node; if the current node does not meet the parking termination condition, the neighboring nodes of the current node are determined and added to the set of nodes to be processed, and the current node is moved from the set of nodes to be processed to the set of processed nodes; the above steps are repeated until a target node that meets the parking termination condition is found.

[0207] In some embodiments, the cost of a node is determined based on the rotation angle between the node and the starting node and / or the distance from the node to the calibrated parking position.

[0208] In some embodiments, the cost of a node is negatively correlated with the rotation angle between the node and the starting node, and / or the cost of a node is positively correlated with the distance from the node to the calibrated parking position.

[0209] In some embodiments, the set of nodes to be processed only includes the starting node during the initialization of the depth-first search, and the set of processed nodes is an empty set during the initialization of the depth-first search.

[0210] In some embodiments, determining the neighboring nodes of the current node includes: rotating the vehicle at the current node according to the candidate rotation strategy and the candidate rotation angle, and determining the neighboring nodes of the current node based on the position and attitude of the vehicle after rotation.

[0211] In some embodiments, the parking control device further includes: a determination module, configured to determine the relative positional relationship between the current node and the calibrated parking position; the determination module is further configured to determine a candidate rotation strategy applicable to the current node based on the relative positional relationship between the current node and the calibrated parking position.

[0212] In some embodiments, when the calibrated parking position is to the left of the current node, the candidate rotation strategies include: rotating clockwise around the left front wheel, rotating clockwise around the right front wheel, rotating counterclockwise around the left rear wheel, or rotating counterclockwise around the right rear wheel; or, when the calibrated parking position is to the right of the current node, the candidate rotation strategies include: rotating counterclockwise around the left front wheel, rotating counterclockwise around the right front wheel, rotating clockwise around the left rear wheel, or rotating clockwise around the right rear wheel.

[0213] In some embodiments, determining the relative positional relationship between the current node and the calibrated parking position includes: determining a first direction vector corresponding to the current node and a second direction vector from the position represented by the current node to the calibrated parking position; and determining the relative positional relationship between the current node and the calibrated parking position based on the first direction vector and the second direction vector.

[0214] In some embodiments, determining the relative positional relationship between the current node and the calibrated parking position based on the first direction vector and the second direction vector includes: performing a cross product operation on the first direction vector and the second direction vector to obtain the operation result;

[0215] If the calculation result is greater than 0, the calibrated parking position is determined to be to the left of the current node; or, if the calculation result is less than 0, the calibrated parking position is determined to be to the right of the current node.

[0216] In some embodiments, adding neighboring nodes to the set of nodes to be processed includes adding neighboring nodes that do not exist in the set of processed nodes to the set of nodes to be processed.

[0217] In some embodiments, adding neighboring nodes that do not exist in the set of processed nodes to the set of nodes to be processed includes: adding neighboring nodes that do not exist in the set of processed nodes but satisfy security constraints to the set of nodes to be processed.

[0218] In some embodiments, the parent node of a neighboring node added to the set of nodes to be processed is the current node.

[0219] In some embodiments, when a parking instruction is used to instruct a vehicle to park in a parking space, the parking position is determined based on the center point of the parking space.

[0220] In some embodiments, when a parking instruction is used to instruct a vehicle to leave a parking space, the parking position is determined based on the size information of the parking space and the center point of the parking space.

[0221] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 10 As shown, the electronic device 130 includes, but is not limited to, a processor 1301 and a memory 1302.

[0222] The aforementioned memory 1302 is used to store the executable instructions of the processor 1301. It is understood that the processor 1301 is configured to execute instructions to implement the noise reduction method inside the vehicle as described in the above embodiments.

[0223] Processor 1301 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in memory 1302, and by calling data stored in memory 1302, it performs various functions and processes data, thereby controlling the electronic device as a whole. Processor 1301 may include one or more processing modules. Optionally, processor 1301 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into processor 1301.

[0224] The memory 1302 can be used to store software programs and various data. The memory 1302 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and application programs required by at least one functional module (such as an acquisition unit, a determination module, a processing unit, etc.). Furthermore, the memory 1302 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0225] This application also provides a vehicle including the aforementioned electronic equipment or parking control device.

[0226] In some embodiments, this application also provides a computer program product comprising a computer program that, when executed by a device, causes the device to perform the method as described above.

[0227] In this way, the computer program in the computer program product can be customized according to the specific needs and operating conditions of the equipment, realizing personalized control methods and improving the adaptability and flexibility of equipment control.

[0228] In addition, computer program products can be executed on different devices or systems, achieving cross-platform applicability, providing a unified control method for different types of devices, and improving system integration and interoperability.

[0229] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.

[0230] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A parking method, characterized in that, include: In response to a parking command, the vehicle is driven into or out of a parking space according to a parking trajectory; wherein the parking trajectory includes at least two rotational trajectories, which are achieved by distributing different drive torques to multiple wheels of the vehicle.

2. The method according to claim 1, characterized in that, The starting position of each of the at least two rotational trajectories is the ending position of the previous rotational trajectories.

3. The method according to claim 1 or 2, characterized in that, The parking trajectory is determined in the following way: The target node that meets the parking termination condition is searched based on the depth-first search strategy, and the path from the starting node to the target node is determined during the search process. The path includes the starting node, the target node, and intermediate nodes; wherein, the nodes are used to represent the position and attitude of the vehicle. The parking trajectory is constructed based on the rotational trajectory between two adjacent nodes in the path.

4. The method according to claim 3, characterized in that, Determining the path from the starting node to the target node during the search process includes: Starting from the target node, backtrack through the parent nodes in the search process until backtracking to the starting node to obtain the path from the starting node to the target node.

5. The method according to claim 3, characterized in that, The parking termination condition includes: the vehicle range determined based on the target node is within the preset parking termination range.

6. The method according to claim 5, characterized in that, The parking termination condition also includes: the vehicle orientation angle corresponding to the target node is less than a preset threshold, where the vehicle orientation angle is the angle between the vehicle and the parking space boundary.

7. The method according to claim 5, characterized in that, When the parking instruction is used to instruct the vehicle to park in a parking space, the preset parking termination range is determined based on the range of the parking space; or... When the parking instruction is used to instruct the vehicle to leave the parking space, the preset parking termination range is determined based on the designated parking position outside the parking space.

8. The method according to claim 7, characterized in that, When the parking instruction is used to instruct the vehicle to leave the parking space, the preset parking termination range is determined according to the following method: Based on the vehicle's size information and the calibrated parking position, the initial vehicle range is determined; The initial vehicle range is expanded in a preset manner to obtain the preset parking termination range.

9. The method according to any one of claims 3-8, characterized in that, The target node is determined in the following way: Select the node with the lowest cost from the set of nodes to be processed as the current node; If the current node meets the parking termination condition, the current node will be designated as the target node. If the current node does not meet the parking termination condition, determine the neighboring nodes of the current node, add the neighboring nodes to the set of nodes to be processed, and migrate the current node from the set of nodes to be processed to the set of processed nodes. Repeat the above steps until a target node that meets the parking termination conditions is found.

10. The method according to claim 9, characterized in that, The cost of the node is determined based on the rotation angle between the node and the starting node and / or the distance from the node to the calibrated parking position.

11. The method according to claim 10, characterized in that, The cost of a node is negatively correlated with the rotation angle between the node and the starting node, and / or the cost of a node is positively correlated with the distance from the node to the calibrated parking position.

12. The method according to claim 9, characterized in that, The set of nodes to be processed only includes the starting node during the initialization of the depth-first search, and the set of processed nodes is an empty set during the initialization of the depth-first search.

13. The method according to claim 9, characterized in that, Determining the neighboring nodes of the current node includes: The vehicle is rotated at the current node according to the candidate rotation strategy and candidate rotation angle, and the neighboring nodes of the current node are determined based on the position and attitude of the vehicle after rotation.

14. The method according to claim 13, characterized in that, The method further includes: Determine the relative positional relationship between the current node and the calibrated parking position; Based on the relative positional relationship between the current node and the calibrated parking position, a candidate rotation strategy suitable for the current node is determined.

15. The method according to claim 14, characterized in that, When the calibrated parking position is to the left of the current node, the candidate rotation strategies include: rotating clockwise around the left front wheel, rotating clockwise around the right front wheel, rotating counterclockwise around the left rear wheel, or rotating counterclockwise around the right rear wheel; or, When the calibrated parking position is located to the right of the current node, the candidate rotation strategies include: rotating counterclockwise around the left front wheel, rotating counterclockwise around the right front wheel, rotating clockwise around the left rear wheel, or rotating clockwise around the right rear wheel.

16. The method according to claim 14, characterized in that, Determining the relative positional relationship between the current node and the calibrated parking position includes: Determine the first direction vector corresponding to the current node, and the second direction vector from the position represented by the current node to the calibrated parking position; Based on the first direction vector and the second direction vector, the relative positional relationship between the current node and the calibrated parking position is determined.

17. The method according to claim 16, characterized in that, Determining the relative positional relationship between the current node and the calibrated parking position based on the first direction vector and the second direction vector includes: Perform a cross product operation on the first direction vector and the second direction vector to obtain the result. If the calculation result is greater than 0, the calibrated parking position is determined to be to the left of the current node; or, If the calculation result is less than 0, the calibrated parking position is determined to be located to the right of the current node.

18. The method according to claim 9, characterized in that, Adding the neighboring nodes to the set of nodes to be processed includes: Add neighboring nodes that do not exist in the already processed node set to the node set to be processed.

19. The method according to claim 18, characterized in that, Adding neighboring nodes that do not exist in the already processed node set to the node set to be processed includes: Neighboring nodes that do not exist in the already processed node set and meet the security constraints are added to the node set to be processed.

20. The method according to claim 9, 18 or 19, characterized in that, The parent node of the neighboring nodes added to the set of nodes to be processed is the current node.

21. The method according to any one of claims 10, 11, 14 to 17, characterized in that, When the parking instruction is used to instruct the vehicle to park in the parking space, the calibrated parking position is determined based on the center point of the parking space.

22. The method according to any one of claims 10, 11, 14 to 17, characterized in that, When the parking instruction is used to instruct the vehicle to leave the parking space, the calibrated parking position is determined based on the size information of the parking space and the center point of the parking space.

23. An electronic device, characterized in that, The device includes a processor and a memory, the processor being connected to the memory, the memory storing computer instructions that, when executed on the electronic device, cause the electronic device to perform the method as described in any one of claims 1-22.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-22.

25. A vehicle, characterized in that, This includes the electronic device of claim 23, or the computer-readable storage medium of claim 24.

26. A computer program product, the computer program product comprising instructions, characterized in that, When the instructions are executed on a computer, the computer performs the method as described in any one of claims 1-22.