Vehicle control method and device
By using a model-free control algorithm, the system generates aiming point index values, throttle and brake openings using positioning and path information, and generates control commands by combining them with steering angle values. This solves the problem of high computing resources and computing power for unmanned mining trucks and achieves efficient vehicle control.
Patent Information
- Application Number
- CN202511588524.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-31
- Publication Date
- 2026-01-02
AI Technical Summary
Existing unmanned mining truck vehicle control methods require high computational resources and computing power, resulting in complex control and low efficiency.
A model-free control algorithm is adopted. By acquiring the target vehicle's positioning and path information, the aiming point index value, throttle opening and brake opening are determined. Control commands are generated by combining the target turning angle value, thus realizing model-free vehicle control.
It saves computing resources and computing power, improves the overall effect of vehicle control, and enhances the control accuracy and efficiency of unmanned mining trucks.
Smart Images

Figure CN121246831A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of vehicles, and particularly relates to a vehicle control method and device. BACKGROUND
[0002] With the continuous improvement of the automation level of mines, unmanned mine trucks (i.e., unmanned mine trucks) have become an important part of modern smart mines.
[0003] In the related art, a linear quadratic regulator (LQR) and a model predictive control (MPC) model algorithm are usually used to generate forward or reverse instructions for the unmanned mine truck. However, since the unmanned mine truck is a three-axle heavy vehicle, both light and heavy loads involve modeling of vehicle dynamics, and the modeling process requires many parameters, and the established vehicle model is relatively complex, resulting in high demand for computing resources and computing power. SUMMARY
[0004] The technical problem to be solved by the application is to solve the above-mentioned deficiencies existing in the prior art, and to provide a vehicle control method and device, which can save computing resources and computing power and improve overall control effect.
[0005] In a first aspect, an embodiment of the application provides a vehicle control method, comprising:
[0006] obtaining first positioning information and first path information of a target vehicle;
[0007] determining a preview point index value, a first throttle opening degree and a first brake opening degree according to the first positioning information and the first path information;
[0008] determining a target turning angle value according to the preview point index value, the first positioning information and the first path information;
[0009] determining a target control instruction according to the first throttle opening degree, the first brake opening degree and the target turning angle value;
[0010] controlling the target vehicle to execute the target control instruction.
[0011] In some embodiments of the first aspect, the first positioning information includes a current path index point value, and the first path information includes a first speed corresponding to the current path index point value.
[0012] determining the preview point index value according to the first positioning information and the first path information, comprises:
[0013] obtaining a basic preview point value, a first parameter adjustment value, a second parameter adjustment value and a third parameter adjustment value;
[0014] The ratio of the square of the first speed to the adjustment value of the first parameter is determined as the first ratio.
[0015] The product of the second parameter adjustment value and the first speed is determined as the first product;
[0016] The ratio of the sum of the first ratio and the first product to the third parameter adjustment value is determined as the second ratio.
[0017] The sum of the current path index value, the second ratio, and the base aiming point value is determined as the aiming point index value.
[0018] In some embodiments of the first aspect, the first positioning information includes a first abscissa and a first ordinate corresponding to the target vehicle; the first path information includes a second abscissa and a second ordinate corresponding to the current path index point value.
[0019] Based on the pre-aiming point index value, the first positioning information, and the first path information, the target turning angle value is determined, including:
[0020] The difference between the first horizontal coordinate and the second horizontal coordinate is defined as the first difference.
[0021] The difference between the first ordinate and the second ordinate is defined as the second difference.
[0022] Based on the first location information, determine the current driving mode of the target vehicle; the current driving mode includes either forward mode or reverse mode.
[0023] The target turning angle value is determined based on the first difference, the second difference, and the current driving mode.
[0024] In some embodiments of the first aspect, when the current driving mode is forward mode, determining the target turning angle value based on a first difference, a second difference, and the current driving mode includes:
[0025] Obtain the feedforward gain, the target vehicle's wheelbase, the first path curvature, and the target heading error angle; the first path curvature is the curvature corresponding to the pre-aiming point index value;
[0026] The second product is determined by multiplying the sine of the target route error angle by the wheelbase.
[0027] The product of the first difference and the second difference is determined as the third product;
[0028] The ratio of the second product to the third product is determined as the third ratio.
[0029] The arctangent of the third ratio is taken as the first value;
[0030] The product of the feedforward gain and the curvature of the first path is determined as the fourth product;
[0031] The sum of the first and fourth values is determined as the target turning angle value.
[0032] In some embodiments of the first aspect, when the current driving mode is reverse mode, determining the target turning angle value based on a first difference, a second difference, and the current driving mode includes:
[0033] The lateral error is determined based on the first difference, the second difference, and the target vehicle's current heading angle;
[0034] Determine the heading error based on the first heading angle corresponding to the current heading angle and the current path index point value;
[0035] The product of the first weight corresponding to the lateral error and the first steering value is determined as the fifth product;
[0036] The product of the second weight corresponding to the heading error and the second steering value is determined as the sixth product;
[0037] Based on the lateral error, determine the first steering value corresponding to the lateral position error;
[0038] Based on the heading error, determine the second turning value corresponding to the heading error;
[0039] The sum of the first steering value, the second steering value, and the steering delay angle is determined as the target steering angle value.
[0040] In some embodiments of the first aspect, a target control command is determined based on a first throttle opening, a first brake opening, and a target steering angle value, including:
[0041] The first throttle opening, the first brake opening, and the target steering angle value are filtered to obtain the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0042] The target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0043] In some embodiments of the first aspect, a target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value, including:
[0044] If the difference between the filtered first throttle opening and the second throttle opening is less than the preset throttle opening difference, then the second throttle opening is determined as the target throttle opening; otherwise, the filtered first throttle opening is determined as the target throttle opening. The time corresponding to the second throttle opening is earlier than the time corresponding to the first throttle opening.
[0045] If the difference between the filtered first brake opening and the second brake opening is less than the preset brake opening difference, then the second brake opening is determined as the target brake opening; otherwise, the filtered first brake opening is determined as the target brake opening. The time corresponding to the second brake opening is earlier than the time corresponding to the first brake opening.
[0046] The target control command is determined based on the target throttle opening, target brake opening, and the filtered target steering angle value.
[0047] In some embodiments of the first aspect, after controlling the target vehicle to execute the target control command, the method further includes:
[0048] If the distance between the target vehicle's current position and the obstacle is within a preset distance range, and the target vehicle has reached the end point of the path planning, then based on the first path information, generate N supplementary path points corresponding to N first position information; N is a positive integer.
[0049] Generate supplementary paths based on N supplementary path points;
[0050] Control the target vehicle to travel along the supplementary path.
[0051] In some embodiments of the first aspect, the first path information includes second position information and a second heading angle corresponding to the end point of the path planning; the second position information includes a third abscissa and a third ordinate; and the first position information includes a fourth abscissa and a fourth ordinate.
[0052] Based on the first path information, generate N first position information corresponding to N supplementary path points, including:
[0053] For the i-th supplementary path point among the N supplementary path points, execute the preset steps until N first position information corresponding to each of the N supplementary path points are obtained; i is less than or equal to N and is a positive integer.
[0054] The preset steps include: determining the fourth abscissa by the sum of the third abscissa and the second value, and determining the fourth ordinate by the sum of the third ordinate and the third value; the second value is the product of the cosine of the second heading angle and i; the third value is the product of the sine of the second heading angle and i.
[0055] Based on the same inventive concept, in a second aspect, embodiments of this application also provide a vehicle control device, comprising:
[0056] The first acquisition module is used to acquire the first location information and the first path information of the target vehicle;
[0057] The first determining module is used to determine the pre-aiming point index value, the first throttle opening, and the first brake opening based on the first positioning information and the first path information.
[0058] The second determining module is used to determine the target turning angle value based on the pre-aiming point index value, the first positioning information, and the first path information;
[0059] The third determining module is used to determine the target control command based on the first throttle opening, the first brake opening, and the target steering angle value;
[0060] The first control module is used to control the target vehicle to execute target control commands.
[0061] Based on the same inventive concept, in a third aspect, embodiments of this application provide an electronic device, the electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores one or more computer programs executable by the at least one processor, the one or more computer programs being executed by the at least one processor to enable the at least one processor to perform the above-described vehicle control method.
[0062] Based on the same inventive concept, in a fourth aspect, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the above-described vehicle control method.
[0063] Fifthly, this application provides a computer program product that includes computer-readable code or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the above-described vehicle control method.
[0064] According to the vehicle control method and apparatus provided in this application embodiment, firstly, the first positioning information and first path information of the target vehicle are obtained; then, based on the first positioning information and first path information, the aiming point index value, the first throttle opening, and the first brake opening are determined; then, based on the aiming point index value, the first positioning information, and the first path information, the target turning angle value is determined; then, based on the first throttle opening, the first brake opening, and the target turning angle value, the target control command is determined; and finally, the target vehicle is controlled to execute the target control command. In other words, in this application embodiment, the aiming point index value, the first throttle opening, and the first brake opening are determined through the first positioning information and the first path information, the target turning angle value is determined through the aiming point index value, and the target control command is determined based on the first throttle opening, the first brake opening, and the target turning angle value. This entire process uses a model-free control algorithm, which, compared to the control methods using LQR and MPC in related technologies, can save computing resources and computing power, and can improve the overall control effect.
[0065] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description
[0066] The accompanying drawings are provided to further illustrate the present application and form part of the specification. They are used together with the embodiments of the present application to explain the application and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the detailed example embodiments described with reference to the accompanying drawings, in which:
[0067] Figure 1 This illustration shows a flowchart of a vehicle control method provided in an embodiment of this application.
[0068] Figure 2 This illustration shows another schematic flowchart of the vehicle control method provided in an embodiment of this application;
[0069] Figure 3 This illustration shows yet another flowchart of the vehicle control method provided in an embodiment of this application;
[0070] Figure 4 This illustration shows another schematic flowchart of the vehicle control method provided in an embodiment of this application;
[0071] Figure 5 This illustration shows a structural schematic diagram of a vehicle control device provided in an embodiment of this application;
[0072] Figure 6 This illustration shows a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0073] To enable those skilled in the art to better understand the technical solutions of this application, exemplary embodiments of this application are described below in conjunction with the accompanying drawings, including various details of the embodiments of this application to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0074] Where there is no conflict, the various embodiments of this application and the features thereof may be combined with each other.
[0075] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.
[0076] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application. As used herein, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Terms such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.
[0077] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this application, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined herein.
[0078] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0079] The vehicle control method provided in this application is applicable to scenarios such as smart mine construction and hazardous area operations using unmanned mining trucks. In smart mine construction, it can form a complete unmanned operation line with open-pit mine drilling rigs, electric shovels, and other equipment, reducing material transportation losses and improving overall economic efficiency through precise control. Similarly, in hazardous area operations, it forms a complete unmanned operation line with open-pit mine drilling rigs, electric shovels, and other equipment, reducing material transportation losses and improving overall economic efficiency through precise control. This vehicle control method can be executed by a vehicle control device and electronic equipment. The following explanation uses the example of the vehicle control method being executed by electronic equipment.
[0080] like Figure 1 As shown, the vehicle control method provided in this application includes steps S110 to S150.
[0081] S110. Obtain the first location information and first path information of the target vehicle.
[0082] S120. Based on the first positioning information and the first path information, determine the aiming point index value, the first throttle opening, and the first brake opening.
[0083] S130. Determine the target turning angle value based on the pre-aiming point index value, the first positioning information, and the first path information.
[0084] S140. Determine the target control command based on the first throttle opening, the first brake opening, and the target steering angle value.
[0085] S150, Control the target vehicle to execute the target control command.
[0086] According to the vehicle control method provided in this application embodiment, firstly, the first positioning information and first path information of the target vehicle are obtained; then, based on the first positioning information and first path information, the aiming point index value, the first throttle opening, and the first brake opening are determined; then, based on the aiming point index value, the first positioning information, and the first path information, the target turning angle value is determined; then, based on the first throttle opening, the first brake opening, and the target turning angle value, the target control command is determined; and finally, the target vehicle is controlled to execute the target control command. In other words, in this application embodiment, the aiming point index value, the first throttle opening, and the first brake opening are determined using the first positioning information and the first path information, the target turning angle value is determined using the aiming point index value, and the target control command is determined based on the first throttle opening, the first brake opening, and the target turning angle value. This entire process uses a model-free control algorithm, which, compared to the control methods using LQR and MPC in related technologies, can save computing resources and computing power, and can improve the overall control effect.
[0087] The specific implementation methods for each of the above steps are described below.
[0088] In step S110, the target vehicle can be any unmanned mining truck that requires forward or reverse control.
[0089] For example, the first positioning information may include the current path index point value, the location information corresponding to the target vehicle (i.e., the first horizontal coordinate and the first vertical coordinate), the second speed, and the current heading angle, etc.
[0090] For example, the first path information may include the first path curvature, the position information corresponding to the current path index point value (i.e., the second horizontal coordinate and the second vertical coordinate), the first speed and the first heading angle, the second position information and the second heading angle corresponding to the path planning endpoint, etc.
[0091] For example, the first location information of the target vehicle can be obtained through a navigation positioning odometer; the first path information can be obtained through a cloud platform.
[0092] In step S120, for example, the pre-aiming point index value refers to the parameter used to uniquely identify a pre-aiming point in the discretized reference path point sequence. Its core function is to provide the target vehicle with a dynamic and forward-looking reference target in order to achieve smooth and accurate path tracking.
[0093] In some implementations, the first positioning information includes the current path index point value, and the first path information includes the first speed corresponding to the current path index point value;
[0094] Based on the first positioning information and the first path information, the index value of the pre-aiming point is determined, including:
[0095] Obtain the base aiming point value, the first parameter adjustment value, the second parameter adjustment value, and the third parameter adjustment value;
[0096] The ratio of the square of the first speed to the adjustment value of the first parameter is determined as the first ratio.
[0097] The product of the second parameter adjustment value and the first speed is determined as the first product;
[0098] The ratio of the sum of the first ratio and the first product to the third parameter adjustment value is determined as the second ratio.
[0099] The sum of the current path index value, the second ratio, and the base aiming point value is determined as the aiming point index value.
[0100] For example, the current path index point value refers to the parameter used to uniquely identify the path point in the discretized reference path point sequence that best matches the current position of the target vehicle.
[0101] For example, the basic aiming point value can be a base aiming point value. When the first speed is relatively large, the basic aiming point value increases; conversely, when the first speed is relatively small, the basic aiming point value decreases. When performing reversing control, the basic aiming point value is adjusted according to the heading error between the current heading angle and the path heading angle (i.e., the first heading angle). The advantage of this is that, since the reversing section is relatively short, if the aiming distance is too large after the target vehicle has driven to the path point indexed in the middle of the reversing section, it will sway left and right. Therefore, it is necessary to reduce the aiming distance to keep the target vehicle in its current direction. The aiming point in forward mode is adjusted according to the speed, while the aiming point in reversing mode takes into account the influence of heading. When the heading error is less than the heading threshold, the aiming method is not used, and the control command is calculated directly.
[0102] For example, the base aiming point value can be set empirically and pre-stored in the electronic device for direct recall later.
[0103] It should be noted that the adjustment values for the first, second, and third parameters are all empirical values, and any two of them may be equal or unequal.
[0104] In other words, the aiming point index value satisfies:
[0105] Where `target_index` represents the index of the target point; `index` represents the index of the path point preceding the target point; and `waypoints[index]`... v Indicates the first velocity; This indicates the adjustment value of the first parameter; This indicates the adjustment value of the second parameter; This indicates the adjustment value of the third parameter; base_front_dis indicates the base front point value.
[0106] Optionally, the first throttle opening must satisfy: ; where throttle represents the first throttle opening; v error The value represents the speed error; F indicates the use of dynamic parameter proportional-integral-derivative (PID) control, which calculates the angle based on the different weights of P, I, and D for different paths.
[0107] Optionally, the first braking opening satisfies: Where, brake represents the first braking opening.
[0108] Optionally, the first positioning information also includes the current speed of the target vehicle, and the first path information also includes the desired speed; the speed error satisfies: Among them, desired v Indicates the desired speed; current v This indicates the current speed; abs represents the absolute value.
[0109] Understandably, the initial throttle and brake settings for both forward and reverse control can be calculated using the current speed and desired speed. If the current speed does not reach the desired speed, the accelerator needs to be pressed; if the current speed exceeds the desired speed, the brake needs to be pressed.
[0110] In step S130, when the current driving mode is forward mode, the target turning angle value is the forward turning angle value; when the current driving mode is reverse mode, the target turning angle value is the reverse turning angle value. Forward mode is the mode for controlling the target vehicle to move forward; reverse mode is the mode for controlling the target vehicle to reverse.
[0111] Optionally, if the current speed of the target vehicle is negative, the current driving mode is determined to be reverse mode; otherwise, the current driving mode is determined to be forward mode.
[0112] In some implementations, the first positioning information includes a first abscissa and a first ordinate corresponding to the target vehicle; the first path information includes a second abscissa and a second ordinate corresponding to the current path index point value.
[0113] Based on the pre-aiming point index value, the first positioning information, and the first path information, the target turning angle value is determined, including:
[0114] The difference between the first horizontal coordinate and the second horizontal coordinate is defined as the first difference.
[0115] The difference between the first ordinate and the second ordinate is defined as the second difference.
[0116] Based on the first location information, determine the current driving mode of the target vehicle; the current driving mode includes either forward mode or reverse mode.
[0117] The target turning angle value is determined based on the first difference, the second difference, and the current driving mode.
[0118] Specifically, the first difference satisfies: ; where d x Indicates the first difference; current_pose x Indicates the first x-coordinate; waypoints[target_index] x This represents the second x-coordinate.
[0119] Specifically, the second difference satisfies: ; where d y Indicates the second difference; current_pose y Represents the first ordinate; waypoints[target_index] y This represents the second ordinate.
[0120] In some examples, when the current driving mode is forward mode, the target turning angle value is determined based on a first difference, a second difference, and the current driving mode, including:
[0121] Obtain the feedforward gain, the target vehicle's wheelbase, the first path curvature, and the target heading error angle; the first path curvature is the curvature corresponding to the pre-aiming point index value;
[0122] The second product is determined by multiplying the sine of the target route error angle by the wheelbase.
[0123] The product of the first difference and the second difference is determined as the third product;
[0124] The ratio of the second product to the third product is determined as the third ratio.
[0125] The arctangent of the third ratio is taken as the first value;
[0126] The product of the feedforward gain and the curvature of the first path is determined as the fourth product;
[0127] The sum of the first and fourth values is determined as the target turning angle value.
[0128] In this embodiment, the product of the feedforward gain and the curvature of the first path is determined as the fourth product, and the sum of the first value and the fourth product is determined as the target turning angle value. That is, the target turning angle value is obtained after curvature compensation, which fully considers the influence of the curve and thus improves the accuracy of the target turning angle value.
[0129] Specifically, the target turning angle value satisfies: Where steer represents the target turning angle; tan -1 Represents the arctangent function; [target_index] represents the target heading error angle, k represents the feedforward gain, and L represents the wheelbase. kappa This represents the curvature of the first path.
[0130] Optionally, the target heading error angle satisfies: .in, This indicates the first heading angle.
[0131] In other examples, when the current driving mode is reverse mode, the target turning angle value is determined based on a first difference, a second difference, and the current driving mode, including:
[0132] The lateral error is determined based on the first difference, the second difference, and the target vehicle's current heading angle;
[0133] Determine the heading error based on the first heading angle corresponding to the current heading angle and the current path index point value;
[0134] The product of the first weight corresponding to the lateral error and the first steering value is determined as the fifth product;
[0135] The product of the second weight corresponding to the heading error and the second steering value is determined as the sixth product;
[0136] Based on the lateral error, determine the first steering value corresponding to the lateral position error;
[0137] Based on the heading error, determine the second turning value corresponding to the heading error;
[0138] The sum of the first steering value, the second steering value, and the steering delay angle is determined as the target steering angle value.
[0139] Specifically, the lateral error satisfies: ; where e lat This indicates lateral error.
[0140] Specifically, the heading error satisfies: Among them, e heading This indicates the heading error; normal indicates the normalized angle.
[0141] In other words, the lateral error is based on the geometric method (the form of the heading angle and the dot product). That is, after calculating the error between the current index path point (i.e., the second x-coordinate and the second y-coordinate corresponding to the current path index point value) and the positioning point (i.e., the first x-coordinate and the first y-coordinate corresponding to the target vehicle), the dot product is then performed with the normal heading angle. The heading error first requires normalizing the heading of the current index path point and the heading of the positioning point to [-pi,pi], and then subtracting them to obtain the heading error.
[0142] Specifically, the target turning angle value satisfies: Where steer represents the target turning angle; w1 represents the first weight corresponding to the lateral error; w2 represents the second weight corresponding to the heading error; F position F represents the first steering value corresponding to the lateral error. heading β represents the second steering value corresponding to the heading error; β represents the steering delay angle.
[0143] Optionally, both the first and second weights can be set based on experience. For example, the first weight can be less than the second weight.
[0144] Understandably, the first steering value can be determined by the lateral error; the second steering value can be determined by the heading error; the specific determination process is existing technology and will not be elaborated here.
[0145] Optionally, the steering retardation angle satisfies: ;in, This represents the weighting parameter, which can be adjusted appropriately. This represents the horizontal control parameters; new_error represents the updated error.
[0146] Optionally, the updated error satisfies: ; where current error This represents the current error; error_rate represents the rate of change of error; delay_time is the delay time of the steering motor.
[0147] Optionally, the rate of change of error satisfies: Among them, previous error d represents the error at the previous time step; t This indicates the control frequency.
[0148] In this embodiment, due to the physical characteristics of reversing, the speed (i.e., the first speed) in the first path information is negative, and the direction of reversing is opposite to the direction of forward movement. Therefore, the heading constraint is extremely important. The heading constraint can ensure that the target vehicle reverses along the predetermined route. Since the vehicle speed is low when reversing and the reversing route is mostly curved, and due to the delay characteristics of the unmanned mining truck's steering motor, it is necessary to calculate the steering delay angle β of the mining truck and then compensate this steering delay angle β for the final reversing calculation result. The steering delay angle β is calculated by multiplying the rate of change of heading and lateral error between the current time and the previous time by the steering delay time and adding it to the current error. Finally, the delay angle is calculated by the delay error of lateral and heading, and then multiplied by a weighting coefficient to obtain the steering delay angle β.
[0149] It should be noted that in the embodiments of this application, different control algorithms are used for forward and reverse control, which will improve the accuracy by 10% to 20% compared with the traditional single control algorithm architecture (such as single PID control, pure tracking control, etc.). The embodiments of this application have higher operating efficiency.
[0150] In step S140, for example, the first throttle opening, the first brake opening, and the target steering angle value can be directly integrated into a target control command, that is, the target control command includes the first throttle opening, the first brake opening, and the target steering angle value.
[0151] In some implementations, a target control command is determined based on a first throttle opening, a first brake opening, and a target steering angle value, including:
[0152] The first throttle opening, the first brake opening, and the target steering angle value are filtered to obtain the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0153] The target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0154] In this embodiment, the first throttle opening, the first brake opening, and the target steering angle value are filtered. Then, based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value, the target control command is determined, making the target control command smoother and ensuring its stable execution. Specifically, filtering the target steering angle value can improve or solve the problem of left and right steering wheel movements in certain situations, maintaining smooth steering; filtering the first throttle opening and the first brake opening can maintain smooth throttle and brake output, thereby improving or solving the problem of excessively rapid output change rate, which affects fuel economy and driving smoothness.
[0155] In some examples, the target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value, including:
[0156] If the difference between the filtered first throttle opening and the second throttle opening is less than the preset throttle opening difference, then the second throttle opening is determined as the target throttle opening; otherwise, the filtered first throttle opening is determined as the target throttle opening. The time corresponding to the second throttle opening is earlier than the time corresponding to the first throttle opening.
[0157] If the difference between the filtered first brake opening and the second brake opening is less than the preset brake opening difference, then the second brake opening is determined as the target brake opening; otherwise, the filtered first brake opening is determined as the target brake opening. The time corresponding to the second brake opening is earlier than the time corresponding to the first brake opening.
[0158] The target control command is determined based on the target throttle opening, target brake opening, and the filtered target steering angle value.
[0159] In this example, the target throttle opening and target brake opening are flexibly determined in the above manner. Then, the target control command is determined based on the target throttle opening, target brake opening, and the filtered target steering angle value, which can ensure the smooth execution of the target control command.
[0160] It is understandable that both the preset throttle opening difference and the preset brake opening difference can be dead zone values, and both can be set according to the actual situation, without any restrictions here.
[0161] In step S150, the inventors discovered through extensive research that, since the business scenario of unmanned mining trucks involves the soil dumping process, the cloud platform may encounter situations where the planned path endpoint is still some distance from the retaining wall during the path planning process. In other words, the planned path may not match the actual needs. Either the path is too short, causing the target vehicle to fail to arrive, or the planned path is too long, posing a collision risk.
[0162] Based on this, in some embodiments, after controlling the target vehicle to execute the target control command, the method further includes:
[0163] If the distance between the target vehicle's current position and the obstacle is within a preset distance range, and the target vehicle has reached the end point of the path planning, then based on the first path information, generate N supplementary path points corresponding to N first position information; N is a positive integer.
[0164] Generate supplementary paths based on N supplementary path points;
[0165] Control the target vehicle to travel along the supplementary path.
[0166] In the implementation method, by generating N supplementary path points and generating supplementary paths based on these points, and then controlling the target vehicle to drive along the supplementary paths, it is possible to ensure that the unmanned mining truck stops in key areas such as the spoil heap and loading area.
[0167] Alternatively, the obstacle may be a retaining wall, etc.
[0168] Optionally, the preset distance range can be set according to actual conditions, and is not limited here. For example, the preset distance range can be 10 meters.
[0169] Optionally, the value of N can be set according to the actual situation and is not limited here. For example, N can be 5, 8, 10, etc.
[0170] Optionally, the distance between the Nth supplementary path point and the obstacle is less than a distance threshold. The distance threshold can be set according to the actual situation and is not limited here. For example, the distance threshold can be 3 meters. That is to say, the target vehicle can continue to move according to the supplementary path until it safely stops at a distance from the obstacle (i.e., the distance threshold).
[0171] In some examples, the first path information includes the second position information and the second heading angle corresponding to the end point of the path planning; the second position information includes the third x-coordinate and the third y-coordinate; and the first position information includes the fourth x-coordinate and the fourth y-coordinate.
[0172] Based on the first path information, generate N first position information corresponding to N supplementary path points, including:
[0173] For the i-th supplementary path point among the N supplementary path points, execute the preset steps until N first position information corresponding to each of the N supplementary path points are obtained; i is less than or equal to N and is a positive integer.
[0174] The preset steps include: determining the fourth abscissa by the sum of the third abscissa and the second value, and determining the fourth ordinate by the sum of the third ordinate and the third value; the second value is the product of the cosine of the second heading angle and i; the third value is the product of the sine of the second heading angle and i.
[0175] Specifically, the fourth horizontal coordinate satisfies: ;where x new Indicates the fourth x-coordinate; last_point x Indicates the third x-coordinate; last_point heading This indicates the second heading angle.
[0176] Specifically, the fourth ordinate satisfies: ; where y new Represents the fourth ordinate; last_point y This represents the fourth horizontal coordinate.
[0177] Understandably, i is the index corresponding to the number of points on the supplementary path.
[0178] In this embodiment, since the business scenario of unmanned mining trucks involves the soil dumping process, the cloud platform may encounter situations where the planned path endpoint (i.e., the path planning endpoint) is still some distance from the retaining wall during path planning. In such cases, a path completion function is designed. The number of completion points is selected based on the distance between the current position and the retaining wall, generally 8-10 points are appropriate. The completion line is supplemented with reference to the position information and heading information of the last point of the planned path. The path planning and completion status flowchart shows that the completion trigger condition is when the current position is detected to be within 10m of the retaining wall (i.e., obstacle), and the path planned by the cloud platform has reached its endpoint. At this time, the completion path points are added in the form of unit vectors, referencing the heading of the last point (i.e., the second heading angle of the path planning endpoint). Except for the last point, whose speed is 0, the speed of the remaining points is referenced to the speed of the second-to-last point of the path planned by the cloud platform.
[0179] Furthermore, firstly, regarding the differentiated handling of heavy and light loads, the electronic equipment can adjust the lateral control gain for forward and reverse movements based on the load sensor. Under light loads, the gain is increased to suppress sideslip; under heavy loads, the pre-aiming baseline (i.e., baseline pre-aiming point value) and pre-aiming distance (i.e., pre-aiming point index value) are reduced to enhance stability. Secondly, for fault-tolerant handling in extreme conditions, when a target vehicle is detected on a muddy road, the inertial measurement unit (IMU) is used for trajectory calculation, lateral control curvature compensation is disabled, and in night mode, the intensity threshold of the lidar is adjusted, and the camera is switched to infrared mode to enhance the effectiveness of obstacle recognition. Simultaneously, using Vehicle-to-Everything (V2X) wireless communication technology, the cloud platform dynamically allocates right-of-way based on vehicle load (heavy load priority) and task urgency, broadcasting "give way" commands via Vehicle-to-Vehicle (V2V) communication. Through these specific implementations, the stability and safety of unmanned driving in mining operations can be effectively improved, meeting the needs of practical application scenarios.
[0180] Optionally, if the error between the current heading angle and the heading angle of the last point on the path (i.e., the second heading angle) remains below a small value (which can be set according to the actual situation), and the currently calculated lateral error is small (e.g., less than the preset lateral error value, which can be set according to the actual situation), it can be assumed that there is no need to turn the steering wheel now, and the vehicle can reverse straight back to the loading position or the dumping point.
[0181] In this embodiment, a sensor-cloud platform-vehicle collaborative intelligent control system is constructed. Through multi-source information fusion and a hierarchical control architecture, adaptive optimization control of the unmanned mining truck's forward and reverse driving conditions is achieved. The system adopts a modular design and mainly includes the following components: 1. Multi-source perception layer: Integrating a laser-vision integrated sensor, navigation positioning odometer, and millimeter-wave radar to construct an all-around environmental perception system. The laser-vision integrated sensor (such as a laser radar and camera fusion device) provides high-precision 3D environment reconstruction and obstacle recognition; the navigation positioning odometer (combined with the Global Navigation Satellite System)... System (GNSS) and IMU achieve centimeter-level positioning and heading estimation; millimeter-wave radar is specifically used for near-range obstacle detection, especially for monitoring blind spots and retaining walls during reversing; 2. Intelligent control layer: Adopting a control architecture that decouples forward and reverse driving, different working conditions are handled through independent control modules. The intermediate processing module acts as an intelligent router, dynamically selecting control strategies based on path attributes (pure forward segment, forward-reverse mixed segment, pure reverse segment) issued by the cloud platform. The control algorithm adopts an adaptive optimization method based on pre-aiming points, combined with vehicle dynamics models and real-time road condition information, to generate precise control commands. 3. Cloud Platform Collaboration Layer: Establish a central monitoring and decision-making system to collect multi-dimensional information such as weather, road conditions, and vehicle status in real time for global optimization and scheduling. The cloud platform uses vehicle-to-everything (V2X) communication technology (including V2V and V2I) to achieve vehicle-to-vehicle collaboration and facility linkage, especially for centralized control in high-risk areas. 4. Execution Optimization Layer: Design dedicated dead-zone handling and smoothing filtering algorithms for the throttle, brake, and steering systems to ensure smooth execution of control commands. For the unique vibration problems of mining trucks, an adaptive compensation mechanism is introduced to eliminate the impact of road disturbances on control accuracy.
[0182] Specifically, the unmanned mining truck perception system based on multi-sensor fusion employs a combined laser-vision perception sensor (LiDAR + camera) working in conjunction with millimeter-wave radar. LiDAR handles 360° obstacle scanning, the camera assists in identifying obstacle types, and the millimeter-wave radar is used for blind spot detection at the rear of the vehicle and barrier detection. All sensor data is calibrated to the vehicle coordinate system via coordinate transformation (TF) (such as static transformation in the launch file) and uploaded to a cloud platform for fusion and decision-making.
[0183] Furthermore, the cloud platform features a centralized scheduling and dynamic decision-making system: The cloud platform monitors vehicle status (position, speed, heading) and equipment status (turn signals, handbrake) in real time through feedback from the vehicle control unit (VCU), and achieves status sharing between vehicles via V2V communication. When anomalies are detected (such as trajectory deviation or sensor malfunction), control commands (such as emergency braking or route replanning) are dynamically issued.
[0184] Furthermore, the model-free control algorithm with lateral and longitudinal decoupling: The forward / reverse control module adopts a model-free algorithm. Lateral control is based on dynamic adjustment of the pre-aiming point index (the greater the speed, the longer the pre-aiming distance), combined with curvature compensation and heading error correction; longitudinal control calculates the throttle / brake opening through speed error and introduces dead zone filtering to smooth the output, ensuring steering smoothness and economy.
[0185] Furthermore, the reversing control module has a delay compensation and heading constraint mechanism: when reversing, the steering delay angle is calculated based on the heading angle error and the lateral error rate, the aiming distance is dynamically adjusted (the aiming point is shortened in the reversing section), and the heading self-alignment strategy (straight-back to stop) is activated when approaching the end point.
[0186] Furthermore, when there is a gap between the endpoint of the path planned by the cloud platform and the retaining wall, 8-10 path points are automatically added based on the endpoint location and heading. The path addition logic takes into account the endpoint heading and the remaining space from the retaining wall.
[0187] Furthermore, the control architecture can be extended to other large engineering vehicles (such as articulated trucks, graders, etc.), the cloud platform collaboration solution can be extended to semi-enclosed scenarios such as ports and steel plants, and the sensor fusion method is applicable to fields such as agricultural machinery and special engineering vehicles.
[0188] Furthermore, the developed anti-aiming control algorithm can be applied to unmanned mining truck systems in mining scenarios, the heading constraint method has reference value for reversing trailer vehicles, and the decoupling form of forward and reverse driving has practical significance for unmanned driving motion control in closed scenarios.
[0189] like Figure 2As shown, the vehicle control system provided in this application includes a cloud platform, a sensor terminal, a control module (i.e., an electronic device), and an output terminal. Information transmission is achieved by the cloud platform issuing task instructions and route information. After the vehicle is ignited, the sensor terminal starts working, outputting positioning information and perception information. After receiving the relevant information, the control module calculates the lateral and longitudinal control instructions through the control algorithm, and then outputs the corresponding instructions to control the unmanned mining truck to perform relevant tasks. A high-precision mining area map is constructed by using multiple lidar and IMU, supplemented by GPS positioning fusion, to build a high-precision mining area map. The map is imported into the cloud platform as a path planning benchmark, and dynamic obstacles (such as vehicles, dumping sites, loading points, etc.) are updated in real time. Weather data (rain, fog, visibility) is obtained through cameras and weather forecasts. Task scheduling logic: Based on the mining truck's load, power, dumping point and loading point requirements, the cloud platform automatically allocates transportation tasks, marks forward / reverse sections (distinguishing between positive and negative speed values) when generating the path, and issues the control system to the vehicle through the Robot Operating System (ROS).
[0190] Furthermore, the cloud platform, sensor terminals, control module, and output terminal transmit information. The cloud platform issues task commands and route information. After the vehicle is started, the sensor terminals begin to work, outputting positioning and perception information. After receiving the relevant information, the control module calculates the lateral and longitudinal control commands through the control algorithm, and then outputs the corresponding commands to control the unmanned mining truck to perform relevant tasks. A high-precision mining area map is constructed by using multiple lidar and IMU, supplemented by GPS positioning fusion, and Simultaneous Localization and Mapping (SLAM). The map is imported into the cloud platform as the path planning benchmark, and dynamic obstacles (such as vehicles, dumping sites, loading points, etc.) are updated in real time. Weather data (rain, fog, visibility) is obtained through cameras and weather forecasts. Task scheduling logic: Based on the mining truck's load, power, dumping point and loading point requirements, the cloud platform automatically allocates transportation tasks, marks forward / reverse sections when generating the path (distinguishing between positive and negative speed values), and issues the commands to the vehicle through the Robot Operating System (ROS).
[0191] Furthermore, the cloud platform is responsible for real-time monitoring of the entire business scenario and collecting the entire mining area map. It is responsible for issuing tasks, publishing business paths and decision-making instructions, receiving perception information, and conducting information interaction, including weather information, road information, and vehicle status information. When the weather information, road information, and vehicle status information of the entire business scenario change, such as when the vehicle control module goes offline or vehicle tracking fails, or when the trajectory deviates from the lane line, or when the vehicle turns left, right, or drives at night, the cloud platform will make timely decisions and issue control instructions. These instructions include turning on or off the vehicle's turn signals, horn, wipers, hazard lights, handbrake, and other electrical equipment. At the same time, the above instruction information can be interacted through V2V devices to ensure that all vehicles in the business scenario can obtain each other's operating status, enabling the cloud platform to achieve unified scheduling and control.
[0192] Furthermore, the sensor side mainly involves integrated radar-visual perception sensors, navigation and positioning odometers, and millimeter-wave radar. Among the perception sensors, the lidar is responsible for scanning obstacle information in front, behind, left, and right. The camera assists the lidar in completing obstacle identification. The millimeter-wave radar is installed at the rear of the vehicle and is responsible for scanning barriers and filling blind spots. The information from the perception sensors is ultimately transmitted to the cloud platform, which then makes decisions based on the perception information to achieve safe driving. The navigation and positioning odometer mainly provides positioning information, including the current vehicle position, heading, and speed. This information serves as input to the control module. The control module calculates the control command for the current moment based on the positioning and path information, and then inputs the control command to the output. The output then uses the decision results from the cloud platform to achieve safe vehicle control and path tracking to complete related business.
[0193] Furthermore, the control module mainly includes a forward control module and a reverse control module, and also includes an intermediate processing module. The intermediate processing module is responsible for receiving and forwarding the control commands for forward and reverse control. It categorizes the road segments planned by the cloud platform. The path types on the cloud platform can be divided into: road segments containing only forward control, road segments containing both forward and reverse control, and road segments containing only reverse control. The forward and reverse switching mode is determined based on whether the path information published by the cloud platform contains cases with negative speeds. At the same time, the reverse control module only starts working after being awakened by a driving signal published by the cloud platform. This design, on the one hand, keeps the reverse control module in a dormant state, saving computing resources, and on the other hand, ensures the isolation between forward and reverse control, achieving safe control.
[0194] Furthermore, both the forward and reverse control modules adopt a decoupled approach for horizontal and vertical calculations, and select tracking points based on the concept of pre-aiming. After receiving information from the navigation and positioning sensors, the control module combines the path information planned by the cloud platform as input information. The control module outputs throttle opening, brake opening, and steering wheel angle values through control algorithms to control the unmanned mining truck.
[0195] like Figure 2 As shown, the cloud monitoring platform (i.e., the cloud platform) updates the mining area map / issues task triggers to control vehicle ignition, thereby activating the sensors. Then, the LiDAR / camera / millimeter-wave radar operates, collecting data and transmitting positioning and perception data. The positioning and path are input to the control module. Weather / obstacles / abnormal vehicle conditions are determined by the cloud, outputting emergency commands (turn signals / brakes) to the control module. The control module outputs lateral and longitudinal control commands (i.e., target control commands) to the output terminal, then performs throttle / steering / light control for vehicle execution. The cloud decision-making also coordinates scheduling and performs V2V broadcasting.
[0196] like Figure 3 As shown, the intermediate processing module of the control module performs forward control when the path speed is greater than or equal to 0; and reverse control when the path speed is less than 0 and forward control has ended. Both forward and reverse control perform pre-aiming calculations. Longitudinal control is achieved through throttle and brake, followed by dead zone processing, slope control, and filtering smoothing, with the filtering smoothing result output to the output terminal. Lateral control is performed using geometric error and curvature compensation to suppress steering wheel vibration, followed by filtering smoothing, with the filtering smoothing result output to the output terminal. Reverse control combines steering delay angle compensation and lateral control for heading constraints, checking if the heading error + lateral error is less than a threshold; if less than the threshold, the expression result is 0; if greater than or equal to the threshold, the expression result is the target steering angle (steer), and finally, the reverse control terminates.
[0197] like Figure 4 As shown, cloud-based path planning generates forward / reverse / mixed road segments; the paths are then categorized to obtain the distance *d* from the retaining wall, followed by endpoint verification. If *d* exceeds a threshold, a supplementary route is triggered, resulting in 8-10 points. These points inherit the endpoint heading, and supplementary routes are generated to create an updated path queue, which is then sent to the control module. Simultaneously, endpoint verification directly tracks the control module. The control module determines the termination of the reverse route at the endpoint and stops at the soil removal point.
[0198] It is understood that the various method embodiments mentioned above in this application can be combined with each other to form combined embodiments without violating the principle and logic. Due to space limitations, this application will not elaborate further. Those skilled in the art will understand that in the above methods of specific implementation, the specific execution order of each step should be determined by its function and possible internal logic.
[0199] like Figure 5 As shown in the figure, this application embodiment also provides a vehicle control device, which includes a first acquisition module 210, a first determination module 220, a second determination module 230, a third determination module 240 and a first control module 250.
[0200] The first acquisition module 210 is used to acquire the first location information and the first path information of the target vehicle.
[0201] The first determining module 220 is used to determine the pre-aiming point index value, the first throttle opening and the first brake opening based on the first positioning information and the first path information;
[0202] The second determining module 230 is used to determine the target turning angle value based on the pre-aiming point index value, the first positioning information and the first path information;
[0203] The third determining module 240 is used to determine the target control command based on the first throttle opening, the first brake opening, and the target steering angle value;
[0204] The first control module 250 is used to control the target vehicle to execute target control commands.
[0205] According to the vehicle control device provided in this application embodiment, firstly, the first positioning information and first path information of the target vehicle are acquired; then, based on the first positioning information and first path information, the aiming point index value, the first throttle opening, and the first brake opening are determined; then, based on the aiming point index value, the first positioning information, and the first path information, the target turning angle value is determined; then, based on the first throttle opening, the first brake opening, and the target turning angle value, the target control command is determined; and finally, the target vehicle is controlled to execute the target control command. In other words, in this application embodiment, the aiming point index value, the first throttle opening, and the first brake opening are determined through the first positioning information and the first path information, and the target turning angle value is then determined through the aiming point index value. Finally, the target control command is determined based on the first throttle opening, the first brake opening, and the target turning angle value. This entire process uses a model-free control algorithm, which, compared to the LQR and MPC control methods used in related technologies, can save computing resources and computing power, and can improve the overall control effect.
[0206] In some implementations, the first positioning information includes the current path index point value, and the first path information includes the first speed corresponding to the current path index point value;
[0207] The first determining module 220 is specifically used for:
[0208] Obtain the base aiming point value, the first parameter adjustment value, the second parameter adjustment value, and the third parameter adjustment value;
[0209] The ratio of the square of the first speed to the adjustment value of the first parameter is determined as the first ratio.
[0210] The product of the second parameter adjustment value and the first speed is determined as the first product;
[0211] The ratio of the sum of the first ratio and the first product to the third parameter adjustment value is determined as the second ratio.
[0212] The sum of the current path index value, the second ratio, and the base aiming point value is determined as the aiming point index value.
[0213] In some implementations, the first positioning information includes a first abscissa and a first ordinate corresponding to the target vehicle; the first path information includes a second abscissa and a second ordinate corresponding to the current path index point value.
[0214] The second determining module 230 is specifically used for:
[0215] The difference between the first horizontal coordinate and the second horizontal coordinate is defined as the first difference.
[0216] The difference between the first ordinate and the second ordinate is defined as the second difference.
[0217] Based on the first location information, determine the current driving mode of the target vehicle; the current driving mode includes either forward mode or reverse mode.
[0218] The target turning angle value is determined based on the first difference, the second difference, and the current driving mode.
[0219] In some implementations, the second determining module 230 is specifically used for:
[0220] Obtain the feedforward gain, the target vehicle's wheelbase, the first path curvature, and the target heading error angle; the first path curvature is the curvature corresponding to the pre-aiming point index value;
[0221] The second product is determined by multiplying the sine of the target route error angle by the wheelbase.
[0222] The product of the first difference and the second difference is determined as the third product;
[0223] The ratio of the second product to the third product is determined as the third ratio.
[0224] The arctangent of the third ratio is taken as the first value;
[0225] The product of the feedforward gain and the curvature of the first path is determined as the fourth product;
[0226] The sum of the first and fourth values is determined as the target turning angle value.
[0227] In some implementations, when the current driving mode is reverse mode, the second determining module 230, based on the first difference, the second difference, and the current driving mode, is specifically used for:
[0228] The lateral error is determined based on the first difference, the second difference, and the target vehicle's current heading angle;
[0229] Determine the heading error based on the first heading angle corresponding to the current heading angle and the current path index point value;
[0230] The product of the first weight corresponding to the lateral error and the first steering value is determined as the fifth product;
[0231] The product of the second weight corresponding to the heading error and the second steering value is determined as the sixth product;
[0232] Based on the lateral error, determine the first steering value corresponding to the lateral position error;
[0233] Based on the heading error, determine the second turning value corresponding to the heading error;
[0234] The sum of the first steering value, the second steering value, and the steering delay angle is determined as the target steering angle value.
[0235] In some implementations, the third determining module 240 is specifically used for:
[0236] The first throttle opening, the first brake opening, and the target steering angle value are filtered to obtain the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0237] The target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
[0238] In some implementations, the third determining module 240 is specifically used for:
[0239] If the difference between the filtered first throttle opening and the second throttle opening is less than the preset throttle opening difference, then the second throttle opening is determined as the target throttle opening; otherwise, the filtered first throttle opening is determined as the target throttle opening. The time corresponding to the second throttle opening is earlier than the time corresponding to the first throttle opening.
[0240] If the difference between the filtered first brake opening and the second brake opening is less than the preset brake opening difference, then the second brake opening is determined as the target brake opening; otherwise, the filtered first brake opening is determined as the target brake opening. The time corresponding to the second brake opening is earlier than the time corresponding to the first brake opening.
[0241] The target control command is determined based on the target throttle opening, target brake opening, and the filtered target steering angle value.
[0242] In some embodiments, the device further includes:
[0243] The first generation module is used to generate N first position information corresponding to N supplementary path points based on the first path information when the distance between the current position of the target vehicle and the obstacle is within a preset distance range and the target vehicle has reached the end point of the path planning; N is a positive integer.
[0244] The second generation module is used to generate supplementary paths based on N supplementary path points;
[0245] The second control module is used to control the target vehicle to travel along the supplementary path.
[0246] In some implementations, the second generation module is specifically used for:
[0247] For the i-th supplementary path point among the N supplementary path points, execute the preset steps until N first position information corresponding to each of the N supplementary path points are obtained; i is less than or equal to N and is a positive integer.
[0248] The preset steps include: determining the fourth abscissa by the sum of the third abscissa and the second value, and determining the fourth ordinate by the sum of the third ordinate and the third value; the second value is the product of the cosine of the second heading angle and i; the third value is the product of the sine of the second heading angle and i.
[0249] The vehicle control device provided in this application embodiment can be used to execute the vehicle control method, that is, it has the beneficial effects and implementation methods of the vehicle control method provided in this application embodiment. For details, please refer to the specific description of the vehicle control method in the above embodiment, which will not be repeated here.
[0250] Figure 6 This is a block diagram of an electronic device provided in an embodiment of this application.
[0251] Reference Figure 6 This application provides an electronic device, which includes: at least one processor 701; at least one memory 702; and one or more I / O interfaces 703 connected between the processor 701 and the memory 702; wherein the memory 702 stores one or more computer programs that can be executed by at least one processor 701, and the one or more computer programs are executed by at least one processor 701 to enable at least one processor 701 to perform the above-described vehicle control method.
[0252] This application also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor / processor core, implements the vehicle control method described above. The computer-readable storage medium may be volatile or non-volatile.
[0253] This application also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the above-described vehicle control method.
[0254] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).
[0255] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0256] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0257] The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing the status information of the computer-readable program instructions. These electronic circuits can execute the computer-readable program instructions to implement various aspects of this application.
[0258] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0259] Various aspects of this application are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0260] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0261] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0262] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0263] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this application as set forth by the appended claims.
Claims
1. A vehicle control method, characterized in that, include: Obtain the target vehicle's initial location information and initial path information; Based on the first positioning information and the first path information, determine the pre-aiming point index value, the first throttle opening, and the first brake opening; The target turning angle value is determined based on the pre-aiming point index value, the first positioning information, and the first path information; The target control command is determined based on the first throttle opening, the first brake opening, and the target steering angle value; Control the target vehicle to execute the target control command.
2. The method according to claim 1, characterized in that, The first positioning information includes the current path index point value, and the first path information includes the first speed corresponding to the current path index point value; The step of determining the pre-aiming point index value based on the first positioning information and the first path information includes: Obtain the base aiming point value, the first parameter adjustment value, the second parameter adjustment value, and the third parameter adjustment value; The ratio of the square of the first speed to the first parameter adjustment value is determined as the first ratio. The product of the second parameter adjustment value and the first speed is determined as the first product; The ratio of the sum of the first ratio and the first product to the third parameter adjustment value is determined as the second ratio. The sum of the current path index value, the second ratio, and the basic aiming point value is determined as the aiming point index value.
3. The method according to claim 1, characterized in that, The first positioning information includes the first horizontal coordinate and the first vertical coordinate corresponding to the target vehicle; the first path information includes the second horizontal coordinate and the second vertical coordinate corresponding to the current path index point value; The step of determining the target turning angle value based on the pre-aiming point index value, the first positioning information, and the first path information includes: The difference between the first horizontal coordinate and the second horizontal coordinate is determined as the first difference. The difference between the first ordinate and the second ordinate is defined as the second difference. Based on the first location information, the current driving mode of the target vehicle is determined; the current driving mode includes either forward mode or reverse mode. The target turning angle value is determined based on the first difference, the second difference, and the current driving mode.
4. The method according to claim 3, characterized in that, When the current driving mode is forward mode, determining the target turning angle value based on the first difference, the second difference, and the current driving mode includes: Obtain the feedforward gain, the target vehicle's wheelbase, the first path curvature, and the target heading error angle; the first path curvature is the curvature corresponding to the pre-aiming point index value; The second product is determined by multiplying the sine of the target route error angle by the wheelbase. The product of the first difference and the second difference is determined as the third product; The ratio of the second product to the third product is determined as the third ratio. The arctangent of the third ratio is determined as the first value; The product of the feedforward gain and the curvature of the first path is determined as the fourth product; The sum of the first value and the fourth value is determined as the target turning angle value.
5. The method according to claim 3, characterized in that, When the current driving mode is reverse mode, determining the target turning angle value based on the first difference, the second difference, and the current driving mode includes: The lateral error is determined based on the first difference, the second difference, and the current heading angle of the target vehicle; The heading error is determined based on the first heading angle corresponding to the current heading angle and the current path index point value; The product of the first weight corresponding to the lateral error and the first steering value is determined as the fifth product; The product of the second weight corresponding to the heading error and the second steering value is determined as the sixth product; Based on the lateral error, determine the first steering value corresponding to the lateral position error; Based on the heading error, determine the second steering value corresponding to the heading error; The sum of the first steering value, the second steering value, and the steering delay angle is determined as the target steering angle value.
6. The method according to claim 1, characterized in that, The step of determining the target control command based on the first throttle opening, the first brake opening, and the target steering angle value includes: The first throttle opening, the first brake opening, and the target steering angle value are filtered to obtain the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value. The target control command is determined based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value.
7. The method according to claim 6, characterized in that, The step of determining the target control command based on the filtered first throttle opening, the filtered first brake opening, and the filtered target steering angle value includes: If the difference between the filtered first throttle opening and the second throttle opening is less than a preset throttle opening difference, then the second throttle opening is determined as the target throttle opening; otherwise, the filtered first throttle opening is determined as the target throttle opening; the time corresponding to the second throttle opening is earlier than the time corresponding to the first throttle opening. If the difference between the filtered first brake opening and the second brake opening is less than a preset brake opening difference, then the second brake opening is determined as the target brake opening; otherwise, the filtered first brake opening is determined as the target brake opening; the time corresponding to the second brake opening is earlier than the time corresponding to the first brake opening. The target control command is determined based on the target throttle opening, the target brake opening, and the filtered target steering angle value.
8. The method according to claim 1, characterized in that, After controlling the target vehicle to execute the target control command, the method further includes: If the distance between the current position of the target vehicle and the obstacle is detected to be within a preset distance range, and the target vehicle has reached the destination of the path planning, then based on the first path information, N supplementary path points are generated, corresponding to N first position information; N is a positive integer. Based on the N supplementary path points, generate supplementary paths; Control the target vehicle to travel along the supplementary path.
9. The method according to claim 8, characterized in that, The first path information includes the second position information and the second heading angle corresponding to the end point of the path planning; the second position information includes the third abscissa and the third ordinate; the first position information includes the fourth abscissa and the fourth ordinate. The step of generating N first location information corresponding to N supplementary path points based on the first path information includes: For the i-th supplementary path point among the N supplementary path points, perform preset steps until N first position information corresponding to each of the N supplementary path points are obtained; i is less than or equal to N and is a positive integer. The preset steps include: determining the fourth horizontal coordinate by the sum of the third horizontal coordinate and the second value, and determining the fourth vertical coordinate by the sum of the third vertical coordinate and the third value; the second value is the product of the cosine of the second heading angle and i; the third value is the product of the sine of the second heading angle and i.
10. A vehicle control device, characterized in that, include: The first acquisition module is used to acquire the first location information and the first path information of the target vehicle; The first determining module is used to determine the pre-aiming point index value, the first throttle opening, and the first brake opening based on the first positioning information and the first path information. The second determining module is used to determine the target turning angle value based on the pre-aiming point index value, the first positioning information, and the first path information; The third determining module is used to determine the target control command based on the first throttle opening, the first brake opening, and the target steering angle value; The first control module is used to control the target vehicle to execute the target control command.