Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been illustrated in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather, these embodiments are provided so that this disclosure will be more thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be noted that any section/subsection headings provided herein are not limiting. Various embodiments are described throughout this document, and any type of embodiment may be included under any section/subsection. Furthermore, the embodiments described in any section/subsection may be combined in any manner with any other embodiment described in the same section/subsection and/or in a different section/subsection.
Embodiments of the present disclosure may relate to user data, the acquisition and/or use of data, and the like. These aspects all follow corresponding legal and related regulations. In embodiments of the present disclosure, all data collection, acquisition, processing, forwarding, use, etc. is performed with knowledge and confirmation by the user. Accordingly, in implementing the embodiments of the present disclosure, the user should be informed of the type of data or information, the range of use, the use scenario, etc. that may be involved and obtain the authorization of the user in an appropriate manner according to the relevant laws and regulations. The particular manner of notification and/or authorization may vary depending on the actual situation and application scenario, and the scope of the present disclosure is not limited in this respect.
In the present description and embodiments, if the personal information processing is concerned, the processing is performed on the premise of having a validity base (for example, obtaining agreement of the personal information body, or being necessary for executing a contract, etc.), and the processing is performed only within a prescribed or contracted range. The user refuses to process the personal information except the necessary information of the basic function, and the basic function is not influenced by the user.
In describing embodiments of the present disclosure, the term "comprising" and its like should be taken to be open-ended, i.e., including, but not limited to. The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first," "second," and the like, may refer to different or the same object. Other explicit and implicit definitions are also possible below.
The term "responsive to" means that the corresponding event occurs or a condition is satisfied. It will be appreciated that the execution timing of a subsequent action that is executed in response to the event or condition is not necessarily strongly correlated to the time at which the event occurs or the condition is satisfied. In some cases, the follow-up actions may be performed immediately upon occurrence of an event or establishment of a condition; in other cases, the follow-up actions may also be performed after a period of time has elapsed after the event occurred or the condition was met.
The term "model" may learn the association between the corresponding input and output from the training data so that the corresponding output may be generated for a given input after training is completed. The generation of the model may be based on machine learning techniques. Deep learning is a machine learning algorithm that processes inputs and provides corresponding outputs through the use of multiple layers of processing units. The "model" may also be referred to herein as a "machine learning model," "machine learning network," or "network," and these terms are used interchangeably herein.
As explained above, the ACC may configure different control strategies for different scenarios. For example, in the case when there is no vehicle in front of the same lane, the ACC may control the vehicle in a CCS-like manner. For another example, when a vehicle appears in front of the vehicle traveling at the set vehicle speed, the vehicle travels at a lower speed than the set vehicle speed, and the reasonable distance between the vehicle and the vehicle in front is controlled. Further, the ACC may implement control of the vehicle based on the control strategy.
In this regard, one possible vehicle control method is to calculate the acceleration or torque of the vehicle by using a certain control rate according to the deviation between the vehicle speed and the set speed of the own vehicle and the deviation between the current time interval and the set time interval. Accordingly, the ACC controls the brakes and throttle of the host vehicle via a body electronic stability control system (Electronic Stability Controller, ESC for short). Thus, the adaptive control of the vehicle speed is realized.
However, in this manner, since the operation condition of the user is not considered, in some scenes involving lateral movement (for example, lane changing, deviation correcting, etc.), significant lateral acceleration may be generated, which may affect not only the running safety of the vehicle but also the comfort of the driver and the passengers. In addition, in such a case, it is also possible to raise the operation cost of the user (for example, in order to rectify the deviation, stabilize the vehicle, so that the user needs to take over the vehicle entirely), reducing the usability and practicality of the ACC.
In view of the above, embodiments of the present disclosure provide a method for controlling a vehicle. According to the method, it is possible to acquire a driving intention parameter indicating a driving intention of a user of the vehicle, environment information related to the vehicle, and travel configuration information indicating a travel constraint of the vehicle. Further, a probability of passage of at least one predicted path and the vehicle traveling through the respective predicted paths is determined based on the driving intent parameter. Further, a control parameter of the vehicle is determined for controlling the travel of the vehicle based on the at least one predicted path, the environmental information, the probability of passage, and the travel configuration information.
In this way, embodiments of the present disclosure are able to predict a path along which a vehicle is likely to travel in combination with a user's driving intention, environmental information of the vehicle, and travel configuration information indicating a travel constraint of the vehicle. Because the prediction result of the path reflects the driving intention, the scheme according to the embodiment of the disclosure can adaptively control the vehicle based on the driving intention, so that the control on the vehicle is more reasonable, the driving safety of the vehicle is ensured, and the comfort of drivers and passengers is improved.
Example Environment
FIG. 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure may be implemented. In environment 100, an electronic device 140 is included. The electronic device 140 may be an electronic device of a suitable type that is executable to perform a method for controlling a vehicle. Such electronic devices 140, which may typically be disposed in a controlled vehicle, examples of which may include, but are not limited to: the vehicle may be used for a vehicle body, a control device, etc. for realizing ACC. For another example, in the case where the electronic device 140 is implemented as software, it may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not specifically limited herein.
Further in some scenarios, for example, in driving assistance scenarios, the vehicle may be controlled by a remote server device. Accordingly, in such a scenario, electronic device 140 may also be implemented as a server device, examples of which may include, but are not limited to: server, cloud service desk, etc.
The electronic device 140 may obtain the driving intention parameter 110, the environment information 120 related to the vehicle, and the driving configuration information 130 indicating the driving constraint of the vehicle, respectively, through the sensor and the data source. In some embodiments, the driving intent parameter 110 is associated with a user's operational behavior, such as a user's operation of a vehicle steering wheel, an on/off operation of an indicator light, and the like. Accordingly, such driving intent parameters 110 are, for example, steering wheel operation sequences, turn signal information collected by a sensing device of the vehicle. In some embodiments, the driving intent parameters 110 also include map parameters (e.g., standard maps, high-definition maps, etc.). In some embodiments, navigation information of the vehicle may also be included in the map parameters, such as a navigation track presented to the vehicle in the map. In some embodiments, the environmental information 120 is associated with a physical environment in which the vehicle is located. Accordingly, the environmental information 120 may include information of a physical environment in which the vehicle is located (e.g., a location in which the vehicle is located, whether other vehicles exist around the vehicle, a location of the other vehicles, a speed) collected by a roadside collection device or a collection device configured in the vehicle (e.g., a light camera, a point cloud laser radar, etc.). In some embodiments, the travel configuration information 130 is associated with travel constraints during vehicle control, such as an upper limit value that allows for lateral speed of the vehicle during vehicle control, and the like.
In the environment 100, the electronic device 140 generates control parameters 150 for controlling the running of the vehicle using the acquired driving intention parameters 110, the environment information 120, and the running configuration information 130.
It should be understood that the structure and function of environment 100 are described for illustrative purposes only and are not meant to suggest any limitation as to the scope of the disclosure.
In some embodiments of the present disclosure, the complete control vehicle process may include different stages. For example, referring to fig. 2, a process 200 for controlling a vehicle is illustratively shown in fig. 2, with three phases included in the process 200, e.g., a driving intent prediction phase 210, a speed planning phase 230, and a speed tracking phase 260. Such a process 200, as discussed above, may be implemented by the electronic device 140. For clarity of discussion, the method for controlling the vehicle is illustratively discussed on a stage-by-stage basis. For example, the driving intention prediction phase, the speed planning phase, and the speed tracking phase are each described as an example.
Example driving intent prediction
With reference to fig. 2, and also with reference to fig. 3A, fig. 3A shows a flow diagram of a process 300A of driving intent prediction according to some embodiments of the present disclosure, the process 300A may be implemented by the electronic device 140. The following describes the process with reference to fig. 2 and 3A.
In some embodiments of the present disclosure, the electronic device 140 obtains a driving intent parameter indicative of a driving intent of a user of the vehicle to predict a driving trajectory of the vehicle. For example, it is predicted whether the vehicle makes a lane change, turns, or runs straight, etc., and a plurality of corresponding running tracks are generated. Specifically, at block 211, the electronic device 140 may obtain at least the driving intent parameters mentioned above that indicate the driving intent of the user of the vehicle. In some embodiments, the driving intent parameter comprises at least one of: a steering wheel operation sequence in which a user operates a steering wheel, a turn signal information sequence, map parameters, fatigue parameters, and travel track parameters of a side vehicle adjacent to the vehicle. Specifically, the electronic device 140 may determine the driving intent parameter by, for example, collecting information of an action of a steering wheel of the vehicle, a situation in which a turn light is triggered, a state of a user within a cabin of the vehicle (e.g., whether the user has a yawning action, etc.), and the like. In some embodiments, the electronic device 140 may also obtain the adjacent side-track parameters, etc. through its own sensor or through interaction with the road side device. Thus, the driving intention of the user can be predicted by the above-described various parameters, so that the vehicle can be better controlled based on the driving intention of the user. The driving intention here is mainly represented by which path the user selects and the high or low probability of selecting these paths, which will be further elucidated later.
For example, referring to fig. 3A, at block 211, the electronic device obtains a steering wheel operation sequence 311, map parameters 312, a turn light information sequence 313, cabin information 314 embodying fatigue parameters, and side-by-side vehicle travel track parameters 315, respectively.
Further, in some embodiments of the present disclosure, at block 212, the electronic device 140 obtains a probability of passage that determines at least one predicted path and a vehicle traveling through the respective predicted path based on the driving intent parameter. In some embodiments, the electronic device 140 may facilitate fusing the driving intents by concatenating the vectors, resulting in a mixed information vector, by processing the driving intent parameters as vectors. In some embodiments, the electronic device 140 may further predict the driving intent using an encoding-decoding manner based on the hybrid information vector. Illustratively, the electronic device 140 may use a coding-decoding (Encoder-Decoder) mechanism of the transducer network for path prediction. For example, the electronic device 140 may employ a vector network (VectorNet) to generate polyline sub-networks from the input various vectors using a Multi-layer Perceptron (MLP), and then generate global interaction networks from these sub-networks using a attention mechanism (Self-attention) to communicate all the different input information to each other for exchanging information and performing calculations. Further, the electronic device 140 obtains the extracted features based on the calculation result, and inputs the extracted features into the fully connected neural network to generate a predicted path and a corresponding passing probability.
In some embodiments, at block 320, after obtaining the driving intent parameters, the electronic device 140 also processes each driving intent parameter into a corresponding vector by way of preprocessing.
Illustratively, the electronic device 140 may preprocess the steering wheel operation sequence, for example, perform data screening on the acquired data, reject unreasonable data, segment the sequence according to the swing amplitude of the steering wheel in the steering wheel sequence, and obtain a plurality of groups of vectors of steering wheel angles in a period of time
Illustratively, the electronic device 140 may encode the sequence of turn signal information, e.g., treat the turn signal information as a vector after processing it into three discrete states of 00, 01, 10 according to three behaviors of left turn, right turn, no turn
For example, the electronic device 140 may encode map parameters, e.g., extract map key information (e.g., lane lines, road identifications, etc.), generate all possible driving paths of the vehicle from the intersection information and the road curvature information, and represent them in vector form
For example, the electronic device 140 may encode cabin information, for example, identify a user's fatigue status from the cabin information, and status define the user's fatigue level. For example, class a (normal state), class B (general fatigue), and class C (severe fatigue). Further, the coding states are respectively determined to be 00, 01, 10 corresponding to A, B, C, and this state is referred to as
For example, the electronic device 140 may encode the by-vehicle travel track parameters, e.g., filter the travel history tracks of multiple by-vehicles, select a set (or sets) of tracks that most pose a security threat to the own-vehicle travel, and vectorize
In some embodiments, the electronic device 140 may also combine the pre-processed vectors to form a hybrid information vector
In some embodiments, at block 330, the electronic device 140 may also encode the vector resulting from the data preprocessing described above.
For example, reference may be made to fig. 3B, in which a process of processing vectors as features is illustrated for example in fig. 3B. The electronic device 140 mixes the information vector 331 (e.g., a mixed information vector) Is input to the line graph subnetwork 332. Illustratively, the manner in which features are generated in each category of line graph subnetwork is as follows.
In this type of the combination of the above-mentioned components,Is the node characteristic of the first layer of the line graph sub-network; function genc () is used to encode independent node features, multi-layer perceptrons (MLPs) that can share weights among all nodes; such genc (-) contains a full connection layer, a normalization layer, and a ReLU activation function; Aggregating features of all neighboring nodes using a max pooling operation (Max pooling); and Is a relational operation between node v i and its neighbors, e.g., vector concatenation.
Further, the electronic device 140 may acquire the feature p of the broken line partial subgraph through the max pooling operation again:
Further, the electronic device 140 inputs the features generated via the polyline sub-network 332 to a global interaction network (Graph Interaction Graph), e.g., global interaction network 333, to model the high-order interactions between the features of each polyline local sub-graph by the following equations.
In this type of the combination of the above-mentioned components,Is a feature set of polyline subgraph nodes, GNN ()'s correspond to the operational rules of the individual layers of the graph neural network,An adjacency matrix for a set of polyline sub-graph nodes. Adjacency matrixMay use heuristic methods, such as using spatial distances between nodes. For example, inIn the case of a fully connected graph, the implementation of the entire graph neural network satisfies the attention mechanism of the following equation.
In this equation, P is the feature matrix of the graph node, and P Q、PK and P V are linear projections of P in three dimensions. Thus, a plurality of higher order interaction features { p 1,p2,p3,...pi } are obtained.
In some embodiments, at block 330, the electronic device 140 generates predicted paths and corresponding pass probabilities for each path based on the higher-order interaction characteristics. For example, referring to fig. 3B, the electronic device 140 may utilize a fully connected neural network (Full Connect Neutral Network), such as the fully connected neural network 334, to process the higher-order interaction features { P 1,p2,p3,...pi } to generate predicted Path clusters and pass probabilities 220 (e.g., predicted paths { Path 1,Path2,Path3,...Pathi } and corresponding pass probabilities { P 1,P2,P3,...Pi }).
In some embodiments, the electronic device 140 may determine the loss function of the fully connected neural network using the mean square error (Mean Square Error), for example, by using the given hypothetical path true value, the predicted path. Illustratively, the path truth value is X gt=[(x1,y1),...,(xT,yT), the K predicted paths are X k=[(xk,1,yk,1),...,(xk,T,yk,T), k=1. Accordingly, a loss function expressed by the following equation can be obtained.
In this type of the combination of the above-mentioned components,The probability density function is a multi-element Gaussian distribution, mu is an average value, sigma is a covariance matrix, and C is the passing probability of a predicted path.
For example, referring to fig. 4, a schematic diagram of an example of predicted path clusters and probability of passage 220 generated by the electronic device 140 during the driving intent prediction phase 210 is shown in fig. 4. In fig. 4, the electronic device 140 generates a predicted path for the vehicle 410 and a corresponding probability of passage.
Example speed planning
With continued reference to fig. 2, at block 230, the electronic device 140 may perform a speed plan based on the predicted path clusters generated by the driving intent stage 210 described above and the probability 210. With reference to fig. 2, and also with reference to fig. 5A, fig. 5A illustrates a flow diagram of a process 500A of speed planning, in accordance with some embodiments of the present disclosure, the process 500A may be implemented by the electronic device 140. The process of speed planning is described below in conjunction with fig. 2 and 5A.
In some embodiments, candidate paths in the at least one predicted path are determined based on the at least one predicted path and the probability of passage. Further, a speed plan curve for the candidate path is determined based on the candidate path, the environmental information, and the travel configuration information.
Specifically, at block 511, the electronic device 140 selects a candidate path from the predicted path(s) according to the probability of passage corresponding to the predicted path. For example, the electronic device 140 may select a predicted path with the highest probability of passing as a candidate path.
In some embodiments, the electronic device 140 determining candidate paths in the at least one predicted path comprises: determining whether a predicted path exceeding a predetermined threshold exists in the confidence level in the at least one predicted path according to the passing probability. Further, the electronic device 140 takes the predicted path with the highest confidence as the candidate path in response to determining that there is a predicted path with the confidence exceeding the predetermined threshold. Specifically, the electronic device 140 may compare the passing probability corresponding to each predicted path with a pre-configured predetermined threshold. Further, in the case where it is determined that there is a predicted path whose confidence exceeds a predetermined threshold, the electronic device 140 determines a predicted path having the highest confidence among the predicted path(s) whose confidence exceeds the predetermined threshold as a candidate path. Therefore, the passing probability is screened in a mode of a preset threshold value, so that the quality of the determined candidate paths is improved.
For example, referring to fig. 4, for example, where P 1>P2 > the predetermined threshold > P 3>P4, the electronic device 140 may select "path 1" as the candidate path.
In the absence of predicted paths with confidence exceeding a predetermined threshold, the electronic device 140 may determine candidate paths based on the average curvature of the path points for each predicted path. Specifically, in some embodiments, the electronic device 140 determines an average curvature of the path points of each of the at least one predicted path in response to determining that there are no predicted paths for which the confidence exceeds a predetermined threshold. Further, the electronic device 140 takes a predicted path having the largest absolute value of the average curvature as a candidate path. That is, the electronic device 140 selects, as the candidate path, a predicted path having the largest absolute value of average curvature in the case where it is determined that there is no predicted path having a confidence exceeding the predetermined threshold. Therefore, when the candidate route cannot be determined based on the passing probability, the predicted route having the largest absolute value of the average curvature, or the highest risk, having the largest lateral velocity is required as the candidate route, so that the running safety of the vehicle is ensured.
For example, referring to fig. 4, for example, when the confidence of P 1、P2、P3、P4 is less than the predetermined threshold, then the electronic device 140 may take the predicted path with the largest absolute value of the average curvature as the candidate path. That is, in this case, the electronic device 140 may select "path 4" as the candidate path.
In some embodiments, the predicted path processing may further include the step of determining a path maximum speed constraint. Specifically, after the electronic device 140 selects a candidate path from the reference paths, a maximum speed constraint associated with the candidate path may also be determined, such maximum speed constraint being associated with a set of path points in the candidate path. For example, the maximum speed constraint is used to indicate the maximum speed allowed by the vehicle at the waypoint. Thus, by configuring the waypoints, the speed of the vehicle can be controlled based on the waypoint detection. In some embodiments, the electronic device 140 may determine the maximum speed constraint v max associated with the waypoint by:
in this equation, L is the wheelbase of the vehicle, θ is the front wheel rotation angle of the vehicle, and a lat is the lateral acceleration allowed to occur to the vehicle. In some embodiments, a lat may be preset based on the need for comfort and/or safety during vehicle travel.
Further, the electronic device 140 obtains the environmental information 232 and the travel configuration information 233 to determine a speed plan curve for the candidate path. In some embodiments, the environmental information includes at least one of: obstacle information around the vehicle, chassis information of the vehicle, and positioning information. In particular, the electronic device 140 may acquire at least one of obstacle information around the vehicle, chassis information of the vehicle, and positioning information through sensors of the vehicle itself and/or other data sources (e.g., roadside acquisition devices). Therefore, the speed planning curve can be associated with the environment where the vehicle is located, and the usability of the speed planning curve is improved.
Illustratively, referring to fig. 5A, the electronic device 140 obtains environmental information 232 including obstacle information 513, chassis information 514, and positioning information 515.
In some embodiments, the travel configuration information includes at least one of: an initial target speed, a target time-distance level, a maximum acceleration, a minimum acceleration, a maximum acceleration change rate, a minimum acceleration change rate, a curve maximum speed, and the like, which are set by the user. The time interval represents the time difference that the front ends of the front and rear vehicles pass through the same place, and can be generally calculated by dividing the vehicle head interval of the front and rear vehicles by the vehicle speed. Specifically, the electronic device 140 may acquire, as the running configuration information, configuration information associated with the ACC state, such as an initial target speed, a target time interval level, etc., set in the case where the user starts the ACC, such running configuration information being used to associate the actual demand in the ACC state. Further, the electronic device 140 may also obtain other types of driving configuration information associated with vehicle safety, driving comfort, such as at least one of maximum acceleration, minimum acceleration, maximum acceleration rate of change, minimum acceleration rate of change, and maximum speed of a curve, which are allowed to be generated by the vehicle. Such travel configuration information is used to control the vehicle not to experience, for example, rapid acceleration, rapid deceleration, and lateral speeds that jeopardize vehicle safety and affect vehicle comfort. In this way, the speed planning curve can be correlated with the current running condition of the vehicle, improving safety and riding comfort when controlling the vehicle in accordance with the speed planning curve.
Illustratively, referring to fig. 5A, the electronic device 140 obtains travel configuration information 233 consisting of an initial target speed 516, a target time interval rating 517, and a maximum acceleration 518.
Further, the electronic device 140 determines a speed plan curve for the candidate path based on the candidate path, the environmental information, and the travel configuration information. Specifically, the electronic device 140 may associate obstacle information (e.g., a position of an obstacle) around the vehicle determined based on the environmental information with the candidate path. For example, the electronic device 140 projects the position projection and/or predicted position of the obstacle into the candidate path. For example, referring to FIG. 5A, at block 520. The electronic device 120 may generate a path length (S) -time (T) map (ST map for short) for associating, for example, vehicles around the vehicle, obstacles. For example, referring to fig. 5B, fig. 5B shows a schematic diagram of an example 500B of an ST graph in some embodiments. In the example ST diagram shown in fig. 5B, a point 581 is used to indicate the position of the host vehicle, and an area 582 is used to indicate obstacle information around the vehicle (for example, ST information of other vehicles existing in the host vehicle forward direction).
Further, in some embodiments, in determining a speed plan curve for a candidate path, the electronic device 140 may configure a different speed plan curve generation strategy. For example, in the ACC, the electronic device 140 may configure different speed profile generation strategies for two scenarios of the auto-cruise mode and the following mode (e.g., following with reference to the travel speed and acceleration of the preceding vehicle) such that the speed planning profile corresponds to the travel state of the vehicle. For example, referring to fig. 5A, at block 530, the electronic device 140 determines whether the driving state of the vehicle is a following mode. Further, based on the determination result of the block 530, the electronic device 140 determines to execute a speed plan curve generation policy in the own vehicle cruise mode (for example, corresponding to the process including the blocks 541 and 551), or determines to execute a speed plan curve generation policy in the following mode (for example, corresponding to the process including the blocks 542 and 552).
In some embodiments, for a speed plan curve generation strategy, such as in a vehicle cruise mode, the electronic device 140 determining a speed plan curve for a candidate path includes: and determining a path point section of the candidate path according to the acceleration range of the vehicle. Further, the electronic device 140 obtains a predetermined number of speed sampling points spaced apart from each other within the waypoint interval. Further, the electronic device 140 determines a target speed for the speed sampling point according to the speed sampling point, the environmental information, and the travel configuration information. Further, the electronic device 140 determines a plurality of pending speed profiles based on the current speed of the vehicle and the target speed. Specifically, in the case of, for example, the auto cruise mode, at block 541, the electronic device 140 selects a waypoint section (e.g., a waypoint section composed of exemplary waypoints 411-415 in fig. 4) in the candidate path according to the acceleration range of the vehicle (i.e., the acceleration range indicated by the maximum acceleration and the minimum acceleration) based on the acceleration of the vehicle. In some embodiments, the electronic device 140 may take the path point corresponding to the position of the reached target speed as the first path point of the section in the case where the maximum acceleration (e.g., the maximum acceleration curve 583 shown in fig. 5B) permitted by the vehicle is used to travel to the target speed, and take the path point corresponding to the position of the reached target speed as the last path point of the section in the case where the vehicle is used to travel to the minimum acceleration (e.g., the minimum acceleration curve 586 shown in fig. 5B). In some embodiments, the number of allowed path points in the interval may be adjusted according to the computing capability of the electronic device 140, so as to avoid excessive path points in the interval and reduce the response speed.
Further, the electronic device 140 obtains a predetermined number of speed sampling points spaced apart from each other within the waypoint interval. Specifically, the electronic device 140 selects a predetermined number of speed sampling points spaced apart from each other within the selected waypoint interval, such as illustrated in fig. 4, which illustrates exemplary selection of the mutually spaced apart waypoints 411, 412, 413, 414, and 415 as speed sampling points.
Further, the electronic device 140 determines the target speed of the speed sampling point according to the speed sampling point, the environment information and the driving configuration information. Specifically, the electronic device 140 selects one of the speed or the maximum speed constraint of the waypoint preset by the user as the target speed of the associated speed sampling point. In some embodiments, the electronic device 140 selects the smaller of the speed and waypoint maximum speed constraints preset by the user as the target speed to promote security. Thus, in block 541, the electronic device 140 obtains a target cruise state (e.g., a target speed of a speed sampling point) in, for example, a self-vehicle cruise mode.
Further, at block 551, the electronic device 140 generates a set of pending speed programming curves based on the target cruise conditions by fitting. Specifically, the electronic device 140 may perform curve fitting based on the current speed of the vehicle and based on the target speed to generate a set of pending speed plan curves. For example, the electronic device 140 may perform a4 th order polynomial fit based on the current state (e.g., current speed) and the target state (e.g., target speed) of the vehicle to obtain a set of pending speed plan curves and output the set of pending speed plan curves in a tabular manner (e.g., a pending speed plan curve list). Thus, the electronic device 140 may generate a speed planning curve, for example, in a vehicle cruise mode, based on the above-described process.
In some embodiments, in the case of, for example, a follow mode, the electronic device 140 determines a target speed for the speed sampling point from the speed sampling point, a target time interval of the vehicle, an acceleration of a leading vehicle of the vehicle, and the speed in response to determining that the vehicle is in the follow mode. Specifically, at block 542, the electronic device 140 may determine a target state of the vehicle in the following mode (e.g., the speed the vehicle should reach at the speed sampling point, the acceleration the vehicle has, etc.) based on the state of the lead vehicle (e.g., the acceleration and speed of the lead vehicle) and the following state the vehicle is expected to achieve (e.g., the time interval between the vehicle and the lead vehicle, such as target time interval ST curve 585 in fig. 5B). Thus, the electronic device 140 may generate a speed planning curve in, for example, a following mode through the above-described process such that the speed planning curve is associated with a preceding vehicle such that the vehicle may travel in association with the preceding vehicle.
Illustratively, referring to FIG. 5B, the electronic device 140 generates a target following state (e.g., the electronic device 140 determines the target state associated with the speed sampling point 584) from the range of vehicle maximum and minimum accelerations, and the target time interval for the preceding vehicle (e.g., the preceding vehicle indicated by region 582) in the ST-chart. In some embodiments, such target following conditions include speeds and accelerations consistent with those of the preceding vehicle. For example, the electronic device 140 determines the target state associated with the sample point 584.
In some embodiments, the electronic device 140 determining the speed plan curve for the candidate path further comprises: determining priorities of a plurality of undetermined speed planning curves according to a speed curve cost function, wherein the speed curve cost function is related to at least one of the following: time to target speed, average acceleration rate of change, and difference between the end of the pending speed profile and the target speed. Further, according to the priority and the running configuration information, one of the pending speed planning curves is used as a speed planning curve. Specifically, at block 560, the electronic device 140 determines a priority of the plurality of pending speed plan curves based on the speed curve cost function after generating the set of pending speed plan curves. Further, the electronic device 140 determines a speed plan curve from a set of pending speed plan curves according to the sorting result of the priorities of the pending speed plan curves. In some embodiments, the speed profile cost function is related to at least one of: time to target speed, average acceleration rate of change, and difference between the end of the pending speed profile and the target speed. Illustratively, the speed profile cost function may be expressed as the following equation.
cost=g*Δs+f*t+h*j (7)
In the equation, g, f and h are all weight coefficients configured in advance, t is the time when the vehicle reaches the target state, and j is the difference between the end point of the speed planning curve and the target state of the value deltas of the average acceleration change rate. And screening the undetermined speed planning curve by the time for reaching the target speed, the average acceleration change rate and the difference value between the end point of the undetermined speed planning curve and the target speed, so as to select the undetermined speed planning curve with the minimum cost as the speed planning curve, and improve the driving quality of the driving following the speed planning curve.
In some embodiments, the electronic device 140 may also perform constraint detection on the speed plan curve. For example, the steps indicated by block 570 are also included in the speed planning phase. At block 570, the electronic device 140 may also detect a pending speed plan curve that is to be drawn as a speed plan curve. For example, it is detected whether or not acceleration, speed, etc. corresponding to each speed sampling point on the highest priority speed planning curve in the pending speed planning curve satisfy the requirements indicated by the above-mentioned running configuration information. Further, the electronic device 140 outputs the speed plan curve if the detected speed plan curve meets the requirement. And if the detected speed planning curve does not meet the requirement, selecting other undetermined speed planning curves to continue constraint detection until the detected undetermined speed planning curve meets the constraint detection requirement.
In some embodiments, the electronic device 140 outputs a speed planning curve and a predicted path to a speed tracking module for speed tracking, vehicle control based on the speed planning curve.
Of course, it should be understood that the speed planning process described in the example speed planning section above is merely illustrative and is not intended to limit the scope of the present disclosure. Any other suitable speed planning means or manner may be used to plan the speed profile.
Example speed tracking
With continued reference to fig. 2, at block 260, the electronic device 140 may perform speed tracking based on the speed planning curve, predicted path output by the speed planning stage 230 described above, to achieve vehicle control.
Referring to fig. 6, while referring to fig. 2, fig. 6 illustrates a flow chart of a process 600 of velocity tracking, according to some embodiments of the present disclosure, the process 600 may be implemented by the electronic device 140. The following describes the process with reference to fig. 2 and 6. In some embodiments of the present disclosure, the electronic device 140 generates a torque command for controlling the vehicle based on the input speed planning curve, the predicted path.
In some embodiments, where the predicted path includes a cluster of predicted paths generated at the driving intent prediction and corresponding probability of passage, determining control parameters of the vehicle for controlling travel of the vehicle includes: the electronic device 140 determines the feedback coefficient based on the maximum probability of the passing probabilities and the range of feedback coefficients. Further, the electronic device 140 determines control parameters of the vehicle for controlling the travel of the vehicle according to the feedback coefficient, the speed planning curve and the dynamics parameters of the vehicle. Specifically, at block 261, the electronic device 140 may compare the probability of passing the predicted path, obtain a predicted path probability maximum value P max, and set the feedback coefficient k (e.g., feedback coefficient 262) as a positive correlation function of the maximum probability, illustratively represented by the following equation.
k=min(max(Pmax*Pk,kmin),kmax) (8)
In this equation, P k is a probability calculation coefficient, k min is a feedback coefficient minimum value, and k max is a feedback coefficient maximum value.
In the above manner, alternatively or additionally, controlling the running of the vehicle further includes: determining the speed tracking precision according to the feedback coefficient; and controlling the travel of the vehicle according to the speed tracking accuracy. Specifically, the electronic device 140 may adjust the tracking accuracy based on the distribution of the passing probabilities to balance the comfort requirement, for example, in a case where there is no predicted path whose passing probability significantly satisfies the requirement (for example, the passing probabilities corresponding to the predicted path are all lower than a threshold value), the electronic device 140 reduces the requirement on the speed tracking accuracy, and improves the comfort to a certain extent. Under the condition that a predicted path with a larger probability appears, the speed tracking precision is improved, and accurate tracking is performed. Since the maximum probability reflects the driving intention of the user, determining the speed tracking accuracy using the feedback coefficient as the positive correlation function of the maximum probability can refine and dynamically control the vehicle based on the driving intention, improving the vehicle control quality.
Further, at block 263, the electronic device determines a control parameter of the vehicle based on the feedback coefficient, the speed planning curve, and a kinetic parameter of the vehicle (e.g., acceleration). Specifically, the electronic device 140 determines the control parameter (e.g., the acceleration information acc cmd) in the following manner:
acccmd=acctarget+(accfeedback*k) (9)
In the equation, acc target is the acceleration at the speed sampling point in the speed planning curve, and acc feedback is the compensation amount calculated by the proportional integral controller (PI controller) for the speed error.
In some embodiments, the electronic device 140 may determine acc feedback by the following equation.
accfeedback=kp*speed_error+ki*∫speed-error*dt (10)
In this equation, speed_error may be determined from the target speed and the current speed of the vehicle. For example, speed_error may be equal to the difference between the target speed and the current speed.
In some embodiments, the electronic device 140 calibrates the plurality of sets of control parameters according to the speed of the vehicle.
Further, at block 265, the electronic device 140 may control the vehicle based on the control parameter (e.g., acceleration instructions 264). For example, the electronic device 140 determines a torque parameter based on the control parameter and controls a power plant of the vehicle based on the torque parameter to achieve vehicle control.
For example, the electronic device 140 may determine the torque F by:
F=δma=Fdrive+Ff+Fslope+Fair (11)
in this equation, δ is a rotational mass conversion coefficient, F drive is a driving force, F f is a frictional resistance, F slope is a gradient resistance, and F air is an air resistance.
In some embodiments, the electronic device 140 may determine F drive based on the following equation.
Fdrive=Torque/R (12)
In this equation, torque is the wheel end Torque and R is the tire radius of the vehicle.
In some embodiments, the electronic device 140 may determine the frictional resistance F f based on the following equation.
Ff=-f*m*g*cosθ (13)
In the equation, f is a rolling resistance coefficient, m is a mass of the vehicle, g is a gravitational acceleration, and θ is a gradient angle of a road surface on which the vehicle is located.
In some embodiments, electronic device 140 may determine grade resistance F slope based on the following equation.
Fslope=-m*g*sinθ (14)
In the equation, m is the mass of the vehicle, g is the gravitational acceleration, and θ is the gradient angle of the road surface on which the vehicle is located.
In some embodiments, the electronic device 140 may determine the air resistance F air based on the following equation.
Fair=-1/2*C*ρ*S*v2 (15)
In this equation, C is the air resistance coefficient, is the air density, S is the frontal area of the vehicle, and v is the speed of the vehicle.
By the above equations (11) - (15), the target torque cmd can be calculated from the target acceleration acc cmd. In some embodiments, in determining the torque, the model error may also be compensated by inverting, and compensating the actual acceleration with the target acceleration error by Proportional Integral (PI). The electronic device 140 or the vehicle system may then control the travel of the vehicle based on the determined torque. The above process is repeated continuously during the adaptive cruising of the vehicle and a new torque is determined in real time to control the travel of the vehicle.
As can be seen from the above description, according to the method for controlling a vehicle of the embodiments of the present disclosure, it is possible to predict the operation intention of a driver by collecting information of a steering wheel operation sequence, a turn light, a map (standard map or high-definition map), a cabin (fatigue parameter), a bystander state, etc., and generate a set of predicted driving paths of the driver and corresponding passing probabilities. And then obtaining a speed curve of the vehicle self-adaptive cruising according to the predicted driving path, the set speed, the set time interval and the like. And finally, generating acceleration or torque of the controlled vehicle by using a certain control rate, and controlling the brake and the accelerator of the vehicle through the ESC to realize self-adaptive cruise control.
Example procedure
Fig. 6 illustrates a flow chart of a process 600 for controlling a vehicle according to various embodiments of the present disclosure.
By way of example, the process 600 may generally be implemented by the electronic device 140 of fig. 1. As shown in fig. 6, at block 610, the electronic device 140 obtains a driving intent parameter indicating a driving intent of a user of the vehicle, environmental information related to the vehicle, and travel configuration information indicating a travel constraint of the vehicle.
At block 620, the electronic device 140 determines at least one predicted path and a probability of passage of the vehicle through the respective predicted path based on the driving intent parameter.
At block 630, control parameters of the vehicle are determined for controlling travel of the vehicle based on the at least one predicted path, the environmental information, the probability of passage, and the travel configuration information.
In some embodiments, determining control parameters of the vehicle for controlling travel of the vehicle includes: the feedback coefficient is determined based on the maximum probability of the passing probabilities and the range of the feedback coefficient. Further, a control parameter of the vehicle is determined for controlling the travel of the vehicle based on the feedback coefficient, the speed planning curve, and the kinetic parameter of the vehicle.
In some embodiments, controlling travel of the vehicle further comprises: and determining the speed tracking precision according to the feedback coefficient. Further, the running of the vehicle is controlled according to the speed tracking accuracy.
In some embodiments, the driving intent parameter comprises at least one of: a steering wheel operation sequence in which a user operates a steering wheel, a turn signal information sequence, map parameters, fatigue parameters, and by-vehicle travel track parameters of a by-vehicle adjacent to the vehicle.
In some embodiments, the electronic device 140 may also determine a candidate path of the at least one predicted path based on the at least one predicted path and the probability of passage. Further, a speed plan curve for the candidate path is determined based on the candidate path, the environmental information, and the travel configuration information.
In some embodiments, determining a candidate path of the at least one predicted path comprises: determining whether a predicted path exceeding a predetermined threshold exists in the confidence level in the at least one predicted path according to the passing probability. Further, in response to determining that there is a predicted path exceeding a predetermined threshold, the predicted path with the highest confidence is taken as the candidate path.
In some embodiments, determining a candidate path of the at least one predicted path further comprises: in response to determining that there are no predicted paths that exceed a predetermined threshold, an average curvature of a path point of each of the at least one predicted path is determined. Further, a predicted path having the largest absolute value of the average curvature is used as a candidate path.
In some embodiments, determining the speed plan curve for the candidate path includes: and determining a path point section of the candidate path according to the acceleration range of the vehicle. Further, a predetermined number of velocity sample points spaced apart from each other within the waypoint interval are acquired. Further, a target speed for the speed sampling point is determined based on the speed sampling point, the environmental information, and the travel configuration information. Further, a plurality of pending speed programming curves are determined based on the current speed of the vehicle and the target speed.
In some embodiments, determining the target speed of the speed sampling point comprises: in response to determining that the vehicle is in the following mode, a target speed for the speed sampling point is determined from the speed sampling point, a target time interval of the vehicle, an acceleration of a leading vehicle of the vehicle, and the speed.
In some embodiments, determining the speed plan curve for the candidate path further comprises: determining priorities of a plurality of undetermined speed planning curves according to a speed curve cost function, wherein the speed curve cost function is related to at least one of the following: the time to reach the target speed, the average acceleration rate of change, and the difference between the end point of the pending speed profile and the target speed. Further, according to the priority and the running configuration information, one of the pending speed planning curves is used as a speed planning curve.
In some embodiments, the environmental information related to the vehicle includes at least one of: obstacle information around the vehicle, chassis information of the vehicle, and positioning information.
In some embodiments, the travel configuration information includes at least one of: an initial target speed, a target time-distance level, a maximum acceleration, a minimum acceleration, a maximum acceleration change rate, a minimum acceleration change rate, and a curve maximum speed set by a user.
Example apparatus and apparatus
Fig. 7 illustrates a schematic block diagram of an apparatus 700 for controlling a vehicle according to some embodiments of the present disclosure. The apparatus 700 may be implemented as or included in the electronic device 140. The various modules/components in apparatus 700 may be implemented in hardware, software, firmware, or any combination thereof.
As shown, the apparatus 700 includes an acquisition module 710 configured to acquire a driving intent parameter indicative of a driving intent of a user of the vehicle, environmental information related to the vehicle, and travel configuration information indicative of a travel constraint of the vehicle. The apparatus 700 further comprises a first determination module 720 configured to determine at least one predicted path and a probability of passage of the vehicle through the respective predicted path based on the driving intent parameter. The apparatus 700 further comprises a second determination module 730 configured to determine control parameters of the vehicle for controlling the travel of the vehicle based on the at least one predicted path, the environmental information, the probability of passage and the travel configuration information.
In some embodiments, the second determination module 730 is further configured to determine the feedback coefficient based on a maximum probability of the passing probabilities and a range of feedback coefficients. Further, a control parameter of the vehicle is determined for controlling the travel of the vehicle based on the feedback coefficient, the speed planning curve, and the kinetic parameter of the vehicle.
In some embodiments, the apparatus 700 further comprises a control module configured to determine the velocity tracking accuracy based on the feedback coefficient. Further, the running of the vehicle is controlled according to the speed tracking accuracy.
In some embodiments, the driving intent parameter comprises at least one of: a steering wheel operation sequence in which a user operates a steering wheel, a turn signal information sequence, map parameters, fatigue parameters, and by-vehicle travel track parameters of a by-vehicle adjacent to the vehicle.
In some embodiments, the apparatus 700 further comprises a third determination module configured to determine a candidate path of the at least one predicted path based on the at least one predicted path and the probability of passage. Further, a speed plan curve for the candidate path is determined based on the candidate path, the environmental information, and the travel configuration information.
In some embodiments, the third determination module is further configured to determine whether a predicted path exists in the at least one predicted path that exceeds a predetermined threshold based on the probability of passing. Further, in response to determining that there is a predicted path exceeding a predetermined threshold, the predicted path with the highest confidence is taken as the candidate path.
In some embodiments, the third determination module is further configured to determine an average curvature of the path points of each of the at least one predicted path in response to determining that there are no predicted paths that exceed the predetermined threshold. Further, a predicted path having the largest absolute value of the average curvature is used as a candidate path.
In some embodiments, the third determination module is further configured to determine a waypoint region of the candidate path from the acceleration range of the vehicle. Further, a predetermined number of velocity sample points spaced apart from each other within the waypoint interval are acquired. Further, a target speed for the speed sampling point is determined based on the speed sampling point, the environmental information, and the travel configuration information. Further, a plurality of pending speed programming curves are determined based on the current speed of the vehicle and the target speed.
In some embodiments, the third determination module is further configured to determine a target speed for the speed sampling point based on the speed sampling point, a target time distance of the vehicle, an acceleration of a leading vehicle of the vehicle, and the speed in response to determining that the vehicle is in the following mode.
In some embodiments, the third determination module is further configured to determine a priority of the plurality of pending speed plan curves from a speed curve cost function, the speed curve cost function being related to at least one of: the time to reach the target speed, the average acceleration rate of change, and the difference between the end point of the pending speed profile and the target speed. Further, according to the priority and the running configuration information, one of the pending speed planning curves is used as a speed planning curve.
In some embodiments, the environmental information related to the vehicle includes at least one of: obstacle information around the vehicle, chassis information of the vehicle, and positioning information.
In some embodiments, the travel configuration information includes at least one of: an initial target speed, a target time-distance level, a maximum acceleration, a minimum acceleration, a maximum acceleration change rate, a minimum acceleration change rate, and a curve maximum speed set by a user.
FIG. 8 illustrates a block diagram that shows a computing device 800 in which one or more embodiments of the disclosure may be implemented. It should be understood that the computing device 800 illustrated in fig. 8 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The computing device 800 illustrated in fig. 8 may be used to implement the electronic device 140 in fig. 1.
As shown in fig. 8, computing device 800 is in the form of a general purpose computing device. Components of computing device 800 may include, but are not limited to, one or more processors or processing units 810, memory 820, storage device 830, one or more communication units 840, one or more input devices 850, and one or more output devices 860. The processing unit 810 may be a real or virtual processor and is capable of performing various processes according to programs stored in the memory 820. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to increase the parallel processing capabilities of computing device 800.
Computing device 800 typically includes a number of computer storage media. Such media can be any available media that is accessible by computing device 800 and includes, but is not limited to, volatile and non-volatile media, removable and non-removable media. The memory 820 may be volatile memory (e.g., registers, cache, random Access Memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 830 may be a removable or non-removable medium and may include machine-readable media such as flash drives, magnetic disks, or any other medium that may be capable of storing information and/or data (e.g., training data for training) and may be accessed within computing device 800.
Computing device 800 may further include additional removable/non-removable, volatile/nonvolatile storage media. Although not shown in fig. 8, a magnetic disk drive for reading from or writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data medium interfaces. Memory 820 may include a computer program product 825 having one or more program modules configured to perform the various methods or acts of the various embodiments of the present disclosure.
Communication unit 840 enables communication with other computing devices through a communication medium. Additionally, the functionality of the components of computing device 800 may be implemented in a single computing cluster or in multiple computing machines capable of communicating over a communications connection. Accordingly, computing device 800 may operate in a networked environment using logical connections to one or more other servers, a network Personal Computer (PC), or another network node.
The input device 850 may be one or more input devices such as a mouse, keyboard, trackball, etc. The output device 860 may be one or more output devices such as a display, speakers, printer, etc. Computing device 800 may also communicate with one or more external devices (not shown), such as storage devices, display devices, etc., as needed, through communication unit 840, with one or more devices that enable a user to interact with computing device 800, or with any device (e.g., network card, modem, etc.) that enables computing device 800 to communicate with one or more other computing devices. Such communication may be performed via an input/output (I/O) interface (not shown).
According to an exemplary implementation of the present disclosure, a computer-readable storage medium having stored thereon computer-executable instructions, wherein the computer-executable instructions are executed by a processor to implement the method described above is provided. According to an exemplary implementation of the present disclosure, there is also provided a computer program product tangibly stored on a non-transitory computer-readable medium and comprising computer-executable instructions that are executed by a processor to implement the method described above.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus, devices, and computer program products implemented according to the disclosure. It will 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.
These computer readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The foregoing description of implementations of the present disclosure has been provided for illustrative purposes, is not exhaustive, and is not limited to the implementations disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various implementations described. The terminology used herein was chosen in order to best explain the principles of each implementation, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand each implementation disclosed herein.