Vehicle speed control method and device, electronic equipment and storage medium

By obtaining environmental maps and vehicle-related information, determining driving paths and coverage areas, adjusting vehicle speeds in real time to solve the complexity and instability of speed control in the ACC system in driving school scenarios, improving user experience and obstacle recognition accuracy.

CN119190006AActive Publication Date: 2024-12-27YIXIAN INTELLIGENCE
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411128499.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-16
Publication Date
2024-12-27
Estimated Expiration
2044-08-16

AI Technical Summary

Technical Problem

The existing adaptive cruise control (ACC) system has complex and unstable speed reduction and braking algorithms in the application, and has poor user experience, especially in driving school scenarios, which cannot effectively determine the vehicle's driving path and obstacle distance, resulting in the inability to automatically adjust the vehicle speed. .

Method used

By obtaining the environmental map of the target area, determining the driving path and coverage area based on vehicle-related information, determining whether there are obstacles at the path point, and adjusting the desired speed of the vehicle in real time according to the distance of the obstacle, controlling the vehicle speed to achieve the desired speed.

Benefits of technology

Improves the accuracy and user experience of vehicle speed control, simplifies the determination of driving paths, enhances obstacle recognition accuracy, allows vehicles to drive in straight or curves without lane lines, and adjusts speed in real time to avoid obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119190006A_ABST
    Figure CN119190006A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle speed control method and device, electronic equipment and a storage medium, and the method comprises the steps: obtaining an environment map of a target region, the environment map comprising obstacles and coordinates of the obstacles; determining a driving path of the vehicle based on the vehicle-related information, wherein the driving path comprises a plurality of path points and coordinates of the plurality of path points; determining a coverage area of the vehicle at each path point; determining whether the vehicle has an obstacle in the coverage area of the at least one waypoint based on the coordinates of the obstacle; if the vehicle has the obstacle in the coverage area of the at least one waypoint, determining the at least one waypoint as a target waypoint, and determining the distance between the vehicle and the target waypoint; determining an expected speed of the vehicle based on the distance between the vehicle and the target waypoint; and controlling the speed of the vehicle to be adjusted to the expected speed. According to the technical scheme, the accuracy of vehicle speed control can be improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving technology, and specifically to a vehicle speed control method and device, electronic equipment, and storage medium. Background Art

[0002] The Adaptive Cruise Control (ACC) system can not only maintain the speed set by the driver, but also reduce the speed at any time according to specific driving conditions, or even automatically brake. It is one of the core functions of Advanced Driver Assistance Systems (ADAS). However, there are still some problems in the application of ACC, which restricts the widespread application of ACC. Summary of the invention

[0003] In order to solve the above problems, the embodiments of the present application provide a vehicle speed control method and device, an electronic device, and a storage medium.

[0004] In a first aspect, an embodiment of the present application provides a vehicle speed control method, comprising: obtaining an environmental map of a target area, the environmental map including obstacles and coordinates of the obstacles; determining a driving path of the vehicle based on vehicle-related information, the driving path including multiple path points and coordinates of the multiple path points; determining a coverage area of ​​the vehicle at each path point; determining whether there is an obstacle within the coverage area of ​​at least one path point of the vehicle based on the coordinates of the obstacle; if there is an obstacle within the coverage area of ​​at least one path point of the vehicle, determining at least one path point as a target path point, and determining a distance between the vehicle and the target path point; determining a desired speed of the vehicle based on the distance between the vehicle and the target path point; and controlling the speed of the vehicle to adjust to the desired speed.

[0005] Optionally, the vehicle-related information includes vehicle coordinates, a turning angle between the vehicle's front wheels and the vehicle body, a vehicle gear ratio, a vehicle wheelbase and a vehicle gear position; determining the vehicle's driving path based on the vehicle-related information includes: determining the vehicle's front wheel turning angle based on the vehicle's front wheel turning angle and the vehicle body, and the vehicle gear ratio; determining the vehicle's heading angle based on the vehicle's front wheel turning angle and the vehicle wheelbase; determining the number of path points on the driving path based on the length of the driving path and the path resolution, wherein the length of the driving path is determined based on the vehicle gear position; determining the coordinates of each path point based on the vehicle coordinates, the vehicle's front wheel turning angle, the vehicle heading angle, the vehicle gear position and the path resolution to determine the driving path.

[0006] Optionally, determining the coverage area of ​​the vehicle at each path point includes: determining multiple target points on the border of the vehicle and the relative coordinates of the multiple target points based on the vehicle size information and the vehicle coordinates, the relative coordinates of the target point being the difference between the coordinates of the target point and the vehicle coordinates; determining the projection coordinates of the target point at each path point based on the coordinates of each path point and the relative coordinates of the target point; determining the coverage area of ​​the vehicle at each path point based on the projection coordinates of the target point at each path point, the coverage area including multiple coordinates.

[0007] Optionally, determining the distance between the vehicle and the target path point includes: sorting the path points on the driving path and determining the sequence number of the target path point; and determining the distance between the vehicle and the target path point based on the sequence number of the target path point and the path resolution.

[0008] Optionally, based on the distance between the vehicle and the target path point, the expected speed of the vehicle is determined, including: if the distance between the vehicle and the target path point is less than or equal to a first threshold, determining the first speed as the expected speed of the vehicle; if the distance between the vehicle and the target path point is greater than the first threshold and less than or equal to a second threshold, determining the expected speed of the vehicle based on the distance between the vehicle and the target path point; if the distance between the vehicle and the target path point is greater than the second threshold, determining the second speed as the expected speed of the vehicle.

