Control method and apparatus, and vehicle
By acquiring multiple target poses to generate multiple driving trajectories and selecting the optimal path, the problem of inflexible vehicle planning in complex environments is solved, thus improving the user experience of intelligent driving.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YINWANG INTELLIGENT TECHNOLOGIES CO LTD
- Filing Date
- 2025-11-18
- Publication Date
- 2026-06-04
Smart Images

Figure CN2025135731_04062026_PF_FP_ABST
Abstract
Description
A control method, device and vehicle
[0001] This application claims priority to Chinese Patent Application No. 202411758769.X, filed on November 30, 2024, entitled "A Control Method, Apparatus and Vehicle", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of intelligent driving, and more specifically, to a control method, device, and vehicle. Background Technology
[0003] With societal development, more and more machines in modern life are becoming automated and intelligent, and cars for mobility are no exception. Intelligent cars are gradually entering people's daily lives. In recent years, Advanced Driving Assistant Systems (ADAS) and Autonomous Driving Systems (ADS) have played a very important role in intelligent cars. They utilize various sensors installed on the vehicle to sense the surrounding environment, collect data, detect targets, and combine this with map data for trajectory planning and vehicle control, effectively increasing driving comfort and safety.
[0004] However, when vehicles are in intelligent driving mode, they are not intelligent enough and lack flexibility in handling some complex environments. For example, in narrow roads or dead-end roads, when performing a U-turn, the vehicle may have difficulty planning the driving path, requiring manual intervention from the user, resulting in a poor driving experience. Summary of the Invention
[0005] This application provides a control method, device, and vehicle that helps improve the flexibility and rationality of driving trajectory planning, minimizes manual intervention by the driver, and thus enhances the user's driving experience.
[0006] In a first aspect, a control method is provided, the method comprising: acquiring a first target pose and a second target pose, wherein the first target pose and the second target pose have the same position but different postures; acquiring a first driving trajectory based on the first target pose and acquiring a second driving trajectory based on the second target pose; and controlling the vehicle to drive based on the first driving trajectory and the second driving trajectory.
[0007] Based on the above technical solution, multiple poses with the same position but different postures can be obtained, and multiple driving trajectories can be obtained based on these poses. This facilitates the selection of one of these driving trajectories to control vehicle driving, minimizing manual intervention by the driver, improving the flexibility and rationality of driving trajectory planning, and thus enhancing the user's driving experience.
[0008] In conjunction with the first aspect, in some implementations of the first aspect, the positions of the first target pose and the second target pose are the same and the vehicle faces opposite directions.
[0009] When the vehicle faces in opposite directions, the angle between the vehicle's front and the second target pose is the largest. Based on the above technical solution, by constraining the vehicle's front orientation, multiple driving trajectories with significant differences are obtained. This facilitates the selection of the optimal trajectory from these trajectories to control the vehicle's movement, improving the flexibility and rationality of the driving trajectory planning, thereby enhancing the user's driving experience.
[0010] In conjunction with the first aspect, in some implementations of the first aspect, the vehicle is in the first gear when the first driving trajectory ends and in the second gear when the second driving trajectory ends, and the first gear and the second gear are different.
[0011] For example, the first gear can be a drive gear (also known as D gear) and the second gear can be a reverse gear (also known as R gear).
[0012] Based on the above technical solution, the vehicle can perform trajectory planning according to the gear position and obtain multiple driving trajectories. This allows for the selection of the best trajectory from these driving trajectories to control the vehicle's movement (e.g., selecting a forward or reverse trajectory), which helps improve the flexibility and rationality of the driving trajectory planning, thereby enhancing the user's driving experience.
[0013] In conjunction with the first aspect, in some implementations of the first aspect, obtaining the first target pose and the second target pose includes: obtaining the first target pose based on destination information; and obtaining the second target pose based on the first target pose.
[0014] Based on the above technical solution, the first target pose can be determined first based on the direction and location of the destination, and then the second target pose can be determined by rotating the first target pose by a certain angle. This allows for the determination of different driving trajectories based on the first and second target poses, which is in line with the user's driving habits, helps to improve the flexibility and rationality of driving trajectory planning, and enhances the user's driving experience.
[0015] In conjunction with the first aspect, in some implementations of the first aspect, controlling vehicle movement based on a first driving trajectory and a second driving trajectory includes: determining a target driving trajectory from the first driving trajectory and the second driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and the obstacle under the first driving trajectory and the second driving trajectory; and controlling vehicle movement based on the target driving trajectory.
[0016] For example, the curvature of the first driving trajectory and the second driving trajectory includes the continuity of curvature and the rate of change of curvature.
[0017] Based on the above technical solution, by using trajectory filtering conditions such as curvature, gear change information, and distance between the vehicle and obstacles, one of the multiple driving trajectories can be selected and the vehicle can be controlled to drive according to that trajectory. This makes the driving trajectory more suitable for the vehicle's surrounding environment or user needs, which helps to improve the flexibility and rationality of driving trajectory planning, minimizes manual intervention by the driver, and thus helps to improve the user's driving experience.
[0018] In conjunction with the first aspect, in some implementations of the first aspect, obtaining the first target pose and the second target pose includes: obtaining the first target pose and the second target pose when the vehicle cannot pass through the road according to a preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system.
[0019] In conjunction with the first aspect, in some implementations of the first aspect, the road is a narrow path.
[0020] Based on the above technical solution, in scenarios where a vehicle needs to make a U-turn on a long straight road, multiple driving paths can be planned. This allows for the selection of the optimal path from these driving trajectories to control the vehicle's U-turn, minimizing manual intervention by the driver and improving the flexibility and rationality of driving trajectory planning, thereby enhancing the user's driving experience.
[0021] In conjunction with the first aspect, in some implementations of the first aspect, obtaining the first target pose and the second target pose includes: obtaining the first target pose and the second target pose when it is detected that the user has activated the automatic parking function.
[0022] For example, the first target pose and the second target pose are located within the parking space.
[0023] Based on the above technical solutions, multiple parking paths can be planned in vehicle parking scenarios. This allows for the selection of the optimal path from these driving trajectories to control the vehicle to park in the target parking space, minimizing manual intervention by the driver. This improves the flexibility and rationality of driving trajectory planning, thereby enhancing the user's driving experience.
[0024] In a second aspect, a control device is provided, comprising: an acquisition unit for acquiring a first target pose and a second target pose, wherein the first target pose and the second target pose are at the same position but have different postures; acquiring a first driving trajectory based on the first target pose and acquiring a second driving trajectory based on the second target pose; and a control unit for controlling vehicle driving based on the first driving trajectory and the second driving trajectory.
[0025] In conjunction with the second aspect, in some implementations of the second aspect, the first target pose and the second target pose are in the same position but the vehicle faces opposite directions.
[0026] In conjunction with the second aspect, in some implementations of the second aspect, the vehicle is in the first gear when the first driving trajectory ends and in the second gear when the second driving trajectory ends, and the first gear and the second gear are different.
[0027] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition unit is specifically used for: acquiring a first target pose based on the destination information; and acquiring a second target pose based on the first target pose.
[0028] In conjunction with the second aspect, in some implementations of the second aspect, the control unit is specifically used to: determine a target driving trajectory from the first driving trajectory and the second driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and the obstacle under the first driving trajectory and the second driving trajectory; and control the vehicle to drive based on the target driving trajectory.
[0029] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition unit is specifically used to: acquire the first target pose and the second target pose when the vehicle cannot pass through the road according to the preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system.
[0030] In conjunction with the second aspect, in some implementations of the second aspect, the road is a narrow passage.
[0031] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition unit is specifically used to: acquire the first target pose and the second target pose when it is detected that the user has activated the automatic parking function.
[0032] Thirdly, a control device is provided, comprising: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, such that the device performs a method corresponding to any of the implementations of the first aspect above.
[0033] Fourthly, a vehicle is provided, including a control device corresponding to any of the implementations of the second or third aspect above.
[0034] Fifthly, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a computer, enables the implementation of a method corresponding to any of the implementations in the first aspect above.
[0035] Sixthly, a computer program product is provided, the computer program product including computer program code, which, when run on a computer, causes the computer to implement the method corresponding to any of the implementation methods in the first aspect above.
[0036] In a seventh aspect, a chip is provided, comprising: a circuit for performing the method corresponding to any of the implementations of the first aspect above. Attached Figure Description
[0037] Figure 1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of this application.
[0038] Figure 2 is a schematic diagram of a system architecture that can be applied to a vehicle 100 according to an embodiment of this application.
[0039] Figure 3 is a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0040] Figure 4 is a schematic flowchart of a control method 400 according to an embodiment of this application.
[0041] Figure 5 is a schematic flowchart of a control method 500 according to an embodiment of this application.
[0042] Figure 6 is a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0043] Figure 7 is a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0044] Figure 8 is a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0045] Figure 9 shows a schematic flowchart of a control method 900 according to an embodiment of this application.
[0046] Figure 10 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0047] Figure 11 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application.
[0048] Figure 12 shows a schematic diagram of a parking scenario according to an embodiment of this application.
[0049] Figure 13 shows a schematic block diagram of a control device 1300 provided in an embodiment of this application. Detailed Implementation
[0050] The technical solutions of this application will now be described with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " indicates "or," for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. "At least one" refers to one or more. For example, "at least one of A and B," similar to "A and / or B," describes the relationship between related objects, indicating that three relationships can exist. For example, at least one of A and B can represent: A existing alone, A and B existing simultaneously, and B existing alone.
[0051] The prefixes such as "first" and "second" used in this application embodiment are merely for distinguishing different descriptive objects and do not limit the position, order, priority, quantity, or content of the described objects. The use of ordinal numbers and other prefixes used to distinguish descriptive objects in this application embodiment does not constitute a limitation on the described objects. The description of the described objects is given in the claims or the context of the embodiments, and should not constitute unnecessary restrictions due to the use of such prefixes. Furthermore, in the description of this embodiment, unless otherwise stated, "multiple" means two or more.
[0052] Figure 1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of this application. The vehicle 100 may include a sensing system 110, a computing platform 120, and a display device 130. The sensing system 110 may include one or more sensors for sensing information about the environment surrounding the vehicle 100. For example, the sensing system 110 may include a positioning system, which may be a Global Positioning System (GPS), a BeiDou Navigation Satellite System, or another positioning system. As another example, the sensing system 110 may include one or more of the following: an inertial measurement unit (IMU), an accelerometer, a lidar, a millimeter-wave radar, an ultrasonic radar, and a camera device.
[0053] Some or all of the functions of vehicle 100 can be controlled by computing platform 120. Computing platform 120 may include one or more processors, such as processors 121 to 12n (n being a positive integer). A processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction read and execute capabilities, such as a central processing unit (CPU), microprocessor, graphics processing unit (GPU) (which can be understood as a type of microprocessor), or digital signal processor (DSP). In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. These logical relationships are fixed or reconfigurable. For example, the processor may be a hardware circuit implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field-programmable gate array (FPGA). In reconfigurable hardware circuits, the process of the processor loading a configuration file to configure the hardware circuit can be understood as the process of the processor loading instructions to implement some or all of the functions of the aforementioned units. Furthermore, the processor can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), tensor processing unit (TPU), deep learning processing unit (DPU), etc. In addition, the computing platform 120 may also include a memory for storing instructions. Some or all of the processors 121 to 12n can call the instructions in the memory to implement the corresponding functions.
[0054] The in-cabin display devices 130 are mainly divided into two categories: the first is the in-vehicle display screen; the second is the projection display screen, such as the head-up display (HUD). An in-vehicle display screen is a physical display screen and an important component of the in-vehicle infotainment system. Multiple displays can be installed in the cabin, such as the digital instrument cluster display, the central control screen, the display screen in front of the front passenger (also known as the front-seat passenger), the display screen in front of the left rear passenger, and the display screen in front of the right rear passenger; even the car windows can be used as displays. A head-up display, also known as a head-up display system, is mainly used to display driving information such as speed and navigation on a display device in front of the driver (such as the windshield), reducing the driver's eye-shifting time, avoiding pupil changes caused by eye-shifting, and improving driving safety and comfort. Examples of HUDs include combiner-HUD (C-HUD) systems, windshield-HUD (W-HUD) systems, and augmented reality HUD (AR-HUD) systems. It should be understood that HUDs can also evolve into other types of systems as technology progresses, and this application does not limit them.
[0055] The above description of the display device 130 uses an in-vehicle display screen and a projection display screen as examples, but the embodiments of this application are not limited thereto. For example, the display device 130 can also be a light display screen or a projection screen.
[0056] Optionally, the structure of the vehicle 100 described above is merely illustrative. In actual applications, various components of the vehicle 100 may be added or removed as needed.
[0057] Vehicle 100 may include an intelligent driving system, which may include an advanced driving assistant system (ADAS) and an autonomous driving system (ADS). The intelligent driving system uses various sensors on the vehicle (including but not limited to: lidar, millimeter-wave radar, camera devices, ultrasonic sensors, global positioning system, inertial measurement unit) to acquire information from the vehicle's surroundings, and analyzes and processes the acquired information to achieve functions such as obstacle perception, target recognition, vehicle positioning, path planning, and driver monitoring / alerts, thereby improving the safety, automation, and comfort of driving the vehicle.
[0058] Vehicle-based driving automation systems are classified into five levels (or L0-L5) based on the degree to which they can perform dynamic driving tasks, according to the role allocation in performing these tasks and the presence or absence of an operational design domain (ODD), such as the external conditions (road, traffic, weather, lighting, etc.) defined during the system's design. Levels 0-2 represent driver assistance, where the system assists humans in performing dynamic driving tasks, but the driver remains the primary driver. Levels 3-5 represent autonomous driving, where the system performs dynamic driving tasks in place of the human under the designed operating conditions; when activated, the system becomes the primary driver. The names and definitions of each level are as follows:
[0059] Level 0 driving automation (also known as emergency assistance) systems cannot continuously perform lateral or longitudinal motion control of the vehicle during dynamic driving tasks, but they possess the ability to continuously perform partial target and event detection and response during dynamic driving tasks. Level 1 driving automation (also known as partial driver assistance) systems continuously perform lateral or longitudinal motion control of the vehicle during dynamic driving tasks under their design operating conditions, and possess the ability to perform partial target and event detection and response adapted to the performed lateral or longitudinal motion control. Level 2 driving automation (also known as combined driver assistance) systems continuously perform lateral and longitudinal motion control of the vehicle during dynamic driving tasks under their design operating conditions, and possess the ability to perform partial target and event detection and response adapted to the performed lateral and longitudinal motion control. Level 3 driving automation (also known as conditionally automated driving) systems continuously perform all dynamic driving tasks under their design operating conditions. Level 4 driving automation (also known as highly automated driving) systems continuously perform all dynamic driving tasks under their design operating conditions and automatically execute minimum risk strategies. Level 5 driving automation (also known as fully automated driving) systems continuously perform all dynamic driving tasks and automatically execute minimum risk strategies under any drivable conditions.
[0060] For example, Figure 2 shows a schematic diagram of a system architecture that can be applied to a vehicle 100 according to an embodiment of this application. In this system architecture, the vehicle 100 includes a perception system 110, a planning system 220, a control system 230, and vehicle hardware. The perception system 110 perceives the environment around the vehicle through sensors and inputs corresponding real-time data to the planning system 220. Based on the information obtained by the perception system 110, the planning system 220 plans the vehicle's driving trajectory and sends the planned trajectory to the control system 230. The control system 230 receives the driving trajectory information from the planning system 220 and controls the vehicle based on the trajectory. For example, the control system 230 can control the vehicle hardware, thereby enabling the vehicle to perform operations such as lane changing, steering, braking, and gear shifting.
[0061] In this embodiment, the perception system 110 can extract information about surrounding obstacles and parking spaces, and send it to the planning system 220 for further processing. It also transmits the relevant information to an electronic device (e.g., a mobile phone) via a network for the user to synchronize task progress. The planning system 220 receives the perception information from the perception system 110, plans a driving trajectory capable of completing the end-to-end task, and sends it to the control system 230. Simultaneously, it can receive relevant information from the control system 230 and perform operations such as real-time replanning. After receiving the information from the planning system 220, the control system 230 sends control commands to the vehicle hardware for actual closed-loop vehicle control.
[0062] The embodiments of this application can be applied to the planning system 220, and relevant improvements have been made to the planning system 220.
[0063] The planning system 220 and control system 230 can be located in the computing platform 120.
[0064] During the vehicle's journey along a predetermined trajectory, issues may arise due to untimely trajectory updates when the surrounding driving environment is complex or changes rapidly, thus impacting the user's driving experience. Furthermore, the detection range of various sensors in the vehicle's perception system 110 is typically limited. For example, the vehicle's camera sensor has a recognition distance of 15m. Figure 3 illustrates a vehicle driving scenario according to an embodiment of this application, where the arrows represent the vehicle's current driving direction. As shown in Figure 3, suppose the vehicle is traveling on a long, straight road where the road ahead is impassable and its length exceeds the detection range of the perception system 110 (e.g., the road length is 50m). In this case, the vehicle needs to leave the road by making a U-turn or continuously reversing. If the road width is insufficient for the vehicle to complete a U-turn, the driver will generally choose to reverse to a wider area before making a U-turn or performing other operations. However, in advanced driver assistance systems or autonomous driving systems, the vehicle struggles to automatically reverse continuously in such scenarios, requiring multiple adjustments to the vehicle's orientation. The vehicle's trajectory planning is not flexible enough, resulting in a lengthy U-turn operation and reduced driving efficiency. Alternatively, in such scenarios, the vehicle may require driver intervention, which could affect the user's driving experience.
[0065] Based on this, embodiments of this application propose a control method, device, and vehicle that can update the driving trajectory, have greater flexibility in driving trajectory planning, and help improve the user's driving experience.
[0066] Figure 4 shows a schematic flowchart of a control method 400 according to an embodiment of this application. Method 400 can be executed by the vehicle 100, or by the computing platform 120, or by a system consisting of the computing platform 120 and the sensing system 110, or by a system-on-a-chip (SoC) in the computing platform 120, or by a processor, chip, or circuit in the computing platform 120, or by the planning system 220. Method 400 includes:
[0067] S410: Obtain the first target pose and the second target pose, where the first target pose and the second target pose are in the same position but have different orientations.
[0068] It should be understood that the first and second target poses described above are merely examples, and the acquisition of more target poses is also possible. For example, a third target pose can also be acquired, wherein the first, second, and third target poses are in the same position but have different orientations.
[0069] Optionally, the first target pose and the second target pose can be in the same position but with the vehicle's front facing opposite directions.
[0070] Optionally, obtaining the first target pose and the second target pose includes: obtaining the first target pose based on the destination information; and obtaining the second target pose based on the first target pose.
[0071] Optionally, acquiring the first target pose and the second target pose includes: acquiring the first target pose and the second target pose when the vehicle cannot pass through the road according to the preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system.
[0072] For example, the road can be a narrow road. In this embodiment, a narrow road can refer to a road with a width less than or equal to a preset width, or a road with a width insufficient to allow a vehicle to make a U-turn on the spot, or a road with a width insufficient to allow a vehicle to complete a U-turn in one smooth motion without shifting gears. The preset width can be flexibly set based on the vehicle's historical U-turn data or surrounding environmental information.
[0073] Optionally, obtaining the first target pose and the second target pose includes: obtaining the first target pose and the second target pose when it is detected that the user has activated the automatic parking function.
[0074] For example, the first target pose and the second target pose can be located within a parking space.
[0075] S420: Obtain a first driving trajectory based on the first target pose and a second driving trajectory based on the second target pose.
[0076] Optionally, the vehicle is in first gear when the first driving trajectory ends and in second gear when the second driving trajectory ends, and the first gear and the second gear are different.
[0077] For example, the first gear can be D gear and the second gear can be R gear. Combining the aforementioned first target position and second target position with the same location and opposite vehicle directions, the first driving trajectory can be the vehicle's U-turn trajectory, and the second driving trajectory can be the vehicle's reversing trajectory.
[0078] S430: Control the vehicle's movement based on the first and second driving trajectories.
[0079] Optionally, controlling vehicle movement based on a first driving trajectory and a second driving trajectory includes: determining a target driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and an obstacle under the first driving trajectory and the second driving trajectory; and controlling vehicle movement based on the target driving trajectory.
[0080] For example, the curvature of the first and second driving trajectories can include the continuity of curvature and the rate of change of curvature. The continuity of curvature can be determined using a continuous function. The gear shift information of the first and second driving trajectories can include the number of gear shifts in the first and second driving trajectories.
[0081] Figure 5 shows a schematic flowchart of a control method 500 according to an embodiment of this application. For ease of description, in this embodiment, the vehicle executing the control method is referred to as the "self-vehicle," the current driving trajectory of the self-vehicle is referred to as the first trajectory, and the new trajectory after trajectory update is referred to as the second trajectory. The control method 500 includes:
[0082] S501: Real-time planning triggers decision-making.
[0083] For example, real-time planning triggering decisions are primarily used to determine whether the planning process needs to be triggered at any given time.
[0084] In one implementation, when the vehicle's perception system detects changes in the surrounding environment, it can trigger real-time planning decisions. In one possible scenario, when the vehicle enters an underground parking garage from a public road, the garage contains numerous obstacles (such as retaining walls, stationary vehicles, turnstiles, etc.), and driving within the garage involves many turns and oncoming traffic. In this situation, the vehicle's perception system recognizes the complex surrounding environment and the presence of obstacles within its detection range, triggering a real-time planning decision. Alternatively, when the vehicle cannot follow a preset driving trajectory (e.g., the road ahead is impassable), it can trigger a real-time planning decision. Figure 6 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application. As shown in Figure 6, the vehicle is currently at position A. The vehicle's perception system detects that the road ahead is blocked by a wall, making passage impossible. If it continues to drive along the first trajectory (as shown by the solid black line in the figure), there may be a collision risk; therefore, real-time planning is triggered.
[0085] In one implementation, when the vehicle's driving state changes from the preset driving trajectory, such as when the vehicle suddenly stops or the driving state changes rapidly in a short period of time (e.g., when the vehicle brakes suddenly or turns the steering wheel sharply, or when the change in speed or the steering wheel angle exceeds the preset safety value), it is determined that the vehicle may have encountered an emergency situation during its driving process, and the first trajectory may no longer be applicable to the current environment. At this time, the vehicle can trigger a real-time planning decision.
[0086] In one implementation, the real-time planning process can be triggered periodically. The trigger interval of the real-time planning process can be set according to the needs of the actual application, and the trigger interval can be a preset distance. When the trigger interval is a preset distance, the real-time planning process is triggered once every fixed distance during the vehicle's journey. For example, the preset distance can be 100m, and the real-time planning process is triggered once every 100m traveled. Alternatively, the preset distance can also be adjusted according to the vehicle's speed. For example, when the vehicle's speed is relatively high, for example, if the vehicle's speed is consistently above 80km / h in the previous preset distance, it is determined that the vehicle is in a high-speed driving state, and the preset distance can be adjusted to 1km; when the vehicle's speed is relatively slow, for example, if the vehicle's speed is consistently below 5km / h or the average speed is below 5km / h in the previous preset distance, it is determined that the vehicle is in a slow driving state, and the preset distance can be adjusted to 40cm.
[0087] In one implementation, the trigger interval for the real-time planning process can also be a preset duration. When the trigger interval is a preset duration, the real-time planning process is triggered once at fixed intervals during the vehicle's operation. For example, the preset duration could be 1 minute, meaning the real-time planning process is triggered once every minute of driving. Alternatively, the preset duration can also be adjusted based on the vehicle's speed. For instance, when the vehicle's speed is slow, for example, if the vehicle's speed is consistently below 5 km / h or the average speed is below 5 km / h within the previous preset duration, the vehicle is determined to be in a slow-moving state, and the surrounding environment is relatively complex. In this case, the preset duration can be adjusted to 25 seconds.
[0088] In one implementation, real-time planning can be triggered by a user. For example, a real-time planning activation button can be installed inside the vehicle, which the user can click to initiate the real-time planning process. This button can be a physical button or a virtual button. Alternatively, the user can also trigger the real-time planning process via voice.
[0089] It should be understood that the decision-making methods for triggering the real-time planning process described above are merely examples, and different implementation methods can be flexibly selected according to different application scenarios.
[0090] S502: Trigger real-time planning.
[0091] According to step S501, when the decision result indicates that real-time planning is required, real-time planning is triggered. The real-time trajectory process includes determining the initial pose and the target pose, and planning a second trajectory based on the initial pose and the target pose, as detailed in steps S503 to S505.
[0092] S503: Determine the initial pose.
[0093] The pose includes the vehicle's position and attitude. When real-time planning is triggered, the initial pose for path planning can be calculated. For example, the closest point that can be found in the first trajectory to the current vehicle position can be used as a reference. Based on that point, a point a certain distance away can be pre-aimed at based on the current vehicle speed as the starting position. The current driving attitude of the vehicle is used as the starting attitude. The initial pose is determined by combining the starting position and the starting attitude. As shown in Figure 6, the current vehicle is located at position A. The black solid line represents the first trajectory that the vehicle is currently traveling on. Based on the current vehicle speed, position B on the first trajectory ahead of position A is used as the starting position. The vehicle attitude at position B is consistent with the current vehicle attitude. The final initial pose of the vehicle is shown as the vehicle pose at position B in the figure.
[0094] S504: Determine the target pose.
[0095] After determining the initial pose, the target pose for path planning can be calculated. For example, using the road structure as a reference, based on the current vehicle pose and the orientation of the destination, a certain distance can be extrapolated in the direction away from the vehicle, according to the vehicle's travel direction, to generate the target pose. After determining the target pose, collision detection can be performed on it. A threshold of 1 is used to determine whether the vehicle will collide with obstacles around the target pose. After the collision detection passes, step S505 is executed. The threshold of 1 can be a preset distance between the vehicle and obstacles, also known as a safety distance. As shown in Figure 6, the vehicle's destination is to the right of the current vehicle. Based on the vehicle's travel path from the current position to the destination, the wall position, road information, and the vehicle's pose at position A, the target pose shown at position C in the figure is generated.
[0096] For example, collision detection can be performed using the (gilbert–johnson–keerthi, GJK) algorithm, or using the separating axis theorem (SAT), or other methods.
[0097] S505: Planning a second trajectory.
[0098] Path search and planning are performed based on the initial pose and the target pose to obtain the second trajectory from the initial pose to the target pose. As shown in Figure 6, the second trajectory is generated based on the initial pose at position B and the target pose at position C, and this second trajectory is shown as the dashed line in the figure.
[0099] For example, a path search planning algorithm or geometric method can be used to generate a second trajectory from the vehicle's initial pose to its target pose. The path search planning algorithm can be an A* (A-star) algorithm, a hybrid A* algorithm, or an ultrafast A* algorithm.
[0100] S506: Determine whether the second trajectory meets the trajectory update conditions.
[0101] For example, when it is determined that the second trajectory meets the trajectory update conditions, step S507 is executed; otherwise, step S502 is executed.
[0102] S507: Update the driving trajectory to the second trajectory.
[0103] After planning the second trajectory in step S505, a decision is made on whether to actually update the trajectory, i.e., whether to drive according to the second trajectory or continue driving according to the first trajectory. For example, the trajectory update conditions can be comprehensively evaluated by assessing the quality of the second trajectory (such as the smoothness and human-likeness of the second trajectory), gear change information, and the distance of the starting pose from the current position of the vehicle.
[0104] In one implementation, the trajectory update condition can be that the smoothness of the second trajectory is better than that of the first trajectory. The smoothness of the second trajectory can be measured by the continuity of its curvature and the rate of change of its curvature. The continuity of curvature can be determined using a continuity function. If the continuity function of the second trajectory indicates that the curvature of the second trajectory is discontinuous, it means that there is a jump or abrupt change at the connection point of the second trajectory, and the vehicle may experience a sudden change in driving direction when it travels to the connection point, affecting the user experience. The rate of change of curvature can be determined by whether there is an abrupt change in curvature or by calculating the sum of the angle changes per unit length in a certain path segment. For example, when the rate of change of curvature of the second trajectory is lower than that of the first trajectory, or when the continuity of curvature of the second trajectory is better than that of the first trajectory, it is determined that the smoothness of the second trajectory is better than that of the first trajectory, and the second trajectory meets the trajectory update condition; otherwise, step S502 is executed to perform real-time planning again.
[0105] In one implementation, the trajectory update condition can be that the human-likeness of the second trajectory is better than that of the first trajectory. The human-likeness of the second trajectory can be measured by parameters such as the number of gear shifts in the second trajectory and the distance between the vehicle and environmental obstacles under the second trajectory. For example, the distance between the vehicle and environmental obstacles can be represented by the average of the closest distances between the vehicle and environmental obstacles. For example, the fewer the number of gear shifts in the second trajectory, the more it conforms to the user's driving habits; the larger the average of the closest distances between the second trajectory and environmental obstacles, the farther the vehicle is from the obstacles, the less pressure the vehicle brings to the user during driving, and the smaller the impact on the user experience. For example, when the number of gear shifts in the second trajectory is lower than the number of gear shifts in the first trajectory, or when the average of the closest distances between the second trajectory and environmental obstacles is higher than the average of the closest distances between the first trajectory and environmental obstacles, it is determined that the human-likeness of the second trajectory is better than that of the first trajectory, and the second trajectory meets the trajectory update condition; otherwise, step S502 is executed to perform real-time planning again.
[0106] The gear shift information may include the number of gear shifts in the second trajectory. In one implementation, the trajectory update condition may be that the number of gear shifts in the second trajectory is lower than the number of gear shifts in the first trajectory, or that the number of gear shifts in the second trajectory is less than or equal to a first threshold. For example, when the number of gear shifts in the second trajectory is lower than the number of gear shifts in the first trajectory, or when the number of gear shifts in the second trajectory is less than or equal to the first threshold, it can be determined that the second trajectory meets the trajectory update condition; otherwise, step S502 is executed to perform real-time planning again. The first threshold refers to the maximum number of gear shifts that the user can accept in a given trajectory. The first threshold can be set by the vehicle manufacturer based on historical experience or user data, or it can be modified by the user.
[0107] In one implementation, the trajectory update condition can be that the planning time of the second trajectory is less than a preset duration. Since planning the second trajectory in step S505 may take a long time, in one scenario, if the vehicle triggers real-time planning in step S501 by planning once every fixed preset duration, when the time for the vehicle to plan the second trajectory exceeds the fixed preset duration, it is determined that the second trajectory planning has timed out, the driving trajectory is not updated, and real-time planning is performed again.
[0108] In one implementation, the trajectory update condition can be that the direction and distance between the starting pose of the second trajectory and the current position of the vehicle meet preset conditions. The distance between the starting pose of the second trajectory and the current position of the vehicle can be calculated. Figure 7 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application. Before the trajectory is updated, the vehicle always travels along the first trajectory. In one scenario, as shown in Figure 7(a), the vehicle travels from position A to position D1 during the planning of the second trajectory. When the distance between position D1 and position B, where the starting pose of the second trajectory is located, is less than a threshold 2, in order to prevent the vehicle from suddenly changing its driving trajectory and affecting the user's driving experience, the driving trajectory can be left unupdated, and the vehicle can be controlled to perform real-time planning again. The threshold 2 can refer to the minimum distance between the starting pose and the current position of the vehicle. In one scenario, during the planning of the second trajectory, the vehicle may have already traveled a considerable distance along the first trajectory, as shown in Figure 7(b). During the planning of the second trajectory, the vehicle travels from position A to position D2, exceeding position B where the starting pose of the second trajectory is located. Based on the vehicle's direction of travel, it is determined that the preset conditions are not met between position D1 and position B where the starting pose of the second trajectory is located. At this time, the vehicle cannot travel along the second trajectory at position D2, so the travel trajectory is not updated, and real-time planning is performed again.
[0109] For example, the decision to update the driving trajectory can also be made by the user. In one implementation, after the second trajectory is planned, the starting pose, target pose, and relevant information about the second trajectory can be displayed on the display device. The user is then asked whether the driving trajectory needs to be updated via a pop-up window on the display device or a voice prompt. The user can provide feedback on the decision by replying with voice or clicking the corresponding control on the screen. If the user's decision to update the driving trajectory is received, step S507 is executed; otherwise, step S502 is executed.
[0110] S508: Control the vehicle's movement according to the second trajectory.
[0111] After determining in step S506 that the second trajectory meets the update conditions, the driving trajectory is updated in real time, changing the vehicle's driving trajectory after position B from the first trajectory to the second trajectory. For example, the updated second trajectory can be displayed on a display device to indicate to the user that the vehicle will follow the second trajectory after position B.
[0112] When the vehicle reaches position B, its trajectory is updated from the first trajectory to the second trajectory.
[0113] For example, algorithms such as pure pursuit (PP) control, Stanley control, proportional-integral-derivative (PID) control, and model predictive control can be used to control the vehicle to travel along a second trajectory.
[0114] S509: Is it necessary to replan the driving trajectory?
[0115] For example, when it is determined that the driving trajectory needs to be replanned, step S510 is executed, followed by step S502; otherwise, step S501 is executed.
[0116] S510: Controls the vehicle to stop automatically.
[0117] For example, if the environment around the vehicle becomes too complex to be planned in real time while driving along the second trajectory, or if the environment around the vehicle changes significantly and the second trajectory is no longer applicable to the new environment, the vehicle's driving trajectory needs to be replanned. To avoid accidents, the vehicle can be brought to a stop first, and then real-time planning can be performed again.
[0118] Figure 8 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application. As shown in Figure 8, when the vehicle travels along the second trajectory to position E, the vehicle's perception system detects the presence of other vehicles ahead (as shown in Figure 8). The vehicle cannot continue to travel along the second trajectory. In order to avoid a collision with other vehicles, the vehicle can be brought to a stop first, and then real-time planning can be performed again.
[0119] When it is determined in step S509 that there is no need to replan the driving trajectory, the vehicle is controlled to maintain the state of driving according to the second trajectory until real-time planning is triggered again according to step S501. Taking the real-time planning process of the vehicle as an example that is triggered periodically according to a preset time, when the vehicle is driving according to the second trajectory, the driving time of the vehicle reaches the preset time, and real-time planning can be triggered again.
[0120] Based on the above technical solution, the vehicle can update its driving trajectory in real time during operation, which helps to adapt the vehicle's driving trajectory to the surrounding environment and the user's needs.
[0121] Based on the above technical solutions, and in addition to real-time planning of driving trajectories, this application embodiment also provides a control method 900. This control method 900 can acquire multiple target poses, obtain multiple driving trajectories based on these target poses, and select one of these driving trajectories as the target trajectory according to different update conditions, controlling the vehicle to drive according to the target trajectory. This provides greater flexibility and rationality in vehicle driving trajectory planning, helping to improve the user's driving experience.
[0122] Figure 9 illustrates a control method 900 according to an embodiment of this application. The method 900 includes:
[0123] S901: Real-time planning triggers decision-making.
[0124] Referring to step S501 above, when the vehicle's perception system detects changes in the surrounding environment, it can decide whether to trigger real-time planning. Figure 10 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application, where the length of the road where the vehicle is located exceeds the detection range of the perception system. As shown in Figures 10(a) and (b), the thick black solid lines in the figures represent road boundaries, the initial driving direction of the vehicle is shown by the black arrows in the figures, and the gray solid lines within the lanes represent the first trajectory of the vehicle's current driving. When the vehicle travels to position F within the narrow passage in the figures, and it is determined that the first trajectory cannot pass through the narrow passage and / or the length of the narrow passage exceeds the detection range of the vehicle's perception system, the vehicle can determine to trigger real-time planning.
[0125] S902: Trigger real-time planning.
[0126] According to step S901, when the decision result indicates that real-time planning is required, real-time planning is triggered. The real-time trajectory process includes determining the initial pose and at least one target pose, and planning the driving trajectory based on the initial pose and at least one target pose, as detailed in steps S903 to S905.
[0127] S903: Determine the initial pose.
[0128] Referring to step S503 above, when real-time planning is triggered, the initial pose of the vehicle can be calculated. As shown in Figures 10(a) and (b), the current vehicle is located at position F. Based on the current vehicle speed, position G on the first trajectory in front of position F is taken as the starting position. The vehicle's pose at position G is consistent with the current vehicle. The final initial pose of the vehicle is shown as the vehicle pose at position G in the figure.
[0129] S904: Obtain the first target pose and the second target pose.
[0130] Referring to step S504 above, after determining the initial pose, the target pose of the vehicle can be calculated. For example, based on the road structure and information about the current vehicle's direction of travel and destination, a certain distance can be extrapolated in the direction away from the vehicle to generate a first target pose and a second target pose. The first and second target poses can have the same position but different orientations. The selection of the first and second target poses can be determined jointly by environmental information and destination information.
[0131] For example, as shown in Figures 10(a) and (b), since the destination of the vehicle is located outside the narrow passage, the vehicle needs to leave the current narrow passage before heading towards the destination. When the width of the narrow passage is sufficient to complete the U-turn, in order to ensure that the vehicle can travel continuously along the shortest path until leaving the narrow passage after adjusting its direction, a first target pose can be generated based on the vehicle's travel path from its current position to its destination, road information, and the user's driving habits. This first target pose is located between the vehicle's current position and its destination, with the front of the vehicle facing the destination, corresponding to the target pose after the vehicle makes a U-turn, as shown by the vehicle's pose at position H1 in Figure 10(a). The pose that is flipped 180 degrees from the first target pose is set as the second target pose, corresponding to the target pose of the vehicle reversing, as shown by the vehicle's pose at position H2 in Figure 10(b). That is, the first target pose and the second target pose are in the same position but with the front of the vehicle facing opposite directions.
[0132] When the vehicle's perception system detects that the road width is insufficient to complete a U-turn, the vehicle must first reverse away from the narrow passage before proceeding to its destination. Optionally, the first target pose and the second target pose can be located within the narrow passage. In this case, the first target pose corresponds to the reversing pose, with the vehicle's front facing the same direction as the initial pose. Based on information about the vehicle's surrounding environment, the first target pose can be slightly adjusted at a certain angle to obtain the second target pose, facilitating vehicle movement.
[0133] Optionally, the first target pose and the second target pose can be located outside the narrow passage. Figure 11 shows a schematic diagram of a vehicle driving scenario according to an embodiment of this application. The gray solid line in the lane represents the first trajectory of the vehicle's current travel. As shown in Figures 11(a) and (b), the width of the road where the vehicle is located is insufficient to complete the U-turn operation, and the length of the road exceeds the detection range of the perception system. Since the destination is located on the right side of the road, the vehicle needs to first leave the current dead-end road and turn right to the passage where the destination is located. After determining the initial pose (the pose of the vehicle at point G in the figure) in step S903, in order to facilitate the vehicle turning towards the destination after leaving the narrow road, a first target pose and a second target pose are obtained based on the vehicle's travel path from the current position to the destination, road information, and the vehicle's pose at position F. The first target pose is located between the vehicle's current position and the destination, and the vehicle body is parallel to the road. It corresponds to the target pose of the vehicle traveling horizontally after leaving the narrow road, as shown in the pose of the vehicle at position H1 in Figure 11(a). The pose of rotating the first target pose counterclockwise by 90 degrees is set as the second target pose, which corresponds to the target pose of the vehicle facing the destination after leaving the narrow road, as shown in the pose of the vehicle at position H2 in Figure 11(b).
[0134] Figure 12 illustrates a parking scenario according to an embodiment of this application, with arrows indicating the vehicle's driving direction. Typically, a vehicle enters a parking space in two ways: as shown in Figure 12(a), with the front facing inward and the rear facing outward, and as shown in Figure 12(b), with the front facing outward and the rear facing inward. Exemplarily, the first target pose and the second target pose can be set by the vehicle manufacturer or by the user. For example, to facilitate the user retrieving items from the trunk, the front-facing-inward, rear-facing pose shown in Figure 12(a) can be prioritized as the first target pose, and the front-facing-outward, rear-facing pose shown in Figure 12(b) can be set as the second target pose. The first target pose and the second target pose are in the same position but with the front facing in opposite directions.
[0135] After determining the first target pose and the second target pose, collision detection can be performed on these two target poses respectively. Based on a threshold of 1, it is determined whether the vehicle will collide with surrounding obstacles when it is in the first target pose or the second target pose. After the collision detection of the first target pose and the second target pose passes, step S905 is executed.
[0136] S905: Planning the third and fourth trajectories.
[0137] Referring to the aforementioned step S505, a path search and planning is performed based on the initial pose, the first target pose, and the second target pose to obtain the third trajectory from the initial pose to the first target pose and the fourth trajectory from the initial pose to the second target pose.
[0138] For example, the gears at the end of the third and fourth tracks can be different. For instance, the third track could be a turnaround track with D gear as the search end gear, and the fourth track could be a track with R gear as the search end gear.
[0139] In this embodiment, switching from D to R gear is counted as one gear shift, and switching from R to D gear is counted as another gear shift. Taking a U-turn as an example, when the road is wide, such as a public road with four or more lanes in both directions, the vehicle can directly use D gear to complete the U-turn without shifting gears, and the number of gear shifts under this driving trajectory is counted as zero. If the road width at the current location of the vehicle is insufficient to directly complete the U-turn, the vehicle may need to perform multiple gear shifts to adjust its driving direction.
[0140] When the road width on both sides of the vehicle's location is sufficient to complete a U-turn, the vehicle can attempt to plan its trajectory using Drive (D) as the starting gear. For example, as shown in Figure 10(a), the trajectory indicated by the thin black solid line represents the third trajectory. Positions 1, 2, and 3 represent temporary stopping positions, or gear shifting positions, of the vehicle while following the third trajectory. The vehicle's temporary stopping positions can also pass collision detection, satisfying the threshold condition 1. The third trajectory requires four gear shifts. Specifically, first, control the vehicle to travel from the starting position G to position 1 in D gear, and then control the vehicle to switch from D gear to R gear at position 1, which is recorded as one gear shift; then, control the vehicle to travel from position 1 to position 2 in R gear, and then control the vehicle to switch from R gear to D gear at position 2, which is recorded as the second gear shift; then, control the vehicle to travel from position 2 to position 3 in D gear, and then control the vehicle to switch from D gear to R gear at position 3, which is recorded as the third gear shift; then, control the vehicle to travel from position 3 to position 4 in R gear, and then control the vehicle to switch from R gear to D gear at position 4, which is recorded as the fourth gear shift; finally, control the vehicle to travel to position H1 in D gear.
[0141] For example, as shown in Figure 10(b), the trajectory indicated by the black dashed line represents the fourth trajectory. It only requires controlling the vehicle to switch from D to R gear at the initial position G. In R gear, the vehicle can be directly controlled to travel from the initial position to the second target position H2. The fourth trajectory involves one gear shift.
[0142] When the road width at the vehicle's initial position is insufficient to complete a U-turn, as shown in Figures 11(a) and (b), the vehicle needs to reverse away from the narrow road before turning. In Figure 11(a), the thin black solid line represents the third trajectory, and position 1 indicates the vehicle's temporary stopping position while following the third trajectory. Position 1 passes collision detection, satisfying the threshold condition 1. The third trajectory requires two gear shifts. Specifically, the vehicle is first controlled to shift from D to R at the initial position G, recorded as one gear shift; then, the vehicle is controlled to travel from the initial position to position 1 in R gear, and then shifts back from R to D at position 1, recorded as the second gear shift; finally, the vehicle is controlled to travel to position H1 in D gear. In Figure 11(b), the dashed line represents the fourth trajectory, which only requires the vehicle to shift from D to R at the initial position G. In R gear, the vehicle can be directly controlled to travel from the initial position to the second target position H2. The fourth track shifts gears once.
[0143] In the parking scenario, the trajectory shown by the thin black solid line in Figure 12(a) represents the third trajectory, and positions 1 and 2 represent the temporary parking positions of the vehicle while driving along the third trajectory. Positions 1 and 2 can pass collision detection, satisfying the judgment condition of threshold 1. Two gear shifts are required while controlling the vehicle to drive along the third trajectory. Specifically, first, the vehicle is controlled to drive from the initial position G to position 1 in D gear, and then the vehicle is controlled to switch from D gear to R gear at position 1, which is recorded as one gear shift; then, the vehicle is controlled to drive from position 1 to position 2 in R gear, and then the vehicle is controlled to switch from R gear to D gear at position 2, which is recorded as the second gear shift; finally, the vehicle is controlled to drive to position H1 in D gear. The trajectory shown by the dashed line in Figure 12(b) represents the fourth trajectory, and one gear shift is required while controlling the vehicle to drive along the third trajectory. Specifically, first control the vehicle to travel from the starting position G to position 1 in D gear, and then control the vehicle to switch from D gear to R gear at position 1, which is recorded as one gear shift; then control the vehicle to travel to position H2 in R gear.
[0144] S906: Determine whether the third trajectory meets the trajectory update conditions.
[0145] For example, when the third trajectory meets the trajectory update conditions, step S907 can be executed; otherwise, step S909 can be executed.
[0146] S907: The third trajectory is determined to be the target trajectory.
[0147] S908: Controls the vehicle's movement according to the target trajectory.
[0148] S909: The fourth trajectory is determined to be the target trajectory.
[0149] In most users' driving habits, the time spent driving in D gear is much longer than in R gear. In a driving scenario, as shown in Figures 10 and 11, the vehicle's destination is outside a narrow road. To facilitate the vehicle's continued travel to other roads after leaving the narrow road and to make the vehicle's trajectory more in line with the user's driving and riding habits, it is possible to prioritize determining whether the third trajectory meets the trajectory update conditions, that is, to prioritize determining whether the driving trajectory ending in D gear meets the trajectory update conditions.
[0150] In one implementation, the trajectory update condition may be that the number of gear shifts of the third trajectory is less than or equal to a first threshold.
[0151] For example, suppose the first threshold is three gear shifts. According to the third trajectory planned in Figure 10(a), this third trajectory requires four gear shifts. Therefore, it is determined that the number of gear shifts on the third trajectory exceeds the first threshold. Step S909 is executed to determine the fourth trajectory as the target trajectory, and the vehicle is controlled to leave the narrow passage according to the fourth trajectory planned in Figure 10(b). In this scenario, turning around in a narrow passage requires many gear shifts. To save driving time, the vehicle can be driven away from the narrow passage in reverse first, and then a wider location can be found for the turnaround. This allows for adaptive judgment and planning of the driving trajectory based on the lane width, improving the flexibility and rationality of the driving trajectory planning, thereby enhancing the user's driving experience.
[0152] In one driving scenario, taking a first threshold of three gear shifts as an example, according to the third trajectory planned in Figure 11(a), the number of gear shifts in the third trajectory is two. Therefore, it is determined that the number of gear shifts in the third trajectory does not exceed the first threshold, and step S907 is executed to determine the third trajectory as the target trajectory. The vehicle is then controlled to drive based on the third trajectory. In this scenario, the number of gear shifts is relatively small and within a range easily accepted by the user. It is possible to choose to control the vehicle's driving with D gear as the final gear after multiple gear shifts, which is more in line with the user's driving habits and thus improves the user's driving experience.
[0153] In parking scenarios, trajectory update conditions can also be combined with user habits. As shown in Figure 12, if the user's habit is to take items from the trunk after parking, in order to make the vehicle's trajectory more consistent with the user's habits, it is possible to prioritize whether the third trajectory meets the trajectory update conditions, that is, to prioritize whether the driving trajectory ending in D gear meets the trajectory update conditions.
[0154] For example, in this case, assuming the first threshold is three gear shifts, and the third trajectory planned according to Figure 12(a) has two gear shifts, it is determined that the number of gear shifts of the third trajectory does not exceed the first threshold, and step S907 is executed to determine the third trajectory as the target trajectory.
[0155] Optionally, if the user wants to be able to leave the parking space more easily on the next drive, they can prioritize determining whether the fourth trajectory meets the trajectory update conditions, that is, prioritize determining whether the driving trajectory ending in R gear meets the trajectory update conditions. In this case, steps S906 to S910 can be changed to the following process (refer to S906' to S910' below):
[0156] S906′, does the fourth trajectory meet the trajectory update conditions?
[0157] If the fourth trajectory meets the trajectory update condition, proceed to step S907'; otherwise, proceed to step S909'.
[0158] S907′, the fourth trajectory is determined to be the target trajectory.
[0159] S908′ controls the vehicle's movement according to the target trajectory.
[0160] S909′, the third trajectory is determined to be the target trajectory.
[0161] For example, in this case, assuming the first threshold is three gear shifts, according to S906′ to S909′, the fourth trajectory planned in Figure 12(b) has one gear shift. Then it is determined that the number of gear shifts of the fourth trajectory does not exceed the first threshold, and step S907′ is executed to determine the fourth trajectory as the target trajectory.
[0162] Optionally, the trajectory update condition can be to directly compare the number of gear shifts corresponding to the third and fourth trajectories, and select the trajectory with fewer gear shifts as the target trajectory.
[0163] For example, based on the third trajectory shown in Figure 12(a) and the fourth trajectory shown in Figure 12(b), the third trajectory has two gear shifts and the fourth trajectory has one gear shift. The fourth trajectory has fewer gear shifts than the third trajectory, so the fourth trajectory can be determined as the target trajectory.
[0164] In one implementation, the trajectory update condition can be that the distance between the vehicle and the obstacle under the third trajectory is greater than the distance between the vehicle and the obstacle under the fourth trajectory.
[0165] The distance between the vehicle and the obstacle can be the minimum distance between the vehicle and the surrounding obstacle while the vehicle is traveling along the trajectory, or the average distance between the vehicle and the surrounding obstacle while the vehicle is traveling along the trajectory. As shown in Figure 10, in Figure 10(a), the distance between the vehicle and the surrounding obstacle (wall) at the temporary parking positions 1, 2, and 3 is relatively close. The distance between the vehicle and the obstacle under the third trajectory is less than the distance between the vehicle and the obstacle under the fourth trajectory. Therefore, it can be determined that the third trajectory does not meet the trajectory update conditions, and step S909 is executed.
[0166] In one implementation, the trajectory update condition may be that the continuity of the curvature of the third trajectory is better than the continuity of the curvature of the fourth trajectory.
[0167] As shown in Figure 10, the vehicle needs to shift gears at the temporary parking position. The curvature of the local trajectory before shifting gears is not continuous with the curvature of the local trajectory after shifting gears. Therefore, it can be determined that the third trajectory does not meet the trajectory update conditions, and step S909 is executed.
[0168] In one implementation, there can be multiple trajectory update conditions. For example, the number of gear shifts and the curvature of the trajectory can be used together as trajectory update conditions. For instance, it can be first determined whether the number of gear shifts of the third trajectory exceeds a first threshold. If the number of gear shifts of the third trajectory exceeds the first threshold, it is determined that the third trajectory does not meet the trajectory update conditions, and the trajectory is updated to the fourth trajectory. If the number of gear shifts of the third trajectory is less than or equal to the first threshold, it can be further determined whether the continuity of the curvature of the third trajectory is better than the continuity of the curvature of the fourth trajectory. If the continuity of the curvature of the third trajectory is better than that of the fourth trajectory, it is determined that the third trajectory meets the trajectory update conditions, and the trajectory is updated to the third trajectory. If the continuity of the curvature of the third trajectory is worse than that of the fourth trajectory, it is determined that the third trajectory does not meet the trajectory update conditions, and the trajectory is updated to the fourth trajectory. As shown in Figure 11, when the first threshold is three gear shifts, according to the third trajectory planned in Figure 11(a), the number of gear shifts of the third trajectory is two. Therefore, it is determined that the number of gear shifts of the third trajectory does not exceed the first threshold, and the continuity of the curvature of the third trajectory and the fourth trajectory is further determined. Since the third trajectory needs to shift gears at position 1, the curvature of the trajectory before shifting gears (from position G to position 1) is not continuous with the curvature of the trajectory after shifting gears (from position 1 to position H1), while the curvature of the fourth trajectory planned in Figure 11(b) is continuous. Therefore, it can be determined that the third trajectory does not meet the trajectory update conditions, and the fourth trajectory is determined as the target trajectory.
[0169] For example, the number of gear shifts and the distance between the vehicle and obstacles can be used together as trajectory update conditions. For instance, different weights can be assigned to the number of gear shifts and the distance between the vehicle and obstacles, and a score can be calculated for each trajectory. By calculating this score, the trajectory that best meets the trajectory update conditions among multiple trajectories can be selected as the target trajectory.
[0170] It should be understood that the trajectory update conditions and their combinations described above are merely examples, and other trajectory update conditions can be selected or the combination of the above trajectory update conditions can be adjusted according to actual needs.
[0171] Optionally, referring to step S506, if the direction and distance between the initial pose of the third and fourth trajectories and the current position of the vehicle do not meet the preset conditions, step S902 can also be executed to perform real-time planning again.
[0172] For example, during the process of the vehicle traveling according to the target trajectory, the following steps may also be included:
[0173] S910: Is it necessary to replan the driving trajectory?
[0174] For example, when it is determined that the driving trajectory needs to be replanned, step S911 is executed, followed by step S902; otherwise, step S901 is executed.
[0175] S911: Controls the vehicle to stop automatically.
[0176] The specific details of S910 and S911 can be found in steps S509 and S510 above, and will not be repeated here.
[0177] It should be understood that the first and second target poses mentioned above are merely examples. In some vehicle driving scenarios, more target poses can be set in step S904. For example, a first target pose 1 and a first target pose 2 can be planned with the same position, ending in D gear, but with different vehicle orientations. A second target pose can also be planned with the same position as the first target pose, ending in R gear, but with a different vehicle orientation than the first target pose 1 and the first target pose 2. Based on these three target poses and the same starting pose, three different driving trajectories are planned, such as third trajectory 1, third trajectory 2, and fourth trajectory. Referring to the trajectory update conditions above, the trajectory with the fewest gear shifts among third trajectory 1, third trajectory 2, and fourth trajectory can be selected as the target trajectory. Alternatively, the trajectory with the greatest distance between the vehicle and surrounding obstacles among third trajectory 1, third trajectory 2, and fourth trajectory can be selected as the target trajectory.
[0178] Taking the scenario shown in Figure 10 as an example, in one implementation, if the real-time planning process is triggered once every fixed preset distance, when the number of gear shifts on the third trajectory exceeds a first threshold, the fourth trajectory is determined as the target trajectory, and the vehicle is controlled to drive according to the fourth trajectory. When the distance traveled by the vehicle according to the fourth trajectory reaches a preset distance, the vehicle is still in reverse, and the real-time planning process can be triggered again. Referring to the real-time planning method shown in Figure 9, in the second real-time planning process, the third target pose and the fourth target pose can be determined, where the third target pose corresponds to the target pose of the vehicle after turning around; the fourth target pose is the pose of the third target pose rotated 180 degrees, corresponding to the target pose of the vehicle reversing. Based on the third target pose and the fourth target pose, the fifth trajectory and the sixth trajectory are planned. The vehicle is in D gear when the fifth trajectory ends, and in R gear when the sixth trajectory ends. Assuming that the number of gear shifts on the fifth trajectory is less than or equal to the first threshold, the driving trajectory is updated to the fifth trajectory, and the vehicle is controlled to drive according to the fifth trajectory. When the vehicle travels to the third target pose according to the fifth trajectory, the vehicle has completed the turning process.
[0179] Therefore, based on the above real-time planning scheme, the vehicle can adaptively determine the wide area where a U-turn can be completed, resulting in higher U-turn efficiency and thus helping to improve the user's driving experience.
[0180] Figure 13 shows a schematic block diagram of a control device 1300 provided in an embodiment of this application. The control device 1300 includes: an acquisition unit 1310, configured to acquire a first target pose and a second target pose, wherein the first target pose and the second target pose are in the same position but have different postures; acquire a first driving trajectory based on the first target pose and acquire a second driving trajectory based on the second target pose; and a control unit 1320, configured to control the vehicle to drive based on the first driving trajectory and the second driving trajectory.
[0181] Optionally, the first target pose and the second target pose are in the same position but the vehicle faces opposite directions.
[0182] Optionally, the vehicle is in first gear when the first driving trajectory ends and in second gear when the second driving trajectory ends, and the first gear and the second gear are different.
[0183] Optionally, the acquisition unit 1310 is specifically used for: acquiring a first target pose based on the destination information; and acquiring a second target pose based on the first target pose.
[0184] Optionally, the control unit 1320 is specifically used to: determine a target driving trajectory from the first driving trajectory and the second driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and the obstacle under the first driving trajectory and the second driving trajectory; and control the vehicle to drive based on the target driving trajectory.
[0185] Optionally, the acquisition unit 1310 is specifically used to: acquire a first target pose and a second target pose when the vehicle cannot pass through the road according to a preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system.
[0186] Alternatively, the road may be narrow.
[0187] Optionally, the acquisition unit 1310 is specifically used to: acquire a first target pose and a second target pose when it detects that the user has activated the automatic parking function.
[0188] For example, the acquisition unit 1310 can be the computing platform 120 in Figure 1, or the processing circuit, processor, or controller in the computing platform 120. Taking the processor 121 in the computing platform as an example, the acquisition unit 1310 can acquire the first target pose and the second target pose, where the first target pose and the second target pose have the same position but different postures; based on the first target pose, a first driving trajectory is acquired, and based on the second target pose, a second driving trajectory is acquired.
[0189] For example, the control unit 1320 can be the computing platform 120 in Figure 1, or the processing circuit, processor, or controller in the computing platform 120. Taking the processor 122 in the computing platform as an example, the processor 122 can control the vehicle's movement based on the first and second driving trajectories obtained by the processor 121.
[0190] The functions implemented by the acquisition unit 1310 and the functions implemented by the control unit 1320 can be implemented by different processors, or they can be implemented by the same processor, or some functions can be implemented by the same processor. This application embodiment does not limit this.
[0191] It should be understood that the division of units in the above device is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, the units in the device can be implemented by a processor calling software; for example, the device includes a processor connected to memory, which stores instructions. The processor calls the instructions stored in memory to implement any of the above methods or to implement the functions of each unit in the device. The processor can be, for example, a general-purpose processor, such as a CPU or microprocessor, and the memory can be internal or external to the device. Alternatively, the units in the device can be implemented as hardware circuits. The functions of some or all units can be implemented through the design of the hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all units are implemented through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a PLD, such as an FPGA, which can include a large number of logic gates. The connection relationships between the logic gates are configured through configuration files, thereby implementing the functions of some or all units. All units of the above devices can be implemented entirely through processor calling software, or entirely through hardware circuits, or partially through processor calling software with the remaining parts implemented through hardware circuits.
[0192] In this application embodiment, a processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction reading and execution capabilities, such as a CPU, microprocessor, GPU, or DSP. In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. These logical relationships are fixed or reconfigurable. For example, the processor may be a hardware circuit implemented as an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration file to configure the hardware circuit can be understood as the processor loading instructions to implement the functions of some or all of the above units. Furthermore, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, or DPU.
[0193] As can be seen, each unit in the above device can be one or more processors (or processing circuits) configured to implement the above methods, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0194] Furthermore, the units in the above devices can be integrated in whole or in part, or they can be implemented independently. In one implementation, these units are integrated together as a System-on-a-Chip (SoC). The SoC may include at least one processor for implementing any of the above methods or implementing the functions of the units in the device. The at least one processor may be of different types, such as CPU and FPGA, CPU and AI processor, CPU and GPU, etc.
[0195] This application also provides a control device, which includes: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, so that the device can execute any of the control methods described in the above embodiments.
[0196] Alternatively, if the device is located in a vehicle, the processor may be the processor 121-12n shown in FIG1.
[0197] This application also provides a vehicle that may include the control device 1300 described above or the system shown in FIG2.
[0198] This application also provides a computer-readable medium storing instructions that, when executed by a processor, cause the processor to implement any of the control methods described in the above embodiments.
[0199] This application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to execute any of the control methods described in the above embodiments.
[0200] This application also provides a chip that includes a circuit that can be used to execute any of the control methods described in the above embodiments.
[0201] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, power-on erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0202] It should be understood that in the embodiments of this application, the memory may include read-only memory and random access memory, and provides instructions and data to the processor.
[0203] It should also be understood that, in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0204] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0205] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0206] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0207] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0208] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0209] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0210] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A control method, characterized in that the method include: Obtain a first target pose and a second target pose, wherein the first target pose and the second target pose have the same position but different postures; Based on the first target pose, a first driving trajectory is obtained, and based on the second target pose, a second driving trajectory is obtained. The vehicle is controlled to move based on the first and second driving trajectories.
2. The control method according to claim 1, characterized in that, The first target pose and the second target pose are in the same position but the front of the vehicle is facing opposite directions.
3. The control method according to claim 1 or 2, characterized in that, When the first driving trajectory ends, the vehicle is in the first gear, and when the second driving trajectory ends, the vehicle is in the second gear. The first gear and the second gear are different.
4. The control method according to any one of claims 1 to 3, characterized in that, The acquisition of the first target pose and the second target pose includes: Based on the destination information, obtain the first target pose; Based on the first target pose, obtain the second target pose.
5. The control method according to any one of claims 1 to 4, characterized in that, The step of controlling vehicle movement based on the first driving trajectory and the second driving trajectory includes: The target driving trajectory is determined from the first driving trajectory and the second driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, the gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and the obstacle under the first driving trajectory and the second driving trajectory. The vehicle is controlled to travel according to the target trajectory.
6. The control method according to any one of claims 1 to 5, characterized in that, The acquisition of the first target pose and the second target pose includes: When the vehicle is unable to travel along the road according to the preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system, the first target pose and the second target pose are acquired.
7. The control method according to claim 6, characterized in that, The road in question is a narrow passage.
8. The control method according to any one of claims 1 to 5, characterized in that, The acquisition of the first target pose and the second target pose includes: When the system detects that the user has activated the automatic parking function, it acquires the first target pose and the second target pose.
9. A control device, characterized in that, include: The acquisition unit is used to acquire a first target pose and a second target pose, wherein the first target pose and the second target pose have the same position but different postures; Based on the first target pose, a first driving trajectory is obtained, and based on the second target pose, a second driving trajectory is obtained. The control unit is used to control the vehicle's movement based on the first driving trajectory and the second driving trajectory.
10. The apparatus according to claim 9, characterized in that, The first target pose and the second target pose are in the same position but the front of the vehicle is facing opposite directions.
11. The apparatus according to claim 9 or 10, characterized in that, When the first driving trajectory ends, the vehicle is in the first gear, and when the second driving trajectory ends, the vehicle is in the second gear. The first gear and the second gear are different.
12. The apparatus according to any one of claims 9 to 11, characterized in that, The acquisition unit is specifically used for: Based on the destination information, obtain the first target pose; Based on the first target pose, obtain the second target pose.
13. The apparatus according to any one of claims 9 to 12, characterized in that, The control unit is specifically used for: The target driving trajectory is determined from the first driving trajectory and the second driving trajectory based on one or more of the curvature of the first driving trajectory and the second driving trajectory, the gear change information of the first driving trajectory and the second driving trajectory, and the distance between the vehicle and the obstacle under the first driving trajectory and the second driving trajectory. The vehicle is controlled to travel according to the target trajectory.
14. The apparatus according to any one of claims 9 to 13, characterized in that, The acquisition unit is specifically used for: When the vehicle is unable to travel along the road according to the preset driving trajectory and / or the length of the road exceeds the detection range of the vehicle's perception system, the first target pose and the second target pose are acquired.
15. The apparatus according to claim 14, characterized in that, The road in question is a narrow passage.
16. The apparatus according to any one of claims 9 to 13, characterized in that, The acquisition unit is specifically used for: When the system detects that the user has activated the automatic parking function, it acquires the first target pose and the second target pose.
17. A control device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program stored in the memory to cause the apparatus to perform the method as described in any one of claims 1 to 8.
18. A vehicle, characterized in that, Includes the control device as described in any one of claims 9 to 17.
19. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a computer, enables the implementation of the method as described in any one of claims 1 to 8.
20. A computer program product, characterized in that, The computer program product includes computer program code that, when run on a computer, causes the computer to perform the method as described in any one of claims 1 to 8.
21. A chip, characterized in that, include: A circuit for performing the method as described in any one of claims 1 to 8.