VEHICLE SYSTEM WITH DYNAMIC ADAPTIVE MODEL PREDICTIVE CONTROL FOR BI-DIRECTIONAL MANEUVER
The vehicle system employs a dynamically adaptive MPC model to address the challenge of inconsistent control in forward and reverse maneuvers, ensuring stability and precise control in both directions, enhancing the performance of ADAS systems.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- GM GLOBAL TECHNOLOGY OPERATIONS LLC
- Filing Date
- 2025-03-01
- Publication Date
- 2026-05-07
AI Technical Summary
Existing driver assistance systems in autonomous and semi-autonomous vehicles lack a unified model predictive control (MPC) approach that can effectively manage both forward and reverse driving maneuvers, leading to instability at zero-speed crossings and inconsistent performance across different directions.
A vehicle system with a dynamically adaptive MPC model that adjusts its structure and parameters based on the direction of travel, ensuring stability and precise control in both forward and reverse motions by using a single control structure that adapts to changes in vehicle speed and direction.
Enables precise and stable bidirectional maneuvering by dynamically adapting the MPC model, maintaining stability across zero-speed crossings and supporting various advanced driver assistance systems (ADAS) functions in both directions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] The present invention relates to a vehicle system according to the preamble of claim 1 with dynamically adaptive model predictive control for bidirectional maneuvers, as is known essentially from DE 10 2012 201 112 A1.
[0002] Further details of the state of the art can be found in documents DE 10 2010 000 964 A1 and DE 10 2010 018 158 B4.
[0003] Vehicles such as autonomous and semi-autonomous vehicles often incorporate driver assistance systems (ADAS) like parking assist, lane centering assist, lane keeping assist, collision avoidance assist, and so on. In such cases, the ADAS receive sensor data from one or more vehicle sensors (e.g., cameras, radar, etc.) and generate control commands (e.g., steering commands, speed commands, etc.) for vehicle control. The ADAS may use a constant-gain control approach to generate these commands. Occasionally, the ADAS may rely on model predictive control (MPC), which uses vehicle dynamics to predict future vehicle behavior. SUMMARY
[0004] According to the invention, a vehicle system for dynamically controlling bidirectional maneuvers of a vehicle is presented, characterized by the features of claim 1.
[0005] The vehicle system includes one or more sensors configured to detect one or more objects outside the vehicle, a vehicle control module, and a control module that communicates with the one or more sensors and the vehicle control module. The control module is configured to determine a desired speed profile and target trajectory based on the detected objects, to identify a desired direction of travel for the vehicle based on the desired speed profile and / or target trajectory, to dynamically adjust a predictive control model based on the desired speed profile and / or target trajectory to match the desired direction of travel, and to generate a steering angle command using the adjusted predictive control model.The vehicle control module is configured to control the vehicle based on the steering angle command to maneuver it along the target trajectory in the desired direction of travel. The control module is further configured to determine a yaw rate reference for the vehicle, determine a direction-of-trajectory rate-of-change error based on this reference, and generate the steering angle command using the adapted predictive control model based on this error. Additionally, the control module is configured to determine a reference curvature for the vehicle based on the target trajectory and to determine the yaw rate reference for the vehicle based on this reference curvature and a longitudinal velocity reference.
[0006] According to other features, the control module is configured to determine forward and / or reverse segments for the vehicle and to determine the yaw rate reference for the vehicle based on the forward and / or reverse segments.
[0007] According to other characteristics, the target motion path is a target motion path of the global system and the control module is configured to translate the target motion path of the global system into a vehicle system motion path and to determine the forward and / or reverse segments based on the vehicle system motion path.
[0008] According to other features, the control module is configured to lock a longitudinal speed reference value to a defined value in response to the longitudinal speed reference being less than the defined value.
[0009] According to other features, the control module is configured to dynamically adjust at least one constraint for the adapted predictive control model based on the desired velocity profile and / or the target trajectory.
[0010] According to other features, the control module is configured to select a defined value for at least one restriction based on the desired speed profile and / or the target movement path.
[0011] According to other features, the control module is configured to dynamically adjust at least one weight for the adapted predictive control model based on the desired velocity profile and / or the target movement path.
[0012] According to other features, the control module is configured to select at least one weight based on the desired speed profile and / or the target movement path.
[0013] According to other characteristics, the objects contain a line marking and / or an object on a road.
[0014] According to other characteristics, the desired direction of travel is either a forward direction of the vehicle or a reverse direction of the vehicle.
[0015] According to other characteristics, the predictive control model is stable during the forward direction of the vehicle and during the reverse direction of the vehicle.
[0016] Another vehicle system for dynamically controlling bidirectional maneuvers of a vehicle includes one or more sensors configured to detect one or more objects outside a vehicle, a vehicle control module, and a control module communicating with the one or more sensors and with the vehicle control module.The control module is configured to determine a desired speed profile and target trajectory based on the detected objects, to identify a desired direction of travel for the vehicle based on the desired speed profile and / or target trajectory, to dynamically adjust a predictive control model based on the desired speed profile and / or target trajectory so that it corresponds to the desired direction of travel, to dynamically adjust at least one constraint and at least one weight for the adjusted predictive control model, to determine a yaw rate reference for the vehicle, to determine a direction-of-travel rate change error based on the yaw rate reference, and to generate a steering angle command with the adjusted predictive control model based on the direction-of-travel rate change error.The vehicle control module is configured to control the vehicle based on the steering angle command in order to maneuver the vehicle along the target movement path in the desired direction of travel.
[0017] According to other features, the control module is configured to determine a reference curvature for the vehicle based on the target motion path and to determine the yaw rate reference for the vehicle based on the reference curvature and a longitudinal velocity reference.
[0018] According to other features, the control module is configured to lock a longitudinal speed reference value to a defined value in response to the longitudinal speed reference being less than the defined value.
[0019] Furthermore, a control method for dynamically controlling bidirectional maneuvers of a vehicle is described. The control method includes detecting one or more objects outside the vehicle, determining a desired velocity profile and target trajectory based on the detected objects, identifying a desired direction of travel for the vehicle based on the desired velocity profile and / or target trajectory, dynamically adapting a predictive control model based on the desired velocity profile and / or target trajectory to match the desired direction of travel, generating a steering angle command using the adapted predictive control model, and controlling the vehicle based on the steering angle command to maneuver the vehicle along the target trajectory in the desired direction of travel.
[0020] According to other features, the control procedure further includes determining a reference curvature for the vehicle based on the target motion path, determining a yaw rate reference for the vehicle based on the reference curvature and a longitudinal velocity reference, and determining a direction-of-travel rate error based on the yaw rate reference.
[0021] According to other features, generating the steering angle command with the adapted predictive control model includes generating the steering angle command with the adapted predictive control model based on the direction of change rate error.
[0022] According to other features, the control method further includes locking a value of the longitudinal speed reference to a defined value in response to the longitudinal speed reference being smaller than the defined value.
[0023] According to other features, the control method also includes the dynamic adjustment of at least one constraint for the adapted predictive control model based on the desired velocity profile and / or the target trajectory and the dynamic adjustment of at least one weight for the adapted predictive control model based on the desired velocity profile and / or the target trajectory.
[0024] Further areas of application of the present invention will become apparent from the detailed description, the claims, and the drawings. The detailed description and the specific examples are for illustrative purposes only. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The present invention will be more fully understood from the detailed description and the accompanying drawings; these show: Fig. 1 a block diagram of an example of a vehicle system for dynamically controlling bidirectional maneuvers of a vehicle according to the present invention; Fig. 2 a schematic representation of an exemplary scenario in which the vehicle is made of Fig. 1 uses a parking assistance system to park the vehicle in a parking space according to the present invention; Fig. 3. A block diagram of an exemplary implementation of a control module in the vehicle system. Fig. 1 according to the present invention; Fig. 4-5 Block diagrams of exemplary reference systems, the vehicle parameters for use with the control module from Fig. 3 according to the present invention; Fig. 6 a schematic representation of an exemplary parking sequence in which a vehicle is steered to park at a destination by performing reverse and forward maneuvers according to the present invention; and Fig. 7-9 Flowcharts of exemplary control processes for the dynamic control of bidirectional maneuvers of a vehicle according to the present invention.
[0026] Reference symbols may be used multiple times in the drawings to identify similar and / or identical elements. DETAILED DESCRIPTION
[0027] Vehicles such as autonomous and semi-autonomous vehicles often incorporate driver assistance systems (e.g., advanced driver assistance systems) such as parking assist, lane centering assist, lane keeping assist, collision avoidance assist, etc. According to such examples, the driver assistance systems may use a control approach with constant or static gains to generate control commands based on sensor data, or they may use model predictive control (MPC), in which vehicle dynamics are used to predict future vehicle behavior. When MPC is used, each driver assistance system employs a different static predictive model with separate control logic for vehicle control in one direction (e.g., forward or reverse).
[0028] The vehicle systems and control methods according to the present invention effectively employ an MPC strategy for controlling both forward and reverse driving maneuvers, thereby enabling precise, model-based control in both directions. For example, the present vehicle systems and control methods utilize an MPC plant model designed to dynamically adapt its structure and parameters when the direction of travel changes between forward and reverse motion. This dynamic adaptation allows the MPC plant model to transform into a format that remains stable at extremely low vehicle speeds and when the vehicle speed vector undergoes a sign change (e.g., passes through a value of zero).This state-of-the-art model design allows a single control structure to be used to support several (and occasionally all) features of advanced driver assistance systems (ADAS) in both directions of travel, using a rational software architecture and calibration strategy. As further explained here, this enables the switching between forward and reverse motion, while maintaining steering control by adapting the model and binding it to a longitudinal speed reference to preserve stability across zero-speed crossings.
[0029] In Fig. Figure 1 shows a block diagram of an exemplary vehicle system 100 for the dynamic control of bidirectional maneuvers of a vehicle 102. As shown in Fig. As shown in Figure 1, the vehicle system 100 generally comprises a control module 104, one or more sensors 106, a vehicle control module 108, and a memory circuit 110. According to the example from Fig. 1. The memory circuit 110 can be located outside or inside the control module 104, as shown. Although Fig. 1. While the vehicle system 100 is described as containing specific dedicated modules, it should be noted that one or more other modules can be used upon request. For example, any combination of modules (e.g., control module 104 and vehicle control module 108) and / or their functionality can be integrated into a single module or several different modules.
[0030] The vehicle system 100 from Fig. 1 can be used in any suitable vehicle, such as an autonomous vehicle, a semi-autonomous vehicle, etc. Furthermore, vehicle system 100 can be applied to electric vehicles (e.g., a pure electric vehicle, a plug-in hybrid electric vehicle, etc.) and to internal combustion engine vehicles (ICE vehicles). According to the example from Fig. 1. The vehicle system 100 is used in the vehicle 102, which is an autonomous vehicle, a semi-autonomous vehicle, etc.
[0031] According to the example from Fig. In this example, the sensor(s) 106, the vehicle control module 108, and the memory circuit 110 communicate with the control module 104. According to such examples, the control module 104 can receive and / or send signals, data, etc., to and / or from each of the one or more sensors 106, the vehicle control module 108, and the memory circuit 110. The internal vehicle modules can receive and / or send signals between themselves via a network such as a Controller Area Network (CAN).
[0032] The sensor(s) 106 can be any suitable device for detecting objects outside the vehicle 102. According to such examples, the sensor(s) 106 can generally be part of a perception module for providing sensor data to the control module 104. For example, the sensor(s) 106 can include cameras (e.g., a front camera module, a rear camera module, side camera modules, etc.), radar sensors, etc., that detect objects such as line markings (e.g., parking space markings, road lane lines, etc.). According to some examples, the objects on the road can include, for example, signs (e.g., traffic signs, parking signs, etc.), curbs (e.g., parking space markers, road curbs, etc.), other vehicles, people (e.g., a person walking along the road, a person walking in a parking lot, etc.), etc.
[0033] As will be explained further below, the vehicle system 100 has an effect from Fig. 1 generally such that it enables dynamic adaptability of an MPC system model. The adaptable MPC system model can be used to control the vehicle 102 for both forward and reverse maneuvers. Such features can be advantageous for various driver assistance systems. For example, shows Fig. 2 A scenario in which vehicle 102 uses a driver assistance system to park vehicle 102 in a parking space 202. As shown, the parking space 202 is defined by parking lines 204, 206 and is near other vehicles 208, 210, 212, 214. According to such examples, the vehicle system 100 can Fig. 1. The vehicle system detects parking space lines 204 and 206 and the nearby vehicles 208, 210, 212, and 214. As further explained here, the vehicle system 100 can then generate one or more speed profiles and target trajectories based on the detected objects in order to perform the necessary maneuvers to guide the vehicle 102 with the parking assist system into parking space 202. According to some examples, the maneuvers may include one or more forward and reverse maneuvers to ensure that the vehicle 102 enters parking space 202 without colliding with the other vehicles 208, 210, 212, and 214.
[0034] For example, and further based on Fig. 1. The control module 104 initially receives sensor data from the sensor(s) 106. With this sensor data, the control module 104 can detect objects outside the vehicle 102, such as line markings, road objects, etc.
[0035] The control module 104 then determines a desired speed profile and a target trajectory. According to such examples, the desired speed profile and target trajectory can be determined based on the detected objects. According to such examples, the desired speed profile and target trajectory are determined in such a way as to enable the vehicle 102 to perform one or more maneuvers (e.g., moving forward and to the left, moving backward and to the right, etc.).
[0036] According to various embodiments, the target trajectory represents a reference path that the vehicle 102 must follow to ensure that it reaches a desired location. According to such examples, the target trajectory may include a set of coordinate points representing the maneuver(s) (e.g., a complete set of maneuvers) necessary to reach the desired location while avoiding the detected objects. According to various embodiments, the set of coordinate points may correspond to the center of a lane, the center of a vehicle's path in a parking space, etc.
[0037] Furthermore, the speed profile represents a longitudinal speed profile for vehicle 102 in the present and future. For example, the longitudinal speed can change over time while vehicle 102 is moving. For instance, the longitudinal speed in a first segment (the target motion path), indicating forward movement of vehicle 102, can be 2 km / h; in a second segment in the future, indicating that vehicle 102 has stopped, it can be zero (0); and then in a third segment in the future, indicating backward movement of vehicle 102, it can be -1 km / h. According to other examples, the longitudinal speeds can, if desired, be all positive values (indicating, for example, forward movement) or all negative values (indicating, for example, backward movement).
[0038] The control module 104 can then identify a desired direction of travel for the vehicle 102. For example, the direction of travel can be determined based on the desired speed profile and / or the target trajectory. For example, the control module 104 can identify that the direction of travel will be reverse if the speed profile indicates a negative longitudinal speed, such as at a future segment or point of the target trajectory. Conversely, if the speed profile indicates a positive longitudinal speed, such as at a future segment or point of the target trajectory, the control module 104 can identify that the direction of travel will be forward. According to other examples, the control module 104 can identify the direction of travel based on a sequence of points for the target trajectory.
[0039] Subsequently, the control module 104 dynamically adapts a predictive control model to match the desired direction of travel. For example, the control module 104 can adjust the predictive control model in real time based on the desired speed profile and / or target trajectory. According to such examples, the control module 104 can adapt the structure and prediction of the predictive control model based on the desired speed profile and / or target trajectory for the new direction of travel when a change in direction is identified. For example, and as further explained below, the control module 104 can modify one or more signs associated with functions in the model based on the change in direction of travel.
[0040] According to various embodiments, the predictive control model can be stored in the memory circuit 110. According to such examples, the control module 104 can receive the predictive control model (e.g., a standard model) from the circuit 110. The control module 104 can then adapt the predictive control model as needed for a change of direction.
[0041] Once the predictive control model for the direction of travel has been adapted, the control module 104 can then generate control commands using the adapted predictive control model. For example, the control module 104 can generate a steering angle command using the adapted predictive control model and then send the steering angle command (along with other possible control commands) to the vehicle control module 108.
[0042] Subsequently, the control module 108 controls the vehicle 102 based on the steering angle command to maneuver the vehicle 102 along the target path in the desired direction of travel. For example, the vehicle control module 108 can generate one or more control signals for one or more actuators, such as a steering wheel actuator, a road wheel actuator, etc., to apply an appropriate amount of torque to a steering column or rack and pinion to move the steering wheel or the road wheels to a desired position. This, in turn, causes the vehicle's direction of travel to change as the vehicle 102 moves.
[0043] The control module 104 from Fig. 1 can be implemented in any suitable way to adapt the predictive tax model. For example, shows Fig. 3 an exemplary representation of a control module 304, which is referred to as the control module 104 from Fig. 1 or part of it may be implemented. As in Fig. As shown in Figure 3, the control module 304 generally contains a planning module 320, a longitudinal control module 330, and a transverse control module 340. According to this example, the planning module 320 receives sensor data from the sensor(s) 106, as explained above. Fig. 1 or detected external objects and send the longitudinal control module 330 and the transverse control module 340 control module commands to control the vehicle 102 to the vehicle control module 108.
[0044] According to the example from Fig. The cross-control module 340 contains a plant model adaptation module 350, a reference path segmentation module 360, a constraint adaptation module 370, a weight adaptation module 380, and a module 390 for model predictive control (MPC). As shown and further explained below, the plant model adaptation module 350, the reference path segmentation module 360, the constraint adaptation module 370, and the weight adaptation module 380 each receive one or more inputs from the planning module 320 and provide one or more outputs to the MPC module 390.
[0045] In the exemplary control module 304 from Fig. 3. The planning module 320 determines a desired velocity profile and a target trajectory. For example, the planning module 320 can determine the desired velocity profile and the target trajectory based on sensor data from sensor(s) 106. According to such examples, the planning module 320 can detect external objects based on the sensor data. According to other examples, the planning module 320 can receive the detected objects (e.g., data representing the objects). According to another case, the planning module 320 determines a desired velocity profile and a target trajectory based on the detected objects, as explained above.
[0046] The planning module 320 then provides the desired speed profile and / or target trajectory to other modules in the control module 304. For example, the planning module 320 can send the desired speed profile to the longitudinal control module 330. Furthermore, the planning module 320 can send the desired speed profile and / or target trajectory to the lateral control module 340, and more specifically to the plant model adaptation module 350, the reference path segmentation module 360, the constraint adaptation module 370, and the weight adaptation module 380.
[0047] The plant model adaptation module 350 generally adapts a predictive control model (e.g., a vehicle dynamics model) based on the desired speed profile and / or target trajectory. For example, the plant model adaptation module 350 can identify a desired direction of travel for vehicle 102 based on the desired speed profile and / or target trajectory. The plant model adaptation module 350 can then dynamically adapt the predictive control model based on this direction of travel.
[0048] For example, the plant model adaptation module 350 can generate a first set of functions for backward motion and a second set of functions for forward motion for a predictive control model (e.g., a linear bicycle model, etc.). According to the example from Fig. 3. The set of functions can differ by one or more sign changes associated with the functions. For example, equations (1) - (5) below represent functions for backward (or reverse) motion.
[0049] In equations (1) - (5) represent eyPR a lateral error at a pivot point; represents Vyr a reverse system lateral velocity reference at a center of gravity (CG) of the vehicle 102; represents e ψ a direction of travel error; represents ω z a yaw rate; represents δ f a measured angle of the front road wheels; represents δ f,cmd a designated angle of the front road wheels; represents Vxr a reverse system longitudinal velocity reference at the CG; represents l f a CG-to-front axle distance; represents l ra CG-to-rear axle distance; represents l ARS a rear axle-to-pivot point distance due to active rear-wheel steering; represents C f a front tire cornering stiffness; represents C r a rear tire cornering stiffness; represents Fyfr a front tire lateral force (reverse system); represents Fyrr a rear tire lateral force (reverse system); represents m a vehicle mass; represents I ZZ a yaw moment of inertia; and τ represents a steering actuator delay time constant. As explained below, the yaw rate (ω) can be z ) according to this example, determined and provided by the Reference Path Segmentation Module 360. e˙yPR=e˙y−(lr−lARS)ωz=−Vyr−Vxreψ−lrωz V˙yr=∑Fyrm−Vxrωz=1m[Fyfr+Fyrr]−Vxrωz=1m[Cf(−Vyr−lfωzVxr+δf)+Cr(−Vyr+lrωzVxr+δr)]−Vxrωz e˙ψ=ωz−ψ˙ref ω˙z=∑MIzz=−Fyfrlf+FyrrlrIzz=1Izz[−Cflf(−Vyr−lfωzVxr+δf)+Crlr(−Vyr+lrωzVxr+δr)] δ˙f=δf,cmd−δfτ
[0050] Subsequently, the plant model adaptation module 350 can generate a matrix to represent the predictive control model for reverse motion according to the following equation (6). According to this example, vectors for the forward system longitudinal velocity reference can be (Vxf) and for the forward system cross-velocity reference (Vyf) The matrix can then be substituted back into the state-space model. This matrix can then be provided to the MPC module 390 for the reverse movement. x˙=[e˙yPRV˙ye˙ψω˙zδ˙f]=[01Vx−(lr−lARS)00+Cf+CrmVx0−Vx+Cflf−CrlrmVx−Cfm000100+Cflf−CrlrIzzV x0+Cflf2+Crlr2IzzVx−CflfIzz0000−1tfilt][eyVyeψωzδf]+[00001tfilt]δf,cmd+[Vydaydωzd−ψ˙rRzd0]
[0051] Fig. Figure 4 shows an exemplary representation of a reference system 400 for identifying parameters associated with equations (1) - (5) with respect to the vehicle 102 with a front wheel 402 and a rear wheel 404, when the vehicle 102, as indicated by the dashed line 406, is planning a reverse movement. Fig. Reference symbols 410 and 412 represent a measured angle (δ). f ) of the front road wheels or a measured angle (δ r ) of the rear road wheels relative to a reference centerline 414, which passes through the centers of wheels 402, 404. Reference symbols 416, 418 represent a front tire lateral force. (Fyfr) or a rear tire lateral force (Fyrr) Reference symbol 420 represents a transverse error. (eyPR) at a pivot point 426 relative to a reference path 424 (e.g., a target motion path) and the reference symbol 422 represents a lateral error (e y ) at a center of gravity (CG) 428 relative to the reference path 424. The reference symbol 430 represents a yaw rate (ω). z Reference numbers 432 and 434 represent a reverse system longitudinal velocity reference. (Vxr) or a reverse system cross-velocity reference (Vyr) at the CG 128. The reference symbol 436 represents a distance (l ARS ) between a rear axle and pivot point 426 due to active rear steering and reference numeral 438 represents a driving direction error (e ψ ) relative to the reference midline 414.
[0052] If, on the other hand, vehicle 102 intends to move forward, the reference system 400 is rotated by 180 degrees. This rotation changes the longitudinal velocity reference. (Vxr) and the lateral velocity reference (Vyr) in the CG 428 (represented by reference symbols 432, 434) now by a forward system longitudinal velocity reference (−Vxf) and by a forward system transverse velocity reference (−Vxf) represented. Subsequently, the plant model adaptation module 350 can adjust the predictive control model to reflect this rotation.
[0053] For example, equations (7) and (8) below represent functions for forward motion. According to this example, equations (7) and (8) are essentially similar to equations (2) and (4) above, but with some sign changes. V˙yf=∑Fyfm−Vxfωz=1m[Fyff+Fyrf]−Vxfωz=1m[Cf(−Vyr+lfωzVxr+δf)+Cr(−Vyr−lrωzVxr+δr)]−Vxrωz ω˙z=∑MIzz=Fyfflf−FyrflrIzz=1Izz[Cflf(−Vyf−lfωzVxf+δf)−Crlr(−Vyf−lrωzVxf+δr)]
[0054] Subsequently, the plant model adaptation module 350 can generate a matrix to represent the predictive control model for forward motion in accordance with the following equation (9). According to this example, the matrix in equation (9) is essentially similar to the matrix in equation (6) above, but with some sign changes. This matrix can then be provided to the forward motion MPC module 390. x˙=[e˙yPRV˙ye˙ψω˙zδ˙f]=[01Vx−(lr−lARS)00−Cf+CrmVx0−Vx−Cflf−CrlrmVx+Cfm000100−Cflf−CrlrIzzV x0−Cflf2+Crlr2IzzVx+CflfIzz0000−1tfilt][eyVyeψωzδf]+[00001tfilt]δf,cmd+[Vydaydωzd−ψ˙rRzd0]
[0055] Further based on Fig. 3. The Reference Path Segmentation Module 360 can be used for various purposes. For example, the Reference Path Segmentation Module 360 converts a target motion path of the global system from the Planning Module 320 into a vehicle system motion path and generates forward or reverse segments depending on the vehicle's direction of travel. Furthermore, the Reference Path Segmentation Module 360 calculates desired vehicle states (e.g., reference yaw rate, etc.) with respect to the segmented vehicle system motion path required by the MPC Module 390. This enables the MPC to precisely follow a forward and reverse path.
[0056] For example, it shows Fig. 5 a schematic representation 500 of vehicle 102 from Fig. 1, in which a vehicle target motion path from a global system is segmented and transformed into forward and / or reverse segments in a vehicle system with zero lateral slip. According to this example, vehicle 102 travels in a longitudinal direction (X ego ), which is represented by the arrow 510 (e.g., a longitudinal axis 510). As in Fig. As shown in Figure 5, reference symbols 502 and 504 represent the point with zero lateral slip and a rear axle of vehicle 102, respectively. Reference symbol 506 represents the direction of travel angle. (Ivehg) of the vehicle in the global system (e.g., in the reference frame provided by planning module 320). The lateral direction of travel (Y) ego The position of vehicle 102 is represented by arrow 512. Reference sign 514 represents a distance (l ARS ) between the rear axle 504 and point 502 with zero lateral slip.
[0057] Furthermore, in Fig. 5. The specific target movement path (provided by the planning module 320) is shown as line 516, containing a set of coordinate points 518, 520, 522, 524 in the global system. In this example, each point has a coordinate set X. i , Y i , θ iwhere X is the longitudinal value along axis 540 (e.g., the X-axis of the global system) for that point, Y is the transverse value along axis 550 for that point (e.g., the Y-axis of the global system), and θ is the vehicle's direction of travel 506 for that point. For the example, point 518 has the coordinates X0, Y0, θ0, point 520 has the coordinates X1, Y1, θ1, and so on. Each point 518, 520, 522, 524 in the global system along the target trajectory is segmented into forward and / or reverse segments in the vehicle system with zero lateral slip. As shown, a line 526 is perpendicular to the longitudinal axis 510 of the vehicle and passes between point 502 with zero lateral slip of the vehicle 102 and point 524, which indicates a current position of the vehicle 102 along the vehicle's path of motion.Segments along the target movement path above line 526 represent forward segments, as indicated by the dashed arrow 528, while segments along the target movement path below line 526 represent backward segments, as indicated by the dashed arrow 530.
[0058] The following equations (10) - (14) represent an exemplary transformation of the target motion trajectory in the global system into forward and / or reverse segments in the vehicle system with zero lateral slip. For example, equation (10) is used to determine a position (xvehg,yvehg,Θvehg) of the vehicle (ego) 102 based on a lever arm distance (l ARS ) to set the points (xvehARS,yvehARS) to obtain. Then equation (11) is used to determine each waypoint 518, 520, 522, 524 with coordinates X. i , Y i in points (xiego,yiego) to implement the vehicle system with zero lateral slip. Equation (12) below represents that all longitudinal points xiego greater than or equal to zero in the points (xiego,yiego) of the vehicle system with lateral slip zero forward segments, while equation (13) represents that all longitudinal points xiego less than or equal to zero in the points (xiego,yiego) The vehicle system with lateral slip has zero reverse segments. [xvehARSyvehARS]=[xvehgyvehg]+[lARSego⋅cosΘvehglARSego⋅sinΘvehg] [xiegoyiego]=[cosΘvehgsinΘvehg−sinΘvehgcosΘvehg]([xiGyiG]−[xvehARSyvehARS]) (xiego,yiego)∀xiego≥0 (xiego,yiego)∀xiego≤0
[0059] Further based on Fig. 3. The reference path segmentation module 360 can then be used based on at least some of the set of points. (xiego,yiego), The equations (12) and (13) generated above determine a desired yaw rate (or reference yaw rate) for vehicle 102 for forward and reverse segments along the vehicle's trajectory.
[0060] For example, the Reference Path Segmentation Module 360 can implement the following equations (14) - (16) to determine or otherwise calculate a reference direction angle, reference curvature, and subsequently a reference yaw rate for both the forward and return segments. More precisely, the reference direction angle (ψ) ref ) in equation (14) based on a change in the transverse values and a change in the longitudinal values of the sets of points (xiego,yiego) The reference curvature (ρ) is then determined. ref) in equation (15) based on a change in the reference direction angle (from equation (14)) and a change in the longitudinal values of the sets of points (xiego,yiego) determined. In equation (16) the reference yaw rate (ψ̇) is given. ref ) based on the reference curvature (from equation (15)) and the longitudinal velocity reference (V x ) certainly. ψref=ΔyΔx ρref=ΔψrefΔx=ΔyΔx2 ψ˙ref=Vx⋅ρref
[0061] According to various embodiments, the reference path segmentation module 360 can then determine a direction of travel error and a direction of travel rate change error for the vehicle 102. For example, the reference path segmentation module 360 can use the following equation (17) to determine the direction of travel error (e ψ ) to determine, and the following equation (18) to determine the rate of change of direction error (ė ψ) to determine, implement either for the forward segments or for the reverse segments. More precisely, the direction error e is determined in equation (17). ψ based on a direction of travel ψ and the reference direction of travel angle (ψ ref ) is determined from equation (14) above. According to this example, the direction of travel ψ can be a measured value or calculated using conventional methods. Subsequently, the rate-of-change error of the direction of travel ė is determined in equation (18). ψ based on a yaw rate (ω) z ) and the reference yaw rate (ψ̇) ref ) is determined from equation (16) above. According to this example, the yaw rate (ω) can be determined from equation (16). z ) a measured value or calculated using conventional methods. eψ=ψ−ψref e˙ψ=wz−ψ˙ref=wz−(Vx⋅ρref)
[0062] Subsequently, according to various embodiments, the reference path segmentation module 360 can provide some or all of the specified data to the MPC module 390 for vehicle control. For example, the reference path segmentation module 360 can provide the reference direction angle, reference curvature, reference yaw rate, direction error, and / or direction change rate error for one or more suitable forward or reverse segments.
[0063] According to various embodiments, the longitudinal velocity reference (V) x) here, for example, it can be zero or pass through zero (0) when vehicle 102 stops, changes direction, etc. In other words, the longitudinal speed profile of vehicle 102 can decrease from a positive value, indicating that vehicle 102 is slowing down as it moves forward, or increase from a negative value, indicating that vehicle 102 is slowing down as it moves backward. If the longitudinal speed reference (V) x If the predictive control model reaches zero, it can become unstable. This is, for example, a consequence of the model using functions with the longitudinal velocity reference (V). x ) implemented in the denominator (e.g., division by zero).
[0064] To address such problems, the control module 304 can use a longitudinal speed reference value (V). x) lock to a defined value when it approaches zero. For example, control module 404 can lock a value of the longitudinal speed reference (V). x ) in response to the fact that the longitudinal velocity reference (V x If the speed is less than a defined value, lock it to that defined value. According to such examples, the defined value can be a calibratable value that depends on various factors, such as the maneuver application (e.g., parking assistance, etc.), model stability, etc. For example, the defined value could be ±0.1 m / s, ±0.5 m / s, ±0.7 m / s, ±1 m / s, ±2 m / s, or another suitable value.
[0065] Further based on Fig. 3. Restrictions or weights for the adapted predictive control model can also be adjusted according to various embodiments. For example, the model restrictions and / or model weights can be changed depending on the direction of travel (forward or reverse) to provide accurate path tracking in both directions. According to various embodiments, such adjustment of the restrictions and / or weights can take place in real time.
[0066] For example, the restriction adjustment module 370 can be used from Fig. 3. Dynamically adjust at least one constraint for the adapted predictive control model provided to the MPC module 390 for vehicle control. According to such examples, the one or more constraints can be adjusted based on the desired speed profile and / or target trajectory received from the planning module 320. Furthermore, according to some examples, the one or more constraints can be set to any suitable value(s). For example, according to some embodiments, the constraint adjustment module 370 can set a defined calibratable value for a constant for a constraint based on the desired speed profile and / or target trajectory (e.g., whether the longitudinal speed is high or low, whether the direction is forward or reverse, etc.). Subsequently, the constraint adjustment module 370 can adjust the one or more constraints based on the desired speed profile and / or target trajectory (e.g., whether the longitudinal speed is high or low, whether the direction is forward or reverse, etc.).the several adapted restrictions applied to the MPC module 390.
[0067] Likewise, the weight adjustment module 380 can be made from Fig. 3. Dynamically adjust at least one weight for the adapted predictive control model. According to such examples, the weight(s) can be adjusted based on the desired velocity profile and / or target trajectory received from the planning module 320. Furthermore, the weight(s) can be set to any suitable value(s), similar to the adjustable constraints. For example, the weight adjustment module 380 can set a defined, calibratable value for a weight based on the desired velocity profile and / or target trajectory (e.g., whether the longitudinal velocity is high or low, whether the direction is forward or backward, etc.). Subsequently, the weight adjustment module 380 can output the adjusted weight(s) to the MPC module 390.
[0068] Further based on Fig. 3. The MPC module 390 can then implement the adapted predictive control model from the plant model adaptation module 350 for vehicle control. More precisely, the MPC module 390 can generate a steering angle command using the adapted predictive control model with optionally adapted constraints and / or weights. According to such examples, the steering angle command can be generated based on the data (e.g., the rate of change of direction error, etc.) provided by the reference path segmentation module 360. The MPC module 390 then provides the steering angle command to the vehicle control module 108.
[0069] According to various embodiments, the MPC module 390 can implement the adapted predictive control model to solve a cost function. For example, the cost function can be solved to determine the desired steering angle command. Similarly, the adapted predictive control model can determine the optimal value of the steering angle command to minimize a result of the cost function. According to such examples, the cost function can be a suitable function.
[0070] Subsequently, the vehicle control module 108 can control the vehicle 102 based on the steering angle command from the MPC module 390 and a longitudinal speed command from the longitudinal control module 330. As explained above, the vehicle control module 108 can, for example, generate one or more control signals to control one or more maneuvers of the vehicle 102 along the target trajectory in the desired direction of travel.
[0071] For example, the vehicle 102 can be controlled to perform both reverse and forward maneuvers in a sequence. This can be used in a parking assistance system. For example, it shows Fig. Figure 6 describes an exemplary parking sequence 600 in which vehicle 102 is controlled to park at a destination 610. More precisely, in step 602, vehicle 102 is controlled to move backward along a target path 612. Then, in step 604, vehicle 102 is controlled to move forward along a target path 614. In step 606, vehicle 102 is again controlled to move backward along a target path 616. Finally, in step 608, vehicle 102 is positioned at the destination 610.
[0072] Fig. Figures 7-9 represent exemplary tax procedures 700, 800, 900, which are implemented by the vehicle system 100. Fig. 1 for the dynamic control of bidirectional maneuvers of a vehicle such as vehicle 102. Although the exemplary control methods 700, 800, 900 are related to vehicle system 100 from Fig. 1 are described, e.g. the control modules 104, 304 from Fig. 1 and Fig. 3 contains any of the tax procedures 700, 800, 900 may be usable by another suitable system and / or module.
[0073] As in Fig. As shown in Figure 7, the control procedure 700 begins at 702 by receiving sensor data. For example, and as explained above, the control module 104, 304 can receive data from the sensor(s) 106 indicating objects outside the vehicle 102. The control procedure 700 then proceeds to 704, where the control module 104, 304 determines a desired speed profile and target trajectory based on the data (e.g., detected objects). According to such examples, the desired speed profile and target trajectory are determined to enable the vehicle 102 to perform one or more maneuvers while avoiding the detected objects. The control procedure 700 then proceeds to 706, where, based on the desired speed profile and / or target trajectory, as explained above, the control module 104, 304 identifies a desired direction of vehicle travel.The tax procedure then transitions from 700 to 708.
[0074] At 708, the control module 104, 304 adopts a predictive control model to correspond to the desired direction of travel. For example, and as explained above, the control module 104, 304 can generate a matrix based on the desired speed profile and / or the target trajectory to represent the adapted predictive control model. The control procedure then transitions from 700 to 710, 712.
[0075] At 710, the control module 104, 304, as explained here, generates a steering angle command using the adapted predictive control model. Subsequently, at 712, the vehicle control module 108 controls the vehicle 102, as explained above, based on the steering angle command, to maneuver the vehicle 102 along the target path in the desired direction of travel. The control procedure then transitions from 700 to 714.
[0076] At 714, the control module 104, 304 determines whether the vehicle 102 is at a destination such as a parking space, a street, etc. This can be determined based on the known location of the vehicle 102. If 714 is no, the control system returns to the previous state, as described in Fig. If 7 is shown, return to 704. If, otherwise, 714 is yes, the control can end.
[0077] The tax procedure 800 from Fig. 8 is similar to tax procedure 700 from Fig. 7, but contains additional steps. For example, and as in Fig. As shown in Figure 8, the tax procedure 800 begins at 702. Fig. 7 and then it goes to the 704, 706, 708 explained above. Fig. 7. The tax procedure then proceeds to 810, 812, under item 800.
[0078] In 810, the control module 104, 304 of 708 adopts one or more constraints for the adapted predictive control model. In 812, the control module 104, 304 adopts one or more weights for the adapted predictive control model. According to such examples, the control module 104, 304, as explained above, can adopt the one or more constraints and / or the one or more weights based on the desired velocity profile and / or the target trajectory. The control procedure 800 then proceeds to the 710, 712, 714 explained above. Fig. 7 over.
[0079] The tax procedure 900 from Fig. 9 is similar to tax procedures 700, 800 from Fig. 7-8, but contains additional steps. For example, and as in Fig. As shown in figure 9, the tax procedure 900 begins at 702. Fig. 7 and then it goes to 704, 706 from Fig. 7, which are explained above, are transferred. Tax procedure 900 then becomes 908.
[0080] At 908, the control module 104, 304 determines whether a longitudinal speed reference (V) x ) is less than a defined threshold. If so, control procedure 900 switches to 910, where control module 104, 304 determines the longitudinal speed reference (V). x ) is locked to a defined value, such as the defined threshold or another suitable value. Control procedure 900 then transitions to 912. If 908 is no, control procedure 900 transitions to 912 and maintains the longitudinal speed reference (V). x ) upright.
[0081] In 912, the control module 104, 304 determines reference states from the target motion path and the velocity profile. For example, as explained above, the control module 104, 304 can extract path segments and, based on the longitudinal velocity reference (V),x ) determine a reference yaw rate. The control procedure 800 then proceeds to 708, where the control module 104, 304, based on the reference yaw rate, adopts a predictive control model to correspond to the desired direction of travel. The control procedure 800 then proceeds to the 810, 812 explained above. Fig. 8 and to the 710, 712, 714 explained above Fig. 7 over.
Claims
[1] Vehicle system (100) for dynamically controlling bidirectional maneuvers of a vehicle (102), wherein the vehicle system (100) comprises: one or more sensors (106) configured to detect one or more objects outside a vehicle (102); a vehicle control module (108); and a control module (104) in communication with one or more sensors (106) and with the vehicle control module (108), wherein the control module (104) is configured to: Determining a desired velocity profile and target trajectory based on the detected objects; Identifying a desired direction of travel for the vehicle (102) based on the desired speed profile and / or the target trajectory; Dynamically adapting a predictive control model to match the desired direction of travel, based on the desired speed profile and / or target trajectory; Determining a yaw rate reference for the vehicle (102); Determining a direction-of-travel rate error based on the yaw rate reference; and Generating a steering angle command using the adapted predictive control model based on the direction-of-travel rate-of-change error; wherein the vehicle control module (108) is configured to control the vehicle (102) based on the steering angle command in order to maneuver the vehicle (102) along the target movement path in the desired direction of travel; characterized by , that the control module (104) is further configured to: Determining a reference curvature for the vehicle (102) based on the target motion trajectory; and Determining the yaw rate reference for the vehicle (102) based on the reference curvature and a longitudinal velocity reference. [2] Vehicle system (100) according to claim 1, wherein the control module (104) is configured to: Determining forward and / or reverse segments for the vehicle (102); and Determining the yaw rate reference for the vehicle (102) based on the forward and / or reverse segments. [3] Vehicle system (100) according to claim 2, wherein: the target trajectory is a target trajectory of the global system; and the control module (104) is configured to translate the target motion path of the global system into a vehicle system motion path and to determine the forward and / or reverse segments based on the vehicle system motion path. [4] Vehicle system (100) according to claim 1, wherein the control module (104) is configured to lock a value of the longitudinal speed reference to a defined value in response to the fact that the longitudinal speed reference is less than the defined value. [5] Vehicle system (100) according to claim 4, wherein the control module (104) is configured to dynamically adapt at least one constraint for the adapted predictive control model based on the desired speed profile and / or the target motion trajectory. [6] Vehicle system (100) according to claim 4, wherein the control module (104) is configured to dynamically adjust at least one weight for the adapted predictive control model based on the desired speed profile and / or the target trajectory. [7] Vehicle system (100) according to claim 1, wherein the desired direction of travel is a forward direction of the vehicle (102) or a reverse direction of the vehicle (102). [8] Vehicle system (100) according to claim 7, wherein the predictive control model is stable during the forward direction of the vehicle (102) and the reverse direction of the vehicle (102).
Citation Information
Patent Citations
Procedures for assisting a driver of a motor vehicle
DE102010000964A1
Method and device for assisted parking of a motor vehicle
DE102010018158B4
Methods for assisting a driver when parking forwards
DE102012201112A1