[0009] Optionally, the method further includes: controlling the speed of the vehicle to adjust to a desired speed, including: determining a control amount of a throttle controller or a brake controller based on the desired speed; and adjusting the speed of the vehicle based on the control amount of the throttle controller or the brake controller.

[0010] Optionally, before obtaining the environmental map of the target area, the method includes: obtaining a first map of the target area; drawing an electronic fence on the first map to obtain a second map of the target area; obtaining a third map around the vehicle; and splicing the second map and the third map to obtain an environmental map.

[0011] In a second aspect, an embodiment of the present application provides a vehicle speed control device, comprising: an acquisition module, used to acquire an environmental map of a target area, the environmental map including obstacles and the coordinates of the obstacles; a determination module, used to determine a driving path of the vehicle based on vehicle-related information, the driving path including multiple path points and the coordinates of the multiple path points; the determination module is also used to determine the coverage area of ​​the vehicle at each path point; the determination module is also used to determine whether there is an obstacle in the coverage area of ​​at least one path point of the vehicle based on the coordinates of the obstacle; the determination module is also used to determine at least one path point as a target path point if there is an obstacle in the coverage area of ​​at least one path point of the vehicle, and determine the distance between the vehicle and the target path point; the determination module is also used to determine the expected speed of the vehicle based on the distance between the vehicle and the target path point; a control module is used to control the speed of the vehicle to be adjusted to the expected speed.

[0012] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor; a memory, the memory being connected to the processor, the memory being used to store a computer program, and the computer program implementing the above method when executed by the processor.

[0013] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above method is implemented.

[0014] In a fifth aspect, an embodiment of the present application provides a computer program product, including computer program instructions, which implement the above method when executed by a processor.

[0015] Through the above technical solution, the vehicle's driving path is determined based on vehicle-related information, and the driving path can be updated in real time according to changes in vehicle-related information. The method is simple and has high accuracy. Secondly, it is determined whether there is an obstacle in the coverage area of ​​each path point. Compared with determining whether there is an obstacle on the path point, the obstacle recognition accuracy is higher and the judgment result is more accurate. In addition, since there are no lane lines in the target area, the vehicle can travel in a straight line or along a curve. The straight-line distance between the vehicle and the obstacle may not reflect the distance the vehicle has traveled to the obstacle. The distance between the vehicle and the target path point is used to represent the distance the vehicle has traveled to the obstacle. The target path point can be updated in real time according to the driving path, and the distance between the vehicle and the target path point can also be updated in real time, so that the desired speed of the vehicle can be adjusted in real time, the accuracy of vehicle speed control can be improved, and the user experience can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a flow chart of a vehicle speed control method provided in one embodiment of the present application.

[0017] Figure 2 It is a flowchart of a method for determining a driving path of a vehicle provided in one embodiment of the present application.

[0018] Figure 3 It is a flowchart of a method for determining the coverage area of ​​a vehicle at a path point provided in an embodiment of the present application.

[0019] Figure 4 It is a flowchart of a method for determining the distance between a vehicle and a target path point provided in one embodiment of the present application.

[0020] Figure 5 It is a flowchart of a method for determining a desired speed of a vehicle provided in one embodiment of the present application.

[0021] Figure 6 It is a flowchart of a method for adjusting the speed of a vehicle provided in one embodiment of the present application.

[0022] Figure 7 It is a structural block diagram of a vehicle speed control device provided in one embodiment of the present application.

[0023] Figure 8 Shown is a schematic structural diagram of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0024] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0025] At present, the application of ACC in ADAS is relatively limited. When ACC is triggered, the algorithm for deceleration and braking based on the distance to the obstacle is complex and unstable, and the user experience is poor. In addition, when ACC is applied to driving school scenarios, due to the lack of clear roads, there is currently no solution in the relevant technology to determine the vehicle's driving path, and it is also impossible to determine the distance from the vehicle to the obstacle in order to automatically adjust the vehicle's speed.

[0026] In view of the above technical problems, in a first aspect, an embodiment of the present application provides a vehicle speed control method.

[0027] Figure 1 FIG. 1 is a flow chart of a vehicle speed control method provided by an embodiment of the present application. Figure 1 As shown, the method includes the following steps.

[0028] Step S101, obtaining an environment map of a target area.

[0029] In an embodiment of the present application, the target area may refer to an area where the vehicle can travel, such as a driving school site, an airport, a parking lot, etc. The environment map is a two-dimensional map, and the environment map includes obstacles and the coordinates of the obstacles. In an embodiment of the present application, obstacles include static obstacles and dynamic obstacles. Optionally, static obstacles include immovable objects or inaccessible areas, such as houses, trees, prohibited areas, etc. Dynamic obstacles include movable objects, such as pedestrians, animals, other vehicles, and other movable objects.

