Vehicle path planning method and apparatus
By acquiring motion information of obstacles and vehicles and using optimization algorithms to plan the vehicle's driving path, the safety problem of collisions between vehicles and obstacles in emergency scenarios is solved, and safe driving in emergency conditions is achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YINWANG INTELLIGENT TECHNOLOGIES CO LTD
- Filing Date
- 2025-06-30
- Publication Date
- 2026-07-02
AI Technical Summary
In emergency scenarios, vehicle path planning is insufficient to effectively avoid collisions with overturned vehicles and surrounding vehicles, resulting in inadequate driving safety.
By acquiring motion information of obstacles and vehicles, and using optimization algorithms to combine regression lanes, lane boundaries, and obstacle avoidance objective functions, the vehicle's driving path is planned, and ride comfort constraints are added to ensure safe driving of the vehicle in emergency situations.
It improves vehicle driving safety in emergency situations, avoids collisions with obstacles and maintains vehicle stability, and adapts to straight and curved road scenarios.
Smart Images

Figure CN2025105455_02072026_PF_FP_ABST
Abstract
Description
A vehicle path planning method and device
[0001] This application claims priority to Chinese Patent Application No. CN202411553945.6, filed on October 31, 2024, entitled “A Vehicle Route Planning Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of intelligent driving, and more particularly to a vehicle path planning method and apparatus. Background Technology
[0003] For intelligent driving of vehicles, driving safety is a crucial indicator. Conventional intelligent driving functions are typically deployed based on normal vehicle operation. However, in emergency scenarios, such as when a vehicle ahead has overturned, there is not only the risk of a direct collision with the overturned vehicle, but also the potential risk of collisions with other surrounding vehicles due to emergency collision avoidance. In other words, there are too many uncertainties in the environment, making safe path planning for the vehicle's journey quite difficult. Therefore, improving safe driving paths in emergency situations has become an urgent problem to be solved. Summary of the Invention
[0004] This application provides a vehicle route planning method and apparatus, which can be used to plan a safer driving route for a vehicle in emergency situations, thereby improving vehicle driving safety.
[0005] In view of this, in a first aspect, this application provides a vehicle path planning method, comprising: acquiring first motion information of an obstacle, wherein the obstacle is an object within a preset range of the vehicle whose speed is greater than a first threshold, such as including a rollover vehicle or an uncontrolled abnormal vehicle, the first motion information including information collected by sensors installed in the vehicle; acquiring second motion information of the vehicle, such as the vehicle's motion state, speed or turn signal information; and subsequently determining the vehicle's driving path based on the first motion information, the second motion information and an optimization algorithm, wherein the optimization algorithm includes multiple objective functions, including: a lane return objective function, a lane boundary objective function and an obstacle avoidance objective function, the lane return objective function being a term for the vehicle traveling to the target lane, the lane boundary objective function being a term set for the distance between the vehicle and the boundary line of the target lane, and the obstacle avoidance objective function being a term set for the distance between the vehicle and the obstacle and used to avoid the obstacle.
[0006] In this embodiment of the application, when planning a driving path for a vehicle, especially in emergency situations, the optimization algorithm includes setting a return lane, boundary constraints, and obstacle avoidance objective functions, thereby obtaining a driving path that allows the vehicle to return to the lane, not cross the line, and avoid obstacles, thus improving the vehicle's driving safety.
[0007] In one possible implementation, the aforementioned multiple objective functions further include a smoothness objective function, which is used to constrain the changes in vehicle speed or steering angle. In this embodiment, a smoothness objective function is added to the objective functions to plan the changes in vehicle speed or steering angle, making the vehicle's driving path smoother, avoiding vehicle instability due to excessive changes, and improving vehicle driving safety.
[0008] In one possible implementation, the aforementioned obstacle may include a vehicle that has overturned. This application's implementation can be applied to scenarios where a vehicle overturns in front of the vehicle, planning a safer driving path for the vehicle in emergency situations.
[0009] In one possible implementation, the aforementioned determination of the vehicle's driving path based on the first motion information, the second motion information, and the optimization algorithm may include: determining a safe zone where the vehicle will not collide with obstacles based on the first motion information; then, based on the safe zone, the second motion information, and the optimization algorithm, obtaining an optimization problem, namely, planning the vehicle's driving path within the safe zone. The optimization algorithm includes multiple objective functions and constraints, including at least one of collision constraints, instability-free optimization conditions, non-crossing-the-line optimization conditions, or control and state quantity constraints. The collision constraints are used to ensure that the vehicle does not collide with obstacles; the instability-free constraints are used to constrain the vehicle's steering angle or speed; the non-crossing-the-line optimization conditions are used to constrain the vehicle to drive within the boundary line of the target lane; and the control and state quantity constraints are used to constrain control and state quantities. The optimization problem is then solved to obtain the vehicle's driving path.
[0010] In this embodiment of the application, when planning the driving path for a vehicle, collision constraints, instability constraints, line-crossing constraints, or control and state constraints are considered, thereby fully taking into account various constraints that affect the driving safety of the vehicle and improving the driving safety of the vehicle.
[0011] The optimization problem is solved using control and state constraints to obtain the vehicle's driving path. This includes: solving the optimization problem using a solution algorithm to obtain a driving feature vector, which includes the vehicle's speed or steering angle at different future times; and substituting the driving feature vector into a kinematic model to obtain the vehicle's desired trajectory and desired speed. The driving path includes both the desired trajectory and desired speed. In this embodiment, an optimization problem can be constructed, and a safer driving path can be planned for the vehicle through problem-solving.
[0012] In one possible implementation, the aforementioned non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius. Typically, the factors affecting vehicle safety differ between straight and curved road scenarios; therefore, constraints need to be set specifically for different scenarios. Thus, in this application's implementation, constraints are set separately for straight and curved road scenarios to adapt to both scenarios and improve vehicle driving safety.
[0013] In one possible implementation, the aforementioned obstacle avoidance objective function includes either a first distance function or a second distance function. The first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle. When the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function; when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function.
[0014] In this embodiment, different obstacle avoidance constraints can be applied based on the distance between the vehicle and the overturned vehicle. When the distance is close, the lateral distance is constrained first, and when the distance is far, the longitudinal distance is constrained first. Thus, different objective functions can be set more adaptively based on the distance between the vehicle and the overturned vehicle, and a driving path that can avoid obstacles can be planned.
[0015] In one possible implementation, the aforementioned return-to-lane objective function includes a term determining the deviation between the vehicle's desired trajectory and the target lane. In this application, an objective function can be set to return the vehicle to the target lane, thereby improving driving safety by enabling the vehicle to return to the target lane after obstacle avoidance.
[0016] Secondly, this application provides a vehicle routing device, comprising:
[0017] The acquisition module is used to acquire the first motion information of the obstacle, which is an object within a preset range of the vehicle whose speed is greater than a first threshold.
[0018] The acquisition module is also used to acquire the vehicle's second motion information;
[0019] The processing module is used to determine the vehicle's driving path based on the first motion information, the second motion information, and the optimization algorithm. The optimization algorithm includes multiple objective functions, including a lane regression objective function, a lane boundary objective function, and an obstacle avoidance objective function. The lane regression objective function is for the vehicle to travel to the target lane. The lane boundary objective function is for the distance between the vehicle and the boundary line of the target lane. The obstacle avoidance objective function is for the distance between the vehicle and obstacles and is used to avoid obstacles.
[0020] In one possible implementation, the aforementioned plurality of objective functions may further include a smoothness objective function, which is used to constrain the change in the vehicle's speed or steering angle.
[0021] In one possible implementation, the aforementioned obstacle includes a vehicle that has overturned.
[0022] In one possible implementation, the aforementioned processing module is specifically used for: determining a safe zone where the vehicle and obstacles will not collide based on the first motion information; obtaining an optimization problem based on the safe zone, the second motion information, and an optimization algorithm, wherein the optimization algorithm includes multiple objective functions and constraints, the constraints including at least one of collision constraints, instability-free optimization conditions, non-crossing-the-line optimization conditions, or control and state quantity constraints, wherein the collision constraints are used to constrain the vehicle from colliding with the obstacles, the instability-free constraints are used to constrain the vehicle's steering angle or speed, the non-crossing-the-line optimization conditions are used to constrain the vehicle to travel within the boundary line of the target lane, and the control and state quantity constraints are used to constrain the control and state quantities; and solving the optimization problem to obtain the vehicle's driving path.
[0023] In one possible implementation, the aforementioned processing module is specifically used to: solve the optimization problem according to the solving algorithm to obtain a driving feature vector, the driving feature vector including the vehicle speed or steering angle at different future times; and substitute the driving feature vector into the kinematic model to obtain the vehicle's desired trajectory and desired speed, the driving path including the desired trajectory and desired speed.
[0024] In one possible implementation, the aforementioned non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius of the curve.
[0025] In one possible implementation, the aforementioned obstacle avoidance objective function includes a first distance function or a second distance function, wherein the first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle; when the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function, and when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function.
[0026] In one possible implementation, the aforementioned return lane objective function includes a term that determines the deviation between the vehicle's desired trajectory and the target lane.
[0027] Thirdly, this application provides a vehicle routing device, including a processor and a memory, wherein the processor and the memory are interconnected via wiring, and the processor calls program code in the memory to execute processing-related functions in the vehicle routing method shown in any of the first aspects above. Optionally, the vehicle routing device may be a chip.
[0028] Fourthly, embodiments of this application provide a vehicle including a processor and a memory, wherein the processor and the memory are interconnected via a circuit, and the processor calls program code in the memory to perform processing-related functions in the method shown in any of the first aspects above.
[0029] Fifthly, embodiments of this application provide a digital processing chip or chip, the chip including a processing unit and a communication interface, the processing unit obtaining program instructions through the communication interface, the program instructions being executed by the processing unit, the processing unit being used to perform processing-related functions as described in the first aspect or any optional embodiment of the first aspect.
[0030] In a sixth aspect, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method described in the first aspect or any optional implementation thereof.
[0031] In a seventh aspect, embodiments of this application provide a computer program product comprising a computer program / instructions, which, when executed by a processor, causes the processor to perform the method described in the first aspect or any optional implementation thereof. Attached Figure Description
[0032] Figure 1 is a schematic diagram of the architecture of a vehicle provided in an embodiment of this application;
[0033] Figure 2 is a flowchart illustrating a vehicle routing method provided in an embodiment of this application;
[0034] Figure 3 is a schematic diagram of an application scenario provided by an embodiment of this application;
[0035] Figure 4 is a flowchart illustrating another vehicle routing method provided in an embodiment of this application;
[0036] Figure 5 is a schematic diagram of a path planning provided in an embodiment of this application;
[0037] Figure 6 is a schematic diagram of another application scenario provided by an embodiment of this application;
[0038] Figure 7 is a structural schematic diagram of a vehicle route planning device provided in an embodiment of this application;
[0039] Figure 8 is a structural schematic diagram of another vehicle routing device provided in an embodiment of this application. Detailed Implementation
[0040] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0041] The method provided in this application can be applied to various smart terminals, such as vehicles, robots, or electronic devices.
[0042] The following describes the device structure of the method provided in this application embodiment, taking deployment in a vehicle as an example. For instance, it can be applied to obstacle avoidance scenarios when there are emergency traffic situations ahead of the vehicle, such as when a vehicle overturns or loses control, to plan a safer driving path for the vehicle; or it can be deployed in a robot to plan a more reasonable obstacle avoidance path for the robot when there are moving obstacles in front of it. This application exemplifies the deployment of the method provided in this application embodiment in a vehicle as an example.
[0043] Referring to Figure 1, which is a schematic diagram of a vehicle structure provided in an embodiment of this application, the vehicle 100 can be configured in an intelligent driving mode. For example, the vehicle 100 can control itself while in intelligent driving mode, and can determine the current state of the vehicle and its surrounding environment through human operation, determine whether there are obstacles in the surrounding environment, and control the vehicle 100 based on the obstacle information. When the vehicle 100 is in intelligent driving mode, it can also be set to operate without human interaction.
[0044] Figure 1 is a functional block diagram of a vehicle 100 provided in an embodiment of this application. The vehicle 100 can be configured to a full or partial intelligent driving mode. For example, the vehicle 100 can obtain environmental information about its surroundings through the perception system 120, and obtain an intelligent driving strategy based on the analysis of the surrounding environmental information to achieve full intelligent driving, or present the analysis results to the user to achieve partial intelligent driving.
[0045] Vehicle 100 may include various subsystems, such as an infotainment system 110, a perception system 120, a decision control system 130, a drive system 140, and a computing platform 150. Optionally, vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple components. In addition, each subsystem and component of vehicle 100 may be interconnected via wired or wireless means.
[0046] In some embodiments, the infotainment system 110 may include a communication system 111, an entertainment system 112, and a navigation system 113.
[0047] Communication system 111 may include wireless communication system 111, which can communicate wirelessly with one or more devices directly or via a communication network. For example, wireless communication system 111 may use 3G cellular communication, such as CDMA, EVDO, GSM / GPRS, or 4G cellular communication, such as LTE, or 5G cellular communication. Wireless communication system 111 may communicate using WiFi and wireless local area network (WLAN). In some embodiments, wireless communication system 111 may communicate directly with devices using infrared links, Bluetooth, or ZigBee. Wireless communication system 111 may include one or more dedicated short range communications (DSRC) devices, which may include public and / or private data communications between vehicles and / or roadside stations.
[0048] The entertainment system 112 may include a central control screen, a microphone, and speakers. Users can listen to the radio and play music within the vehicle using the entertainment system 112; or connect their mobile phones to the vehicle and project their screens onto the central control screen, which may be touch-sensitive, allowing users to operate the system. In some cases, the microphone can capture the user's voice signal, and analysis of this signal can enable the user to control certain aspects of the vehicle 100, such as adjusting the interior temperature. In other cases, music can be played to the user through the speakers.
[0049] The navigation system 113 may include map services to provide navigation for the vehicle 100, and the navigation system 113 may be used in conjunction with the vehicle's global positioning system 121 and inertial measurement unit 122. The map may be a two-dimensional map, a high-precision map, or a map constructed based on data collected during the vehicle's operation.
[0050] The perception system 120 may include several sensors for sensing information about the environment surrounding the vehicle 100. For example, the perception system 120 may include a global positioning system 121 (which may include a global navigation satellite system (GNSS), specifically GPS, BeiDou, or other positioning systems), an inertial measurement unit (IMU) 122, a lidar (LiDAR) 123, a millimeter-wave radar 124, an ultrasonic radar 125, and a camera device 126. The perception system 120 may also include sensors from the internal systems of the monitored vehicle 100 (e.g., an in-vehicle air quality monitor, fuel gauge, oil temperature gauge, etc.). Sensor data from one or more of these sensors can be used to detect objects and their corresponding characteristics (position, shape, orientation, speed, etc.). This detection and identification is a key function for the safe operation of the vehicle 100. The data collected by sensors in the vehicle mentioned below may include data collected by various units in the perception system 120, such as point cloud data collected by lidar or environmental images collected by the camera device.
[0051] The Global Positioning System 121 can be used to determine the geographical location of vehicle 100.
[0052] The inertial measurement unit 122 is used to sense changes in the position and orientation of the vehicle 100 based on inertial acceleration. In some embodiments, the inertial measurement unit 122 may be a combination of an accelerometer and a gyroscope.
[0053] The lidar 123 can use lasers to sense objects in the environment in which the vehicle 100 is located. In some embodiments, the lidar 123 may include one or more laser sources, a laser scanner, and one or more detectors, as well as other system components.
[0054] The millimeter-wave radar 124 can use radio signals to sense objects in the surrounding environment of the vehicle 100. In some embodiments, in addition to sensing objects, the millimeter-wave radar 124 can also be used to sense the speed and / or direction of travel of objects.
[0055] The ultrasonic radar 125 can use ultrasonic signals to sense objects around the vehicle 100.
[0056] The camera device 126 can be used to capture image information of the surrounding environment of the vehicle 100. The camera device 126 may include a monocular camera, a binocular camera, a structured light camera, and a panoramic camera, etc. The image information acquired by the camera device 126 may include still image information or video stream information.
[0057] The decision control system 130 includes a computing system 131 that analyzes and makes decisions based on information acquired by the sensing system 120. The decision control system 130 also includes a vehicle controller 132 that controls the power system of the vehicle 100, and a steering system 133, a throttle 134, and a braking system 135 for controlling the vehicle 100.
[0058] The computing system 131 can process and analyze various information acquired by the perception system 120 to identify targets, objects, and / or features in the environment surrounding the vehicle 100. The targets may include pedestrians or animals, and the objects and / or features may include traffic signals, road boundaries, and obstacles. The computing system 131 may use object recognition algorithms, Structure from Motion (SFM) algorithms, video tracking, and other techniques. In some embodiments, the computing system 131 may be used to map the environment, track objects, estimate object speeds, etc. The computing system 131 can analyze the acquired information and derive a control strategy for the vehicle.
[0059] The vehicle controller 132 can be used to coordinate the control of the vehicle's power battery and engine 141 to improve the power performance of the vehicle 100.
[0060] The steering system 133 can be used to adjust the forward direction of the vehicle 100. For example, in one embodiment, it can be a steering wheel system.
[0061] The throttle 134 is used to control the operating speed of the engine 141 and thus the speed of the vehicle 100.
[0062] Braking system 135 is used to control the deceleration of vehicle 100. Braking system 135 can use friction to slow down the rotational speed of wheel 144. In some embodiments, braking system 135 can convert the kinetic energy of wheel 144 into electric current. Braking system 135 may also take other forms to slow down the rotational speed of wheel 144 to control the speed of vehicle 100.
[0063] The drive system 140 includes components that provide powered motion to the vehicle 100. In one embodiment, the drive system 140 may include an engine 141, an energy source 142, a transmission system 143, and wheels 144. The engine 141 may be an internal combustion engine, an electric motor, an air-compressed engine, or other types of engine combinations, such as a hybrid engine consisting of a gasoline engine and an electric motor, or a hybrid engine consisting of an internal combustion engine and an air-compressed engine. The engine 141 converts the energy source 142 into mechanical energy.
[0064] Examples of energy sources 142 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electricity. Energy source 142 may also provide energy to other systems of vehicle 100.
[0065] The drivetrain 143 transmits mechanical power from the engine 141 to the wheels 144. The drivetrain 143 may include a gearbox, a differential, and a drive shaft. In one embodiment, the drivetrain 143 may also include other components, such as a clutch. The drive shaft may include one or more axles that can be coupled to one or more wheels 144.
[0066] Some or all of the functions of vehicle 100 are controlled by computing platform 150. Computing platform 150 may include at least one processor 151, which can execute instructions 153 stored in a non-transitory computer-readable medium such as memory 152. In some embodiments, computing platform 150 may also be multiple computing devices that control individual components or subsystems of vehicle 100 in a distributed manner.
[0067] Processor 151 can be any conventional processor, such as a commercially available CPU. Alternatively, processor 151 may also include a graphics processing unit (GPU), a field-programmable gate array (FPGA), a system-on-chip (SoC), an application-specific integrated circuit (ASIC), or a combination thereof. Processor 151 can be located on a device remote from the vehicle and can communicate wirelessly with the vehicle.
[0068] In some embodiments, memory 152 may contain instructions 153 (e.g., program logic) that can be executed by processor 151 to perform various functions of vehicle 100. Memory 152 may also contain additional instructions, including instructions for sending data to, receiving data from, interacting with, and / or controlling one or more of the infotainment system 110, perception system 120, decision control system 130, and drive system 140.
[0069] The method provided in this application embodiment can be executed by a computing platform 150. For example, the processor 151 can read the program stored in the memory 152 and plan a safer driving route for the vehicle based on the data collected by the perception system 120. Based on this driving route, the system determines the vehicle's driving decision and sends instructions to the decision control system 130 to control the vehicle and achieve intelligent driving functions.
[0070] Of course, the method provided in this application embodiment can also be directly deployed in the decision control system 130. The decision control system 130 controls the vehicle to realize the intelligent driving function of the vehicle based on the data from the perception system and the motion information of the perceived target and the vehicle.
[0071] In addition to instruction 153, memory 152 may also store data such as road maps, route information, vehicle position, direction, speed, and other similar vehicle data, as well as other information. It may also store higher-precision maps obtained by the methods provided in this application embodiment. This information can be used by vehicle 100 and computing platform 150 during operation of vehicle 100 in autonomous, semi-autonomous, and / or manual modes.
[0072] The computing platform 150 can control the functions of the vehicle 100 based on inputs received from various subsystems, such as the drive system 140, the perception system 120, and the decision control system 130. For example, the computing platform 150 can utilize inputs from the decision control system 130 to control the steering system 133 to avoid obstacles detected by the perception system 120. In some embodiments, the computing platform 150 is operable to provide control over many aspects of the vehicle 100 and its subsystems.
[0073] Alternatively, one or more of these components may be installed separately from or associated with vehicle 100. For example, memory 152 may exist partially or completely separately from vehicle 100. The components may be communicatively coupled together in a wired and / or wireless manner.
[0074] Optionally, the above components are just an example. In actual applications, the components in the above modules may be added or deleted according to actual needs. Figure 1 should not be construed as a limitation on the embodiments of this application.
[0075] The aforementioned vehicle 100 can be any vehicle or vehicle-mounted terminal capable of intelligent driving, such as a car, truck, motorcycle, bus, ship, airplane, helicopter, recreational vehicle, amusement park vehicle, construction equipment, tram, golf cart, or train. This application embodiment does not impose any special limitations on this type of vehicle.
[0076] Based on the aforementioned vehicle architecture, the method flow provided in the embodiments of this application will be described below.
[0077] Intelligent driving functions typically focus on highway scenarios, where most surrounding vehicles are driving normally. Therefore, these functions may struggle to handle more urgent situations. This application provides a vehicle path planning method that can plan a safe driving path for the vehicle in emergency situations, improving driving safety.
[0078] Referring to Figure 2, a flowchart of a vehicle routing method provided in an embodiment of this application is shown below.
[0079] 201. Obtain the first motion information of the obstacle.
[0080] The first motion information may include the obstacle's position, speed, and direction of movement, and can be used to determine the area occupied or potentially occupied by the obstacle. Specifically, this information can be obtained through data collected by sensors installed in the vehicle, or received from a network connected to the vehicle.
[0081] In one possible implementation, sensors installed in the vehicle can collect perception information within a preset range. This environmental information is then used to determine the motion information of the obstacle, i.e., the first motion information. Specifically, the collected perception information can be input into a pre-trained model to output the obstacle's motion information, or the obstacle's motion information can be calculated based on a pre-set algorithm using the perception information.
[0082] For example, during vehicle operation, sensors installed in the vehicle can collect environmental information within a certain range in real time, and analyze the collected information to determine the specific information of various static and dynamic targets in the vehicle's environment, including but not limited to one or more of the target's bounding box, coordinates, speed, direction of movement, target type, or target color.
[0083] The type of obstacle may vary in different application scenarios. Taking the method provided in this application embodiment as an example deployed on a vehicle, the obstacle may be other vehicles in front of the vehicle, such as vehicles that may overturn or other out-of-control vehicles, or the obstacle may be pedestrians in the environment. The obstacles mentioned in this application embodiment are usually moving objects, and the vehicle usually needs to avoid these obstacles while driving.
[0084] 202. Obtain the vehicle's second motion information.
[0085] The second motion information may include information such as the vehicle's current position, speed, or steering angle.
[0086] This second motion information can come from the vehicle's sensors, or from the vehicle's perception system or decision control system. For example, the vehicle's current position can be determined by the vehicle's positioning module, or by sensing the environment through the vehicle's sensors; information such as the vehicle's speed or steering angle can come from the vehicle's decision control system.
[0087] 203. Determine the vehicle's driving path based on the first motion information, the second motion information, and the optimization algorithm.
[0088] The optimization algorithm may include multiple objective functions, which may include, but are not limited to: a lane regression objective function, a lane boundary objective function, and an obstacle avoidance objective function. The lane regression objective function is a term for the vehicle traveling to the target lane, the lane boundary objective function is a term for the distance between the vehicle and the boundary line of the target lane, and the obstacle avoidance objective function is a term for the distance between the vehicle and obstacles and used to avoid obstacles.
[0089] The target lane is the lane where vehicles are expected to travel safely. This lane can be a lane marked with lane lines in the actual scene, or it can be a drivable area (which is used as a lane) determined based on the vehicle's travel path. The lane lines of the target lane mentioned below can be actual painted lanes or the boundary lines of the drivable area, which will not be elaborated further below.
[0090] Therefore, in the embodiments of this application, when an abnormal obstacle appears during vehicle driving, a better vehicle driving path can be calculated from dimensions such as vehicle lane return, distance from lane boundary or obstacle avoidance, so that the vehicle can avoid obstacles more accurately and improve vehicle driving safety.
[0091] In one possible implementation, the aforementioned multiple objective functions may also include a smoothness objective function, which is used to constrain the changes in the vehicle's speed or steering angle, thereby further improving the vehicle's driving safety, preventing loss of vehicle control, and enhancing user safety.
[0092] In one possible implementation, the aforementioned obstacle avoidance objective function includes either a first distance function or a second distance function. The first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle. The lateral and longitudinal distances are distances in mutually perpendicular directions. When the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function; when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function. Therefore, in this embodiment, obstacle avoidance can be specifically set from the longitudinal dimension or from the lateral dimension depending on the different distances between the vehicle and the obstacle, further improving vehicle driving safety.
[0093] In one possible implementation, the aforementioned return lane objective function includes a term determining the deviation between the vehicle's desired trajectory and the target lane. Specifically, it may be a term determining the distance between the vehicle's desired trajectory and the centerline of the target lane.
[0094] In one possible implementation, a safe zone where the vehicle will not collide with an obstacle can be determined based on first motion information. Then, based on the safe zone, second motion information, and an optimization algorithm, an optimization problem is obtained. The optimization algorithm includes multiple objective functions and constraints, which can be determined based on the vehicle's geometric model to ensure the planned driving path conforms to the geometric model. These constraints include at least one of collision constraints, instability-free optimization conditions, line-crossing optimization conditions, or control and state quantity constraints. Collision constraints prevent the vehicle from colliding with obstacles; instability-free constraints constrain the vehicle's steering angle or speed; line-crossing constraints constrain the vehicle to travel within the boundary lines of the target lane; and control and state quantity constraints constrain control and state quantities. The optimization problem is then solved to obtain the vehicle's driving path. In this embodiment, constraints related to obstacle avoidance, instability-free operation, and line-crossing can be added, enabling the vehicle to achieve a driving path that avoids obstacles, maintains stability, and does not cross lines, thus achieving higher driving safety.
[0095] The non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius. In this embodiment, constraint terms can be set separately for straight roads and curves to adapt to safe obstacle avoidance in both straight road and curve scenarios.
[0096] Therefore, in the embodiments of this application, the constraints can be used to ensure the stability and safety of vehicle driving. The constraints include collision avoidance constraints to ensure that the vehicle does not collide with overturned vehicles or other vehicles, stability constraints to ensure that the vehicle does not become unstable during obstacle avoidance, boundary constraints to ensure that the vehicle does not cross the road boundary line, and state constraints to ensure that the vehicle's control quantity and state quantity meet the requirements.
[0097] In one possible implementation, the optimization problem can be solved using a solution algorithm to obtain a driving feature vector, which includes the vehicle's speed or steering angle at different future times. This driving feature vector is then substituted into a kinematic model to obtain the vehicle's desired trajectory and speed; the driving path includes both the desired trajectory and speed. In this embodiment, the vehicle speed or steering angle at different future times can be determined based on the kinematic model, resulting in a more accurate output of the vehicle speed or steering angle.
[0098] The foregoing has described the method flow provided by the embodiments of this application. The following section will further describe the method flow provided by the implementation of this application in conjunction with specific application scenarios.
[0099] For example, the method provided in this application embodiment can be applied to the situation where a vehicle in front overturns. For example, as shown in Figure 3, when the vehicle is driving, the vehicle in front may overturn, as well as other vehicles. The overturned vehicle may be out of control, resulting in an uncertain driving path, which may lead to a collision risk for the vehicle, that is, a collision with the overturned vehicle or other vehicles.
[0100] The method provided in this application embodiment can plan a path for a vehicle to avoid obstacles, including a path to avoid overturned vehicles and surrounding vehicles.
[0101] Referring to Figure 4, a flowchart of another vehicle routing method provided in this application embodiment is shown below.
[0102] The method provided in this application can be divided into multiple stages, such as data acquisition, path planning, and control stages. The data acquisition stage can collect vehicle information and perceived information about the vehicle's environment; the path planning stage plans a safe driving path for the vehicle based on the data collected in the data acquisition stage; and in the control stage, the vehicle can be controlled to drive according to the planned driving path.
[0103] It should be understood that during vehicle operation, the data acquisition, path planning, and control phases can be executed iteratively. This means that the vehicle's driving path can be updated or replanned in real-time based on the collected data to adapt to changes in operating conditions in the actual environment. In the following embodiments of this application, only one processing step is described.
[0104] 401. Data Acquisition.
[0105] During the data collection phase, the data to be collected can be divided into vehicle data and environmental information.
[0106] Vehicle data, also known as the aforementioned second type of motion information, includes information such as the vehicle's position, speed, or steering angle. This information can originate from the vehicle's perception system, decision-making control system, or drive system, or can be directly read from data transmitted via the vehicle's bus.
[0107] Environmental information refers to information about the vehicle's surroundings, which may specifically include the aforementioned first motion information, namely, information about various targets in the environment. This includes information such as the position, motion state, speed, acceleration, and steering angle of each target.
[0108] Specifically, sensors in the vehicle can be used to collect environmental information. These sensors can include image sensors (or cameras), infrared sensors, lidar, or millimeter-wave radar, and the sensor data can include images, point cloud data, or infrared data.
[0109] In one possible implementation, based on the vehicle architecture shown in Figure 1, the sensor data can specifically come from point clouds or images collected by lidar, cameras, or infrared sensors within the vehicle. For example, during vehicle operation, sensors installed in the vehicle can collect data about the vehicle's surrounding environment.
[0110] Furthermore, the collected environmental information can be used as input to a pre-trained neural network to output perceptual information containing various targets in the environment. These perceptual targets can be categorized into static and dynamic targets. Static targets may include information such as road structures or other buildings in the vehicle's environment, while dynamic targets may include targets in the environment with a speed exceeding a threshold, such as pedestrians, moving vehicles, or other moving obstacles.
[0111] In some possible scenarios, abnormal situations may occur during vehicle operation. For example, there may be overturned vehicles or other out-of-control vehicles in front of the vehicle. Based on data collected in real time by sensors, abnormal situations that may occur in the environment can be monitored in real time, and when an abnormal situation is detected, the method provided in this application embodiment can be activated to plan a safer driving path for the vehicle.
[0112] 402. Path planning.
[0113] During the route planning phase, the vehicle data and environmental information obtained during the data collection phase are combined to plan a safer driving route for the vehicle.
[0114] In the path planning stage, this application embodiment sets multiple control objectives specifically for emergency scenarios, such as returning to the target lane, road boundary penalties, obstacle avoidance, and ride comfort. Based on the set multiple control objectives, an optimization problem is constructed, and the optimization problem is solved to obtain a driving path that can achieve the objectives of returning to the target lane, road boundary penalties, obstacle avoidance, and ride comfort.
[0115] The following section details the planning steps in the path planning phase.
[0116] 1. Objective function
[0117] In this application, multiple objective functions are constructed from dimensions such as return to the target lane, road boundary penalty, obstacle avoidance, or ride comfort.
[0118] For example, an objective function containing multiple objective functions can be expressed as: J = ω1J1 + ω2J2 + ω3J3 + ω4J4
[0119] Wherein, J1 is the target lane return objective function, meaning that after completing obstacle avoidance, the vehicle should return to the target lane as much as possible to resume normal driving. J2 is the road boundary penalty objective function, indicating that the vehicle should stay within the road edge line as much as possible. J3 is the obstacle avoidance objective function, used to ensure the safety of the autonomous driving vehicle. J4 is the ride comfort objective function, used to ensure that the changes in the speed and front wheel steering angle of the autonomous driving vehicle are as smooth as possible. ω1, ω2, ω3, and ω4 are weighting coefficients. The obstacle avoidance objective function ensures that the distance between the autonomous driving vehicle and the overturned vehicle and other vehicles is a safe distance, while the ride comfort objective function ensures that the changes in the speed and front wheel steering angle of the autonomous driving vehicle are within a preset range.
[0120] The objective functions will be introduced below.
[0121] (1) The target function for regression lane, also known as the aforementioned target function for regression lane.
[0122] This can be used to ensure that after obstacle avoidance, the autonomous vehicle must return to the target lane and maintain normal driving as much as possible. The objective function J1 for returning to the target lane can be expressed as:
[0123] Where N is the number of steps in trajectory planning, which is usually a preset value, and e y (i) represents the lateral deviation between the vehicle's center of gravity and the target centerline in the error coordinate system at time i, which should be as small as possible.
[0124] (2) Road boundary penalty objective function, also known as the lane boundary objective function mentioned above.
[0125] To avoid crossing the road edge line, autonomous vehicles should stay within the road edge line as much as possible. The formula for calculating the road boundary penalty function J2 is as follows:
[0126] Where N is the number of steps in trajectory planning, and d1 and d2 are the distances between the autonomous vehicle and the lane boundary.
[0127] (3) Obstacle avoidance objective function
[0128] To avoid collisions with surrounding vehicles, the distance between the autonomous vehicle and the overturned vehicle and other surrounding vehicles must be as large as possible. Therefore, the obstacle avoidance objective function J3 is constructed.
[0129] Generally, the factors contributing to the risk to one's own vehicle may differ depending on the distance between the vehicle and the overturned vehicle. For example, when the distance between the vehicle and the overturned vehicle is relatively large, the impact of the longitudinal distance between the two vehicles on the vehicle's safety should be considered first; while when the longitudinal distance between the vehicle and the overturned vehicle is relatively small, the impact of the lateral distance between the two vehicles on the vehicle's safety should be considered first.
[0130] Therefore, in this embodiment, when setting the obstacle avoidance objective function, the longitudinal distance between the vehicle and the overturned vehicle is introduced. The longitudinal distance is the distance between the vehicle and the overturned vehicle in the direction of travel of the vehicle.
[0131] This can be represented as:
[0132] If the longitudinal distance xd(j) between the two cars at time j is greater than or equal to the longitudinal distance threshold xd th Then the first distance function is determined;
[0133] If the longitudinal distance xd(j) between the two cars at time j is less than the longitudinal distance threshold xd th Then the second distance function is determined.
[0134] At different longitudinal distances, the corresponding distance function is set as the obstacle avoidance objective function.
[0135] The first distance function can be expressed as:
[0136] Where u(j) is the first distance function at time j, and xd(j) is the longitudinal distance between the two vehicles at time j. th Let j be the threshold value for the longitudinal distance between the two vehicles at time j.
[0137] The second distance function can be expressed as:
[0138] Where u(j) is the second distance function at time j, yd(j) is the lateral distance between the two vehicles at time j, and yd th (i) represents the lateral distance threshold at time j. d S xd(j) represents the lateral safety distance when the longitudinal distance is 0, and xd(j) represents the longitudinal distance between the two vehicles at time j.
[0139] Combining the aforementioned first and second distance functions, the objective function can be expressed as:
[0140] Where N is the number of steps in trajectory planning, u(j) is the first distance function or the second distance function, and u(j) is a function related to the longitudinal and lateral distances between the autonomous vehicle and the overturned vehicle or other surrounding vehicles, satisfying that the larger the distance, the smaller u(j).
[0141] (4) Smoothing objective function
[0142] To ensure ride comfort, the changes in speed and front wheel steering angle of the autonomous vehicle should be as smooth as possible. The ride comfort objective function J4 can be expressed as follows:
[0143] Where n is the number of segments in the trajectory planning, and k δi k represents the rate of change of the front wheel steering angle. vi This represents the rate of change of velocity, and J4 is usually small.
[0144] 2. Constructing an optimization problem
[0145] When planning a driving path for a vehicle, the constraints in the optimization algorithm should also be constructed based on the vehicle's geometric model. By substituting the information of the vehicle and the overturned vehicle into the optimization algorithm, the optimization problem can be constructed.
[0146] When setting constraints, the vehicle's geometric model can be considered to set constraints that conform to the model. These constraints can include obstacle avoidance constraints based on geometric collision detection, vehicle stability constraints, road boundary constraints, and constraints on control and state variables. Control variables include the vehicle's rate of change of speed or rate of change of steering angle, while state variables include the vehicle's speed or steering angle, to ensure the stability and safety of vehicle operation. These multiple constraints can be represented as c i (x)(i=1,…,4).
[0147] The constraints are described below.
[0148] (1) Collision avoidance constraints
[0149] To ensure that a vehicle can avoid overturned vehicles or other vehicles and avoid collisions, collision avoidance constraints can be set to allow the vehicle to drive in a safe area.
[0150] Specifically, when setting constraints, the vehicle can be simplified into a rectangle. The coordinates of the four vertices of the rectangle can be calculated based on the vehicle's center of gravity position x and y, yaw angle θ, and the vehicle's length L and width ω. The equations of the straight lines of the four sides of the rectangle, y = kx + b or x = c, can also be calculated.
[0151] The predicted probability elliptic expression f for surrounding vehicles is obtained using a constant turn rate and acceleration vehicle model (CTRA) that considers uncertainties: Ax 2 +Bxy+Cy 2 +Dx+Ey+F=0 means...
[0152] Obstacle avoidance constraints based on geometric collision detection are constructed using the linear equations of all edges and the predicted probability elliptical expressions. The construction process includes:
[0153] If the slope of the straight line equation exists, we can solve the straight line equation y = kx + b and the predicted probability ellipse expression f simultaneously to obtain the quadratic equation f1. We can then calculate the corresponding first discriminant Δ1 and construct the first constraint condition as the obstacle avoidance constraint condition based on geometric collision detection.
[0154] When the slope of the straight line equation exists, the mathematical meaning of the rectangle and ellipse not intersecting is that Δ1 < 0 or Δ1 > 0, and the vertices of the two rectangles are located on the same side of the two intersection points. The first constraint condition must be satisfied: (x1-X1)(x2-X1) > 0 and (x1-X2)(x2-X2) > 0.
[0155] Where x1 and x2 are the x-coordinates of the intersection of the line and the ellipse, and X1 and X2 are the x-coordinates of the two endpoints of the rectangle.
[0156] If the slope of the straight line equation does not exist, we can solve the straight line equation x = c and the predicted probability ellipse expression f simultaneously to obtain the quadratic equation f2. We can then calculate the corresponding second discriminant Δ2 and construct the second constraint condition as the obstacle avoidance constraint condition based on geometric collision detection.
[0157] When the slope of the straight line equation does not exist, the mathematical meaning of the rectangle and ellipse not intersecting is either Δ2 < 0; or Δ2 > 0, and the vertices of the two rectangles are located on the same side of the two intersection points. The second constraint condition must be satisfied: (y1-Y1)(y2-Y1) > 0.
[0158] Where y1 and y2 are the ordinates of the intersection point of the line and the ellipse, and Y1 and Y2 are the coordinates of the two endpoints of the rectangle.
[0159] In other words, in the embodiments of this application, the vehicle's position, surrounding vehicles, and geometric model are considered to plan a driving path for the vehicle in which the vehicle's edges do not collide with other vehicles, thereby improving the vehicle's driving safety.
[0160] (2) Stability constraints
[0161] To prevent the vehicle from becoming unstable during obstacle avoidance, the embodiments of this application can be based on the vehicle stability constraint condition c2(x) of the phase plane.
[0162] Specific construction methods may include: using the phase plane of the center of mass sideslip angle - yaw rate (β-ω) r The phase plane is used as the basis for judging the stability of the vehicle. The phase plane stability domain is divided using the double oblique line method and the upper limit of the yaw rate. Stability constraints are obtained by limiting the vehicle's state to be within the phase plane stability domain. This can prevent vehicle instability caused by sharp steering or emergency braking.
[0163] (3) Road boundary constraints
[0164] In order to ensure that the vehicle does not cross the road boundary line while driving, and to prevent collisions with road guardrails or vehicles in the opposite lane, stability constraints are set.
[0165] In real-world scenarios, lanes can be divided into straight lanes and curved lanes. Straight lanes are those with a turning angle less than a preset angle, while curved lanes are those with a turning angle not less than a preset angle. The factors considered when planning vehicle paths may differ for straight lanes and curved lanes. In this embodiment, only the corresponding road boundary constraints are applied for straight lanes and curved lanes respectively, to adapt to more scenarios.
[0166] The specific methods for constructing the road boundary constraint c3(x) include:
[0167] For a straight-line scenario, this can be represented as: y min <y<y max
[0168] Where y represents the lateral position of the vehicle; min y max This refers to the lateral position of the road boundary line;
[0169] For a curve scenario, it can be represented as:
[0170] Where x and y are the lateral and longitudinal coordinates of the vehicle; x0 and y0 are the coordinates of the curve center; R min R max This refers to the radius of curvature at both sides of the road.
[0171] (4) Control and state constraints
[0172] To improve vehicle stability or enhance the passenger experience, constraints can be imposed on state variables and control variables.
[0173] For example, the control and state constraints c4(x) can be expressed as: 0≤v≤v max|δ|≤δ max |k v |≤k vmax |k δi |≤k δmax
[0174] Where, k δmax k vmax δ max v max These are the threshold values for the rate of change of front wheel steering angle, the rate of change of speed, the front wheel steering angle threshold, and the speed threshold.
[0175] Based on the determined comprehensive objective function J and constraint condition c i (x) Substituting the predicted kinematic and dynamic information, we obtain a constrained optimization problem, expressed as: minJ stc i (x)≤0,i=1,…,4
[0176] That is, minimize J and satisfy c i The problem is (x).
[0177] 3. Solve the optimization problem and output the driving path.
[0178] Once the optimization problem is obtained, it can be solved.
[0179] Alternatively, the "sqp-legacy" algorithm can be used to solve this constrained optimization problem to obtain the optimal driving feature vector χ, which can then be substituted into the kinematic equations to obtain the desired trajectory and desired speed.
[0180] Specifically, the driving feature vector χ is used as the independent variable, based on the vehicle control quantity u(k) at the initial moment, i.e., the speed v. x The control quantity u at future times is calculated from the front wheel steering angle δ(k) and the front wheel steering angle δ(k). c (k+1), χ can be expressed as: χ=(t1,t2…t n ,k δ1 ,k δ2 …k δn ,k v1 ,k v2 …k vn ,n)
[0181] Where t1, t2, ..., t n For n sub-programs in the time domain; k δi k is the rate of change of the front wheel steering angle. vi The rate of change of velocity;
[0182] Control quantity u at future moments cSubstituting (k+1) into the vehicle's kinematics and dynamics equations yields the vehicle's kinematics and dynamics information at the predicted moment, namely, longitudinal position x, lateral position y, heading angle φ, sideslip angle β, and yaw rate ω. r .
[0183] 403. Control phase.
[0184] Once the vehicle's driving path is obtained, the Juze control system can be used to control the vehicle to drive along the planned path.
[0185] Therefore, in this embodiment, for emergency situations such as a vehicle overturning ahead, a trajectory planning method based on driving feature vectors is adopted. An objective function is designed that integrates four objectives: returning to the target lane, road boundary penalty, obstacle avoidance, and ride comfort. This not only ensures that the autonomous vehicle avoids the overturned vehicle and avoids collisions with other vehicles during the avoidance process, but also ensures that the vehicle does not cross the road boundary during obstacle avoidance and can return to the target lane to resume normal driving after obstacle avoidance. This solves the complex constraints and multiple risks during obstacle avoidance while ensuring that the autonomous vehicle can resume normal driving after obstacle avoidance, greatly improving the safety of intelligent driving vehicles.
[0186] For example, the driving path of the vehicle planned through the embodiments of this application can be shown in Figure 5, and the corresponding driving effect can be shown in Figure 6. During the vehicle obstacle avoidance process, it first turns right to avoid the overturned vehicle, then turns right to avoid other vehicles around it, turns left to avoid other vehicles, and then has moved away from the overturned vehicle and turns left to return to the normal driving state.
[0187] Therefore, this application provides an autonomous vehicle trajectory planning scheme under the condition of a vehicle overturning ahead. The scheme constructs objective functions based on the control objectives of the autonomous vehicle. The control objectives include lane return objective (to enable the vehicle to return to the target lane), boundary penalty objective (to enable the vehicle to maintain a certain distance from the lane boundary), obstacle avoidance objective (to enable the vehicle to avoid obstacle areas), and vehicle control objective (to optimize vehicle speed or turning angle, improve vehicle stability and user driving or riding experience). An optimization problem is constructed based on multiple objective functions, and then the optimization problem is solved to obtain a vehicle driving path that can be safely driven in all dimensions.
[0188] The process of the method provided in this application has been described above. The structure of the apparatus for performing the above method process will be described below.
[0189] Referring to Figure 7, this application provides a structural schematic diagram of a vehicle routing device, which includes:
[0190] The acquisition module 701 is used to acquire the first motion information of the obstacle, wherein the obstacle is an object within a preset range of the vehicle whose speed is greater than a first threshold.
[0191] The acquisition module 701 is also used to acquire the second motion information of the vehicle;
[0192] The processing module 702 is used to determine the vehicle's driving path based on the first motion information, the second motion information, and the optimization algorithm. The optimization algorithm includes multiple objective functions, including a lane regression objective function, a lane boundary objective function, and an obstacle avoidance objective function. The lane regression objective function is a term for the vehicle to travel to the target lane. The lane boundary objective function is a term set for the distance between the vehicle and the boundary line of the target lane. The obstacle avoidance objective function is a term set for the distance between the vehicle and obstacles and is used to avoid obstacles.
[0193] In one possible implementation, the aforementioned plurality of objective functions may further include a smoothness objective function, which is used to constrain the change in the vehicle's speed or steering angle.
[0194] In one possible implementation, the aforementioned obstacle includes a vehicle that has overturned.
[0195] In one possible implementation, the aforementioned processing module 702 is specifically used for: determining a safe area where the vehicle and obstacles will not collide based on the first motion information; obtaining an optimization problem based on the safe area, the second motion information, and an optimization algorithm, wherein the optimization algorithm includes multiple objective functions and constraints, and the constraints include at least one of collision constraints, instability-free optimization conditions, non-crossing-the-line optimization conditions, or control and state quantity constraints, wherein the collision constraints are used to constrain the vehicle from colliding with the obstacles, the instability-free constraints are used to constrain the vehicle's steering angle or speed, the non-crossing-the-line optimization conditions are used to constrain the vehicle to travel within the boundary line of the target lane, and the control and state quantity constraints are used to constrain the control and state quantities; and solving the optimization problem to obtain the vehicle's driving path.
[0196] In one possible implementation, the aforementioned processing module 702 is specifically used to: solve the optimization problem according to the solving algorithm to obtain a driving feature vector, the driving feature vector including the vehicle speed or steering angle at different future times; and substitute the driving feature vector into the kinematic model to obtain the vehicle's desired trajectory and desired speed, the driving path including the desired trajectory and desired speed.
[0197] In one possible implementation, the aforementioned non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius of the curve.
[0198] In one possible implementation, the aforementioned obstacle avoidance objective function includes a first distance function or a second distance function, wherein the first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle; when the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function, and when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function.
[0199] In one possible implementation, the aforementioned return lane objective function includes a term that determines the deviation between the vehicle's desired trajectory and the target lane.
[0200] Figure 8 shows a schematic diagram of the hardware structure of a vehicle routing device 80 provided in an embodiment of this application. This vehicle routing device 80 can be used to implement the steps of the methods shown in Figures 2 to 6 above.
[0201] The vehicle routing device 80 shown in Figure 8 may include a processor 801, a memory 802, a communication interface 803, and a bus 804. The processor 801, the memory 802, and the communication interface 803 can be connected via the bus 804.
[0202] The processor 801 is the control center of the vehicle routing device 80. It can be a general-purpose central processing unit (CPU) or other general-purpose processors. The general-purpose processor can be a microprocessor or any conventional processor, such as a GPU or NPU, and can be adapted to the actual application scenario.
[0203] As an example, processor 801 may include one or more CPUs, and may also include other processors, such as the CPU, NPU or GPU shown in Figure 8.
[0204] The memory 802 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0205] In one possible implementation, the memory 802 can exist independently of the processor 801. The memory 802 can be connected to the processor 801 via a bus 804 and is used to store data, instructions, or program code. When the processor 801 calls and executes the instructions or program code stored in the memory 802, it can implement the methods provided in the embodiments of this application, such as the methods shown in Figures 2 to 6.
[0206] In another possible implementation, the memory 802 can also be integrated with the processor 801.
[0207] The communication interface 803 is used for the vehicle routing device 80 to connect with other devices via a communication network, which may be Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. The communication interface 803 may include a receiving unit for receiving data and a transmitting unit for sending data.
[0208] Bus 804 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 8, but this does not indicate that there is only one bus or one type of bus.
[0209] It should be noted that the structure shown in Figure 8 does not constitute a limitation on the vehicle routing device 80. In addition to the components shown in Figure 8, the vehicle routing device 80 may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0210] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc., including several instructions to cause a data quantization device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0211] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0212] This application also provides a computer-readable storage medium storing a program for training a model or performing inference tasks, which, when run on a computer, causes the computer to perform all or part of the steps in the methods described in the embodiments shown in Figures 2 to 6 above.
[0213] This application also provides a digital processing chip. This digital processing chip integrates circuitry for implementing the aforementioned processor or processor functions, and one or more interfaces. When the digital processing chip integrates a memory, it can perform the method steps of any one or more of the foregoing embodiments. When the digital processing chip does not integrate a memory, it can be connected to an external memory via a communication interface. The digital processing chip implements the method steps of any one or more of the foregoing embodiments based on the program code stored in the external memory.
[0214] This application also provides a computer program product comprising one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state disk (SSD)).
[0215] The target sensing device or target sensing device provided in this application embodiment can be a chip, which includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip in the server to execute the method described in the embodiments shown in Figures 3-5 above. Optionally, the storage unit is a storage unit within the chip, such as a register or cache. The storage unit can also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, such as random access memory (RAM).
[0216] Specifically, the aforementioned processing unit or processor can be a central processing unit (CPU), a neural-network processing unit (NPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0217] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and 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 modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0218] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0219] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0220] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0221] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. The term "and / or" in this application 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 alone, A and B simultaneously, and B alone. Additionally, the character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or modules is not necessarily limited to those steps or modules explicitly listed, but may include other steps or modules not explicitly listed or inherent to such processes, methods, products, or devices. The naming or numbering of steps in this application does not imply that the steps in the method flow must be executed in the time / logical order indicated by the naming or numbering. The execution order of the named or numbered process steps can be changed according to the technical purpose to be achieved, as long as the same or similar technical effect can be achieved. The division of modules in this application is a logical division. In actual applications, there may be other division methods. For example, multiple modules may be combined into or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the modules shown or discussed may be through some ports, and the indirect coupling or communication connection between modules may be electrical or other similar forms, which are not limited in this application. Furthermore, the modules or sub-modules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules. Some or all of the modules can be selected to achieve the purpose of the solution in this application according to actual needs.
Claims
1. A vehicle route planning method, characterized in that, include: Obtain first motion information of an obstacle, wherein the obstacle is an object within a preset range of the vehicle whose speed is greater than a first threshold; Obtain the second motion information of the vehicle; The driving path of the vehicle is determined based on the first motion information, the second motion information, and the optimization algorithm. The optimization algorithm includes multiple objective functions, including a lane return objective function, a lane boundary objective function, and an obstacle avoidance objective function. The lane return objective function is a term for the vehicle to travel to the target lane. The lane boundary objective function is a term set for the distance between the vehicle and the boundary line of the target lane. The obstacle avoidance objective function is a term set for the distance between the vehicle and the obstacle and is used to avoid the obstacle.
2. The method according to claim 1, characterized in that, The plurality of objective functions also includes a smoothness objective function, which is used to constrain the changes in the vehicle's speed or steering angle.
3. The method according to claim 1 or 2, characterized in that, The obstacles include vehicles that have overturned.
4. The method according to any one of claims 1-3, characterized in that, Determining the vehicle's driving path based on the first motion information, the second motion information, and the optimization algorithm includes: Based on the first motion information, a safe zone is determined in which the vehicle will not collide with the obstacle; Based on the safe area, the second motion information, and the optimization algorithm, an optimization problem is obtained. The optimization algorithm includes multiple objective functions and constraints. The constraints include at least one of collision constraints, instability-free optimization conditions, non-crossing-the-line optimization conditions, or control and state quantity constraints. The collision constraints are used to prevent the vehicle from colliding with the obstacle. The instability-free constraints are used to constrain the vehicle's steering angle or speed. The non-crossing-the-line optimization conditions are used to constrain the vehicle to travel within the boundary line of the target lane. The control and state quantity constraints are used to constrain the control and state quantities. The optimization problem is solved to obtain the vehicle's travel path.
5. The method according to claim 4, characterized in that, Solving the optimization problem to obtain the vehicle's travel path includes: The optimization problem is solved according to the solution algorithm to obtain the driving feature vector, which includes the vehicle speed or steering angle at different future times; Substituting the driving feature vector into the kinematic model yields the vehicle's desired trajectory and desired speed, and the driving path includes the desired trajectory and desired speed.
6. The method according to claim 4 or 5, characterized in that, The non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius of the curve.
7. The method according to any one of claims 1-6, characterized in that, The obstacle avoidance objective function includes a first distance function or a second distance function, wherein the first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle; When the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function; when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function.
8. The method according to any one of claims 1-7, characterized in that, The return lane objective function includes a term that determines the deviation between the vehicle's desired trajectory and the target lane.
9. A vehicle route planning device, characterized in that, include: The acquisition module is used to acquire the first motion information of the obstacle, wherein the obstacle is an object whose speed within a preset range of the vehicle is greater than a first threshold. The acquisition module is also used to acquire the second motion information of the vehicle; The processing module is used to determine the driving path of the vehicle based on the first motion information, the second motion information, and the optimization algorithm. The optimization algorithm includes multiple objective functions, including a lane return objective function, a lane boundary objective function, and an obstacle avoidance objective function. The lane return objective function is a term for the vehicle to travel to the target lane. The lane boundary objective function is a term set for the distance between the vehicle and the boundary line of the target lane. The obstacle avoidance objective function is a term set for the distance between the vehicle and the obstacle and is used to avoid the obstacle.
10. The apparatus according to claim 9, characterized in that, The plurality of objective functions also includes a smoothness objective function, which is used to constrain the changes in the vehicle's speed or steering angle.
11. The apparatus according to claim 9 or 10, characterized in that, The obstacles include vehicles that have overturned.
12. The apparatus according to any one of claims 9-11, characterized in that, The processing module is specifically used for: Based on the first motion information, a safe zone is determined in which the vehicle will not collide with the obstacle; Based on the safe area, the second motion information, and the optimization algorithm, an optimization problem is obtained. The optimization algorithm includes multiple objective functions and constraints. The constraints include at least one of collision constraints, instability-free optimization conditions, non-crossing-the-line optimization conditions, or control and state quantity constraints. The collision constraints are used to prevent the vehicle from colliding with the obstacle. The instability-free constraints are used to constrain the vehicle's steering angle or speed. The non-crossing-the-line optimization conditions are used to constrain the vehicle to travel within the boundary line of the target lane. The control and state quantity constraints are used to constrain the control and state quantities. The optimization problem is solved to obtain the vehicle's travel path.
13. The apparatus according to claim 12, characterized in that, The processing module is specifically used for: The optimization problem is solved according to the solution algorithm to obtain the driving feature vector, which includes the vehicle speed or steering angle at different future times; Substituting the driving feature vector into the kinematic model yields the vehicle's desired trajectory and desired speed, and the driving path includes the desired trajectory and desired speed.
14. The apparatus according to claim 12 or 13, characterized in that, The non-crossing optimization conditions include a first constraint term for straight roads and a second constraint term for curves. The first constraint term is determined based on the distance between the vehicle and the boundary line of the target lane, and the second constraint term is determined based on the distance between the vehicle and the target lane line and the curve radius of the curve.
15. The apparatus according to any one of claims 9-14, characterized in that, The obstacle avoidance objective function includes a first distance function or a second distance function, wherein the first distance function is a term determined based on the longitudinal distance between the vehicle and the obstacle, and the second distance function includes a term determined based on the lateral distance between the vehicle and the obstacle; When the distance between the vehicle and the obstacle is greater than a second threshold, the obstacle avoidance objective function is the first distance function; when the distance between the vehicle and the obstacle is not greater than the second threshold, the obstacle avoidance objective function is the second distance function.
16. The apparatus according to any one of claims 9-15, characterized in that, The return lane objective function includes a term that determines the deviation between the vehicle's desired trajectory and the target lane.
17. A vehicle route planning device, characterized in that, The device includes a memory and a processor; the memory stores code, and the processor is configured to execute the code, wherein when the code is executed, the device performs the method as described in any one of claims 1-8.
18. A vehicle, characterized in that, The device includes a memory and a processor; the memory stores code, and the processor is configured to execute the code, wherein when the code is executed, the device performs the method as described in any one of claims 1-8.
19. A computer storage medium, characterized in that, The computer storage medium stores instructions that, when executed by the computer, cause the computer to perform the method according to any one of claims 1 to 8.
20. A computer program product, characterized in that, The computer program product stores instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 8.