[0030] In an embodiment of the present application, in order to obtain an environmental map, the method includes: obtaining a first map of the target area. Specifically, using a first sensor (e.g., a multi-line laser radar) to obtain point cloud data of the target area, converting the point cloud data into two-dimensional data, and forming a first map. Since there are obstacles (e.g., inaccessible areas) that cannot be detected by the first sensor in the target area, it is necessary to mark the undetectable obstacles on the first map. Optionally, an electronic fence is drawn on the first map to obtain a second map of the target area, and the second map includes static obstacles and the coordinates of the static obstacles, that is, the second map is a static map. The method also includes: obtaining a third map around the vehicle. Specifically, using a second sensor (e.g., a single-line laser radar) to obtain point cloud data around the vehicle, converting the point cloud data into two-dimensional data, and forming a third map, the third map includes dynamic obstacles and the coordinates of dynamic obstacles, that is, the third map is a dynamic map. The second map and the third map are spliced ​​to obtain an environmental map. Optionally, since the obstacles (dynamic obstacles) around the vehicle will change, it is necessary to obtain a third map around the vehicle in real time and update the environmental map in real time.

[0031] Step S102, determining the driving path of the vehicle based on the vehicle related information.

[0032] In an embodiment of the present application, the driving path includes multiple path points and the coordinates of the multiple path points. Unlike road scenes, the vehicle does not have a determined driving route in the target area (for example, a driving school scene), so it is necessary to determine the driving path of the vehicle. The method of determining the driving path of the vehicle through vehicle-related information is simple and has a high accuracy rate. In addition, the driving path of the vehicle can be updated in time according to changes in vehicle-related information, that is, the driving path of the vehicle can be updated in real time.

[0033] Optionally, the vehicle-related information includes vehicle coordinates, the turning angle between the front wheels of the vehicle and the body of the vehicle, the gear ratio of the vehicle, the wheelbase of the vehicle, the gear position of the vehicle, etc. The vehicle coordinates refer to the coordinates of the center point of the rear axle of the vehicle. Optionally, the vehicle coordinates are determined by sensors installed on the vehicle (for example, inertial navigation). The turning angle between the front wheels of the vehicle and the body of the vehicle, the gear ratio of the vehicle, and the wheelbase of the vehicle are fixed parameters of the vehicle. The gear position of the vehicle can be obtained through the on-board automatic diagnostic system (OBD). Specifically, the front wheel turning angle of the vehicle is determined based on the turning angle between the front wheels of the vehicle and the body of the vehicle, and the gear ratio of the vehicle; the heading angle of the vehicle is determined based on the front wheel turning angle of the vehicle and the wheelbase of the vehicle; the number of path points on the driving path is determined based on the length of the driving path and the path resolution; the coordinates of each path point are determined based on the vehicle coordinates, the front wheel turning angle of the vehicle, the heading angle of the vehicle, the gear position of the vehicle and the path resolution to determine the driving path. For more descriptions on determining the driving path, please refer to this application Figure 2 , I will not go into details here.

[0034] Step S103, determining the coverage area of ​​the vehicle at each path point.

[0035] Since the vehicle has a certain volume, the path point is a coordinate point. After the vehicle drives to the path point, it not only covers the path point, but also covers multiple coordinate points around the path point. If the existence of an obstacle is determined only based on whether the coordinates of the path point and the coordinates of the obstacle intersect, it is not accurate enough. Therefore, it is necessary to determine whether there is an obstacle in the coverage area of ​​the path point after the vehicle drives to the path point. Since the coordinates of each path point are determined based on the vehicle coordinates, after the vehicle drives to the path point, the coordinates of the path point correspond to the vehicle coordinates of the vehicle at the path point, and the coordinates of other points of the vehicle need to be determined based on the size of the vehicle. Optionally, based on the vehicle size information and the vehicle coordinates, multiple target points on the border of the vehicle and the relative coordinates of the multiple target points are determined, and the relative coordinates are the difference between the coordinates of the target point and the vehicle coordinates; based on the coordinates of each path point and the relative coordinates of the target point, the projection coordinates of the target point on each path point are determined; based on the projection coordinates of the target point at each path point, the coverage area of ​​the vehicle at each path point is determined, wherein the coverage area includes multiple coordinates. For more descriptions on determining the coverage area of ​​a path point, please refer to this application Figure 3 , I will not go into details here.

[0036] Step S104, determining whether there is an obstacle within the coverage area of ​​at least one path point of the vehicle.

[0037] Optionally, for at least one path point, determine whether the coordinates of the obstacle and the coordinates of the coverage area of ​​the vehicle at the path point intersect. If the coordinates of the obstacle and the coordinates of the coverage area of ​​the vehicle at the path point intersect, it is determined that there is an obstacle in the coverage area of ​​the path point; if there is no intersection, it is determined that there is no obstacle in the coverage area of ​​the path point.

[0038] Optionally, if there is no obstacle in the coverage area of ​​at least one path point, step S108 is executed, in which the vehicle is controlled to travel at the current speed (eg, the set speed). That is, the speed of the vehicle does not need to be adjusted at this time.

[0039] If there is an obstacle in the coverage area of ​​at least one path point of the vehicle, step S105 is executed. In step S105, the at least one path point is determined as a target path point, and the distance between the vehicle and the target path point is determined. Optionally, the path points on the driving path are sorted to determine the sequence number of the target path point; based on the sequence number of the target path point and the path resolution, the distance between the vehicle and the target path point is determined. For more description on determining the distance between the vehicle and the target path point, please refer to this application Figure 4 , I will not go into details here.

[0040] Step S106, determining the desired speed of the vehicle based on the distance between the vehicle and the target path point.

[0041] Optionally, if the distance between the vehicle and the target path point is less than or equal to a first threshold, the first speed is determined as the desired speed of the vehicle. If the distance between the vehicle and the target path point is greater than the first threshold and less than or equal to a second threshold, the desired speed of the vehicle is determined based on the distance between the vehicle and the target path point. If the distance between the vehicle and the target path point is greater than the second threshold, the second speed is determined as the desired speed of the vehicle. For more description on determining the desired speed of the vehicle, please refer to this application Figure 5 , I will not go into details here.

[0042] Step S107, controlling the speed of the vehicle to adjust to a desired speed.

[0043] In the embodiment of the present application, the speed of the vehicle can be controlled by a throttle controller or a brake controller. Optionally, based on the desired speed, a control amount of the throttle controller or the brake controller is determined; based on the control amount of the throttle controller or the brake controller, the speed of the vehicle is adjusted. For more descriptions on adjusting the speed of the vehicle, please refer to the present application. Figure 6 , I will not go into details here.

[0044] In the embodiment of the present application, firstly, the driving path of the vehicle is determined based on the vehicle-related information, and the driving path can be updated in real time according to the changes in the vehicle-related information, and the method is simple and has high accuracy; secondly, it is determined whether there is an obstacle in the coverage area of ​​each path point of the vehicle. Compared with determining whether there is an obstacle on the path point, the obstacle recognition accuracy is higher and the judgment result is more accurate; in addition, since there is no lane line in the target area, the vehicle can travel in a straight line or along a curve, and the straight-line distance between the vehicle and the obstacle may not reflect the distance traveled by the vehicle to the obstacle. The distance between the vehicle and the target path point is used to represent the distance traveled by the vehicle to the obstacle, and the target path point can be updated in real time according to the driving path, then the distance between the vehicle and the target path point can also be updated in real time, so that the expected speed of the vehicle can be adjusted in real time, the accuracy of vehicle speed control is improved, and the user experience is improved.

[0045] Figure 2 FIG. 1 is a flow chart of a method for determining a vehicle's driving path provided by an embodiment of the present application. Figure 2 As shown, the method includes the following steps.

[0046] Step S201, determining the front wheel steering angle of the vehicle based on the steering angle between the front wheel of the vehicle and the vehicle body and the vehicle gear ratio.

[0047] Optionally, the front wheel steering angle is determined by formula (1):

[0048] front_angle=M_PI*steerAngle / (180*gear_ratio), (1)

[0049] Among them, front_angle represents the front wheel angle, M_PI represents π, steerAngle represents the angle between the front wheel and the vehicle body, and gear_ratio represents the vehicle gear ratio.

[0050] Step S202, determining the vehicle heading angle based on the vehicle front wheel turning angle and the vehicle wheelbase.

[0051] Optionally, the vehicle heading angle is determined by formula (2):

[0052] turning_radius=wheel_base / tan(fabs(front_angle)), (2)

[0053] Among them, turning_radius represents the vehicle heading angle, wheel_base represents the vehicle wheelbase, and fabs() represents taking the absolute value.

[0054] Step S203: determining the number of path points on the driving path based on the length of the driving path and the path resolution.

[0055] In an embodiment of the present application, the length of the driving path is determined based on the gear position of the vehicle. For example, if the gear position of the vehicle is the forward gear, the length of the driving path is set to 30; if the gear position of the vehicle is the reverse gear, the length of the driving path is set to 5. It can be understood that the length of the driving path can be adjusted according to actual conditions. For example, for a manual transmission vehicle, the length of the driving path can also be determined according to the different gear positions of the forward gear. For another example, the length of the driving path can also be determined according to the driving speed of the vehicle. The path resolution refers to the distance between adjacent path points. The path resolution can be determined according to the driving speed of the vehicle. When the vehicle is driving faster, the path resolution selects a larger value; when the vehicle is driving slower, the path resolution selects a smaller value. This application does not limit this.

[0056] Optionally, the number of path points is obtained by formula (3):

[0057] m=floor(arc_length / path_interval), (3)

[0058] Among them, m represents the number of path points, arc_length represents the length of the driving path, path_interval represents the path resolution, and floor() represents rounding down.

[0059] Step S204, based on the vehicle coordinates, the front wheel steering angle of the vehicle, the heading angle of the vehicle, the gear position of the vehicle and the path resolution, the coordinates of each path point are determined to determine the driving path.

[0060] Optionally, when the front wheel turning angle is greater than or equal to 0 and the vehicle gear is in the forward gear, the coordinates of the i-th path point are determined by formulas (4)-(6):

[0061] yaw=path_interva l*i / turn ing_rad ius, (4)

[0062] xi=turn ing_rad ius*s in(yaw)+x0, (5)

[0063] yi=turning_rad ius*(1.0-cos(yaw))+y0, (6)

[0064] Among them, 1≤i≤m, and i is an integer, yaw represents the direction of the waypoint (that is, the direction of the vehicle); (x0, y0) represents the vehicle coordinates, and (xi, yi) represents the coordinates of the i-th waypoint.

[0065] Optionally, when the front wheel turning angle is greater than or equal to 0 and the vehicle gear is in reverse gear, the coordinates of the i-th path point are determined by formulas (7)-(9):

[0066] yaw=-1*path_interva l*i / turn ing_rad ius, (7)

[0067] xi=turn ing_rad ius*s in(yaw)+x0, (8)

[0068] yi=turning_rad ius*(1.0-cos(yaw))+y0, (9)

[0069] Among them, 1≤i≤m, and i is an integer, yaw represents the direction of the waypoint (that is, the direction of the vehicle); (x0, y0) represents the vehicle coordinates, and (xi, yi) represents the coordinates of the i-th waypoint.

[0070] Optionally, when the front wheel turning angle is less than 0 and the vehicle gear is in the forward gear, the coordinates of the i-th path point are determined by formulas (10)-(12):

[0071] yaw=-1*path_interva l*i / turn ing_rad ius, (10)

[0072] xi=turn ing_rad ius*s in(-1*yaw)+x0, (11)

[0073] yi=-1*turn ing_rad ius+turn ing_rad ius*cos(yaw)+y0, (12)

[0074] Among them, 1≤i≤m, and i is an integer, yaw represents the direction of the waypoint (that is, the direction of the vehicle); (x0, y0) represents the vehicle coordinates, and (x, y) represents the coordinates of the i-th waypoint.

[0075] Optionally, when the front wheel turning angle is less than 0 and the vehicle gear is in reverse gear, the coordinates of the i-th path point are determined by formulas (13)-(15):

[0076] yaw=path_interva l*i / turn ing_rad ius, (13)

[0077] xi=-1*turn ing_rad ius*s in(yaw)+x0, (14)

[0078] yi=-1*turn ing_rad ius+turn ing_rad ius*cos(yaw)+y0, (15)

[0079] Among them, 1≤i≤m, and i is an integer, yaw represents the direction of the waypoint (that is, the direction of the vehicle); (x0, y0) represents the vehicle coordinates, and (xi, yi) represents the coordinates of the i-th waypoint.

[0080] In an embodiment of the present application, the vehicle's driving path is predicted by vehicle-related information, and the coordinates of multiple path points on the driving path are determined. The method is simple, has low computing power requirements, and has a high accuracy rate in the prediction results. In addition, when vehicle-related information (for example, vehicle heading angle, vehicle gear position, etc.) changes, the driving path can be updated in real time.

[0081] Figure 3 1 is a flow chart of a method for determining a coverage area of ​​a vehicle at a path point provided by an embodiment of the present application. The method comprises the following steps.

[0082] Step S301, based on the vehicle size information and the vehicle coordinates, determining a plurality of target points on the border of the vehicle and the relative coordinates of the plurality of target points.

[0083] The relative coordinates of the target point are the difference between the coordinates of the target point and the vehicle coordinates.

[0084] In the embodiment of the present application, the vehicle size information includes the length, width, and distance from the center point of the rear axle of the vehicle to the rear of the vehicle, etc. The vehicle coordinates are the coordinates of the center point of the rear axle of the vehicle. Multiple target points are selected on the border of the vehicle, for example, n target points. The multiple target points can reflect the contour information of the vehicle, and the coordinate difference between the target point and the vehicle coordinates is determined, that is, the relative coordinates of the target point.

[0085] Step S302, based on the coordinates of each path point and the relative coordinates of the target point, determine the projection coordinates of the target point on each path point.

[0086] Optionally, the projection coordinates of the j-th target point on the i-th path point are determined by formulas (16)-(17):

[0087] new_pt.xj=xi+(footprint_spec[j].x*cos_yaw-footprint_spec[j].y*sin_yaw), (16)

[0088] new

[0089] _pt.yj=yi+(footprint_spec[j].x*sin_yaw+footprint_spec[j].y*cos_yaw),(17)

[0090] Among them, 1≤i≤m, and i is an integer, 1≤j≤n, and j is an integer, (footprint_spec[j].x, footprint_spec[j].y) represents the relative coordinates of the j-th target point, yaw represents the direction of the path point (that is, the direction of the vehicle), (xi, yi) represents the coordinates of the i-th path point, and (new_pt.xj, new_pt.yj) represents the projection coordinates of the j-th target point on the i-th path point.

[0091] S303, determining the coverage area of ​​the vehicle at each path point based on the projection coordinates of the target point at each path point.

[0092] Optionally, for each path point, the coverage area of ​​the vehicle at the path point is determined based on the projection coordinates of the target point at the path point. For example, after obtaining the projection coordinates of the target point, the coverage area of ​​the vehicle at the path point is obtained by using the Coordinate toolkit in C++ and then calling the createLinearRing and createPolygon functions therein.

[0093] In the embodiment of the present application, the coverage area of ​​the vehicle at each path point is determined according to the size of the vehicle, which can more accurately determine the area covered by the vehicle during driving and make obstacle judgments more accurate.

[0094] Figure 4 1 is a flow chart of a method for determining the distance between a vehicle and a target path point provided by an embodiment of the present application. The method comprises the following steps.

[0095] Step S401, sorting the path points on the driving path and determining the sequence number of the target path point.

[0096] In the embodiment of the present application, the waypoints are sorted from near to far according to their distance from the current position of the vehicle. For example, the first waypoint close to the vehicle is numbered 1, the second waypoint is numbered 2, ..., and the mth waypoint is numbered m.

[0097] Step S402, determining the distance between the vehicle and the target path point based on the sequence number of the target path point and the path resolution.

[0098] Alternatively, the distance between the vehicle and the target path point can be determined by formula (18):

[0099] elsec_leading_distance=path_interval*path_index, (18)

[0100] Among them, elsec_leading_distance represents the distance between the vehicle and the target path point, path_interval represents the path resolution, and path_index represents the sequence number of the path point.

[0101] In an embodiment of the present application, the distance between the vehicle and the target path point is used to reflect the driving distance from the vehicle to the obstacle, which is consistent with the vehicle's driving trajectory; and the target path point can be updated in real time according to the driving path, so the distance between the vehicle and the target path point can also be updated in real time, thereby determining the expected speed of the vehicle more accurately.

[0102] Figure 5 FIG. 1 is a flow chart of a method for determining a desired speed of a vehicle provided by an embodiment of the present application. Figure 5 As shown, the method includes the following steps.

[0103] Step S501, determining whether the distance between the vehicle and the target path point is less than or equal to a first threshold.

[0104] Optionally, the first threshold is a minimum braking distance, for example, the first threshold is 2m, 2.5m, 3m, etc. If the distance between the vehicle and the target path point is less than or equal to the first threshold, step S502 is executed. In step S502, the first speed is determined as the desired speed of the vehicle. In the embodiment of the present application, the first speed is 0. When the distance between the vehicle and the target path point is less than or equal to the first threshold, emergency braking is required, and the brakes are applied directly. At this time, the desired speed of the vehicle is 0.

[0105] If the distance between the vehicle and the target path point is greater than the first threshold, step S503 is executed. In step S503, it is determined whether the distance between the vehicle and the target path point is less than or equal to the second threshold. If the distance between the vehicle and the target path point is less than or equal to the second threshold, step S504 is executed. In the embodiment of the present application, the second threshold is the minimum safe distance when the vehicle is traveling at the current speed. Optionally, the current speed is a set speed.

[0106] In step S504 , the desired speed of the vehicle is determined based on the distance between the vehicle and the target path point.

[0107] Optionally, the desired speed of the vehicle is determined by formula (19):

[0108]

[0109] Among them, elec_max_allowable_velocity represents the expected speed of the vehicle, max_deceleraton represents the braking deceleration, reaction_time represents the response time, elec_leading_distance represents the distance between the vehicle and the target path point, and min_elec_brake_disance represents the minimum braking distance. The braking deceleration is an inherent parameter of the vehicle, and the response time is a set value. Optionally, different minimum braking distances are selected for static obstacles and dynamic obstacles. When the type of obstacle is determined, the minimum braking distance is a fixed value. Therefore, the expected speed of the vehicle depends on the distance between the vehicle and the target path point. When the distance between the vehicle and the target path point changes, the expected speed of the vehicle changes.

[0110] Optionally, if the distance between the vehicle and the target path point is greater than the second threshold, step S505 is executed. In step S505, the second speed is determined as the desired speed of the vehicle. In the embodiment of the present application, the second speed may be the current speed, that is, the set speed.

[0111] In an embodiment of the present application, different expected speeds are determined according to the different distances between the vehicle and the target path point, which can improve the user experience.

[0112] Figure 6 FIG. 1 is a flow chart of a method for adjusting the speed of a vehicle provided in an embodiment of the present application. Figure 6 As shown, the method includes the following steps.

[0113] Step S601, determining the control amount of the throttle controller or the brake controller based on the expected speed.

[0114] In the embodiment of the present application, the throttle controller and the brake controller are two control methods for controlling the vehicle speed or the vehicle acceleration. In the embodiment of the present application, a proportional-integral-derivative (PID) control system is used to determine the control amount of the throttle controller or the brake controller.

[0115] Optionally, the control amount of the throttle controller is determined by formula (20):

[0116] delta_th

[0117] =kp_th*(now_error_th-last_error_th)+ki_th*now_error_th+kd_th

[0118] *(now_error_th+last_last_error_th-2*last_error_th)

[0119] , (20)

[0120] Among them, delta_th represents the control quantity of the throttle controller, now_error_th represents the control error of the throttle controller in this cycle (the difference between the target value and the actual value), last_error_th represents the control error of the throttle controller in the previous cycle, and last_last_error_th represents the control error of the throttle controller in the previous cycle; kp_th, ki_th, and kd_th respectively represent the parameters of the throttle controller.

[0121] Optionally, the control amount of the brake controller is determined by formula (21):

[0122]

[0123] Among them, delta_brake represents the control quantity of the brake controller, now_error_brake represents the control error of the brake controller in this cycle (the difference between the target value and the actual value), last_error_brake represents the control error of the brake controller in the previous cycle, last_last_error_brake represents the control error of the brake controller in the previous cycle, kp_br, ki_br, and kd_br respectively represent the parameters of the brake controller.

[0124] Step S602: adjusting the speed of the vehicle based on the control amount of the throttle controller or the brake controller.

[0125] Optionally, the control amount of the throttle controller is sent to the lower computer to adjust the speed of the vehicle. Alternatively, the control amount of the brake controller is sent to the lower computer to adjust the speed of the vehicle.

[0126] Figure 7 : is a structural block diagram of a vehicle speed control device provided by an exemplary embodiment of the present application. Figure 7 As shown, the vehicle speed control device 700 includes an acquisition module 701 , a determination module 702 and a control module 703 .

[0127] The acquisition module 701 is used to acquire an environment map of the target area. The environment map includes obstacles and the coordinates of the obstacles.

[0128] Optionally, the acquisition module 702 is also used to acquire a first map of the target area; draw an electronic fence on the first map to obtain a second map of the target area; acquire a third map around the vehicle; and splice the second map and the third map to obtain an environmental map.

[0129] The determination module 702 is used to determine the driving path of the vehicle based on the vehicle-related information, and the driving path includes multiple path points and the coordinates of the multiple path points. The determination module 702 is also used to determine the coverage area of ​​the vehicle at each path point, and determine whether there is an obstacle in the coverage area of ​​at least one path point of the vehicle based on the coordinates of the obstacle. The determination module 702 is also used to determine at least one path point as a target path point if there is an obstacle in the coverage area of ​​at least one path point of the vehicle, and determine the distance between the vehicle and the target path point. The determination module 702 is also used to determine the expected speed of the vehicle based on the distance between the vehicle and the target path point.

[0130] Optionally, the determination module 702 is also used to determine the vehicle's front wheel angle based on the vehicle's front wheel angle with the vehicle body and the vehicle's gear ratio; determine the vehicle's heading angle based on the vehicle's front wheel angle and the vehicle's wheelbase; determine the number of path points on the driving path based on the length of the driving path and the path resolution, wherein the length of the driving path is determined based on the vehicle's gear position; determine the coordinates of each path point based on the vehicle coordinates, the vehicle's front wheel angle, the vehicle's heading angle, the vehicle's gear position and the path resolution to determine the driving path.

[0131] Optionally, the determination module 702 is also used to determine multiple target points on the border of the vehicle and the relative coordinates of the multiple target points based on the vehicle size information and the vehicle coordinates, the relative coordinates of the target point being the difference between the coordinates of the target point and the vehicle coordinates; determine the projection coordinates of the target point at each path point based on the coordinates of each path point and the relative coordinates of the target point; determine the coverage area of ​​the vehicle at each path point based on the projection coordinates of the target point at each path point, the coverage area including multiple coordinates.

[0132] Optionally, the determination module 702 is further used to sort the path points on the driving path and determine the sequence number of the target path point; based on the sequence number of the target path point and the path resolution, determine the distance between the vehicle and the target path point.

[0133] Optionally, the determination module 702 is also used to determine the first speed as the expected speed of the vehicle if the distance between the vehicle and the target path point is less than or equal to a first threshold; if the distance between the vehicle and the target path point is greater than the first threshold and less than or equal to a second threshold, determine the expected speed of the vehicle based on the distance between the vehicle and the target path point; if the distance between the vehicle and the target path point is greater than the second threshold, determine the second speed as the expected speed of the vehicle.

[0134] The control module 703 is used to control the speed of the vehicle to adjust to a desired speed.

[0135] Optionally, the control module 702 is further configured to determine a control amount of a throttle controller or a brake controller based on a desired speed; and adjust the speed of the vehicle based on the control amount of the throttle controller or the brake controller.

[0136] The specific working principle and benefits of the vehicle speed control device provided in the embodiment of the present application are similar to the specific working principle and benefits of the vehicle speed control method provided in the embodiment of the present application, and will not be repeated here.

[0137] Below, reference Figure 8 To describe an electronic device according to an embodiment of the present application. Figure 8 Shown is a schematic structural diagram of an electronic device provided by an exemplary embodiment of the present application.

[0138] like Figure 8 As shown, the electronic device 800 includes one or more processors 801 and a memory 802 .

[0139] The processor 801 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 800 to perform desired functions.

[0140] The memory 802 may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, a random access memory (RAM) and / or a cache memory (cache), etc. The non-volatile memory may include, for example, a read-only memory (ROM), a hard disk, a flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 801 may run the program instructions to implement the vehicle speed control method of each embodiment of the present application described above and / or other desired functions. Various contents such as an environmental map including a target area, a driving path of a vehicle, etc. may also be stored in the computer-readable storage medium.

[0141] In one example, the electronic device 800 may further include: an input device 803 and an output device 804, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0142] The input device 803 may include, for example, a keyboard, a mouse, etc.

[0143] The output device 804 can output various information to the outside, including the distance between the vehicle and the target path point, the expected speed of the vehicle, etc. The output device 804 can include, for example, a display, a speaker, a printer, and a communication network and its connected remote output device.

[0144] Of course, to simplify, Figure 8 Only some of the components related to the present application in the electronic device 800 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 800 may also include any other appropriate components.

[0145] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the vehicle speed control method according to various embodiments of the present application described above in this specification.

[0146] The computer program product may be written in any combination of one or more programming languages ​​to write program codes for performing the operations of the embodiments of the present application, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0147] In addition, an embodiment of the present application may also be a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a processor, the processor executes the steps of the vehicle speed control method according to various embodiments of the present application described above in this specification.

[0148] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0149] The basic principles of the present application are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present application are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present application. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, not for limitation, and the above details do not limit the present application to being implemented by adopting the above specific details.

[0150] The block diagrams of the devices, apparatuses, equipment, and systems involved in this application are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including", "comprising", "having", etc. are open words, referring to "including but not limited to", and can be used interchangeably with them. The words "or" and "and" used here refer to the words "and / or" and can be used interchangeably with them, unless the context clearly indicates otherwise. The words "such as" used here refer to the phrase "such as but not limited to", and can be used interchangeably with them.

[0151] It should also be noted that in the apparatus, device and method of the present application, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present application.

[0152] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present application. Therefore, the present application is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0153] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A vehicle speed control method, characterized in that: include: Acquire an environment map of the target area, wherein the environment map includes obstacles and coordinates of the obstacles; Determine a driving path of the vehicle based on the vehicle-related information, wherein the driving path includes a plurality of path points and coordinates of the plurality of path points; Determining a coverage area of ​​the vehicle at each of the path points; Determining whether the vehicle has the obstacle within a coverage area of ​​at least one of the waypoints based on the coordinates of the obstacle; If the obstacle exists in the coverage area of ​​at least one of the waypoints, determining at least one of the waypoints as a target waypoint, and determining the distance between the vehicle and the target waypoint; determining a desired speed of the vehicle based on a distance between the vehicle and the target waypoint; The speed of the vehicle is controlled to be adjusted to the desired speed.

2. The method according to claim 1, characterized in that The vehicle-related information includes vehicle coordinates, a turning angle between the front wheels of the vehicle and the vehicle body, a vehicle gear ratio, a vehicle wheelbase, and a vehicle gear position; and determining the driving path of the vehicle based on the vehicle-related information includes: Determining a front wheel steering angle of the vehicle based on a steering angle between the front wheel of the vehicle and the vehicle body and a gear ratio of the vehicle; Determining a vehicle heading angle based on the vehicle front wheel turning angle and the vehicle wheelbase; Determining the number of path points on the driving path based on the length of the driving path and the path resolution, wherein the length of the driving path is determined based on the gear position of the vehicle; Based on the vehicle coordinates, the vehicle front wheel turning angle, the vehicle heading angle, the vehicle gear position and the path resolution, the coordinates of each of the path points are determined to determine the driving path.

3. The method according to claim 2, characterized in that Determining the coverage area of ​​the vehicle at each of the path points includes: Based on the vehicle size information and the vehicle coordinates, determining a plurality of target points on the border of the vehicle and relative coordinates of the plurality of target points, wherein the relative coordinates of the target points are differences between the coordinates of the target points and the vehicle coordinates; Based on the coordinates of each of the path points and the relative coordinates of the target point, determining the projection coordinates of the target point at each of the path points; Based on the projection coordinates of the target point at each of the path points, a coverage area of ​​the vehicle at each of the path points is determined, where the coverage area includes a plurality of coordinates.

4. The method according to claim 2, characterized in that: Determining the distance between the vehicle and the target path point includes: Sorting the path points on the driving path and determining the sequence number of the target path point; Based on the sequence number of the target path point and the path resolution, a distance between the vehicle and the target path point is determined.

5. The method according to claim 1, characterized in that The determining the expected speed of the vehicle based on the distance between the vehicle and the target path point includes: If the distance between the vehicle and the target path point is less than or equal to a first threshold, determining a first speed as a desired speed of the vehicle; If the distance between the vehicle and the target waypoint is greater than a first threshold and less than or equal to a second threshold, determining a desired speed of the vehicle based on the distance between the vehicle and the target waypoint; If the distance between the vehicle and the target path point is greater than a second threshold, the second speed is determined as the expected speed of the vehicle.

6. The method according to any one of claims 1 to 5, characterized in that: Also includes: The controlling the speed of the vehicle to adjust to the desired speed comprises: determining a control amount of a throttle controller or a brake controller based on the desired speed; Based on the control amount of the throttle controller or the brake controller, the speed of the vehicle is adjusted.

7. The method according to any one of claims 1 to 5, characterized in that: Before acquiring the environment map of the target area, the method includes: Acquire a first map of the target area; Drawing an electronic fence on the first map to obtain a second map of the target area; Acquire a third map around the vehicle; The second map and the third map are spliced ​​together to obtain the environment map.

8. A vehicle speed control device, characterized in that: include: An acquisition module, used to acquire an environment map of a target area, wherein the environment map includes obstacles and coordinates of the obstacles; A determination module, configured to determine a driving path of the vehicle based on the vehicle-related information, wherein the driving path includes a plurality of path points and coordinates of the plurality of path points; The determination module is further used to determine the coverage area of ​​the vehicle at each of the path points; The determination module is further used to determine whether the vehicle has the obstacle in a coverage area of ​​at least one of the path points based on the coordinates of the obstacle; The determination module is further configured to, if the obstacle exists within the coverage area of ​​at least one of the path points, determine at least one of the path points as a target path point, and determine the distance between the vehicle and the target path point; The determination module is further configured to determine a desired speed of the vehicle based on a distance between the vehicle and the target path point; The control module is used to control the speed of the vehicle to adjust to the desired speed.

9. An electronic device, characterized in that: include: processor; A memory, wherein the memory is connected to the processor, and the memory is used to store a computer program, wherein the computer program, when executed by the processor, implements the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Intelligent vehicle local path planning method, device thereof, and vehicle

    CN106598055A

  • Intelligent vehicle track changing trajectory planning system and method based on artificial potential field method

    CN110244713A

  • Vehicle driving control method and device

    CN113071520A

  • Automated driving-based vehicle speed control method and apparatus, and computer device

    CN113424121A

  • Automatic driving vehicle, driving control method and device thereof, equipment and medium

    CN115817461A